本文档风哥主要介绍Oracle 26ai的日常维护与管理,包括维护概述、维护类型、维护工具、维护计划、维护检查清单、维护策略、日常维护、周维护、月维护、维护案例、故障排除、最佳实践、维护技巧、性能管理、灾难恢复等内容,由风哥教程参考Oracle官方文档,适合数据库管理员和IT专业人员在学习和测试中使用,如果要应用于生产环境则需要自行确认。
Part01-基础概念与理论知识
1.1 维护概述
Oracle 26ai的维护概述:
- 确保系统稳定运行
- 优化系统性能
- 预防潜在问题
- 确保数据安全
- 延长系统寿命
1.2 维护类型
Oracle 26ai的维护类型: 更多视频教程www.fgedu.net.cn
- 日常维护:每日执行的维护任务
- 周维护:每周执行的维护任务
- 月维护:每月执行的维护任务
- 季度维护:每季度执行的维护任务
- 年度维护:每年执行的维护任务
1.3 维护工具
Oracle 26ai的维护工具:
– Enterprise Manager:全面的管理工具
– SQL*Plus:命令行工具
– RMAN:备份和恢复工具
– Data Pump:数据导出导入工具
– AWR:自动工作负载仓库
– ADDM:自动数据库诊断监控器
– SQL Tuning Advisor:SQL调优顾问
– Oracle Agent:智能代理
# 常用命令行工具
– sqlplus:SQL命令执行
– rman:备份和恢复
– expdp/impdp:数据导出导入
– sqlldr:数据加载
– tnsping:网络连接测试
– lsnrctl:监听器管理
# 图形化工具
– Enterprise Manager Cloud Control:企业级管理
– SQL Developer:SQL开发
– Data Modeler:数据建模
– Recovery Manager:备份管理
# 监控工具
– AWR:自动工作负载仓库
– ADDM:自动数据库诊断监控器
– ASH:活动会话历史
– DBA_HIST:历史性能数据
Part02-生产环境规划与建议
2.1 维护计划
Oracle 26ai的维护计划: 学习交流加群风哥微信: itpux-com
– 日常维护:每日执行
– 周维护:每周执行
– 月维护:每月执行
– 季度维护:每季度执行
– 年度维护:每年执行
# 维护时间安排
– 日常维护:非业务高峰期
– 周维护:周末
– 月维护:月末周末
– 季度维护:季度末周末
– 年度维护:年末假期
# 维护内容
– 日常维护:备份检查、性能监控、空间检查
– 周维护:备份验证、统计信息收集、日志清理
– 月维护:性能调优、安全审计、补丁检查
– 季度维护:全面健康检查、备份策略调整
– 年度维护:数据库重构、容量规划
# 维护责任人
– 日常维护:初级DBA
– 周维护:中级DBA
– 月维护:高级DBA
– 季度维护:DBA团队
– 年度维护:DBA团队和架构师
2.2 维护检查清单
Oracle 26ai的维护检查清单:
- 日常检查:
- 数据库状态检查
- 备份状态检查
- 空间使用情况检查
- 性能监控
- 告警检查
- 周检查:
- 备份验证
- 统计信息收集
- 日志清理
- 安全检查
- 性能报告分析
- 月检查:
- 性能调优
- 安全审计
- 补丁检查
- 容量规划
- 健康检查
2.3 维护策略
Oracle 26ai的维护策略: 学习交流加群风哥QQ113257174
– 预防为主:定期维护,预防问题
– 快速响应:及时处理出现的问题
– 持续改进:不断优化维护流程
– 自动化:使用自动化工具减少人工干预
– 文档化:记录维护过程和结果
# 备份策略
– 每日增量备份
– 每周全备份
– 每月归档备份
– 异地备份
– 备份验证
# 性能策略
– 定期性能监控
– 及时性能调优
– 资源合理分配
– 负载均衡
– 容量规划
# 安全策略
– 定期安全审计
– 及时安全补丁
– 访问控制
– 数据加密
– 漏洞扫描
Part03-生产环境项目实施方案
3.1 日常维护
3.1.1 日常维护任务
Oracle 26ai的日常维护任务:
1. 检查数据库状态
2. 检查备份状态
3. 检查空间使用情况
4. 监控性能
5. 检查告警
6. 检查日志文件
# 示例:检查数据库状态
SQL> SELECT name, open_mode FROM v$database;
NAME OPEN_MODE
——— ——————–
ORCL READ WRITE
SQL> SELECT name, open_mode FROM v$pdbs;
NAME OPEN_MODE
——— ——————–
PDB$SEED READ ONLY
PDB1 READ WRITE
PDB2 READ WRITE
# 示例:检查备份状态
SQL> SELECT * FROM v$rman_backup_job_details ORDER BY start_time DESC;
SESSION_KEY CMD_ID CPD_KEY START_TIME END_TIME OUTPUT_DEVICE_TYPE STATUS
———— ————— ———- ——————- ——————- ——————– ———-
123 1234567890abcdef 0 2026-04-05 00:00:00 2026-04-05 00:15:00 DISK COMPLETED
122 1234567890abcdee 0 2026-04-04 00:00:00 2026-04-04 00:15:00 DISK COMPLETED
# 示例:检查空间使用情况
SQL> SELECT tablespace_name, SUM(bytes)/1024/1024/1024 AS used_gb,
SUM(maxbytes)/1024/1024/1024 AS max_gb
FROM dba_data_files
GROUP BY tablespace_name;
TABLESPACE_NAME USED_GB MAX_GB
—————————— ———- ———-
SYSTEM 1.2345 10.0000
SYSAUX 2.3456 20.0000
UNDOTBS1 0.5678 10.0000
USERS 0.1234 5.0000
# 示例:监控性能
SQL> SELECT * FROM v$system_wait_class ORDER BY wait_time DESC;
CLASS_ID CLASS_NAME WAIT_COUNT WAIT_TIME TIME_WAITED_MICRO
——– ——————– ———- ———- ——————
10 User I/O 12345 67890 67890000
20 System I/O 9876 45678 45678000
30 Concurrency 5432 23456 23456000
# 示例:检查告警
SQL> SELECT * FROM dba_outstanding_alerts;
SEQUENCE_ID OWNER_NAME OBJECT_NAME OBJECT_TYPE MESSAGE_TEXT
———– ———- ———– ——————– —————————————-
1 SYS USERS TABLESPACE Tablespace USERS is 90% full
# 示例:检查日志文件
SQL> SELECT member FROM v$logfile;
MEMBER
—————————————-
/oracle/app/oracle/oradata/ORCL/redo01.log
/oracle/app/oracle/oradata/ORCL/redo02.log
/oracle/app/oracle/oradata/ORCL/redo03.log
3.2 周维护
3.2.1 周维护任务
Oracle 26ai的周维护任务: 更多学习教程公众号风哥教程itpux_com
1. 备份验证
2. 统计信息收集
3. 日志清理
4. 安全检查
5. 性能报告分析
# 示例:备份验证
$ rman target /
RMAN> VALIDATE BACKUPSET;
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=123 device type=DISK
List of Backup Sets
==================
BS Key Size Device Type Elapsed Time Completion Time
——- ———- ———– ———— ——————
123 1.2G DISK 00:15:00 2026-04-05 00:15:00
Backup set status: AVAILABLE
Backup set validation completed
Files in backup set:
File LV Type Ckp SCN Ckp Time Name
—- — —- ———- —————— —-
1 Full 1234567890 2026-04-05 00:00:00 /oracle/app/oracle/oradata/ORCL/system01.dbf
2 Full 1234567890 2026-04-05 00:00:00 /oracle/app/oracle/oradata/ORCL/sysaux01.dbf
3 Full 1234567890 2026-04-05 00:00:00 /oracle/app/oracle/oradata/ORCL/undotbs01.dbf
4 Full 1234567890 2026-04-05 00:00:00 /oracle/app/oracle/oradata/ORCL/users01.dbf
# 示例:统计信息收集
SQL> EXEC DBMS_STATS.GATHER_DATABASE_STATS;
PL/SQL procedure successfully completed.
# 示例:日志清理
$ find /oracle/app/oracle/diag/rdbms/fgedudb/ORCL/trace -name “*.trc” -mtime +7 -delete
$ find /oracle/app/oracle/diag/rdbms/fgedudb/ORCL/alert -name “*.log” -mtime +30 -delete
# 示例:安全检查
SQL> SELECT * FROM dba_audit_trail WHERE action_name = ‘LOGON’ AND returncode != 0;
AUDIT_TRAIL OS_USERNAME USERNAME USERHOST TIMESTAMP ACTION_NAME
———— ———— ———- ————— ——————- ————
DB oracle SYS localhost 2026-04-05 10:00:00 LOGON
# 示例:性能报告分析
$ sqlplus / as sysdba
SQL> @?/rdbms/admin/awrrpt.sql
Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
Enter value for report_type: html
Specify the Number of Days of Past Snapshots to Choose From
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for num_days: 7
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 100
Enter value for end_snap: 110
Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~
Enter value for report_name: /oracle/app/oracle/awr_report.html
Report written to /oracle/app/oracle/awr_report.html
3.3 月维护
3.3.1 月维护任务
Oracle 26ai的月维护任务:
1. 性能调优
2. 安全审计
3. 补丁检查
4. 容量规划
5. 健康检查
# 示例:性能调优
SQL> EXEC DBMS_SQLTUNE.ANALYZE_SQL_SET(‘SQL_SET_NAME’);
PL/SQL procedure successfully completed.
# 示例:安全审计
SQL> SELECT * FROM dba_audit_policies;
POLICY_NAME POLICY_TEXT ENABLED
————– ————————— ——–
AUDIT_POLICY AUDIT SELECT ON SYS.USERS YES
# 示例:补丁检查
$ opatch lsinventory
Oracle Interim Patch Installer version 12.2.0.1.39
Copyright (c) 2026, Oracle Corporation. All rights reserved.
Oracle Home : /oracle/app/oracle/product/26.1.0/dbhome_1
Central Inventory : /oracle/app/oraInventory
from : /oracle/app/oracle/product/26.1.0/dbhome_1/oraInst.loc
OPatch version : 12.2.0.1.39
OUI version : 12.2.0.1.40
Log file location : /oracle/app/oracle/product/26.1.0/dbhome_1/cfgtoollogs/opatch/opatch2026-04-05_10-00-00AM_1.log
Lsinventory Output file location : /oracle/app/oracle/product/26.1.0/dbhome_1/cfgtoollogs/opatch/lsinv/lsinventory2026-04-05_10-00-00AM.txt
——————————————————————————–
Local Machine Information:
Hostname: oracle-server
ARU platform id: 226
ARU platform description:: Linux x86-64
Installed Top-level Products (1):
Oracle Database 26ai 26.1.0.0.0
There are 1 products installed in this Oracle Home.
Interim patches (1):
Patch 35678901 : applied on Mon Apr 01 10:00:00 2026
Unique Patch ID: 12345678
Patch description: “Oracle Database 26ai Release Update 1”
Created on 1 Feb 2026, 00:00:00 hrs PST8PDT
Bugs fixed: 12345678, 23456789, 34567890
# 示例:容量规划
SQL> SELECT tablespace_name,
SUM(bytes)/1024/1024/1024 AS current_gb,
SUM(maxbytes)/1024/1024/1024 AS max_gb,
(SUM(bytes)/SUM(maxbytes))*100 AS used_percent
FROM dba_data_files
GROUP BY tablespace_name;
TABLESPACE_NAME CURRENT_GB MAX_GB USED_PERCENT
—————————— ———- ———- ————
SYSTEM 1.2345 10.0000 12.35
SYSAUX 2.3456 20.0000 11.73
UNDOTBS1 0.5678 10.0000 5.68
USERS 0.1234 5.0000 2.47
# 示例:健康检查
SQL> @?/rdbms/admin/dbms_health.sql
DBMS Health Check Report
========================
Database: ORCL
Instance: ORCL
Host: oracle-server
Check Results:
————–
Check Name Status Details
—————————- ——- —————————————-
Database Up Time PASS Database has been up for 7 days
Tablespace Status PASS All tablespaces are online
Redo Log Status PASS All redo logs are functional
Archive Log Status PASS Archive log mode is enabled
Backup Status PASS Last backup was taken within 24 hours
Space Usage PASS All tablespaces have sufficient space
Security Status PASS No security issues detected
Performance Status PASS No performance issues detected
Part04-生产案例与实战讲解
4.1 维护案例
以企业级应用为例,维护Oracle 26ai: from oracle:www.itpux.com
## 业务需求
– 高可用性:确保系统24/7运行
– 高性能:处理大量并发用户
– 数据安全:保护敏感数据
– 可扩展性:支持业务增长
## 维护架构
– 维护团队:3名DBA,分工负责
– 维护工具:Enterprise Manager, RMAN, AWR
– 维护计划:日常、周、月、季度、年度维护
– 监控系统:Prometheus, Grafana
## 维护流程
1. 日常维护:由初级DBA执行,包括状态检查、备份检查、空间检查
2. 周维护:由中级DBA执行,包括备份验证、统计信息收集、日志清理
3. 月维护:由高级DBA执行,包括性能调优、安全审计、补丁检查
4. 季度维护:由DBA团队执行,包括全面健康检查、备份策略调整
5. 年度维护:由DBA团队和架构师执行,包括数据库重构、容量规划
## 维护效果
– 系统可用性:99.99%
– 性能提升:查询性能提升30%
– 故障减少:故障发生率降低80%
– 数据安全:未发生安全事件
– 维护效率:维护时间减少50%
# 示例:自动化维护脚本
$ cat maintenance.sh
#!/bin/bash
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn
# 日常维护脚本
# 检查数据库状态
sqlplus -s / as sysdba << EOF
SELECT name, open_mode FROM v$database;
SELECT name, open_mode FROM v$pdbs;
EOF
# 检查备份状态
sqlplus -s / as sysdba << EOF
SELECT * FROM vrman_backup_job_details ORDER BY start_time DESC;
EOF
# 检查空间使用情况
sqlplus -s / as sysdba << EOF
SELECT tablespace_name, SUM(bytes)/1024/1024/1024 AS used_gb,
SUM(maxbytes)/1024/1024/1024 AS max_gb
FROM dba_data_files
GROUP BY tablespace_name;
EOF
# 监控性能
sqlplus -s / as sysdba << EOF
SELECT * FROM vsystem_wait_class ORDER BY wait_time DESC;
EOF
# 检查告警
sqlplus -s / as sysdba << EOF
SELECT * FROM dba_outstanding_alerts;
EOF
# 执行备份
rman target / << EOF
BACKUP DATABASE PLUS ARCHIVELOG;
EOF
# 清理日志
find /oracle/app/oracle/diag/rdbms/fgedudb/ORCL/trace -name “*.trc” -mtime +7 -delete
find /oracle/app/oracle/diag/rdbms/fgedudb/ORCL/alert -name “*.log” -mtime +30 -delete
# 发送维护报告
mail -s “Daily Maintenance Report” dba@fgedu.net.cn < /tmp/maintenance_report.txt
4.2 故障排除
Oracle 26ai维护过程中的常见故障及排除方法:
- 数据库无法启动:
- 检查参数文件:确保参数文件正确
- 检查日志文件:查看告警日志
- 检查数据文件:确保数据文件存在
- 检查内存:确保内存足够
- 性能下降:
- 检查AWR报告:分析性能瓶颈
- 检查SQL语句:优化慢查询
- 检查索引:确保索引有效
- 检查内存:调整内存参数
- 空间不足:
- 扩展表空间:增加数据文件
- 清理空间:删除无用数据
- 分区表:使用分区减少空间使用
- 压缩数据:使用数据压缩
- 备份失败:
- 检查备份设备:确保设备可用
- 检查空间:确保备份空间足够
- 检查权限:确保备份用户有足够权限
- 检查网络:确保网络连接正常
4.3 最佳实践
Oracle 26ai维护的最佳实践:
– 制定维护计划:定期执行维护任务
– 自动化维护:使用脚本和工具自动化维护
– 监控系统:建立完善的监控机制
– 备份策略:制定合理的备份策略
– 性能调优:定期进行性能调优
– 安全审计:定期进行安全审计
– 文档化:记录维护过程和结果
– 培训:对DBA进行培训
# 日常维护最佳实践
– 每日检查:检查数据库状态和备份
– 及时处理:及时处理出现的问题
– 记录问题:记录所有问题和解决方案
– 定期总结:总结维护经验
# 周维护最佳实践
– 备份验证:确保备份有效
– 统计信息:定期收集统计信息
– 日志清理:定期清理日志文件
– 安全检查:检查安全配置
# 月维护最佳实践
– 性能调优:分析性能报告并调优
– 安全审计:审计安全配置和访问
– 补丁检查:检查并应用补丁
– 容量规划:分析空间使用情况
# 季度维护最佳实践
– 全面健康检查:检查所有系统组件
– 备份策略调整:根据业务需求调整备份策略
– 性能基准测试:建立性能基准
– 灾难恢复测试:测试灾难恢复流程
# 年度维护最佳实践
– 数据库重构:优化数据库结构
– 容量规划:预测未来空间需求
– 系统升级:评估并升级系统
– 维护计划更新:更新维护计划
Part05-风哥经验总结与分享
5.1 维护技巧
– 预防为主:定期维护,预防问题
– 自动化:使用脚本和工具自动化维护
– 监控:建立完善的监控机制
– 备份:制定合理的备份策略
– 性能:定期进行性能调优
– 安全:定期进行安全审计
– 文档:记录维护过程和结果
– 培训:持续学习和培训
# 常见问题解决技巧
– 数据库启动问题:检查参数文件和日志
– 性能问题:分析AWR报告和SQL语句
– 空间问题:扩展表空间和清理数据
– 备份问题:检查备份设备和空间
– 安全问题:检查权限和审计日志
# 性能优化技巧
– SQL优化:优化慢查询
– 索引优化:创建和维护索引
– 内存优化:调整内存参数
– 存储优化:使用高性能存储
– 并行执行:启用并行处理
# 安全维护技巧
– 最小权限:使用最小权限原则
– 密码策略:设置强密码策略
– 访问控制:实施细粒度访问控制
– 加密:启用透明数据加密
– 审计:启用详细的审计日志
5.2 性能管理
Oracle 26ai的性能管理:
- 性能监控:
- 使用AWR和ASH监控性能
- 设置性能告警阈值
- 定期生成性能报告
- 性能调优:
- 优化SQL语句
- 调整内存参数
- 优化存储配置
- 使用并行执行
- 性能基准:
- 建立性能基准
- 定期进行基准测试
- 比较性能变化
5.3 灾难恢复
Oracle 26ai的灾难恢复:
– 备份策略:制定合理的备份策略
– 恢复计划:制定详细的恢复计划
– 测试:定期测试恢复流程
– 演练:定期进行灾难恢复演练
– 文档:记录灾难恢复流程
# 备份策略
– 全备份:每周执行全备份
– 增量备份:每日执行增量备份
– 归档备份:每月执行归档备份
– 异地备份:将备份存储在异地
– 备份验证:定期验证备份有效性
# 恢复计划
– 制定详细的恢复步骤
– 分配恢复任务和责任人
– 建立恢复时间目标(RTO)和恢复点目标(RPO)
– 准备恢复所需的资源和工具
# 灾难恢复测试
– 定期测试恢复流程
– 记录测试结果和问题
– 优化恢复流程
– 培训恢复人员
# 常见灾难场景
– 硬件故障:服务器或存储故障
– 软件故障:数据库或操作系统故障
– 人为错误:误操作或恶意操作
– 自然灾害:火灾、洪水等
– 网络故障:网络中断或攻击
# 恢复案例
– 数据库损坏:使用RMAN恢复
– 表空间损坏:使用RMAN恢复表空间
– 数据文件丢失:使用RMAN恢复数据文件
– 整个数据库丢失:使用RMAN完全恢复
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
