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

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

11

积分

0

好友

14

主题
1#
发表于 2013-9-4 10:35:34 | 查看: 4963| 回复: 6
本帖最后由 wengtf 于 2013-9-4 10:52 编辑

现状:
现有环境 2台 IBM p570上 装有 10.2.0.5(raw)的rac ,由于用户设备有限,目前需要在这环境上重新搭建11.2.0.3的rac (有一个独立的vg 可用作asm)。

现在担心:
在安装gi过程中出现未知的一些集群服务和10g并存的问题
1.是否会出现10停机后,装完11g的rac ,10g无法启动的情况等等;
2./etc 下面的路径下面很多oracle 的配置文件是否会变化,影响10g的可用性;

我们的方案:
1.       升级CRS
2.       在/u01/app/oracle11g上安装grid
3.       安装11.2.0.3数据库软件
4.       在ORACLE11G的VG上建ASM
5.       建库
6.       停10G RAC
7.       数据泵导出         (用RMAN DUPLICATE也可以)
8.       数据泵导入11G 的库

各位各抒己见,非常感谢。
2#
发表于 2013-9-4 12:56:18
1.是否会出现10停机后,装完11g的rac ,10g无法启动的情况等等;

==》 1个节点 理论上只能运行 一个版本的CRS/GI

但是实际可以通过备份 还原脚本的方式 使用 10g CRS和 11g GI 共存, 在XX移动升级时运用到了该技术


回复 只看该作者 道具 举报

3#
发表于 2013-9-4 12:58:24
一、在安装11g GI 之前备份10g CRS环境配置文件的操作步骤

1、disable服务器自动启动CRS
以root用户执行:
$CRS_HOME/bin/crsctl disable crs

2、在/etc目录下新建/etc/10gcrs_bak目录作为备份文件存放的目录
以root用户登录
cd /etc
mkdir 10gcrs_bak

3、将以下需要备份的文件和文件夹进行备份
以root用户登录,备份文件:
cp -p /etc/inittab            /etc/10gcrs_bak/inittab
cp -p /etc/init.crs           /etc/10gcrs_bak/init.crs
cp -p /etc/init.crsd          /etc/10gcrs_bak/init.crsd
cp -p /etc/init.cssd          /etc/10gcrs_bak/init.cssd
cp -p /etc/init.evmd          /etc/10gcrs_bak/init.evmd
cp -p /etc/oratab             /etc/10gcrs_bak/oratab
cp -p /etc/oraInst.loc        /etc/10gcrs_bak/oraInst.loc
cp -p /usr/local/bin/dbhome   /etc/10gcrs_bak/dbhome
cp -p /usr/local/bin/coraenv  /etc/10gcrs_bak/coraenv
cp -p /usr/local/bin/oraenv   /etc/10gcrs_bak/oraenv

备份目录:
rm -rf /etc/10gcrs_bak/oracle
cp -pr /etc/oracle            /etc/10gcrs_bak

查看/etc/rc.d/rc2.d下链接:

ls -lrt /etc/rc.d/rc2.d/*init.crs
结果应该返回2个文件名:
lrwxrwxrwx    1 root     system           13 Apr 25 14:17 S96init.crs -> /etc/init.crs
lrwxrwxrwx    1 root     system           13 Apr 25 14:17 K96init.crs -> /etc/init.crs


4、enable服务器自动启动CRS
以root用户执行:
$CRS_HOME/bin/crsctl enable crs


二、安装完11g GI环境之后,备份11g GI环境的操作步骤

1、disable服务器启动GI自动启动
以root用户执行:
$GRID_HOME/bin/crsctl disable crs

2、在/etc目录下新建/etc/11ggi_bak目录作为备份文件存放的目录
以root用户登录:
cd /etc
mkdir 11ggi_bak

3、将以下需要备份的文件和文件夹进行备份
以root用户登录,备份文件:
cp -p /etc/inittab           /etc/11ggi_bak/inittab
cp -p /etc/init.ohasd        /etc/11ggi_bak/init.ohasd
cp -p /etc/ohasd             /etc/11ggi_bak/ohasd
cp -p /etc/oratab             /etc/11ggi_bak/oratab
cp -p /etc/oraInst.loc        /etc/11ggi_bak/oraInst.loc
cp -p /usr/local/bin/dbhome   /etc/11ggi_bak/dbhome
cp -p /usr/local/bin/coraenv  /etc/11ggi_bak/coraenv
cp -p /usr/local/bin/oraenv   /etc/11ggi_bak/oraenv
备份目录:
rm  -rf /etc/11ggi_bak/oracle
cp -pr /etc/oracle            /etc/11ggi_bak/

查看/etc/rc.d/rc2.d下链接:


ls -lrt /etc/rc.d/rc2.d/*init.crs
结果应该返回2个文件名:

lrwxrwxrwx    1 root     system           10 Apr 12 14:50 K19ohasd -> /etc/ohasd
lrwxrwxrwx    1 root     system           10 Apr 12 14:50 S96ohasd -> /etc/ohasd

4、enable服务器自动启动GI
$GRID_HOME/bin/crsctl enable crs

三、10g CRS切换到11g GI环境的操作步骤

1、停止10g crs
$CRS_HOME/bin/crsctl stop crs

2、检查10g crs剩余进程
ps -ef | grep -v grep|grep -E 'init|d.bin|ocls|evmlogger|UID'
结果应该会返回以下4个进程列表:
     UID    PID   PPID   C    STIME    TTY  TIME CMD
    root      1      0   0 12:07:31      -  0:00 /etc/init
    root 139314      1   0 15:32:40      -  0:00 /bin/sh /etc/init.cssd fatal
    root 364692      1   0 15:32:40      -  0:00 /bin/sh /etc/init.crsd run
    root 630962      1   0 15:32:39      -  0:00 /bin/sh /etc/init.evmd run

3、删除/tmp/.oracle目录下的socket文件
rm -rf /tmp/.oracle/*

4、从11ggi_bak目录恢复11g环境
恢复目录:
rm -rf /etc/oracle
cp -pr /etc/11ggi_bak/oracle      /etc/
恢复文件:         
cp -p  /etc/11ggi_bak/init.ohasd       /etc/init.ohasd         
cp -p  /etc/11ggi_bak/ohasd            /etc/ohasd              
cp -p  /etc/11ggi_bak/oratab           /etc/oratab            
cp -p  /etc/11ggi_bak/oraInst.loc      /etc/oraInst.loc        
cp -p  /etc/11ggi_bak/dbhome           /usr/local/bin/dbhome   
cp -p  /etc/11ggi_bak/coraenv          /usr/local/bin/coraenv  
cp -p  /etc/11ggi_bak/oraenv           /usr/local/bin/oraenv
cp -p  /etc/11ggi_bak/inittab          /etc/inittab

删除10g crs链接,恢复11g GI链接
rm -rf  /etc/rc.d/rc2.d/S96init.crs
rm -rf  /etc/rc.d/rc2.d/K96init.crs
ln -s -f  /etc/ohasd /etc/rc.d/rc2.d/K19ohasd
ln -s -f  /etc/ohasd /etc/rc.d/rc2.d/S96ohasd


5、再次检查10g crs剩余进程
ps -ef | grep -v grep|grep -E 'init|d.bin|ocls|evmlogger|UID'

结果应该会返回以下2个进程列表:
     UID    PID   PPID   C    STIME    TTY  TIME CMD
    root      1      0   0 12:07:31      -  0:00 /etc/init
    root 630962      1   0 15:32:39      -  0:00 /bin/sh /etc/init.evmd run

进程/etc/init.evmd run ,无法通过命令直接停止,需要kill它:

kill -9 [init.evmd 进程号]

再次查看进程
ps -ef | grep -v grep|grep -E 'init|d.bin|ocls|evmlogger|UID'
此时,应该可以观察到如下2个进程,其中init.ohasd进程:属于11g GI,
如果没有init.ohasd进程,那么可以等待几秒钟,再使用 ps命令查看进程情况,
直到看到此进程,才能进入下一步。
     UID    PID   PPID   C    STIME    TTY  TIME CMD
    root      1      0   0 12:07:31      -  0:00 /etc/init
    root 270354      1   0 15:42:00      -  0:00 /bin/sh /etc/init.ohasd run


6、启动11g gi 集群软件
$GRID_HOME/bin/crsctl start crs

7、检查11g gi init进程启动状态

$GRID_HOME/bin/crsctl stat res -t -init

结果中,除了"ora.diskmon"(AIX默认是offline)资源外,其它的"TARGET"和"STATE"必须为ONLINE:

--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS      
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.asm
      1        ONLINE  ONLINE       maclean07                 Started            
ora.cluster_interconnect.haip
      1        ONLINE  ONLINE       maclean07                                    
ora.crf
      1        ONLINE  ONLINE       maclean07                                    
ora.crsd
      1        ONLINE  ONLINE       maclean07                                    
ora.cssd
      1        ONLINE  ONLINE       maclean07                                    
ora.cssdmonitor
      1        ONLINE  ONLINE       maclean07                                    
ora.ctssd
      1        ONLINE  ONLINE       maclean07                 OBSERVER            
ora.diskmon
      1        OFFLINE OFFLINE
ora.evmd
      1        ONLINE  ONLINE       maclean07                                    
ora.gipcd
      1        ONLINE  ONLINE       maclean07                                    
ora.gpnpd
      1        ONLINE  ONLINE       maclean07                                    
ora.mdnsd
      1        ONLINE  ONLINE       maclean07      

8、检查11g cluster 资源状态

$GRID_HOME/bin/crsctl stat res -t

结果中,除了"ora.gsd" 资源外,其它的"TARGET"和"STATE"必须为ONLINE

--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS      
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.OCRVOTE.dg
               ONLINE  ONLINE       maclean07                                    
ora.asm
               ONLINE  ONLINE       maclean07                 Started            
ora.gsd
               OFFLINE OFFLINE      maclean07                                    
ora.net1.network
               ONLINE  ONLINE       maclean07                                    
ora.ons
               ONLINE  ONLINE       maclean07                                    
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       maclean07                                    
ora.cvu
      1        ONLINE  ONLINE       maclean07                                    
ora.oc4j
      1        ONLINE  ONLINE       maclean07                                    
ora.scan1.vip
      1        ONLINE  ONLINE       maclean07                                    
ora.maclean07.vip
      1        ONLINE  ONLINE       maclean07                                    
      
9、enable服务器自动启动GI
$GRID_HOME/bin/crsctl enable crs

此时,10g集群环境已经成功切换到11g集群。


四、11g GI环境切换(恢复)到10g CRS环境的操作步骤

1、停止11g GI
$grid_home/bin/crsctl stop crs -f

2、检查11g GI剩余进程
ps -ef | grep -v grep|grep -E 'init|d.bin|ocls|evmlogger|UID'
结果应该会返回以下2个进程列表:
     UID    PID   PPID   C    STIME    TTY  TIME CMD
    root      1      0   0 12:07:31      -  0:00 /etc/init
    root 270354      1   0 15:42:00      -  0:00 /bin/sh /etc/init.ohasd run

为了保证10g crs后台进程能正常启动,需要停止init.ohasd进程。
修改inittab文件,删除ohasd的入口:

vi /etc/inittab
删除行 "h1:2:respawn:/etc/init.ohasd run >/dev/null 2>&1 </dev/null"。
kill -9 [init.ohasd 进程号]


3、删除/tmp/.oracle目录下的socket文件
rm -rf /tmp/.oracle/*

4、从10gcrs_bak目录恢复10g环境

恢复目录:
rm -rf /etc/oracle
cp -pr /etc/10gcrs_bak/oracle      /etc/
恢复文件:           
cp -p  /etc/10gcrs_bak/init.ohasd       /etc/init.ohasd         
cp -p  /etc/10gcrs_bak/ohasd            /etc/ohasd              
cp -p  /etc/10gcrs_bak/oratab           /etc/oratab            
cp -p  /etc/10gcrs_bak/oraInst.loc      /etc/oraInst.loc        
cp -p  /etc/10gcrs_bak/dbhome           /usr/local/bin/dbhome   
cp -p  /etc/10gcrs_bak/coraenv          /usr/local/bin/coraenv  
cp -p  /etc/10gcrs_bak/oraenv           /usr/local/bin/oraenv
cp -p  /etc/10gcrs_bak/inittab          /etc/inittab

删除11g GI链接,恢复10g CRS链接
rm -rf /etc/rc.d/rc2.d/K19ohasd /etc/rc.d/rc2.d/S96ohasd
ln -s -f  /etc/init.crs /etc/rc.d/rc2.d/S96init.crs
ln -s -f  /etc/init.crs /etc/rc.d/rc2.d/K96init.crs

4、检查当前启动的进程
ps -ef | grep -v grep|grep -E 'init|d.bin|ocls|evmlogger|UID'
结果应该会返回以下4个进程列表,如果没有,那么可以等待几秒钟,再使用 ps命令
查看进程情况,直到看到4个进程,才能进入下一步。

     UID    PID   PPID   C    STIME    TTY  TIME CMD
    root      1      0   0 17:17:53      -  0:00 /etc/init
    root 323746      1   0 17:19:27      -  0:00 /bin/sh /etc/init.evmd run
    root 332030      1   0 17:19:27      -  0:00 /bin/sh /etc/init.crsd run
    root 393246      1   0 17:19:27      -  0:00 /bin/sh /etc/init.cssd fatal

5、启动10g CRS
$CRS_HOME/bin/crsctl start crs

6、检查10g crs daemon状态
$CRS_HOME/bin/crsctl check crs

7、检查10g cluster资源状态,此节点资源“Target”,“State”应该均为ONLINE.
其它节点的资源“Target”,“State”的状态在同步完成以上步骤后,也均为ONLINE.
$CRS_HOME/bin/crs_stat -t

Name           Type           Target    State     Host        
------------------------------------------------------------
ora....a07.gsd application    ONLINE    ONLINE    maclean07   
ora....a07.ons application    ONLINE    ONLINE    maclean07   
ora....a07.vip application    ONLINE    ONLINE    maclean07   
ora....a08.gsd application    ONLINE    OFFLINE               
ora....a08.ons application    ONLINE    OFFLINE               
ora....a08.vip application    ONLINE    ONLINE    maclean07


8、enable服务器自动启动CRS
$CRS_HOME/bin/crsctl enable crs

此时,11g集群环境成功切换到10g集群环境。

回复 只看该作者 道具 举报

4#
发表于 2013-9-10 16:57:39
感谢ML,我们实际测试的步骤基本相同。

回复 只看该作者 道具 举报

5#
发表于 2013-9-12 13:25:13
另:数据部分 ML用什么方式迁移的。

回复 只看该作者 道具 举报

6#
发表于 2013-9-16 18:54:54
在10g与11g切换的时候,还可以简单一些,如11g切换回10g的时候,可以使用
rootcrs.pl -verbose -deconfig -force
tar -xvpf  解压之前备份的相关文件就可以了。
下面是自己的曾经的测试,文档中只写出了11g切换回10g的步骤。
http://www.htz.pw/?p=262

回复 只看该作者 道具 举报

7#
发表于 2013-9-24 10:37:39
多谢,“认真就输”

回复 只看该作者 道具 举报

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

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

GMT+8, 2025-1-6 08:16 , Processed in 0.049997 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

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