O Oracle DBA 运维知识库

数据库科普

Oracle 服务组件关系、运行链路和日常巡检参考。

组件关系

数据库与实例

  • 数据库由数据文件、控制文件和在线重做日志等文件组成,持久保存数据。
  • 实例由 SGA 内存区和后台进程组成,负责访问和管理数据库文件。实例不可用与数据库文件损坏是不同故障。
  • 服务是应用连接数据库的逻辑入口,可关联一个或多个实例。

单实例 CDB 结构:实例由 SGA 和后台进程组成,管理根容器和业务 PDB,并访问数据库物理文件。

CDB 与 PDB

Oracle 12c 及之后版本可采用多租户架构。CDB 是容器数据库,PDB 是其中承载应用数据和对象的可插拔数据库。应用通常通过指向 PDB 的服务连接;巡检时需同时确认 CDB、目标 PDB 的状态及连接服务。

SELECT name, cdb, open_mode, database_role FROM v$database;
SELECT con_id, name, open_mode, restricted FROM v$pdbs ORDER BY con_id;

非 CDB 环境或不同版本的视图和字段可能不同,执行前先确认数据库版本与容器环境。

监听与连接

客户端 → 网络地址与端口 → Listener → 数据库 Service → Instance → 数据库文件

客户端连接链路

连接异常时,依次检查网络、监听、服务注册、实例状态和文件可用性,并记录错误信息和影响范围。

单机与 RAC

部署方式实例与数据库关系运维关注点
单机通常由一个实例访问一套数据库文件实例、服务、主机和存储状态
RAC多个实例共同访问同一数据库节点、实例、服务、集群存储及节点故障影响

RAC 通过多实例提供集群服务能力;Data Guard 通过主备数据库提供数据保护和容灾能力,两者用途不同。

RAC 节点通过集群互联协调实例活动,共同访问受支持的共享数据库存储。排查时应区分单节点故障、集群互联异常、共享存储异常和数据库服务异常。

RAC 节点、实例与共享存储关系

SELECT inst_id, instance_name, host_name, status FROM gv$instance ORDER BY inst_id;
SELECT inst_id, name, network_name FROM gv$services ORDER BY inst_id, name;

数据库视图不能代替集群层检查;节点、集群资源和存储状态还需按现场使用的 Grid Infrastructure 工具核查。

Data Guard 主备链路

主库产生 redo → 网络传输 → 备库 RFS 写入 Standby Redo Log(SRL)→ MRP 应用

实时传输和实时应用不必等待主库日志归档;归档日志用于保留历史 redo、补齐缺口和介质恢复。

Data Guard 重做日志传输与应用链路

检查时区分日志已传输和已应用,并关注序列差异、传输延迟、应用延迟和 GAP。具体状态应结合当前角色和 Oracle 版本判断。

角色查询在已 MOUNT 或 OPEN 的主库、备库分别执行:

SELECT database_role, open_mode, protection_mode FROM v$database;

以下延迟和 GAP 查询连接到物理备库后执行:

SELECT name, value, unit, time_computed
FROM v$dataguard_stats
WHERE name IN ('transport lag', 'apply lag');

SELECT * FROM v$archive_gap;

V$ARCHIVE_GAP 用于查看当前阻塞恢复的 GAP;无返回行不替代对传输进程、应用进程和延迟的检查。物理备库可结合对应版本支持的 Data Guard 进程视图核查 RFS 和 Redo Apply 状态。

存储、归档与备份

  • 存储:确认数据文件、控制文件、在线日志、归档日志和备份文件所在卷或目录,关注可用空间及增长趋势。
  • 归档日志:用于介质恢复和 Data Guard 日志传输。删除前核对备份情况、备库应用情况及保留策略。
  • RMAN:用于数据库物理备份与恢复。检查任务结果、备份位置、保留策略和恢复所需归档覆盖范围。
  • Data Pump:用于逻辑导出与导入,常见于对象迁移;不能代替 RMAN 整库物理备份。
  • 备份验证:备份任务成功不等于已验证可恢复,需按计划执行恢复校验或演练。

空间检查示例

使用数据库视图查看表空间使用率和快速恢复区(FRA)用量;操作系统文件系统仍需单独检查。下面的查询需要有权读取相应视图的账号。

SELECT tablespace_name, used_percent
FROM dba_tablespace_usage_metrics
ORDER BY used_percent DESC;

SELECT name, space_limit, space_used, space_reclaimable
FROM v$recovery_file_dest;

DBA_TABLESPACE_USAGE_METRICS 的统计口径受数据文件自动扩展和底层存储可用空间等因素影响。结合数据文件、临时文件、归档目录和操作系统文件系统判断,不以单一百分比决定删除操作。

日常巡检

检查范围记录内容异常处理入口
实例与服务实例状态、数据库角色、开放模式、服务和连接情况确认预期状态及影响范围
主机资源CPU、内存、负载及变化趋势数据库慢或卡顿排查
存储空间数据、归档和备份目录容量及增长趋势空间不足与同步中断排查
Data Guard传输、应用、序列差异、延迟和 GAP同步中断排查
备份作业结果、备份位置、归档覆盖范围、验证记录备份恢复
监听与连接监听状态、服务注册、连接数和错误信息连接问题排查

具体命令、正常结果示例和记录表见日常巡检。每次巡检记录时间、主机或实例、检查结果和异常处理。巡检阈值以客户现行标准为准。

巡检频率和告警阈值按客户既有制度执行。SQL 执行前确认账号权限、容器和实例范围。

环境配置

现场版本、拓扑、目录和备份参数见环境配置。首页架构图仅表示常见主备关系,不代表客户实际拓扑。

相关操作手册

dg_manager_180.sh · 故障排查 · 备份恢复

On this page