【實驗】修改資料檔名字的三種途徑
【問題現象】
在給表空間新增檔案後,發現資料檔案的新增的位置或名字不規範,需要規範性的更正
如下述場景:
sys@ora10g> col tablespace_name for a15
sys@ora10g> col file_name for a50
sys@ora10g> select tablespace_name,file_name from dba_data_files where tablespace_name = 'TBS_SEC_D';
TABLESPACE_NAME FILE_NAME
--------------- --------------------------------------
TBS_SEC_D /oracle/oradata/ora10g/tbs_sec_d01dbf
細心地您應該看到這個資料檔名字應該為tbs_sec_d01.dbf,這裡少了一個點。(另外一種場景是錯誤的將資料檔案新增到了不正確的路徑中需要修改)
這種錯誤也許您也會遇到。
首先宣告一下:如果保持這個錯誤名字不變,不會影響到資料庫的正常執行,但為了防止在維護過程中產生不必要的干擾,還是應該將其更正的。
【處理方法1】OFFLINE資料檔案 --> 修改作業系統上的檔名 --> 修改資料庫中的檔名 --> 對資料檔案進行恢復 --> ONLINE資料檔案
特別強調:需要歸檔模式!因為需要對資料檔案進行恢復
1.OFFLINE資料檔案
sys@ora10g> alter database datafile '/oracle/oradata/ora10g/tbs_sec_d01dbf' offline;
Database altered.
2.修改作業系統上的檔名
ora10g@testdb /oracle/oradata/ora10g$ mv tbs_sec_d01dbf tbs_sec_d01.dbf
3.修改資料庫中的檔名
sys@ora10g> alter database rename file '/oracle/oradata/ora10g/tbs_sec_d01dbf' to '/oracle/oradata/ora10g/tbs_sec_d01.dbf';
Database altered.
4.對資料檔案進行恢復
sys@ora10g> recover datafile '/oracle/oradata/ora10g/tbs_sec_d01.dbf';
Media recovery complete.
5.ONLINE資料檔案
alter database datafile '/oracle/oradata/ora10g/tbs_sec_d01.dbf' online;
6.確認修改成功
sys@ora10g> select tablespace_name,file_name from dba_data_files where tablespace_name = 'TBS_SEC_D';
TABLESPACE_NAME FILE_NAME
--------------- ---------------------------------------
TBS_SEC_D /oracle/oradata/ora10g/tbs_sec_d01.dbf
【處理方法2】OFFLINE表空間 --> 修改作業系統上的檔名 --> 修改資料庫中的檔名 --> ONLINE表空間
1.OFFLINE表空間
sys@ora10g> alter tablespace tbs_sec_d offline;
Tablespace altered.
2.修改作業系統上的檔名
ora10g@testdb /oracle/oradata/ora10g$ mv tbs_sec_d01dbf tbs_sec_d01.dbf
3.修改資料庫中的檔名
sys@ora10g> alter database rename file '/oracle/oradata/ora10g/tbs_sec_d01dbf' to '/oracle/oradata/ora10g/tbs_sec_d01.dbf';
Database altered.
4.ONLINE表空間
sys@ora10g> alter tablespace tbs_sec_d online;
Tablespace altered.
5.確認修改成功
sys@ora10g> select tablespace_name,file_name from dba_data_files where tablespace_name = 'TBS_SEC_D';
TABLESPACE_NAME FILE_NAME
--------------- ---------------------------------------
TBS_SEC_D /oracle/oradata/ora10g/tbs_sec_d01.dbf
【處理方法3】SHUTDOWN資料庫 --> 修改作業系統上的檔名 --> 資料庫啟動到MOUNT --> 修改資料庫中的檔名 --> OPEN資料庫
1.SHUTDOWN資料庫
sys@ora10g> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
2.修改作業系統上的檔名
ora10g@testdb /oracle/oradata/ora10g$ mv tbs_sec_d01dbf tbs_sec_d01.dbf
3.資料庫啟動到MOUNT
NotConnected@> startup mount;
ORACLE instance started.
Total System Global Area 562036736 bytes
Fixed Size 2022312 bytes
Variable Size 171967576 bytes
Database Buffers 381681664 bytes
Redo Buffers 6365184 bytes
Database mounted.
4.修改資料庫中的檔名
NotConnected@> alter database rename file '/oracle/oradata/ora10g/tbs_sec_d01dbf' to '/oracle/oradata/ora10g/tbs_sec_d01.dbf';
Database altered.
5.OPEN資料庫
NotConnected@> alter database open;
Database altered.
6.確認修改成功
sys@ora10g> select tablespace_name,file_name from dba_data_files where tablespace_name = 'TBS_SEC_D';
TABLESPACE_NAME FILE_NAME
--------------- ---------------------------------------
TBS_SEC_D /oracle/oradata/ora10g/tbs_sec_d01.dbf
【總結】
以上三個實驗是按照對資料庫執行影響加深的順序進行的。很顯然,需要停起資料庫對資料庫的可用性影響是最大的,單獨對特定資料檔案進行修改的影響最小,對錶空間offline的方法影響介於其之間。
希望螢幕前的您,可以根據不同的場景具體問題具體分析之。
好運!
-- The End --
在給表空間新增檔案後,發現資料檔案的新增的位置或名字不規範,需要規範性的更正
如下述場景:
sys@ora10g> col tablespace_name for a15
sys@ora10g> col file_name for a50
sys@ora10g> select tablespace_name,file_name from dba_data_files where tablespace_name = 'TBS_SEC_D';
TABLESPACE_NAME FILE_NAME
--------------- --------------------------------------
TBS_SEC_D /oracle/oradata/ora10g/tbs_sec_d01dbf
細心地您應該看到這個資料檔名字應該為tbs_sec_d01.dbf,這裡少了一個點。(另外一種場景是錯誤的將資料檔案新增到了不正確的路徑中需要修改)
這種錯誤也許您也會遇到。
首先宣告一下:如果保持這個錯誤名字不變,不會影響到資料庫的正常執行,但為了防止在維護過程中產生不必要的干擾,還是應該將其更正的。
【處理方法1】OFFLINE資料檔案 --> 修改作業系統上的檔名 --> 修改資料庫中的檔名 --> 對資料檔案進行恢復 --> ONLINE資料檔案
特別強調:需要歸檔模式!因為需要對資料檔案進行恢復
1.OFFLINE資料檔案
sys@ora10g> alter database datafile '/oracle/oradata/ora10g/tbs_sec_d01dbf' offline;
Database altered.
2.修改作業系統上的檔名
ora10g@testdb /oracle/oradata/ora10g$ mv tbs_sec_d01dbf tbs_sec_d01.dbf
3.修改資料庫中的檔名
sys@ora10g> alter database rename file '/oracle/oradata/ora10g/tbs_sec_d01dbf' to '/oracle/oradata/ora10g/tbs_sec_d01.dbf';
Database altered.
4.對資料檔案進行恢復
sys@ora10g> recover datafile '/oracle/oradata/ora10g/tbs_sec_d01.dbf';
Media recovery complete.
5.ONLINE資料檔案
alter database datafile '/oracle/oradata/ora10g/tbs_sec_d01.dbf' online;
6.確認修改成功
sys@ora10g> select tablespace_name,file_name from dba_data_files where tablespace_name = 'TBS_SEC_D';
TABLESPACE_NAME FILE_NAME
--------------- ---------------------------------------
TBS_SEC_D /oracle/oradata/ora10g/tbs_sec_d01.dbf
【處理方法2】OFFLINE表空間 --> 修改作業系統上的檔名 --> 修改資料庫中的檔名 --> ONLINE表空間
1.OFFLINE表空間
sys@ora10g> alter tablespace tbs_sec_d offline;
Tablespace altered.
2.修改作業系統上的檔名
ora10g@testdb /oracle/oradata/ora10g$ mv tbs_sec_d01dbf tbs_sec_d01.dbf
3.修改資料庫中的檔名
sys@ora10g> alter database rename file '/oracle/oradata/ora10g/tbs_sec_d01dbf' to '/oracle/oradata/ora10g/tbs_sec_d01.dbf';
Database altered.
4.ONLINE表空間
sys@ora10g> alter tablespace tbs_sec_d online;
Tablespace altered.
5.確認修改成功
sys@ora10g> select tablespace_name,file_name from dba_data_files where tablespace_name = 'TBS_SEC_D';
TABLESPACE_NAME FILE_NAME
--------------- ---------------------------------------
TBS_SEC_D /oracle/oradata/ora10g/tbs_sec_d01.dbf
【處理方法3】SHUTDOWN資料庫 --> 修改作業系統上的檔名 --> 資料庫啟動到MOUNT --> 修改資料庫中的檔名 --> OPEN資料庫
1.SHUTDOWN資料庫
sys@ora10g> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
2.修改作業系統上的檔名
ora10g@testdb /oracle/oradata/ora10g$ mv tbs_sec_d01dbf tbs_sec_d01.dbf
3.資料庫啟動到MOUNT
NotConnected@> startup mount;
ORACLE instance started.
Total System Global Area 562036736 bytes
Fixed Size 2022312 bytes
Variable Size 171967576 bytes
Database Buffers 381681664 bytes
Redo Buffers 6365184 bytes
Database mounted.
4.修改資料庫中的檔名
NotConnected@> alter database rename file '/oracle/oradata/ora10g/tbs_sec_d01dbf' to '/oracle/oradata/ora10g/tbs_sec_d01.dbf';
Database altered.
5.OPEN資料庫
NotConnected@> alter database open;
Database altered.
6.確認修改成功
sys@ora10g> select tablespace_name,file_name from dba_data_files where tablespace_name = 'TBS_SEC_D';
TABLESPACE_NAME FILE_NAME
--------------- ---------------------------------------
TBS_SEC_D /oracle/oradata/ora10g/tbs_sec_d01.dbf
【總結】
以上三個實驗是按照對資料庫執行影響加深的順序進行的。很顯然,需要停起資料庫對資料庫的可用性影響是最大的,單獨對特定資料檔案進行修改的影響最小,對錶空間offline的方法影響介於其之間。
希望螢幕前的您,可以根據不同的場景具體問題具體分析之。
好運!
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-608810/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 修改資料庫檔名字和路徑資料庫
- 實現AI的三種途徑AI
- 發揮大資料價值的三種途徑大資料
- 獲取代理IP的三種途徑
- oracle 修改資料檔案路徑(四種方式)Oracle
- 修改資料檔案路徑
- 四種途徑提升RabbitMQ傳輸資料的可靠性MQ
- 【SCN】Oracle資料庫SCN號的四種獲取途徑Oracle資料庫
- 實用領域,三類可以讓大資料發揮價值的途徑!大資料
- 谷歌眼鏡改變醫學未來的三種途徑谷歌
- 修改Oracle資料檔名及資料檔案存放路徑Oracle
- 非歸檔模式下的資料檔案路徑修改模式
- 程式設計師:增加程式設計經驗的3種途徑程式設計師
- oracle 11g 修改資料庫名字和例項名字Oracle資料庫
- 怎麼修改MAC電腦名字,三步教你修改MAC電腦的名字Mac
- 更改ORACLE資料檔名字的方法Oracle
- 【Oracle】如何修改資料檔案和日誌檔案的路徑Oracle
- 用重建控制檔案的方法修改oracle資料檔案路徑Oracle
- 修改資料檔案的位置的兩種方法
- oracle11g修改資料檔案路徑Oracle
- oracle 修改資料檔案位置(路徑)(移動)Oracle
- postgresql資料庫安裝以及修改資料檔案路徑SQL資料庫
- iOS用三種途徑實現一方法有多個返回值iOS
- 修改資料庫路徑資料庫
- wdp途徑向原廠途徑轉換實現考單無限制
- 修改+asm的名字!ASM
- 成為更好程式設計師的8種途徑程式設計師
- 考ocm走原廠途徑和wdp途徑的區別
- CentOS修改Mariadb資料庫檔案儲存路徑CentOS資料庫
- Android上實現MVP模式的途徑AndroidMVP模式
- SOA之(4)——服務實現的途徑
- 瞭解使用者的十個大資料分析途徑大資料
- Git修改分支的名字Git
- C#程式間通訊的各種途徑及解析C#
- 使用批處理指令碼修改指定資料夾(可包含子目錄)中的檔名字尾指令碼
- Sqlserver資料庫儲存路徑的修改SQLServer資料庫
- 修改chrome使用者資料的路徑Chrome
- 探秘淘寶商品詳情介面:獲取電商資料的新途徑