ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 使用RMAN创建副本数据库

使用RMAN创建副本数据库

原创 Linux操作系统 作者:luoqun_520 时间:2011-07-12 16:23:33 0 删除 编辑

可以使用很多种方法创建副本数据库,这些方法均直接或间接的使用RMAN。使用RMAN DUPLICATE命令可以在保留目标数据库的基础上依靠目标数据库的备份创建一个副本数据库。该副本即可与目标数据库完全相同,也可仅包含目标数据库表空间的一部子集。目标站点以及副本站点甚至可以在同一台机器上。以下列出创建副本数据库的具体步骤。

 

一、    利用RMAN备份源数据库

对源数据库进行全备,并且将所有的数据库文件备份(包括增量备份和归档重做日志文件)保存在测试数据库可以访问的文件系统上,否则无法进行恢复。

 

二、    为测试数据库创建口令文件和实例

 

1.         创建口令文件:

C:\Documents and Settings\Administrator>

orapwd file=C:\oracle\product\10.2.0\db_1\database\pwddave.ora  password=dave entries=10

 

2.         创建实例:

C:\Documents and Settings\Administrator>oradim -new -sid test

实例已创建。

 

三、    建立测试库与源数据库的网络连接,

 

在测试库中配置连接描述符

 

ORCL =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.248.11)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )

 

四、    创建pfile文件

 

拷贝源数据库的参数文件到测试库ORACLE_HOME/database目录下,更名为inittest.ora

修改的项目有:

a)         因为实例名改变了

audit_file_dest, backgroud_dump_dest, core_dump_dest,user_dump_dest这四个目录要做相应的修改。

b)        control_files的值要改,改到测试库对应的控制文件的路径, :

 'E:\oradata\test\control01.ctl',....

c)         db_name改成测试库名test

d)         重定义数据文件的位置,通过db_file_name_convert参数定义,如:*.db_file_name_convert=('C:\ORACLE_DATA\devdb', 'E:\oradata\test')   --前一个是数据文件的源目录,后一个是目标目录。

e)         重定义联机日志文件的位置,通过log_file_name_convert,如:

*.log_file_name_convert=('C:\ORACLE_DATA\devdb', 'E:\oradata\test')  --前一个是日志文件的源目录,后一个是目标目录

 

五、    NOMOUNT模式启动测试数据库

SET ORACLE_SID=test

 

SQL> startup nomount

ORACLE 例程已经启动。

 

Total System Global Area  209715200 bytes

Fixed Size                  1248140 bytes

Variable Size              79692916 bytes

Database Buffers          125829120 bytes

Redo Buffers                2945024 bytes

 

六、    MOUTNOPEN模式启动源数据库

Set  ORACLE_SID=ORCL

SQL> startup

ORACLE 例程已经启动。

 

Total System Global Area  209715200 bytes

Fixed Size                  1248140 bytes

Variable Size              79692916 bytes

Database Buffers          125829120 bytes

Redo Buffers                2945024 bytes

数据库装载完毕。

数据库已经打开。

七、    执行恢复

 

C:\Documents and Settings\Administrator>set oracle_sid=test

 

C:\Documents and Settings\Administrator>rman target  sys/orcl@orcl auxiliary sys/test

 

恢复管理器: Release 10.2.0.1.0 - Production on 星期三 3 16 15:42:28 2011

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

连接到目标数据库: ORCL (DBID=1266395358)

已连接到辅助数据库: TEST (未装载)

 

RMAN> run{

2> allocate auxiliary channel aux0 device type disk;

3> allocate auxiliary channel aux1 device type disk;

4> duplicate target database to "test";}

 

分配的通道: aux0

通道 aux0: sid=156 devtype=DISK

 

分配的通道: aux1

通道 aux1: sid=155 devtype=DISK

 

启动 Duplicate Db 17-3 -11

.

.

.

 

内存脚本的内容:

{

   Alter clone database open resetlogs;

}

正在执行内存脚本

 

数据库已打开

完成 Duplicate Db 17-3 -11

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12751636/viewspace-701988/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-07-14

  • 博文量
    15
  • 访问量
    20244