RMAN 同机复制数据库
RMAN 同机复制数据库
关于RMAN 复制的理论知识,参考RMAN 复制目标数据库的理论知识
实验平台: RedHat + Oracle 10g
源库的相关信息:
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个参数。
|
评论暂时关闭