国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

定期分析數(shù)據(jù)庫(kù)對(duì)象的腳本

2024-07-21 02:35:50
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  Oracle9以后假如你想用基于成本的優(yōu)化器,需要定期(每周)對(duì)數(shù)據(jù)庫(kù)里的表和索引做analyze分析。
  
  數(shù)據(jù)庫(kù)參數(shù)文件initorasid.ora里默認(rèn)的優(yōu)化器 optimizer_mode = choose
  
  你要改成 optimizer_mode = first_rows (OLTP系統(tǒng))
  optimizer_mode = all_rows (DSS 系統(tǒng))
  
  下面是一個(gè)可以在UNIX環(huán)境自動(dòng)生成分析表和索引的腳本analyze.sh
  
  (sys用戶的密碼passWord要根據(jù)情況修改。)
  
  ---------------------------------------------------------------------------------------
  su - oracle -c "sqlplus sys/password"<  
  set pages 9999
  set heading off
  set echo off
  set feedback off
  
  spool /oracle_backup/bin/analyze.sql;
  
  select
  'analyze table 'owner'.'table_name' estimate statistics sample 5000 rows;'
  from dba_tables
  where owner not in ('SYS','SYSTEM','PERFSTAT');
  
  select
  'analyze index 'owner'.'index_name' compute statistics;'
  from dba_indexes
  where owner not in ('SYS','SYSTEM','PERFSTAT');
  
  spool off;
  
  set echo on
  set feedback on
  spool /oracle_backup/log/analyze.log;
  @/oracle_backup/bin/analyze.sql
  spool off;
  exit;
  ---------------------------------------------------------------------------------------
  
  假如你經(jīng)常變動(dòng)的表和索引只屬于某個(gè)特定的用戶(假如是test)可以把上面的
  
  owner not in ('SYS','SYSTEM','PERFSTAT') 改成
  owner in ('TEST')
  
  來(lái)進(jìn)行定期的分析。
  
  注重事項(xiàng):假如你使用的是默認(rèn)的優(yōu)化器(choose),一定不要定期使用上面那個(gè)analyze.sh腳本。
  因?yàn)檫@時(shí)優(yōu)化器可能更傾向于全表掃描。
  
  假如統(tǒng)計(jì)分析資料不全,SQL運(yùn)行時(shí)會(huì)對(duì)缺少統(tǒng)計(jì)資料的表進(jìn)行數(shù)據(jù)采集。會(huì)大大降低SQL的執(zhí)行速度。
  
  我們要用下面這個(gè)del_analyze.sh腳本定期刪除可能產(chǎn)生的分析結(jié)果, 保證優(yōu)化器按規(guī)則(rule)執(zhí)行。
  
  ---------------------------------------------------------------------------------------
  su - oracle -c "sqlplus sys/password"<  
  set pagesize 9999;
  set linesize 120;
  set heading off;
  set echo off;
  set feedback off;
  
  spool /oracle_backup/bin/del_analyze.sql;
  
  select
  'analyze table 'owner'.'table_name' delete statistics;'
  from dba_tables
  where owner not in ('SYS','SYSTEM','PERFSTAT');
  
  select
  'analyze index 'owner'.'index_name' delete statistics;'
  from dba_indexes
  where owner not in ('SYS','SYSTEM','PERFSTAT');
  
  spool off;
  
  set echo on;
  set feedback on;
  spool /oracle_backup/log/del_analyze.log;
  @/oracle_backup/bin/del_analyze.sql
  spool off;
  exit;

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 新巴尔虎左旗| 福海县| 彭水| 大同市| 岳西县| 特克斯县| 天台县| 崇阳县| 赫章县| 合水县| 江源县| 邯郸县| 包头市| 旌德县| 黄浦区| 南漳县| 焦作市| 塔城市| 刚察县| 武城县| 榆林市| 锦屏县| 东乌珠穆沁旗| 南木林县| 扎鲁特旗| 同仁县| 大丰市| 平舆县| 乐平市| 健康| 共和县| 娱乐| 上犹县| 尤溪县| 萨嘎县| 阜阳市| 武宣县| 南丹县| 比如县| 瑞昌市| 堆龙德庆县|