1. 测试平台信息:
  1. Oracle11gR2
  1. 操作系统:Redhat 5.5
  1. Target DB:dave
  1.  
  1. 几点说明:
  1. 1RMAN 异机恢复的时候,db_name必须相同。 如果说要想改成其他的实例名,可以在恢复成功后,用nid 命令修改。 实例名的信息会记录到控制文件里,所以如果在恢复的时候,如果实例名不一致,恢复的时候会报错。
  1. 2)如果恢复的路径和源库不一致,就需要在restore时用set 命令指定新位置。 并且使用switch datafile all将信息更新的到控制文件。
  1.        在做duplicate的时候,RMAN 会自动根据pfile中的log_file_name_convertdb_file_name_convert来进行set 的转换。 手工restore时,只能只只能使用set 命令。
  1. 3)异机恢复对相同目录和不同目录都做了说明。
  1. 4)最后测试了NID 修改DBID DBNAME.
  1.  
  1.  
  1. 一. Target 库准备工作:
  1. 1. 查询DBID
  1. SQL> select name,dbid from v$database;
  1. NAME  DBID
  1. --------- ----------
  1. DAVE   808234286
  1.  
  1. 2. 备份DB
  1.  
  1. 关于RMAN shell 备份脚本,参考:
  1. Nocatalog 下的RMAN 增量备份 shell脚本
  1. http://blog.csdn.net/tianlesoftware/archive/2011/01/26/6164931.aspx
  1.  
  1. 在这里我用0级和1级备份了下DB
  1. [oracle@qs-dmm-rh1 backup]$ ls
  1. arch_0pm6qt8q_1_1_20110309      dave_lev0_0jm6qt77_1_1_20110309  dave_lev1_0um6qtcq_1_1_20110309
  1. arch_0qm6qt8q_1_1_20110309      dave_lev0_0km6qt77_1_1_20110309  dave_lev1_0vm6qtcq_1_1_20110309
  1. arch_13m6qtda_1_1_20110309      dave_lev0_0lm6qt77_1_1_20110309  dave_lev1_11m6qtd7_1_1_20110309
  1. arch_14m6qtda_1_1_20110309      dave_lev0_0nm6qt7c_1_1_20110309  dave_spfile_16m6qtde_1_1_20110309
  1. ctl_file_15m6qtdc_1_1_20110309  dave_lev1_0tm6qtcq_1_1_20110309
  1.  
  1.  
  1. 二. Auxiliary库准备工作:
  1. 1. 创建口令文件
  1. [oracle@qs-dmm-rh2 trace]$ orapwd file=?/dbs/orapwdave password=oracle
  1.  
  1. 2. 创建相关的目录
  1. [oracle@qs-dmm-rh2 u01]$ mkdir oradata
  1. [oracle@qs-dmm-rh2 oradata]$ pwd
  1. /u01/oradata
  1.  
  1. 3. 创建初始化参数
  1. Target 库的pfile 文件copy过来。
  1.  
  1.        也可以使用RMAN 从我们Target库的备份集中恢复,因为我们之前备份过spfile。不过使用RMAN DB要先启动到nomout 状态。 这个可以用默认的init.ora来启动。
  1.  
  1. [oracle@qs-dmm-rh2 backup]$ export ORACLE_SID=dave
  1. [oracle@qs-dmm-rh2 backup]$ rman target /
  1. Recovery Manager: Release 11.2.0.1.0 - Production on Fri Mar 11 15:11:31 2011
  1. Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
  1. connected to target database: DAVE (not mounted)
  1.  
  1. RMAN> restore spfile to pfile '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initdave2.ora' from '/u01/backup/dave_spfile_16m6qtde_1_1_20110309';
  1.  
  1. Starting restore at 11-MAR-11
  1. using target database control file instead of recovery catalog
  1. allocated channel: ORA_DISK_1
  1. channel ORA_DISK_1: SID=19 device type=DISK
  1.  
  1. channel ORA_DISK_1: restoring spfile from AUTOBACKUP /u01/backup/dave_spfile_16m6qtde_1_1_20110309
  1. channel ORA_DISK_1: SPFILE restore from AUTOBACKUP complete
  1. Finished restore at 11-MAR-11
  1.  
  1. 如果修改数据文件保存的位置,那么要修改控制文件的相关的参数:
  1. *.control_files='/u01/oradata/control01.ctl','/u01/oradata/control02.ctl','/u01/oradata/control03.ctl'
  1. *.db_name='dave'
  1.  
  1. 4. 将用pfileAuxiliary库启动到nomout 状态
  1. SQL> startup nomount pfile=?/dbs/initdave.ora
  1.  
  1. 5. 恢复控制文件
  1. [oracle@qs-dmm-rh2 dbs]$ export ORACLE_SID=dave
  1. [oracle@qs-dmm-rh2 dbs]$ rman target /
  1. Recovery Manager: Release 11.2.0.1.0 - Production on Fri Mar 11 15:25:55 2011
  1. Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
  1. connected to target database: DAVE (not mounted)
  1.  
  1. RMAN>  restore controlfile from '/u01/backup/ctl_file_15m6qtdc_1_1_20110309';
  1. Starting restore at 11-MAR-11
  1. using target database control file instead of recovery catalog
  1. allocated channel: ORA_DISK_1
  1. channel ORA_DISK_1: SID=20 device type=DISK
  1. channel ORA_DISK_1: restoring control file
  1. channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
  1. output file name=/u01/oradata/control01.ctl
  1. output file name=/u01/oradata/control02.ctl
  1. output file name=/u01/oradata/control03.ctl
  1. Finished restore at 11-MAR-11
  1.  
  1.        restore 的时候需要控制文件,控制文件恢复的位置,是我们在pfile中的control_files参数控制的。
  1.  
  1. 6. DB 启动到mout状态
  1. RMAN> alter database mount;
  1.  
  1. database mounted
  1. released channel: ORA_DISK_1
  1.  
  1. 7. restore 数据库
  1. 7.1 恢复目录不同的情况:
  1. 因为我们的路径不同,所以我们需要使用set 命令转换一下路径。
  1.  
  1. Target 库查询一下:
  1. SQL> select file_id,file_name from dba_data_files;
  1.  
  1.    FILE_ID FILE_NAME
  1. ---------- -------------------------------------------
  1.          4 /u01/app/oracle/oradata/dave/users01.dbf
  1.          3 /u01/app/oracle/oradata/dave/undotbs01.dbf
  1.          2 /u01/app/oracle/oradata/dave/sysaux01.dbf
  1.          1 /u01/app/oracle/oradata/dave/system01.dbf
  1. SQL> select file_id,file_name from dba_temp_files;
  1.    FILE_ID FILE_NAME
  1. ---------- ------------------------------------------
  1.          1 /u01/app/oracle/oradata/dave/temp01.dbf
  1. 注意,restore 的时候不会对temp 表空间进行restore。所以等restore 之后,我们需要手工创建temp表空间。
  1.  
  1.  
  1. RMAN>  run
  1. 2> {
  1. set newname for datafile  1 to  "/u01/oradata/system01.dbf";
  1. 3> 4> set newname for datafile  2 to  "/u01/oradata/sysaux01.dbf";
  1. 5> set newname for datafile  3 to  "/u01/oradata/undotbs01.dbf";
  1. 6> set newname for datafile  4 to  "/u01/oradata/users01.dbf";
  1. 7> restore database;
  1. 8> switch datafile all;
  1. 9> }
  1.  
  1. switch datafile all的说明:
  1. --对于nocatalog 模式下,rman备份的信息是保存在控制文件里的,包括文件的路径信息。 这里的switch datafile all的作用,就是更新控制文件里的信息。
  1.  
  1. executing command: SET NEWNAME
  1. released channel: ORA_DISK_1
  1.  
  1. executing command: SET NEWNAME
  1.  
  1. executing command: SET NEWNAME
  1.  
  1. executing command: SET NEWNAME
  1.  
  1. Starting restore at 11-MAR-11
  1. allocated channel: ORA_DISK_1
  1. channel ORA_DISK_1: SID=20 device type=DISK
  1.  
  1. channel ORA_DISK_1: starting datafile backup set restore
  1. channel ORA_DISK_1: specifying datafile(s) to restore from backup set
  1. channel ORA_DISK_1: restoring datafile 00003 to /u01/oradata/undotbs01.dbf
  1. channel ORA_DISK_1: reading from backup piece /u01/backup/dave_lev0_0lm6qt77_1_1_20110309
  1. channel ORA_DISK_1: piece handle=/u01/backup/dave_lev0_0lm6qt77_1_1_20110309 tag=DAVE_LEV0
  1. channel ORA_DISK_1: restored backup piece 1
  1. channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
  1. channel ORA_DISK_1: starting datafile backup set restore
  1. channel ORA_DISK_1: specifying datafile(s) to restore from backup set
  1. channel ORA_DISK_1: restoring datafile 00004 to /u01/oradata/users01.dbf
  1. channel ORA_DISK_1: reading from backup piece /u01/backup/dave_lev0_0nm6qt7c_1_1_20110309
  1. channel ORA_DISK_1: piece handle=/u01/backup/dave_lev0_0nm6qt7c_1_1_20110309 tag=DAVE_LEV0
  1. channel ORA_DISK_1: restored backup piece 1
  1. channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
  1. channel ORA_DISK_1: starting datafile backup set restore
  1. channel ORA_DISK_1: specifying datafile(s) to restore from backup set
  1. channel ORA_DISK_1: restoring datafile 00002 to /u01/oradata/sysaux01.dbf
  1. channel ORA_DISK_1: reading from backup piece /u01/backup/dave_lev0_0km6qt77_1_1_20110309
  1. channel ORA_DISK_1: piece handle=/u01/backup/dave_lev0_0km6qt77_1_1_20110309 tag=DAVE_LEV0
  1. channel ORA_DISK_1: restored backup piece 1
  1. channel ORA_DISK_1: restore complete, elapsed time: 00:00:15
  1. channel ORA_DISK_1: starting datafile backup set restore
  1. channel ORA_DISK_1: specifying datafile(s) to restore from backup set
  1. channel ORA_DISK_1: restoring datafile 00001 to /u01/oradata/system01.dbf
  1. channel ORA_DISK_1: reading from backup piece /u01/backup/dave_lev0_0jm6qt77_1_1_20110309
  1. channel ORA_DISK_1: piece handle=/u01/backup/dave_lev0_0jm6qt77_1_1_20110309 tag=DAVE_LEV0
  1. channel ORA_DISK_1: restored backup piece 1
  1. channel ORA_DISK_1: restore complete, elapsed time: 00:00:25
  1. Finished restore at 11-MAR-11
  1.  
  1. datafile 1 switched to datafile copy
  1. input datafile copy RECID=5 STAMP=745522150 file name=/u01/oradata/system01.dbf
  1. datafile 2 switched to datafile copy
  1. input datafile copy RECID=6 STAMP=745522150 file name=/u01/oradata/sysaux01.dbf
  1. datafile 3 switched to datafile copy
  1. input datafile copy RECID=7 STAMP=745522150 file name=/u01/oradata/undotbs01.dbf
  1. datafile 4 switched to datafile copy
  1. input datafile copy RECID=8 STAMP=745522150 file name=/u01/oradata/users01.dbf
  1.  
  1. 7.2 恢复目录相同
  1. 这种情况比较简单,直接:
  1. RMAN> restore database;
  1.  
  1. 8. recover DB
  1. RMAN> recover database;
  1.  
  1. Starting recover at 11-MAR-11
  1. using channel ORA_DISK_1
  1. channel ORA_DISK_1: starting incremental datafile backup set restore
  1. channel ORA_DISK_1: specifying datafile(s) to restore from backup set
  1. destination for restore of datafile 00001: /u01/oradata/system01.dbf
  1. channel ORA_DISK_1: reading from backup piece /u01/backup/dave_lev1_0tm6qtcq_1_1_20110309
  1. channel ORA_DISK_1: piece handle=/u01/backup/dave_lev1_0tm6qtcq_1_1_20110309 tag=DAVE_LEV1
  1. channel ORA_DISK_1: restored backup piece 1
  1. channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
  1. channel ORA_DISK_1: starting incremental datafile backup set restore
  1. channel ORA_DISK_1: specifying datafile(s) to restore from backup set
  1. destination for restore of datafile 00002: /u01/oradata/sysaux01.dbf
  1. channel ORA_DISK_1: reading from backup piece /u01/backup/dave_lev1_0um6qtcq_1_1_20110309
  1. channel ORA_DISK_1: piece handle=/u01/backup/dave_lev1_0um6qtcq_1_1_20110309 tag=DAVE_LEV1
  1. channel ORA_DISK_1: restored backup piece 1
  1. channel ORA_DISK_1: restore complete, elapsed time: 00:00:02
  1. channel ORA_DISK_1: starting incremental datafile backup set restore
  1. channel ORA_DISK_1: specifying datafile(s) to restore from backup set
  1. destination for restore of datafile 00003: /u01/oradata/undotbs01.dbf
  1. channel ORA_DISK_1: reading from backup piece /u01/backup/dave_lev1_0vm6qtcq_1_1_20110309
  1. channel ORA_DISK_1: piece handle=/u01/backup/dave_lev1_0vm6qtcq_1_1_20110309 tag=DAVE_LEV1
  1. channel ORA_DISK_1: restored backup piece 1
  1. channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
  1. channel ORA_DISK_1: starting incremental datafile backup set restore
  1. channel ORA_DISK_1: specifying datafile(s) to restore from backup set
  1. destination for restore of datafile 00004: /u01/oradata/users01.dbf
  1. channel ORA_DISK_1: reading from backup piece /u01/backup/dave_lev1_11m6qtd7_1_1_20110309
  1. channel ORA_DISK_1: piece handle=/u01/backup/dave_lev1_11m6qtd7_1_1_20110309 tag=DAVE_LEV1
  1. channel ORA_DISK_1: restored backup piece 1
  1. channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
  1.  
  1. starting media recovery
  1.  
  1. channel ORA_DISK_1: starting archived log restore to default destination
  1. channel ORA_DISK_1: restoring archived log
  1. archived log thread=1 sequence=7
  1. channel ORA_DISK_1: reading from backup piece /u01/backup/arch_13m6qtda_1_1_20110309
  1. channel ORA_DISK_1: piece handle=/u01/backup/arch_13m6qtda_1_1_20110309 tag=ARC_BAK
  1. channel ORA_DISK_1: restored backup piece 1
  1. channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
  1. archived log file name=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch1_7_745352047.dbf thread=1 sequence=7
  1. channel ORA_DISK_1: starting archived log restore to default destination
  1. channel ORA_DISK_1: restoring archived log
  1. archived log thread=1 sequence=8
  1. channel ORA_DISK_1: reading from backup piece /u01/backup/arch_14m6qtda_1_1_20110309
  1. channel ORA_DISK_1: piece handle=/u01/backup/arch_14m6qtda_1_1_20110309 tag=ARC_BAK
  1. channel ORA_DISK_1: restored backup piece 1
  1. channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
  1. archived log file name=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch1_8_745352047.dbf thread=1 sequence=8
  1. unable to find archived log
  1. archived log thread=1 sequence=9
  1. RMAN-00571: ===========================================================
  1. RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
  1. RMAN-00571: ===========================================================
  1. RMAN-03002: failure of recover command at 03/11/2011 17:32:00
  1. RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 9 and starting SCN of 823627
  1.  
  1. RMAN>
  1.  
  1. 之后会报一个错误:
  1.        RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 9 and starting SCN of 823627
  1.        这里是提醒恢复到一个未知的scn号。在alter database mount之后,通过set until scn或者set until time命令设置恢复到的scn号或时间。就可以避免这个错误。
  1.  
  1. 9. open resetlogs 打开数据库
  1. SQL> alter database open resetlogs;
  1. Database altered.
  1.  
  1. 我测试的平台是11gR2的版本,在open resetlogs 之后,自动在原来默认的路径创建了temp 表空间和3redo 文件。
  1.  
  1. 如果恢复目录和原来相同,就不用修改。
  1. 如果目录不同,我们就需要把这些文件移到我们现在的data目录。
  1.  
  1. 源目录:
  1. [oracle@qs-dmm-rh2 dave]$ pwd
  1. /u01/app/oracle/oradata/dave
  1. [oracle@qs-dmm-rh2 dave]$ ls
  1. redo01.log  redo02.log  redo03.log  temp01.dbf
  1.  
  1. 现在的目录:
  1. [oracle@qs-dmm-rh2 dave]$ cd /u01/oradata/
  1. [oracle@qs-dmm-rh2 oradata]$ ls
  1. control01.ctl  control02.ctl  control03.ctl  sysaux01.dbf  system01.dbf  undotbs01.dbf  users01.dbf
  1.  
  1. 1)处理online redo log
  1. SQL> select group#,bytes/1024/1024||'M',status from v$log;
  1.     GROUP# BYTES/1024/1024||'M'                      STATUS
  1. ---------- ----------------------------------------- ----------------
  1.          1 50M                                       INACTIVE
  1.          2 50M                                       CURRENT
  1.          3 50M                                       UNUSED
  1.  
  1. SQL> select group#,member from v$logfile;
  1.     GROUP# MEMBER
  1. ---------- ---------------------------------------------------------------------
  1.          3 /u01/app/oracle/oradata/dave/redo03.log
  1.          2 /u01/app/oracle/oradata/dave/redo02.log
  1.          1 /u01/app/oracle/oradata/dave/redo01.log
  1.  
  1. oracle 至少有2redo log 所以我们可以将已经完成归档的redo drop掉, 重新创建。
  1.  
  1. SQL> alter database drop logfile group 3;
  1. Database altered.
  1. SQL> alter database add logfile group 3 ('/u01/oradata/redo03.log') size 50m;
  1. Database altered.
  1. SQL> alter system switch logfile;
  1. System altered.
  1. SQL>  select group#,bytes/1024/1024||'M',status from v$log;
  1.  
  1.     GROUP# BYTES/1024/1024||'M'                      STATUS
  1. ---------- ----------------------------------------- ----------------
  1.          1 50M                                       INACTIVE
  1.          2 50M                                       ACTIVE
  1.          3 50M                                       CURRENT
  1.  
  1. SQL> alter database drop logfile group 1;
  1. Database altered.
  1. SQL> alter database add logfile group 1 ('/u01/oradata/redo01.log') size 50m;
  1. Database altered.
  1. SQL> alter system switch logfile;
  1. System altered.
  1. SQL> alter database drop logfile group 2;
  1. Database altered.
  1. SQL> alter database add logfile group 2 ('/u01/oradata/redo02.log') size 50m;
  1. Database altered.
  1.  
  1. SQL> select group#,member from v$logfile;
  1.     GROUP# MEMBER
  1. ---------- ---------------------------------------------------------------------
  1.          3 /u01/oradata/redo03.log
  1.          2 /u01/oradata/redo02.log
  1.          1 /u01/oradata/redo01.log
  1.  
  1. 2)处理temp 临时表空间
  1. SQL> select name from v$tempfile;
  1. NAME
  1. --------------------------------------------------------------------------------
  1. /u01/app/oracle/oradata/dave/temp01.dbf
  1.  
  1. --表空间offline
  1. SQL> alter database tempfile '/u01/app/oracle/oradata/dave/temp01.dbf' offline;
  1. Database altered.
  1.  
  1. --在OS 级别移动temp 的数据文件
  1. SQL> !mv /u01/app/oracle/oradata/dave/temp01.dbf /u01/oradata/temp01.dbf
  1.  
  1. --修改控制文件中temp文件的信息
  1. SQL> alter database rename file '/u01/app/oracle/oradata/dave/temp01.dbf' to '/u01/oradata/temp01.dbf';
  1. Database altered.
  1.  
  1. --temp 表空间online
  1. SQL> alter database tempfile '/u01/oradata/temp01.dbf' online;
  1. Database altered.
  1.  
  1. --验证
  1. SQL> select name from v$tempfile;
  1. NAME
  1. --------------------------------------------------------------------------------
  1. /u01/oradata/temp01.dbf
  1.  
  1.  
  1. 10.  NID 修改DBIDDBNAME
  1.  
  1. 先查看,这个和我们之前的一样
  1. SQL> select name,dbid from v$database;
  1. NAME            DBID
  1. --------- ----------
  1. DAVE       808234286
  1.  
  1. 几点说明:
  1. 1)在修改DBID期间仍然可能会遇到不可恢复的错误。所以修改之前备份数据库,特使是控制文件。因为nid 会修改控制文件中的信息。
  1. 2)需要将DB 启动到mount 状态才能修改。
  1.  
  1. SQL> shutdown immediate
  1. SQL> startup mount;
  1.  
  1. 在执行NID 命令之前:一定要关闭所有的session连接。
  1.       nid 命令到执行的最后会关闭数据库,如果有session 连接,就会阻止这个操作,修改dbid就会被挂死。如果中断这个操作。修改就会失败,数据库就不能mount。需要恢复。
  1.  
  1. 1)只改DBID 不改db_name
  1. [oracle@qs-dmm-rh2 trace]$ nid target=sys/oracle
  1. DBNEWID: Release 11.2.0.1.0 - Production on Fri Mar 11 18:36:33 2011
  1. Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
  1. Connected to database DAVE (DBID=808234286)
  1. Connected to server version 11.2.0
  1. Control Files in database:
  1.     /u01/oradata/control01.ctl
  1.     /u01/oradata/control02.ctl
  1.     /u01/oradata/control03.ctl
  1.  
  1. Change database ID of database DAVE? (Y/[N]) => y
  1.  
  1. Proceeding with operation
  1. Changing database ID from 808234286 to 808418162
  1.     Control File /u01/oradata/control01.ctl - modified
  1.     Control File /u01/oradata/control02.ctl - modified
  1.     Control File /u01/oradata/control03.ctl - modified
  1.     Datafile /u01/app/oracle/oradata/dave/system01.db - dbid changed
  1.     Datafile /u01/app/oracle/oradata/dave/sysaux01.db - dbid changed
  1.     Datafile /u01/app/oracle/oradata/dave/undotbs01.db - dbid changed
  1.     Datafile /u01/app/oracle/oradata/dave/users01.db - dbid changed
  1.     Datafile /u01/app/oracle/oradata/dave/temp01.db - dbid changed
  1.     Control File /u01/oradata/control01.ctl - dbid changed
  1.     Control File /u01/oradata/control02.ctl - dbid changed
  1.     Control File /u01/oradata/control03.ctl - dbid changed
  1.     Instance shut down
  1.  
  1. Database ID for database DAVE changed to 808418162.
  1. All previous backups and archived redo logs for this database are unusable.
  1. Database has been shutdown, open database with RESETLOGS option.
  1. Succesfully changed database ID.
  1. DBNEWID - Completed succesfully.
  1.  
  1. 重启打开数据库:
  1. [oracle@qs-dmm-rh2 ~]$ export ORACLE_SID=dave
  1. [oracle@qs-dmm-rh2 ~]$ sqlplus / as sysdba;
  1. SQL*Plus: Release 11.2.0.1.0 Production on Fri Mar 11 18:37:57 2011
  1. Copyright (c) 1982, 2009, Oracle.  All rights reserved.
  1. Connected to an idle instance.
  1. SQL> startup     
  1. ORACLE instance started.
  1. Total System Global Area  196681728 bytes
  1. Fixed Size                  1335444 bytes
  1. Variable Size              83890028 bytes
  1. Database Buffers          109051904 bytes
  1. Redo Buffers                2404352 bytes
  1. Database mounted.
  1. ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
  1.  
  1. SQL> alter database open resetlogs;
  1. Database altered.
  1.  
  1. SQL> select name,dbid from v$database;
  1. NAME            DBID
  1. --------- ----------
  1. DAVE       808418162
  1. SQL>
  1.  
  1. 2)修改DBID DB_NAME
  1.  
  1. 注意一点,修改DB_NAME 之前,要将spfile 创建成pfile,因为修改dbname之后,原来的参数文件就没用了。所以要保证最新的参数。 还有修改DB_NAME的值为最新值。 修改完之后,然后用这个新参数启动DB.
  1.  
  1. [oracle@qs-dmm-rh2 trace]$  nid target=sys/oracle dbname=anqing
  1. DBNEWID: Release 11.2.0.1.0 - Production on Fri Mar 11 18:41:01 2011
  1. Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
  1. Connected to database DAVE (DBID=808418162)
  1. Connected to server version 11.2.0
  1. Control Files in database:
  1.     /u01/oradata/control01.ctl
  1.     /u01/oradata/control02.ctl
  1.     /u01/oradata/control03.ctl
  1.  
  1. Change database ID and database name DAVE to DBA? (Y/[N]) => y
  1.  
  1. Proceeding with operation
  1. Changing database ID from 808418162 to 1204743549
  1. Changing database name from DAVE to DBA
  1.     Control File /u01/oradata/control01.ctl - modified
  1.     Control File /u01/oradata/control02.ctl - modified
  1.     Control File /u01/oradata/control03.ctl - modified
  1.     Datafile /u01/app/oracle/oradata/dave/system01.db - dbid changed, wrote new name
  1.     Datafile /u01/app/oracle/oradata/dave/sysaux01.db - dbid changed, wrote new name
  1.     Datafile /u01/app/oracle/oradata/dave/undotbs01.db - dbid changed, wrote new name
  1.     Datafile /u01/app/oracle/oradata/dave/users01.db - dbid changed, wrote new name
  1.     Datafile /u01/app/oracle/oradata/dave/temp01.db - dbid changed, wrote new name
  1.     Control File /u01/oradata/control01.ctl - dbid changed, wrote new name
  1.     Control File /u01/oradata/control02.ctl - dbid changed, wrote new name
  1.     Control File /u01/oradata/control03.ctl - dbid changed, wrote new name
  1.     Instance shut down
  1.  
  1. Database name changed to DBA.
  1. Modify parameter file and generate a new password file before restarting.
  1. Database ID for database DBA changed to 1204743549.
  1. All previous backups and archived redo logs for this database are unusable.
  1. Database has been shutdown, open database with RESETLOGS option.
  1. Succesfully changed database name and ID.
  1. DBNEWID - Completed succesfully.
  1.  
  1. 验证:
  1. SQL> select name,dbid from v$database;
  1.  
  1. NAME            DBID
  1. --------- ----------
  1. ANQING     676458969

RMAN 备份异机恢复 并创建新DBID的更多相关文章

  1. RMAN - 备份异机恢复

    OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - ...

  2. 使用rman备份异机恢复数据库

    一.RMAN备份源库注意点: 最好保留rman备份日志 $rman target / log=backup.log RMAN>run { allocate channel t1 type dis ...

  3. Rman备份异机恢复

    最后更新时间:2018/12/29 前置条件 已准备一台安装好Centos6+oracle11gr2 软件的服务器; 只安装了 oracle 数据库软件,需要手工创建以下目录: #环境变量 expor ...

  4. RAC数据库的RMAN备份异机恢复到单节点数据库

    1.首先在rac环境用rman备份数据库.[oracle@rac1 admin]$ rman target /run{allocate channel c1 device type disk conn ...

  5. Hyper-V安装Oracle Linux6_4 Oracle db 12c并使用rman做异机恢复

    本文记录在Windows Server 2012 R2上安装Oracle Enterprise Linux 6.4以及使用RMAN进行进行异机恢复的过程. Windows服务器增加Hyper-V功能 ...

  6. rman全备份异机恢复

    一.测试环境 [oracle@localhost ~]$ uname -a Linux localhost.localdomain -.el6.x86_64 # SMP Tue May :: EDT ...

  7. Oracle之使用rman进行异机恢复测试记录

    本次测试目的是从生产数据库导出rman备份然后在测试数据库恢复 1,拷贝备份至相应目录 2,进入rman rman target \ 3,关闭数据库 shutdown 4,以nomount模式启动数据 ...

  8. rman 备份并异机恢复

    1.RMAN 备份脚本 RUN { CONFIGURE RETENTION POLICY DAYS; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CO ...

  9. Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复

    Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Con ...

随机推荐

  1. Handlebars.js 模板引擎

    介绍 Handlebars 是 JavaScript 一个语义模板库,通过对view和data的分离来快速构建Web模板.它采用"Logic-less template"(无逻辑模 ...

  2. AngularJs学习笔记2-控制器、数据绑定、作用域

    上次分享完该系列文章后有朋友也建议说1.x版本除了维护也没有必要学习,可以学习2.0开始学习,我也知道1.x无论是从性能还是架构上都没有2.x好,但是我想因为现在也有一些朋友还在用1.x版本,因为1. ...

  3. gulp总结

    安装 1.安装node 检测是否安装成功的方法,在命令行输入: node -v npm -v 显示版本号则安装成功 2.装cnmp一定要网络好一点 npm install cnpm -g --regi ...

  4. Tkinter开发第一个桌面程序HelloWorld

    在Python3中是tkinter,Python2中是Tkinter Tkinter是Python 官方承认的标准 GUI 方案(de-facto standard),因为是Python自带安装,决定 ...

  5. css中的层叠性及权重的比较

    假如同一个标签被多个选择器选中,每个选择器都设置了相同的样式,浏览器中加载时这个样式听谁的? 不同选择器设置的同一个样式,只会选择一个进行加载,不会叠加. 为了解决听谁的问题,引入层叠性的概念. 层叠 ...

  6. Luogu 2245 星际导航(最小生成树,最近公共祖先LCA,并查集)

    Luogu 2245 星际导航(最小生成树,最近公共祖先LCA,并查集) Description sideman做好了回到Gliese 星球的硬件准备,但是sideman的导航系统还没有完全设计好.为 ...

  7. Java虚拟机:如何判定哪些对象可回收?

    版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! 在堆内存中存放着Java程序中几乎所有的对象实例,堆内存的容量是有限的,Java虚拟机会对堆内存进行管理,回收已经"死去&quo ...

  8. 树上差分 (瞎bb) [树上差分][LCA]

    做noip2015的运输计划写了好久好久写不出来   QwQ 于是先来瞎bb一下树上差分    混积分 树上差分有2个常用的功能: (1)记录从点i到i的父亲这条路径走过几次 (2)将每条路径(s,t ...

  9. JSON的详细介绍

    JSON的语法可以表示以下三种类型的值: 简单值:可以表示字符串,数值,布尔值,null,但不支持undefined. 对象(Object):对象作为一种复杂数据类型,表示的是一组无序的键值对儿. 数 ...

  10. MyBatis 详解(一对一,一对多,多对多)

    1.什么是MyBatis? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且 ...