使用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 配置归档日志删除策略 http://www.linuxidc.com/Linux/2013-11/92670.htmOracle基础教程之通过RMAN复制数据库 http://www.linuxidc.com/Linux/2013-07/87072.htmRMAN备份策略制定参考内容 http://www.linuxidc.com/Linux/2013-03/81695.htmRMAN备份学习笔记 http://www.linuxidc.com/Linux/2013-03/81892.htmOracle数据库备份加密 RMAN加密 http://www.linuxidc.com/Linux/2013-03/80729.htm--------------------------------------分割线 --------------------------------------平台准备:
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 pfile3:创建参数文件,复制过来,并进行相应修改
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.
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.0.45)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
AUXORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.46)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2014-11/108885p2.htm
MySQL 全角转换为半角OPEN RESETLOGS 启动,报ORA-00392 ORA-00312错误相关资讯 RMAN
- RMAN故障一例(归档的备份,从不 (今 20:42)
- RMAN的FORMATA格式说明 (03月10日)
- Oracle 11g RMAN复制数据库的测试 (01月19日)
| - RMAN数据库迁移 (05月22日)
- 使用RMAN复制恢复开发库环境 (02月17日)
- Oracle 11g RMAN跨平台传输表空间 (01月19日)
|
本文评论 查看全部评论 (0)