本文档风哥主要介绍Oracle数据库PDB DataGuard相关知识,包括PDB DataGuard的概念、方法、要求、规划、配置、验证等内容,由风哥教程参考Oracle官方文档Multitenant内容编写,适合DBA人员在学习和测试中使用,如果要应用于生产环境则需要自行确认。
Part01-基础概念与理论知识
1.1 PDB DataGuard的概念
Oracle数据库PDB DataGuard是指在多租户容器数据库(CDB)中为PDB配置DataGuard,实现数据保护和灾难恢复。PDB DataGuard可以实现数据的实时复制、故障切换、读写分离等功能,提高数据库的可用性和可靠性。PDB DataGuard包括主库、备库、日志传输、日志应用等组件。更多视频教程www.fgedu.net.cn
- 支持PDB级别的DataGuard
- 支持实时数据复制
- 支持故障切换
- 支持读写分离
- 提高数据库可用性和可靠性
1.2 PDB DataGuard的方法
Oracle数据库PDB DataGuard的方法:
- 物理DataGuard:使用物理DataGuard进行PDB数据保护
- 逻辑DataGuard:使用逻辑DataGuard进行PDB数据保护
- 最大保护模式:最高级别的数据保护
- 最大可用性模式:平衡数据保护和可用性
- 最大性能模式:最高性能的数据保护
1.3 PDB DataGuard的要求
Oracle数据库PDB DataGuard的要求:
- CDB架构:必须在CDB架构中配置DataGuard
- 系统资源:足够的CPU、内存和磁盘空间
- 权限:需要SYSDBA权限
- 兼容性:Oracle数据库版本必须支持PDB DataGuard
- 配置:需要配置适当的参数和选项
Part02-生产环境规划与建议
2.1 PDB DataGuard规划
Oracle数据库PDB DataGuard规划要点:
1. 分析业务需求
2. 评估系统资源
3. 设计DataGuard方案
4. 规划DataGuard架构
5. 规划网络配置
6. 规划日志传输
7. 测试和验证
# 适用场景
– 多租户数据库
– 需要数据保护的系统
– 需要灾难恢复的系统
– 需要读写分离的系统
– 需要高可用的系统
# 不适用场景
– 单租户数据库
– 数据保护需求简单的系统
– 低可用性需求系统
2.2 PDB DataGuard设计
Oracle数据库PDB DataGuard设计建议:
– 基于业务需求设计
– 基于资源需求设计
– 最小化数据丢失
– 最大化可用性
– 合理配置参数
# PDB DataGuard设计策略
– 合理规划DataGuard架构
– 配置适当的保护模式
– 配置适当的日志传输
– 配置适当的故障切换
– 配置适当的监控告警
# 设计步骤
1. 分析业务需求
2. 评估系统资源
3. 设计DataGuard方案
4. 规划DataGuard架构
5. 测试DataGuard效果
6. 调整配置
2.3 PDB DataGuard最佳实践
Oracle数据库PDB DataGuard最佳实践:
- 规划DataGuard架构:根据业务需求规划DataGuard架构,最小化数据丢失
- 配置保护模式:为PDB配置合理的保护模式
- 监控日志传输:监控日志传输情况,及时发现和处理问题
- 定期测试切换:定期测试故障切换功能,确保系统可用
- 设置监控告警:设置监控告警,及时发现DataGuard问题
- 定期review:定期review DataGuard配置,优化保护策略
Part03-生产环境项目实施方案
3.1 PDB DataGuard实施
3.1.1 配置主库
SQL> SELECT name, db_unique_name, open_mode, database_role FROM v$database;
NAME DB_UNIQUE_NAME OPEN_MODE DATABASE_ROLE
——— —————– ————– —————-
ORCLCDB ORCLCDB READ WRITE PRIMARY
# 查看PDB
SQL> SELECT con_id, name, open_mode FROM v$pdbs ORDER BY con_id;
CON_ID NAME OPEN_MODE
—— ——— ———-
2 PDB$SEED READ ONLY
3 SALESPDB READ WRITE
4 HRPDB READ WRITE
5 APP_ROOT READ WRITE
6 APP_PDB1 READ WRITE
# 配置归档模式
SQL> SHUTDOWN IMMEDIATE;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> STARTUP MOUNT;
ORACLE instance started.
Total System Global Area 838860800 bytes
Fixed Size 9140416 bytes
Variable Size 503316480 bytes
Database Buffers 318767104 bytes
Redo Buffers 7737600 bytes
Database mounted.
SQL> ALTER DATABASE ARCHIVELOG;
Database altered.
SQL> ALTER DATABASE OPEN;
Database altered.
SQL> ARCHIVE LOG LIST;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 1
Next log sequence to archive 2
Current log sequence 2
# 配置强制日志
SQL> ALTER DATABASE FORCE LOGGING;
Database altered.
SQL> SELECT force_logging FROM v$database;
FORCE_LOGGING
————-
YES
# 配置Standby Redo Log
SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 11 SIZE 50M;
Database altered.
SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 12 SIZE 50M;
Database altered.
SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 13 SIZE 50M;
Database altered.
SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 14 SIZE 50M;
Database altered.
# 查看Standby Redo Log
SQL> SELECT group#, type, member FROM v$logfile ORDER BY group#;
GROUP# TYPE MEMBER
—— ——- ————————————————
1 ONLINE /oracle/app/oracle/oradata/orclcdb/redo01.log
2 ONLINE /oracle/app/oracle/oradata/orclcdb/redo02.log
3 ONLINE /oracle/app/oracle/oradata/orclcdb/redo03.log
11 STANDBY /oracle/app/oracle/oradata/orclcdb/stdby_redo11.log
12 STANDBY /oracle/app/oracle/oradata/orclcdb/stdby_redo12.log
13 STANDBY /oracle/app/oracle/oradata/orclcdb/stdby_redo13.log
14 STANDBY /oracle/app/oracle/oradata/orclcdb/stdby_redo14.log
# 验证主库配置成功
3.1.2 配置备库
$ dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbName ORCLCDB \
-sid ORCLCDB \
-sysPassword Oracle123 \
-systemPassword Oracle123 \
-datafileDestination /oracle/app/oracle/oradata \
-storageType FS \
-characterSet AL32UTF8 \
-nationalCharacterSet AL16UTF16 \
-sampleSchema false \
-memoryPercentage 40 \
-databaseType MULTIPURPOSE \
-emConfiguration NONE \
-createAsContainerDatabase true
Copying database files
1% complete
…
100% complete
Database creation complete.
# 连接到备库
$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 – Production on Fri Mar 31 10:00:00 2026
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production
Version 19.3.0.0.0
# 配置备库参数
SQL> ALTER SYSTEM SET DB_UNIQUE_NAME = ‘ORCLCDB_STBY’ SCOPE = SPFILE;
System altered.
SQL> ALTER SYSTEM SET LOG_ARCHIVE_CONFIG = ‘DG_CONFIG=(ORCLCDB,ORCLCDB_STBY)’ SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 = ‘LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ORCLCDB_STBY’ SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2 = ‘SERVICE=ORCLCDB LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORCLCDB’ SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1 = ENABLE SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2 = ENABLE SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET FAL_SERVER = ‘ORCLCDB’ SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET FAL_CLIENT = ‘ORCLCDB_STBY’ SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT = AUTO SCOPE = BOTH;
System altered.
# 验证备库配置成功
3.2 PDB DataGuard配置
3.2.1 配置主库参数
$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 – Production on Fri Mar 31 10:00:00 2026
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production
Version 19.3.0.0.0
# 配置主库参数
SQL> ALTER SYSTEM SET LOG_ARCHIVE_CONFIG = ‘DG_CONFIG=(ORCLCDB,ORCLCDB_STBY)’ SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 = ‘LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ORCLCDB’ SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2 = ‘SERVICE=ORCLCDB_STBY LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORCLCDB_STBY’ SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1 = ENABLE SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2 = ENABLE SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET FAL_SERVER = ‘ORCLCDB_STBY’ SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET FAL_CLIENT = ‘ORCLCDB’ SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT = AUTO SCOPE = BOTH;
System altered.
# 配置TNS
$ vi $ORACLE_HOME/network/admin/tnsnames.ora
ORCLCDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = primary.fgedu.net.cn)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCLCDB)
)
)
ORCLCDB_STBY =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = standby.fgedu.net.cn)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCLCDB_STBY)
)
)
# 验证主库参数配置成功
3.2.2 配置备库参数
$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 – Production on Fri Mar 31 10:00:00 2026
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production
Version 19.3.0.0.0
# 配置备库参数
SQL> ALTER SYSTEM SET LOG_ARCHIVE_CONFIG = ‘DG_CONFIG=(ORCLCDB,ORCLCDB_STBY)’ SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 = ‘LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ORCLCDB_STBY’ SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2 = ‘SERVICE=ORCLCDB LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORCLCDB’ SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1 = ENABLE SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2 = ENABLE SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET FAL_SERVER = ‘ORCLCDB’ SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET FAL_CLIENT = ‘ORCLCDB_STBY’ SCOPE = BOTH;
System altered.
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT = AUTO SCOPE = BOTH;
System altered.
# 配置TNS
$ vi $ORACLE_HOME/network/admin/tnsnames.ora
ORCLCDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = primary.fgedu.net.cn)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCLCDB)
)
)
ORCLCDB_STBY =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = standby.fgedu.net.cn)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCLCDB_STBY)
)
)
# 验证备库参数配置成功
3.3 PDB DataGuard验证
3.3.1 验证DataGuard状态
$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 – Production on Fri Mar 31 10:00:00 2026
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production
Version 19.3.0.0.0
# 查看DataGuard状态
SQL> SELECT name, db_unique_name, open_mode, database_role, protection_mode, protection_level FROM v$database;
NAME DB_UNIQUE_NAME OPEN_MODE DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL
——— —————– ————– —————– ——————– ——————–
ORCLCDB ORCLCDB READ WRITE PRIMARY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE
# 查看归档日志传输状态
SQL> SELECT dest_name, status, error FROM v$archive_dest WHERE dest_name IN (‘LOG_ARCHIVE_DEST_1’, ‘LOG_ARCHIVE_DEST_2’);
DEST_NAME STATUS ERROR
——————– ——— ——————–
LOG_ARCHIVE_DEST_1 VALID
LOG_ARCHIVE_DEST_2 VALID
# 查看归档日志应用状态
SQL> SELECT sequence#, applied FROM v$archived_log ORDER BY sequence# DESC FETCH FIRST 10 ROWS ONLY;
SEQUENCE# APPLIED
———- ——–
10 YES
9 YES
8 YES
7 YES
6 YES
5 YES
4 YES
3 YES
2 YES
1 YES
# 验证DataGuard状态成功
3.3.2 验证PDB同步状态
$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 – Production on Fri Mar 31 10:00:00 2026
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production
Version 19.3.0.0.0
# 查看PDB状态
SQL> SELECT con_id, name, open_mode FROM v$pdbs ORDER BY con_id;
CON_ID NAME OPEN_MODE
—— ——— ———-
2 PDB$SEED READ ONLY
3 SALESPDB MOUNTED
4 HRPDB MOUNTED
5 APP_ROOT MOUNTED
6 APP_PDB1 MOUNTED
# 打开PDB
SQL> ALTER PLUGGABLE DATABASE fgfgfgsalespdb OPEN READ ONLY;
Pluggable database altered.
SQL> ALTER PLUGGABLE DATABASE hrpdb OPEN READ ONLY;
Pluggable database altered.
SQL> ALTER PLUGGABLE DATABASE app_root OPEN READ ONLY;
Pluggable database altered.
SQL> ALTER PLUGGABLE DATABASE app_pdb1 OPEN READ ONLY;
Pluggable database altered.
# 查看PDB状态
SQL> SELECT con_id, name, open_mode FROM v$pdbs ORDER BY con_id;
CON_ID NAME OPEN_MODE
—— ——— ———-
2 PDB$SEED READ ONLY
3 SALESPDB READ ONLY
4 HRPDB READ ONLY
5 APP_ROOT READ ONLY
6 APP_PDB1 READ ONLY
# 验证PDB同步状态成功
Part04-生产案例与实战讲解
4.1 PDB DataGuard案例
在某企业的生产环境中,需要为PDB配置DataGuard。
– 数据库版本:Oracle 19c
– 系统规模:中等规模,日交易量100万
– 需求:为PDB配置DataGuard
# 实施方案
1. 查看CDB
SQL> SELECT name, db_unique_name, open_mode, database_role FROM v$database;
NAME DB_UNIQUE_NAME OPEN_MODE DATABASE_ROLE
——— —————– ————– —————-
ORCLCDB ORCLCDB READ WRITE PRIMARY
2. 配置归档模式
SQL> SHUTDOWN IMMEDIATE;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> STARTUP MOUNT;
ORACLE instance started.
Total System Global Area 838860800 bytes
Fixed Size 9140416 bytes
Variable Size 503316480 bytes
Database Buffers 318767104 bytes
Redo Buffers 7737600 bytes
Database mounted.
SQL> ALTER DATABASE ARCHIVELOG;
Database altered.
SQL> ALTER DATABASE OPEN;
Database altered.
3. 配置强制日志
SQL> ALTER DATABASE FORCE LOGGING;
Database altered.
4. 配置Standby Redo Log
SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 11 SIZE 50M;
Database altered.
5. 配置DataGuard参数
SQL> ALTER SYSTEM SET LOG_ARCHIVE_CONFIG = ‘DG_CONFIG=(ORCLCDB,ORCLCDB_STBY)’ SCOPE = BOTH;
System altered.
6. 验证DataGuard配置
SQL> SELECT name, db_unique_name, open_mode, database_role, protection_mode FROM v$database;
NAME DB_UNIQUE_NAME OPEN_MODE DATABASE_ROLE PROTECTION_MODE
——— —————– ————– —————– ——————–
ORCLCDB ORCLCDB READ WRITE PRIMARY MAXIMUM PERFORMANCE
# 实施效果
– 成功配置PDB DataGuard
– DataGuard状态正常
– 日志传输正常
– 数据保护提高
4.2 PDB DataGuard优化案例
在某金融机构的生产环境中,需要优化PDB DataGuard,提高数据保护级别。
– 数据库版本:Oracle 19c
– 系统规模:大规模,日交易量1000万
– 问题:PDB DataGuard需要优化
# 优化方案
1. 查看DataGuard状态
SQL> SELECT name, db_unique_name, open_mode, database_role, protection_mode, protection_level FROM v$database;
NAME DB_UNIQUE_NAME OPEN_MODE DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL
——— —————– ————– —————– ——————– ——————–
ORCLCDB ORCLCDB READ WRITE PRIMARY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE
2. 优化DataGuard配置
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2 = ‘SERVICE=ORCLCDB_STBY SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ORCLCDB_STBY’ SCOPE = BOTH;
System altered.
SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY;
Database altered.
3. 验证优化效果
SQL> SELECT name, db_unique_name, open_mode, database_role, protection_mode, protection_level FROM v$database;
NAME DB_UNIQUE_NAME OPEN_MODE DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL
——— —————– ————– —————– ——————– ——————–
ORCLCDB ORCLCDB READ WRITE PRIMARY MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY
# 优化效果
– DataGuard配置优化
– 数据保护级别提高
– 数据安全性提高
– 可用性提高
4.3 PDB DataGuard问题处理
在某电商网站的生产环境中,PDB DataGuard出现问题,需要处理。
– 日志传输失败
– 备库同步延迟
– 数据不一致
# 分析步骤
1. 查看归档日志传输状态
SQL> SELECT dest_name, status, error FROM v$archive_dest WHERE dest_name IN (‘LOG_ARCHIVE_DEST_1’, ‘LOG_ARCHIVE_DEST_2’);
DEST_NAME STATUS ERROR
——————– ——— ——————–
LOG_ARCHIVE_DEST_1 VALID
LOG_ARCHIVE_DEST_2 ERROR ORA-12154: TNS:could not resolve the connect identifier specified
2. 查看TNS配置
$ tnsping ORCLCDB_STBY
TNS Ping Utility for Linux: Version 19.3.0.0.0 – Production on 31-MAR-2026 10:00:00
Copyright (c) 1997, 2019, Oracle. All rights reserved.
Used parameter files:
/oracle/app/oracle/product/19c/dbhome_1/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = standby.fgedu.net.cn)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCLCDB_STBY)))
TNS-12541: TNS:no listener
# 问题原因
– TNS配置错误
– 日志传输失败
# 解决方案
1. 修复TNS配置
$ vi $ORACLE_HOME/network/admin/tnsnames.ora
ORCLCDB_STBY =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCLCDB_STBY)
)
)
2. 测试TNS连接
$ tnsping ORCLCDB_STBY
TNS Ping Utility for Linux: Version 19.3.0.0.0 – Production on 31-MAR-2026 10:00:00
Copyright (c) 1997, 2019, Oracle. All rights reserved.
Used parameter files:
/oracle/app/oracle/product/19c/dbhome_1/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCLCDB_STBY)))
OK (10 msec)
3. 验证归档日志传输状态
SQL> SELECT dest_name, status, error FROM v$archive_dest WHERE dest_name IN (‘LOG_ARCHIVE_DEST_1’, ‘LOG_ARCHIVE_DEST_2’);
DEST_NAME STATUS ERROR
——————– ——— ——————–
LOG_ARCHIVE_DEST_1 VALID
LOG_ARCHIVE_DEST_2 VALID
# 解决效果
– TNS配置正确
– 日志传输正常
– 备库同步正常
– 数据一致性恢复
Part05-风哥经验总结与分享
5.1 PDB DataGuard经验
Oracle数据库PDB DataGuard经验:
- 规划DataGuard架构:根据业务需求规划DataGuard架构,最小化数据丢失
- 配置保护模式:为PDB配置合理的保护模式
- 监控日志传输:监控日志传输情况,及时发现和处理问题
- 定期测试切换:定期测试故障切换功能,确保系统可用
- 设置监控告警:设置监控告警,及时发现DataGuard问题
- 定期review:定期review DataGuard配置,优化保护策略
5.2 PDB DataGuard检查清单
– [ ] 检查系统资源
– [ ] 检查CDB架构
– [ ] 检查PDB DataGuard需求
– [ ] 检查网络配置
– [ ] 检查归档模式
– [ ] 检查强制日志
– [ ] 规划DataGuard架构
– [ ] 配置DataGuard参数
– [ ] 配置TNS
– [ ] 验证DataGuard功能
# PDB DataGuard问题处理流程
1. 检查系统资源
2. 检查CDB架构
3. 检查PDB DataGuard需求
4. 规划DataGuard架构
5. 配置DataGuard参数
6. 配置TNS
7. 验证DataGuard功能
8. 处理DataGuard问题
9. 优化配置
10. 监控DataGuard状态
5.3 PDB DataGuard工具
Oracle数据库PDB DataGuard常用工具:
- Data Guard Broker:Data Guard代理,用于管理DataGuard
- DGMGRL:Data Guard管理命令行工具
- SQL*Plus:SQL命令行工具,用于执行SQL命令
- Oracle Enterprise Manager:图形化管理工具,用于监控和管理数据库
- RMAN:恢复管理器,用于备份和恢复数据库
- SQL Developer:SQL开发工具,用于开发和调试SQL
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
