Oracle Rman 克隆 duplicate 19c dataguard 超详细

本文围绕Oracle数据库的RMAN克隆展开,介绍了RMAN克隆的类型,如基于Active Database和基于BACKUP,其中Active Database Duplication又分使用镜像备份和备份片两种方式。还给出异机在线克隆示例,包括环境、步骤、克隆日志等内容,推荐基于活动数据库库的克隆方式。

1.rman克隆

https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-duplicating-databases.html#GUID-EA6E8219-56BF-471C-AC5A-DFC55E760806
Duplicating Databases

1.2类型

文档参考
Backup-Based Duplication with a Target Connection
也就是TARGET到源数据库和AUXILIARY辅助实例,如图
image.jpg
Backup-Based Duplication Without a Target Connection
TARGET到的不是源数据库而是catalog库,如图

存储在磁带备份上的设备不支持这种方式

image.jpg
Backup-Based Duplication Without a Target Database and Recovery Catalog Connection
这种方式不连接到target或catalog,而是连接到辅助实例使用目标主机的备份来执行复制。
image.jpg
总的来说

  1. 基于 Active Database
  2. 基于 BACKUP

对于Active database duplicate来说,在克隆数据库时不用对Source备份,这对于大数据特别是T级别的数据库来说优点非常明显,复制前不需要进行备份,减少了备份和传送备份的时间,同时节省备份空间。
源库必须归档

1.3Active Database Duplication

上面分类所示,关于active的又有这也两种方式:

  • 使用镜像备份的
  • 使用备份片的

一个主动推给辅助实例,一个是复制实例主动去拉

1.3.1Using Image Copies(push)

RMAN TARGET连接到源库和AUXILIARY辅助实例,通过网络将数据文件传输到辅助实例,这也被称为基于push的方法。这种方法可能会消耗源库的额外资源,可以rman分配通道复制来把握性能影响。
image.jpg

1.3.2Using Backup Sets

RMAN TARGET连接到源库和AUXILIARY辅助实例,辅助实例通过 Oracle 网络服务连接到源库,辅助实例主动通过网络从源库检索所需的数据文件后"拉"过来

Active Database Duplication使用Backup Sets在12.1后才可以使用
使用备份集的好处:
1.rman压缩未使用的块,减少网络传输消耗
2.源库上可以并行创建使用
3.可以在源库的备份集上加密

image.jpg

2.异机在线克隆示例:

2.1环境

主机db1克隆到db2,ip分别为192.168.32.171和192.168.32.172
两台环境相同,相关目录和sid等都一样,只是db2没有数据

无论是基于已有的备份的克隆还是基于活动库的克隆,都使用:
DUPLICATE DATABASE to orcl FROM ACTIVE DATABASE;
oracle会自行连接到target判断
使用nofilenamecheck选项后将不会主动检查重复名称,环境相同一定要带上
克隆是要排除某些表空间使用:
SKIP TABLESPACE HR, SH
但注意要检查自包含

2.2步骤

一些关键步骤:
1.创建辅助实例的Oracle口令文件
2.建立到辅助实例的Oracle Net连接(监听文件增加库的静态注册,本地命名增加本地远程库的名字)
3.创建辅助实例的初始化参数文件,并创建相关目录
4.在NOMOUNT模式下启动辅助实例
5.装载或打开目标数据库(确保归档开启)
6.确保归档重做日志文件可用
7.根据需要分配辅助通道
8.执行DUPLICATE命令

#由于环境一致,db2直接使用db1的pfile和密码文件,无需更改
#相关日志和数据存放的目录都已创建(闪回区,归档目录)
#两边机器都加添加对方的hosts解析
#注册静态监听,listener.ora添加
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/app/oracle/product/19.3/dbhome_1)
      (SID_NAME = orcl)
    )
  )

#重启监听,确认注册


#db2使用pfile启动

SQL> startup nomount pfile='/u01/app/oracle/product/19.3/dbhome_1/dbs/initorcl.ora'
ORACLE 例程已经启动。

Total System Global Area 1543500872 bytes
Fixed Size                  9135176 bytes
Variable Size             989855744 bytes
Database Buffers          536870912 bytes
Redo Buffers                7639040 bytes


#在d
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值