通过rman备份集手动创建新的数据库(NEWDB NEWSID)OMF方式

前言
通过duplicate database to 'PRODS' backup location '/home/oracle/backup' nofilenamecheck;可以快速实现复制新的数据库;
下文为手动方式;

说明
源库:FXDB
新库:PRODS


步骤
1.新建pfile,启动实例到nomount,修改db_name
SQL> alter system set db_name='FXDB' scope=spfile;

2.恢复源库控制文件
RMAN> restore controlfile from '/home/oracle/backup/fxdb_ctl.bak';

Starting restore at 2020-06-26 19:49:57
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=265 device type=DISK

channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
output file name=+DATADG/PRODS/CONTROLFILE/current.625.1044129001
Finished restore at 2020-06-26 19:50:01

RMAN> alter database mount;

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
+DATADG/FXDB/DATAFILE/system.601.1042277511
+DATADG/FXDB/DATAFILE/sysaux.605.1042277559
+DATADG/FXDB/DATAFILE/undotbs1.600.1042277585
+DATADG/FXDB/86B637B62FE07A65E053F706E80A27CA/DATAFILE/system.613.1042278515
+DATADG/FXDB/86B637B62FE07A65E053F706E80A27CA/DATAFILE/sysaux.617.1042278515
+DATADG/FXDB/DATAFILE/users.608.1042277585
+DATADG/FXDB/86B637B62FE07A65E053F706E80A27CA/DATAFILE/undotbs1.618.1042278515
+DATADG/FXDB/DATAFILE/undotbs2.620.1042278813
+DATADG/FXDB/A74DBAEAF1F10616E053B61E000ACE43/DATAFILE/system.623.1042279693
+DATADG/FXDB/A74DBAEAF1F10616E053B61E000ACE43/DATAFILE/sysaux.624.1042279693
+DATADG/FXDB/A74DBAEAF1F10616E053B61E000ACE43/DATAFILE/undotbs1.622.1042279691

NAME
--------------------------------------------------------------------------------
+DATADG/FXDB/A74DBAEAF1F10616E053B61E000ACE43/DATAFILE/undo_2.625.1042279785
+DATADG/FXDB/A74DBAEAF1F10616E053B61E000ACE43/DATAFILE/users.626.1042279791


3.通过rman set newname 并restore recover数据库
run
{
   set until scn  5219573;
   set newname for clone datafile  1 to new;
   set newname for clone datafile  3 to new;
   set newname for clone datafile  4 to new;
   set newname for clone datafile  5 to new;
   set newname for clone datafile  6 to new;
   set newname for clone datafile  7 to new;
   set newname for clone datafile  8 to new;
   set newname for clone datafile  9 to new;
   set newname for clone datafile  10 to new;
   set newname for clone datafile  11 to new;
   set newname for clone datafile  12 to new;
   set newname for clone datafile  13 to new;
   set newname for clone datafile  14 to new;
   restore database;
   switch datafile all;
   recover database;
}


4.生成创建重建控制文件sql,并修改REUSE为REUSE SET ,FXDB为PRODS
SQL> alter database backup controlfile to trace;
#找到如下创建控制文件语句:
CREATE CONTROLFILE REUSE SET DATABASE "PRODS" RESETLOGS  ARCHIVELOG
    MAXLOGFILES 192
    MAXLOGMEMBERS 3
    MAXDATAFILES 1024
    MAXINSTANCES 32
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '+DATADG/FXDB/ONLINELOG/group_1.611.1042277663'  SIZE 200M BLOCKSIZE 512,
  GROUP 2 '+DATADG/FXDB/ONLINELOG/group_2.612.1042277663'  SIZE 200M BLOCKSIZE 512,
  GROUP 3 '+DATADG/FXDB/ONLINELOG/group_3.621.1042279431'  SIZE 200M BLOCKSIZE 512,
  GROUP 4 '+DATADG/FXDB/ONLINELOG/group_4.614.1042279435'  SIZE 200M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  '+DATADG/PRODS/DATAFILE/system.587.1044129357',
  '+DATADG/PRODS/DATAFILE/sysaux.588.1044129287',
  '+DATADG/PRODS/DATAFILE/undotbs1.624.1044129189',
  '+DATADG/PRODS/A74D7524EC2347ADE053B51E000A5432/DATAFILE/system.617.1044129257',
  '+DATADG/PRODS/A74D7524EC2347ADE053B51E000A5432/DATAFILE/sysaux.623.1044129203',
  '+DATADG/PRODS/DATAFILE/users.599.1044129253',
  '+DATADG/PRODS/A74D7524EC2347ADE053B51E000A5432/DATAFILE/undotbs1.622.1044129217',
  '+DATADG/PRODS/DATAFILE/undotbs2.311.1044129255',
  '+DATADG/PRODS/A74DBAEAF1F10616E053B61E000ACE43/DATAFILE/system.613.1044129273',
  '+DATADG/PRODS/A74DBAEAF1F10616E053B61E000ACE43/DATAFILE/sysaux.616.1044129225',
  '+DATADG/PRODS/A74DBAEAF1F10616E053B61E000ACE43/DATAFILE/undotbs1.619.1044129239',
  '+DATADG/PRODS/A74DBAEAF1F10616E053B61E000ACE43/DATAFILE/undo_2.299.1044129247',
  '+DATADG/PRODS/A74DBAEAF1F10616E053B61E000ACE43/DATAFILE/users.618.1044129257'
CHARACTER SET ZHS16GBK
;


5.参数文件修改db_name
SQL> shutdown immediate;
SQL> startup nomount;
SQL> alter system set db_name='PRODS' scope=spfile;
SQL> shutdown immediate;

6.重建控制文件
SQL> startup nomount;

CREATE CONTROLFILE REUSE SET DATABASE "PRODS" RESETLOGS  ARCHIVELOG
    MAXLOGFILES 192
    MAXLOGMEMBERS 3
    MAXDATAFILES 1024
    MAXINSTANCES 32
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '+DATADG/FXDB/ONLINELOG/group_1.611.1042277663'  SIZE 200M BLOCKSIZE 512,
  GROUP 2 '+DATADG/FXDB/ONLINELOG/group_2.612.1042277663'  SIZE 200M BLOCKSIZE 512,
  GROUP 3 '+DATADG/FXDB/ONLINELOG/group_3.621.1042279431'  SIZE 200M BLOCKSIZE 512,
  GROUP 4 '+DATADG/FXDB/ONLINELOG/group_4.614.1042279435'  SIZE 200M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  '+DATADG/PRODS/DATAFILE/system.587.1044129357',
  '+DATADG/PRODS/DATAFILE/sysaux.588.1044129287',
  '+DATADG/PRODS/DATAFILE/undotbs1.624.1044129189',
  '+DATADG/PRODS/A74D7524EC2347ADE053B51E000A5432/DATAFILE/system.617.1044129257',
  '+DATADG/PRODS/A74D7524EC2347ADE053B51E000A5432/DATAFILE/sysaux.623.1044129203',
  '+DATADG/PRODS/DATAFILE/users.599.1044129253',
  '+DATADG/PRODS/A74D7524EC2347ADE053B51E000A5432/DATAFILE/undotbs1.622.1044129217',
  '+DATADG/PRODS/DATAFILE/undotbs2.311.1044129255',
  '+DATADG/PRODS/A74DBAEAF1F10616E053B61E000ACE43/DATAFILE/system.613.1044129273',
  '+DATADG/PRODS/A74DBAEAF1F10616E053B61E000ACE43/DATAFILE/sysaux.616.1044129225',
  '+DATADG/PRODS/A74DBAEAF1F10616E053B61E000ACE43/DATAFILE/undotbs1.619.1044129239',
  '+DATADG/PRODS/A74DBAEAF1F10616E053B61E000ACE43/DATAFILE/undo_2.299.1044129247',
  '+DATADG/PRODS/A74DBAEAF1F10616E053B61E000ACE43/DATAFILE/users.618.1044129257'
CHARACTER SET ZHS16GBK
;


7.重新执行恢复
RMAN> run{
2> set until scn  5219573;
3> recover database;
4> }

executing command: SET until clause

Starting recover at 2020-06-26 20:36:05
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=259 device type=DISK

starting media recovery
media recovery complete, elapsed time: 00:00:03

Finished recover at 2020-06-26 20:36:11


8.执行open resetlogs开库
RMAN> alter database open resetlogs;

Statement processed

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值