数据库
oracle数据库自启动和关闭脚本调用
数据库灾备恢复小结
DMS使用文档
Oracle12C安装文档_李光升
Centos配置yum源的操作步骤-李光升
CCS数据库突然卡顿问题解决-徐铭
Centos 7.9静默安装oracle 12cR2详细步骤
mysql5.7数据库sql语句数据类型隐式转换的反逻辑BUG
RDS MySQL临时文件导致实例磁盘空间满且出现“锁定中”状态
关于Mysql引擎Myisam和InnoDB的使用
MySQL查询语句中in和exists区别详解-知识点
Mysql 的存储过程中 WITH AS 的语法和使用
Mysql 性能调优-详解
oracle数据库DG搭建
SUSE linux 配置时钟同步服务NTP/Chrony
oracle数据库实例开启操作文档
oracle数据库实例关闭操作文档
oracle数据库DBS备份配置文档v2
ALiYun ECS CENTOS数据上传到OSS操作手册
Oracle - LOGMINER配置方法
oracle sysaux表空间爆满清理unified auditing数据
sysaux表空间爆满WRI$_ADV_OBJECTS占用严重
SAP权限对象
SYSAUX表空间WRI$\_ADV\_OBJECTS表过大清理V2
oracle:表访问方式
ORA性能诊断调优
数据字典(DICT)和性能事件类型(EVENT)
日志挖掘LogMiner
RMAN sql_id “0az7czjdw8z7j” 执行计划异常
Oracle11g Active Data Guard搭建、管理
ORACLE LOGMINER配置v2
oracle日志组调整
ECS linux服务器挂载nas磁盘失败
oracle数据库修改字符集
datapump数据泵导入导出
OA系统数据库ADG架构搭建
IPS数据库SQL执行异常:ORA-00600
oracle 12c 创建PDB
oracle数据库监听异常
lvm:阿里云磁盘扩容,lvm扩容
Redis基本操作
SAP S4 CLIENT COPY(800->400)
日常数据库操作
PGSQL操作
# ORA-00054: resource busy问题处理
OA数据库服务器故障分析报告
CCS数据库生产数据库(北京中心)覆盖到VER环境数据库(乌兰察布):使用nonpdb to pdb迁移方式
WINDOWS环境Django框架连接MySQL数据库配置
Django开发学习实战
什么是向量嵌入?
OA数据库服务器内次异常增长问题分析
基于AI的自动化服务器管理
AI技术发展趋势及其在农牧食品行业的创新应用
IPS数据库日志表数据归档&表分区
国产编程模型GLM-4.6海外爆火:性能媲美ClaudeSonnet,性价比优势显著
免费开源的零代码平台 / 无代码平台,敲敲云 v2.2.0 版本
数据库原理与应用
AI发展近况分析
ORACLE ADG环境下解除ADG关系并激活备库为独立数据库
麦肯锡重磅报告:关于未来的生存指南,当57%的工作被自动化,我们如何与AI结成利益共同体
【Oracle】Cursor(游标)
ORACLE数据库在曾经的备库(路径一致)进行不完全恢复
获取执行计划的6种方法
人工智能行业的发展已进入“系统竞争”时代
2026年AI与机器人发展趋势
事务未提交导致行锁等待问题处理
MongoDB日常操作命令
2026年人工智能前沿技术趋势与应用落地分析
Doris开发
人工智能在数据库运维工作中的应用趋势与落地场景研究
帆软报表开发学习
AI 助手在 Oracle DBA 工作中的辅助能力研究报告
AI原生数据库发展趋势白皮书
OpenClaw数据库管理应用实践
Apache Doris 简介
AI在实际工作中的应用案例分享
人形机器人现状
从十大AI技术趋势,窥见“未来”
AI 在辅助投资股票方面的落地方案与实际使用价值
从原理到实践,一文读懂主流 AI 技术
AI Agent 从零开始学习路线图
AI 驱动的内容生产工作流探索 —— 基于微信公众号文章编写与视频号视频生成的实践
本文档使用「觅思文档专业版」发布
-
+
首页
oracle数据库DG搭建
一、生产环境准备工作 1. 生产密码文件(已存在) [oracle@mux dbs]$ ls orapwmux -lh -rw-r----- 1 oracle oinstall 3.5K 11月 28 15:33 orapwmux [oracle@mux dbs]$ 2. 归档模式和强制归档 2.1 设置db_recovery_file_dest和db_recovery_file_dest_size参数 SQL> show parameter db_recovery_file_dest NAME TYPE ------------------------------------ --------------------------------- VALUE ------------------------------ db_recovery_file_dest string db_recovery_file_dest_size big integer 0 SQL> alter system set db_recovery_file_dest='/u01/apps/oracle/flash_recover_area' scope=spfile; 系统已更改。 SQL> alter system set db_recovery_file_dest_size=2g scope=spfile; 系统已更改。 2.2 开归档,设置强制归档 SQL> startup mount; ORACLE 例程已经启动。 Total System Global Area 771751936 bytes Fixed Size 8625464 bytes Variable Size 578814664 bytes Database Buffers 180355072 bytes Redo Buffers 3956736 bytes 数据库装载完毕。 SQL> alter database archivelog; 数据库已更改。 SQL> alter database force logging; 数据库已更改。 SQL> alter database open; 数据库已更改。 3. 生成standby logfile alter database add standby logfile group 4 ('/u01/apps/oracle/oradata/mux/std_redo04.log') size 50M; alter database add standby logfile group 5 ('/u01/apps/oracle/oradata/mux/std_redo05.log') size 50M; alter database add standby logfile group 6 ('/u01/apps/oracle/oradata/mux/std_redo06.log') size 50M; alter database add standby logfile group 7 ('/u01/apps/oracle/oradata/mux/std_redo07.log') size 50M; 二、容灾环境准备工作 1. 软件安装:使用VirtualBox复制方式搭建容灾环境 SQL> alter system set db_recovery_file_dest='/u01/apps/oracle/flash_recover_area' scope=spfile; 系统已更改。 SQL> alter system set db_recovery_file_dest_size=2g scope=spfile; 系统已更改。 SQL> shutdown immediate 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 SQL> startup mount; ORACLE 例程已经启动。 Total System Global Area 771751936 bytes Fixed Size 8625464 bytes Variable Size 570426056 bytes Database Buffers 188743680 bytes Redo Buffers 3956736 bytes 数据库装载完毕。 SQL> alter database archivelog; 数据库已更改。 SQL> alter database force logging; 数据库已更改。 SQL> alter database open; 数据库已更改。 2. 配置监听文件: [oracle@mux admin]$ cat listener.ora SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = mux) (ORACLE_HOME = /u01/apps/oracle/product/12/db_1) ) ) LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = mux.standby)(PORT = 1521)) ) 3. 配置TNSNAMES文件 [oracle@mux admin]$ vim tnsnames.ora mux_pri= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=mux.master)(PORT=1521)) (CONNECT_DATA= (SERVICE_NAME=mux))) mux_dg= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=mux.standby)(PORT=1521)) (CONNECT_DATA= (SERVICE_NAME=mux))) 三、生产主库操作 1. 备份数据库:打开数据库到mount,执行脚本 [oracle@mux shell]$ cat backup.sh export BK_PATH=/u01/backups export ORACLE_HOME=/u01/apps/oracle/product/12/db_1 export ORACLE_SID=mux date > $BK_PATH/backup_${ORACLE_SID}.log $ORACLE_HOME/bin/rman target / log $BK_PATH/backup_${ORACLE_SID}.log append <<EOF run { allocate channel c1 type disk; backup as compressed backupset database format '${BK_PATH}/db_0_${ORACLE_SID}_%U' skip inaccessible; backup format '${BK_PATH}/$ORACLE_SID.control' current controlfile for standby; #standby database release channel c1; } EOF 2. 拷贝备份到容灾环境:spfile,controlfile,databasefile [oracle@mux backups]$ scp /u01/apps/oracle/flash_recover_area/MUX/autobackup/2022_12_01/o1_mf_s_1122313051_krjxgw29_.bkp oracle@10.2.9.106:/u01/backups oracle@10.2.9.106's password: o1_mf_s_1122313051_krjxgw29_.bkp 100% 10MB 10.2MB/s 00:00 [oracle@mux backups]$ scp /u01/backups/db_0_mux_021ea8pb_1_1 oracle@10.2.9.106:/u01/backups oracle@10.2.9.106's password: db_0_mux_021ea8pb_1_1 100% 337MB 25.9MB/s 00:13 [oracle@mux backups]$ 3. 本地设置tnsnames解析,将生产和容灾的解析都添加进去 [oracle@mux admin]$ cat tnsnames.ora mux_pri= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=mux.master)(PORT=1521)) (CONNECT_DATA= (SERVICE_NAME=mux))) mux_dg= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=mux.standby)(PORT=1521)) (CONNECT_DATA= (SERVICE_NAME=mux))) 4. 将密码文件,参数文件拷贝到目标主机$ORACLE_HOME/dbs目录下(容灾环境参数文件和密码文件备份) [oracle@mux dbs]$ scp orapwmux oracle@10.2.9.106: /u01/apps/oracle/product/12/db_1/dbs oracle@10.2.9.106's password: orapwmux 100% 3584 3.5KB/s 00:00 [oracle@mux dbs]$ scp initmux.ora oracle@10.2.9.106: /u01/apps/oracle/product/12/db_1/dbs oracle@10.2.9.106's password: initmux.ora 100% 9205 9.0KB/s 00:00 四、容灾从库恢复操作 1. 修改pfile并启动数据库到nomount状态,可以直接使用pfile生产spfile后启动 [oracle@mux dbs]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on 星期四 12月 1 18:35:19 2022 Copyright (c) 1982, 2016, Oracle. All rights reserved. 已连接到空闲例程。 SQL> create spfile from pfile; File created. SQL> startup nomount; ORACLE instance started. Total System Global Area 771751936 bytes Fixed Size 8625464 bytes Variable Size 562037448 bytes Database Buffers 197132288 bytes Redo Buffers 3956736 bytes 2. 恢复控制文件 [oracle@mux dbs]$ rman target / 恢复管理器: Release 12.2.0.1.0 - Production on 星期四 12月 1 18:38:45 2022 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. 已连接到目标数据库: MUX (未装载) RMAN> restore controlfile from '/u01/backups/o1_mf_s_1122313051_krjxgw29_.bkp'; 从位于 01-12月-22 的 restore 开始 使用目标数据库控制文件替代恢复目录 分配的通道: ORA_DISK_1 通道 ORA_DISK_1: SID=35 设备类型=DISK 通道 ORA_DISK_1: 正在还原控制文件 通道 ORA_DISK_1: 还原完成, 用时: 00:00:01 输出文件名=/u01/apps/oracle/oradata/mux/control01.ctl 输出文件名=/u01/apps/oracle/oradata/mux/control02.ctl 在 01-12月-22 完成了 restore RMAN> 3. 启动数据库到mount状态,恢复数据文件 RMAN> catalog start with '/u01/backups'; 从位于 01-12月-22 的 implicit crosscheck backup 开始 分配的通道: ORA_DISK_1 通道 ORA_DISK_1: SID=41 设备类型=DISK 已交叉检验的 3 对象 在 01-12月-22 完成了 implicit crosscheck backup 从位于 01-12月-22 的 implicit crosscheck copy 开始 使用通道 ORA_DISK_1 在 01-12月-22 完成了 implicit crosscheck copy 搜索恢复区中的所有文件 正在编制文件目录... 目录编制完毕 已列入目录的文件的列表 ======================= 文件名: /u01/apps/oracle/flash_recover_area/MUX/archivelog/2022_11_30/o1_mf_1_4_krgwhhbx_.arc 文件名: /u01/apps/oracle/flash_recover_area/MUX/archivelog/2022_12_01/o1_mf_1_5_krjqrmph_.arc 文件名: /u01/apps/oracle/flash_recover_area/MUX/archivelog/2022_12_01/o1_mf_1_6_krk0wswz_.arc 搜索与样式 /u01/backups 匹配的所有文件 数据库未知文件的列表 ===================================== 文件名: /u01/backups/o1_mf_s_1122313051_krjxgw29_.bkp 是否确实要将上述文件列入目录 (输入 YES 或 NO)? yes 正在编制文件目录... 目录编制完毕 已列入目录的文件的列表 ======================= 文件名: /u01/backups/o1_mf_s_1122313051_krjxgw29_.bkp RMAN> restore database; 从位于 01-12月-22 的 restore 开始 使用通道 ORA_DISK_1 通道 ORA_DISK_1: 正在开始还原数据文件备份集 通道 ORA_DISK_1: 正在指定从备份集还原的数据文件 通道 ORA_DISK_1: 将数据文件 00001 还原到 /u01/apps/oracle/oradata/mux/system01.dbf 通道 ORA_DISK_1: 将数据文件 00002 还原到 /u01/apps/oracle/oradata/mux/supply01.dbf 通道 ORA_DISK_1: 将数据文件 00003 还原到 /u01/apps/oracle/oradata/mux/sysaux01.dbf 通道 ORA_DISK_1: 将数据文件 00004 还原到 /u01/apps/oracle/oradata/mux/undotbs01.dbf 通道 ORA_DISK_1: 将数据文件 00005 还原到 /u01/apps/oracle/oradata/mux/sale01.dbf 通道 ORA_DISK_1: 将数据文件 00007 还原到 /u01/apps/oracle/oradata/mux/users01.dbf 通道 ORA_DISK_1: 将数据文件 00008 还原到 /u01/apps/oracle/oradata/mux/storage01.dbf 通道 ORA_DISK_1: 将数据文件 00009 还原到 /u01/apps/oracle/oradata/mux/finance01.dbf 通道 ORA_DISK_1: 将数据文件 00010 还原到 /u01/apps/oracle/oradata/mux/hr01.dbf 通道 ORA_DISK_1: 正在读取备份片段 /u01/backups/db_0_mux_021ea8pb_1_1 通道 ORA_DISK_1: 片段句柄 = /u01/backups/db_0_mux_021ea8pb_1_1 标记 = TAG20221201T173643 通道 ORA_DISK_1: 已还原备份片段 1 通道 ORA_DISK_1: 还原完成, 用时: 00:01:36 在 01-12月-22 完成了 restore RMAN> 五、生产启动日志传输进程 1. 设置log_archive_dest_n参数,向从库传输日志 alter system set log_archive_dest_2='service=mux_dg lgwr async noaffirm'; select dest_name,error,status,process from v$archive_dest where rownum<3; 2. 设置日志删除策略 [oracle@mux backups]$ rman target/ 恢复管理器: Release 12.2.0.1.0 - Production on 星期四 12月 1 19:23:29 2022 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. 已连接到目标数据库: MUX (DBID=1225114744, 未打开) RMAN> configure archivelog deletion policy to shipped to all standby; 使用目标数据库控制文件替代恢复目录 新的 RMAN 配置参数: CONFIGURE ARCHIVELOG DELETION POLICY TO SHIPPED TO ALL STANDBY; 已成功存储新的 RMAN 配置参数 RMAN> 六、容灾启动日志应用 1. Active standby(可选):alter database open read only; 2. 启动日志应用,观察日志正常应用 Alter database recover managed standby database parallel 1 disconnect from session; 3. 设置fal参数 SQL> alter system set fal_server='mux_pri'; 系统已更改。 SQL> alter system set fal_server='mux_dg'; 系统已更改。 4. 设置归档日志删除策略 [oracle@mux backups]$ rman target / 恢复管理器: Release 12.2.0.1.0 - Production on 星期四 12月 1 21:06:54 2022 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. 已连接到目标数据库: MUX (DBID=1225114744) RMAN> configure archivelog deletion policy to applied on standby; 使用目标数据库控制文件替代恢复目录 旧的 RMAN 配置参数: CONFIGURE ARCHIVELOG DELETION POLICY TO SHIPPED TO ALL STANDBY; 新的 RMAN 配置参数: CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY; 已成功存储新的 RMAN 配置参数 RMAN> 七、重启生产&容灾 重启完成后(容灾mount),执行第五、第六步骤。
徐铭
2023年1月3日 19:29
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
Word文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码
有效期