Oracle中使用RMAN 异机复制数据库

RMAN 异机复制和同机复制操作步骤是一样的,不同的是我们需要把备份的文件copy到辅助库上

实验平台: REDHAT linux 4.7 + oracle 10g

目标库信息:

ORACLE_BASE: /u01/app/oracle

ORACLE_HOME: /u01/app/oracle/product/10.2.0/db_1

ORACLE_SID:orcl

IP: 192.168.1.20

辅助库信息:

ORACLE_BASE: /u01/app/oracle

ORACLE_HOME: /u01/app/oracle/product/10.2.0/db_1

ORACLE_SID:orcl

IP: 192.168.1.21

我们以实例名相同的为例,实例名不同也一样,在pfile里修改对应参数就可以了。

步骤如下:

(1)构建辅助数据库目录结构

(2)创建pfile,并复制到辅助数据库,修改相关内容

(3)创建辅助实例口令文件

(4)RMAN 备份源库

(5)添加配置监听

(6)将源库备份文件拷贝到辅助库相同位置

(7)用pfile文件,将辅助数据库启动到nomount 状态

(8)执行RMAN duplicate命令复制数据库

(9)创建spfile文件

(10)在磁带上恢复备份

(11)使用DBNEWID程序生成新的DBID

一、构建辅助数据库目录结构

1、Oracle data 目录

[oracle@localhost oracle]$ mkdir oradata

[oracle@localhost oracle]$ ls

oradata oraInventory product

[oracle@localhost oracle]$ cd oradata/

[oracle@localhost oracle]$ mkdir orcl

2、其他目录

[oracle@localhost oracle]$ pwd

/u01/app/oracle

[oracle@localhost oracle]$ mkdir admin

[oracle@localhost oracle]$ ls

admin oradata oraInventory product

[oracle@localhost oracle]$ cd admin

[oracle@localhost admin]$ ls

[oracle@localhost admin]$ mkdir orcl

[oracle@localhost admin]$ ls

orcl

[oracle@localhost admin]$ cd orcl

[oracle@localhost orcl]$ mkdir adump

[oracle@localhost orcl]$ mkdir bdump

[oracle@localhost orcl]$ mkdir cdump

[oracle@localhost orcl]$ mkdir dpdump

[oracle@localhost orcl]$ mkdir pfile

[oracle@localhost orcl]$ mkdir udump

[oracle@localhost orcl]$ ls

adump bdump cdump dpdump pfile udump

二、创建pfile,复制到辅助数据库,并修改相关参数

1、在源库上创建pfile 文件

SQL> conn sys/admin@orcl as sysdba;

Connected.

SQL> create pfile from spfile;

File created.

2、用scp 命令将pfile 文件传到辅助库。要放在$ORACLE_HOME/dbs目录下,不然ORACLE 不识别。

[oracle@db1 orcl]$ cd /u01/app/oracle/product/10.2.0/db_1/dbs

[oracle@db1 dbs]$ ls

hc_DAVE.dat initdw.ora lkDAVE orapworcl spfileorcl.ora

hc_orcl.dat init.ora lkORCL snapcf_orcl.f

initDAVE.ora initorcl.ora orapwDAVE spfileDAVE.ora

[oracle@db1 dbs]$ scp initorcl.ora 192.168.1.21:/$ORACLE_HOME/dbs

The authenticity of host '192.168.1.21 (192.168.1.21)' can't be established.

RSA key fingerprint is 1a:20:7a:05:bd:e0:ac:04:21:02:b1:72:01:69:40:d6.

Are you sure you want to continue connecting (yes/no) yes

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

Warning: Permanently added '192.168.1.21' (RSA) to the list of known hosts.

oracle@192.168.1.21's password:

initorcl.ora 100% 1108 1.1KB/s 00:00

3、在辅助库上确认文件是否传送过来

[oracle@localhost orcl]$ cd $ORACLE_HOME/dbs

[oracle@localhost dbs]$ ls

initdw.ora init.ora initorcl.ora

4、在辅助库上修改pfile参数

[oracle@localhost dbs]$ more initorcl.ora

orcl.__db_cache_size=167772160

orcl.__java_pool_size=4194304

orcl.__large_pool_size=4194304

orcl.__shared_pool_size=62914560

orcl.__streams_pool_size=0

*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'

*.background_dump_dest='/u01/app/oracle/admin/orcl/bdump'

*.compatible='10.2.0.1.0'

*.control_file_record_keep_time=14

*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/or

adata/orcl/control02.ctl','/u01/app/oracle/oradata/orcl/control03.ctl'

*.core_dump_dest='/u01/app/oracle/admin/orcl/cdump'

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_name='orcl'

*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'

*.db_recovery_file_dest_size=2147483648

*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'

*.job_queue_processes=10

*.log_archive_dest_1='location=/u01/archivelog'

*.open_cursors=300

*.pga_aggregate_target=81788928

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=246415360

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'

*.user_dump_dest='/u01/app/oracle/admin/orcl/udump'

说明,在这里我没有做修改,因为我异机复制实例名相同,存储位置也相同。如果说你复制的不同的话,就需要修改相关的实例名。 如果存储位置不同的话,还需要添

加以下参数,对数据文件位置进行转换。

db_file_name_convert = ('/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/DAVE')

三、创建辅助实例ORCL 的口令文件

[oracle@localhost dbs]$ cd $ORACLE_HOME/bin

[oracle@localhost bin]$ orapwd file=$ORACLE_HOME/dbs/orapworcl password=admin

[oracle@localhost bin]$ cd $ORACLE_HOME/dbs

[oracle@localhost dbs]$ ls

initdw.ora init.ora initorcl.ora orapworcl

时间: 2024-08-25 09:38:17

Oracle中使用RMAN 异机复制数据库的相关文章

rman异机恢复数据库详解

实验环境: 源数据库服务器名:china       数据库全局名和SID: orcl 目标数据库服务器名:beijing    只安数据库软件,未新建数据库 1.源数据库备份数据并拷贝到目标数据库服务器 \\192.168.2.7 \e$\app\Administrator\product\11.2.0\dbhome_1\database\SPFILEORCL.ORA 复制到 E:\app\Administrator\product\11.2.0\dbhome_1\database 2.目标数

Oracle rman异机备份问题

问题描述 Oracle rman异机备份问题 初学oracle rman,遇到了不大理解的地方. 我想实现的是:现在两台主机,含有数据的A机与空机B.想实现在B中备份A. 现在在B中建立了恢复目录,在A的rman中使用语句: backup database: 进行全库备份(因为测试,所以使用这一简单方式). 但我想实现的是在B中保留A的备份,这样A down掉后我可以从B去恢复. 请问是在B的rman中直接操作,还是需要将A的备份直接复制到B的指定位置中实现备份? 关于这一机制不是很理解,可能问

rman异机duplicate active数据库的实现

实验环境: 源数据库服务器名:beijing    数据库全局名和SID: orcl 辅助数据库:suzhou 只安装数据库软件,没有新建数据库 在辅助服务器 suzhou上复制一个例程名和数据库名都是bj的数据库. 步骤如下: (1)辅助 数据库服务器suzhou上构建辅助数据库目录结构 (2)suzhou服务器上建立数据库复 制例程服务 (3)源数据库服务器名beijing上创建pfile,并复制到辅助数据库,修 改相关内容 (4)在辅助服务器suzhou上用pfile文件,将辅助数据库启动

Linux平台下RMAN异机恢复总结

下面总结.整理一下RMAN异机恢复这方面的知识点,这篇笔记在个人笔记里面躺了几年了,直到最近偶然被翻看到,遂整理.总结一下.如下所示,个人将整个RMAN异机恢复分为准备工作和操作步骤两大部分.当然,准备工作里面,有些步骤不是必须的,可以跳过或忽略的.这个取决于你的实际环境和你对RMAN异机恢复的熟悉程度.   准备工作   1:了解一下目标服务器与源服务器的操作系统版本信息   需要对比一下目标服务器与源服务器的操作系统版本是否一致,具体来说,操作系统版本信息.内核信息(例如Oracle Lin

RMAN异机恢复遭遇ORA-01547、ORA-01152、ORA-01110错误案例

测试环境:     操作系统  :  Red Hat Enterprise Linux ES release 4 (Nahant Update 4)   VMWARE     数据库     :  Oracle Database 10g Release 10.2.0.4.0 - Production     简要介绍,一台服务器A位于虚拟机VMWARE上,由于测试需要,在VMWARE上克隆了该系统作为服务器B,过了一段时间,由于数据变更,需要将服务器A上的ORACLE数据库还原恢复到服务器B上.

使用rman 管理的复制数据库遇到的问题

在使用rman执行复制数据库时遇到如上问题:在解决这个问题的过程中要谢谢 网友lizisor1 的帮助. 很可能是的备份不全,duplicate在restore时候找不到恢复点. 回复 #7 lizisor1 的帖子你分析的是正确的,的确在我rman备份时,说归档日志是不完整的.RMAN>backup database include current controlfile plus archivelog format ='f:\rman\full-%u_%s.bak'; 在执行的时候就报错说归

oracle 11g RMAN异机恢复过程

原库确定数据文件,日志文件,tempfile 文件信息 select group#,status,type, member from v$logfile; col name format a65 select file#,name,bytes/1024/1024 MB from v$datafile; select name from v$controlfile; 1.创建实例 oradim (命令行下包含多种可选项,可自行选择) oradim -new -sid maxld 在已有数据库运行的

Oracle中通过RMAN 克隆数据库

目的:在同一台机器上用rman 克隆库 环境:RedHat 4 + Oracle 10g 主库库名:db01 克隆库名: clonedb 1.主库db01 ,用rman进行备份(datafile.controlfile.archivelog file) 08:49:43 SQL> show parameter name ; NAME                                 TYPE        VALUE --------------------------------

RMAN异机还原的ORA-19698错误

实验环境: 操作系统    :Oracle Linux Server release 5.7 64 bit 数据库版本:Oracle Database 10g Release 10.2.0.4.0 - 64bit Production 案例说明: 为了测试.验证备份的有效性,需要将服务器A上的数据库的备份集还原到服务器B上,服务器B上已经创建了相同名称的ORACLE_SID和DB Name,对应数据文件目录环境完全一致 Step 1: startup nomount Step 2:  resto