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库上配置即可
(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_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 主数据库和备用数据库的数据文件转换目录对映(如果两数据库的目录结构不一样),如果有多个对映,逐一指明对映关系。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了