关于RMAN?复制的理论知识,参考:
RMAN?复制目标数据库的理论知识
RMAN?异机复制和同机复制操作步骤是一样的,不同的是我们需要把备份的文件copy到辅助库上去,而且位置要和目标库上一直,因为备份集的位置是写在控制文件里的。
RMAN?同机复制数据库
目标库信息:
ORACLE_BASE:?/u01/app/oracle
ORACLE_HOME:?/u01/app/oracle/product/10.2.0/db_1
ORACLE_SID:orcl
IP:?192.168.1.20
辅助库信息:
ORACLE_BASE:?/u01/app/oracle
ORACLE_HOME:?/u01/app/oracle/product/10.2.0/db_1
ORACLE_SID:orcl
IP:?192.168.1.21
我们以实例名相同的为例,实例名不同也一样,在pfile里修改对应参数就可以了。
步骤如下:
(1)构建辅助数据库目录结构
(2)创建pfile,并复制到辅助数据库,修改相关内容
(3)创建辅助实例口令文件
(4)RMAN?备份源库
(5)添加配置监听
(6)将源库备份文件拷贝到辅助库相同位置
(7)用pfile文件,将辅助数据库启动到nomount?状态
(8)执行RMAN?duplicate命令复制数据库
(9)创建spfile文件
(10)在磁带上恢复备份
(11)使用DBNEWID程序生成新的DBID
?
?
一.构建辅助数据库目录结构
1.1??Oracle?data?目录
[oracle@localhost?oracle]$?mkdir?oradata
[oracle@localhost?oracle]$?ls
oradata??oraInventory??product
[oracle@localhost?oracle]$?cd?oradata/
[oracle@localhost?oracle]$?mkdir?orcl
1.2??其他目录
[oracle@localhost?oracle]$?pwd
/u01/app/oracle
[oracle@localhost?oracle]$?mkdir?admin
[oracle@localhost?oracle]$?ls
admin??oradata??oraInventory??product
[oracle@localhost?oracle]$?cd?admin
[oracle@localhost?admin]$?ls
[oracle@localhost?admin]$?mkdir?orcl
[oracle@localhost?admin]$?ls
orcl
[oracle@localhost?admin]$?cd?orcl
[oracle@localhost?orcl]$?mkdir?adump
[oracle@localhost?orcl]$?mkdir?bdump
[oracle@localhost?orcl]$?mkdir?cdump
[oracle@localhost?orcl]$?mkdir?dpdump
[oracle@localhost?orcl]$?mkdir?pfile
[oracle@localhost?orcl]$?mkdir?udump
[oracle@localhost?orcl]$?ls
adump??bdump??cdump??dpdump??pfile??udump
?
二.?创建pfile,复制到辅助数据库,并修改相关参数
2.1?在源库上创建pfile?文件
SQL>?conn?sys/admin@orcl?as?sysdba;
Connected.
SQL>?create?pfile?from?spfile;
File?created.
2.2?用scp?命令将pfile?文件传到辅助库。要放在$ORACLE_HOME/dbs目录下,不然ORACLE?不识别。
[oracle@db1?orcl]$?cd?/u01/app/oracle/product/10.2.0/db_1/dbs
[oracle@db1?dbs]$?ls
hc_DAVE.dat???initdw.ora????lkDAVE?????orapworcl???????spfileorcl.ora
hc_orcl.dat???init.ora??????lkORCL?????snapcf_orcl.f
initDAVE.ora??initorcl.ora??orapwDAVE??spfileDAVE.ora
[oracle@db1?dbs]$?scp?initorcl.ora?192.168.1.21:/$ORACLE_HOME/dbs
The?authenticity?of?host?'192.168.1.21?(192.168.1.21)'?can't?be?established.
RSA?key?fingerprint?is?1a:20:7a:05:bd:e0:ac:04:21:02:b1:72:01:69:40:d6.
Are?you?sure?you?want?to?continue?connecting?(yes/no)??yes
Warning:?Permanently?added?'192.168.1.21'?(RSA)?to?the?list?of?known?hosts.
initorcl.ora??????????????????????????????????100%?1108?????1.1KB/s???00:00
2.3?在辅助库上确认文件是否传送过来
[oracle@localhost?orcl]$?cd?$ORACLE_HOME/dbs
[oracle@localhost?dbs]$?ls
initdw.ora??init.ora??initorcl.ora
2.4?在辅助库上修改pfile参数
[oracle@localhost?dbs]$?more?initorcl.ora
orcl.__db_cache_size=167772160
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=62914560
orcl.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.background_dump_dest='/u01/app/oracle/admin/orcl/bdump'
*.compatible='10.2.0.1.0'
*.control_file_record_keep_time=14
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/or
adata/orcl/control02.ctl','/u01/app/oracle/oradata/orcl/control03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/orcl/cdump'
*.db_block_size=8192