久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何評估undo表空間大小

183次閱讀
沒有評論

共計 2383 個字符,預計需要花費 6 分鐘才能閱讀完成。

今天就跟大家聊聊有關(guān)如何評估 undo 表空間大小,可能很多人都不太了解,為了讓大家更加了解,丸趣 TV 小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

如何估算 Oracle 數(shù)據(jù)庫所需的 UNDO 表空間的大小:
How To Size UNDO Tablespace For Automatic Undo Management (文檔 ID 262066.1)

要確定 Oracle 需要的 UNDO 表空間的大小,需要以下三條信息: 

UR 以秒為單位的 UNDO_RETENTION
UPS 每秒生成的還原數(shù)據(jù)塊的數(shù)量
DBS db_block_size

UndoSpace = [UR * (UPS * DBS)] + (DBS * 24)

UNDO_RETENTION 是一個參數(shù),此參數(shù)控制為提供讀一致性而保留的還原數(shù)據(jù)量,以秒為單位定義,可以在初始化文件中設置,或使用 ALTER SYSTEM 命令來動態(tài)修改。

SQL ALTER SYSTEM SET UNDO_RETENTION=900;

SQL show parameter undo_retention

NAME TYPE VALUE
———————————— ———– ——————————
undo_retention integer 900
如果值為 900,則可以使還原數(shù)據(jù)保留 15 分鐘,當然需要足夠的存儲空間才行。

那么如何計算每秒生成的還原數(shù)據(jù)塊的數(shù)量呢,可以通過 v$undostat 視圖的 begin_time、end_time 和 undoblks 三個字段的值查詢出來,計算的 SQL 語句如下:
SQL  SELECT (UR * (UPS * DBS)) + (DBS * 24) AS Bytes FROM (SELECT
value AS UR  FROM v$parameter WHERE name = undo_retention ),(SELECT
(SUM(undoblks)/SUM(((end_time -begin_time)*86400))) AS UPS  FROM
v$undostat),  (SELECT value AS DBS FROM v$parameter  WHERE
name = db_block_size
 Bytes
———-
445814.844

詳解:

一般應該在一天中數(shù)據(jù)庫負載最繁重的時候進行計算。
對于 UNDO 表空間大小的定義需要考慮 UNDO_RETNETION 參數(shù)、產(chǎn)生的 UNDO BLOCKS/ 秒、UNDO
BLOCK 的大小。undo_retention:對于 UNDO 表空間的數(shù)據(jù)文件屬性為 autoextensible, 則 undo_retenion 參數(shù)必須設置,UNDO 信息將至少保留至 undo_retention
參數(shù)設定的值內(nèi),但 UNDO 表空間將會自動擴展。對于固定 UNDO 表空間,將會通過表空間的剩余空間來最大限度保留 UNDO 信息。如果 FIXED
UNDO 表空間沒有對保留時間作 GUARANTEE(alter
tablespace xxx retention
guarantee;),則 undo_retention 參數(shù)將不會起作用。(警告:如果設置 UNDO 表空間為 retention
guarantee,則未過期的數(shù)據(jù)不會被復寫,如果表空間不夠則會導致 DML 操作失敗或者 transation 掛起)

Oracle 10g 有自動 Automatic Undo Retention Tuning 這個特性。設置的 undo_retention
參數(shù)只是一個指導值,,Oracle 會自動調(diào)整 Undo (會跨過 undo_retention 設定的時間) 來保證不會出現(xiàn) Ora-1555
錯誤.。通過查詢 V$UNDOSTAT(該視圖記錄 4 天以內(nèi)的 UNDO 表空間使用情況,超過 4 天可以查詢 DBA_HIST_UNDOSTAT 視圖)的
tuned_undoretention(該字段在 10G 版本才有,9I 是沒有的)字段可以得到 Oracle
根據(jù)事務量(如果是文件不可擴展,則會考慮剩余空間)采樣后的自動計算出最佳的 retenton
時間.。這樣對于一個事務量分布不均勻的數(shù)據(jù)庫來說,,就會引發(fā)潛在的問題 – 在批處理的時候可能 Undo 會用光,而且這個狀態(tài)將一直持續(xù),
不會釋放。

SQL 查詢 tuned_undoretention:
select to_char(begin_time, DD-MON-RR HH24:MI)
begin_time,to_char(end_time, DD-MON-RR HH24:MI)
end_time,tuned_undoretention from v$undostat order by end_time;

檢查一天平均每秒產(chǎn)生的 UNDO BLOCK
select (sum(undoblks)/sum((end_time-begin_time)*86400) from v$undostat;
生成的結(jié)果是 UNDO BLOCK,如果需要計算出實際大小,則需要乘以 db_block_size(通過 show parameter db_block_size 查出來)

如何計算合適的 UNDO 表空間大小:
select (UR*(UPS*DBS))+(DBS*24) as bytes from (select value as UR from
v$parameter where name= undo_retention ),(select
(sum(undoblks)/sum(((end_time-begin_time)*86400))) as ups from
v$undostat),(select value as DBS from v$parameter where
name= db_block_size

看完上述內(nèi)容,你們對如何評估 undo 表空間大小有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝大家的支持。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-19發(fā)表,共計2383字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 满洲里市| 闸北区| 察哈| 岚皋县| 赤壁市| 山西省| 随州市| 博野县| 砚山县| 交口县| 丹东市| 云安县| 凉城县| 三亚市| 五大连池市| 石门县| 张家港市| 德清县| 荆门市| 淮安市| 安远县| 大安市| 舒兰市| 申扎县| 湖北省| 平陆县| 闸北区| 宜章县| 达拉特旗| 宜丰县| 米脂县| 台湾省| 灯塔市| 长乐市| 河池市| 通渭县| 大理市| 吉首市| 寻乌县| 河西区| 深圳市|