Oracle Segment Advisor
來源:http://www.cnblogs.com/einyboy/archive/2012/08/10/2631363.html
Oracle內建空間管理工具-Segment Advisor
資料表上頻繁的進行插入、更新和刪除動作會產生表空間碎片。Oracle可在表或索引上執行Segment shrink。使得segment的空閒空間可用於表空間中的其它segment,可改善DML效能。
呼叫Segment Advisor對指定segment執行增長趨勢分析以確定哪些Segment受益於Segment shrink。
執行shrink操作,Segment Advisor推薦啟用表的ROW MOVEMENT
SQL> alter table wind enable row movement;
Table altered
配置Segment Advisor對錶進行分析,使用如下PL/SQL塊:
SQL> variable task_id number;
SQL> declare
2 name varchar2(100);
3 descr varchar2(500);
4 obj_id number;
5 begin
6 name := '';
7 descr := 'Check WIND.ShrinkTable Table';
8 dbms_advisor.create_task('Segment Advisor',:task_id,name,descr,NULL);
9 dbms_advisor.create_object(name,'TABLE','WIND','SHRINKTABLE',NULL,NULL,obj_id);
10 dbms_advisor.set_task_parameter(name,'RECOMMEND_ALL','TRUE');
11 dbms_advisor.execute_task(name);
12 end;
13 /
PL/SQL procedure successfully completed
task_id
---------
357
dbms_advisor.create_task: 指定型別,返回唯一的作業ID並自動生成執行的程式名.
dbms_advisor.create_object: 指定分析物件資訊.
dbms_advisor.set_task_parameter: 這裡指定獲取所有關於表的建議.
dbms_advisor.execute_task: 執行
以下為獲取表建議資訊:
SQL> select owner,task_id,task_name,type,messagel,more_info
2 from dba_advisor_findings
3 where task_id=357;
OWNER TASK_ID TASK_NAME TYPE MESSAGE MORE_INFO
------- ------- ---------- ----------- -------------------------------------- -------------------------------------------------------------
WIND 357 TASK_357 INFORMATION 進行壓縮, 估計可以省出 10655319 位元組。
分配空間:226492416: 已用空間:215837097: 可回收空間:10655319:
SQL> select owner,task_id,task_name,benefit_type
2 from dba_advisor_recommendations
3 where task_id=357;
OWNER TASK_ID TASK_NAME BENEFIT_TYPE
---------- ----------- --------------- --------------------------------------
WIND 357 TASK_357 進行壓縮, 估計可以省出 10655319 位元組。
SQL> select owner,task_id,task_name,command,attr1
2 from dba_advisor_actions
3 where task_id=357;
OWNER TASK_ID TASK_NAME COMMAND ATTR1
---------- ---------- ---------------- ------------------- ---------------------------------------
WIND 357 TASK_357 SHRINK SPACE alter table "WIND"."THRINKTABLE" shrink space
SQL> alter table wind.thrinktable shrink space;
注意兩個限制:
一. 沒法在基於Oracle 10g上的LOB Segment上工作.
二. 不允許在包含任何函式索引規則的表進行操作,不管是使用10g或11g.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15187685/viewspace-758784/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle優化案例-關閉auto space advisor和sql tuning advisor(十九)Oracle優化SQL
- Oracle SQL優化之sql tuning advisorOracleSQL優化
- Oracle 11 sql tuning advisor sql access advisor關閉以及job檢視與停止OracleSQL
- oracle SQL最佳化器SQL Tuning Advisor (STA)OracleSQL
- SQL Access Advisor、SQL Tuning Advisor 測試SQL
- AOP - Advisor
- SQL Access Advisor(zt)SQL
- 1_深入解析Oracle ASSM 段頭塊(PAGETABLE SEGMENT HEADER)結構OracleSSMHeader
- segment tree beats
- Oracle自帶工具sql優化集-SQL Tuning Advisor (使用心得體會)OracleSQL優化
- dbv segment_id
- [Greenplum] 擴容segment
- Segment Tree(線段樹)
- openGauss Index-advisor_索引推薦Index索引
- 基於自然語言業務規則引擎的客戶資料平臺:Oracle Intelligent AdvisorOracleIntel
- 關於_rollback_segment_count
- 使用sql tuning advisor最佳化sqlSQL
- iOS自定義控制元件 SegmentiOS控制元件
- Sitecore ListManager Contact Lists vs Segment Lists
- 線段樹入門(Segment Tree)
- Kafka中的segment的介紹Kafka
- 故障分析 | Greenplum Segment 故障處理
- [題解]CF1073E Segment Sum
- ORA-27121: unable to determine size of shared memory segment
- LLM大模型: Segment Anything Model原理詳解大模型
- PostgreSQL DBA(16) - WAL segment file內部結構SQL
- ORA-01652: unable to extend temp segment by 128 in tablespace TEMP
- 包括clob segment 大欄位 表的大小統計
- John Deere Service Advisor EDL V3 Electronic Data Link Diagnostic Kit
- [20200904]12c invisible column impdp segment_column_id.txt
- 【BASIS】Sybase log segment full,ERP系統無法登入
- BZOJ3165: [Heoi2013]Segment(李超線段樹)
- 【學習筆記】Segment Tree Beats/吉司機線段樹筆記
- NLP segment-01-聊一聊分詞 AI 的基礎分詞AI
- impdp ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDOTBS1'
- Segment使用Go、gRPC和Envoy作為後端REST API實現GoRPC後端RESTAPI
- Segment-anything學習到微調系列3_SAM微調decoder
- NLP segment-05-文字相似度計算 similarity java 開源實現MILAJava
- [20190816]12c執行exec SYS.PRVT_ADVISOR.DELETE_EXPIRED_TASKS()報錯.txtdelete