关于RMAN?复制的理论知识,参考RMAN?复制目标数据库的理论知识
?
源库的相关信息:
ORACLE_BASE:?/u01/app/oracle
ORACLE_HOME:?/u01/app/oracle/product/10.2.0/db_1
ORACLE_SID:ORCL
复制的数据库实例名假设为:?DAVE
步骤如下:
(1)构建辅助数据库目录结构
(2)修改init.ora?初始话文件
(3)创建辅助实例口令文件
(4)RMAN?备份源库
(5)配置监听
(6)启动辅助库至nomount?状态
(7)RMAN?duplicate复制实例
(8)创建spfile
?
一.构建辅助数据库目录结构
1.1??Oracle?data?目录
[oracle@db1?oradata]$?ls
orcl
[oracle@db1?oradata]$?pwd
/u01/app/oracle/oradata
[oracle@db1?oradata]$?mkdir?DAVE
[oracle@db1?oradata]$?ls
DAVE??orcl
1.2??其他目录
[oracle@db1?admin]$?pwd
/u01/app/oracle/admin
[oracle@db1?admin]$?mkdir?DAVE
[oracle@db1?admin]$?ls
DAVE??orcl
[oracle@db1?admin]$?cd?orcl
[oracle@db1?orcl]$?ls
adump??bdump??cdump??dpdump??pfile??udump
[oracle@db1?DAVE]$?cd?..
[oracle@db1?admin]$?cd?DAVE
[oracle@db1?DAVE]$?mkdir?bdump
[oracle@db1?DAVE]$?mkdir?cdump
[oracle@db1?DAVE]$?mkdir?pfile
[oracle@db1?DAVE]$?mkdir?udump
[oracle@db1?DAVE]$?ls
adump??bdump??cdump??dpdump??pfile??udump
?
二.修改init.ora初始化文件
2.1?生成源库的pfile?文件,默认生成位置在$ORACLE_HOME/dbs目录下:
SQL>?conn?/?as?sysdba
Connected.
SQL>?create?pfile?from?spfile;
File?created.
2.2?进入$ORACLE_HOME/dbs目录,将init?文件copy并重命名为initDAVE.ora.这个命名格式必须和实例名相同,不然数据库不能识别。
[oracle@db1?DAVE]$?cd?$ORACLE_HOME/dbs
[oracle@db1?dbs]$?ls
hc_orcl.dat??init.ora??????lkORCL?????snapcf_orcl.f
initdw.ora???initorcl.ora??orapworcl??spfileorcl.ora
[oracle@db1?dbs]$?cp?initorcl.ora?initDAVE.ora
[oracle@db1?dbs]$?ls
hc_orcl.dat???initdw.ora??initorcl.ora??orapworcl??????spfileorcl.ora
initDAVE.ora??init.ora????lkORCL????????snapcf_orcl.f
2.3?修改initDAVE.ora?文件,将orcl?改成DAVE
[oracle@db1?dbs]$?more?initDAVE.ora
orcl.__db_cache_size=171966464
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=58720256
orcl.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/DAVE/adump'
*.background_dump_dest='/u01/app/oracle/admin/DAVE/bdump'
*.compatible='10.2.0.1.0'
*.control_file_record_keep_time=14
*.control_files='/u01/app/oracle/oradata/DAVE/control01.ctl','/u01/app/oracle/oradata/DAVE/control02.ctl'
,'/u01/app/oracle/oradata/DAVE/control03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/DAVE/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='DAVE'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP)?(SERVICE=orclXDB)'
*.job_queue_processes=10
*.log_archive_dest_1='location=/u01/archivelog'
*.open_cursors=300
*.pga_aggregate_target=81788928
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=246415360
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/app/oracle/admin/DAVE/udump'
db_file_name_convert?=?('/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/DAVE')
log_file_name_convert?=?('/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/DAVE')
其中红色部分就是修改的部分.?Db_file_name_convert和log_file_name_convert两个参数是我们添加的,用来转换数据文件位置和redo?log位置。?在复制完成后,可以删除这2个参数。