通过Oracle数据库备份将本地数据库环境整体复制到云端
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通过数据库备份将本地数据库环境整体复制到云端.
将本地数据库迁移到云端有多种方法,如在Oracle Database 12中可以将某一个容器数据库方便、轻松的搬到云端(通过SQL Develop图形化、向导式迁移,实现一键式迁移);将本地数据库的备份在云端进行恢复,等等。有时我们需要将本地数据库的环境完整迁移到云端,如应用整体环境的云端化,在云端建立一个Standby数据库等。今天要介绍的主题就是将本地数据库的环境完整迁移到云端。
RMAN是Oracle数据库提供的功能强大的备份、恢复及管理的功能组件。我们将借助RMAN的Database Duplication功能来实现。
RMAN提供2种类型的数据库复制:
●Backup-based duplication
基于RMAN备份或拷贝进行数据库复制。
●Active database duplication
通过网络从活动的源数据库COPY到复制数据库,可以同时结合使用备份集(backup sets)或文件拷贝(image copy)。
Backup-based duplication又分为3种情形,
●连接到源数据库,但不连接到恢复目录(Backup-Based Duplication with a Target
Connection)
●不连接到源数据库,但连接到恢复目录(Backup-Based Duplication Without a Target
Connection)
●不连接到源数据库和恢复目录(Backup-Based Duplication Without a Target
Database and Recovery Catalog Connection)
我们要介绍和演示的就是Backup-based duplication的第3种情形:不连接到源数据库和恢复目录(Backup-Based Duplication Without a Target Database and Recovery Catalog Connection)。
为了节省些时间,下面的Backup-based duplication操作都是基于本地网络环境。
数据库环境说明:
●操作系统:Oracle Linux 7.1
●数据库:Oracle Database 12.1.2.0
源数据库(target db):SID_NAME =ORCL
要复制到的数据库(auxiliary db):SID_NAME =ORCL_DUP
操作步骤包括如下5步:
●源数据库的必要配置
●源数据库上通过RMAN进行备份
●准备要复制到的数据库(auxiliary db)
●启动rman复制数据库
●验证数据库复制结果
1.源数据库的配置
需要配置源数据库自动备份控制文件和spfile,在复制时要用到备份的spfile读取数据库的配置参数。
rman target sys/Wj#112233@//192.168.56.101/ORCL catalog C##rman/Wj#112233@//192.168.56.101/ORCL
configure controlfile autobackup on;
2.源数据库上通过RMAN进行备份
rman target sys/Wj#112233@//192.168.56.101/ORCL catalog C##rman/Wj#112233@//192.168.56.101/ORCL
backup database force plus archivelog;
(加上force参数,可以备份只读表空间等,备份的信息更全面。
加上plus archivelog参数,可以备份archivelog,复制时选择将archivelog中的数据也应用到要复制到的数据库中。
)
3.准备要复制到的数据库(auxiliary db)
源数据库(target db):SID_NAME =ORCL
要复制到的数据库(auxiliary db):SID_NAME =ORCL_DUP
3.1修改监听文件
本次操作是在同一操作系统环境中进行的,target db与auxiliary db用同一监听。修改监听文件,静态注册监听
vi /u01/app/oracle/product/12.1.0/dbhome_2/network/admin/listener.ora 原来内容为:
在前面增加内容:
重新启动监听,
lsnrctl start
3.2修改tnsnames.ora文件
vi /u01/app/oracle/product/12.1.0/dbhome_2/network/admin/tnsnames.ora
增加后的内容为:
3.3为auxiliary数据库创建参数文件
参数文件名称:initORCL_DUP.ora
Linux上建立目录:
mkdir -p /u04/app/oracle/product/12.1.0/dbhome_2/dbs
mkdir -p /u04/app/oracle/oradata/ORCL_DUP/pdborcl
mkdir -p /u04/app/oracle/oradata/ORCL_DUP/pdb8
mkdir -p /u04/app/oracle/oradata/ORCL_DUP/pdb3
mkdir -p /u04/app/oracle/oradata/ORCL_DUP/pdb2
mkdir -p /u04/app/oracle/oradata/ORCL_DUP/pdb1
mkdir -p /u04/app/oracle/oradata/ORCL_DUP/root
mkdir -p /u04/app/oracle/oradata/ORCL_DUP/root
mkdir -p /u04/app/oracle/oradata/ORCL_DUP/pdbseed
mkdir -p /u04/app/oracle/oradata/ORCL_DUP/catadb
vi /u04/app/oracle/product/12.1.0/dbhome_2/dbs/initORCL_DUP.ora 内容如下: