重命名数据库表空间和数据文件
生活随笔
收集整理的這篇文章主要介紹了
重命名数据库表空间和数据文件
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、重命名數(shù)據(jù)庫(kù)表空間名
使用alter tablespace… rename to命令,可以重命名一個(gè)永久或者臨時(shí)表空間。例如,下面重命名users表空間:
Alter tablespace tbs_name rename to new_tbs_name;
當(dāng)你重命名一個(gè)表空間時(shí),數(shù)據(jù)庫(kù)將會(huì)更新與該表空間相關(guān)的在數(shù)據(jù)字典、控制文件和聯(lián)機(jī)數(shù)據(jù)文件頭中相關(guān)信息。數(shù)據(jù)庫(kù)不會(huì)修改該表空間的id,所以當(dāng)重命名一個(gè)表空間時(shí),將其作為默認(rèn)表空間的用戶(hù)將自動(dòng)修改過(guò)來(lái),可以通過(guò)dba_users視圖來(lái)查看。以下一些情況需要注意:
1. Compatible參數(shù)必須為10.0或以上。即表明10g以上才支持表空間重命名。
2. System和sysaux表空間不能重命名。
3. 如果該表空間中有任何一個(gè)數(shù)據(jù)文件處于脫機(jī)狀態(tài)或者表空間處于脫機(jī)狀態(tài),則不能進(jìn)行重命名。
4. 如果表空間為只讀,則數(shù)據(jù)文件頭不能更新。這不能被認(rèn)為是corruption。代替之,它將向警告日志寫(xiě)一些信息,表明數(shù)據(jù)文件頭不能重命名。數(shù)據(jù)字典和控制文件是可以更新的。
5. 如果該表空間是默認(rèn)臨時(shí)表空間,則關(guān)于數(shù)據(jù)庫(kù)特性表被更新,可以通過(guò)database_properties視圖可以查看。
6. 如果表空間為undo表空間,并且滿(mǎn)足以下條件,則表空間名稱(chēng)被更新到spfile文件中。
?? ?數(shù)據(jù)庫(kù)用spfile來(lái)啟動(dòng)數(shù)據(jù)庫(kù)。
?? ?反應(yīng)給所有指定的實(shí)例。
?? ?如果使用pfile啟動(dòng)數(shù)據(jù)庫(kù),則會(huì)向警告日志寫(xiě)一條信息,聲明初始化參數(shù)必須手工修改。
二、重命名數(shù)據(jù)庫(kù)表空間文件名
過(guò)程步驟:OFFLINE表空間 --> 修改操作系統(tǒng)上的文件名 --> 修改數(shù)據(jù)庫(kù)中的文件名 --> ONLINE表空間
重點(diǎn)提示:數(shù)據(jù)庫(kù)必須運(yùn)行在歸檔模式下,因?yàn)橐M(jìn)行介質(zhì)恢復(fù)
1.OFFLINE表空間
?? ?SQL> alter tablespace tbs_test_a offline;
?? ?Tablespace altered.
2.使用操作系統(tǒng)命令復(fù)制表空間文件
?? ?SQL>Host copy
?? ?F:\DISK1\ORATABLESPACE\tbs_test_a_01.DBF?
?? ?F:\DISK1\ORATABLESPACE\tbs_test_a_02.DBF;
3.修改數(shù)據(jù)庫(kù)中的文件名
?? ?SQL> ALTER DATABASE RENAME FILE?
?? ?‘F:\DISK1\ORATABLESPACE \tbs_test_a_01' TO
?? ?‘F:\DISK1\ORATABLESPACE\tbs_test_a_02.DBF'
?? ?Database altered.
4.執(zhí)行命令,完成介質(zhì)恢復(fù)
?? ?SQL> recover datafile 'F:\DISK1\ORATABLESPACE\ tbs_test_a_02.DBF';
?? ?完成介質(zhì)恢復(fù)。
5.ONLINE表空間
?? ?SQL> alter tablespace tbs_test_a online;
?? ?Tablespace altered.
6.確認(rèn)修改成功
?? SQL> select tablespace_name,file_name from dba_data_files where tablespace_name = 'tbs_test_a ';
?? TABLESPACE_NAME FILE_NAME
?? --------------- ---------------------------------------
?? TBS_TEST_A ? ? ? F:\DISK1\ORATABLESPACE\ tbs_test_a_02.DBF
使用alter tablespace… rename to命令,可以重命名一個(gè)永久或者臨時(shí)表空間。例如,下面重命名users表空間:
Alter tablespace tbs_name rename to new_tbs_name;
當(dāng)你重命名一個(gè)表空間時(shí),數(shù)據(jù)庫(kù)將會(huì)更新與該表空間相關(guān)的在數(shù)據(jù)字典、控制文件和聯(lián)機(jī)數(shù)據(jù)文件頭中相關(guān)信息。數(shù)據(jù)庫(kù)不會(huì)修改該表空間的id,所以當(dāng)重命名一個(gè)表空間時(shí),將其作為默認(rèn)表空間的用戶(hù)將自動(dòng)修改過(guò)來(lái),可以通過(guò)dba_users視圖來(lái)查看。以下一些情況需要注意:
1. Compatible參數(shù)必須為10.0或以上。即表明10g以上才支持表空間重命名。
2. System和sysaux表空間不能重命名。
3. 如果該表空間中有任何一個(gè)數(shù)據(jù)文件處于脫機(jī)狀態(tài)或者表空間處于脫機(jī)狀態(tài),則不能進(jìn)行重命名。
4. 如果表空間為只讀,則數(shù)據(jù)文件頭不能更新。這不能被認(rèn)為是corruption。代替之,它將向警告日志寫(xiě)一些信息,表明數(shù)據(jù)文件頭不能重命名。數(shù)據(jù)字典和控制文件是可以更新的。
5. 如果該表空間是默認(rèn)臨時(shí)表空間,則關(guān)于數(shù)據(jù)庫(kù)特性表被更新,可以通過(guò)database_properties視圖可以查看。
6. 如果表空間為undo表空間,并且滿(mǎn)足以下條件,則表空間名稱(chēng)被更新到spfile文件中。
?? ?數(shù)據(jù)庫(kù)用spfile來(lái)啟動(dòng)數(shù)據(jù)庫(kù)。
?? ?反應(yīng)給所有指定的實(shí)例。
?? ?如果使用pfile啟動(dòng)數(shù)據(jù)庫(kù),則會(huì)向警告日志寫(xiě)一條信息,聲明初始化參數(shù)必須手工修改。
二、重命名數(shù)據(jù)庫(kù)表空間文件名
過(guò)程步驟:OFFLINE表空間 --> 修改操作系統(tǒng)上的文件名 --> 修改數(shù)據(jù)庫(kù)中的文件名 --> ONLINE表空間
重點(diǎn)提示:數(shù)據(jù)庫(kù)必須運(yùn)行在歸檔模式下,因?yàn)橐M(jìn)行介質(zhì)恢復(fù)
1.OFFLINE表空間
?? ?SQL> alter tablespace tbs_test_a offline;
?? ?Tablespace altered.
2.使用操作系統(tǒng)命令復(fù)制表空間文件
?? ?SQL>Host copy
?? ?F:\DISK1\ORATABLESPACE\tbs_test_a_01.DBF?
?? ?F:\DISK1\ORATABLESPACE\tbs_test_a_02.DBF;
3.修改數(shù)據(jù)庫(kù)中的文件名
?? ?SQL> ALTER DATABASE RENAME FILE?
?? ?‘F:\DISK1\ORATABLESPACE \tbs_test_a_01' TO
?? ?‘F:\DISK1\ORATABLESPACE\tbs_test_a_02.DBF'
?? ?Database altered.
4.執(zhí)行命令,完成介質(zhì)恢復(fù)
?? ?SQL> recover datafile 'F:\DISK1\ORATABLESPACE\ tbs_test_a_02.DBF';
?? ?完成介質(zhì)恢復(fù)。
5.ONLINE表空間
?? ?SQL> alter tablespace tbs_test_a online;
?? ?Tablespace altered.
6.確認(rèn)修改成功
?? SQL> select tablespace_name,file_name from dba_data_files where tablespace_name = 'tbs_test_a ';
?? TABLESPACE_NAME FILE_NAME
?? --------------- ---------------------------------------
?? TBS_TEST_A ? ? ? F:\DISK1\ORATABLESPACE\ tbs_test_a_02.DBF
總結(jié)
以上是生活随笔為你收集整理的重命名数据库表空间和数据文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Oracle的闪回特性之恢复trunca
- 下一篇: Oracle 11.2.0.2新特性——