Oracle数据迁移之rman活动数据库复制

1、设置主库为归档模式

SQL> shutdown immediate

SQL> startup mount

SQL> alter database archivelog;

SQL> archive log list;

2、开启force logging

SQL> alter database force logging;

Database altered.

SQL>

SQL> select name,database_role,log_mode,force_logging from v$database;

NAME DATABASE_ROLE LOG_MODE FORCE_LOG

---------- ------------------------- --------------- ---------

ORCL PRIMARY ARCHIVELOG YES

3、配置监听文件,在auxiliary库上配置即可

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

)

)

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = orcl)

(ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1)

(SID_NAME = orcl)

)

)

ADR_BASE_LISTENER = /u01/app/oracle

4、配置tnsnames.ora文件

# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

ORCL =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.40)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

ORCLDB =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.41)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

5、cp target数据库的密码文件到auxiliary库

6、为auxiliary库创建必要的目录

7、为auxiliary准备一个参数文件,包含两个参数即可:

db_name=orcl

db_unique_name=orcl

8、启动auxiliary库到nomount状态

9、Rman连接target库和auxiliary库

[oracle@kaifai dbs]$ rman target sys/oracle@orcl auxiliary sys/oracle@orcldb

Recovery Manager: Release 11.2.0.4.0 - Production on Thu Jul 7 16:01:51 2016

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

connected to target database: ORCL (DBID=1439188069)

connected to auxiliary database: ORCL (not mounted)

RMAN>

10、rman下运行如下脚本

首先看一下target数据库的物理结构:

SQL> select name from v$datafile;

NAME

--------------------------------------------------------------------------------

/data/oradata/orcl/orcl/system01.dbf

/data/oradata/orcl/orcl/sysaux01.dbf

/data/oradata/orcl/orcl/undotbs01.dbf

/data/oradata/orcl/orcl/users01.dbf

/u01/app/oracle/oradata/orcl/efmis01.dbf

run{

duplicate target database

to orcl

from active database

db_file_name_convert '/data/oradata/orcl/orcl','/data/oradata/orcl','/u01/app/oracle/oradata/orcl','/data/oradata/orcl'

spfile

set db_unique_name='orcl'

set log_file_name_convert '/data/oradata/orcl/orcl','/data/oradata/orcl'

set control_files='/data/oradata/orcl/control.ctl'

;

}

查看一下auxiliary库的物理结构:

SQL> select name from v$datafile;

NAME

--------------------------------------------------------------------------------

/data/oradata/orcl/system01.dbf

/data/oradata/orcl/sysaux01.dbf

/data/oradata/orcl/undotbs01.dbf

/data/oradata/orcl/users01.dbf

/data/oradata/orcl/efmis01.dbf

11、编辑/etc/oratab文件,添加如下条目:

orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y

注意:

db_file_name_convert 主数据库和备用数据库的数据文件转换目录对映(如果两数据库的目录结构不一样),如果有多个对映,逐一指明对映关系。

posted @   ChavinKing  阅读(525)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示