關於dbms_stats對系統統計資訊的管理
oracle收集統計資訊主要方法是analyze命令和dbms_stats系統包。
--analyze命令已經過時
– 無法提供靈活的分析選項
– 無法提供並行的分析
– 無法對分析資料進行管理
--DBMS_STATS
– 專門為CBO提供資訊來源
– 可以進行資料分析的多種組合
– 可以對分割槽進行分析
– 可以進行分析資料管理
• 備份,恢復,刪除,設定....
不能收集行遷移,行遷移需要使用analyze
analyze table productuser.supplymessage validate structure cascade;
--11g 新增功能
1,Oracle11g的一個預設設定,
2,user_tab_modification跟蹤表的修改
3,當分析物件的資料修改超過10%時,Oracle會重新分析。,
4,定時任務GATHER_STATS_JOB負責重新定時收集過舊資料的資訊。
--分析scheme
Exec dbms_stats.gather_schema_stats(
ownname => 'scott',
options => 'GATHER AUTO',
estimate_percent => dbms_stats.auto_sample_size,
method_opt => 'for all indexed columns ',
degree => 6 )
--分析表
begin
dbms_stats.gather_table_stats(ownname => 'productuser',tabname => 'work_list',estimate_percent => 10,method_opt=> 'for all indexed columns') ;
end;
--分析索引
begin
dbms_stats.gather_index_stats(ownname => 'productuser',indname => 'xxx',estimate_percent => '10',degree => '4') ;
end;
--鎖定表的統計資訊
begin
dbms_stats.lock_table_stats(ownname => 'productuser',tabname =>'SJ_PRODUCT');
END;
--解除鎖定
begin
dbms_stats.unlock_table_stats(ownname => 'productuser',tabname =>'SJ_PRODUCT');
END;
--查詢表是否鎖定統計資訊,查詢 user_tab_statistics
select * from user_tab_statistics a where a.STATTYPE_LOCKED is not null;
--STATTYPE_LOCKED
--如何使用dbms_stats分析統計資訊?
--建立統計資訊歷史保留表
begin
dbms_stats.create_stat_table(ownname => 'productuser',stattab => 'stat_tableofproduct') ;
end;
--匯出整個scheme的統計資訊
begin
dbms_stats.export_schema_stats(ownname => 'productuser',stattab => 'stat_tableofproduct') ;
end;
--刪除表的統計資訊
begin
dbms_stats.delete_table_stats(ownname => 'productuser',tabname => 'product') ;
end;
select * from user_tables where table_name='PRODUCT'
--匯入錶的歷史統計資訊
begin
dbms_stats.import_table_stats(ownname => 'productuser',tabname => 'product',stattab => 'stat_tableofproduct') ;
end;
--如果進行分析後,大部分表的執行計劃都走錯,需要導回整個scheme的統計資訊
begin
dbms_stats.import_schema_stats(ownname => 'productuser',stattab => 'stat_tableofproduct');
end;
--匯入索引的統計資訊
begin
dbms_stats.import_index_stats(ownname => 'productuser',indname => 'xxx',stattab => 'stat_tableofproduct')
end;
還有其他使用較少的過程如下:
刪除資料庫統計資訊:delete_database_stats
刪除使用者方案統計資訊:delete_schema_stats
刪除表統計資訊:delete_table_stats
刪除索引統計資訊:delete_index_stats
刪除列統計資訊:delete_column_stats
設定表統計資訊:set_table_stats
設定索引統計資訊:set_index_stats
設定列統計資訊:set_column_stats
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23073818/viewspace-756031/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於dbms_job系統包對job的管理
- oracle統計資訊 使用dbms_stats包收集統計資料Oracle
- oracle統計資訊包--dbms_stats介紹Oracle
- 使用dbms_stats列出沒有統計資訊的物件!物件
- 關於ORACLE自動統計CBO統計資訊Oracle
- 職工資訊管理系統的設計
- DBMS_STATS收集統計資訊的問題及解決
- 關於SSH中對於action的監聽問題(關於系統計數)
- 雲vps管理系統對於系統的選擇指南
- 關於列的直方圖統計資訊直方圖
- 基於php學生資訊管理系統PHP
- 用DBMS_STATS匯入匯出oracle統計資訊Oracle
- Oracle10g 自動統計資訊(dbms_stats)Oracle
- 關於ORACLE自動統計CBO統計資訊[轉帖]Oracle
- 基於java的社群居民資訊管理系統Java
- 基於檔案的學生資訊管理系統
- 關於oracle自動收集統計資訊Oracle
- 關於生產管理系統中的BOM!
- 關於系統分析設計
- 業務管理資訊系統通用設計
- 關於PostgreSQL的系統資訊函式的OIDSQL函式
- 資訊集--資訊系統分析設計關鍵
- 基於JSP開發的物流資訊管理系統JS
- Oracle系統統計資訊Oracle
- Oracle統計分析 - dbms_statsOracle
- 基於java的客戶關係管理系統Java
- 學生資訊管理系統課程設計
- 系統統計資訊的儲存位置
- 中小企業基於資訊系統的存貨管理
- 關於用WMI獲取系統資訊——程式設計實現(轉)程式設計
- 關於許可權系統的設計
- 基於java的大學生健康資訊管理系統的設計與實現Java
- 【學生資訊管理系統】系統的介面與後臺
- 資訊系統監理之資訊系統專案管理專案管理
- ORACLE 統計資訊的收集與管理Oracle
- 【學生資訊管理系統】對輸入框-TextBox的限制
- [全程建模]關於Actor與外部系統的對話
- 就業資訊管理系統設計與實現就業