RMAN 同机复制数据库


关于RMAN 复制的理论知识,参考RMAN 复制目标数据库的理论知识

 

实验平台: RedHat + Oracle 10g

源库的相关信息:

ORACLE_BASE: /u01/app/oracle

ORACLE_HOME: /u01/app/oracle/product/10.2.0/db_1

ORACLE_SIDORCL

复制的数据库实例名假设为: 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_convertlog_file_name_convert两个参数是我们添加的,用来转换数据文件位置和redo log位置。 在复制完成后,可以删除这2个参数。

  • 1
  • 2
  • 下一页

相关内容