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

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

999

积分

1

好友

942

主题
1#
发表于 2013-12-4 20:53:52 | 查看: 2188| 回复: 0
Rman恢复测试





2.1        通过Rman将数据库恢复到测试机
1.测试机准备工作
在测试机上创建与生产机相同的目录,创建相同的archivelog目录,通过Tar恢复Oracle_Base到测试机。  
从测试机上复制最新的pfile(initorcl.ora.bak)到新的机器上。
修改pfile参数,将部分RAC的参数去掉。

*.cluster_database_instances=1
*.cluster_database=FALSE
#orcl2.cluster_interconnects='192.168.100.112'
#orcl1.cluster_interconnects='192.168.100.111'
#orcl1.instance_name='orcl1'
orcl2.instance_name='orcl2'
#orcl1.instance_number=1
orcl2.instance_number=2
orcl2.local_listener='LISTENER_orcl2'
#orcl1.local_listener='LISTENER_orcl1'
orcl2.thread=2
#orcl1.thread=1
orcl2.undo_tablespace='UNDOTBS2'
#orcl1.undo_tablespace='UNDOTBS1'

原来Oracle9中如果启用了RAC组件,那么数据库在启动的时候会自动寻找oracm进程,如果没有找到,就会出现上面的错误。
而在10g以后,CLUSTER和DATABASE的软件已经分离,即使在启用了RAC组件的数据库中创建一个单实例数据库也是可以的,而9i中则不行。
Oracle的metalink给出的解决方案是去掉rac组件,重新编译Oracle可执行文件:

cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk rac_off
make -f ins_rdbms.mk ioracle

2.在测试机上恢复controlfile  

$sqlplus '/as sysdba'
SQL>startup nomount  pfile=initorcl.ora.bak

$rman target / catalog rman/rman2010#@rcatalog
RMAN> run{
allocate channel t1 type 'SBT_TAPE' ;
restore controlfile;
release channel t1;
}
注:测试时恢复控制文件大约5分钟。

3.测试机上restore Database
可通过RMAN>list backup summary查看备份  

$rman target / catalog rman/rman2010#@rcatalog
RMAN> run {
allocate channel t1 type 'SBT_TAPE' ;
allocate channel t2 type 'SBT_TAPE' ;
restore database;
release channel t1;
release channel t2;
}
注:测试时恢复数据库大约30分钟。

4.测试机上archive log

RMAN> run {
allocate channel t1 type 'SBT_TAPE' ;
allocate channel t2 type 'SBT_TAPE' ;
restore archivelog from time 'sysdate-1';
release channel t1;
release channel t2;
}

          5.测试机上recover Database
如果archivelog都备份在磁带库里:

startup mount;
recover database until cancel using backup controlfile;

6:启动DB到open

SQL> alter database open resetlogs;

SQL> select instance_name,status from v$instance;

注:根据需要恢复指定sequence的archivelog
假定需要从磁带库中恢复seqence序列为645808-645822的achivelog
run {
allocate channel t1 type 'SBT_TAPE' parms 'BLKSIZE=131072';
restore archivelog from logseq 645808 until logseq 645822;  
release channel t1;
}

2.2        Rman恢复过程中遇到问题
1. Oracle9i mount数据库出现ORA-32700错误
Oracle9i mount数据库出现ORA-32700错误
SQL> startup nomount pfile=initorcl.ora.bak
sh: /usr/sbin/cluster/utilities/cldomain:  not found.
ORACLE instance started.
sh: /usr/sbin/cluster/utilities/cldomain:  not found.
connected to target database: orcl (not mounted)
connected to recovery catalog database
sh: /usr/sbin/cluster/utilities/cldomain:  not found.  

          因为之前是RAC数据库的一个节点,所以需要转换成单机模式。
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk rac_off
make -f ins_rdbms.mk ioracle
下载专业ORACLE数据库恢复工具PRM-DUL  For Oracle http://www.parnassusdata.com/

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638  QQ: 47079569     邮箱:service@parnassusdata.com
您需要登录后才可以回帖 登录 | 注册

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

GMT+8, 2024-5-17 18:42 , Processed in 0.045663 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

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