欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 10g 中Duplicate 复制数据库

程序员文章站 2022-05-22 11:26:17
...

Oracle 10g 中Duplicate 复制数据库,本次实验通过duplicate命令,在本机环境中创建一个复制数据库。目标数据库为hongye、复制数

本次实验通过duplicate命令,在本机环境中创建一个复制数据库。目标数据库为hongye、复制数据库为catdb。

环境别名设置:
alias sql='rlwrap sqlplus /nolog'
alias rman='rlwrap rman'
alias dbs='cd $Oracle_HOME/dbs'
alias rdb='cd $ORACLE_HOME/rdbms/admin'
alias udu='cd $ORACLE_BASE/admin/$ORACLE_SID/udump'
alias bdu='cd $ORACLE_BASE/admin/$ORACLE_SID/bdump'
alias rmalert='rm -f $ORACLE_BASE/admin/$ORACLE_SID/bdump/*;rm -f $ORACLE_BASE/admin/$ORACLE_SID/udump/*'


详细步骤如下:

1、构建catdb的初始化参数文件,本次实验使用的参数文件是从hongye数据库中创建出来的,并做了一些修改。
注意参数db_file_name_convert和log_file_name_convert参数,这两个参数控制了数据文件和日志文件的重命名,关于数据文件的重命名也可以使用set newname命令,日志文件的重命名可以在duplicate命令的子句中指定,但均没有init参数中的转换方便。
db_file_name_convert和log_file_name_convert参数都是使用串替换的方式重命名的,通过将目标文件名的指定的字符串替换成指定的字符串,从而生成新的文件名
本次实验中,,hongye数据库的数据文件存放在路径为:/oracle/oradata/hongye/,而catdb的数据文件路径为:/oracle/oradata/catdb/,所以只要将所有文件名中的hongye替换成catdb就可以了。

[oracle@ORA10G ~]$ dbs
[oracle@ORA10G dbs]$ echo $ORACLE_SID
hongye
[oracle@ORA10G dbs]$ ll
total 6960
-rw-rw---- 1 oracle oinstall 1544 Feb 11 22:13 hc_hongye.dat
-rw-r----- 1 oracle oinstall 848 Feb 17 19:46 initcatdb.ora
-rw-r--r-- 1 oracle oinstall 12920 May 3 2001 initdw.ora
-rw-r----- 1 oracle oinstall 1079 Feb 17 19:21 inithongye.ora
-rw-r----- 1 oracle oinstall 2469 Feb 11 20:59 init.ora
-rw-r----- 1 oracle oinstall 24 Feb 11 19:20 lkHONGYE
-rw-r----- 1 oracle oinstall 1536 Feb 17 19:49 orapwcatdb
-rw-r----- 1 oracle oinstall 1536 Feb 15 21:01 orapwhongye
-rw-r----- 1 oracle oinstall 7061504 Feb 17 19:20 snapcf_hongye.f
-rw-r----- 1 oracle oinstall 3584 Feb 17 19:16 spfilehongye.ora
-rw-r----- 1 oracle oinstall 694 Feb 17 19:34 sqlnet.log
[oracle@ORA10G dbs]$ vi initcatdb.ora
*.audit_file_dest='/oracle/admin/catdb/adump'
*.background_dump_dest='/oracle/admin/catdb/bdump'
*.compatible='10.2.0.5.0'
*.control_files='/oracle/oradata/catdb/control01.ctl'
*.core_dump_dest='/oracle/admin/catdb/cdump'
*.db_block_size=8192
*.db_domain='oracle.com'
*.db_file_multiblock_read_count=16
*.db_name='catdb'
*.db_recovery_file_dest='/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=catdbXDB)'
*.job_queue_processes=10
*.nls_date_format='yyyy-mm-dd hh24:mi:ss'
*.open_cursors=30
*.pga_aggregate_target=16777216
*.processes=50
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=70
*.sga_target=80M
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/oracle/admin/catdb/udump'
--文件名的转换参数:
db_file_name_convert=('hongye','catdb')
log_file_name_convert=('hongye','catdb')
~
~
~
~
~
"initcata.ora" 25L, 848C written

Oracle 10g 中Duplicate 复制数据库