码迷,mamicode.com
首页 > 数据库 > 详细

RMAN duplicate数据库

时间:2015-05-08 00:05:29      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:oracle   rman   duplicate   


使用RMAN的duplicate命令来创建一个辅助数据库,该辅助数据库一但创建成功就和源数据库脱离了关系,可以使用辅助数据库做一些实验。

本文利用源数据库在本机的其他目录中创建一个辅助数据库。

源数据库:

SID = ORCL

辅助数据库:

SID = DUP

源数据库和辅助数据库的物理文件目录见下面initDUP.ora.

步骤一. 创建辅助数据库的秘钥文件。

执行orapwd命令来创建秘钥文件,远程登录数据库时就需要秘钥文件中所保存的密码。

命令:

$: orapwd file=orapwDUP password=oracle entries=30

秘钥文件的格式为orapwSID,我们的辅助数据库SID为DUP。


步骤二. 创建辅助数据库的参数文件initDUP.ora

DB_NAME='DUP'
shared_pool_size=163577856
control_files='/u01/app/oracle/oradata/DUP/controlfile/o1_mf_blt7js24_.ctl','/u01/app/oracle/oradata/DUP/controlfile/o1_mf_blt7js9b_.ctl'
db_block_size=8192
DB_FILE_NAME_CONVERT=('/u01/app/oracle/oradata/ORCL/datafile','/u01/app/oracle/oradata/DUP/datafile')
LOG_FILE_NAME_CONVERT=('/u01/app/oracle/oradata/ORCL/onlinelog','/u01/app/oracle/oradata/DUP/onlinelog')
我们的辅助数据库中只有这必要的6个参数。因为我们是在同一台机器上创建辅助数据库,所以辅助数据库和源数据库的数据文件目录和联机日志文件目录必然不同,所以需要对目录进行转换,最后后两个参数就是源数据库和辅助数据库数据文件和联机日志文件的目录转换。

然后sqlplus连接上辅助数据库上,注意转换环境变量$ORACLE_SID。(使用export ORACLE_SID=DUP命令进行转换)

使用initDUP.ora来创建spfile:

SQL>create spfile from pfile。


步骤三. 启动辅助数据库

由于此时辅助数据库并没有控制文件,所以只把数据库启动到nomount状态

SQL> startup nomount;


步骤四. 配置监听和网络服务名

为辅助数据库DUP创建监听,在已有的监听器LISTENER中将数据库DUP添加进来就可以了,可以在Linux使用netca和netmgr两个工具来完成,也可以在$ORACLE_HOME/netwaork/admin/listener.ora中创建如下文本:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
      (SID_NAME = ORCL)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = DUP)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
      (SID_NAME = DUP)
    )
  )

LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.159.155)(PORT = 1521))
  )
修改$ORACLE_HOME/network/admin/tnsnames.ora

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.159.155)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)
    )
  )

DUP =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.159.155)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = DUP)
    )
  )
配置完上述两个文件后,记得将监听进程LISTENER启动起来

$ lsnrctl start

步骤五.启动源数据库到mount或open状态

因为我们要使用rman连接源数据库,所以必须将源数据库启动到mount或open状态。

将ORACLE_SID切换为ORCL后

sql> startup

步骤六.验证源数据库的备份

需要使用源数据库的备份来创建辅助数据库,使用rman连接到ORCL数据库上,使用list backup查看是否有备份,保险起见,可以重新做个全备。

步骤七.执行复制

使用rman连接到源数据库和辅助数据库上

$ rman target sys/xxxxx@orcl auxiliary sys/orcl@dup

然后执行如下命令进行复制

run {

allocate channel c1 device type disk;

duplicate target database to dup;

}

命令执行完毕后就可以连接到辅助数据库进行操作了。


参考文献:

《涂抹Oracle》

RMAN duplicate数据库

标签:oracle   rman   duplicate   

原文地址:http://blog.csdn.net/tom555cat/article/details/45567219

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!