千家信息网

行业客户 12c 何时自动收集统计信息?

发表于:2024-10-24 作者:千家信息网编辑
千家信息网最后更新 2024年10月24日,每个行业都有自己的特点,比如金融行业,每天晚上10点左右会跑批,而自动收集统计信息默认周一到周五晚上10点,持续4个小时收集统计信息,周六周日每天6点,持续20个小时收集统计信息。显然我们应该设计一个
千家信息网最后更新 2024年10月24日行业客户 12c 何时自动收集统计信息?

每个行业都有自己的特点,比如金融行业,每天晚上10点左右会跑批,而自动收集统计信息默认周一到周五晚上10点,持续4个小时收集统计信息,周六周日每天6点,持续20个小时收集统计信息。显然我们应该设计一个更加合适的时间点来收集统计信息。

这里演示每天凌晨1点,持续5个小时收集统计信息的方法。

1.查看版本SQL> select * from v$version;BANNER                                                                               CON_ID-------------------------------------------------------------------------------- ----------Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production              0PL/SQL Release 12.1.0.2.0 - Production                                                    0CORE    12.1.0.2.0      Production                                                        0TNS for Linux: Version 12.1.0.2.0 - Production                                            0NLSRTL Version 12.1.0.2.0 - Production                                                    0SQL> 
--默认值如下set lines 200col WINDOW_NAME for a20col REPEAT_INTERVAL for a60 col DURATION  for a20SELECT w.window_name,               w.repeat_interval,               w.duration,               w.enabled          FROM dba_autotask_window_clients c, dba_scheduler_windows w         WHERE c.window_name = w.window_name AND c.optimizer_stats = 'ENABLED';SQL> set lines 200SQL> col WINDOW_NAME for a20SQL> col REPEAT_INTERVAL for a60 SQL> col DURATION  for a20SQL> SELECT w.window_name,  2                 w.repeat_interval,  3                 w.duration,  4                 w.enabled  5            FROM dba_autotask_window_clients c, dba_scheduler_windows w  6           WHERE c.window_name = w.window_name AND c.optimizer_stats = 'ENABLED';WINDOW_NAME          REPEAT_INTERVAL                                              DURATION             ENABL-------------------- ------------------------------------------------------------ -------------------- -----TUESDAY_WINDOW       freq=daily;byday=TUE;byhour=22;byminute=0; bysecond=0        +000 04:00:00        TRUEWEDNESDAY_WINDOW     freq=daily;byday=WED;byhour=22;byminute=0; bysecond=0        +000 04:00:00        TRUETHURSDAY_WINDOW      freq=daily;byday=THU;byhour=22;byminute=0; bysecond=0        +000 04:00:00        TRUEFRIDAY_WINDOW        FREQ=daily;BYDAY=FRI;BYHOUR=22;BYMINUTE=30;BYSECOND=0        +000 04:00:00        TRUESATURDAY_WINDOW      freq=daily;byday=SAT;byhour=6;byminute=0; bysecond=0         +000 20:00:00        TRUESUNDAY_WINDOW        freq=daily;byday=SUN;byhour=6;byminute=0; bysecond=0         +000 20:00:00        TRUE6 rows selected.
--修改自动收集统计信息每天凌晨一点,持续5个小时。    --MONDAY    BEGIN        DBMS_SCHEDULER.SET_ATTRIBUTE (            name        => '"SYS"."MONDAY_WINDOW"',            attribute   => 'REPEAT_INTERVAL',            VALUE       => 'FREQ=daily;BYDAY=MON;BYHOUR=1;BYMINUTE=0;BYSECOND=0');        END;    /    BEGIN        DBMS_SCHEDULER.SET_ATTRIBUTE(        name => '"SYS"."MONDAY_WINDOW"',        attribute => 'DURATION',        value => numtodsinterval(300,'minute'));     END;       /    --TUESDAY    BEGIN        DBMS_SCHEDULER.SET_ATTRIBUTE (            name        => '"SYS"."TUESDAY_WINDOW"',            attribute   => 'REPEAT_INTERVAL',            VALUE       => 'FREQ=daily;BYDAY=TUE;BYHOUR=1;BYMINUTE=0;BYSECOND=0');        END;    /    BEGIN        DBMS_SCHEDULER.SET_ATTRIBUTE(        name => '"SYS"."TUESDAY_WINDOW"',        attribute => 'DURATION',        value => numtodsinterval(300,'minute'));     END;       /     --WEDNESDAY     BEGIN        DBMS_SCHEDULER.SET_ATTRIBUTE (            name        => '"SYS"."WEDNESDAY_WINDOW"',            attribute   => 'REPEAT_INTERVAL',            VALUE       => 'FREQ=daily;BYDAY=WED;BYHOUR=1;BYMINUTE=0;BYSECOND=0');        END;    /    BEGIN        DBMS_SCHEDULER.SET_ATTRIBUTE(        name => '"SYS"."WEDNESDAY_WINDOW"',        attribute => 'DURATION',        value => numtodsinterval(300,'minute'));     END;       /     --THURSDAY      BEGIN        DBMS_SCHEDULER.SET_ATTRIBUTE (            name        => '"SYS"."THURSDAY_WINDOW"',            attribute   => 'REPEAT_INTERVAL',            VALUE       => 'FREQ=daily;BYDAY=THU;BYHOUR=1;BYMINUTE=0;BYSECOND=0');        END;    /    BEGIN        DBMS_SCHEDULER.SET_ATTRIBUTE(        name => '"SYS"."THURSDAY_WINDOW"',        attribute => 'DURATION',        value => numtodsinterval(300,'minute'));     END;       /    --FRIDAY     BEGIN        DBMS_SCHEDULER.SET_ATTRIBUTE (            name        => '"SYS"."FRIDAY_WINDOW"',            attribute   => 'REPEAT_INTERVAL',            VALUE       => 'FREQ=daily;BYDAY=FRI;BYHOUR=1;BYMINUTE=0;BYSECOND=0');        END;    /    BEGIN        DBMS_SCHEDULER.SET_ATTRIBUTE(        name => '"SYS"."FRIDAY_WINDOW"',        attribute => 'DURATION',        value => numtodsinterval(300,'minute'));     END;       /    --SATURDAY    BEGIN        DBMS_SCHEDULER.SET_ATTRIBUTE (            name        => '"SYS"."SATURDAY_WINDOW"',            attribute   => 'REPEAT_INTERVAL',            VALUE       => 'FREQ=daily;BYDAY=SAT;BYHOUR=1;BYMINUTE=0;BYSECOND=0');        END;    /    BEGIN        DBMS_SCHEDULER.SET_ATTRIBUTE(        name => '"SYS"."SATURDAY_WINDOW"',        attribute => 'DURATION',        value => numtodsinterval(300,'minute'));     END;       /    --SUNDAY    BEGIN        DBMS_SCHEDULER.SET_ATTRIBUTE (            name        => '"SYS"."SUNDAY_WINDOW"',            attribute   => 'REPEAT_INTERVAL',            VALUE       => 'FREQ=daily;BYDAY=SUN;BYHOUR=1;BYMINUTE=0;BYSECOND=0');        END;    /    BEGIN        DBMS_SCHEDULER.SET_ATTRIBUTE(        name => '"SYS"."SUNDAY_WINDOW"',        attribute => 'DURATION',        value => numtodsinterval(300,'minute'));     END;       /
SQL> --验证是否变更SQL> set lines 200SQL> col WINDOW_NAME for a20SQL> col REPEAT_INTERVAL for a60 SQL> col DURATION  for a20SQL> SELECT w.window_name,  2                 w.repeat_interval,  3                 w.duration,  4                 w.enabled  5            FROM dba_autotask_window_clients c, dba_scheduler_windows w  6           WHERE c.window_name = w.window_name AND c.optimizer_stats = 'ENABLED';WINDOW_NAME          REPEAT_INTERVAL                                              DURATION             ENABL-------------------- ------------------------------------------------------------ -------------------- -----MONDAY_WINDOW        FREQ=daily;BYDAY=MON;BYHOUR=1;BYMINUTE=0;BYSECOND=0          +000 05:00:00        TRUETUESDAY_WINDOW       FREQ=daily;BYDAY=TUE;BYHOUR=1;BYMINUTE=0;BYSECOND=0          +000 05:00:00        TRUEWEDNESDAY_WINDOW     FREQ=daily;BYDAY=WED;BYHOUR=1;BYMINUTE=0;BYSECOND=0          +000 05:00:00        TRUETHURSDAY_WINDOW      FREQ=daily;BYDAY=THU;BYHOUR=1;BYMINUTE=0;BYSECOND=0          +000 05:00:00        TRUEFRIDAY_WINDOW        FREQ=daily;BYDAY=FRI;BYHOUR=1;BYMINUTE=0;BYSECOND=0          +000 05:00:00        TRUESATURDAY_WINDOW      FREQ=daily;BYDAY=SAT;BYHOUR=1;BYMINUTE=0;BYSECOND=0          +000 05:00:00        TRUESUNDAY_WINDOW        FREQ=daily;BYDAY=SUN;BYHOUR=1;BYMINUTE=0;BYSECOND=0          +000 05:00:00        TRUE7 rows selected.SQL> 

看到太多的客户都是默认值,当然对非7*24小时的系统也没有太大影响。但是,某些7X24小时的业务系统,我们需要做更多的优化调整,然后持续跟踪,不断优化。保证业务的连续性。不管大家有没有设置,都需要大家知道这里可能会引起性能问题的一个点,我们必须考虑到。

信息 统计 小时 行业 业务 系统 客户 合适 不断 性能 方法 时间 更多 版本 特点 连续性 金融 问题 保证 影响 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 綦江计算机网络技术职业学校 网络安全技术系统组成 软件开发原则 从抽象到具体 中邦网络技术有限公司 神武4手游新区服务器多少级挖图 普陀区网络技术服务价钱 ofo服务器搬迁押金 工业网络技术考试题答案 web服务器和数据库服务器 epic什么代理服务器下载快 华为服务器管理地址在哪里 炒股为什么连接不上服务器 东北师范大学网络安全通信室 设置开启健康数据库 大一学数据库用啥软件 雅鸽网络技术 互联网营销科技公司起名 本地数据库路径错了 规范上网行为 维护网络安全 网络安全实践能力竞赛试题 服务器设置为跳过本地地址 2021温州市网络安全启动仪式 部署远程服务器 商务通数据库读取 金融科技赋能工业互联网金融 论道网络安全 大一学数据库用啥软件 淘宝网络安全法必须要帮手机 合肥网络安全大会讲话 上海烽火网络技术有限公司
0