Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

9

积分

0

好友

0

主题
1#
发表于 2012-5-20 13:45:42 | 查看: 7302| 回复: 7
两台rhel4,一共用磁盘(/dev/sdb)的一个ext3格式的分区(/dev/sdb5)被rac1挂载到/oradir,并且使用nfs共享出来了。两节点在fstab里都是这样共享的:
rac1:/oradir /oradata  rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0  0 0
各节点的/oradata的所有者是oracle:oinstall,权限是775。
rac1:/oradir的nfs共享是可写的权限。
ocr以文件形式存放于/oradata/ocr_configuration,voting_disk也以文件形式存放于/oradata/voting_disk,
但是,在安装时会提示目录/oradata/ocr_configuration不在节点rac1,rac2共享的群集文件系统上?

如果ocr和voting_disk以共享磁盘raw分区形式存放(/dev/sdb6到/dev/sdb10),当然clusterware的安装可以通过,然后,安装数据库软件。clusterware和数据库软件都安装在节点自己的、非共用的磁盘上。最后使用dbca创建rac数据库时,指定数据文件位置为/oradata,则又会被提示目录/oradata不在节点rac1,rac2共享的群集文件系统上?

究竟是我的nfs设置有问题还是什么?
不知道我的问题阐述明白了没,或者还需要什么日志,请指出。
题外话:这种没有创建数据库的RAC如果人工重启后,会导致Linux不停地重启,看手册
(Oracle® Database Oracle Clusterware and Oracle Real Application Clusters Installation Guide
10g Release 2 (10.2) for Linux
Part Number B14203-10
的4-10页
)说是ocssd引起的,我只好在Linux启动时禁止init.crs启动,然后继续处理问题。
请liu大指教,谢谢。

[ 本帖最后由 PSIKYO 于 2012-5-20 19:47 编辑 ]
2#
发表于 2012-5-20 14:26:08
action plan:

在2个节点上 运行 mount 命令 并贴出输出


mount

回复 只看该作者 道具 举报

3#
发表于 2012-5-20 17:45:14
不好意思回复晚了。以下,ybserver就是rac1,担负对外的nfs服务,ip地址是192.168.1.2;ybserver2就是rac2。前面为了叙述方便采用rac1与rac2代替了.两个节点中,/dev/sdd都是自己的、不共享的盘。

rac1、ybserver、192.168.1.2的mount命令结果:
[root@ybserver ~]# mount
/dev/sdd6 on / type ext3 (rw)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
usbfs on /proc/bus/usb type usbfs (rw)
none on /dev/shm type tmpfs (rw)
/dev/sdd8 on /home type ext3 (rw)
/dev/sdb5 on /oradir type ext3 (rw)
/dev/sdd9 on /usr type ext3 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
ybserver:/oradir on /oradata type nfs (rw,bg,hard,nointr,tcp,nfsvers=3,timeo=600 ,rsize=32768,wsize=32768,actimeo=0,addr=192.168.1.2)
[root@ybserver ~]#

rac2、ybserver2的mount命令:
[root@ybserver2 ~]# mount
/dev/sdd6 on / type ext3 (rw)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
usbfs on /proc/bus/usb type usbfs (rw)
none on /dev/shm type tmpfs (rw)
/dev/sdd8 on /home type ext3 (rw)
/dev/sdd9 on /usr type ext3 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
ybserver:/oradir on /oradata type nfs (rw,bg,hard,nointr,tcp,nfsvers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0,addr=192.168.1.2)
[root@ybserver2 ~]#

[ 本帖最后由 PSIKYO 于 2012-5-20 17:48 编辑 ]

回复 只看该作者 道具 举报

4#
发表于 2012-5-20 18:03:35
FOR RAC

Mount options for CRS Voting Disk and OCR

rw,bg,hard,nointr,rsize=32768,
wsize=32768,tcp,noac,vers=3,
timeo=600,actimeo=0


Mount options for Oracle Datafiles

rw,bg,hard,nointr,rsize=32768,
wsize=32768,tcp,actimeo=0,
vers=3,timeo=600

(rw,bg,hard,nointr,tcp,nfsvers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0,addr=192.168.1.2)

action plan:

cat /etc/exports


系统启动后 ,尝试2边都 umount  /oradata 之后 再次mount  -o

回复 只看该作者 道具 举报

5#
发表于 2012-5-22 18:41:21
Sorry, I replay it so late. I have been testing your mount options.
按照您的参数mount后,写入了/etc/fstab,并且重启了Linux,但mount显示还是nfsvers=3.不知道为什么。

原来只有一个/oradir被nfs共享,后来按照您的建议,调整了共享,即将/oradir/dbdata和/oradir/dbcrs单独共享。调整如下:
[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)
[root@ybserver ~]#

[ 本帖最后由 PSIKYO 于 2012-5-22 22:39 编辑 ]

回复 只看该作者 道具 举报

6#
发表于 2012-5-22 21:59:16
'则又会被提示目录/oradata不在节点rac1,rac2共享的群集文件系统上?"

具体包了什么错误?  可以截图 展示

手动 尝试在2个节点上 访问 该NFS mount 点 是否可以 文件正常同步



advise :


1、尝试 使用在 第三个非RAC节点上 添加NFS server,并测试使用NFS DBCA安装
2、

DBCA创建脚本 后者使用 手动创建数据库, 若报错 请将 日志信息上传


3. 避免使用NFS ,绕过该问题

回复 只看该作者 道具 举报

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 编辑 ]

回复 只看该作者 道具 举报

8#
发表于 2012-5-23 14:06:01
好吧。对于上面的rac1只有$ORACLE_HOME\dbs\initorcl1.ora文件,今天我发现,是我的oracle用户的.bash_profile文件,设置ORACLE_SID的问题。
以前在我的.bash_profile设置里,
export  ORACLE_SID=orcl
在rac1上,正确的应该是:
export ORACLE_SID=orcl1
同理,rac2上,oracle用户的.bash_profile应该是:
export ORACLE_SID=orcl2
这样,sqlplus就可以正确连接到实例了。并且操作数据库了。
这点,记得在《2 Day + Real Application Clusters Guide》的官方文档里没有讲到。其他官方文档没仔细看,不做评论。

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-25 13:55 , Processed in 0.050308 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569