国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 山丹县| 独山县| 同仁县| 遵义市| 新沂市| 瓮安县| 犍为县| 镇雄县| 鸡东县| 颍上县| 平度市| 吴川市| 汉源县| 乐山市| 石渠县| 喜德县| 即墨市| 伊宁县| 长寿区| 仙居县| 正蓝旗| 富宁县| 和林格尔县| 冕宁县| 洞头县| 通渭县| 平原县| 潞西市| 安新县| 鲁山县| 拉孜县| 盐池县| 云霄县| 临夏市| 万盛区| 辽阳市| 建昌县| 莫力| 龙南县| 台北市| 高唐县|