Oracle的奇葩设置之自动统计信息更新

简介:     目前,oracle数据库版本已经到达12C了,数据库SQL的执行基本都是基于CBO开销模式的。但是,对于应用维护人员不尽理解数据库的工作原理,他们为了最求数据库的高性能,创建完数据库,却禁用了数据库统计信息自动更新的JOB。
    目前,oracle数据库版本已经到达12C了,数据库SQL的执行基本都是基于CBO开销模式的。但是,对于应用维护人员不尽理解数据库的工作原理,他们为了最求数据库的高性能,创建完数据库,却禁用了数据库统计信息自动更新的JOB。在联通,通过如下方法查看,发现很多数据库的统计信息更新作业都被禁用了。
SQL> select owner,job_name,enabled from dba_scheduler_jobs where job_name='GATHER_STATS_JOB';
OWNER                     JOB_NAME                 ENABL
------------------------------ ------------------------------  -----
SYS                         GATHER_STATS_JOB     FALSE
    这样,虽然能暂时换来数据库的高性能,但是这并不是应用最求应用系统最好性能的根本方法。反而,他们关闭了数据库统计信息自动更新任务,却又忘记关注数据库对象的统计信息,更容易导致锁表、全表扫描、表的高水位问题。因为,数据库对象的统计信息不再自动更新,SQL执行失去了CBO开销模式评估的最有效的信息,导致SQL执行发生一系列的问题。今天,ERP项目管理就发现一个奇特的问题:表只有143M,使用select进行记录数统计时执行20多分钟没有结果,却被数据库强制断开了连接;在综合网管系统中发现很多ORA-01555的报错,找到一个SQL执行老失败,查看SQL涉及的表的统计信息也是2年前的,再一看数据库的对象统计信息自动更新任务也是被禁用了的。
    其实,如果想从统计信息平衡应用的好性能,可以人为的做个crontab,人为判断数据库空闲时间,开启数据库统计信息更新功能,执行数据库统计信息更新。在其他的时间段可以暂时停止该任务的执行。
目录
相关文章
|
11天前
|
监控 Oracle 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第8天】在 Linux 平台设置 Oracle 开机自启动有多种方法,本文以 CentOS 为例,介绍了两种常见方法:使用 `rc.local` 文件(较简单但不推荐用于生产环境)和使用 `systemd` 服务(推荐)。具体步骤包括编写启动脚本、赋予执行权限、配置 `rc.local` 或创建 `systemd` 服务单元文件,并设置开机自启动。通过 `systemd` 方式可以更好地与系统启动过程集成,更规范和可靠。
|
6月前
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Dept实体类和对应的配置信息
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Dept实体类和对应的配置信息
|
6月前
|
Oracle 关系型数据库 Linux
Oracle设置监听之Navicat的锅
Oracle设置监听之Navicat的锅
102 0
|
6月前
|
SQL Oracle 关系型数据库
Oracle-Oracle SQL Report (awrsqrpt.sql/awrsqrpi.sql)生成指定SQL的统计报表
Oracle-Oracle SQL Report (awrsqrpt.sql/awrsqrpi.sql)生成指定SQL的统计报表
87 0
|
12天前
|
Oracle Ubuntu 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第7天】本文介绍了 Linux 系统中服务管理机制,并详细说明了如何在使用 systemd 和 System V 的系统上设置 Oracle 数据库的开机自启动。包括创建服务单元文件、编辑启动脚本、设置开机自启动和启动服务的具体步骤。最后建议重启系统验证设置是否成功。
|
4月前
|
SQL Oracle 关系型数据库
关系型数据库Oracle设置 RMAN 环境:
【7月更文挑战第25天】
70 2
|
4月前
|
Oracle 关系型数据库 Unix
关系型数据库Oracle设置环境变量:
【7月更文挑战第22天】
560 4
|
4月前
|
Oracle 关系型数据库
oracle收集统计信息,游标失效时间
Dbms_stats Invalidates Cursors in Auto_invalidate mode
44 0
|
4月前
|
Oracle 关系型数据库
oracle收集统计信息,游标失效时间
Dbms_stats Invalidates Cursors in Auto_invalidate mode
38 0
|
6月前
|
Oracle 关系型数据库 数据挖掘
Oracle常用系统函数之聚集函数:数据的统计大师
【4月更文挑战第19天】Oracle的聚集函数是数据统计的强大工具,包括`SUM`(求和)、`COUNT`(计数)、`AVG`(平均值)、`MAX`和`MIN`(最大值和最小值)、`STDDEV`(标准差)等。这些函数帮助我们汇总、分析数据,提供丰富的统计信息。熟练掌握这些函数,能提升数据分析效率,助你成为数据大师。