Oracle12c 巡检实现性能可靠性(oracle12c 巡检)
Oracle12c巡检:实现性能可靠性
随着企业业务的不断扩展和发展,数据量不断增大,企业对于高性能、高可靠性的需求也日益增加。Oracle12c在数据库性能管理上做了不少改进,为企业优化性能、提高可靠性带来新的可能。本文将介绍如何利用Oracle12c实现数据库性能可靠性的方法。
一、利用AWR报告实现Oracle性能监控
Oracle Automatic Workload Repository(AWR)是Oracle自带的一个性能分析工具,有比较好的体现数据库性能和各类统计信息。获取AWR报告的方法:
1. 登录Oracle服务器,在sqlplus中使用,命令为:
sqlplus / as sysdba
2. 进入AWR查询模式:
@$ORACLE_HOME/rdbms/admin/awrrpt.sql
3. 根据提示,输入AWR报告所需的查询条件,包括:起始时间、终止时间、挂起时间和快照区间等信息。
4. 生成AWR报告,可以在$ORACLE_HOME/rdbms/admin/路径下找到。
二、AWR报告分析优化
AWR报告详细反应了数据库实例在一段时间内的性能状态,可以通过分析AWR报告来解决各类性能问题,例如:
1. 慢SQL语句的定位:在AWR报告中,查找Top 5 SQL语句,然后通过对这些语句的分析,可以找出慢SQL语句并进行优化。
2. 缓冲池问题的调整:在AWR报告中,查找Buffer Pool的数据信息,如果在其中发现大量的操作系统磁盘读取和写入,可能是缓冲池设置不当导致的,这时需要调整缓存池的大小和结构。
3. 锁问题的排查:在AWR报告中,查找锁等待的情况,如果锁等待时间突然变长,就要分析导致该情况的原因并进行调整。
4. 性能变化的监控:在AWR报告中,可以查看系统性能随时间的变化情况,及时发现性能下降的原因并进行优化。
三、AWR自动审计
在Oracle12c中,AWR已经具备自动审计的能力,针对一些长时间存在、频繁在线操作,导致数据库运行速度减缓的情况,通过配置dbms_scheduler的自动审计功能,可以容易地定位问题所在。例如:
EXEC DBMS_SCHEDULER.CREATE_SCHEDULE(SCHEDULE_NAME=>'Awr_Book',
REPEAT_INTERVAL=>'interval ' 2 ' hour',START_DATE=> timestamp'2015-02-03 01:00:00.000');
BEGIN
DBMS_SCHEDULER.create_job(job_name=>'Run_Awr_Book',job_type=>'STORED_PROCEDURE',
job_action=>'DBMS_WORKLOAD_REPOSITORY.create_snapshot',number_of_arguments=>1,
start_date=>timestamp'2015-02-03 01:00:00.000',repeat_interval=>'FREQ=DLY;BYHOUR=2;BYMINUTE=0',
end_date=>NULL,comments=>'dly snapshot');
END;
四、利用DBMS_REPR存储过程实现Oracle12c巡检
Oracle12c中的DBMS_REPR存储过程可以实现数据库自动巡检,检查数据完整性。在检查过程中,如果发现数据不完整,会自动执行修复过程。
1. 创建ReprTable表:
CREATE TABLE reprtable
(id INTEGER,column1 VARCHAR2(20),
column2 VARCHAR2(20),column3 VARCHAR2(20));
2. 开始DBMS_REPR自动巡检:
BEGIN
DBMS_REPR.create_repr_handle('reprProd');DBMS_REPR.ADD_REPR_OBJECT(handle_name => 'reprProd',object_type => 'TABLE', object_schema => 'me', object_name => 'reprtable');
DBMS_REPR.check_object('reprProd', 'me', 'reprtable', 'FULL');END;
通过自动巡检,可以自动发现和修复数据库中的各种问题,保障数据库性能的稳定可靠。
综上所述,Oracle12c的性能可靠性提升给予了企业更多的利益,但是仅仅依靠Oracle自身的性能监控可能仍无法满足企业的整体数据库性能管理需求。如果您的企业需要更全面的数据库性能管理解决方案,请考虑使用更好的第三方数据库管理工具。