ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 第17 章、复制目标数据库

第17 章、复制目标数据库

原创 Linux操作系统 作者:红叶DBA 时间:2011-02-27 12:42:53 0 删除 编辑

17 章、复制目标数据库

1.          Duplicate target database to aux1;   (简单duplicate 命令)

2.        Run{                                                      (复杂duplicate 命令)

Set until time  xxx ;

Duplicate target database to aux1 pfile= xxx  nofilenamecheck

Device type sbt params  env=(nb_ora_serv=rmsrv) 

Logfile  xxx.log  size 100m, xxx  size 100m, xxx  size 100m;

}

3.        复制进程分为6个不同阶段:

l  RMAN 确定备份的状态和位置;

l  RMAN 在辅助实例上分配辅助通道;

l  RMAN 在辅助实例上还原数据文件;

l  RMAN 构建新的辅助控制文件;

l  如果有必要,RMAN 从备份中还原归档日志,并进行必要的恢复操作;

l  RMAN 重置辅助实例的DBID ,并且使用resetlog 打开辅助数据库。

4.        如果使用的存储介质为磁盘,那么不需要另外分配辅助通道,使用默认的磁盘通道;如果使用的是磁带,那么就需要配置辅助通道:

Configure default device type to sbt;

Configure device type sbt parallelism 2;

Configure auxiliary channel 1 device type sbt params=( env=(xxx,xxx) );

5.        如果需要将数据文件还原到不同的位置,有种方法:

n  Configure auxname for datafile 1 to  new location ;

n  Run{

Allocate channel xxx type  sbt_tape ;

Set newname for datafile 1 to  new location ;

Duplicate target database to aux1;

}

n  使用auxiliary 中的pfile 参数:

Db_file_name_convert=( old ,new ,old2 ,new2 );

n  此参数是一个简单的串转换参数,可以传递一个目录名:

Db_file_name_convert=( /oracle/oradata/old ,oracle/oradata/new );

n  进一步简化:Db_file_name_convert=( old ,new );

6.        修改数据库DBID 的过程,在数据库处于mount 状态时,调用dbms_backup_restore.zerodbid(0) 的过程,该过程检查每个数据文件并将数据文件头的DBID 清零,然后关闭数据库,并重新创建控制文件,重新创建控制文件的时候,Oracle 会检查每个数据文件头的DBID ,如果没有发现任何的DBID ,那么就会重新生成DBID ,并且加入到每个数据文件头。

7.        在最后resetlogs 的过程中,会创建重做日志文件,如果在同一个环境中进行的实验,那么就必须要修改日志文件的位置了,使用pfile 中的转换参数log_file_name_convert 来进行转换,此参数和db_file_name_convert 用法类似。

8.        复制到相同服务器的注意事项:

l  名称问题,同一台服务器中,Oracle 内存在OS 中是以db_name 区分的,所以target auxiliary 实例必须具有不用的db_name instance_name

l  文件位置问题,target auxiliary 必须使用不同的文件位置,要修改位置的文件包括:控制文件、数据文件、联机日志文件。

9.        口令文件很重要,在Unix 中,口令文件必须命名为orapw ,存储在dbs 目录中,windows 中必须命名为pwd.ora ,存储在database 目录中。

10.     具体复制操作(相同服务器 在一台主机上的复制):

1)         构建相关的目录,包括oradata admin adump bdump cdump udump archive 目录(如果是FRA ,则是相应的FRA 目录);

2)      复制目标数据库的pfile 到辅助数据库pfile 的位置;

3)      修改辅助据库中的某些参数,如果需要的话,还要加上数据文件目录名称的转换;

4)      创建辅助数据库的口令文件;

5)      nomount 模式加载辅助数据库,使用修改过的pfile 文件;

6)      修改相应的网络配置文件,使得目标数据库和辅助数据库有相应的访问通道;

7)      RMAN 连接目标数据库和辅助数据库,运行duplicate 命令:

Duplicate target database to aux1 pfile=xxx

Logfile  xxx1  size 50m, xxx2 size 50m, xxx3  size 50m;

11.        注意:如果备份设备为磁带,那么在运行duplicate 命令之前需要配置通道:

a)       Show channel;

b)       Configure auxiliary channel 1 device type  sbt_tape parms= ”xxx”;

12.     具体复制操作(相同数据库):步骤类似,但是可不用转换文件名,可使用NFS ,但是NFS 有可能会遇到问题:ORA-27054 NFS file system where the file is created or resides is not mounted with correct options;

13.     使用DBNEWID 实用程序修改 dbid

l  以一致状态关闭整个数据库,然后启动数据库到mount 状态,接着运行DBNEWID 实用程序,最后以resetlogs 方式打开数据库。

l  Nid target /

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

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

注册时间:2010-08-19

  • 博文量
    54
  • 访问量
    70899