- 最后登录
- 2013-9-15
- 在线时间
- 7 小时
- 威望
- 9
- 金钱
- 95
- 注册时间
- 2012-5-20
- 阅读权限
- 10
- 帖子
- 9
- 精华
- 0
- 积分
- 9
- UID
- 440
|
7#
发表于 2012-5-23 01:19:39
Oracle文档里好像关于nfs具体的配置非常少,仅在《Oracle® Database Oracle Clusterware and Oracle Real Application Clusters Installation Guide
10g Release 2 (10.2) for Linux》一书的第三章(Configuring Oracle Clusterware and Oracle Database Storage),关于存储的描述中 ,才对nfs的具体配置参数说了一句话:
3.3.3 Checking NFS Buffer Size Parameters
If you are using NFS, then you must set the values for the NFS buffer size parameters rsize and wsize to at least 16384. Oracle recommends that you use the value 32768.
For example, if you decide to use rsize and wsize buffer settings with the value 32768, then update the /etc/fstab file on each node with an entry similar to the following:
nfs_server:/vol/DATA/oradata /home/oracle/netapp nfs\
rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,actimeo=0,vers=3,timeo=600
Note:
Refer to your storage vendor documentation for additional information about mount options.
抱歉可能我的语言组织能力有点差,事情是这样的。
我试用过的在/etc/fstab里的关于nfs mount的参数,总共用过3个:一个是上述oracle官方文档里的;一个是www.oracle-base.com网站《Oracle 10g RAC On Linux Using NFS》一文里的;另一个就是Liu大的。
总的来说,这3套参数,都会被提示类似于“目录/oradata不在节点rac1,rac2共享的群集文件系统上”(之前是CRS OCR and Voting Disk和oracle的数据文件都放在oradata目录下,后来按照Liu大在2楼的思路,我理解的是CRS OCR and Voting Disk和oracle数据文件分开目录放,所以出现了5楼的/etc/exports和1楼的描述的不一样,和3楼mount的输出也不一样)。
但是OUI(Oracle Universal Installer)有个很奇怪的特点,就是多点击几次“目录/oradata不在节点rac1,rac2共享的群集文件系统上”的提示对话框后,OUI就可以神经病似地通过验证,我就是这样绕过去然后通过验证装完RAC的。这3套nfs的配置参数,都会出现这个提示对话框,但是,多次点击后,均可以过去,可能是OUI的bug吧。
大概我总共安装了3次rac。
第一次是基本按照官方文档《2 Day + Real Application Clusters Guide》那本书里写的第2章与第3章配置的。所以CRS Voting Disk and OCR是存放在共享盘柜的raw分区上的,所以rac安装不会报这个共享群集文件系统错误。但是datafile我并没有按手册里的ASM来,而是配置在nfs上的。当然,在database安装的OUI里多点击几次后对话框后就可以装上数据库软件和datafile,本次是在安装database时创建的数据库。安装完成后,群集数据库可以启动起来,crs_stat -t显示的都是Online,rac1的EM(Enterprise Manager)也可以起来,但是rac2的EM好像配置了但是没有起来。但是我的单实例都没有$ORACLE_HOME\dbs\spfile.ora文件和$ORACLE_HOME\dbs\initorcl.ora文件(安装的SID是orcl),rac1只有$ORACLE_HOME\dbs\initorcl1.ora,rac2只有$ORACLE_HOME\dbs\initorcl2.ora。这样我sqlplus /nolog之后,使用conn /as sysdba则连接到一个idle instance(此时群集数据库已经启动起来),startup则说找不到$ORACLE_HOME\dbs\initorcl.ora文件。这次安装是完全干净的Linux。
第二次安装,仅用DBCA删除了数据库实例、OUI卸载了数据库软件和clusterware,然后按照oracle-base网站的文章《Oracle 10g RAC On Linux Using NFS》,在CRS Voting Disk and OCR上也是使用了文件的形式存储,所以这次存储在了/oradata/Voting_Disk和/oradata/OCR_Configuration下。这次安装,由于没有删除干净,Clusterware安装时没有出现OrainstRoot.sh脚本,仅出现了Root.sh,所以对文件形式存储的OCR_/oradata/OCR_Configuration和/oradata/Voting_Disk没有格式化,安装自然没有成功。仔细观察了下,clusterware安装时提示的关于共享群集文件系统的问题和database安装时提示的具体的不太一样,请等一下今天的截图。
第三次安装,在第二次安装的反安装基础上,删除了/etc/oracle目录,/etc/oratab,/etc/init.d/init.crs等,按照Liu大的建议,调整了共享为:
[root@ybserver ~]# cat /etc/exports
/oradir/dbcrs *(rw,sync,no_wdelay,insecure_locks,no_root_squash)
/oradir/dbdata *(rw,sync,no_wdelay,insecure_locks,no_root_squash)
两个nfs共享目录均使用Liu大的参数挂载了。对于ybserver:/oradir/dbcrs,两个节点均挂载到了/oracrs目录;对于ybserver:/oradir/dbdata,两个节点均挂载到了/oradata目录。由于可能删除比较干净了,本次出现了OrainstRoot.sh脚本,Root.sh脚本格式化了/oracrs/Voting_Disk和/oracrs/OCR_Configuration文件。关于共享群集文件系统的提示仍然有,方法是多点几次就过去了。装database时,本次是仅安装了数据库软件,数据库是用dbca创建的,于是datafile的名称居然和第一次装的不一样...dbca中间除了报了需要先用netca和emca创建一下之外,只报了个ora-20000 oracle text error的错误。我忽略了该错误。之后,crs_stat -t正常,群集数据库正常。rac1的em启动了,rac2的em仍配置了但是没有启动;$ORACLE_HOME/dbs目录下仍然没有spfile.ora和initorcl.ora文件,sqlplus shutdown immediate后,就只能使用srvctl控制群集数据库启动了。Linux重启后,群集数据库可以自动启动,两个节点的em都不行。
大致情况长篇累赘的阐述完了,现回答一下Liu大的提问。
在2个节点上访问这2个NFS mount点,在/oradata和/oracrs下更新,2个节点文件可以正常同步。
1、“尝试 使用在 第三个非RAC节点上 添加NFS server,并测试使用NFS DBCA安装”
将nfs独立出rac节点,单独使用一台计算机提供nfs服务?好,我试下。
2、“DBCA创建脚本 后者使用 手动创建数据库, 若报错 请将 日志信息上传”
数据库是用dbca创建的。但是没有先用dbca创建脚本,再手动创建数据库。Try it...
3、“避免使用NFS ,绕过该问题”
因为对raw分区和ASM存在恐惧心理,所以才尽量使用nfs。操作系统级的文件系统像 ntfs fat32 ext3 ext4,目前都没有共用分区自动更新的功能,所以除非使用raw分区或者单独设计的网络文件系统nfs、群集文件系统ocfs2等,才能实现共用分区的自动更新吧。如果nfs失败的话,可能就考虑clusterware的OCR和Voting_Disk就会使用raw分区,数据文件则使用ASM了(出于对data guard考虑,数据文件就不使用raw分区了)。
[ 本帖最后由 PSIKYO 于 2012-5-23 14:06 编辑 ] |
|