ORACLE 10G RAC的备份与恢复 ( pl )

ORACLE 10G RAC的备份与恢复

1 创建rac 节点上需要备份的程序文件清单
su – root
find /etc/init.d/init.* >lst
find /etc/rc{0,1,2,4,6}.d/K96init.crs >>lst
find /etc/rc{3,5}.d/S96init.crs >>lst
find /etc/inittab.crs /etc/inittab >>lst
find /home/oracle/oraInventory >>lst
find /home/oracle/.ssh >>lst
#find /u01 >>lst #/u01很大,为节约测试时间暂时注释掉
find /etc/oraInst.loc /etc/oracle /etc/oratab >>lst
find /opt/oracle >>lst
find /opt/ORCLfmap >>lst
find /usr/local/bin/coraenv >>lst
find /usr/local/bin/dbhome >>lst
find /usr/local/bin/oraenv >>lst
2 将清单中的文件打包备份
# tar -czvPWf $HOSTNAME.tgz -T lst
补充说明:
tar -c,–create:创建一个新归档
tar -z, –gzip, –gunzip:使用 gzip 处理归档
tar -v, –verbose:详细地列出处理的文件
tar -P, –absolute-names:不要从文件名中清除引导符‘/’
tar -W, –verify:在写入以后尝试校验归档
tar -f,–file:指定备份文件。后紧跟被处理的文件名,不要再加其它参数
tar -T:从文件名清单创建tar归档
3 模拟重装系统(本测试仅将RAC程序删除)
su – root
rm -rf /etc/init.d/init.*
rm -f /etc/rc{0,1,2,4,6}.d/K96init.crs
rm -f /etc/rc{3,5}.d/S96init.crs
rm -f /etc/inittab.crs
echo y|cp /etc/inittab.orig /etc/inittab
rm -rf /home/oracle/oraInventory
rm -rf /home/oracle/.ssh
##rm -rf /u01 #为节约测试时间暂时不删掉/u01
rm -rf /etc/oraInst.loc
rm -rf /etc/oracle
rm -rf /etc/oratab
rm -rf /opt/oracle
rm -rf /opt/ORCLfmap
rm -rf /tmp/hsperfdata_oracle
rm -rf /tmp/OraInstall*
rm -rf /tmp/OraInstall*
rm -rf /usr/local/bin/coraenv
rm -rf /usr/local/bin/dbhome
rm -rf /usr/local/bin/oraenv
##mkdir -p /u01/app/oracle
##chown -R oracle:oinstall /u01
##chmod -R 775 /u01
 reboot
单独备份/u01
tar -czvPWf /u01.tgz -T /u01
4 从 $HOSTNAME.tgz备份恢复中恢复程序文件
# ls *.tgz
rac1.tgz
# echo $HOSTNAME
rac1
# echo y|tar -xzwPf $HOSTNAME.tgz
extract `/etc/init.d/init.crs’?extract `/etc/init.d/init.crsd’?
extract `/etc/init.d/init.cssd’?
extract `/etc/init.d/init.evmd’?
extract `/etc/rc0.d/K96init.crs’?
extract `/etc/rc1.d/K96init.crs’?
extract `/etc/rc2.d/K96init.crs’?
extract `/etc/rc4.d/K96init.crs’?
extract `/etc/rc6.d/K96init.crs’?
extract `/etc/rc3.d/S96init.crs’?
extract `/etc/rc5.d/S96init.crs’?
extract `/etc/inittab.crs’?
extract `/etc/inittab’?
extract `/home/oracle/.ssh’?
extract `/home/oracle/.ssh/authorized_keys’?
extract `/home/oracle/.ssh/known_hosts’?
extract `/home/oracle/.ssh/id_dsa.pub’?
extract `/home/oracle/.ssh/id_dsa’?
extract `/home/oracle/.ssh/id_rsa.pub’?
extract `/home/oracle/.ssh/id_rsa’?
extract `/home/oracle/.ssh/authorized_keys’?
extract `/home/oracle/.ssh/known_hosts’?
extract `/home/oracle/.ssh/id_dsa.pub’?
extract `/home/oracle/.ssh/id_dsa’?
extract `/home/oracle/.ssh/id_rsa.pub’?
extract `/home/oracle/.ssh/id_rsa’?
extract `/etc/oraInst.loc’?
extract `/etc/oracle’?
extract `/etc/oracle/ocr.loc’?
extract `/etc/oracle/scls_scr’?
extract `/etc/oracle/scls_scr/rac1′?
extract `/etc/oracle/scls_scr/rac1/root’?
extract `/etc/oracle/scls_scr/rac1/root/crsdboot’?
extract `/etc/oracle/scls_scr/rac1/root/nooprocd’?
extract `/etc/oracle/scls_scr/rac1/root/cssrun’?
extract `/etc/oracle/scls_scr/rac1/root/crsstart’?
extract `/etc/oracle/scls_scr/rac1/root/noclsmon’?
extract `/etc/oracle/scls_scr/rac1/oracle’?
extract `/etc/oracle/scls_scr/rac1/oracle/cssfatal’?
extract `/etc/oracle/ocr.loc’?
extract `/etc/oracle/scls_scr’?
extract `/etc/oracle/scls_scr/rac1′?
extract `/etc/oracle/scls_scr/rac1/root’?
extract `/etc/oracle/scls_scr/rac1/root/crsdboot’?
extract `/etc/oracle/scls_scr/rac1/root/nooprocd’?
extract `/etc/oracle/scls_scr/rac1/root/cssrun’?
extract `/etc/oracle/scls_scr/rac1/root/crsstart’?
extract `/etc/oracle/scls_scr/rac1/root/noclsmon’?
extract `/etc/oracle/scls_scr/rac1/oracle’?
extract `/etc/oracle/scls_scr/rac1/oracle/cssfatal’?
extract `/etc/oracle/scls_scr/rac1′?
extract `/etc/oracle/scls_scr/rac1/root’?
extract `/etc/oracle/scls_scr/rac1/root/crsdboot’?
extract `/etc/oracle/scls_scr/rac1/root/nooprocd’?
extract `/etc/oracle/scls_scr/rac1/root/cssrun’?
extract `/etc/oracle/scls_scr/rac1/root/crsstart’?
extract `/etc/oracle/scls_scr/rac1/root/noclsmon’?
extract `/etc/oracle/scls_scr/rac1/oracle’?
extract `/etc/oracle/scls_scr/rac1/oracle/cssfatal’?
extract `/etc/oracle/scls_scr/rac1/root’?
extract `/etc/oracle/scls_scr/rac1/root/crsdboot’?
extract `/etc/oracle/scls_scr/rac1/root/nooprocd’?
extract `/etc/oracle/scls_scr/rac1/root/cssrun’?
extract `/etc/oracle/scls_scr/rac1/root/crsstart’?
extract `/etc/oracle/scls_scr/rac1/root/noclsmon’?
extract `/etc/oracle/scls_scr/rac1/root/crsdboot’?
extract `/etc/oracle/scls_scr/rac1/root/nooprocd’?
extract `/etc/oracle/scls_scr/rac1/root/cssrun’?
extract `/etc/oracle/scls_scr/rac1/root/crsstart’?
extract `/etc/oracle/scls_scr/rac1/root/noclsmon’?
extract `/etc/oracle/scls_scr/rac1/oracle’?
extract `/etc/oracle/scls_scr/rac1/oracle/cssfatal’?
extract `/etc/oracle/scls_scr/rac1/oracle/cssfatal’?
extract `/etc/oratab’?
extract `/opt/ORCLfmap’?
extract `/opt/ORCLfmap/prot1_32′?
extract `/opt/ORCLfmap/prot1_32/log’?
extract `/opt/ORCLfmap/prot1_32/bin’?
extract `/opt/ORCLfmap/prot1_32/bin/fmputl’?
extract `/opt/ORCLfmap/prot1_32/bin/fmputlhp’?
extract `/opt/ORCLfmap/prot1_32/etc’?
extract `/opt/ORCLfmap/prot1_32/etc/filemap.ora’?
extract `/opt/ORCLfmap/prot1_32′?
extract `/opt/ORCLfmap/prot1_32/log’?
extract `/opt/ORCLfmap/prot1_32/bin’?
extract `/opt/ORCLfmap/prot1_32/bin/fmputl’?
extract `/opt/ORCLfmap/prot1_32/bin/fmputlhp’?
extract `/opt/ORCLfmap/prot1_32/etc’?
extract `/opt/ORCLfmap/prot1_32/etc/filemap.ora’?
extract `/opt/ORCLfmap/prot1_32/log’?
extract `/opt/ORCLfmap/prot1_32/bin’?
extract `/opt/ORCLfmap/prot1_32/bin/fmputl’?
extract `/opt/ORCLfmap/prot1_32/bin/fmputlhp’?
extract `/opt/ORCLfmap/prot1_32/bin/fmputl’?
extract `/opt/ORCLfmap/prot1_32/bin/fmputlhp’?
extract `/opt/ORCLfmap/prot1_32/etc’?
extract `/opt/ORCLfmap/prot1_32/etc/filemap.ora’?
extract `/opt/ORCLfmap/prot1_32/etc/filemap.ora’?
extract `/usr/local/bin/coraenv’?
extract `/usr/local/bin/dbhome’?
extract `/usr/local/bin/oraenv’?
补充说明:
tar -w, –interactive, –confirmation 每次操作都要求确认
tar -P, –absolute-names:不要从文件名中清除引导符‘/’
5 验证还原是否有效果
1、以root身份重启RAC节点
[root@rac1 ~]# reboot
2、验证程序是否已经运行
[oracle@rac1 ~]$ crs_stat -t
Name Type Target State Host
————————————————————
ora….B1.inst application ONLINE ONLINE rac1
ora….B2.inst application ONLINE ONLINE rac2
ora.RACDB.db application ONLINE ONLINE rac2
ora….SM1.asm application ONLINE ONLINE rac1
ora….C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora….SM2.asm application ONLINE ONLINE rac2
ora….C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2

重装LINUX系统
1、 创建ORACLE用户和组
2、 绑定盘符
3、 编辑用户环境变量
4、 调整系统参数即可
剩下就可以还原RAC。

LINUX备份与还原
1、LINUX系统备份说明
# tar cvpzf backup.tgz –exclude=/proc –exclude=/lost+found –exclude=/backup.tgz –exclude=/mnt –exclude=/sys /
让我们来简单看一下这个命令:
“tar”当然就是我们备份系统所使用的程序了。
“cvpfz”是tar的选项,意思是“创建档案文件”、“保持权限”(保留所有东西原来的权限)、“使用gzip来减小文件尺寸”。
“backup.gz”是我们将要得到的档案文件的文件名。
“/”是我们要备份的目录,在这里是整个文件系统。
在档案文件名“backup.gz”和要备份的目录名“/”之间给出了备份时必须排除在外的目录。有些目录是无用的,例如“/proc”、“ /lost+found”、“/sys”。当然,“backup.gz”这个档案文件本身必须排除在外,否则你可能会得到一些超出常理的结果。如果不把“ /mnt”排除在外,那么挂载在“/mnt”上的其它分区也会被备份。另外需要确认一下“/media”上没有挂载任何东西(例如光盘、移动硬盘),如果有挂载东西,必须把“/media”也排除在外。
2. linux恢复系统说明
在进行恢复系统的操作时一定要小心!如果你不清楚自己在做什么,那么你有可能把重要的数据弄丢,请务必小心!
接着上面的例子。切换到root用户,并把文件“backup.tgz”拷贝到分区的根目录下。在Linux中有一件很美妙的事情,就是你可以在一个运行的系统中恢复系统,而不需要用boot-cd来专门引导。当然,如果你的系统已经挂掉不能启动了,你可以用Live CD来启动,效果是一样的。你还可以用一个命令把Linux系统中的所有文件干掉。
使用下面的命令来恢复系统:
# tar xvpfz backup.tgz -C /
注意:上面的命令会用档案文件中的文件覆盖分区上的所有文件。
执行恢复命令之前请再确认一下你所键入的命令是不是你想要的,执行恢复命令可能需要一段不短的时间。
恢复命令结束时,你的工作还没完成,别忘了重新创建那些在备份时被排除在外的目录:
# mkdir proc
# mkdir lost+found
# mkdir mnt
# mkdir sys
当你重启电脑,你会发现一切东西恢复到你创建备份时的样子了!

3、具体操作测试以这个为准
第一种情况:
tar cvpjf backup.tar.bz2 –exclude=/proc –exclude=/lost+found –exclude=/backup.tar.bz2 –exclude=/mnt –exclude=/sys –exclude=/boot –exclude=/dev /
Linux 排除目录 重装LINUX
备份
/
目录 /boot 这种情况下,可以恢复用户应用服务器
/dev
/sys
/proc
/lost+found

重装LINUX可以恢复任何应用服务器,即使机器、存储都变了。

第二种情况:
tar cvpjf backup.tar.bz2 –exclude=/proc –exclude=/lost+found –exclude=/backup.tar.bz2 –exclude=/mnt –exclude=/sys /

Linux 排除目录
备份
/
目录 /lost+found
/proc
/sys

1、 系统能启动,可以直接恢复。
2、 安装系统,覆盖安装,不格式化分区,可以直接恢复。
3、 格式化分区全新安装(或者重新创建分区),恢复后要重建GRUD。
原因:系统启动时找不到引导文件,你以前的引导文件对应的分区变了。(还没测试)

结论:
目前可以采取第一种方式在线备份和恢复系统。
红旗LINUX 3相当于red hat 5.5, 还没找到红旗LINUX光盘测试。