您好,登錄后才能下訂單哦!
這篇文章主要介紹數(shù)據(jù)庫中如何實現(xiàn)UNDO TABLESPACE,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
BOOK → SQL Language Reference → 16 SQL Statements: CREATE SYNONYM to CREATE TRIGGER → CREATE TABLESPACE
CREATE [BIGFILE|SMALLFILE] UNDO TABLESPACE
[數(shù)據(jù)文件語句]
[范圍管理語句]
[一致性保護]
1、數(shù)據(jù)文件的路徑名:DATAFILE datefile_spec1 [,datefile_spec2] ...
2、文件的初始大?。篬SIZE INTEGER [K|M|G|T|P|E]]
3、重用:[REUSE]
4、表明是否自動擴展:[AUTOEXTEND]
a) 不自動擴展:OFF
b) 自動擴展:ON
i. 表示數(shù)據(jù)文件滿了以后,擴展的大?。篬NEXT INTEGER [K|M|G|T|P|E]]
ii. 最大擴展到:[MAXSIZE ]
表示無限的表空間:[UNLIMITED]
表示數(shù)據(jù)文件的最大大?。篒NTEGER [K|M|G|T|P|E]]
說明了表空間如何管理范圍。一旦你聲明了這個子句,只能通過移植的方式改變這些參數(shù)。
1、如果希望表空間本地管理的話,聲明local選項,本地管理表空間是通過位圖管理的
EXTENT MANAGEMENT LOCAL
a) 說明表空間自動分配范圍,用戶不能指定范圍的大小。只有9.0以上的版本具有這個功能。
AUTOALLOCATE
b) uniform說明表空間的范圍的固定大小,缺省是1m。
UNIFORM [SIZE INTEGER [K|M|G|T|P|E]]
2、如果沒有設置extent_management_clause,oracle會給他設置一個默認值。
a) compatible小于9.0.0:如果初始化參數(shù),那么系統(tǒng)創(chuàng)建字典管理表空間。
b) compatible大于9.0.0:
i. 如果沒有指定 default storage_clause,oracle創(chuàng)建一個自動分配的本地管理表空間。
ii. 如果指定 default storage_clause
如果指定了mininum extent,那么oracle判斷mininum extent 、initial、next是否相等,以及pctincrease是否=0.
如果滿足以上的條件,oracle創(chuàng)建一個本地管理表空間,extent size是initial。
如果不滿足以上條件,那么oracle將創(chuàng)建一個自動分配的本地管理表空間。
如果沒有指定mininum extent。initial、那么oracle判斷next是否相等,以及pctincrease是否=0。
如果滿足oracle創(chuàng)建一個本地管理表空間并指定uniform。
否則oracle將創(chuàng)建一個自動分配的本地管理表空間。
注意:本地管理表空間只能存儲永久對象。如果你聲明了local,將不能聲明default storage_clause,mininum extent、temporary.
如果你傾向于保證數(shù)據(jù)一致性,也就是專注于查詢,那么你有必要通過ALTER TABLESPACE undotbs1 RETENTION GUARANTEE,來保證一致性,也就是不管你空間夠不夠用,你都不可以使用inactive狀態(tài)的區(qū),這樣就有可能導致由于沒有可用的undo空間而導致數(shù)據(jù)庫hang住,但是這樣你可以保證查詢語句執(zhí)行時間在 undo_retention值之內(nèi)的所有查詢的一致性。
RETENTION
GUARANTEE
NOGUARANTEE
CREATE UNDO TABLESPACE UNDOTBS1
DATAFILE '+ARCHDG1' SIZE 30G
EXTENT MANAGEMENT LOCAL;
SELECT TABLESPACE_NAME,
SUM(ACTIVE_MB) ACTIVE_MB,
SUM(UNEXPIRED_MB) UNEXPIRED_MB,
SUM(EXPIRED_MB) EXPIRED_MB
FROM (SELECT TABLESPACE_NAME,
DECODE(STATUS, 'ACTIVE', SIZE_MB) ACTIVE_MB,
DECODE(STATUS, 'UNEXPIRED', SIZE_MB) UNEXPIRED_MB,
DECODE(STATUS, 'EXPIRED', SIZE_MB) EXPIRED_MB
FROM (SELECT TABLESPACE_NAME,
(SUM(BLOCKS) * 8) / 1024 SIZE_MB,
STATUS
FROM DBA_UNDO_EXTENTS
GROUP BY TABLESPACE_NAME, STATUS))
GROUP BY TABLESPACE_NAME
ORDER BY TABLESPACE_NAME
以上是“數(shù)據(jù)庫中如何實現(xiàn)UNDO TABLESPACE”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。