| 餅子天空 |
|
||
| 個人程序Blogs | |||
|
最近遇到這樣的一個問題,Oracle存放表空間文件的盤符 空間不夠了,必須把部分表空間遷移出去, 【轉】http://www.jb51.net/article/77026.htm 實現把用戶表空間中的數據文件從某一個路徑移動到另一個路徑 一、針對可offline的非系統表空間 本例移動oracle的案例表空間(EXAMPLE表空間),將其從 D:\ORADATA\ORCL\ 移動到 D:\ORACLE\ORADATA\ 1.查看要改變的表空間的數據文件信息 SQL> select tablespace_name,file_name,online_status from dba_data_files where tablespace_name='EXAMPLE'; TABLESPACE_NAME FILE_NAME ONLINE_ --------------- ----------------------------------- ------- EXAMPLE D:\ORADATA\ORCL\EXAMPLE01.DBF ONLINE 2.將目標表空間設置為脫機狀態 SQL> alter tablespace EXAMPLE offline; 3.再次查看目標表空間的狀態,確保其已經是脫機狀態 SQL> select tablespace_name,file_name,online_status from dba_data_files where tablespace_name='EXAMPLE'; TABLESPACE_NAME FILE_NAME ONLINE_ --------------- ----------------------------------- ------- EXAMPLE D:\ORACLE\ORADATA\EXAMPLE01.DBF OFFLINE 4.將原來的數據文件移動(或復制)到新的路徑 SQL> host move D:\ORADATA\ORCL\EXAMPLE01.DBF D:\ORACLE\ORADATA\ 5.修改該表空間的數據文件路徑 SQL> alter tablespace EXAMPLE rename datafile 'D:\ORADATA\ORCL\EXAMPLE01.DBF' to 'D:\ORACLE\ORADATA\EXAMPLE01.DBF'; 6.查看該表空間修改后的信息,確保信息無誤 SQL> select tablespace_name,file_name,online_status from dba_data_files where tablespace_name='EXAMPLE'; TABLESPACE_NAME FILE_NAME ONLINE_ --------------- ----------------------------------- ------- EXAMPLE D:\ORACLE\ORADATA\EXAMPLE01.DBF OFFLINE 7.修改該表空間為在線狀態 SQL> alter tablespace EXAMPLE online; 8.查看該表空間最后結果 SQL> select tablespace_name,file_name,online_status from dba_data_files where tablespace_name='EXAMPLE'; TABLESPACE_NAME FILE_NAME ONLINE_ --------------- ----------------------------------- ------- EXAMPLE D:\ORACLE\ORADATA\EXAMPLE01.DBF ONLINE 備注:本方法對SYSAUX、USERS表空間也適用 二、系統表空間移動 該方法需要數據庫處于mount狀態 1.關閉運行中的數據庫 SQL> shutdown immediate 2.啟動數據庫到mount狀態 SQL> startup mount 3.移動系統表空間(SYSTEM表空間)的數據文件 SQL> host move D:\ORADATA\ORCL\SYSTEM01.DBF D:\ORACLE\ORADATA\ 4.修改該表空間的數據文件路徑 SQL> alter database rename file 'D:\ORADATA\ORCL\SYSTEM01.DBF' to 'D:\ORACLE\ORA DATA\SYSTEM01.DBF'; 5.啟動數據庫,打開實例 SQL> alter database open; 6.查看表空間修改結果 SQL> select tablespace_name,file_name,online_status from dba_data_files where ta blespace_name='SYSTEM'; TABLESPACE_NAME FILE_NAME ONLINE_ --------------- ----------------------------------- ------- SYSTEM D:\ORACLE\ORADATA\SYSTEM01.DBF SYSTEM 備注:本方法對UNDOTBS1、TEMP表空間也適用。 以上內容是小編給大家分享的Oracle表空間數據文件移動的方法,希望大家喜歡。 |
![]() |
|
|
博客園
|
|