Oracle 11g RMAN能够实现基于活动数据库进行异机克隆,从而省去需要先备份再ftp到辅助服务器的过程。这一切可以全部交给Oracle来搞定。在克隆期间,Oracle会读取Target DB的所有数据结构,无须人为的干预(不同的磁盘系统,文件路径与文件名要指定转换方式)。尽管如此,对于生产环境数据库在整个克隆期间性能会下降,其次在Target Server与Auxiliary Server中会产生较大的网络流量。如果这些可以接受的话,从活动数据库进行异机克隆是一个不错的选择。本文首先描述了克隆时不同的连接与克隆方式样本,最后演示了基于活动数据库的克隆。

1、RMAN不同克隆类型的连接方式
     关于RMAN不同克隆类型,请参考: 基于 RMAN 的同机数据库克隆 基于RMAN的异机数据库克隆(rman duplicate)     $ export ORACLE_SID=sybo3
  
     # 从备份集克隆,不连接到Target DB以及catalog,或者没有使用catalog
     $ rman AUXILIARY /
  
     # 从备份集克隆,无catalog,元数据来源于Target DB控制文件
     $ rman TARGET sys/pwd@TAR AUXILIARY sys/pwd@AUX
  
     # 从备份集克隆连接到catalog,但不连接到target DB,元数据库来自RMAN catalog
     $ rman CATALOG rman/pwd@catalogdb AUXILIARY sys/pwd@AUX
  
     # 同时连接到target DB以及catalog 元数据来源于Target DB控制文件或catalog,该方式支持从备份集克隆,从活动数据库克隆
     $ rman TARGET sys/pwd@TAR CATALOG rman/pwd@catalogdb AUXILIARY sys/pwd@AUX

2、常用的数据库克隆场景
     # Auxiliary DB使用与Target DB相同的磁盘系统,文件位置及文件名,下同。需要转换的情形请参考: RMAN 数据库克隆文件位置转换方法     DUPLICATE TARGET DATABASE TO sybo3
       SPFILE
       NOFILENAMECHECK;
  
     # 将数据库克隆到Target DB一周以前的状态,注,备份集或归档日志应存在
     DUPLICATE TARGET DATABASE TO sybo3
       UNTIL TIME 'SYSDATE-7'
       SPFILE
       NOFILENAMECHECK;
  
     # 备份集保存在不同于Target DB保存的位置,此时需要在RMAN中单独指定其位置
     DUPLICATE DATABASE TO sybo3
       SPFILE
       BACKUP LOCATION '/u01/bak/fast_recovery_area/sybo3'
       NOFILENAMECHECK;

3、基于活动数据库克隆图示

4、演示机遇活动数据库异机克隆

  1. --环境:
  2. --目标数据库: 192.168.7.25/sybo3 /u01/database/sybo3 主机名:linux3
  3. --辅助数据库: 192.168.7.26/sybo3 /u01/database/sybo3 主机名:linux4 目标数据库与辅助数据库使用相同的文件位置
  4. --说明:
  5. --本次演示使用为使用任何备份文件,连接到target DB
  6. --对于下面描述过程中,如创建参数文件,密码文件,监听等等有不甚了解的,可参考下面链接中有关文章的描述。
  7. --http://blog.csdn.net/robinson_0612/article/category/827734 (体系结构相关)
  8. --http://blog.csdn.net/robinson_0612/article/category/828434 (网络配置相关)
  9.  
  10. [oracle@linux3 database]$ cat /etc/issue
  11. Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)
  12. Kernel \r on an \m
  13.  
  14. SQL> select * from v$version where rownum<2;
  15.  
  16. BANNER
  17. --------------------------------------------------------------------------------
  18. Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
  19.  
  20. --Target DB的配置,位于主机linux3
  21. SQL> select instance_name,host_name from v$instance;
  22.  
  23. INSTANCE_NAME HOST_NAME
  24. ---------------- ----------------------------------------------------------------
  25. sybo3 linux3.orasrv.com
  26.  
  27. --Target DB处于归档模式
  28. SQL> select name,open_mode,log_mode from v$database;
  29.  
  30. NAME OPEN_MODE LOG_MODE
  31. --------- -------------------- ------------
  32. SYBO3 READ WRITE ARCHIVELOG
  33.  
  34. --Target DB上用于验证克隆成功的表
  35. SQL> select * from t;
  36.  
  37. NAME ACTION
  38. ---------- --------------------
  39. Robinson Transfer DB
  40. Jackson Transfer DB by rman
  41.  
  42. -- Author : Robinson Cheng
  43. -- Blog : http://blog.csdn.net/robinson_0612
  44.  
  45. [oracle@linux3 ~]$ export ORACLE_SID=sybo3
  46. [oracle@linux3 ~]$ rman target /
  47. RMAN> list backupset; --->目标数据库无任何备份集
  48.  
  49. specification does not match any backup in the repository
  50.  
  51. RMAN> list copy;
  52.  
  53. specification does not match any datafile copy in the repository
  54. specification does not match any control file copy in the repository
  55. specification does not match any archived log in the repository
  56.  
  57. RMAN> list backup of archivelog all;
  58.  
  59. specification does not match any backup in the repository
  60.  
  61. a、在Auxiliary server创建相应的dump文件夹
  62. [oracle@linux4 database]$ more sybo3.sh
  63. #!/bin/sh
  64. mkdir -p /u01/database
  65. mkdir -p /u01/database/sybo3/adump
  66. mkdir -p /u01/database/sybo3/controlf
  67. mkdir -p /u01/database/sybo3/fra
  68. mkdir -p /u01/database/sybo3/oradata
  69. mkdir -p /u01/database/sybo3/redo
  70. mkdir -p /u01/database/sybo3/dpdump
  71. mkdir -p /u01/database/sybo3/pfile
  72. [oracle@linux4 database]$ ./sybo3.sh
  73.  
  74. b、配置辅助实例参数文件
  75. --由于auxiliary DBtarget DB不存在文件位置转换,因此无需作任何修改,直接将其ftpAuxiliary server
  76. --如果没有pfile文件,可从target db生成。 create pfile from spfile;
  77. [oracle@linux3 ~]$ scp $ORACLE_HOME/dbs/initsybo3.ora 192.168.7.26:$ORACLE_HOME/dbs
  78.  
  79. c、生成辅助实例密码文件
  80. --如果使用orapwd命令建立密码文件应保证与target DB密码相同
  81. --或者直接使用Target DB的密码文件
  82. [oracle@linux3 ~]$ scp $ORACLE_HOME/dbs/orapwsybo3 192.168.7.26:$ORACLE_HOME/dbs
  83.  
  84. d、在Auxiliary ServerTarget Server配置监听(方式多样,不详述)
  85. --Auxiliary Server
  86. [oracle@linux4 admin]$ more listener.ora
  87. SID_LIST_LISTENER_SYBO3 =
  88. (SID_LIST =
  89. (SID_DESC =
  90. (GLOBAL_DBNAME = sybo3.orasrv.com)
  91. (ORACLE_HOME = /u01/oracle/db_1)
  92. (SID_NAME = sybo3)
  93. )
  94. )
  95.  
  96. LISTENER_SYBO3 =
  97. (DESCRIPTION =
  98. (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.26)(PORT = 1531))
  99. )
  100.  
  101. ADR_BASE_LISTENER_SYBO3 = /u01/oracle
  102. [oracle@linux4 admin]$ more tnsnames.ora
  103. TAR =
  104. (DESCRIPTION =
  105. (ADDRESS_LIST =
  106. (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.25)(PORT = 1531))
  107. )
  108. (CONNECT_DATA =
  109. (SERVICE_NAME = SYBO3.ORASRV.COM)
  110. )
  111. )
  112.  
  113. AUX =
  114. (DESCRIPTION =
  115. (ADDRESS_LIST =
  116. (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.26)(PORT = 1531))
  117. )
  118. (CONNECT_DATA =
  119. (SERVICE_NAME = SYBO3.ORASRV.COM)
  120. )
  121. )
  122.  
  123. --Target Server
  124. [oracle@linux3 ~]$ more /u01/oracle/db_1/network/admin/listener.ora
  125. # listener.ora Network Configuration File: /u01/oracle/db_1/network/admin/listener.ora
  126. # Generated by Oracle configuration tools.
  127.  
  128. SID_LIST_LISTENER_SYBO3 =
  129. (SID_LIST =
  130. (SID_DESC =
  131. (GLOBAL_DBNAME = sybo3.orasrv.com)
  132. (ORACLE_HOME = /u01/oracle/db_1)
  133. (SID_NAME = sybo3)
  134. )
  135. )
  136.  
  137. LISTENER_SYBO3 =
  138. (DESCRIPTION =
  139. (ADDRESS = (PROTOCOL = TCP)(HOST = linux3.orasrv.com)(PORT = 1531))
  140. )
  141.  
  142. ADR_BASE_LISTENER_SYBO3 = /u01/oracle
  143.  
  144. [oracle@linux3 ~]$ more /u01/oracle/db_1/network/admin/tnsnames.ora
  145. # tnsnames.ora Network Configuration File: /u01/oracle/db_1/network/admin/tnsnames.ora
  146. # Generated by Oracle configuration tools.
  147. # 注,在Target Server与Auxiliary Server的tnames.ora文件中,使用了相同的entry,即同时存在TAR与AUX
  148. TAR =
  149. (DESCRIPTION =
  150. (ADDRESS_LIST =
  151. (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.25)(PORT = 1531))
  152. )
  153. (CONNECT_DATA =
  154. (SERVICE_NAME = SYBO3.ORASRV.COM)
  155. )
  156. )
  157.  
  158. AUX =
  159. (DESCRIPTION =
  160. (ADDRESS_LIST =
  161. (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.26)(PORT = 1531))
  162. )
  163. (CONNECT_DATA =
  164. (SERVICE_NAME = SYBO3.ORASRV.COM)
  165. )
  166. )
  167.  
  168. --使用下面的命令确保能够Ping
  169. [oracle@linux3 admin]$ tnsping TAR
  170. [oracle@linux3 admin]$ tnsping AUX
  171. [oracle@linux4 admin]$ tnsping TAR
  172. [oracle@linux4 admin]$ tnsping AUX
  173.  
  174. e、实施数据库克隆
  175. [oracle@linux4 ~]$ export ORACLE_SID=sybo3
  176. [oracle@linux4 ~]$ sqlplus / as sysdba
  177. SQL> startup nomount;
  178. SQL> exit
  179. [oracle@linux4 ~]$ rman target sys/oracle@TAR auxiliary sys/oracle@AUX
  180.  
  181. Recovery Manager: Release 11.2.0.1.0 - Production on Fri Aug 2 11:44:09 2013
  182.  
  183. Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
  184.  
  185. connected to target database: SYBO3 (DBID=2347733014)
  186. connected to auxiliary database: SYBO3 (not mounted)
  187.  
  188. RMAN> duplicate database to sybo3 from active database spfile nofilenamecheck; --->发布duplicate命令
  189.  
  190. Starting Duplicate Db at 02-AUG-13
  191. using target database control file instead of recovery catalog
  192. allocated channel: ORA_AUX_DISK_1
  193. channel ORA_AUX_DISK_1: SID=134 device type=DISK
  194.  
  195. contents of Memory Script:
  196. {
  197. backup as copy reuse --->该命令块备份服务器参数文件并修改spfile参数
  198. targetfile '/u01/oracle/db_1/dbs/spfilesybo3.ora' auxiliary format
  199. '/u01/oracle/db_1/dbs/spfilesybo3.ora' ;
  200. sql clone "alter system set spfile= ''/u01/oracle/db_1/dbs/spfilesybo3.ora''";
  201. }
  202. executing Memory Script
  203.  
  204. Starting backup at 02-AUG-13
  205. allocated channel: ORA_DISK_1
  206. channel ORA_DISK_1: SID=145 device type=DISK
  207. Finished backup at 02-AUG-13
  208.  
  209. sql statement: alter system set spfile= ''/u01/oracle/db_1/dbs/spfilesybo3.ora''
  210.  
  211. contents of Memory Script:
  212. {
  213. sql clone "alter system set db_name = --->该命令块主要是修改db_name,重启auxliary DB
  214. ''SYBO3'' comment=
  215. ''duplicate'' scope=spfile";
  216. shutdown clone immediate;
  217. startup clone nomount;
  218. }
  219. executing Memory Script
  220.  
  221. sql statement: alter system set db_name = ''SYBO3'' comment= ''duplicate'' scope=spfile
  222.  
  223. Oracle instance shut down
  224.  
  225. connected to auxiliary database (not started)
  226. Oracle instance started
  227.  
  228. Total System Global Area 376635392 bytes
  229.  
  230. Fixed Size 1336652 bytes
  231. Variable Size 285215412 bytes
  232. Database Buffers 83886080 bytes
  233. Redo Buffers 6197248 bytes
  234.  
  235. contents of Memory Script:
  236. {
  237. sql clone "alter system set db_name =
  238. ''SYBO3'' comment=
  239. ''Modified by RMAN duplicate'' scope=spfile";
  240. sql clone "alter system set db_unique_name =
  241. ''SYBO3'' comment=
  242. ''Modified by RMAN duplicate'' scope=spfile";
  243. shutdown clone immediate;
  244. startup clone force nomount --->该命令块备份控制文件并恢复控制文件到Auxiliary DB
  245. backup as copy current controlfile auxiliary format '/u01/database/sybo3/controlf/control01.ctl';
  246. restore clone controlfile to '/u01/database/sybo3/controlf/control02.ctl' from
  247. '/u01/database/sybo3/controlf/control01.ctl';
  248. alter clone database mount;
  249. }
  250. executing Memory Script
  251.  
  252. sql statement: alter system set db_name = ''SYBO3'' comment= ''Modified by RMAN duplicate'' scope=spfile
  253.  
  254. sql statement: alter system set db_unique_name = ''SYBO3'' comment= ''Modified by RMAN duplicate'' scope=spfile
  255.  
  256. Oracle instance shut down
  257.  
  258. Oracle instance started
  259.  
  260. Total System Global Area 376635392 bytes
  261.  
  262. Fixed Size 1336652 bytes
  263. Variable Size 285215412 bytes
  264. Database Buffers 83886080 bytes
  265. Redo Buffers 6197248 bytes
  266.  
  267. Starting backup at 02-AUG-13
  268. using channel ORA_DISK_1
  269. channel ORA_DISK_1: starting datafile copy
  270. copying current control file
  271. output file name=/u01/oracle/db_1/dbs/snapcf_sybo3.f tag=TAG20130802T114449 RECID=5 STAMP=822397490
  272. channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
  273. Finished backup at 02-AUG-13
  274.  
  275. Starting restore at 02-AUG-13
  276. allocated channel: ORA_AUX_DISK_1
  277. channel ORA_AUX_DISK_1: SID=133 device type=DISK
  278.  
  279. channel ORA_AUX_DISK_1: copied control file copy
  280. Finished restore at 02-AUG-13
  281.  
  282. database mounted
  283. RMAN-05538: WARNING: implicitly using DB_FILE_NAME_CONVERT --->这个地方提示隐式使用DB_FILE_NAME_CONVERT参数
  284.  
  285. contents of Memory Script:
  286. { --->该命令块用于set newname以及热备数据文件,使用copy方式
  287. set newname for datafile 1 to
  288. "/u01/database/sybo3/oradata/system01.dbf";
  289. set newname for datafile 2 to
  290. "/u01/database/sybo3/oradata/sysaux01.dbf";
  291. set newname for datafile 3 to
  292. "/u01/database/sybo3/oradata/undotbs01.dbf";
  293. set newname for datafile 4 to
  294. "/u01/database/sybo3/oradata/users01.dbf";
  295. set newname for datafile 5 to
  296. "/u01/database/sybo3/oradata/example01.dbf";
  297. backup as copy reuse
  298. datafile 1 auxiliary format
  299. "/u01/database/sybo3/oradata/system01.dbf" datafile
  300. 2 auxiliary format
  301. "/u01/database/sybo3/oradata/sysaux01.dbf" datafile
  302. 3 auxiliary format
  303. "/u01/database/sybo3/oradata/undotbs01.dbf" datafile
  304. 4 auxiliary format
  305. "/u01/database/sybo3/oradata/users01.dbf" datafile
  306. 5 auxiliary format
  307. "/u01/database/sybo3/oradata/example01.dbf" ;
  308. sql 'alter system archive log current';
  309. }
  310. executing Memory Script
  311.  
  312. executing command: SET NEWNAME
  313.  
  314. executing command: SET NEWNAME
  315.  
  316. executing command: SET NEWNAME
  317.  
  318. executing command: SET NEWNAME
  319.  
  320. executing command: SET NEWNAME
  321.  
  322. Starting backup at 02-AUG-13
  323. using channel ORA_DISK_1
  324. channel ORA_DISK_1: starting datafile copy
  325. input datafile file number=00001 name=/u01/database/sybo3/oradata/system01.dbf
  326. output file name=/u01/database/sybo3/oradata/system01.dbf tag=TAG20130802T114457
  327. channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:45
  328. channel ORA_DISK_1: starting datafile copy
  329. input datafile file number=00002 name=/u01/database/sybo3/oradata/sysaux01.dbf
  330. output file name=/u01/database/sybo3/oradata/sysaux01.dbf tag=TAG20130802T114457
  331. channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:35
  332. channel ORA_DISK_1: starting datafile copy
  333. input datafile file number=00005 name=/u01/database/sybo3/oradata/example01.dbf
  334. output file name=/u01/database/sybo3/oradata/example01.dbf tag=TAG20130802T114457
  335. channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
  336. channel ORA_DISK_1: starting datafile copy
  337. input datafile file number=00003 name=/u01/database/sybo3/oradata/undotbs01.dbf
  338. output file name=/u01/database/sybo3/oradata/undotbs01.dbf tag=TAG20130802T114457
  339. channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
  340. channel ORA_DISK_1: starting datafile copy
  341. input datafile file number=00004 name=/u01/database/sybo3/oradata/users01.dbf
  342. output file name=/u01/database/sybo3/oradata/users01.dbf tag=TAG20130802T114457
  343. channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
  344. Finished backup at 02-AUG-13
  345.  
  346. sql statement: alter system archive log current
  347.  
  348. contents of Memory Script:
  349. {
  350. backup as copy reuse --->该命令块备份归档日志
  351. archivelog like "/u01/database/sybo3/fra/SYBO3/archivelog/2013_08_02/o1_mf_1_43_8zpbwsry_.arc" auxiliary format
  352. "/u01/database/sybo3/fra/SYBO3/archivelog/2013_08_02/o1_mf_1_43_%u_.arc" ;
  353. catalog clone recovery area; --->而且克隆整个recovery area
  354. switch clone datafile all;
  355. }
  356. executing Memory Script
  357.  
  358. Starting backup at 02-AUG-13
  359. using channel ORA_DISK_1
  360. channel ORA_DISK_1: starting archived log copy
  361. input archived log thread=1 sequence=43 RECID=48 STAMP=822397594
  362. output file name=/u01/database/sybo3/fra/SYBO3/archivelog/2013_08_02/o1_mf_1_43_1aog9ikr_.arc RECID=0 STAMP=0
  363. channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
  364. Finished backup at 02-AUG-13
  365.  
  366. searching for all files in the recovery area
  367.  
  368. List of Files Unknown to the Database
  369. =====================================
  370. File Name: /u01/database/sybo3/fra/SYBO3/archivelog/2013_08_02/o1_mf_1_43_1aog9ikr_.arc
  371. cataloging files...
  372. cataloging done
  373.  
  374. List of Cataloged Files --->这个地方列出了已经传送到Auxiliary Server的数据文件,以及归档日志
  375. =======================
  376. File Name: /u01/database/sybo3/fra/SYBO3/archivelog/2013_08_02/o1_mf_1_43_1aog9ikr_.arc
  377.  
  378. datafile 1 switched to datafile copy
  379. input datafile copy RECID=5 STAMP=822397596 file name=/u01/database/sybo3/oradata/system01.dbf
  380. datafile 2 switched to datafile copy
  381. input datafile copy RECID=6 STAMP=822397596 file name=/u01/database/sybo3/oradata/sysaux01.dbf
  382. datafile 3 switched to datafile copy
  383. input datafile copy RECID=7 STAMP=822397596 file name=/u01/database/sybo3/oradata/undotbs01.dbf
  384. datafile 4 switched to datafile copy
  385. input datafile copy RECID=8 STAMP=822397596 file name=/u01/database/sybo3/oradata/users01.dbf
  386. datafile 5 switched to datafile copy
  387. input datafile copy RECID=9 STAMP=822397596 file name=/u01/database/sybo3/oradata/example01.dbf
  388.  
  389. contents of Memory Script:
  390. {
  391. set until scn 1234019;
  392. recover --->这个命令块开始recover
  393. clone database
  394. delete archivelog
  395. ;
  396. }
  397. executing Memory Script
  398.  
  399. executing command: SET until clause
  400.  
  401. Starting recover at 02-AUG-13
  402. using channel ORA_AUX_DISK_1
  403.  
  404. starting media recovery
  405.  
  406. archived log for thread 1 with sequence 43 is already on disk as file /u01/database/sybo3/fra/SYBO3/archivelog/
  407. 2013_08_02/o1_mf_1_43_1aog9ikr_.arc
  408. archived log file name=/u01/database/sybo3/fra/SYBO3/archivelog/2013_08_02/o1_mf_1_43_1aog9ikr_.arc thread=1 sequence=43
  409. media recovery complete, elapsed time: 00:00:00
  410. Finished recover at 02-AUG-13
  411.  
  412. contents of Memory Script:
  413. {
  414. shutdown clone immediate;
  415. startup clone nomount; --->该命令块修改参数以及重建控制文件
  416. sql clone "alter system set db_name =
  417. ''SYBO3'' comment=
  418. ''Reset to original value by RMAN'' scope=spfile";
  419. sql clone "alter system reset db_unique_name scope=spfile";
  420. shutdown clone immediate;
  421. startup clone nomount;
  422. }
  423. executing Memory Script
  424.  
  425. database dismounted
  426. Oracle instance shut down
  427.  
  428. connected to auxiliary database (not started)
  429. Oracle instance started
  430.  
  431. Total System Global Area 376635392 bytes
  432.  
  433. Fixed Size 1336652 bytes
  434. Variable Size 285215412 bytes
  435. Database Buffers 83886080 bytes
  436. Redo Buffers 6197248 bytes
  437.  
  438. sql statement: alter system set db_name = ''SYBO3'' comment= ''Reset to original value by RMAN'' scope=spfile
  439.  
  440. sql statement: alter system reset db_unique_name scope=spfile
  441.  
  442. Oracle instance shut down
  443.  
  444. connected to auxiliary database (not started)
  445. Oracle instance started
  446.  
  447. Total System Global Area 376635392 bytes
  448.  
  449. Fixed Size 1336652 bytes
  450. Variable Size 285215412 bytes
  451. Database Buffers 83886080 bytes
  452. Redo Buffers 6197248 bytes
  453. sql statement: CREATE CONTROLFILE REUSE SET DATABASE "SYBO3" RESETLOGS ARCHIVELOG
  454. MAXLOGFILES 16
  455. MAXLOGMEMBERS 3
  456. MAXDATAFILES 100
  457. MAXINSTANCES 8
  458. MAXLOGHISTORY 292
  459. LOGFILE
  460. GROUP 1 SIZE 50 M ,
  461. GROUP 2 SIZE 50 M ,
  462. GROUP 3 SIZE 50 M
  463. DATAFILE
  464. '/u01/database/sybo3/oradata/system01.dbf'
  465. CHARACTER SET AL32UTF8
  466.  
  467. contents of Memory Script:
  468. {
  469. set newname for tempfile 1 to --->将数据文件,临时文件更新到控制文件
  470. "/u01/database/sybo3/oradata/temp01.dbf";
  471. switch clone tempfile all;
  472. catalog clone datafilecopy "/u01/database/sybo3/oradata/sysaux01.dbf",
  473. "/u01/database/sybo3/oradata/undotbs01.dbf",
  474. "/u01/database/sybo3/oradata/users01.dbf",
  475. "/u01/database/sybo3/oradata/example01.dbf";
  476. switch clone datafile all;
  477. }
  478. executing Memory Script
  479.  
  480. executing command: SET NEWNAME
  481.  
  482. renamed tempfile 1 to /u01/database/sybo3/oradata/temp01.dbf in control file
  483.  
  484. cataloged datafile copy
  485. datafile copy file name=/u01/database/sybo3/oradata/sysaux01.dbf RECID=1 STAMP=822397612
  486. cataloged datafile copy
  487. datafile copy file name=/u01/database/sybo3/oradata/undotbs01.dbf RECID=2 STAMP=822397612
  488. cataloged datafile copy
  489. datafile copy file name=/u01/database/sybo3/oradata/users01.dbf RECID=3 STAMP=822397612
  490. cataloged datafile copy
  491. datafile copy file name=/u01/database/sybo3/oradata/example01.dbf RECID=4 STAMP=822397612
  492.  
  493. datafile 2 switched to datafile copy
  494. input datafile copy RECID=1 STAMP=822397612 file name=/u01/database/sybo3/oradata/sysaux01.dbf
  495. datafile 3 switched to datafile copy
  496. input datafile copy RECID=2 STAMP=822397612 file name=/u01/database/sybo3/oradata/undotbs01.dbf
  497. datafile 4 switched to datafile copy
  498. input datafile copy RECID=3 STAMP=822397612 file name=/u01/database/sybo3/oradata/users01.dbf
  499. datafile 5 switched to datafile copy
  500. input datafile copy RECID=4 STAMP=822397612 file name=/u01/database/sybo3/oradata/example01.dbf
  501.  
  502. contents of Memory Script:
  503. {
  504. Alter clone database open resetlogs; --->open 数据库
  505. }
  506. executing Memory Script
  507.  
  508. database opened
  509. Finished Duplicate Db at 02-AUG-13
  510.  
  511. f、验证结果
  512. [oracle@linux4 ~]$ sqlplus / as sysdba
  513.  
  514. SQL> select * from t;
  515.  
  516. NAME ACTION
  517. ---------- --------------------
  518. Robinson Transfer DB
  519. Jackson Transfer DB by rman
  520.  
  521. SQL> set linesize 190
  522. SQL> select host_name,instance_name from v$instance;
  523.  
  524. HOST_NAME INSTANCE_NAME
  525. ------------------------------------ ----------------
  526. linux4.orasrv.com sybo3

5、后记
a、无论使用何种方式进行数据库克隆,都是使用了基于时间点的不完全恢复,都需要使用open resetlog方式打开数据库。
b、从活动数据库进行克隆时,需要保证Target DB处于归档模式。
c、从活动数据库进行克隆应当保证Target Server与Auxiliary Server 的tnsnames文件中都存在到Target DB与Auxiliary DB的连接字符串。
d、可以在Target Server与Auxiliary Server任意一端发布duplicate database to newdb from active database进行克隆。
e、从活动数据库克隆应保证Traget DB与Auxiliary DB具有相同的密码(位于密码文件)或者直接从Target Server复制密码文件到Auxiliary Server。

相关参考
    RMAN 数据库克隆文件位置转换方法

基于RMAN的异机数据库克隆(rman duplicate)

基于 RMAN 的同机数据库克隆

基于用户管理的同机数据库克隆

RMAN duplicate from active 时遭遇 ORA-17627 ORA-12154

Oracle 冷备份

Oracle 热备份

Oracle 备份恢复概念

Oracle 实例恢复

Oracle 基于用户管理恢复的处理

SYSTEM 表空间管理及备份恢复

SYSAUX表空间管理及恢复

Oracle 基于备份控制文件的恢复(unsing backup controlfile)

RMAN 概述及其体系结构

RMAN 配置、监控与管理

RMAN 备份详解

RMAN 还原与恢复

RMAN catalog 的创建和使用

基于catalog 创建RMAN存储脚本

基于catalog 的RMAN 备份与恢复

RMAN 备份路径困惑

自定义 RMAN 显示的日期时间格式

只读表空间的备份与恢复

Oracle 基于用户管理的不完全恢复

理解 using backup controlfile

使用RMAN实现异机备份恢复(WIN平台)

使用RMAN迁移文件系统数据库到ASM

基于Linux下 Oracle 备份策略(RMAN)

Linux 下RMAN备份shell脚本

使用RMAN迁移数据库到异机

RMAN 提示符下执行SQL语句

Oracle 基于 RMAN 的不完全恢复(incomplete recovery by RMAN)

rman 还原归档日志(restore archivelog)

基于RMAN从活动数据库异机克隆(rman duplicate from active DB)的更多相关文章

  1. RMAN数据库异机迁移步骤

    --RMAN数据库异机迁移步骤----------------------------2013/09/28 测试环境:AIX+ora11g   一. source数据库准备.   1.获取数据文件编号 ...

  2. RMAN备份策略与异机恢复一例(续篇)

    本文是<RMAN备份策略与异机恢复一例>的续篇,继续实验验证,最终实现两个需求: 1.异机恢复临时测试的小库 2.传输归档时,实现增量传输 1.异机恢复临时测试的小库 之前异机恢复的需求已 ...

  3. RMAN备份策略与异机恢复一例

    实验环境: A机器(生产用途):RHEL 6.5 + Oracle 11.2.0.4 + IP Address 192.168.1.11 B机器(备机用途):RHEL 6.5 + Oracle 11. ...

  4. Oracle数据库异机升级

    环境: A机:RHEL5.5 + Oracle 10.2.0.4 B机:RHEL5.5 需求: A机10.2.0.4数据库,在B机升级到11.2.0.4,应用最新PSU补丁程序. 目录: 一. 确认是 ...

  5. RMAN数据库异机迁移

    本文讲述如何用rman将一个库迁移到另一个服务器上. 服务器A:linux es4 + oracle9204 (源)服务器B:linux es4 + oracle9204 (目标) 一.创建目录 为了 ...

  6. linux下仅仅有rman备份集的异机不同文件夹恢复

    昨天在客户那里做了一次rman异机的恢复,把生产库弄一份给測试库用,总库大概80G,总共花费了2个小时,当时客户的环境是windows 11.2.0.3,今天早晨在linux下又一次測试了一下,记录下 ...

  7. KingbaseES R6 单节点数据库异机恢复案例

    数据库运行硬件或系统环境如果发生了不可恢复的故障,这时只能采用异机恢复的方式恢复数据库.以下通过例子介绍异机恢复的过程. 一.硬件环境 192.168.237.101 数据库运行源主机 192.168 ...

  8. Oracle 数据库异机恢复(归档模式)

    操作必须在服务器上进行(在192.168.12.71上执行) 0.按需要恢复的日期,把距恢复日期最近的全部备份和全部备份日期后的日志备份一同拷贝到需要恢复的机器上: 1.用RMAN登陆 C:\User ...

  9. ORACLE 11G没有备份文件參数文件在异机通过rman备份恢复找回被误删的数据

    背景:          同事误删除线上数据.所以须要从备份中找回数据恢复. 真实屋漏偏逢连夜雨.船迟又遇打头风.前两天备份的磁盘坏块,如今仅仅有rman全备的.bak文件,没有控制文件和參数文件,所 ...

随机推荐

  1. 自设chrome默认滚动条样式

    今天无聊,想着chrome这种全面使用html的浏览器,可不可以让我自行改变它的默认CSS呢,结果去查查,有,很好 win7/8目录为 C:\Users\[你的用户名]\AppData\Local\G ...

  2. (转)搜索Maven仓库 获取 groupid artifactId

    转载自:http://blog.csdn.net/z69183787/article/details/22188561 使用Maven进行开发的时候,比较常见的一个问题就是如何寻找我要的依赖,比如说, ...

  3. why app_start start

    Add following code for your class: [assembly: WebActivatorEx.PostApplicationStartMethod(typeof(WeCha ...

  4. bzoj 3784: 树上的路径 堆维护第k大

    3784: 树上的路径 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 88  Solved: 27[Submit][Status][Discuss] ...

  5. ubuntu修改grub2

    转自修改系统启动项 grub2配置的方法 ubuntu 在早期的Ubuntu中,使用Grub作为系统的启动引导程序,想修改系统启动项非常简单,只要用gedit打开系统菜单设定文件( sudo gedi ...

  6. Entity FrameWork知识点汇总

    这里罗列的并非EF的所有知识点 ,只是我在开发过程中遇到或者使用到的知识,记录于此, 备忘 1:EF的三种创建方式 A:Database First B:Model First C:Code Firs ...

  7. ruby迭代器iterator和枚举器Enumerator

    编写自定义的迭代器 The defining feature of an iterator method is that it invokes a block of code associatedwi ...

  8. VS2013 取消 直接单击文件 然后直接打开

    工具——选项——

  9. 《大数据Spark企业级实战 》

    基本信息 作者: Spark亚太研究院   王家林 丛书名:决胜大数据时代Spark全系列书籍 出版社:电子工业出版社 ISBN:9787121247446 上架时间:2015-1-6 出版日期:20 ...

  10. FusionCharts 3.2.1 flash 图表展示、数据钻取

    StackedColumn3DLineDY.swf 效果展示: 一.页面代码 <div id="chart2div" align="center" sty ...