一、簡介:
創(chuàng)新互聯(lián)建站長期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為羅田企業(yè)提供專業(yè)的網(wǎng)站制作、成都網(wǎng)站制作,羅田網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
①:在12C R1版本中undo只支持Global Shared Undo模式, 所有container共享一個UNDO表空間, 目前保留這種模式只是為了升級過渡,
②:在12C R2引入了PDB Local UNDO模式,每個container都有自己的UNDO 表空間, 對于RAC是每個實(shí)例每個container都有自己的UNDO表空間, 這也正是推薦的.在DBCA時會有l(wèi)ocal undo選項(xiàng),且默認(rèn)勾選。
local undo 模式的好處:
①:減少undo表空間的爭用,同時方便拔插
②:只有使用local undo才支持下面的新特性: Refresh PDB, Flashback PDB ,( Hot Clone, Relocate PDB in open read/write mode)
③:point-in-time recovery PDB
--注意:如果要將local UNO 轉(zhuǎn)為 shared UNO,數(shù)據(jù)庫必須要以upgrade方式啟動,否則會報錯;
二、 local undo 轉(zhuǎn) shared undo :
①:查看local undo 是否開啟:(默認(rèn)是開啟 local undo,因?yàn)樵诎惭b的時候默認(rèn)是勾選這個選項(xiàng)的) SQL> col PROPERTY_NAME for a25; SQL> col PROPERTY_VALUE for a25; SQL> select PROPERTY_NAME,PROPERTY_VALUE from database_properties where property_name='LOCAL_UNDO_ENABLED'; PROPERTY_NAME PROPERTY_VALUE ------------------------- ------------------------- LOCAL_UNDO_ENABLED TRUE 注意:在Oracle12.1版本中 undo只支持Global Shared Undo模式,不支持local undo選項(xiàng) ②:重啟數(shù)據(jù)庫,以upgrade方式啟動: SQL> shutdown immediate SQL> startup upgrade SQL> alter database local undo off; ---改變local undo的模式,數(shù)據(jù)庫必須以upgrade方式啟動。 SQL> shutdown immediate SQL> startup SQL> col PROPERTY_NAME for a25; SQL> select PROPERTY_NAME,PROPERTY_VALUE from database_properties where property_name='LOCAL_UNDO_ENABLED'; PROPERTY_NAME PROPERTY_VALUE ------------------------- ------------------------- LOCAL_UNDO_ENABLED FALSE ---注意,從上一步查詢得知,local_undo 已經(jīng)關(guān)閉了; ③:把pdb中的undo表空間刪除: SQL> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 TESTPDB READ WRITE NO SQL> alter session set container=testpdb ; SQL> select tablespace_name from dba_tablespaces; ----查看現(xiàn)在的表空間, TABLESPACE_NAME ------------------------------ SYSTEM SYSAUX UNDOTBS1 TEMP USERS TEST 6 rows selected. SQL> select name from v$datafile where name like '%undo%'; ---查看可以得知,目前有兩個undo表空間,一個是CDB的,一個是PDB自己的 NAME -------------------------------------------------------------------------------- /opt/oracle/oradata/orcl/undotbs01.dbf /opt/oracle/oradata/orcl/testpdb/undotbs01.dbf SQL> drop tablespace UNDOTBS1 including contents and datafiles; ---刪除pdb中的undo表空間,(一定是進(jìn)入到pdb在執(zhí)行這條命令) Tablespace dropped. SQL> select name from v$datafile where name like '%undo%'; ---此時查看undo表空間,就只剩下CDB中的一個了 NAME -------------------------------------------------------------------------------- /opt/oracle/oradata/orcl/undotbs01.dbf SQL> show con_name; CON_NAME ------------------------------ TESTPDB
二、shared undo 轉(zhuǎn) local undo :
SQL> shutdown immediate SQL> startup upgrade ---必須以upgrade啟動數(shù)據(jù)庫 SQL> alter database local undo on; ----開啟local undo模式 SQL> shutdown immediate SQL> startup SQL> col PROPERTY_NAME for a25; SQL> col PROPERTY_VALUE for a25; SQL> select PROPERTY_NAME,PROPERTY_VALUE from database_properties where property_name='LOCAL_UNDO_ENABLED'; PROPERTY_NAME PROPERTY_VALUE ------------------------- ------------------------- LOCAL_UNDO_ENABLED TRUE SQL> alter pluggable database testpdb open; SQL> alter session set container=testpdb; SQL> select name from v$datafile where name like '%undo%'; NAME ----------------------------------------------------------------------------------------------------------------------------------------- /opt/oracle/oradata/orcl/testpdb/system01_i1_undo.dbf
說明:
打開loacl undo后,自動為當(dāng)前的PDB創(chuàng)建undo表空間,同時如果以前再新創(chuàng)建pdb,系統(tǒng)將自動創(chuàng)建自己的undo表空間。創(chuàng)建表空間的名字與大小由 PDB$SEED 中的配置信息決定的。