视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
通过RMAN异机克隆数据库
2020-11-09 12:49:02 责编:小采
文档


使用RMAN进行复制时,RMAN会连接目标数据库和辅助实例,如果使用了catalog备份的还会连接恢复目录。RMAN连接了目标数据库才能够访

使用RMAN进行复制时,RMAN会连接目标数据库和辅助实例,如果使用了catalog备份的还会连接恢复目录。RMAN连接了目标数据库才能够访问其控制文件中记录的备份的详细信息,连接辅助实例才能够在辅助实例上分配一个或多个通道进程,9i开始会自动创建通道; 要连接辅助实例就先要启动辅助实例,就需要一个pfile参数文件,由目标数据库creata pfile from spfile得来,由于没有控制文件,所以只能启动到nomount阶段,RMAN会生成到这个辅助实例的sysdba连接。

连接了目标库和辅助实例后,就可以使用duplicate命令,复制数据库,复制过程一般分为以下阶段:1,rman确定备份的状态和位置2,rman在辅助实例上分配辅助通道,3,在辅助实例上还原数据文件,4,构建新的控制文件 5,rman还原归档日志,并进行恢复 6,,rman重置辅助库的DBID(唯一标识一个数据库),并以open resetlogs打开数据库。

--------------------------------------推荐阅读 --------------------------------------

RMAN 配置归档日志删除策略

Oracle基础教程之通过RMAN复制数据库

RMAN备份策略制定参考内容

RMAN备份学习笔记

Oracle数据库备份加密 RMAN加密

--------------------------------------分割线 --------------------------------------

平台准备:
Oracle Linux + Oracle 11G
目标库:
ORACLE_HOME=/uoracle/app
ORACLE_BASE=/orabase
ORACLE_SID= orcl
IP : 192.168.0.45
辅助库:
ORACLE_HOME=/uoracle/app
ORACLE_BASE=/orabase
ORACLE_SID=orcl
IP : 192.168.0.46

操作步骤(异机和同机复制,步骤基本一样):
1:运行辅助实例的服务器需要先安装好相应的oracle客户端,且ORACLE_BASE 和ORACLE_HOME目录和目标库相同;
2:构建辅助数据库目录结构;
3:创建参数文件,复制过来,并进行相应修改;
4:创建辅助实例口令文件,orapwd
5:配置监听及tnsname文件
6:目标库进行备份,并拷贝到辅助实例服务其上,或同NFS挂载过去;
7:使用pfile启动辅助实例到nomount,并退出会话;
8:duplicate命令复制数据库;
9: 创建spfile
具体实现:
1:安装客户端
2:构建辅助数据库目录结构(根据参数文件中涉及到的目录来构建辅助库的目录结构)
[oracle@orclA ~]$ echo $ORACLE_BASE
/orabase
[oracle@orclA ~]$ cd /orabase
[oracle@orclA orabase]$ mkdir ./oradata/orcl -p
[oracle@orclA orabase]$mkdir ./fast_recovery_area/orcl -p # 重新构建控制文件,存放控制文件
[oracle@orclA orabase]$ pwd
/orabase
[oracle@orclA orabase]$ mkdir ./admin/orcl -p
[oracle@orclA orabase]$ cd ./admin/orcl/
[oracle@orclA orcl]$ mkdir {a,b,c,d,u}dump
[oracle@orclA orcl]$ mkdir pfile

3:创建参数文件,复制过来,并进行相应修改
3.1: 目标库上创建pfile,并拷贝到辅助库上 ?/dbs 目录下(必须是$ORACLE_HOME/dbs 目录下,否则识别不到)
SQL> create pfile='/tmp/initorcl.ora' from spfile;
SQL> scp /tmp/initorcl.ora 192.168.0.46:/oracle/home/dbs
3.2: 对参数文件进行相应修改
由于这里是进行异机复制,目录结构及实例名都一样,所以没有进行修改
3.3: 使用pfile启动数据库到nomount 状态,进行测试,并创建spfile

SQL> startup pfile='/uoracle/app/dbs/initorcl.ora'>ORACLE instance started.
Total System Global Area 1.0055E+10 bytes
Fixed Size 2237008 bytes
Variable Size 3154120112 bytes
Database Buffers 6878658560 bytes
Redo Buffers 19767296 bytes
Database mounted.
Database opened.
SQL> create spfile from pfile;
File created.

4:为辅助实例创建口令文件,密码与源库一致
[oracle@orclA bin]$ pwd
/uoracle/app/bin
[oracle@orclA bin]$ orapwd file=$ORACLE_HOME/dbs/orapworcl password=admin123;
[oracle@orclA bin]$
[oracle@orclA bin]$ ls /uoracle/app/dbs/orapworcl
/uoracle/app/dbs/orapworcl


5:配置监听及tnsname文件
源库上:
[root@bzdb ~]# cat /uoracle/app/network/admin/listener.ora
# listener.ora Network Configuration File: /uoracle/app/network/admin/listener.ora
# Generated by Oracle configuration tools.


orcl =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.45)(PORT = 1521))
)
)


ADR_BASE_LISTENER = /orabase


[root@bzdb ~]# cat /uoracle/app/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /uoracle/app/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

下载本文
显示全文
专题