如何移數據庫文件
2024-07-21 02:36:23
供稿:網友
如何移數據庫文件?
軟件環境:
1、windows 2000+Oracle 8.1.6
2、ORACLE安裝路徑為:C:/ORACLE
實現方法:
有兩種移動數據庫文件的方法:
alter database或alter tablespace,
后者僅用于不包括 SYSTEM 的表空間、回滾段或臨時段的數據文件
前者可用于所有數據文件
alter database方法:
1、創建實驗表空間
SQL> create tablespace test datafile
2 'e:/test.dbf' size 5M
3 default storage (initial 1M next 1M pctincrease 0)
4 /
SQL>
表空間已創建。
e:為硬盤上的一個邏輯分區,現要把test.dbf文件移到d:盤
可使用以下語句查看一下數據文件狀態
SQL> select file_name,file_id,tablespace_name,bytes,status from dba_data_files;
FILE_NAME FILE_ID TABLESPACE_NAME BYTES STATUS
---------------------------------------- ---------- -------------------- ---------- ---------
C:/ORACLE/ORADATA/ORADB/SYSTEM01.DBF 1 SYSTEM 273154048 AVAILABLE
C:/ORACLE/ORADATA/ORADB/RBS01.DBF 2 RBS 73400320 AVAILABLE
C:/ORACLE/ORADATA/ORADB/USERS01.DBF 3 USERS 20971520 AVAILABLE
C:/ORACLE/ORADATA/ORADB/TEMP01.DBF 4 TEMP 20971520 AVAILABLE
C:/ORACLE/ORADATA/ORADB/TOOLS01.DBF 5 TOOLS 10485760 AVAILABLE
C:/ORACLE/ORADATA/ORADB/INDX01.DBF 6 INDX 20971520 AVAILABLE
C:/ORACLE/ORADATA/ORADB/DR01.DBF 7 DRSYS 20971520 AVAILABLE
E:/TEST.ORA 8 TEST 5242880 AVAILABLE
2、使用SERVER MANAGER關閉實例
c:/> svrmgrl
SVRMGR> connect internal
SVRMGR> shutdown;
SVRMGR> exit;
也可以在治理工具中用“服務”工具來關閉OracleServiceORCL,
不用關閉OracleOraHome81TNSListener
3、使用操作系統命令來移動數據庫文件位置(不關閉,移動不了文件)
c:/>move e:/test.dbf d:/test.dbf
或在資源治理器中用鼠標“剪切”“粘貼”來完成
4、裝載數據庫并用alter database命令來改變數據庫中的文件名
也可以在治理工具中用“服務”工具來啟動OracleServiceORCL
不過,這時,表面上看OracleServiceORCL服務是啟動了,但數據庫并沒有打開,
顯示
ERROR:
ORA-01033: ORACLE initialization or shutdown in PRogress
這時,也可用internal/oracle連入SQL*Plus
SVRMGR> connect internal
SVRMGR> shartup mount ORCL;
SVRMGR> alter database rename file
> 'e:/test.dbf' to
> 'd:/test.dbf';
注重:一定要加單引號'
完成這個步驟后,保留數據庫日志,并執行步驟5
5、啟動實例
SVRMGR> connect internal
SVRMGR> alter database open;
這時,數據庫真正打開,可以執行各種操作
6、查看一下數據文件狀態
SQL> select file_name,file_id,tablespace_name,bytes,status from dba_data_files;
FILE_NAME FILE_ID TABLESPACE_NAME BYTES STATUS
---------------------------------------- ---------- -------------------- ---------- ---------
C:/ORACLE/ORADATA/ORADB/SYSTEM01.DBF 1 SYSTEM 273154048 AVAILABLE
C:/ORACLE/ORADATA/ORADB/RBS01.DBF 2 RBS 73400320 AVAILABLE
C:/ORACLE/ORADATA/ORADB/USERS01.DBF 3 USERS 20971520 AVAILABLE
C:/ORACLE/ORADATA/ORADB/TEMP01.DBF 4 TEMP 20971520 AVAILABLE
C:/ORACLE/ORADATA/ORADB/TOOLS01.DBF 5 TOOLS 10485760 AVAILABLE
C:/ORACLE/ORADATA/ORADB/INDX01.DBF 6 INDX 20971520 AVAILABLE
C:/ORACLE/ORADATA/ORADB/DR01.DBF 7 DRSYS 20971520 AVAILABLE
D:/TEST.ORA 8 TEST 5242880 AVAILABLE