最近,现场的项目到了结合测试阶段。之前的Oracle数据库架构在X86的Solaris上。集合测试完了,就要真环境运行测试了。所以这次基本要玩点儿真的了,开发了半年多的项目,要把数据库放在Sparc上的Solaris上真正的运行一把了。

这个数据库服务器的硬件是Sun公司的SunFire v210。第一次看见这样的家伙,兴奋了一阵儿。毕竟以前用的服务器,都是在X86的PC机上,Leader看见我兴奋的表情,当即说要我将Oracle10g的数据库安装在这台服务器上。

说实话,自己对Unix的了解很少,几乎等于零了。这次是一个好的学习机会,当然要好好利用一下。话说回来,连命令都没掌握啥,不免担心。

不多说了,一步一步按照菜鸟的步骤来。

首先,到Oracle的官方网站的文档中心下载了Oracle10g如何安装在Sparc平台的Solaris操作系统的指导书。PDF格式的,写的这个详细啊。我按照一步一步的做,用领导的话说,差一步都不行,Oracle这玩意儿,确实不算好弄,不像我在Windows上安装。

但是问题很快出现了,有些命令竟然提示我没有。这多让人无助啊。官方文档啊。跳过后的结果就是,安装后出错,进不去数据库,数据库助手没安装成功,不过这不耽误我对这个安装的整体步骤的了解。下面简单做个笔记。

1,第一步,将服务器连上内部网,分配IP,我不知道IP怎么分配的,但是别人告诉我是192.168.12.230。我试了试,就是这个,估计是这孙子已经给设置好了。用另外的一台机器ping 192.168.12.230表示没有问题。

2,第二步,用其它机器,打开端末,然后输入如下的命令:service iptables stop。这个命令是干啥的,大概就是将本机防火墙的设置恢复默认。我不清楚,反正打一下吧。防止防火墙阻止访问不了服务器和服务器的数据无法正确返回。

3,ifconfig eth0。(注意最后是数字0不是字母o)这个就是查看一下当前使用机器的IP了。当时用了一台Linux的机器,跟Windows下的ipconfig的功能差不多。查看后得到本机的地址是192.168,12,112。这个地址记住,下面用得上。

4,telnet 192.168.12.230。远程登录服务器,要进行设置了。不多解释。

5,提示用户名,输入oracle。提示密码,输入oracle。进去了。下面是关于Oracle的设置。

6,把含有从Oracle官方网站上下载的安装在Sparc的Solaris10用的Oracle10的压缩文件的光盘放在服务器的光驱里。文件格式是.gz。给复制到/tmp文件夹下,然后解压缩。注意光驱的设备号是cdrom。
gunzip Oracle10g2_forSolaris.cpio.gz
cpio -idcmv (小于号)Oracle10g2_forSolaris.cpio

7,解压后,要进行Oracle的一些各种各样的设置,比如环境变量等。我不会了。你也上网查吧。

8,有一点要注意,你运行Oracle的安装文件后,会是一个图形界面,服务器本身没有连接到显示器,那么,这个时候你要将图形界面信息在你当前使用的机器上显示。上面你已经用命令知道本机的IP了,这个时候就要利用了。命令行给出如下:export DISPLAY=192.168.12.112:0

9,安装过程中需要切换命令行窗口,输入xhost +命令。

10,用PWD看看当前在什么文件夹,进入到/tmp文件夹下,运行cd /tmp看看里面都有啥解压缩出来的文件,找到runInstaller。

11,用 ./runInstaller命令运行,你就会在当前的显示器看见跟Windows时装Oracle时一样的界面了。 往后就不说了,在Windows下咋样,你就咋样吧。

这样下来,会出错。哪里有毛病呢,就是在第7步的时候,一些Oracle的设置要用命令行文件设置好。今天我搞了一天也没搞明白,下周一的时候去现场,要继续研究。有啥成果,从新在这里更新。

Wikimedia作为一个平台,用于构建Wikipedia、Wiktionary和其它的七种wiki( )。这篇文章对于那些想将大型站点的伸缩性提升到一定高度的研究者来说,是非常好的。文章详细介绍了许多的细节和创新的想法,并且这些想法都已经能够在一些非常成熟的网站上得到过证明。

Wikimedia网址:http://wikimedia.org/

参考资料
Wikimedia体系结构 关于wikimedia服务器的文章

平台
Apache
Linux
MySQL
PHP
Squid
LVS
Lucene搜索
分布式对象高速缓存Memcached
Lighttpd图像服务器

统计信息
8 百万文章,覆盖了超过100中语言
世界前10最繁忙的站点
指数增长:访问者/流量/服务器数量在每4-6个月翻倍
高峰期30000HTTP请求量 3 Gbit/s 数据流量
3个数据中心:坦帕[美国佛罗里达州西部港市]、阿姆斯特丹、汉城
350个服务器,从1x P4到2x Xeon Quad-Core排列,0.5 - 16 GB内存
大约6个人员管理
3个不同的州设有3个群集器

体系结构
地理负载平衡,基于用户源IP分析器,将用户的请求集中在最近的服务器群。静态映射IP地址到该国家的服务器群集上。
依据wiki正文,图像媒体,大型静态文件,使用Squid ,来实施HTTP反向代理
目前使用了55 Squid服务器,另外20个等待安装。
每个服务器1000HTTP请求,应力测试环境下达到2500
每个服务器大约100 - 250 Mbit/s
每个服务器大约~ 14 000 - 32 000连接
每个Squid服务器磁盘高速缓存达到40 GB
每个服务器达到4个磁盘 8GB的内存,一半被Squid用掉
命中率:使用CARP以来,Text 85%,Media 98%
PowerDNS提供地域分配功能
在他们主要的区域数据中心,建立了text和media群集,构建于LVS、CARP Squid、 Cache Squid之上。
在主要的数据中心,他们还有media存储器。
为上百个wiki安装了一个管理&同步的软件。
使用 多CPU进行MediaWiki 伸缩性扩展效果不错,因此我们买了双4核服务器(每盒8个CPU芯); 硬件被分派用来进行外部存储和Memcached任务。
Memcached用来高速缓存图像元数据,分析数据,差别,用户和sessions、修正文本等。元数据,如文章修改历史,文章间的关系(链接,分类等),用户帐户,设置等都存储在核心数据库中。实际的修改文本作为blob存储在外存储器上。
静态(上传)文件,比如图像,单独存在图像服务器上。元数据(大小,类型等)高速缓存在核心数据库和对象caches上。
每个wiki站点使用单独数据库(而非单独的服务器);一个主数据库,多个从属数据库 ;
读操作在从属的上面应该负载均衡,写操作应该让主数据库进行。
使用主数据库来进行一些读操作,以备从数据库没有更新(延迟)。
外存储器
文章文本存储在单独的数据存储器上,仅仅简单追加blob存储器。处理主要没有的数据,给昂贵和繁忙的核心数据库节约空间
应用程序服务器上允许使用备用资源(每个服务器2x 250-500 GB )
使用3个MySQL主机 ,在将来会得到更好的易管理性

可借鉴的经验
集中于体系结构,不要过于专注操作或者非技术性的东西;
有些时候,比起重计算或者是查找数据源,比高速缓冲器的成本还要高;
避免消耗大的算法,数据查询等;
高速缓存结果消耗很大的结果,有一个时间访问局部性;
注意代码中的过热点;
各自进行伸缩性扩展;
读写操作(主/从)
提升高速缓存的技术:时间和空间访问局部性,减少每个服务器的数据集大小
文本进行压缩,只有文章修订版进行存储
简化程序调用,像使用stat来检查一个需要加载很久的文件是否存在

限制磁盘I/O查找,磁盘主轴越多越好

Wikipedia的数据库服务器目前是16GB的双数或者四芯盒,有6 15,000 RPM SCSI驱动。这是一个最好的工作设置和负载均衡设置。他们使用更小的,更廉价的系统,16GB对于工作组的大小还不错。类似的现在的web服务器目前是8芯盒,因为对于负载平衡的效果不错,对于PHP来说,有很好的吞吐量。

如果你开始没有设计好,有许多的伸缩性工作需要做。Wikipedia的MediaWiki 最初是为单个主数据库服务器写的。后来增加了从服务器。接着加入了语言/项目的划分。那个时候的设计试验合格,虽然需要做许多提炼工作来解决瓶颈问题。

任何想要设计他们的数据库体系结构,那么就要能够让他们花费很低的成本,从一个站点很容易扩展到前十,或者上百的站点。这就需要一开始设计处理从数据库中的过时数据,对于所有的读操作查询知道如何进行负荷均衡,尽量让数据块(成批用户,帐户等等)访问不同的服务器。

Oracle database 10g 管理者(日本)

Oracle database 10g 管理者(中国)

注:中国和世界绝大多数国家的Oracle认证相同,即使用英语考卷。日本为日语考卷。

以Oracle 10g 数据库为认证对象作比较。从认证课程及流程图中可以看出,日本和其他国家Oracle的认证基本相同,只是多了一个入门级的铜牌认证,这个铜牌资格在外国的Oracle 10g的认证考试中没有相应资格称呼。

另外,日本给各个级别的认证分别起了白金牌,金牌,银牌,铜牌的名字,基本对应于OCM,OCP和OCA的认证课程和知识范畴。在中国就分别叫做,数据库大师,数据库专家和数据库专员。其实课程和所需要的知识内容都相差不多。

另外,从金牌开始需要参加至少一门的培训课程(培训费用3天大概为6500元人民币)才能获得认证,只参加考试是不行的。这与英文考试也一样,但是也没有强制要求先后顺序,即你可以先参加培训再考试,也可以通过考试,为获得证书再去参加一门培训。

但是级别间的顺序必须遵守。即你没有获得银牌,是无法参加金牌的考试认证的。同样,没有获得金牌,也无法获得白金的认证。另外白金的认证资格除了要求你提交金牌外,还要求你提交参加两门培训的证明。

如果你想进一步了解每个级别具体的课程以及考点检查表,请参看最前面的链接里面的课程链接和说明。

订阅: 博文 (Atom)