NBU异机恢复windows oracle11g
- 格式:pdf
- 大小:837.32 KB
- 文档页数:10
NBU异机恢复Oracle操作步骤NBU 异机恢复Oracle操作步骤Hehuyi_In 于 2020-05-15 22:36:22 发布 1507 收藏 5分类专栏: Oracle 备份还原版权Oracle同时被 2 个专栏收录206 篇⽂章4 订阅订阅专栏备份还原31 篇⽂章0 订阅订阅专栏⼀、准备⼯作1. DBA恢复服务器安装与原库相同版本的数据库软件、NBU客户端双向开通到NBU备份服务器的1556、13724、13720、13782、13790端⼝的防⽕墙策略(应该只要1556和13724,但为避免还原时出现其他异常,建议都开)/etc/hosts⽂件添加NBU备份服务器主机名及原库主机名,ping 主机名测试能否解析成功确保恢复服务器磁盘空间⾜够2. NBU管理员/etc/hosts⽂件添加待恢复服务器主机名,ping 主机名测试能否解析成功,若不成功可使⽤bpclntcmd -clear_host_cache清除nbu端dns缓存配置恢复授权,确保备份机器和还原机器都在列表中,且允许还原Host Properties->Mater server->Client Attributes若是异机恢复,需在NBU给备份机器和恢复机器增加异机恢复的权限cd /usr/openv/netbackup/db/altnamestouch 主机名检查异机恢复参数NBUInstallPath/NetBackup/bin/admincmd/bpgetconfig | grep "DISALLOW_CLIENT"#输出DISALLOW_CLIENT_LIST_RESTORE = NODISALLOW_CLIENT_RESTORE = NO#若如上两个参数为YES,则表⽰禁⽌进⾏异机恢复,需要将两个参数改成NO,为保证参数⽣效,建议修改后重启主服务器上的NBU服务NBUInstallPath/NetBackup/bin/bp.kill_allNBUInstallPath/NetBackup/bin/bp.start_all⼆、数据恢复以下均在待恢复服务器操作1. 检查备份⽂件情况/usr/openv/netbackup/bin/bplist -C iZwz94g9fehswlnzd19jv2Z -t 4 -b -l -R /# -C后跟备份库主机名;-t后跟还原类型,4是oracle标志;-b指列出备份⽂件的⽇期和时间;-l指列出备份⽂件的详细信息;-R以递归的⽅式显⽰⼦⽬录。
ORACLE11G RMAN备份恢复到异机数据库1. 主数据库环境操作系统版本 : Centos6.7 x64数据库版本 : Oracle 11.2.0.4 x64数据库名 : prb数据库SID : prbdb_unique_name : prbinstance_name : prbIP : 10.0.8.1002. 备库环境操作系统版本 : Centos6.7 x64数据库版本 : Oracle 11.2.0.4 x64 (只安装oracle数据库软件,no netca dbca)数据库名 : prb数据库SID : prbdb_unique_name: prbinstance_name : prbIP:10.0.8.101将参数文件备份、控制文件备份、数据文件备份、以及归档备份到目标主机1 此处实验环境为同平台,同字节序,同版本,源机器和目标机器相同的目录结构。
2 目标机器只需要安装oracle只安装oracle数据库软件,no netca dbca3 第一次利用备份恢复测试环境,之后从源机器拷贝备份到目标机器并在控制文件中注册,再见行恢复测试。
备份数据库backup format '/u01/prb/rmanbk/fulldb_%d_%U' database include current controlfile plus archivelog delete input;orapwd file='/u01/app/oracle/product/11.2.0.4/db_1/dbs/orapwprb' password=oracle entries=10 force=y1rman 连接到源数据库prd-db1-> rman target /Recovery Manager: Release 11.2.0.4.0 - Production on Wed Aug 17 19:23:27 2016 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: PRB (DBID=1906641159)RMAN>2 分别列出参数文件备份,控制文件备份,数据文件备份,以及归档备份的名字参数文件备份如下:RMAN> list backup of spfile;using target database control file instead of recovery catalogList of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time------- ---- -- ---------- ----------- ------------ -------------------3 Full 9.36M DISK 00:00:01 2016/08/17 16:47:34BP Key: 3 Status: AVAILABLE Compressed: NO Tag: TAG20160817T164718 Piece Name: /u01/prb/rmanbk/fulldb_PRB_04rdg8d5_1_1SPFILE Included: Modification time: 2016/08/17 16:30:57SPFILE db_unique_name: PRB控制文件备份如下:RMAN> list backup of controlfile;List of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time------- ---- -- ---------- ----------- ------------ -------------------3 Full 9.36M DISK 00:00:01 2016/08/17 16:47:34BP Key: 3 Status: AVAILABLE Compressed: NO Tag: TAG20160817T164718 Piece Name: /u01/prb/rmanbk/fulldb_PRB_04rdg8d5_1_1Control File Included: Ckp SCN: 972048 Ckp time: 2016/08/17 16:47:33数据文件备份如下:RMAN> list backup of database;List of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time------- ---- -- ---------- ----------- ------------ -------------------2 Full 1.08G DISK 00:00:15 2016/08/17 16:47:33BP Key: 2 Status: AVAILABLE Compressed: NO Tag: TAG20160817T164718 Piece Name: /u01/prb/rmanbk/fulldb_PRB_03rdg8cm_1_1List of Datafiles in backup set 2File LV Type Ckp SCN Ckp Time Name---- -- ---- ---------- ------------------- ----1 Full 972030 2016/08/17 16:47:18 /u01/app/oracle/oradata/prb/system01.dbf2 Full 972030 2016/08/17 16:47:18 /u01/app/oracle/oradata/prb/sysaux01.dbf3 Full 972030 2016/08/17 16:47:18 /u01/app/oracle/oradata/prb/undotbs01.dbf4 Full 972030 2016/08/17 16:47:18 /u01/app/oracle/oradata/prb/users01.dbf列出归档备份如下:RMAN> list backup of archivelog all;List of Backup Sets===================BS Key Size Device Type Elapsed Time Completion Time------- ---------- ----------- ------------ -------------------1 68.93M DISK 00:00:01 2016/08/17 16:47:17BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20160817T164716 Piece Name: /u01/prb/rmanbk/fulldb_PRB_02rdg8ck_1_1List of Archived Logs in backup set 1Thrd Seq Low SCN Low Time Next SCN Next Time---- ------- ---------- ------------------- ---------- ---------1 4 955212 2016/08/17 16:26:15 966337 2016/08/17 16:28:09 1 5 966337 2016/08/17 16:28:09 971912 2016/08/17 16:45:39 1 6 971912 2016/08/17 16:45:39 972019 2016/08/17 16:47:16 BS Key Size Device Type Elapsed Time Completion Time------- ---------- ----------- ------------ -------------------4 13.00K DISK 00:00:00 2016/08/17 16:47:35BP Key: 4 Status: AVAILABLE Compressed: NO Tag: TAG20160817T164735 Piece Name: /u01/prb/rmanbk/fulldb_PRB_05rdg8d7_1_1List of Archived Logs in backup set 4Thrd Seq Low SCN Low Time Next SCN Next Time---- ------- ---------- ------------------- ---------- ---------1 7 972019 2016/08/17 16:47:16 972053 2016/08/17 16:47:35 目标主机创建相应的目录mkdir -p /u01/app/oracle/admin/prb/{adump,dpdump,pfile,scripts}mkdir -p /u01/app/oracle/oradata/prbmkdir -p /u01/app/oracle/fast_recovery_area/prbmkdir -p /u01/prb/rmanbkmkdir -p /u01/archivelog3 将备份文件、密码文件copy到目标主机scp /u01/prb/rmanbk/* oracle@prd-db2:/u01/prb/rmanbk/scp /u01/app/oracle/product/11.2.0.4/db_1/dbs/orapwprb oracle@prd-db2:/u01/app/oracle/product/11.2.0.4/db_1/dbs/恢复参数文件及控制文件1 配置新主机上的ORACLE_SIDecho 'db_name=prb' > $ORACLE_HOME/dbs/initprb.oraexport ORACLE_SID=prbsqlplus / as sysdba@prbstartup nomount pfile='/u01/app/oracle/product/11.2.0.4/db_1/dbs/initprb.ora' 目标主机上发起rman连接prd-db2-> rman target /Recovery Manager: Release 11.2.0.4.0 - Production on Wed Aug 17 18:36:34 2016 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database (not started)设置dbid 并启动实例到nomount状态RMAN> set dbid 3601019238executing command: SET DBIDRMAN> startup nomount;Oracle instance startedTotal System Global Area 217157632 bytesFixed Size 2251816 bytesVariable Size 159384536 bytesDatabase Buffers 50331648 bytesRedo Buffers 5189632 bytes恢复spfile文件RMAN> restore spfile to '/u01/app/oracle/product/11.2.0.4/db_1/dbs/spfileprb.ora' from '/u01/prb/rmanbk/fulldb_PRB_04rdg8d5_1_1';Starting restore at 2016/08/17 18:37:40allocated channel: ORA_DISK_1channel ORA_DISK_1: SID=19 device type=DISKchannel ORA_DISK_1: restoring spfile from AUTOBACKUP /u01/prb/rmanbk/fulldb_PRB_04rdg8d5_1_1channel ORA_DISK_1: SPFILE restore from AUTOBACKUP completeFinished restore at 2016/08/17 18:37:41startup force nomountRMAN> startup force nomount;Oracle instance startedTotal System Global Area 584568832 bytesFixed Size 2255432 bytesVariable Size 226493880 bytesDatabase Buffers 352321536 bytesRedo Buffers 3497984 bytes恢复控制文件RMAN> restore controlfile to '/u01/app/oracle/oradata/prb/control01.ctl' from '/u01/prb/rmanbk/fulldb_PRB_04rdg8d5_1_1';Starting restore at 2016/08/17 18:38:26allocated channel: ORA_DISK_1channel ORA_DISK_1: SID=19 device type=DISKchannel ORA_DISK_1: restoring control filechannel ORA_DISK_1: restore complete, elapsed time: 00:00:01Finished restore at 2016/08/17 18:38:27启动数据库到加载状态RMAN> alter database mount;RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of alter db command at 08/17/2016 18:38:39ORA-00205: error in identifying control file, check alert log for more infoprd-db2-> export ORACLE_SID=prbprd-db2-> sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Wed Aug 17 18:42:04 2016Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> shutdown immediate;ORA-01507: database not mountedORACLE instance shut down.SQL> startup mount;ORACLE instance started.Total System Global Area 584568832 bytesFixed Size 2255432 bytesVariable Size 226493880 bytesDatabase Buffers 352321536 bytesRedo Buffers 3497984 bytesORA-00205: error in identifying control file, check alert log for more info 解决办法:scp /u01/app/oracle/oradata/prb/control01.ctl prd-db2:/u01/app/oracle/oradata/prb/ scp /u01/app/oracle/fast_recovery_area/prb/ control02.ctlprd-db2:/u01/app/oracle/fast_recovery_area/prb/启动到mount状态正常SQL> startup mountORACLE instance started.Total System Global Area 584568832 bytesFixed Size 2255432 bytesVariable Size 226493880 bytesDatabase Buffers 352321536 bytesRedo Buffers 3497984 bytesDatabase mounted.三 在新控制文件中注册数据文件备份和归档备份prd-db2-> rman target /Recovery Manager: Release 11.2.0.4.0 - Production on Wed Aug 17 18:52:34 2016 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: PRB (DBID=1906641159, not open)RMAN> catalog start with '/u01/prb/rmanbk/';using target database control file instead of recovery catalogsearching for all files that match the pattern /u01/prb/rmanbk/no files found to be unknown to the database恢复整个库RMAN> restore database;Starting restore at 2016/08/17 18:53:42allocated channel: ORA_DISK_1channel ORA_DISK_1: SID=18 device type=DISKchannel ORA_DISK_1: starting datafile backup set restorechannel ORA_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/prb/system01.dbfchannel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/prb/sysaux01.dbfchannel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/prb/undotbs01.dbfchannel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/prb/users01.dbfchannel ORA_DISK_1: reading from backup piece /u01/prb/rmanbk/fulldb_PRB_03rdg8cm_1_1channel ORA_DISK_1: piece handle=/u01/prb/rmanbk/fulldb_PRB_03rdg8cm_1_1 tag=TAG20160817T164718channel ORA_DISK_1: restored backup piece 1channel ORA_DISK_1: restore complete, elapsed time: 00:00:15Finished restore at 2016/08/17 18:53:57RMAN> recover database;Starting recover at 2016/08/17 18:54:12using channel ORA_DISK_1starting media recoverychannel ORA_DISK_1: starting archived log restore to default destination channel ORA_DISK_1: restoring archived logarchived log thread=1 sequence=7channel ORA_DISK_1: reading from backup piece /u01/prb/rmanbk/fulldb_PRB_05rdg8d7_1_1channel ORA_DISK_1: piece handle=/u01/prb/rmanbk/fulldb_PRB_05rdg8d7_1_1 tag=TAG20160817T164735channel ORA_DISK_1: restored backup piece 1channel ORA_DISK_1: restore complete, elapsed time: 00:00:01archived log file name=/u01/app/oracle/fast_recovery_area/PRB/archivelog/2016_08_17/o1_mf_1_7_cv8 jlo4y_.arc thread=1 sequence=7RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of recover command at 08/17/2016 18:54:14ORA-00283: recovery session canceled due to errorsRMAN-11003: failure during parse/execution of SQL statement: alter database recover logfile'/u01/app/oracle/fast_recovery_area/PRB/archivelog/2016_08_17/o1_mf_1_7_cv8jlo4 y_.arc'ORA-00283: recovery session canceled due to errorsORA-00313: open failed for members of log group 2 of thread 1ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/prb/redo02.log'ORA-27037: unable to obtain file statusLinux-x86_64 Error: 2: No such file or directoryAdditional information: 3缺失归档日志情况下的恢复prd-db2-> export ORACLE_SID=prbprd-db2-> sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Wed Aug 17 19:03:52 2016Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> shutdown immediate;ORA-01109: database not openDatabase dismounted.ORACLE instance shut down.SQL> startup mount;ORACLE instance started.Total System Global Area 584568832 bytesFixed Size 2255432 bytesVariable Size 226493880 bytesDatabase Buffers 352321536 bytesRedo Buffers 3497984 bytesDatabase mounted.SQL> alter database open ;alter database open*ERROR at line 1:ORA-01589: must use RESETLOGS or NORESETLOGS option for database openSQL> alter database open noresetlogs;alter database open noresetlogs*ERROR at line 1:ORA-01588: must use RESETLOGS option for database openSQL> alter database open resetlogs;Database altered.SQL> select max(sequence#) from v$archived_log;MAX(SEQUENCE#)--------------7数据库正常启动prd-db2-> export ORACLE_SID=prbprd-db2-> sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Wed Aug 17 19:11:49 2016Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL> startupORACLE instance started.Total System Global Area 584568832 bytesFixed Size 2255432 bytesVariable Size 226493880 bytesDatabase Buffers 352321536 bytesRedo Buffers 3497984 bytesDatabase mounted.Database opened.。
⼤道浮屠诀---NBU8.1.1_备份恢复_RAC-RAC(linux6)环境介绍Window_NBU8.1.1 备份 ORACLE_11G_RAC全备和归档两个策略恢复:RAC-RAC恢复恢复到指定时间点(追加归档)颜⾊区别:配置⽂件颜⾊脚本命令颜⾊Window-NBU8.1.1安装注:8.1.1安装之前需要做以下操作安装过程不再赘述,根据向导安装即可。
环境介绍-----------------------------oracle_RAC[root@rac1 ~]# more /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6172.168.1.11 rac1172.168.1.22 rac2172.168.1.111 rac1-vip172.168.1.222 rac2-vip10.10.10.11 rac1-prv10.10.10.22 rac2-prv172.168.1.33 rac-scan#-----------------------nbu172.168.1.213WIN-KH4NAH82PJClinux系统版本[root@rac1 ~]# more /etc/redhat-releaseRed Hat Enterprise Linux Server release 6.5 (Santiago)备份步骤-----------------------------1、创建存储池(DISK OR TAPE)2、创建备份策略(instance backup or script backup)3、测试备份详细步骤不再赘述(可参考单机版)-----测试备份⽅法-----1、⾸先进⾏⼀次全备-----2、创建⼀个表空间,切换⽇志,进⾏归档⽇志备份-----3、创建⼀张表,切换⽇志,进⾏归档⽇志备份恢复步骤-----------------------------注:先查看原库数据⽂件和redo⽇志的路径,接下来可能会在脚本中对路径进⾏修改1、查看备份集/usr/openv/netbackup/bin/bplist -C rac1 -t 4 -R /2次归档备份,1次全备注:也可搜索指定时间段的备份集,如下命令/usr/openv/netbackup/bin/bplist -C rac1 -t 4 -R -s 03/20/2019 -e 03/21/2019 /2、⾸先启动到nomountpfile⽂件⾃⾏进⾏修改(⼀般修改各路径与实例名即可)3、恢复控制⽂件此次先选择以下控制⽂件恢复此时需要追加归档来恢复数据库,数据库可以看到表空间,但是看不到表ControlFileScripts:(RMAN下运⾏)run{allocate channel c1 type sbt_tape;SEND 'NB_ORA_SERV=WIN-ECOEQVGJGRJ,NB_ORA_CLIENT=rac1';restore controlfile from '/cntrl_87_1_1003411309';release channel c1;}此时集群状态:4、接下去恢复数据⽂件DataFileScripts:(RMAN下运⾏)run{allocate channel c4 type sbt_tape;allocate channel c5 type sbt_tape;SEND 'NB_ORA_SERV=WIN-ECOEQVGJGRJ,NB_ORA_CLIENT=rac1';set newname for datafile '+DATA01/racdb/datafile/sysaux.263.975102913' to '+DATA01/rachui/datafile/sysaux01.dbf';set newname for datafile '+DATA01/racdb/datafile/undotbs2.266.975102943' to '+DATA01/rachui/datafile/undotbs02.dbf';set newname for datafile '+DATA01/racdb/datafile/system.262.975102909' to '+DATA01/rachui/datafile/system01.dbf';set newname for datafile '+DATA01/racdb/datafile/undotbs1.264.975102917' to '+DATA01/rachui/datafile/undotbs01.dbf';set newname for datafile '+DATA01/racdb/datafile/users.267.975102945' to '+DATA01/rachui/datafile/users01.dbf';set newname for datafile '+DATA01/racdb/datafile/huifu01.dbf' to'+DATA01/rachui/datafile/huifu01.dbf';restore database;switch datafile all;release channel c4;release channel c5;}--redo⽇志修改路径(可选)如果你需要更改恢复后的redo路径,可⽤以下命令进⾏修改alter database rename file '+data01/racdb/onlinelog/group_1.258.975102907' to '+data01/rachui/onlinelog/group_1.258.975102907'; alter database rename file '+data01/racdb/onlinelog/group_1.259.975102907' to '+data01/rachui/onlinelog/group_1.259.975102907';alter database rename file '+data01/racdb/onlinelog/group_2.260.975102907' to '+data01/rachui/onlinelog/group_2.260.975102907'; alter database rename file '+data01/racdb/onlinelog/group_2.261.975102907' to '+data01/rachui/onlinelog/group_2.261.975102907'; alter database rename file '+data01/racdb/onlinelog/group_3.268.975110971' to '+data01/rachui/onlinelog/group_3.268.975110971'; alter database rename file '+data01/racdb/onlinelog/group_3.269.975110971' to '+data01/rachui/onlinelog/group_3.269.975110971'; alter database rename file '+data01/racdb/onlinelog/group_4.270.975110973' to '+data01/rachui/onlinelog/group_4.270.975110973'; alter database rename file '+data01/racdb/onlinelog/group_4.271.975110975' to '+data01/rachui/onlinelog/group_4.271.975110975'; 5、接下来我们可以尝试进⾏恢复(不过由于缺失归档,恢复会报错)RecoverScripts:(RMAN下运⾏)run{allocate channel ch00 type 'sbt_tape';allocate channel ch01 type 'sbt_tape';SEND 'NB_ORA_SERV=WIN-ECOEQVGJGRJ,NB_ORA_CLIENT=rac1';recover database;release channel ch00;release channel ch01;}提⽰需要恢复seq为204的归档⽇志:a、我们先选择取消此归档的恢复,并打开库recover database using backup controlfile until cancel;接下来open数据库此时我们查询表空间(没有出错的情况下,此时会有之前创建的表空间,但是不会有表存在)正确!b、此时我们来追加归档恢复⾄创建表之后的时间点由于我们的控制⽂件中的备份记录只到203,⽆法⾃动进⾏⾃动恢复,所以需要进⾏⼿动从备份集中寻找需要的归档进⾏恢复从备份集中可以看出我们恢复到了86,204可以从之后的88,89,90中寻找sql>中执⾏declaredevtype varchar2(256);done boolean;begindevtype:=sys.dbms_backup_restore.deviceAllocate(type=>'sbt_tape',ident=>'t2');sys.dbms_backup_restore.restoreSetArchivedLog(destination=>'+data02/arch/');sys.dbms_backup_restore.restoreArchivedLog(thread=>1,sequence=>204);sys.dbms_backup_restore.restoreBackupPiece(done=>done,handle=>'/al_89_1_1003419927',params=>'NB_ORA_SERV=WIN-ECOEQVGJGRJ,NB_ORA_CLIENT=rac1');sys.dbms_backup_restore.deviceDeallocate;end;从89中找到了所需要的归档我们可以⽤以下命令进⾏追加recover database using backup controlfile until cancel;提⽰需要thread 2 中 seq 204继续⽤上述⽅法进⾏追加追加到206时,已经⽆法在88,89,90中找到相应归档此时可以选择cancel取消恢复这时打开数据库,应该恢复到了之前创建表的状态,也就是最新的时间点过程中遇到的问题1、恢复数据⽂件时遇到RMAN-06091解决⽅法:RMAN下执⾏allocate channel for maintenance type disk;delete obsolete device type disk;。
oracle11g还原数据库步骤概述说明以及解释引言部分的内容可以按照如下方式撰写:1. 引言1.1 概述引言部分将介绍本篇文章的主题,即Oracle 11g数据库还原步骤。
数据库还原是一项至关重要的任务,它可以帮助恢复丢失或损坏的数据,并确保系统的连续性和可靠性。
在本文中,我们将深入探讨Oracle 11g数据库还原的步骤和过程,以及执行还原操作前需要注意的准备工作。
1.2 文章结构在本文中,我们将按照以下顺序来讨论Oracle 11g数据库还原:- 首先,我们将介绍Oracle 11g数据库还原的重要性,阐述为什么必须进行数据库还原操作。
- 其次,我们将概述Oracle 11g数据库还原的步骤,并列出每个步骤的简要说明。
- 第三部分我们将详细描述执行数据库还原操作前所需进行的准备工作。
- 接下来,我们将提供执行数据库还原操作的详细步骤,包括必要时涉及到的命令和工具。
- 最后,我们将讨论完成数据库还原后进行验证和测试的方法与技巧。
1.3 目的本文旨在为读者提供有关Oracle 11g数据库还原的全面指南。
通过学习本文,读者将能够了解数据库还原的重要性、掌握进行数据库还原操作的步骤和技巧,并且能够有效地验证和测试还原后的数据库。
我们希望这篇文章能够帮助读者在数据库还原过程中避免常见错误,并提供相关提示和建议。
2. 正文:2.1 Oracle 11g数据库还原的重要性在数据库管理中,数据的安全性和完整性是至关重要的。
由于各种原因,比如硬件故障、用户误操作或者系统遭受攻击,数据库可能会丢失或损坏。
因此,在这些情况下,数据库还原变得非常重要。
Oracle 11g数据库还原是指恢复已经丢失或被损坏的数据到其先前可用状态的过程。
2.2 Oracle 11g数据库还原的步骤概述数据库还原通常包括以下主要步骤:- 备份介质准备:确定可用的备份介质,并确保其处于良好状态。
- 目标库环境准备:在目标库上创建必需的目录结构,并配置参数以适应还原操作。
要消除对所有客户端的限制,可在NetBackup主服务器上创建以下文件:UNIX/Linux: /usr/openv/netbackup/db/altnames/No.RestrictionsWindows: install_path\NetBackup\db\altnames\No.Restrictions要允许客户端仅从特定客户端还原,请在NetBackup主服务器上创建以下文件:UNIX/Linux: /usr/openv/netbackup/db/altnames/client_nameWindows: install_path\NetBackup\db\altnames\client_name在d:\app\oracle下面创建d:\app\oracle\admin\test\adump dpdumppfiled:\app\oracle\flash_recovery_aread:\app\oracle\oradata\testD:/>set ORACLE_SID=testD:/>oradim.exe -new -sid test -startmode m(后面还需要在我的电脑,属性--高级--环境变量---系统变量--新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID,否则sqlplus /nolog,conn /as sysdba会报错)D:/>orapwd file=D:\app\oracle\product\11.2.0\dbhome_1\database\PWDtest.ora password=oracleRMAN> set DBID=2129635993 (查看SQL> select dbid from v$database)正在执行命令: SET DBIDRMAN> startup nomount已连接到目标数据库(未启动)启动失败: ORA-01078: failure in processing system parametersLRM-00109: ???????????????? 'D:\APP\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\INIT TEST.ORA'在没有参数文件的情况下启动Oracle 实例以检索spfileOracle 实例已启动系统全局区域总计158662656 字节Fixed Size 2173840 字节Variable Size 88081520 字节Database Buffers 62914560 字节Redo Buffers 5492736 字节RMAN>run{ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';SEND 'NB_ORA_CLIENT=db1,NB_ORA_SID=test,NB_ORA_SERV=ibmx64server';restorespfile to pfile 'D:\app\oracle\product\11.2.0\dbhome_1\database\inittest.ora' from 'sp_u0roov8bs_s27_p1_t831496572';RELEASE CHANNEL ch00;}RMAN>shutdown abort;修改inittest.ora中的控制文件路径为新的路径。
NetBackup将Oracle数据库恢复到其它服务器(rman nocatalog)一、假设不使用rman catalog。
假设要将数据库恢复到new_host的不同文件系统/data上。
以oracle8i语法为例,Oracle9无svrmgrl,需用sqlplus “/ as sysdba”。
1. 在new_host上创建dba组和与old_host相同的Oracle用户。
将/data的可写权限给Oracle用户。
确定new_host上有足够的硬盘空间存放新的datafile及archive log file。
2. 修改.profile文件中相关的Oracle环境变量,ORACLE_SID保持与old_host中一致。
3. 安装与old_host相同版本的Oracle数据库软件,不创建数据库。
4. 将old_host中$ORACLE_HOME/dbs下的initSID.ora文件拷至new_host的$ORACLE_HOME/dbs下。
如果initSID.ora中有ifile=’xxx.ora’,则将xxx.ora也进行拷贝。
Oracle9也可能用spinitSID.ora。
5. 创建initSID.ora(及xxx.ora)中所用到的目录。
通常所需建立的目录为background_dump_dest、core_dump_dest、user_dump_dest、log_archive_dest。
常6. 在new_host上安装和配置NetBackup client和Oracle Agent。
注意在NetBackup Server的/usr/openv/netbackup/db/altnames目录下touch No.Restrictions (允许异机恢复)。
7. 从原机copy或从磁带异机恢复standard方式备份的最新的control file到new_host的/data目录下。
8. 修改initSID.ora(及xxx.ora),如果是OPS,将OPS相关的参数去掉:(1) control_files = (“/data/controlfile_name”)(2) log_archive_dest=”/data/arch”(3) sort_area_size=20000000# 如果sort_area_size不够大,恢复archive_log时可能出现ora-12209. svrmgrl> startup mount10. svrmgrl> select file# from v$datafile,记录file#11. svrmgrl> select * from v$logfile,记录log文件的目录。
1、关闭开启的实例数据库(未关监听)shutdown immediate2、传NBU客户端3、安装NBU客户端/usr/openv/netbackup/bin ./oracle_link 建立连接新客户端必须启动这个命令,不然无法进行还原,需要在oracle用户下跑命令4、查询备份信息5、设置备份可强制恢复6、检查Oracle安装软件7、检查NBU客户端进程8、检查备份集cd /usr/openv/netbackup/bin./bplist -C cmccdb1_beifen -t 4-R -b -l /|more9、创建参数文件/u01/app/oracle/database/10R1/dbs oracle环境变量touch init bacdb.orachmod 777 initbacdb.orabacdb.__db_cache_size=1711276032bacdb.__java_pool_size=46976204bacdb.__large_pool_size=13421772bacdb.__oracle_base='/opt/oracle/app/oracle'#ORACLE_BASE set from environmentbacdb.__pga_aggregate_target=677799526bacdb.__sga_target=4019976806 ----服务器内存80%bacdb.__shared_io_pool_size=0bacdb.__shared_pool_size=228170137bacdb.__streams_pool_size=6710886*.audit_file_dest='/opt/oracle/app/oracle/admin/bacdb/adump'*.audit_trail='db'*.compatible='11.2.0.4.0'*.control_files='/opt/oracle/oradata/bacdb/controlfile/control01.ctl','/opt /oracle/oradata/bacdb/controlfile/control02.ctl'*.db_block_size=8192*.db_domain=''*.db_name='bacdb'*.diagnostic_dest='/opt/oracle/app/oracle'*.dispatchers='(PROTOCOL=TCP) (SERVICE=bacdbXDB)'bacdb.instance_number=1*.log_archive_dest_1='location=/opt/oracle/oradata/bacdb/arch'*.open_cursors=2000*.pga_aggregate_target=677799526*.processes=1000*.remote_login_passwordfile='exclusive'#*.sessions=4405*.sga_target=4019976806bacdb.thread=1bacdb.undo_tablespace='UNDOTBS1'10、创建文件目录mkdir -p /opt/oracle/app/oracle/admin/bacdb/adumpmkdir -p /opt/oracle/oradata/bacdb/controlfilemkdir -p /opt/oracle/oradata/bacdb/archmkdir -p /opt/oracle/oradata/bacdb/datafilemkdir -p /opt/oracle/oradata/bacdb/tempfilemkdir -p /opt/oracle/oradata/bacdb/onlinelog11、根据参数文件启动至nomountexport ORACLE_SID=bacdbsqlplus /as sysdbastartup nomount pfile='/opt/oracle/app/oracle/product/11.2.0/db_1/dbs/initbacdb.ora';12、根据参数文件创建spfile文件create spfile from pfile;13、重启至nomount状态startup force nomount;14、创建sys密码文件orapwd file=$ORACLE_HOME/dbs/orapwbacdb password=ERab3OC_4s entries=5 force=y15、恢复控制文件export ORACLE_SID=bacdbrman target /run{allocate channel ch0 type'sbt_tape';send 'NB_ORA_CLIENT= bac-db-01_beifen';send 'nb_ora_serv=NFJD-WHGLZY-NBU-1';restore controlfile from'/cntrl_7110_1_932480583'; release channel ch0;}16、启动至mount状态alter database mount;17、查询需要恢复的表空间select NAME,TS# from v$tablespace;因为我们这里只做部分表空间恢复,只需要恢复SYSTEM,SYSAUX,UNDOTBS1,TEMP,UNDOTBS2,USERS,DATA_SMSGW表空间,所以要分别找出这些表空间都包括那些数据文件:18、查询需要恢复的表空间对应的数据文件select file#,name from v$datafile where TS# in('0','1','2','3','4','5','6')19、恢复数据文件restore数据文件(执行脚本)$ nohup /opt/oracle/oradata/restore/restore.sh > restore.sh.out 2>&1 &rman target / nocatalog <<EOFrun {allocate channel ch00 type'SBT_TAPE';allocate channel ch01 type'SBT_TAPE';allocate channel ch02 type'SBT_TAPE';allocate channel ch03 type'SBT_TAPE';send 'NB_ORA_CLIENT=bac-db-01_beifen';send 'NB_ORA_SERV=NFJD-WHGLZY-NBU-1';set newname for datafile1to'/opt/oracle/oradata/bacdb/datafile/system.262.863641207';set newname for datafile2to'/opt/oracle/oradata/bacdb/datafile/sysaux.261.863641231';set newname for datafile3to'/opt/oracle/oradata/bacdb/datafile/undotbs1.260.863641255';set newname for datafile4to'/opt/oracle/oradata/bacdb/datafile/undotbs2.270.863641297';set newname for datafile5to'/opt/oracle/oradata/bacdb/datafile/users.269.863641331';set newname for datafile6to'/opt/oracle/oradata/bacdb/datafile/data_smsgw.276.863781045';set newname for datafile31to'/opt/oracle/oradata/bacdb/datafile/data_smsgw.301.884961611';set newname for datafile55to'/opt/oracle/oradata/bacdb/datafile/system.329.922185251';set newname for datafile60to'/opt/oracle/oradata/bacdb/datafile/undotbs1.334.925769101';set newname for datafile61to'/opt/oracle/oradata/bacdb/datafile/undotbs2.335.925769185';set newname for datafile62to'/opt/oracle/oradata/bacdb/datafile/system.336.926934061';restore database skip tablespaceTBS_ACS,TBS_UCMQ,TBS_BTS,WH_TS,TBS_MMCC,TBS_IAPMMWLAN,TBS_MMPG,TBS_SIMS20; switch datafile all;release channel ch00;release channel ch01;release channel ch02;release channel ch03;}EOF20、修改线日志文件路径select group#,member from v$logfile order by group#;alter database rename file'+DATA/bacdb/onlinelog/group_1.256.863641201'to'/opt/oracle/oradata/bacdb/onlinelog/group_1.256.863641201';alter database rename file'+DATA/bacdb/onlinelog/group_2.266.863641203'to'/opt/oracle/oradata/bacdb/onlinelog/group_2.266.863641203';alter database rename file'+DATA/bacdb/onlinelog/group_3.258.863643321'to'/opt/oracle/oradata/bacdb/onlinelog/group_3.258.863643321';alter database rename file'+DATA/bacdb/onlinelog/group_4.257.863643323'to'/opt/oracle/oradata/bacdb/onlinelog/group_4.257.863643323';alter database rename file'+DATA/bacdb/onlinelog/group_5.274.863641203'to'/opt/oracle/oradata/bacdb/onlinelog/group_5.274.863641203';alter database rename file'+DATA/bacdb/onlinelog/group_6.273.863641205'to'/opt/oracle/oradata/bacdb/onlinelog/group_6.273.863641205';alter database rename file'+DATA/bacdb/onlinelog/group_7.272.863641205'to'/opt/oracle/oradata/bacdb/onlinelog/group_7.272.863641205';alter database rename file'+DATA/bacdb/onlinelog/group_8.271.863641207'to'/opt/oracle/oradata/bacdb/onlinelog/group_8.271.863641207';alter database rename file'+DATA/bacdb/onlinelog/group_9.268.863643325'to'/opt/oracle/oradata/bacdb/onlinelog/group_9.268.863643325';alter database rename file'+DATA/bacdb/onlinelog/group_10.267.863643325'to'/opt/oracle/oradata/bacdb/onlinelog/group_10.267.863643325';alter database rename file'+DATA/bacdb/onlinelog/group_11.265.863643327'to'/opt/oracle/oradata/bacdb/onlinelog/group_11.265.863643327';alter database rename file'+DATA/bacdb/onlinelog/group_12.264.863643327'to '/opt/oracle/oradata/bacdb/onlinelog/group_12.264.863643327';21、recover数据库run {allocate channel ch00 type'SBT_TAPE';allocate channel ch01 type'SBT_TAPE';allocate channel ch02 type'SBT_TAPE';allocate channel ch03 type'SBT_TAPE';send 'NB_ORA_CLIENT=bac-db-01_beifen';send 'NB_ORA_SERV=NFJD-WHGLZY-NBU-1';recover database skip forever tablespaceTBS_ACS,TBS_UCMQ,TBS_BTS,WH_TS,TBS_MMCC,TBS_IAPMMWLAN,TBS_MMPG,TBS_SIMS20; release channel ch00;release channel ch01;release channel ch02;release channel ch03;}22、打开数据库alter database open resetlogs;select open_mode from v$database;23、创建临时表空间SQL> create temporary tablespace temp1 tempfile '/opt/products/oradata/temp1.dbf' size 500m;Tablespace created.SQL> select tablespace_name from dba_tablespaces where contents='TEMPORARY';TABLESPACE_NAME------------------------------TEMPUSSD2_TEMPTEMP1SQL> alter database default temporary tablespace temp1;Database altered.SQL> drop tablespace TEMP including contents and datafiles;Tablespace dropped.SQL> drop tablespace USSD2_TEMP including contents and datafiles;Tablespace dropped.注:Oracle的恢复需要注意。
异机恢复ORACLE数据库(NBU)ORACLE数据库异机恢复(NBU)一.恢复的前提条件.1.)日常备份都是成功的。
至少有一次全备份及全备份以来的增量备份和Archivelog.2.)原主机的OS及ORACLE版本与目标主机的OS及ORACLE版本保持一致.3.)需要原数据库的下列信息:1)IP Address, Hostname, Nbu media server/client2)Oracle DB version, SID,DBID,Datafile Path,Controlfile Path,Archivelog Path3)Catalog DB IP,SID/Service name ,user/password4.)在目标主机上安装与原数据库版本相同的oracle软件(Install type :Softwareonly)5.)在目标主机上安装Veritas 软件,安装类型与原主机一致(media server or client)二. 下面以aush49上的s1rel DB恢复到aush61为例对veritas 及oracle进行配置.1 )在目标主机上(aush61)配置veritas1) Edit $ORACLE_HOME/bp.conf file(aush61) s3pis> cd $ORACLE_HOME(aush61) s3pis> vi bp.confSERVER = aush06 /*master server host name*/CLIENT_NAME = aush49 /*source host name ,如果aush49是media server则写 SERVER = aush49*/CLINET_READ_TIMEOUT = 18002)Edit /usr/openv/netbackup/bp.conf ( aush61)aush61#vi bp.confSERVER = aush06 /*master servername*/CLIENT_NAME = aush49 /*source host name , 如果aush49是media server则写 SERVER = aush49*/CLIENT_NAME = aush61 /*target host name */VERBOSE = 5CLIENT_READ_TIMEOUT = 1800CLIENT_CONNECT_TIMEOUT = 18003) Touch a file on Master Server (aush06)aush06#cd /usr/openv/netbackup/db/altnamesaush06#touchaush61 /*target host name */2 ) 在master server (aush06)与目标主机(aush61)上配置/etc/hosts 文件aush61#vi /etc/hosts127.0.0.1 localhost10.5.15.61 aush6110.5.15.6 aush0610.5.15.49 aush4910.5.15.58 aush58aush06#vi /etc/hosts127.0.0.1 localhost10.5.15.61 aush6110.5.15.6 aush0610.5.15.49 aush4910.5.15.58 aush583) 在目标主机上(aush61)配置ORACLE.1 )创建于原数据库(aush49)相同的oracle user/group : s3pis/dba2 ) 配置s3pis环境变量(aush61) s3pis> more .profileORACLE_HOME=/u01/s3pis;export ORACLE_HOMEORACLE_SID=s3rel;export ORACLE_SIDPATH=$PATH:$ORACLE_HOME/bin;export PATHPS1="(`hostname`) `whoami`> "LD_LIBRARY_PATH=$ORACLE_HOME/lib;exportLD_LIBRARY_PATH3 ) 安装与原数据库相同版本的Oracle 软件,安装类型:SOFTWARE ONLY.4 ) 创建$ORACLE_HOME/network/admin/tnsnames.ora 文件连接catalog DB.(aush61) s3pis> more tnsnames.oracatalog =(description=(address_list=(address=(protocol=tcp)(host=10.5.13.178)(port=1521)))(connect_data=(service_name=catalog)))5 ) 创建pfile如果有原数据库(s1rel db)的pfile 或spfile ,可以直接使用;如果没有可以手动创建pfile !6 )创建与原数据库(s1rel db)相同的文件存放路径!1)根据对原数据库(s1rel )的日常维护信息,可以知道controlfile,datafile,archivelog file 的存取路径。
oracle 11g rac 恢复到单机环境介绍:10.204.101.45和46是11.2.0.4.0的rac环境,变成单机恢复到测试环境10.204.16.155(双方都是linux系统)101.45-racdb1101.46-racdb2补充:通过查看v$db_transportable_platform可以看到跨平台恢复是否支持:AIX 支持的平台恢复:linux 支持的平台恢复:一、16.155环境准备1、安装数据库软件2、安装nbu:二、恢复1、新建参数文件:到101.45上面把参数文件down下来修改下,修改后内容如下:cd $ORACLE_HOME/dbs/vi initracdb.oraracdb.__db_cache_size=369098752racdb.__java_pool_size=16777216racdb.__large_pool_size=33554432racdb.__oracle_base='/oracle/app/oracle'racdb.__pga_aggregate_target=553648128racdb.__sga_target=1056964608racdb.__shared_io_pool_size=0racdb.__shared_pool_size=620756992racdb.__streams_pool_size=0*.audit_file_dest='/oracle/app/admin/racdb/adump'*.audit_trail='FALSE'#*.cluster_database=true //单机去掉*.compatible='11.2.0.4.0'*.control_files='/oracle/app/oradata/racdb/ctl01.ctl'*.db_block_size=8192*.db_create_file_dest='/oracle/app'*.db_domain=''*.db_name='racdb'*.diagnostic_dest='/oracle/app'*.dispatchers='(PROTOCOL=TCP) (SERVICE=racdbXDB)'racdb.instance_number=1racdb.log_archive_dest_1='LOCATION=/oracle/arch'*.memory_target=1606418432*.open_cursors=300*.processes=500*.remote_login_passwordfile='exclusive'*.sessions=555racdb.thread=1racdb.undo_tablespace='UNDOTBS1'注意事项:1>把racdb2的删除掉,把racdb1替换成racdb2>把涉及到路径的替换成实际环境的,有些目录得手工创建。
Oracle11G异机恢复测试--环境--OLD:win7 32位系统oracle 11.2.0.1--一次全备,spfile、controlfile自动备份--new:win7 64位系统oracle 11.2.0.1--安装oracle软件,不建数据库--××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××----手动创建服务oradim -NEW -SID ORCL -STARTMODE a--生成口令文件orapwd file=D:\ora112\product\11.2.0\dbhome_1\database\orapworcl password=oracle entries=5C:\Users\Administrator>rman target /恢复管理器: Release 11.2.0.1.0 - Production on 星期二6月28 11:09:30 2011Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.已连接到目标数据库(未启动)RMAN> startup启动失败: ORA-01078: failure in processing system parametersLRM-00109: 'D:\ORA112\PRODUCT\11.2.0\DBHOME_1\DATABASE\INITORCL .ORA'在没有参数文件的情况下启动Oracle 实例以检索spfileOracle 实例已启动RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: startup 命令(在06/28/2011 11:09:36 上) 失败ORA-00205: 标识控制文件时出错, 有关详细信息, 请查看预警日志RMAN>--mkdir D:\ora112\admin\orcl\pfile\--如果不修改控制文件的路径等目录的话,可以直接恢复出spfilerestore spfile from 'D:\ora11\flash_recovery_area\orcl\BACKUPSET\2011_06_17\O1_MF_NCSNF_TAG20110617T164011_6ZP4TD81_.BKP';--恢复出pfile文件,可以修改参数,然后在根据pfile生成spfile 手工创建pfile中涉及的所有目录restore spfile to pfile 'D:\ora112\admin\initorcl.ora' from 'D:\ora11\flash_recovery_area\orcl\BACKUPSET\2011_06_17\O1_MF_NCSNF_TAG20110617T164011_6ZP4TD81_.BKP';RMAN> sql 'create spfile from pfile D:\ora112\admin\initorcl.ora'; --引号的格式需要调整--可以从sqlplus中生成spfilesql> shutdown immediatesql> create spfile from pfile='D:\ora112\admin\initorcl.ora';sql> startup nomount--恢复控制文件restore controlfile from 'D:\ora111\flash_recovery_area\orcl\BACKUPSET\2011_06_17\O1_MF_NCSNF_TAG20110617T164011_6ZP4TD81_.BKP';--调整数据文件目录ALTER DATABASE RENAME FILE 'D:\ORA11\ORADATA\ORCL\SYSTEM01.DBF' TO 'D:\ORA112\ORADATA\ORCL\SYSTEM01.DBF';ALTER DATABASE RENAME FILE 'D:\ORA11\ORADATA\ORCL\SYSAUX01.DBF' TO 'D:\ORA112\ORAD ATA\ORCL\SYSAUX01.DBF';ALTER DATABASE RENAME FILE 'D:\ORA11\ORADATA\ORCL\UNDOTBS01.DBF' TO 'D:\ORA112\ORADATA\ORCL\UNDOTBS01.DBF';ALTER DATABASE RENAME FILE 'D:\ORA11\ORADATA\ORCL\USERS01.DBF' TO 'D:\ORA112\ORADATA\ORCL\USERS01.DBF';ALTER DATABASE RENAME FILE 'D:\ORA11\ORADATA\ORCL\EXAMPLE01.DBF' TO 'D:\ORA112\ORADATA\ORCL\EXAMPLE01.DBF';ALTER DATABASE RENAME FILE 'D:\ORA11\ORADATA\ORCL\LJW01.DBF' TO 'D:\ORA112\ORADATA\ORCL\LJW01.DBF';alter database mount;restore database;recover database;alter database open resetlogs;startup mount pfile= D:\ora112\admin\orcl\pfile\init.orastartup pfile= D:\ora112\admin\orcl\pfile\init.oraDECLAREdevtype varchar2(256);done boolean;BEGINdevtype:=sys.dbms_backup_restore.deviceAllocate (type=>'',ident=>'t1');sys.dbms_backup_restore.restoreSetDatafile;sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>01,toname=>'D:\ORA112\ORADATA\OR CL\SYSTEM01.DBF');sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>02,toname=>'D:\ORA112\ORADATA\OR CL\SYSAUX01.DBF');sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>03,toname=>'D:\ORA112\ORADATA\ORCL\UNDOTBS01.DBF');sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>04,toname=>'D:\ORA112\ORADATA\OR CL\USERS01.DBF');sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>05,toname=>'D:\ORA112\ORADATA\OR CL\EXAMPLE01.DBF');sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>06,toname=>'D:\ORA112\ORADATA\OR CL\LJW01.DBF');sys.dbms_backup_restore.restoreBackupPiece(done=>done,handle=>'D:\ORA11\FLASH_RECOVE RY_AREA\ORCL\BACKUPSET\2011_06_17\O1_MF_NNNDF_TAG20110617T164011_6ZP4QCW8_.BKP', params=>null);sys.dbms_backup_restore.deviceDeallocate;END;/段名:D:\ORA11\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2011_06_16\O1_MF_NNNDF_TAG201 10616T171333_6ZML9Y8W_.BKP备份集2 中的数据文件列表段名:D:\ORA11\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2011_06_17\O1_MF_NNNDF_TAG201 10617T164011_6ZP4QCW8_.BKP备份集4 中的数据文件列表D:\ORA112\ORADATA\ORCL\SYSTEM01.DBFD:\ORA112\ORADATA\ORCL\SYSAUX01.DBFD:\ORA112\ORADATA\ORCL\UNDOTBS01.DBFD:\ORA112\ORADATA\ORCL\USERS01.DBFD:\ORA112\ORADATA\ORCL\EXAMPLE01.DBFD:\ORA112\ORADATA\ORCL\LJW01.DBFALTER DATABASE RENAME FILE 'D:\ORA11\ORADATA\ORCL\SYSTEM01.DBF' TO 'D:\ORA112\ORADATA\ORCL\SYSTEM01.DBF';ALTER DATABASE RENAME FILE 'D:\ORA11\ORADATA\ORCL\SYSAUX01.DBF' TO 'D:\ORA112\ORAD ATA\ORCL\SYSAUX01.DBF';ALTER DATABASE RENAME FILE 'D:\ORA11\ORADATA\ORCL\UNDOTBS01.DBF' TO 'D:\ORA112\ORADATA\ORCL\UNDOTBS01.DBF';ALTER DATABASE RENAME FILE 'D:\ORA11\ORADATA\ORCL\USERS01.DBF' TO'D:\ORA112\ORADATA\ORCL\USERS01.DBF';ALTER DATABASE RENAME FILE 'D:\ORA11\ORADATA\ORCL\EXAMPLE01.DBF' TO 'D:\ORA112\ORADATA\ORCL\EXAMPLE01.DBF';ALTER DATABASE RENAME FILE 'D:\ORA11\ORADATA\ORCL\LJW01.DBF' TO 'D:\ORA112\ORADATA\ORCL\LJW01.DBF';SQL> alter database open resetlogs;alter database open resetlogs*第1 行出现错误:ORA-01152: 文件1 没有从过旧的备份中还原recover database using backup controlfile until cancel;启动数据库SQL> alter database open resetlogs;编译失效的存储过程等D:\ora112\product\11.2.0\dbhome_1\RDBMS\ADMIN\utlirp.sqlD:\ora112\product\11.2.0\dbhome_1\RDBMS\ADMIN\utlrp.sql至此oracle恢复成功。
oracle 11g rac 恢复到单机环境介绍:10.204.101.45和46是11.2.0.4.0的rac环境,变成单机恢复到测试环境10.204.16.155(双方都是linux系统)101.45-racdb1101.46-racdb2补充:通过查看v$db_transportable_platform可以看到跨平台恢复是否支持:AIX 支持的平台恢复:linux 支持的平台恢复:一、16.155环境准备1、安装数据库软件2、安装nbu:二、恢复1、新建参数文件:到101.45上面把参数文件down下来修改下,修改后内容如下:cd $ORACLE_HOME/dbs/vi initracdb.oraracdb.__db_cache_size=369098752racdb.__java_pool_size=16777216racdb.__large_pool_size=33554432racdb.__oracle_base='/oracle/app/oracle'racdb.__pga_aggregate_target=553648128racdb.__sga_target=1056964608racdb.__shared_io_pool_size=0racdb.__shared_pool_size=620756992racdb.__streams_pool_size=0*.audit_file_dest='/oracle/app/admin/racdb/adump'*.audit_trail='FALSE'#*.cluster_database=true //单机去掉*.compatible='11.2.0.4.0'*.control_files='/oracle/app/oradata/racdb/ctl01.ctl'*.db_block_size=8192*.db_create_file_dest='/oracle/app'*.db_domain=''*.db_name='racdb'*.diagnostic_dest='/oracle/app'*.dispatchers='(PROTOCOL=TCP) (SERVICE=racdbXDB)'racdb.instance_number=1racdb.log_archive_dest_1='LOCATION=/oracle/arch'*.memory_target=1606418432*.open_cursors=300*.processes=500*.remote_login_passwordfile='exclusive'*.sessions=555racdb.thread=1racdb.undo_tablespace='UNDOTBS1'注意事项:1>把racdb2的删除掉,把racdb1替换成racdb2>把涉及到路径的替换成实际环境的,有些目录得手工创建。
目录Linux平台下的恢复测试 (2)1. Oracle数据库恢复测试环境 (2)2. 恢复spfile文件 (4)3. 恢复控制文件 (5)4. 恢复数据文件 (6)5. 还原数据库 (7)6. 检验数据库一致性 (8)Linux平台下的恢复测试1.Oracle数据库恢复测试环境Windows 7 上安装NBU Master Server端,两个虚拟机上分别为源端和测试端,oracle 版本为oracle10g,数据库实例名为test。
整个恢复测试分为数据库的全备,数据库的spfile文件恢复,控制文件controlfile的恢复,恢复数据库和还原数据库。
恢复前准备,做好远数据库端的数据库全备,查询清楚源端数据库的备份集信息,如下图,1.在备份服务器上使用bplist命令,查看ORACLE数据库备份文件。
bplist –C oa.localdomain –t 4 –R \2.在源端rman上查看list backupset;查询spfile文件和控制文件的备份集信息,在测试端安装好oracle 的数据库软件和监听,不需要建立实例;在测试端建立好几个文件路径:/u01/app/oracle/product/10.2.0/admin/test下建立adump、bdump、cdump、udump、dpdump和pfile文件夹;在/u01/oracle下建立oradata和其子目录test文件夹。
Rman noumount状态登陆,然后登录如下,退出重新登陆rman 登录后状态为DUMMY。
2.恢复spfile文件现在一起准备就绪,输入恢复脚本,在脚本中加入从备份集查询到的信息,如下:run{allocate channel ch01 type 'sbt_tape';allocate channel ch02 type 'sbt_tape'parms="ENV=(NB_ORA_CLIENT=win2003,NB_ORA_SID=test,NB_ORA_SERV=axelpc)";restore spfile to 'E:\oracle\product\10.2.0\db_1\dbs\spfiletest.ora' from 'bk_u0ap2bbh9_s10_p1_t841330217';release channel ch1;release channel ch2;}解析:1.NB_ORA_CLIENT=oratest,NB_ORA_SERV=axelpc分别是源端主机名,数据库实例名,备份服务器的主机名2./u01/app/oracle/product/10.2.0/db_1dbs/spfiletest.ora是spfile的文件路径3.bk_4_1_842413981是spfile备份集的句柄,也可在NBU服务端查询,查询指令为:bplist -C test -t 4 –R\ 输出结果如下图,恢复成功之后可以看到如下显示,3.恢复控制文件Sqlplus进入启动nomount状态:>startup nomount;然后进入rman下运行如下脚本:run{allocate channel ch01 type 'sbt_tape'parms="ENV=(NB_ORA_CLIENT=oratest,NB_ORA_SERV=axelpc)"; restore controlfile from ' cntrl_7_1_842414152';release channel ch01;}解析都一样,其中cntrl_7_1_842414152是控制文件的备份集句柄。
Networker oracle 恢复1.环境信息1.1环境拓扑图1.2环境描述该备份方案采用DataMaster与VTL结合的方式实现数据库与文件的备份;采用服务器和VTL1500通过4Gb 双端口HBA卡直连的方式实现备份软件版本为:Networker 7.6.2.1+nmo5.0,数据库版本为:Oracle11g数据库采用RAC实现高可用负载均衡,本次恢复为Rac to single的模式.2.恢复准备准备一台测试机用来做恢复所用,由于是lan备份,所以该测试机需要接入和备份服务器同一网络.测试机准备:1.尽量装和原来数据库服务器一样版本的操作系统,2.安装Networker客户端和nmo备份模块(保持和原nmo版本一致).3.设置与备份服务器同一网段,Hosts文件修改,添加备份服务器和原数据库的IP解析4.在测试机中把orasbt.dll文件复制到system32下,5.在备份服务器中操作,把测试机解析地址加入hosts,并测试机加入到Networker客户机里,6.客户机中,备份命令为nsrnmo.bat,加入恢复存储节点为nsrserverhost.7.关闭防火墙和高级防火墙.8.安装单实例数据库,配置和原来一样的全局数据库名称以及同样的SID.9.Oracle安装完成后,安装实例实例名保持和原数据库一致备注:configure controlfile aotobackup on 自动备份控制文件10.测试机文件备份检查是否正常可用,11.在原数据库服务器创建Pfile文件create pfile[=’d:\abc.txt’ from spfile;12.复制创建好的pfile文件至测试机.13.Pfile修改编辑:由于是rac恢复到single,所以删除cluster_database=ture修改原来控制文件路径为D:\app\Administrator\oradata\orcl\CONTROL01.CTL删除原rac的共享控制文件路径删除创建文件目的地删除恢复文件目的地删除恢复文件目的地大小删除实例编号(rac为两个)删除归档日志目的地(rac有两条,删除一条,修改一条)修改为:*.log_archive_dest_1=’location=D:\archivelog’路径自己指定也可删除前面无*.的语句下附原pfile与修改后pfile原pfileorcl1.__db_cache_size=14092861440orcl2.__db_cache_size=14092861440orcl1.__java_pool_size=67108864orcl2.__java_pool_size=67108864orcl1.__large_pool_size=67108864orcl2.__large_pool_size=67108864orcl1.__oracle_base='D:\app\Administrator'#ORACLE_BASE set from environmentorcl2.__oracle_base='D:\app\Administrator'#ORACLE_BASE set from environmentorcl1.__pga_aggregate_target=11005853696orcl2.__pga_aggregate_target=11005853696orcl1.__sga_target=16508780544orcl2.__sga_target=16508780544orcl1.__shared_io_pool_size=0orcl2.__shared_io_pool_size=0orcl1.__shared_pool_size=2147483648orcl2.__shared_pool_size=2147483648orcl1.__streams_pool_size=0orcl2.__streams_pool_size=0*.audit_file_dest='D:\app\Administrator\admin\orcl\adump'*.audit_trail='db'*.cluster_database=true*.compatible='11.2.0.0.0'*.control_files='+DATA/orcl/controlfile/current.260.815684905','+GRID/orcl/controlfile/current.2 56.815684905'*.db_block_size=8192*.db_create_file_dest='+DATA'*.db_domain=''*.db_name='orcl'*.db_recovery_file_dest='+GRID'*.db_recovery_file_dest_size=4102029312*.diagnostic_dest='D:\app\Administrator'*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'orcl1.instance_number=1orcl2.instance_number=2orcl1.log_archive_dest_1='location=+DATA/ORCL/archivelog1'orcl2.log_archive_dest_1='location=+DATA/ORCL/archivelog2'*.log_archive_format='ARC%S_%R.%T'*.memory_target=27481079808*.open_cursors=300*.processes=2000*.remote_listener='db-scan:1521'*.remote_login_passwordfile='exclusive'orcl2.thread=2orcl1.thread=1orcl2.undo_tablespace='UNDOTBS2'orcl1.undo_tablespace='UNDOTBS1'修改后pfile*.audit_file_dest='D:\app\Administrator\admin\orcl\adump'*.audit_trail='db'*.compatible='11.2.0.0.0'*.control_files='D:\app\Administrator\oradata\orcl\CONTROL01.CTL'*.db_block_size=8192*.db_domain=''*.db_name='orcl'*.diagnostic_dest='D:\app\Administrator'*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'*.log_archive_dest_1='location=D:\archivelog'*.log_archive_format='ARC%S_%R.%T'*.memory_target=1073741824*.open_cursors=300*.processes=2000*.remote_login_passwordfile='exclusive'*.undo_tablespace='UNDOTBS1'14.连接测试机oracle sqlStartup nomount pfile=’d:\pfile.txt’15.连接原数据库oracle sqlSelect member from v$logfile;查看到日志文件的路径,16.创建一个新文本输入(暂不输入之后使用)Alter database rename file ‘原日志文件路径’ to ‘新日志文件路径’每条日志文件都要修改.因为原路径为共享路径或+grid上,single上不存在grid 17.在测试机输入run {allocate channel t1 type 'SBT_TAPE'parms 'ENV=(NSR_CLIENT=db2,NSR_SERVER=backup)';restore controlfile from autobackup;release channel t1;}21.在测试机上输入Alter database mount;22.在测试机输入run {allocate channel t1 type 'SBT_TAPE';send 'ENV=(NSR_CLIENT=db2,NSR_SERVER=backup)';set newname for datafile 1 to 'D:\app\Administrator\oradata\orcl\system.dbf'; set newname for datafile 2 to 'D:\app\Administrator\oradata\orcl\sysaux.dbf';set newname for datafile 3 to 'D:\app\Administrator\oradata\orcl\undotbs1.dbf'; set newname for datafile 4 to 'D:\app\Administrator\oradata\orcl\users.dbf';set newname for datafile 5 to 'D:\app\Administrator\oradata\orcl\undotbs2.dbf'; set newname for datafile 6 to 'D:\EVECOM\DATABASE\TS_EMERGENCYSPACE.DBF'; restore database;switch datafile all;release channel t1;}23.在测试机输入recover database;Alter system set db_recovery_file_dest_size=40G;Alter system set log_archiive_dest_1=’location=d:\archivelog\archive_log’;24.更改多条日志路径信息Alter database rename file ‘原日志文件路径’ to ‘新日志文件路径’25.在测试机输入run {allocate channel t1 type 'SBT_TAPE';send 'ENV=(NSR_CLIENT=db2,NSR_SERVER=backup)'; restore archivelog all;release channel t1 ;}26.准备启动数据库Recover database using backup controlfile until cancel; Alter database open resetlogs;Select status from v$instance;此时说明数据库已经恢复。
DBID=1167102021创建目录E:\dataE:\oracle\admin\zbzk\bdumpE:\oracle\admin\zbzk\cdumpE:\oracle\admin\zbzk\udumpE:\oracle\admin\zbzk\pfileE:\oracle\admin\zbzk\createE:\archlog\创建sidE:\oracle\ora92\bin>oradim -new -sid zbzk -startmode manual pfile "E:\oracle\admin\zbzk\pfile\init.ora"创建密码文件E:\>orapwd file=e:\oracle\ora92\database\pwdldl.ora password=oracleC:\Documents and Settings\Administrator>sqlplus /nologSQL*Plus: Release 9.2.0.1.0 - Production on 星期六3月24 10:48:45 2012Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.SQL> conn / as sysdba;ERROR:ORA-12560: TNS: 协议适配器错误启动oracle服务net start oracleservicezbzk设置环境变量set oracle_sid=zbzkE:\oracle\ora92\bin>sqlplus /nologSQL*Plus: Release 9.2.0.1.0 - Production on 星期五3月23 17:53:03 2012Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.SQL>startup nomount pfile="E:\oracle\admin\zbzk\pfile\init.ora"netbackup/bin/bplist -B -C zbyczk -t 4 -R -l /-rw------- SYSTEM SYSTEM 1900544 三月24 09:13 cntrl_p_t:\-rw------- SYSTEM SYSTEM 1858432K 三月24 09:12 arch-s237-p1-t778756341:\-rw------- SYSTEM SYSTEM 547291136 三月24 09:03 bk_u7cn6lnn9_s236_p1_t778755817:\-rw------- SYSTEM SYSTEM 688652288 三月24 09:03 bk_u7bn6lnn8_s235_p1_t778755816:\-rw------- SYSTEM SYSTEM 1900544 三月23 12:42 cntrl_p_t:\-rw------- SYSTEM SYSTEM 1800128K 三月23 12:42 arch-s233-p1-t778682521:\-rw------- SYSTEM SYSTEM 1843200K 三月23 12:41 arch-s232-p1-t778682464:\-rw------- SYSTEM SYSTEM 23533632K 三月23 12:28 bk_u77n6jfap_s231_p1_t778681689:\-rw------- SYSTEM SYSTEM 34803520K 三月23 12:28 bk_u76n6jfao_s230_p1_t778681688:\-rw------- SYSTEM SYSTEM 1900544 三月21 18:08 cntrl_p_t:\-rw------- SYSTEM SYSTEM 1796480K 三月21 18:07 arch-s210-p1-t778529251:\-rw------- SYSTEM SYSTEM 1003814912 三月21 17:58 bk_u6gn6eptp_s208_p1_t778528697:\-rw------- SYSTEM SYSTEM 550633472 三月21 17:58 bk_u6hn6eptq_s209_p1_t778528698:\-rw------- SYSTEM SYSTEM 1900544 三月20 18:10 cntrl_p_t:\-rw------- SYSTEM SYSTEM 1810432K 三月20 18:09 arch-s206-p1-t778442976:\-rw------- SYSTEM SYSTEM 1843200K 三月20 18:08 arch-s205-p1-t778442929:\-rw------- SYSTEM SYSTEM 1843200K 三月20 18:08 arch-s204-p1-t778442883:\-rw------- SYSTEM SYSTEM 806551552 三月20 17:58 bk_u6an6c5hq_s202_p1_t778442298:\-rw------- SYSTEM SYSTEM 685375488 三月20 17:58 bk_u6bn6c5hq_s203_p1_t778442298:\-rw------- SYSTEM SYSTEM 1900544 三月17 18:08 cntrl_p_t:\-rw------- SYSTEM SYSTEM 1752768K 三月17 18:07 arch-s188-p1-t778183633:\-rw------- SYSTEM SYSTEM 527433728 三月17 17:58 bk_u5rn648ds_s187_p1_t778183100:\-rw------- SYSTEM SYSTEM 973340672 三月17 17:58 bk_u5qn648dr_s186_p1_t778183099:\-rw------- SYSTEM SYSTEM 1900544 三月16 18:07 cntrl_p_t:\-rw------- SYSTEM SYSTEM 1705536K 三月16 18:07 arch-s184-p1-t778097231:\-rw------- SYSTEM SYSTEM 978255872 三月16 17:58 bk_u5mn61k1t_s182_p1_t778096701:\-rw------- SYSTEM SYSTEM 581304320 三月16 17:58 bk_u5nn61k1t_s183_p1_t778096701:\-rw------- SYSTEM SYSTEM 1900544 三月15 18:11 cntrl_p_t:\-rw------- SYSTEM SYSTEM 1666112K 三月15 18:10 arch-s180-p1-t778011044:\-rw------- SYSTEM SYSTEM 23406912K 三月15 17:58 bk_u5jn5uvlt_s179_p1_t778010301:\-rw------- SYSTEM SYSTEM 34733632K 三月15 17:58 bk_u5in5uvlt_s178_p1_t778010301:\-rw------- SYSTEM SYSTEM 1900544 三月14 18:07 cntrl_p_t:\-rw------- SYSTEM SYSTEM 1610048K 三月14 18:07 arch-s176-p1-t777924426:\-rw------- SYSTEM SYSTEM 509411328 三月14 17:58 bk_u5fn5sb9u_s175_p1_t777923902:\-rw------- SYSTEM SYSTEM 905379840 三月14 17:58 bk_u5en5sb9t_s174_p1_t777923901:\-rw------- SYSTEM SYSTEM 1900544 三月13 18:07 cntrl_p_t:\-rw------- SYSTEM SYSTEM 1611840K 三月13 18:06 arch-s172-p1-t777838017:\-rw------- SYSTEM SYSTEM 514719744 三月13 17:58 bk_u5bn5pmtu_s171_p1_t777837502:\-rw------- SYSTEM SYSTEM 627965952 三月13 17:58 bk_u5an5pmtu_s170_p1_t777837502:\-rw------- SYSTEM SYSTEM 1900544 三月12 18:08 cntrl_p_t:\-rw------- SYSTEM SYSTEM 1663040K 三月12 18:07 arch-s168-p1-t777751636:\-rw------- SYSTEM SYSTEM 538378240 三月12 17:58 bk_u57n5n2hu_s167_p1_t777751102:\-rw------- SYSTEM SYSTEM 673054720 三月12 17:58 bk_u56n5n2hu_s166_p1_t777751102:\-rw------- SYSTEM SYSTEM 1900544 三月11 18:07 cntrl_p_t:\-rw------- SYSTEM SYSTEM 1564096K 三月11 18:07 arch-s164-p1-t777665229:\-rw------- SYSTEM SYSTEM 540409856 三月11 17:58 bk_u53n5ke5v_s163_p1_t777664703:\-rw------- SYSTEM SYSTEM 645988352 三月11 17:58 bk_u52n5ke5v_s162_p1_t777664703:\-rw------- SYSTEM SYSTEM 1900544 三月10 18:07 cntrl_p_t:\-rw------- SYSTEM SYSTEM 1525376K 三月10 18:07 arch-s160-p1-t777578830:\-rw------- SYSTEM SYSTEM 483655680 三月10 17:58 bk_u4vn5hpq0_s159_p1_t777578304:\-rw------- SYSTEM SYSTEM 847970304 三月10 17:58 bk_u4un5hppv_s158_p1_t777578303:\-rw------- SYSTEM SYSTEM 1900544 三月02 16:55 cntrl_p_t:\-rw------- SYSTEM SYSTEM 1257152K 三月02 16:54 arch-s124-p1-t776883263:\-rw------- SYSTEM SYSTEM 420872192 三月02 16:43 bk_u3rn4sie6_s123_p1_t776882630:\-rw------- SYSTEM SYSTEM 605880320 三月02 16:43 bk_u3qn4sie6_s122_p1_t776882630:\-rw------- SYSTEM SYSTEM 1900544 三月01 18:12 cntrl_p_t:\-rw------- SYSTEM SYSTEM 1082496K 三月01 18:11 arch-s120-p1-t776801509:\-rw------- SYSTEM SYSTEM 1126400K 三月01 18:11 arch-s119-p1-t776801463:\-rw------- SYSTEM SYSTEM 23160960K 三月01 17:58 bk_u3mn4q2e6_s118_p1_t776800710:\-rw------- SYSTEM SYSTEM 34630528K 三月01 17:58 bk_u3ln4q2e5_s117_p1_t776800709:\恢复控制文件C:\Program Files\VERITAS\NetBackup\bin>rman target /恢复管理器: 版本9.2.0.1.0 - ProductionCopyright (c) 1995, 2002, Oracle Corporation. All rights reserved.RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-00554: initialization of internal recovery manager package failedRMAN-04005: error from target database:ORA-12560: TNS: 协议适配器错误C:\Program Files\VERITAS\NetBackup\bin>set oracle_sid=zbzkC:\Program Files\VERITAS\NetBackup\bin>rman target /恢复管理器: 版本9.2.0.1.0 - ProductionCopyright (c) 1995, 2002, Oracle Corporation. All rights reserved.连接到目标数据库: zbzk(未安装)RMAN> set DBID=1167102021正在执行命令: SET DBIDRMAN> run{allocate channel d1 type 'SBT_TAPE';send 'NB_ORA_SERV=netbackup,NB_ORA_CLIENT=zbyczk';restore controlfile from 'cntrl_p_t';release channel d1;}分配的通道: d1通道d1: sid=15 devtype=SBT_TAPE通道d1: Veritas NetBackup for Oracle - Release 7.1 (20110203)向通道发命令: d1启动restore 于24-3月-12通道d1: 正在恢复控制文件通道d1: 恢复完成正在复制控制文件输出文件名=E:\DATA\CONTROL01.CTL输出文件名=E:\DATA\CONTROL02.CTL输出文件名=E:\DATA\CONTROL03.CTL完成restore 于24-3月-12释放的通道: d1启动数据库到mount状态。
ORACLE 11G AIX HA ----NBU异机恢复过程恢复前提1.两台机器上NUB软件都已经安装好2.指定Master SERVER 上的/usr/openv/netbackup/bp.conf恢复源FORCE_RESTORE_MEDIA_SERVER = 生产库hostname 测试库hostname从生产库恢复到测试库。
操作目的节点POTLDB01 数据库恢复到POTLDB02即在节点POTLDB01上运行,并在节点POTLDB01上备份,恢复到POTLDB02上节点POTLDB01机器检查过程1.检查环境变量检查root@POTLDB01:/usr/openv/rmanscript#ps -ef |grep smonroot 385272 467274 0 10:40:22 pts/2 0:00 grep smonoracle 655484 1 0 Jul 25 - 0:06 ora_smon_portaldb机器名字root@POTLDB01:/usr/openv/rmanscript#hostnamePOTLDB01root@POTLDB01:/usr/openv/rmanscript#pwd ---rman脚本位置/usr/openv/rmanscriptroot@POTLDB01:/usr/openv/rmanscript#lshot_database_portaldb.sh hot_database_portaldb.sh.out hot_database_portaldb.sh_bak/etc/hosts文件172.16.3.115 POTLDB01_boot172.16.3.116 POTLDB02_boot172.16.3.116 POTLDB02172.16.3.115 POTLDB011.1.3.115 POTLDB01_stby1.1.3.116 POTLDB02_stby172.16.3.117 POTLDB_svc172.16.7.142 SHYQ-PS-MV-SV03-POTLDB01-nbu172.16.7.143 SHYQ-PS-MV-SV03-POTLDB02-nbu 网关IP10.11.233.124 nbumaster172.16.10.250 yqbf原备份脚本:$RMAN target $TARGET_CONNECT_STR nocatalog msglog $RMAN_LOG_FILE append << EOFRUN {ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';send 'NB_ORA_CLIENT=SHYQ-PS-MV-SV03-POTLDB01-nbu';BACKUP$BACKUP_TYPESKIP INACCESSIBLETAG hot_db_bk_level0FILESPERSET 5# recommended formatFORMAT 'bk_%s_%p_%t'DATABASE;sql 'alter system archive log current';RELEASE CHANNEL ch00;加入后的脚本如下:BACKUP# recommended formatFORMAT '/oradata/rman_bak/controlfile/ portal_bak _%s_%p_%t'CURRENT CONTROLFILE;在节点POTLDB01成功备份后发现控制文件如下:root@POTLDB02:/usr/openv/rmanscript#ls -l /oradata/rman_bak/controlfiletotal 131072-rw-r----- 1 oracle 1001 13402112 Jul 28 11:38 portal_bak_25_1_757683479-rw-r----- 1 oracle 1001 13434880 Jul 28 11:36 portal_control_c-603295704-20110728-03 -rw-r----- 1 oracle 1001 13434880 Jul 28 11:38 portal_control_c-603295704-20110728-04 -rw-r----- 1 oracle dba 13434880 Jul 28 13:46 portal_control_c-603295704-20110728-05 -rw-r----- 1 oracle 1001 13402112 Jul 28 11:36 portaldb_controlfile_bak_23_1_757683366 获取DBIDSQL> select dbid from v$database;DBID----------603295704查看备份记录root@POTLDB01:/usr/openv/netbackup/bin#./bplist -C SHYQ-PS-MV-SV03-POTLDB01-nbu -S nbumaster -t 4 -R //c-603295704-20110728-02/cntrl_21_1_757683165/c-603295704-20110728-01/al_bk_19_1_757682964/c-603295704-20110728-00/bk_17_1_757682762/bk_16_1_757682227/bk_603295704_11_1_757680386/cntrl_10_1_757680271/al_bk_603295704_8_1_757680166/bk_603295704_7_1_757680069/bk_603295704_6_1_757679974/cntrl_5_1_757679319/al_4_1_757679223/bk_3_1_757679124/bk_2_1_757678789模拟数据库文件被删掉root@POTLDB01:/oradata/datafiles/portaldb#pwd/oradata/datafiles/portaldbroot@POTLDB01:/oradata/datafiles/portaldb#lsarchives control02.ctl redo101.log redo201.log redo301.log redo401.log redo501.log sysaux01.dbf temp01.dbf users01.dbfcontrol01.ctl control03.ctl redo102.log redo202.log redo302.log redo402.log redo502.log system01.dbf undotbs01.dbfroot@POTLDB01:/oradata/datafiles/portaldb#cd ../root@POTLDB01:/oradata/datafiles#lsportaldbroot@POTLDB01:/oradata/datafiles#lsportaldbroot@POTLDB01:/oradata/datafiles#mv portaldb portal_colroot@POTLDB01:/oradata/datafiles#mkdir portaldbroot@POTLDB01:/oradata/datafiles#cd portaldbroot@POTLDB01:/oradata/datafiles/portaldb#lsroot@POTLDB01:/oradata/datafiles/portaldb#mkdir archivesroot@POTLDB01:/oradata/datafiles/portaldb#chown –R oracle:dba /oradata/datafiles异机恢复到POTLDB02过程root@POTLDB02:/#lspvhdisk0 00c5c5666830b3fa rootvg active hdisk1 00c5c5666c01952b rootvg active hdisk2 00c5c5366a63d937 datavghdisk3 00c5c5366a65b992 hbvgroot@POTLDB02:/#varyonvg datavgroot@POTLDB02:/#mount /dev/data_lv /oradataroot@POTLDB02:/#su - oracleoracle@POTLDB02:/home/oracle$sqlplus /nologconnSQL*Plus: Release 11.1.0.7.0 - Production on Thu Jul 28 13:32:28 2011Copyright (c) 1982, 2008, Oracle. All rights reserved.SQL> /as sysdba;Connected to an idle instance.SQL>SQL>SQL>SQL> exitDisconnectedoracle@POTLDB02:/home/oracle$rman target /Recovery Manager: Release 11.1.0.7.0 - Production on Thu Jul 28 13:32:49 2011 Copyright (c) 1982, 2007, Oracle. All rights reserved.connected to target database (not started)RMAN> startup nomount;Oracle instance startedTotal System Global Area 43025158144 bytesFixed Size 2156784 bytesVariable Size 20669531920 bytesDatabase Buffers 22280142848 bytesRedo Buffers 73326592 bytesRMAN> set dbid=603295704executing command: SET DBIDRMAN> restore controlfile from '/oradata/rman_bak/controlfile/portal_bak_25_1_757683479';Starting restore at 28-JUL-11using target database control file instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: SID=2188 device type=DISKchannel ORA_DISK_1: restoring control filechannel ORA_DISK_1: restore complete, elapsed time: 00:00:01output file name=/oradata/datafiles/portaldb/control01.ctloutput file name=/oradata/datafiles/portaldb/control02.ctloutput file name=/oradata/datafiles/portaldb/control03.ctlFinished restore at 28-JUL-11RMAN> alter database mount;database mountedRMAN>RMAN>RMAN> run2> {3> allocate channel t1 type 'sbt_tape' parms 'ENV=(NB_ORA_SERVER=nbumaster,NB_ORA_CLIENT=SHYQ-PS-MV-SV03-POTLDB01-nbu)';4> allocate channel t2 type 'sbt_tape' parms 'ENV=(NB_ORA_SERVER=nbumaster,NB_ORA_CLIENT=SHYQ-PS-MV-SV03-POTLDB01-nbu)';5> restore database;6> switch datafile all;7> recover database;8> sql 'alter database open resetlogs';9> release channel t1;10> release channel t2;11> }allocated channel: t1channel t1: SID=2187 device type=SBT_TAPEchannel t1: Veritas NetBackup for Oracle - Release 6.5 (2009050106)allocated channel: t2channel t2: SID=2188 device type=SBT_TAPEchannel t2: Veritas NetBackup for Oracle - Release 6.5 (2009050106)Starting restore at 28-JUL-11channel t1: starting datafile backup set restorechannel t1: specifying datafile(s) to restore from backup setchannel t1: restoring datafile 00001 to /oradata/datafiles/portaldb/system01.dbfchannel t1: restoring datafile 00002 to /oradata/datafiles/portaldb/sysaux01.dbfchannel t1: restoring datafile 00003 to /oradata/datafiles/portaldb/undotbs01.dbfchannel t1: restoring datafile 00004 to /oradata/datafiles/portaldb/users01.dbfchannel t1: reading from backup piece bk_16_1_757682227channel t1: piece handle=bk_16_1_757682227 tag=HOT_DB_BK_LEVEL0channel t1: restored backup piece 1channel t1: restore complete, elapsed time: 00:03:55Finished restore at 28-JUL-11Starting recover at 28-JUL-11starting media recoverychannel t1: starting archived log restore to default destinationchannel t1: restoring archived logarchived log thread=1 sequence=11channel t1: restoring archived logarchived log thread=1 sequence=12channel t1: reading from backup piece al_bk_19_1_757682964channel t1: piece handle=al_bk_19_1_757682964 tag=TAG20110728T112924channel t1: restored backup piece 1channel t1: restore complete, elapsed time: 00:01:25archived log file name=/oradata/datafiles/portaldb/archives/1_11_756554328.dbf thread=1 sequence=11 archived log file name=/oradata/datafiles/portaldb/archives/1_12_756554328.dbf thread=1 sequence=12 unable to find archived logarchived log thread=1 sequence=13released channel: t1released channel: t2RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of recover command at 07/28/2011 13:44:17RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 13 and starting SCN of 436680RMAN> alter database open;RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of alter db command at 07/28/2011 13:45:00ORA-01589: must use RESETLOGS or NORESETLOGS option for database open RMAN> sql 'alter database open resetlogs';sql statement: alter database open resetlogs成功检查oracle@POTLDB02:/home/oracle$sqlplus /nologSQL*Plus: Release 11.1.0.7.0 - Production on Thu Jul 28 14:04:12 2011Copyright (c) 1982, 2008, Oracle. All rights reserved.SQL> conn /as sysdba;Connected.SQL>SQL>SQL> select status,instance_name from v$instance;STATUS INSTANCE_NAME------------ ----------------OPEN portaldbSQL>。