成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁技術文章
文章詳情頁

Oracle性能優化之Rollback Segment優化

瀏覽:4日期:2023-11-11 19:49:30

1、概念

Transaction以輪循的方式使用rollback segment里的extent,當前所在的extent滿時就移動到下一個extent。可能有多個transaction同時向同一個extent寫數據,但一個rollback segment block中只能保存一個transaction的數據。

Oracle 在每個Rollback segment header中保存了一個transaction table,包括了每個rollback segment中包含的事務信息,rollback segment header的活動控制了向rollbak segment寫入被修改的數據。rollback segment header是經常被修改的數據庫塊,因此它應該被長時間留在buffer cache中,為了避免在transaction table產生競爭導致性能下降,應有多個rollback segment或應盡量使用oracle server 自動管理的rollback segment。

2、診斷rollback segment header的競爭

如果rollback segment 由手工管理,下列措施診斷rollback segment header的競爭

SELECT class,count FROM v$waitstat WHERE class LIKE '%undo%' ;

SELECT Sum(Value) sum FROM v$sysstat WHERE NAME IN ('db block gets','consistent gets');

任何類型的等待次數(count)與總請求數(sum)的比率,不能超過1%。或select sum(waits)*100/sum(gets) "Ratio", sum(waits) "Waits", sum(gets) "Gets" from v$rollstat;

waits的匯總數與gets的匯總數的比率應低于1%,如果超過1%,應創建更多的rollback segment。

下列字段數值如果大于0,則表明在rollback segment header上存在競爭:

A、v$rollstat 中的waits

B、v$waitstat中的undo header行

C、v$system_event中的undo segment tx slot事件

3、消耗更少的rollback segment

1)如果是刪除表里所有的數據,盡可能使用trauncate而不是delete。

2)在應用中允許用戶有規律的提交,盡可能不用長事務。

3)• Import– Set COMMIT = Y– Size the set of rows with BUFFER• Export: Set CONSISTENT=N• SQL*Loader: Set the COMMIT intervals with ROWS

4、小回滾段可能出現的問題

A、事務由于缺少回滾空間失敗

B、由于下列原因導致的“Snapshot too old問題:

Block里的事務列表被刷新,block里的SCN比列表Interested Transaction List(ITL)里起始事務的SCN更新;

Rollback segment header里的Transaction slot被重用;

回滾數據已經被重寫;

5、9i的自動回滾管理

Undo_managment指定了回滾空間的管理方式:Auto:自動管理;Manual:手工管理回滾段。

Undo_retention指定了回滾數據的保留期限;

Undo_tablespace指定了被使用的回滾表空間;

Oracle自動管理的表空間可以在常見數據庫的時候創建,也可以單獨建立。回滾表空間可以相互轉換(switch),但在某一時刻只能有一個回滾表空間處于活動狀態。回滾表空間處于非活動狀態時可以刪除,如果有對處于被刪除回滾表空間里的已提交事務的查詢時,oracle會返回一個錯誤。

估計undo tablespace大小的公式:

Undo space = (undo_retention * (undo blocks per second * db_block_size)) + db_block_size;

可以使用下列的sql設定undo_retention和undo tablespace:

select (rd*(ups*overhead)+overhead) "bytes" from (select value rd from v$parameter where name ='undo_retention'),(select (sum(undoblks)/sum(((end_time-begin_time)*10800))) ups from v$undostat),(select value overhead from v$parameter where name='db_block_size');

其中:

Rd:undo_retention設置的時間;

Ups:undo blocks per second;

Overhead:rollback segment header;

標簽: Oracle 數據庫
相關文章:
主站蜘蛛池模板: 12至16末成年毛片视频 | 久久久久国产免费 | 手机毛片在线观看 | 久久精品国产91久久综合麻豆自制 | 亚洲精品免费观看 | a毛片免费观看 | 亚洲国产天堂久久综合网站 | 久久99这里只有精品国产 | 人禽毛片| 久草视频资源在线观看 | 日韩一级片在线观看 | 亚洲美女综合网 | 亚洲欧洲eeea在线观看 | 亚洲国产综合人成综合网站00 | a级毛片毛片免费观看永久 a级毛片毛片免费很很综合 | 91精品欧美成人 | 国产精品久久久久影院色老大 | 国产亚洲精品影达达兔 | 日韩精品一区二三区中文 | 亚洲欧美在线观看 | 国产精品九九 | 91情国产l精品国产亚洲区 | 国产在线一区二区三区 | 狠狠色综合色综合网站久久 | 无遮挡一级毛片私人影院 | 免费黄色美女视频 | 特级深夜a级毛片免费观看 特级生活片 | 免费看欧美成人性色生活片 | 三级国产精品一区二区 | 欧美片网站免费 | 久艹精品| 在线第一页 | 欧美亚洲视频一区 | 欧美一级特黄真人毛片 | 91免费视| 久久生活片 | 日韩久久中文字幕 | 国产一区2区 | 免费被黄网站在观看 | 日韩精品久久一区二区三区 | 伊人久久大香线焦综合四虎 |