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恢复成功。