Oracle Duplicate database

                               Oracle Duplicate database

duplicate分为2种模式,1.直接从active状态的库直接复制;2.从目标库的备份文件来复制;现在两种方法都介绍下,直接上干货。

试验环境(2台机器):

        target db:TESTA

        aux db:TESTA(db_name可修改)

一、备份方式复制

       步骤:1.检查是否为archivelog模式(mount状态下alter database archivelog)。

                   2.切换日志(alter system switch logfile;)。

                   3.RMAN备份数据库及归档日志,生成备份文件(这里要在rman中把控制文件自动备份功能开启,不然要就在备份雨中加上备份控制文件的子句)。

                   4.copy target db的pfile和备份文件到aux机器上(并修改pfile的中参数,如db_name或文件路径不一致时)。

                   5.aux库设置ORACLE_SID参数。                   

                   6.aux创建密码文件。

                   7.aux创建spfile并startup nomount。

                   8.rman duplicate database。

      实施:

                1.检查是否为archivelog模式

                    

                这里可以看到是archive mode的。

                2.切换日志

                  

                3.备份

可以看到这里生成了4个文件。

      4.复制target db的pfile和备份文件到aux db上

       我这里aux的实例名和路径都是一样的,所以不用修改参数文件(如果不一样则修改pfile中的db_name或用                   

        db_file_name_convert和log_file_name_convert参数进行修改)

       5.aux库设置ORACLE_SID参数

          

       6.在aux库创建密码文件(sys密码最好与target 库的保持一致)    

           

       7.aux创建spfile并startup nomount

         

      8.rman duplicate database。

        

 

  

           这是aux db已经复制完成,检查状态。 

二、active模式复制

        步骤同一种大致一样,

          1.不同的部分为第三步的备份动作不需要,改成配置tnsnames.ora文件。 文件路径   

             $ORACLE_HOME/network/admin/tnsnames.ora

            

           红色涂改部分为target db和aux db主机的IP。target和aux 报纸tnsnames.ora一样即可。

       2.duplicate语句不同,改为

          duplicate target database to TESTA from active database;

     PS:一定要注意ORACLE_SID变量的值,数据文件所在的路径目录是否都存在等

猜你喜欢

转载自blog.csdn.net/qq_31144297/article/details/85119555