关于RMAN 复制的理论知识,参考:RMAN 复制目标数据库的理论知识http://www.linuxidc.com/Linux/2011-03/33126.htmRMAN 异机复制和同机复制操作步骤是一样的,不同的是我们需要把备份的文件copy到辅助库上去,而且位置要和目标库上一直,因为备份集的位置是写在控制文件里的。RMAN 同机复制数据库http://www.linuxidc.com/Linux/2011-03/33127.htm实验平台: RedHat linux 4.7 + Oracle 10g目标库信息:ORACLE_BASE: /u01/app/oracleORACLE_HOME: /u01/app/oracle/product/10.2.0/db_1ORACLE_SID:orclIP: 192.168.1.20辅助库信息:ORACLE_BASE: /u01/app/oracleORACLE_HOME: /u01/app/oracle/product/10.2.0/db_1ORACLE_SID:orclIP: 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]$ lsoradata oraInventory product[oracle@localhost oracle]$ cd oradata/[oracle@localhost oracle]$ mkdir orcl1.2 其他目录[oracle@localhost oracle]$ pwd/u01/app/oracle[oracle@localhost oracle]$ mkdir admin[oracle@localhost oracle]$ lsadmin oradata oraInventory product[oracle@localhost oracle]$ cd admin[oracle@localhost admin]$ ls[oracle@localhost admin]$ mkdir orcl[oracle@localhost admin]$ lsorcl[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]$ lsadump 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]$ lshc_DAVE.dat initdw.ora lkDAVE orapworcl spfileorcl.orahc_orcl.dat init.ora lkORCL snapcf_orcl.finitDAVE.ora initorcl.ora orapwDAVE spfileDAVE.ora[oracle@db1 dbs]$ scp initorcl.ora 192.168.1.21:/$ORACLE_HOME/dbsThe 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)? yesWarning: Permanently added "192.168.1.21" (RSA) to the list of known hosts.oracle@192.168.1.21"s password:initorcl.ora 100% 1108 1.1KB/s 00:002.3 在辅助库上确认文件是否传送过来[oracle@localhost orcl]$ cd $ORACLE_HOME/dbs[oracle@localhost dbs]$ lsinitdw.ora init.ora initorcl.ora2.4 在辅助库上修改pfile参数[oracle@localhost dbs]$ more initorcl.oraorcl.__db_cache_size=167772160orcl.__java_pool_size=4194304orcl.__large_pool_size=4194304orcl.__shared_pool_size=62914560orcl.__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/oradata/orcl/control02.ctl","/u01/app/oracle/oradata/orcl/control03.ctl"*.core_dump_dest="/u01/app/oracle/admin/orcl/cdump"*.db_block_size=8192*.db_domain=""*.db_file_multiblock_read_count=16*.db_name="orcl"*.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/orcl/udump"说明,在这里我没有做修改,因为我异机复制实例名相同,存储位置也相同。 如果说你复制的不同的话,就需要修改相关的实例名。 如果存储位置不同的话,还需要添加以下参数,对数据文件位置进行转换。db_file_name_convert = ("/u01/app/oracle/oradata/orcl","/u01/app/oracle/oradata/DAVE") 三.创建辅助实例ORCL 的口令文件[oracle@localhost dbs]$ cd $ORACLE_HOME/bin[oracle@localhost bin]$ orapwd file=$ORACLE_HOME/dbs/orapworcl password=admin[oracle@localhost bin]$ cd $ORACLE_HOME/dbs[oracle@localhost dbs]$ lsinitdw.ora init.ora initorcl.ora orapworclwindows下oracle默认的位置是$ORACLE_HOME/database目录,文件名格式是pwdSID.ora。 linux下oracle默认的位置是$ORACLE_HOME/dbs目录,文件名格式是orapwSID。 创建完后,数据库需要重启动,新的口令文件才能生效。 关于口令文件创建,详细内容参考Oracle OS认证口令文件密码丢失处理
http://www.linuxidc.com/Linux/2011-03/33128.htm 四.RMAN 备份源库(orcl)[oracle@db1 backup]$ rman target sys/admin@orclRecovery Manager: Release 10.2.0.1.0 - Production on Sun Jul 18 18:26:16 2010Copyright (c) 1982, 2005, Oracle. All rights reserved.connected to target database: ORCL (DBID=1248423599)RMAN>RUN { allocate channel c1 type disk;allocate channel c2 type disk;BACKUP FORMAT "/u02/backup/orcl_%U_%T" skip inaccessible filesperset 5 DATABASE TAG orcl_hot_db_bk; sql "alter system archive log current";BACKUP FORMAT "/u02/backup/arch_%U_%T" skip inaccessible filesperset 5 ARCHIVELOG ALL DELETE INPUT; backup current controlfile tag="bak_ctlfile" format="/u02/backup/ctl_file_%U_%T";backup spfile tag="spfile" format="/u02/backup/ORCL_spfile_%U_%T";release channel c2;release channel c1;}备份脚本,具体参考:Linux 平台下 RMAN 全备 和 增量备份 shell 脚本http://www.linuxidc.com/Linux/2011-02/32707.htm 五.添加,配置监听5.1 在辅助库的Listener.ora 文件中,添加如下内容SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = orcl) (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1) (SID_NAME = orcl) ) )5.2 修改辅助库的tnsnames.ora 文件,添加如下内容TARGETORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.20)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )5.3 修改源库的tnsnames.ora 文件,添加如下内容:AUXORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.21)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )建议使用net manager 工具从界面来修改,这样不容易出错
Oracle 11gR2 使用 RMAN duplicate from active database 复制数据库RMAN 复制目标数据库的理论知识相关资讯 RMAN
- RMAN故障一例(归档的备份,从不 (今 20:42)
- RMAN的FORMATA格式说明 (03月10日)
- Oracle 11g RMAN复制数据库的测试 (01月19日)
| - RMAN数据库迁移 (05月22日)
- 使用RMAN复制恢复开发库环境 (02月17日)
- Oracle 11g RMAN跨平台传输表空间 (01月19日)
|
本文评论 查看全部评论 (0)