共計(jì) 3188 個(gè)字符,預(yù)計(jì)需要花費(fèi) 8 分鐘才能閱讀完成。
本文丸趣 TV 小編為大家詳細(xì)介紹“Oracle 本地 UNDO 模式怎么實(shí)現(xiàn)”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Oracle 本地 UNDO 模式怎么實(shí)現(xiàn)”文章能幫助大家解決疑惑,下面跟著丸趣 TV 小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。
1 轉(zhuǎn)換為共享 undo 模式 1.1 查詢當(dāng)前的模式:
SQL COLUMN property_name FORMAT A30
SQL COLUMN property_value FORMAT A30
SQL SELECT property_name, property_value
FROM database_properties
WHERE property_name = LOCAL_UNDO_ENABLED
PROPERTY_NAME PROPERTY_VALUE
------------------------------ ------------------------------
LOCAL_UNDO_ENABLED TRUE
1.2 查看 ROOT 和自己定義的 pdb 對(duì)應(yīng)的 undo 表空間
SELECT con_id, tablespace_name
FROM cdb_tablespaces
WHERE tablespace_name LIKE UNDO%
ORDER BY con_id;
CON_ID TABLESPACE_NAME
---------- ------------------------------
1 UNDOTBS1
3 UNDOTBS1
2 切換為共享 undo 模式
SQL SHUTDOWN IMMEDIATE;
SQL STARTUP UPGRADE;
SQL ALTER DATABASE LOCAL UNDO OFF;
SQL SHUTDOWN IMMEDIATE;
SQL STARTUP;
2.1 驗(yàn)證
SQL COLUMN property_name FORMAT A30
SQL COLUMN property_value FORMAT A30
SQL SELECT property_name, property_value
FROM database_properties
WHERE property_name = LOCAL_UNDO_ENABLED
PROPERTY_NAME PROPERTY_VALUE
----------------------------- ------------------------------
LOCAL_UNDO_ENABLED FALSE
雖然已經(jīng)不是本地 undo 模式了,但是之前存在的 undo 表空間不會(huì)自動(dòng)刪除。如果礙事,要手動(dòng)刪除。
SQL SELECT con_id, tablespace_name
FROM cdb_tablespaces
WHERE tablespace_name LIKE UNDO%
ORDER BY con_id;
CON_ID TABLESPACE_NAME
---------- ------------------------------
1 UNDOTBS1
3 UNDOTBS1
–刪除多余的 undo 表空間
SQL ALTER SESSION SET CONTAINER = pdb1;
SQL SELECT file_name
FROM dba_data_files
WHERE tablespace_name = UNDOTBS1
----------------------------------------------------------------------------------------------------
/u02/app/oracle/oradata/cdb1/pdb1/undotbs01.dbf
SQL DROP TABLESPACE undotbs1;
Tablespace dropped.
隨著所有老的 undo 表空間被移除了,現(xiàn)在該實(shí)例就是運(yùn)行在共享 undo 模式上了。
3 切換為本地 undo 模式
利用上面的環(huán)境,重新切換回去。
查詢
可以看到是運(yùn)行在共享 undo 模式上,而且只有一個(gè) undo 表空間。
SQL SELECT property_name, property_value
FROM database_properties
WHERE property_name = LOCAL_UNDO_ENABLED
PROPERTY_NAME PROPERTY_VALUE
------------------------------ ------------------------------
LOCAL_UNDO_ENABLED FALSE
SQL SELECT con_id, tablespace_name
FROM cdb_tablespaces
WHERE tablespace_name LIKE UNDO%
ORDER BY con_id;
CON_ID TABLESPACE_NAME
---------- ------------------------------
1 UNDOTBS1
3.1 切換為本地 undo 模式
和切換為共享 undo 模式步驟相同。
SQL SHUTDOWN IMMEDIATE;
SQL STARTUP UPGRADE;
SQL ALTER DATABASE LOCAL UNDO ON;
SQL SHUTDOWN IMMEDIATE;
SQL STARTUP;
3.2 驗(yàn)證
SQL COLUMN property_name FORMAT A30
SQL COLUMN property_value FORMAT A30
SQL SELECT property_name, property_value
FROM database_properties
WHERE property_name = LOCAL_UNDO_ENABLED
PROPERTY_NAME PROPERTY_VALUE
------------------------------ ------------------------------
LOCAL_UNDO_ENABLED TRUE
–可以看到 Oracle 自動(dòng)為 PDB 創(chuàng)建了一個(gè) undo 表空間
SQL SELECT con_id, tablespace_name
FROM cdb_tablespaces
WHERE tablespace_name LIKE UNDO%
ORDER BY con_id;
CON_ID TABLESPACE_NAME
---------- ------------------------------
1 UNDOTBS1
3 UNDO_1
3.3 新創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)
可以看到新創(chuàng)建的數(shù)據(jù)庫(kù)也是運(yùn)行在本地 undo 模式上。
SQL CREATE PLUGGABLE DATABASE pdb2 ADMIN USER pdb_adm IDENTIFIED BY Password1;
SQL ALTER PLUGGABLE DATABASE pdb2 SAVE STATE;
SQL SELECT con_id, tablespace_name
FROM cdb_tablespaces
WHERE tablespace_name LIKE UNDO%
ORDER BY con_id;
CON_ID TABLESPACE_NAME
---------- ------------------------------
1 UNDOTBS1
3 UNDO_1
4 UNDOTBS1
讀到這里,這篇“Oracle 本地 UNDO 模式怎么實(shí)現(xiàn)”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道。