重命名数据库表空间和数据文件
生活随笔
收集整理的這篇文章主要介紹了
重命名数据库表空间和数据文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、重命名數據庫表空間名
使用alter tablespace… rename to命令,可以重命名一個永久或者臨時表空間。例如,下面重命名users表空間:
Alter tablespace tbs_name rename to new_tbs_name;
當你重命名一個表空間時,數據庫將會更新與該表空間相關的在數據字典、控制文件和聯機數據文件頭中相關信息。數據庫不會修改該表空間的id,所以當重命名一個表空間時,將其作為默認表空間的用戶將自動修改過來,可以通過dba_users視圖來查看。以下一些情況需要注意:
1. Compatible參數必須為10.0或以上。即表明10g以上才支持表空間重命名。
2. System和sysaux表空間不能重命名。
3. 如果該表空間中有任何一個數據文件處于脫機狀態或者表空間處于脫機狀態,則不能進行重命名。
4. 如果表空間為只讀,則數據文件頭不能更新。這不能被認為是corruption。代替之,它將向警告日志寫一些信息,表明數據文件頭不能重命名。數據字典和控制文件是可以更新的。
5. 如果該表空間是默認臨時表空間,則關于數據庫特性表被更新,可以通過database_properties視圖可以查看。
6. 如果表空間為undo表空間,并且滿足以下條件,則表空間名稱被更新到spfile文件中。
?? ?數據庫用spfile來啟動數據庫。
?? ?反應給所有指定的實例。
?? ?如果使用pfile啟動數據庫,則會向警告日志寫一條信息,聲明初始化參數必須手工修改。
二、重命名數據庫表空間文件名
過程步驟:OFFLINE表空間 --> 修改操作系統上的文件名 --> 修改數據庫中的文件名 --> ONLINE表空間
重點提示:數據庫必須運行在歸檔模式下,因為要進行介質恢復
1.OFFLINE表空間
?? ?SQL> alter tablespace tbs_test_a offline;
?? ?Tablespace altered.
2.使用操作系統命令復制表空間文件
?? ?SQL>Host copy
?? ?F:\DISK1\ORATABLESPACE\tbs_test_a_01.DBF?
?? ?F:\DISK1\ORATABLESPACE\tbs_test_a_02.DBF;
3.修改數據庫中的文件名
?? ?SQL> ALTER DATABASE RENAME FILE?
?? ?‘F:\DISK1\ORATABLESPACE \tbs_test_a_01' TO
?? ?‘F:\DISK1\ORATABLESPACE\tbs_test_a_02.DBF'
?? ?Database altered.
4.執行命令,完成介質恢復
?? ?SQL> recover datafile 'F:\DISK1\ORATABLESPACE\ tbs_test_a_02.DBF';
?? ?完成介質恢復。
5.ONLINE表空間
?? ?SQL> alter tablespace tbs_test_a online;
?? ?Tablespace altered.
6.確認修改成功
?? 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命令,可以重命名一個永久或者臨時表空間。例如,下面重命名users表空間:
Alter tablespace tbs_name rename to new_tbs_name;
當你重命名一個表空間時,數據庫將會更新與該表空間相關的在數據字典、控制文件和聯機數據文件頭中相關信息。數據庫不會修改該表空間的id,所以當重命名一個表空間時,將其作為默認表空間的用戶將自動修改過來,可以通過dba_users視圖來查看。以下一些情況需要注意:
1. Compatible參數必須為10.0或以上。即表明10g以上才支持表空間重命名。
2. System和sysaux表空間不能重命名。
3. 如果該表空間中有任何一個數據文件處于脫機狀態或者表空間處于脫機狀態,則不能進行重命名。
4. 如果表空間為只讀,則數據文件頭不能更新。這不能被認為是corruption。代替之,它將向警告日志寫一些信息,表明數據文件頭不能重命名。數據字典和控制文件是可以更新的。
5. 如果該表空間是默認臨時表空間,則關于數據庫特性表被更新,可以通過database_properties視圖可以查看。
6. 如果表空間為undo表空間,并且滿足以下條件,則表空間名稱被更新到spfile文件中。
?? ?數據庫用spfile來啟動數據庫。
?? ?反應給所有指定的實例。
?? ?如果使用pfile啟動數據庫,則會向警告日志寫一條信息,聲明初始化參數必須手工修改。
二、重命名數據庫表空間文件名
過程步驟:OFFLINE表空間 --> 修改操作系統上的文件名 --> 修改數據庫中的文件名 --> ONLINE表空間
重點提示:數據庫必須運行在歸檔模式下,因為要進行介質恢復
1.OFFLINE表空間
?? ?SQL> alter tablespace tbs_test_a offline;
?? ?Tablespace altered.
2.使用操作系統命令復制表空間文件
?? ?SQL>Host copy
?? ?F:\DISK1\ORATABLESPACE\tbs_test_a_01.DBF?
?? ?F:\DISK1\ORATABLESPACE\tbs_test_a_02.DBF;
3.修改數據庫中的文件名
?? ?SQL> ALTER DATABASE RENAME FILE?
?? ?‘F:\DISK1\ORATABLESPACE \tbs_test_a_01' TO
?? ?‘F:\DISK1\ORATABLESPACE\tbs_test_a_02.DBF'
?? ?Database altered.
4.執行命令,完成介質恢復
?? ?SQL> recover datafile 'F:\DISK1\ORATABLESPACE\ tbs_test_a_02.DBF';
?? ?完成介質恢復。
5.ONLINE表空間
?? ?SQL> alter tablespace tbs_test_a online;
?? ?Tablespace altered.
6.確認修改成功
?? 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
總結
以上是生活随笔為你收集整理的重命名数据库表空间和数据文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle的闪回特性之恢复trunca
- 下一篇: linux cmake编译源码,linu