Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 11gR2 使用 RMAN duplicate from active database 复制数据库

在Oracle 10g下,我们可以使用RMAN duplicate 命令创建一个具有不同DBID 的复制库。 到了Oracle 11gR2, RMAN 的duplicate 有2种方法实现:        1. Active database duplication        2. Backup-based duplication        Active database duplication 通过网络,直接copy target 库到auxiliary 库,然后创建复制库。 这种方法就不需要先用RMAN 备份数据库,然后将备份文件发送到auxiliary端。       这个功能的作用是非常大的。 尤其是对T级别的库。 因为对这样的库进行备份,然后将备份集发送到备库,在进行duplicate 的代价是非常大的。 一备份要占用时间,二要占用备份空间,三在网络传送的时候,还需要占用带宽和时间。所以Active database duplicate 很好的解决了以上的问题。 它对大库的迁移非常有用。        如果是从RAC duplicate 到单实例,操作是一样的。 如果是从单实例duplicate 到RAC。 那么先duplicate 到 单实例。 然后将单实例转换成RAC。  Oracle 10g 下Rman duplicate 的例子参考:       RMAN 异机 复制数据库       http://www.linuxidc.com/Linux/2011-03/33125.htm 下面我们看一下11gR2下,Active Database Duplicate的步骤如下: 1. 创建Auxiliary 库的Initialization Parameter:       如果使用spfile,那么在pfile文件里只需要设置一个DB_NAME参数,其他参数会在duplicate 命令中自己设置。       如果使用pfile,那么需要设置如下参数:              DB_NAME               CONTROL_FILES              DB_BLOCK_SIZE              DB_FILE_NAME_CONVERT              LOG_FILE_NAME_CONVERT              DB_RECOVERY_FILE_DEST 2. 在Auxiliary库创建Password File 文件        对于Backup-based duplication,Password File 不是必须的,但是对于Active Database Duplication,Password File是必须的。 因为Active Database Duplication 使用相同的SYSDBA 密码直接连接到auxiliary 库。 所以,确保target 和Auxiliary库的SYSDBA 密码一样很重要。         当然,我们也可以在duplicate 命令中加上PASSWORD FILE 选项(也是默认值), 这样RMAN 在copy 的时候也会从target 库把密码文件copy过来,如果auxiliary库上已经存在了Password file,那么该操作会重写那个文件。如:RMAN> DUPLICATE TARGET DATABASE TO Dave2> FROM ACTIVE DATABASE3> NOFILENAMECHECK4> PASSWORD FILE5> SPFILE; 3. 如果是windows 平台,还需要创建Database service:% set ORACLE_SID=DAVE
% set ORACLE_HOME=E:oracleproduct11.1.0db_1
% oradim -NEW -SID DAVE
  4. 配置oracle net,修改listener.ora和the tnsnames.ora 文件:在Target 库和Auxiliary 都要修改。这个也可以使用netca 和netmgr命令配置。 Listener.ora[oracle@www.linuxidc.com admin]$ cat listener.ora LISTENER =  (DESCRIPTION_LIST =    (DESCRIPTION =      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost6.localdomain6)(PORT = 1521))    )  ) ADR_BASE_LISTENER = /u01/app/oracle SID_LIST_LISTENER =   (SID_LIST =     (SID_DESC =       (GLOBAL_DBNAME = orcl)       (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)       (SID_NAME = orcl)     )   ) tnsname.ora[oracle@www.linuxidc.com admin]$ cat tnsnames.ora ORCL_ST =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.43)(PORT = 1521))    )    (CONNECT_DATA =      (SERVICE_NAME = orcl)    )  ) ORCL_PD =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.42)(PORT = 1521))    )    (CONNECT_DATA =      (SERVICE_NAME = orcl)    )  )  5. 用第一步创建的pfile文件,将Auxiliary启动到nomout 状态。 然后进行Active Database duplicate。
  • 1
  • 2
  • 下一页
Linux 下Oracle 环境变量- bash- ulimit- open files- cannot modify limit 解决RMAN 异机复制数据库相关资讯      Oracle教程 
  • Oracle中纯数字的varchar2类型和  (07/29/2015 07:20:43)
  • Oracle教程:Oracle中查看DBLink密  (07/29/2015 07:16:55)
  • [Oracle] SQL*Loader 详细使用教程  (08/11/2013 21:30:36)
  • Oracle教程:Oracle中kill死锁进程  (07/29/2015 07:18:28)
  • Oracle教程:ORA-25153 临时表空间  (07/29/2015 07:13:37)
  • Oracle教程之管理安全和资源  (04/08/2013 11:39:32)
本文评论 查看全部评论 (0)
表情: 姓名: 字数
版权所有©石家庄振强科技有限公司2024 冀ICP备08103738号-5 网站地图