資料庫建庫的時候指定資料檔案多出來一個子目錄htdisdb

現在要做的操作是讓oracle 認出移動資料檔案,

1)確認當前的模式,並且把關閉歸檔模式

 

  1. SQL> archive log list;  檢視歸檔模式是否開啟
  2. Database log mode              Archive Mode 
  3. Automatic archival             Enabled 
  4. Archive destination            /oradata/htdisdbarc2 
  5. Oldest online log sequence     37 
  6. Next log sequence to archive   39 
  7. Current log sequence           39 

關閉歸檔模式

 

  1. SQL> startup nomount; 
  2. ORACLE instance started. 
  3.  
  4. Total System Global Area 1610612736 bytes 
  5. Fixed Size                  2084296 bytes 
  6. Variable Size             385876536 bytes 
  7. Database Buffers         1207959552 bytes 
  8. Redo Buffers               14692352 bytes 
  9. SQL> alter database mount; 
  10.  
  11. Database altered. 
  12.  
  13. SQL> alter database noarchivelog 
  14.   2  ; 
  15.  
  16. Database altered. 
  17.  
  18. SQL> alter database open
  19.  
  20. Database altered. 

2)檢視資料檔案位置

  1. SQL> select name from v$datafile; 
  2.  
  3. NAME 
  4. --------------------------------------------------- 
  5. /oradata/htdisdb/htdisdb/system01.dbf 
  6. /oradata/htdisdb/htdisdb/undotbs01.dbf 
  7. /oradata/htdisdb/htdisdb/sysaux01.dbf 
  8. /oradata/htdisdb/htdisdb/users01.dbf 

3)移動資料檔案到目標資料夾

  1. [oracle@htdtest htdisdb]$ mv *.dbf ../ 

4)重啟資料庫到mount狀態

 

  1. SQL> startup nomount; 
  2. SQL> alter database mount; 

5)重新命名資料檔案

 

  1. SQL> alter database rename file `/oradata/htdisdb/htdisdb/sysaux01.dbf` to `/oradata/htdisdb/sysaux01.dbf`
  2.  
  3. Database altered. 
  4.  
  5. SQL> alter database rename file `/oradata/htdisdb/htdisdb/undotbs01.dbf` to `/oradata/htdisdb/undotbs01.dbf`
  6.  
  7. Database altered. 
  8.  
  9. SQL> alter database rename file `/oradata/htdisdb/htdisdb/users01.dbf` to `/oradata/htdisdb/users01.dbf`
  10.  
  11. Database altered. 
  12.  
  13. SQL> alter database rename file `/oradata/htdisdb/htdisdb/temp01.dbf` to `/oradata/htdisdb/temp01.dbf`
  14.  
  15. Database altered. 
  16.  
  17. SQL>  

6)重新命名重做日誌檔案

  1. alter database rename file `/oradata/htdisdb/htdisdb/redo01.log` to `/oradata/htdisdb/redo01.log`
  2. alter database rename file `/oradata/htdisdb/htdisdb/redo02.log` to `/oradata/htdisdb/redo02.log`
  3. alter database rename file `/oradata/htdisdb/htdisdb/redo03.log` to `/oradata/htdisdb/redo03.log`

7)更改資料庫到open狀態,重新查詢資料檔案位置

 

  1. SQL> alter database open
  2.  
  3. Database altered. 
  4.  
  5. SQL> select name from v$datafile; 
  6.  
  7. NAME 
  8. -------------------------------------------------------------------------------- 
  9. /oradata/htdisdb/system01.dbf 
  10. /oradata/htdisdb/undotbs01.dbf 
  11. /oradata/htdisdb/sysaux01.dbf 
  12. /oradata/htdisdb/users01.dbf 
  13. /oradata/htdisdb/isaccdb.dbf 
  14. /oradata/htdisdb/isposdb.dbf 
  15. /oradata/htdisdb/ismngdb.dbf 
  16. /oradata/htdisdb/isstldb.dbf 
  17. /oradata/htdisdb/istxndb.dbf 
  18. /oradata/htdisdb/isacqdb.dbf 
  19.  
  20. 10 rows selected.