【TABLESPACE】資料庫Mount狀態下調整表空間資料檔案位置及名稱
本文給出在資料庫Mount狀態下調整表空間資料檔案位置及名稱的方法。關於在資料庫Open狀態下調整方法參見文章:《【TABLESPACE】資料庫Open狀態下調整表空間資料檔案位置及名稱》(http://space.itpub.net/519536/viewspace-692267)。
注意:在完成調整操作之前請對資料庫做好有效備份,防止出現故障給資料庫的使用帶來不便。
1.建立測試用表空間TBS_SECOOLER_D
sys@ora10g> create tablespace tbs_secooler_d datafile '/oracle/ora10gR2/oradata/ora10g/tbs_secooler_d_01.dbf' size 10m;
Tablespace created.
2.獲取表空間與資料檔案之間的對應關係
sys@ora10g> select tablespace_name,file_name from dba_data_files where tablespace_name='TBS_SECOOLER_D';
TABLESPACE_NAME FILE_NAME
----------------- ------------------------------------------------------
TBS_SECOOLER_D /oracle/ora10gR2/oradata/ora10g/tbs_secooler_d_01.dbf
3.關閉資料庫例項
sys@ora10g> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
4.在作業系統中調整資料檔案位置和名稱
在Linux/UNIX作業系統中可以使用作業系統命令mv完成這一步的調整。
ora10g@secdb /home/oracle$ mv /oracle/ora10gR2/oradata/ora10g/tbs_secooler_d_01.dbf /home/oracle/tbs_secooler_d.dbf
確認檔案位置及名稱調整完畢。
ora10g@secdb /home/oracle$ ls -l /oracle/ora10gR2/oradata/ora10g/tbs_secooler_d_01.dbf
ls: /oracle/ora10gR2/oradata/ora10g/tbs_secooler_d_01.dbf: No such file or directory
ora10g@secdb /home/oracle$ ls -l /home/oracle/tbs_secooler_d.dbf
-rw-r----- 1 oracle oinstall 11M Apr 12 21:24 /home/oracle/tbs_secooler_d.dbf
5.啟動資料庫例項到Mount狀態
ora10g@secdb /home/oracle$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Apr 12 21:26:08 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
NotConnected@> startup mount;
ORACLE instance started.
Total System Global Area 268435456 bytes
Fixed Size 1218868 bytes
Variable Size 125830860 bytes
Database Buffers 134217728 bytes
Redo Buffers 7168000 bytes
Database mounted.
6.在資料庫中調整資料檔案位置及名稱
SQL> alter database rename file '/oracle/ora10gR2/oradata/ora10g/tbs_secooler_d_01.dbf' to '/home/oracle/tbs_secooler_d.dbf';
Database altered.
注意此處的調整方法與資料庫Open狀態下的調整方法的不同之處:此處使用的是“alter database”命令,而非“alter tablespace”命令,在Mount狀態下是無法使用“alter tablespace”命令,否則會收到如下報錯資訊。
SQL> alter tablespace TBS_SECOOLER_D rename datafile '/oracle/ora10gR2/oradata/ora10g/tbs_secooler_d_01.dbf' to '/home/oracle/tbs_secooler_d.dbf';
alter tablespace TBS_SECOOLER_D rename datafile '/oracle/ora10gR2/oradata/ora10g/tbs_secooler_d_01.dbf' to '/home/oracle/tbs_secooler_d.dbf'
*
ERROR at line 1:
ORA-01109: database not open
7.調整資料庫例項至Open狀態
SQL> alter database open;
Database altered.
到此,調整的任務便順利完成。
8.最後的確認
sys@ora10g> select tablespace_name,file_name from dba_data_files where tablespace_name='TBS_SECOOLER_D';
TABLESPACE_NAME FILE_NAME
----------------- -----------------------------------------------------
TBS_SECOOLER_D /home/oracle/tbs_secooler_d.dbf
OK,已達到了調整表空間資料檔案位置及名稱的目的。
9.小結
本文給出的在Mount狀態下調整資料檔名稱及位置的方法的侷限性在於,需要停啟資料庫例項。對於生產系統及對資料庫例項有效性要求極高的環境中很難找到這樣的維護視窗。
這種調整方法的優勢在於,可以集中對一批資料檔案進行統一調整,避免了資料庫Open狀態下調整方法中對多個表空間分別完成離線的步驟,提高了調整效率。
Good luck.
secooler
11.04.12
-- The End --
注意:在完成調整操作之前請對資料庫做好有效備份,防止出現故障給資料庫的使用帶來不便。
1.建立測試用表空間TBS_SECOOLER_D
sys@ora10g> create tablespace tbs_secooler_d datafile '/oracle/ora10gR2/oradata/ora10g/tbs_secooler_d_01.dbf' size 10m;
Tablespace created.
2.獲取表空間與資料檔案之間的對應關係
sys@ora10g> select tablespace_name,file_name from dba_data_files where tablespace_name='TBS_SECOOLER_D';
TABLESPACE_NAME FILE_NAME
----------------- ------------------------------------------------------
TBS_SECOOLER_D /oracle/ora10gR2/oradata/ora10g/tbs_secooler_d_01.dbf
3.關閉資料庫例項
sys@ora10g> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
4.在作業系統中調整資料檔案位置和名稱
在Linux/UNIX作業系統中可以使用作業系統命令mv完成這一步的調整。
ora10g@secdb /home/oracle$ mv /oracle/ora10gR2/oradata/ora10g/tbs_secooler_d_01.dbf /home/oracle/tbs_secooler_d.dbf
確認檔案位置及名稱調整完畢。
ora10g@secdb /home/oracle$ ls -l /oracle/ora10gR2/oradata/ora10g/tbs_secooler_d_01.dbf
ls: /oracle/ora10gR2/oradata/ora10g/tbs_secooler_d_01.dbf: No such file or directory
ora10g@secdb /home/oracle$ ls -l /home/oracle/tbs_secooler_d.dbf
-rw-r----- 1 oracle oinstall 11M Apr 12 21:24 /home/oracle/tbs_secooler_d.dbf
5.啟動資料庫例項到Mount狀態
ora10g@secdb /home/oracle$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Apr 12 21:26:08 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
NotConnected@> startup mount;
ORACLE instance started.
Total System Global Area 268435456 bytes
Fixed Size 1218868 bytes
Variable Size 125830860 bytes
Database Buffers 134217728 bytes
Redo Buffers 7168000 bytes
Database mounted.
6.在資料庫中調整資料檔案位置及名稱
SQL> alter database rename file '/oracle/ora10gR2/oradata/ora10g/tbs_secooler_d_01.dbf' to '/home/oracle/tbs_secooler_d.dbf';
Database altered.
注意此處的調整方法與資料庫Open狀態下的調整方法的不同之處:此處使用的是“alter database”命令,而非“alter tablespace”命令,在Mount狀態下是無法使用“alter tablespace”命令,否則會收到如下報錯資訊。
SQL> alter tablespace TBS_SECOOLER_D rename datafile '/oracle/ora10gR2/oradata/ora10g/tbs_secooler_d_01.dbf' to '/home/oracle/tbs_secooler_d.dbf';
alter tablespace TBS_SECOOLER_D rename datafile '/oracle/ora10gR2/oradata/ora10g/tbs_secooler_d_01.dbf' to '/home/oracle/tbs_secooler_d.dbf'
*
ERROR at line 1:
ORA-01109: database not open
7.調整資料庫例項至Open狀態
SQL> alter database open;
Database altered.
到此,調整的任務便順利完成。
8.最後的確認
sys@ora10g> select tablespace_name,file_name from dba_data_files where tablespace_name='TBS_SECOOLER_D';
TABLESPACE_NAME FILE_NAME
----------------- -----------------------------------------------------
TBS_SECOOLER_D /home/oracle/tbs_secooler_d.dbf
OK,已達到了調整表空間資料檔案位置及名稱的目的。
9.小結
本文給出的在Mount狀態下調整資料檔名稱及位置的方法的侷限性在於,需要停啟資料庫例項。對於生產系統及對資料庫例項有效性要求極高的環境中很難找到這樣的維護視窗。
這種調整方法的優勢在於,可以集中對一批資料檔案進行統一調整,避免了資料庫Open狀態下調整方法中對多個表空間分別完成離線的步驟,提高了調整效率。
Good luck.
secooler
11.04.12
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-692362/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【TABLESPACE】資料庫Open狀態下調整表空間資料檔案位置及名稱資料庫
- 【TABLESPACE】通過重建控制檔案調整表空間資料檔案位置及名稱
- 資料檔案位置調整
- Oracle 在mount狀態下重新命名資料檔案Oracle
- Oracle根據表名查詢表空間及資料檔案的地址Oracle
- Oracle資料庫表空間的資料檔案大小上限。Oracle資料庫
- 誤刪oracle資料庫表空間檔案Oracle資料庫
- 調整資料庫的資料檔案記錄資料庫
- 檢視Oracle資料庫表空間大小,是否需要增加表空間的資料檔案Oracle資料庫
- 表空間中有資料也可以壓縮表空間(資料檔案)大小
- . 資料庫臨時表空間的資料檔案的丟失資料庫
- Oracle 表空間與資料檔案Oracle
- 表空間和資料檔案管理
- oracle 資料檔案表空間管理Oracle
- 移動資料檔案、系統表空間檔案、臨時表空間檔案
- 表空間&資料檔案和控制檔案(zt)
- oracle rac on aix 下為表空間增加資料檔案OracleAI
- 【TABLESPACE】Oracle資料庫預設永久表空間的查詢及刪除方法Oracle資料庫
- 如何檢視Oracle資料庫表空間大小(空閒、已使用),是否要增加表空間的資料檔案...Oracle資料庫
- MySQL innodb共享表空間新增表空間資料檔案方法MySql
- 表空間和資料檔案的管理
- oracle 表空間 資料檔案 筆記Oracle筆記
- 資料檔案,表空間的移動
- 表空間資料檔案故障處理
- 線上遷移表空間資料檔案
- Oracle 表空間資料檔案遷移Oracle
- 表空間新增資料檔案的疑惑
- 2.5.9 在資料庫建立期間支援大檔案表空間資料庫
- PostgreSQL:表空間-->資料庫-->表SQL資料庫
- 資料檔案、表空間offline用法及區別
- Sqlserver delete表部分資料釋放資料檔案空間SQLServerdelete
- 達夢資料庫系統表空間資料檔案遷移過程資料庫
- oracle dg庫資料檔案空間不足Oracle
- Oracle案例11——Oracle表空間資料庫檔案收縮Oracle資料庫
- 【問題處理】通過調整資料檔案的位置解決磁碟空間緊張的問題
- ASM時的OFM特性對影的建資料檔名的影響及為SYSTEM表空間的資料檔案使用別名ASM
- Oracle 11g 資料庫恢復-場景8:系統預設undo表空間資料檔案損壞,CLOSE狀態Oracle資料庫
- 資料庫和表空間資料移動資料庫