自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle性能優(yōu)化之Rollback Segment優(yōu)化

數(shù)據(jù)庫 Oracle 數(shù)據(jù)庫運維
Oracle 在每個Rollback segment header中保存了一個transaction table,包括了每個rollback segment中包含的事務(wù)信息,rollback segment header的活動控制了向rollbak segment寫入被修改的數(shù)據(jù)。

1、概念

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

Oracle 在每個Rollback segment header中保存了一個transaction table,包括了每個rollback segment中包含的事務(wù)信息,rollback segment header的活動控制了向rollbak segment寫入被修改的數(shù)據(jù)。rollback segment header是經(jīng)常被修改的數(shù)據(jù)庫塊,因此它應(yīng)該被長時間留在buffer cache中,為了避免在transaction table產(chǎn)生競爭導(dǎo)致性能下降,應(yīng)有多個rollback segment或應(yīng)盡量使用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');

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

waits的匯總數(shù)與gets的匯總數(shù)的比率應(yīng)低于1%,如果超過1%,應(yīng)創(chuàng)建更多的rollback segment。

下列字段數(shù)值如果大于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)如果是刪除表里所有的數(shù)據(jù),盡可能使用trauncate而不是delete。

2)在應(yīng)用中允許用戶有規(guī)律的提交,盡可能不用長事務(wù)。

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、小回滾段可能出現(xiàn)的問題

A、事務(wù)由于缺少回滾空間失敗

B、由于下列原因?qū)е碌摹癝napshot too old”問題:

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

Rollback segment header里的Transaction slot被重用;

回滾數(shù)據(jù)已經(jīng)被重寫;

5、9i的自動回滾管理

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

Undo_retention指定了回滾數(shù)據(jù)的保留期限;

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

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

估計undo tablespace大小的公式:

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

可以使用下列的sql設(shè)定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設(shè)置的時間;

Ups:undo blocks per second;

Overhead:rollback segment header;

【編輯推薦】

  1. Oracle檢索數(shù)據(jù)一致性與事務(wù)恢復(fù)
  2. Oracle數(shù)據(jù)庫初始化參數(shù)更改的注意事項
  3. 管理Oracle約束與分區(qū)表(1)
  4. 磁盤排序?qū)racle數(shù)據(jù)庫性能的影響(1)
  5. 前瞻性在Oracle數(shù)據(jù)庫維護中的作用
責(zé)任編輯:冰荷 來源: it168
相關(guān)推薦

2018-01-09 16:56:32

數(shù)據(jù)庫OracleSQL優(yōu)化

2017-08-25 15:28:20

Oracle性能優(yōu)化虛擬索引

2021-07-29 14:20:34

網(wǎng)絡(luò)優(yōu)化移動互聯(lián)網(wǎng)數(shù)據(jù)存儲

2010-04-14 12:51:10

Oracle性能

2022-02-16 14:10:51

服務(wù)器性能優(yōu)化Linux

2021-11-29 11:13:45

服務(wù)器網(wǎng)絡(luò)性能

2019-12-13 10:25:08

Android性能優(yōu)化啟動優(yōu)化

2017-09-05 09:02:06

Oraclenot null優(yōu)化

2021-07-16 23:01:03

SQL索引性能

2011-06-14 14:17:23

性能優(yōu)化系統(tǒng)層次

2013-09-17 10:32:08

Android性能優(yōu)化數(shù)據(jù)庫

2023-04-10 11:18:38

前端性能優(yōu)化

2011-06-14 11:14:10

性能優(yōu)化代碼

2023-07-19 12:24:48

C++constexpr?語句

2011-07-11 15:26:49

性能優(yōu)化算法

2013-02-20 14:32:37

Android開發(fā)性能

2010-04-23 14:48:26

Oracle性能優(yōu)化

2010-11-15 16:20:33

Oracle系統(tǒng)優(yōu)化

2025-01-20 09:09:59

2021-07-26 18:23:23

SQL策略優(yōu)化
點贊
收藏

51CTO技術(shù)棧公眾號