一、DataFile的重命名和重定位
?
??? 1、單個(gè)TableSpace的DataFile重命名及重定位
?
??? 重命名步驟:
?
??? ① 使包含該DataFile的非SYSTEM TableSpace脫機(jī)
??????? ALTER TABLESPACE users OFFLINE NOEMAL;
??? ② 利用操作系統(tǒng)重命名DataFile
??? ③ 使用ALTER TABLESPACE RENAME DATAFILE語句改文件名
??????? ALTER TABLESPACE users
??????? RENAME DATAFILE '/u02/oracle/rbdb1/user1.dbf','/u02/oracle/rbdb1/user2.dbf'
??????? TO '/u02/oracle/rbdb1/users01.dbf','/u02/oracle/rbdb1/users02.dbf';
??? ④ 備份數(shù)據(jù)庫
?
??? 注:重定位的操作基本上與重命名相同,即在改變名稱的基礎(chǔ)上也通過操作系統(tǒng)改變了位置。
?
??? 2、多個(gè)TableSpace中的DataFile重命名和重定位
?
??? ① 確保數(shù)據(jù)庫被裝載,但是關(guān)閉(必須關(guān)閉,與單TableSpace不同)
??? ② 利用操作系統(tǒng)重命名及重定位DataFile
??? ③ 使用ALTER DATABASE命令
??????? ALTER DATABASE
??????? RENAME FILE '/u02/oracle/rbdb1/sort01.dbf','/u02/oracle/rbdb1/user3.dbf'
??????? TO '/u02/oracle/rbdb1/temp01.dbf','/u02/oracle/rbdb1/users03.dbf';
??? ④ 備份數(shù)據(jù)庫
?
?
二、驗(yàn)證DataFile中的數(shù)據(jù)塊
?
??? 如果需要配置Oracle來校驗(yàn)數(shù)據(jù)塊,則需要將DB_BLOCK_CHECHSUM參數(shù)項(xiàng)設(shè)置為TRUE
?
??? 注:DB_BLOCK_CHECHSUM的默認(rèn)值是FALSE,但可以動(dòng)態(tài)改變。
?
??? 工作過程:
當(dāng)啟用塊校驗(yàn)時(shí),Oracle為每個(gè)寫到磁盤的塊計(jì)算校驗(yàn)和,包括臨時(shí)塊。DBWn為每個(gè)塊計(jì)算校驗(yàn)和后,將其存儲(chǔ)在塊的頭部,下一次Oracle讀一個(gè)數(shù)據(jù)塊時(shí),使用它來校驗(yàn)和檢測(cè)塊中的訛誤,若有錯(cuò)誤則返回ORA-01578,并將錯(cuò)誤信息寫入跟蹤文件
?
?
三、查看數(shù)據(jù)文件信息
?
??? DBA_DATA_FILES:每個(gè)數(shù)據(jù)文件的說明信息,包括所屬表空間和文件標(biāo)識(shí)
??? DBA_EXTENTS:組成數(shù)據(jù)庫中所有段的盤區(qū),包括盤區(qū)的數(shù)據(jù)文件標(biāo)識(shí)
??? DBA_FREE_SPACE:表空間中的空閑盤區(qū),包含該盤區(qū)的數(shù)據(jù)文件標(biāo)識(shí)
??? V$DATAFILE:來自控制文件的數(shù)據(jù)文件信息
??? V$DATAFILE_HEADER:包括來自數(shù)據(jù)文件頭部的信息
?
??? SELECT NAME, FILE#, STATUS, CHECKPOINT_CHANGE# "CHECKPOINT"
????? FROM V$DATAFILE;
?
??? NAME:數(shù)據(jù)文件全名
??? FILE#:文件號(hào)
??? STATUS:SYSTEM表空間的DataFile直接標(biāo)SYSTEM,其他則標(biāo)ONLINE|OFFLINE(RECOVER)
??? CHECKPOINT_CHANGE#:最近的檢測(cè)點(diǎn)寫入的最終SCN
?
-The End-