当前位置: 首页 > news >正文

社交网站 备案wordpress硬件接口

社交网站 备案,wordpress硬件接口,电视直播网站开发,网站建设合同印花税税目Oracle ADG Duplicate 实施方案详解 概述 本文详细介绍了使用Duplicate方式搭建Oracle Active Data Guard的完整实施方案,包含参数配置、实施步骤、回退方案和常见问题处理。 ADG参数说明 参数名称说明*.db_create_file_destOMF方式管理数据文件,优先…

Oracle ADG Duplicate 实施方案详解

概述

本文详细介绍了使用Duplicate方式搭建Oracle Active Data Guard的完整实施方案,包含参数配置、实施步骤、回退方案和常见问题处理。

ADG参数说明

参数名称说明
*.db_create_file_destOMF方式管理数据文件,优先级高于DB_FILE_NAME_CONVERT
*.fal_server指定备用数据库获取丢失归档日志的Oracle Net服务名称
*.db_unique_name数据库唯一名称标识
*.log_archive_config配置Data Guard环境中的数据库唯一名称
*.log_archive_dest_n配置归档传输目的地和属性
*.DB_FILE_NAME_CONVERT主备库数据文件路径转换
*.LOG_FILE_NAME_CONVERT主备库日志文件路径转换
*.service_names服务名,需与主库保持一致

关键参数详解

  • VALID_FOR属性: 建议为每个redo传输目的地指定,确保角色转换后redo传输正常
  • compression=enable: 启用压缩,默认使用ZLIB算法
  • DB_FILE_NAME_CONVERT: 仅用于物理备库的路径名转换
  • LOG_FILE_NAME_CONVERT: 指定备用数据库在线重做日志文件的位置

具体参数作用及格式详见Oracle Data Guard 关键参数详解

一、回退方案测试

清除备库环境步骤

-- 1.停mrp、停库
alter database recover managed standby database cancel;
shutdown immediate;-- 2.删除控制文件
rm -f /oracle/product/oradata/XDGDB/control01.ctl
rm -f /oracle/product/oradata/XDGDB/control02.ctl-- 3.删除spfile(可选)
rm -f /oracle/product/19.3/db/dbs/spfilexdgdb.ora-- 4.删除日志文件
rm -f /oracle/product/oradata/DGDB/redo01.log
rm -f /oracle/product/oradata/DGDB/redo02.log
rm -f /oracle/product/oradata/DGDB/redo03.log
rm -f /oracle/product/oradata/DGDB/redo11.log
rm -f /oracle/product/oradata/DGDB/redo12.log
rm -f /oracle/product/oradata/DGDB/redo13.log-- 5.删除数据文件
rm -f /oracle/product/oradata/DGDB/system01.dbf
rm -f /oracle/XDGDB/datafile/o1_mf_test_dat_n7cxkz91_.dbf
rm -f /oracle/product/oradata/DGDB/sysaux01.dbf
rm -f /oracle/product/oradata/DGDB/undotbs01.dbf
rm -f /oracle/XDGDB/datafile/o1_mf_test_dat_n6y8yk14_.dbf
rm -f /oracle/product/oradata/DGDB/users01.dbf
rm -f /oracle/product/oradata/DGDB/XDGDB/datafile/o1_mf_test_dat_n7cxyqgo_.dbf-- 6.删除临时文件(未open时,temp文件实际不存在)
rm -f /oracle/product/oradata/DGDB/temp01.dbf-- 7.删除archived_log
rm -f /oradata/1_*.dbf

二、变更实施方案-ADG搭建

1. 主库开启force logging

alter database force logging;
select open_mode,database_role,flashback_on,force_logging from v$database;-- RMAN配置
configure archivelog deletion policy to shipped to standby;

2. 主库拷贝密码文件到备库

scp /oracle/product/19.3/db/dbs/orapwxdgdb 备库IP:/home/oracle/

3. 备库创建密码文件

orapwd file='/oracle/product/19.3/db/dbs/orapwxdgdb' input_file='/home/oracle/orapwdgdb'

4. 主库创建pfile并传送到备库

create pfile='/home/oracle/pfile.ora' from spfile;
scp /home/oracle/pfile.ora 备库IP:/home/oracle/

5. 备库修改pfile参数

*.audit_file_dest='/oracle/product/admin/dgdb/adump'
*.control_files='/oracle/product/oradata/XDGDB/control01.ctl','/oracle/product/oradata/XDGDB/control02.ctl'
*.db_create_file_dest='/oracle/product/oradata'
*.fal_server='dgdb'
*.db_unique_name='xdgdb'
*.log_archive_config='dg_config=(dgdb,xdgdb)'
*.log_archive_dest_1='location=/oradata valid_for=(all_logfiles,all_roles) db_unique_name=xdgdb'
*.log_archive_dest_2='SERVICE=dgdb valid_for=(online_logfiles,primary_role) db_unique_name=dgdb lgwr async compression=enable'
*.db_file_name_convert='/oracle','/oracle/product/oradata'
*.log_file_name_convert='/oracle/product/oradata/DGDB','/oracle/product/oradata/XDGDB/onlinelog'
*.standby_file_management='AUTO'
*.service_names='dgdb'

注意: 检查是否需要修改_ktb_debug_flags=8参数

6. 启动备库到nomount并生成spfile

startup nomount pfile='/home/oracle/newstd.pf';
create spfile='/oracle/product/19.3/db/dbs/spfilexdgdb.ora' from pfile='/home/oracle/newstd.pf';
shutdown immediate;
startup nomount;
show parameter spfile;

7. 备库配置静态监听

# listener.ra中配置
SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(GLOBAL_DBNAME=dgdb)  # 需与数据库参数service_names一致(SID_NAME=xdgdb)(ORACLE_HOME=/oracle/product/19.3/db)))

执行lsnrctl reload查看实例状态

8. 主备库配置tnsnames.ora

# 主库配置
DGDB =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.152.85)(PORT = 21129))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = dgdb)))XDGDB =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.152.88)(PORT = 21129))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = dgdb)(UR=A)  # 解决连接问题可选参数))

9. 验证主备库连接

sqlplus sys/SY#2020oracle@dgdb as sysdba
sqlplus sys/SY#2020oracle@xdgdb as sysdbarman target sys/SY#2020oracle@dgdb auxiliary sys/SY#2020oracle@xdgdb

10. 主库修改参数

alter system set log_archive_config='dg_config=(dgdb,xdgdb)' scope=both sid='*';
alter system set log_archive_dest_2='SERVICE=xdgdb valid_for=(online_logfiles,primary_role) db_unique_name=xdgdb lgwr async compression=enable';
alter system set log_archive_dest_state_2=enable scope=both sid='*';
alter system set archive_lag_target=1800;
alter system set standby_file_management='AUTO';
alter system set db_recovery_file_dest_size=4G;
alter system set db_recovery_file_dest='/oradata';
alter system set db_file_name_convert='/oracle','/oracle' scope=spfile;
alter system set log_file_name_convert='/oradata','/oradata' scope=spfile;
alter system set fal_server='xdgdb' scope=both sid='*';

11. 执行duplicate数据库

创建duplicate.sh脚本:

export NLS_DATE_FORMAT="YYYYMMDD HH24:MI:SS"
date
echo "##########################"
echo "start standby database"
echo "##########################"
sqlplus "/ as sysdba"<<EOF
#startup nomount ;
connect sys/SY#2020oracle@dgdb AS SYSDBA
connect sys/SY#2020oracle@xdgdb AS SYSDBA
exit
EOFdate
echo "##########################"
echo "start to duplicate target database"
echo "##########################"
rman target sys/SY#2020oracle@dgdb auxiliary sys/SY#2020oracle@xdgdb <<EOF
run {
allocate channel ch001 type disk;
allocate channel ch002 type disk;
allocate channel ch003 type disk;
allocate channel ch004 type disk;
allocate auxiliary channel ch005 type disk;
allocate auxiliary channel ch006 type disk;
duplicate target database for standby from active database using compressed backupset nofilenamecheck;
release channel ch001;
release channel ch002;
release channel ch003;
release channel ch004;
release channel ch005;
release channel ch006;
}
exit
EOF

执行脚本:

chmod +x duplicate.sh
sh duplicate.sh

12. 备库验证日志实时应用

-- 检查redo日志情况
set linesize 300
set pagesize 10000
col member for a60
col status for a10
col dbid format 999999999
select a.group#,a.sequence#,a.status,a.bytes/1024/1024/1024 from v$log a;
select a.thread#,b.group#,a.sequence#,a.status,a.bytes/1024/1024,b.member 
from v$log a,v$logfile b
where a.group#=b.group# order by 1;
select * from v$logfile;
select GROUP#,DBID,THREAD#,SEQUENCE#,BYTES,BLOCKSIZE,USED,ARCHIVED,STATUS from v$standby_log;-- 启动mrp
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;-- 检查mrp进程
SELECT PROCESS, STATUS, THREAD#, SEQUENCE#,BLOCK#, BLOCKS FROM V$MANAGED_STANDBY;-- 检查主备库延时
set lines 1200 pages 1200
col name for a30
col value for a30
col datum_time for a30
col time_computed for a30
SELECT name, value, datum_time, time_computed
FROM V$DATAGUARD_STATS;-- 查询归档应用情况
SELECT /*+rule*/ ARCH.THREAD# "Thread",
ARCH.SEQUENCE# "Last Sequence Received",
APPL.SEQUENCE# "Last Sequence Applied",
(ARCH.SEQUENCE# - APPL.SEQUENCE#) "Difference"
FROM (SELECT THREAD#, SEQUENCE#
FROM V$ARCHIVED_LOG
WHERE (THREAD#, FIRST_CHANGE#) IN
(SELECT THREAD#, MAX(FIRST_CHANGE#)
FROM V$ARCHIVED_LOG
GROUP BY THREAD#)
GROUP BY THREAD#, SEQUENCE#) ARCH,
(SELECT THREAD#, SEQUENCE#
FROM V$LOG_HISTORY
WHERE (THREAD#, FIRST_CHANGE#) IN
(SELECT THREAD#, MAX(FIRST_CHANGE#)
FROM V$LOG_HISTORY
GROUP BY THREAD#)) APPL
WHERE ARCH.THREAD# = APPL.THREAD#
ORDER BY 1;-- 停止mrp、打开数据库并启动mrp
alter database recover managed standby database cancel;
alter database open;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

13. 主库执行switchover检查

ALTER SYSTEM ARCHIVE LOG CURRENT;
alter database switchover to xdgdb verify;

三、常见错误及解决方案

场景1:log_file_name_convert设置有误

问题现象:

  • RMAN-05535警告
  • 日志文件路径不正确

解决方案:

  1. 检查日志文件状态:
set linesize 300
set pagesize 10000
col member for a120
col status for a10
col dbid format 999999999
select a.group#,a.sequence#,a.status,a.bytes/1024/1024/1024 from v$log a;
select a.thread#,b.group#,a.sequence#,a.status,a.bytes/1024/1024,b.member from v$log a,v$logfile b
where a.group#=b.group# order by 1;
select * from v$logfile;
select GROUP#,DBID,THREAD#,SEQUENCE#,BYTES,BLOCKSIZE,USED,ARCHIVED,STATUS from v$standby_log;
  1. 方案一: 使用alter database rename file
alter database rename file '/oracle/product/19.3/db/dbs/broken0' to '/oracle/product/oradata/XDGDB/onlinelog/redo01.log';
-- 类似操作重命名其他文件
  1. 方案二: 手动drop后创建redo
-- 查询文件大小
select MEMBERS ,BYTES/1024/1024 as MB from v$log;-- Drop日志文件
alter database drop logfile group 1;
alter database drop logfile group 2;
-- ...其他组-- 重建日志文件
mkdir -p /oracle/product/oradata/DGDB/
alter database add logfile thread 1 group 1 '/oracle/product/oradata/DGDB/redo01.log' size 100M;
alter database add logfile thread 1 group 2 '/oracle/product/oradata/DGDB/redo02.log' size 100M;
alter database add standby logfile thread 1 group 11 '/oracle/product/oradata/DGDB/redo11.log' size 100M;
alter database add standby logfile thread 1 group 12 '/oracle/product/oradata/DGDB/redo12.log' size 100M;
alter database open;

场景2:standby_file_management设置为MANUAL

问题: 主库扩表空间,备库无法正常同步

解决方案:

-- 停止mrp
alter database recover managed standby database cancel;-- 重新创建出错数据文件
alter database create datafile '/oracle/product/19.3/db/dbs/UNNAMED00009' 
as '/oracle/product/oradata/product/oradata/DGDB/test_data04.dbf';-- 修改参数
alter system set standby_file_management=auto;-- 启动mrp
alter database recover managed standby database using current logfile disconnect from session;

场景3:service_names与主库不一致

问题: 切换后应用端需修改连接串中的服务名

解决方案: 确保备库参数*.service_names与主库保持一致

总结

本文详细介绍了Oracle ADG通过Duplicate方式搭建的完整流程,包括参数配置、实施步骤、回退方案和常见问题处理。在实际实施过程中,需要注意参数配置的准确性、文件路径的正确性以及各项验证步骤的完整性,确保ADG环境搭建成功并稳定运行。

关键点:

  1. 参数配置要准确,特别是文件路径转换参数
  2. 确保主备库网络连通性
  3. 实施前后做好验证工作
  4. 掌握常见问题的处理方法
  5. 准备好回退方案以备不时之需
http://www.dtcms.com/a/515663.html

相关文章:

  • Redis未授权访问漏洞:从原理到高级利用
  • 项目实践3—全球证件智能识别系统(Qt客户端开发+FastAPI后端人工智能服务开发)
  • 【LeetCode】87. 扰乱字符串
  • React学习路径与实践指南
  • Linux系统的ARM库移植
  • Flutter 16KB 页面大小支持配置
  • gateface做网站中国建筑查询网
  • No039:谦逊的智慧——当DeepSeek深知所知有限
  • 【完整源码+数据集+部署教程】【天线&空中农业】蜜蜂检测系统源码&数据集全套:改进yolo11-ASF
  • 作业控制和后台运行
  • 网站网站建设企业wordpress如何设置阅读权限
  • (PCGU) Probability-based Global Cross-modal Upsampling for Pansharpening
  • 物联网联动策略表结构设计
  • 一文学会标准库USART
  • 5-6〔OSCP ◈ 研记〕❘ SQL注入攻击▸自动化工具SQLMap
  • Linux进程间通信:深入解析PV操作及其同步机制
  • Servlet 实例详解
  • 个人备案网站盈利动画制作网页
  • 网站建设饱和了吗上海市建设市场信息服务平台
  • 个人备案域名做企业网站wow slider wordpress
  • 【OPENGL ES 3.0 学习笔记】第九天:缓存、顶点和顶点数组
  • 2510rs,rust,1.85
  • 深度学习(13)-PyTorch 数据转换
  • rocketmq实现取消超时订单?兜底方案?
  • Linux如何安装使用Rust指南
  • 田块处方图可视化(PyQt5)
  • Rust算法复杂度-大O分析
  • 2510rs,rust清单4
  • 大型网站开发考试移动商城的推广方法
  • FastAPI之 自动化的文档