Oracle表空間數(shù)據(jù)文件移動的方法
實現(xiàn)把用戶表空間中的數(shù)據(jù)文件從某一個路徑移動到另一個路徑
一、針對可offline的非系統(tǒng)表空間
本例移動oracle的案例表空間(EXAMPLE表空間),將其從
D:\ORADATA\ORCL\ 移動到 D:\ORACLE\ORADATA\
1.查看要改變的表空間的數(shù)據(jù)文件信息
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.將目標(biāo)表空間設(shè)置為脫機(jī)狀態(tài)
SQL> alter tablespace EXAMPLE offline;
3.再次查看目標(biāo)表空間的狀態(tài),確保其已經(jīng)是脫機(jī)狀態(tài)
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.將原來的數(shù)據(jù)文件移動(或復(fù)制)到新的路徑
SQL> host move D:\ORADATA\ORCL\EXAMPLE01.DBF D:\ORACLE\ORADATA\
5.修改該表空間的數(shù)據(jù)文件路徑
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.修改該表空間為在線狀態(tài)
SQL> alter tablespace EXAMPLE online;
8.查看該表空間最后結(jié)果
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表空間也適用
二、系統(tǒng)表空間移動
該方法需要數(shù)據(jù)庫處于mount狀態(tài)
1.關(guān)閉運(yùn)行中的數(shù)據(jù)庫
SQL> shutdown immediate
2.啟動數(shù)據(jù)庫到mount狀態(tài)
SQL> startup mount
3.移動系統(tǒng)表空間(SYSTEM表空間)的數(shù)據(jù)文件
SQL> host move D:\ORADATA\ORCL\SYSTEM01.DBF D:\ORACLE\ORADATA\
4.修改該表空間的數(shù)據(jù)文件路徑
SQL> alter database rename file 'D:\ORADATA\ORCL\SYSTEM01.DBF' to 'D:\ORACLE\ORA DATA\SYSTEM01.DBF';
5.啟動數(shù)據(jù)庫,打開實例
SQL> alter database open;
6.查看表空間修改結(jié)果
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表空間也適用。
以上內(nèi)容是小編給大家分享的Oracle表空間數(shù)據(jù)文件移動的方法,希望大家喜歡。
相關(guān)文章
使用JDBC4.0操作Oracle中BLOB類型的數(shù)據(jù)方法
這篇文章主要介紹了使用JDBC4.0操作Oracle中BLOB類型數(shù)據(jù)的方法,我們需要使用ojdbc6.jar包,本文介紹的非常詳細(xì),需要的朋友可以參考下2016-08-08
oracle數(shù)據(jù)庫的DBMS_LOB.SUBSTR函數(shù)使用
DBMS_LOB.SUBSTR用于從Oracle的CLOB/NCLOB等大對象中提取子字符串,參數(shù)包括LOB對象、提取長度和起始位置,下面就一起來了解一下2025-06-06
Oracle中查看正在運(yùn)行的SQL進(jìn)程腳本分享
這篇文章主要介紹了Oracle中查看正在運(yùn)行的SQL進(jìn)程腳本分享,本文使用腳本實現(xiàn)了類似mysql show processlist命令的功能,需要的朋友可以參考下2014-10-10
oracle 11g數(shù)據(jù)庫安全加固注意事項
這篇文章主要介紹了oracle11g數(shù)據(jù)庫安全加固須謹(jǐn)慎 ,需要的朋友可以參考下2015-08-08

