Oracle數(shù)據(jù)庫數(shù)據(jù)文件位置修改方法

字號:


    數(shù)據(jù)文件就是以dbf結(jié)尾的文件也也就是用來存儲我們數(shù)據(jù)的一個文件了,此文件通常比較大所以我們一般存儲在空間比較大的目錄了,下面一起來看看Oracle數(shù)據(jù)庫數(shù)據(jù)文件位置修改方法
    如何更改Oracle數(shù)據(jù)文件的位置
    A:歸檔模式下
    1.在sqlplus中連接到要移動文件的Oracle數(shù)據(jù)庫,然后執(zhí)行如下SQL語句查看Oracle數(shù)據(jù)庫文件位置:
    SQL>select file_name from sys.dba_data_files;
    FILE_NAME
    --------------------------------------------------------------
    C:ORA8ORADATAORACLEUSERS01.DBF
    C:ORA8ORADATAORACLEDR01.DBF
    C:ORA8ORADATAORACLETOOLS01.DBF
    C:ORA8ORADATAORACLEINDX01.DBF
    C:ORA8ORADATAORACLERBS01.DBF
    C:ORA8ORADATAORACLETEMP01.DBF
    C:ORA8ORADATAORACLESYSTEM01.DBF
    查詢到7記錄. 記錄要移動的文件的位置和名稱。
    2.下面我們以把文件“C:ORA8ORADATAORACLEUSERS01.DBF”移動到“D:ORADATAUSERS01.DBF”為例介紹,要移動其它文件,請安相同的方法(根據(jù)實際情況修改文件路徑和名稱)操作即可。
    <1> 首先讓所有的用戶停止連接該數(shù)據(jù)庫,關(guān)閉數(shù)據(jù)庫。在命令行窗口中輸入:
    C:svrmgrl(回車)
    SVRMGR> connect internal(回車)
    SVRMGR> shutdown immediate(回車)
    #等待數(shù)據(jù)庫提示關(guān)閉
    SVRMGR> exit
    <2> 從“C:ORA8ORADATAORACLE”目錄下找到文件“USERS01.DBF”,然后復(fù)制到目錄“D:ORADATA”下面。如果移動多個文件,重復(fù)該步驟。
    <3> 進(jìn)入命令窗口,按以下內(nèi)容輸入:
    C:svrmgrl(回車)
    SVRMGR> connect internal(回車)
    SVRMGR> startup mount(回車)
    #等待數(shù)據(jù)庫提示裝載成功
    SVRMGR> alter database rename file 'C:ORA8ORADATAORACLEUSERS01.DBF ' to 'D:ORADATAUSERS01.DBF ';
    #提示語句已處理后,如果要移動多個文件,修改文件路徑和名稱后重復(fù)執(zhí)行上面的語句。完成后打開數(shù)據(jù)庫。
    SVRMGR> alter database open;
    SVRMGR> exit
    數(shù)據(jù)庫文件移動成功。
    B:數(shù)據(jù)庫處于非歸檔模式下,可以通過如下步驟更改文件路徑:
    1.關(guān)閉數(shù)據(jù)庫
    2.系統(tǒng)級進(jìn)行文件復(fù)制
    3.啟動數(shù)據(jù)庫到mount狀態(tài)
    3.通過SQL修改數(shù)據(jù)文件位置
    4.打開數(shù)據(jù)庫
    以下是實際操作的步驟示范:
    1.數(shù)據(jù)庫處于非歸檔模式
    SQL> archive log list;
    Database log mode       No Archive Mode
    Automatic archival       Enabled
    Archive destination      /opt/oracle/oradata/conner/archive
    Oldest online log sequence   150
    Current log sequence      153
    2.需要移動test.dbf文件
    SQL> select name from v$datafile;
    NAME
    ------------------------------------------------------------
    /opt/oracle/oradata/conner/system01.dbf
    /opt/oracle/oradata/conner/undotbs01.dbf
    /opt/oracle/oradata/conner/users01.dbf
    /opt/oracle/test.dbf
    3.關(guān)閉數(shù)據(jù)庫
    SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    4.復(fù)制文件到新的位置
    SQL> ! cp /opt/oracle/test.dbf /opt/oracle/oradata/conner/test.dbf
    5.啟動數(shù)據(jù)庫到mount狀態(tài)
    SQL> startup mount;
    ORACLE instance started.
    Total System Global Area 101782828 bytes
    Fixed Size          451884 bytes
    Variable Size       37748736 bytes
    Database Buffers      62914560 bytes
    Redo Buffers         667648 bytes
    Database mounted.
    SQL> select name from v$datafile;
    NAME
    -----------------------------------------------------------
    /opt/oracle/oradata/conner/system01.dbf
    /opt/oracle/oradata/conner/undotbs01.dbf
    /opt/oracle/oradata/conner/users01.dbf
    /opt/oracle/test.dbf
    6.修改文件位置
    SQL> alter database rename file '/opt/oracle/test.dbf' to '/opt/oracle/oradata/conner/test.dbf';
    Database altered.
    SQL> alter database open;
    Database altered.
    SQL> select name from v$datafile;
    NAME
    ----------------------------------------------------------------
    /opt/oracle/oradata/conner/system01.dbf
    /opt/oracle/oradata/conner/undotbs01.dbf
    /opt/oracle/oradata/conner/users01.dbf
    /opt/oracle/oradata/conner/test.dbf