真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

數(shù)據(jù)庫重命名和遷移日志文件、數(shù)據(jù)文件的方法是什么

本篇內(nèi)容介紹了“數(shù)據(jù)庫重命名和遷移日志文件、數(shù)據(jù)文件的方法是什么”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

渾南ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

目的:在某些情況下,數(shù)據(jù)文件或者日志文件必須被重新命名或遷移到新的位置上,然而想要讓這些文件仍然有效,那么就需要為這些文件定義一個物理的名字或者物理位置,例如,在以下情況發(fā)生時,就需要重新命名數(shù)據(jù)文件或者日志文件:

1.出于性能或者維護(hù)原因,需要將一個數(shù)據(jù)庫文件移動到一個不同的磁盤上

2.從備份中恢復(fù)一個數(shù)據(jù)文件,但是這個以前存放數(shù)據(jù)文件的磁盤已經(jīng)崩潰,那么就需要將這個數(shù)據(jù)文件重新分配到一個新的磁盤上

3.在操作系統(tǒng)級別,已經(jīng)移動或者重命名一個數(shù)據(jù)文件,但是在數(shù)據(jù)庫層即數(shù)據(jù)庫內(nèi)卻沒有進(jìn)行重命名,在數(shù)據(jù)庫啟動的過程中得到 ORA-01157 和 ORA-01110 報(bào)錯信息。如果數(shù)據(jù)庫處于打開狀態(tài)下,在操作系統(tǒng)級別重命名了數(shù)據(jù)文件或者移動了數(shù)據(jù)文件到其他的位置,當(dāng)通過normal 或者 immediate 方式關(guān)閉數(shù)據(jù)庫的時候,會得到 ORA-01116 和 ORA-01110 報(bào)錯;

以下將通過三個方面來對本主題進(jìn)行相關(guān)的討論:

I    數(shù)據(jù)庫打開的狀態(tài)下,重命名或者移動數(shù)據(jù)文件

II  數(shù)據(jù)庫關(guān)閉的狀態(tài)下,重命名或者移動數(shù)據(jù)文件

III  重命名或者移動日志文件

【注意】

如果要重命名或者移動的數(shù)據(jù)文件是 SYSTEM 表空間中的文件,那么,必須用第 II 種方法來達(dá)到最終的目的即“數(shù)據(jù)庫關(guān)閉的狀態(tài)下,重命名或者移動數(shù)據(jù)文件”,因?yàn)樵跀?shù)據(jù)庫打開的狀態(tài)下,不能夠讓 SYSTEM 表空間出于 OFFLINE 即離線的狀態(tài);

下面分別來對不同的情景進(jìn)行說明:

I    數(shù)據(jù)庫打開的狀態(tài)下,重命名或者移動數(shù)據(jù)文件

在數(shù)據(jù)庫出于打開的狀態(tài)下,可以對數(shù)據(jù)文件進(jìn)行重新命名或者移動,但是,表空間必須被置于READ-ONLY狀態(tài)。在 READ-ONLY 狀態(tài)下,用戶可以對這個表空間進(jìn)行SELECT操作,但不能對表空間進(jìn)行INSERTS UPDATES 和 DELETES 操作。表空間READ-ONLY狀態(tài)需要的總時間,取決于數(shù)據(jù)文件的大小和將一個數(shù)據(jù)文件從一個位置拷貝到一個新位置的時間消耗

將表空間置于READ-ONLY狀態(tài),凍結(jié)文件頭,從而阻止數(shù)據(jù)文件頭被更新。只有在數(shù)據(jù)文件處于 READ-ONLY狀態(tài)下,才有可能在數(shù)據(jù)庫出于打開的狀態(tài)下,對文件進(jìn)行拷貝。

通過以下的步驟來達(dá)到重命名或者移動數(shù)據(jù)文件的目的,本例中,以 USERS 表空間為數(shù)據(jù)文件所在的表空間:

1. 查看 USERS表空間中有多少數(shù)據(jù)文件

SQL>select file_name, status from dba_data_files where tablespace_name = 'USERS';

FILE_NAME                     STATUS

------------------------------------------------------

/u01/oradata/test/users01.dbf       AVAILABLE

2. 確保,在返回的查詢結(jié)果中,所有數(shù)據(jù)文件的狀態(tài)即STATUS的值都是 AVAILABLE

3. 將 USERS表空間置為 READ ONLY狀態(tài)

altertablespace users read only;

4. 確保 USERS表空間在數(shù)據(jù)字典中已經(jīng)被置于 READ ONLY狀態(tài)

SQL>select tablespace_name, status from dba_tablespaces where tablespace_name ='USERS';

TABLESPACE_NAME        STATUS

---------------------------------------

USERS                 READ ONLY

5. 使用操作系統(tǒng)命令,將數(shù)據(jù)文件拷貝到一個新的位置。當(dāng)數(shù)據(jù)文件被拷貝到一個新的位置之后,需要做的也是最重要的就是要比較兩個數(shù)據(jù)文件的大小是否一致,因?yàn)榭赡茉趶?fù)制的過程中出現(xiàn)數(shù)據(jù)丟失的情況

ORACLE> cp /u01/oradata/test/users01.dbf /jiachunyun/test/users01.dbf

注意哦:同樣,可以利用上面的方法,進(jìn)行數(shù)據(jù)文件的重命名,也改變數(shù)據(jù)文件的位置。(我只改變了位置/jiachunyun/test)

6. 當(dāng)數(shù)據(jù)文件已經(jīng)拷貝到新的位置之后,將USERS表空間置于 OFFLINE狀態(tài)

altertablespace users offline;

7. 當(dāng)表空間被置于 OFFLINE狀態(tài)時,需要做的是在數(shù)據(jù)庫層重新命名數(shù)據(jù)文件到新的位置上,這個操作會更新控制文件中的數(shù)據(jù)文件的位置信息

alter database rename file '/u01/oradata/test/users01.dbf' to '/jiachunyun/test/users01.dbf';

8. 當(dāng)確認(rèn)所有的 rename操作完成之后,將 USERS表空間上線即 ONLINE

alter tablespace users online;

9. 當(dāng)將表空間重新置為 ONLINE狀態(tài),需要將表空間重新置為 READ WRITE即讀寫狀態(tài)

alter tablespace users read write;

10. 檢查表空間的狀態(tài)是否為READ WRITE狀態(tài)

SQL>select tablespace_name, status from dba_tablespaces where tablespace_name ='USERS';

TABLESPACE_NAME        STATUS

---------------------------------------

USERS                 ONLINE

11. 查看修改后的數(shù)據(jù)文件的位置

SQL>select file_name, status from dba_data_files where tablespace_name = 'USERS';

FILE_NAME                     STATUS

------------------------------------------------------

/jiachunyun/test/users01.dbf             AVAILABLE

13. 在操作系統(tǒng)級別,在原來的舊的目錄中,將舊的數(shù)據(jù)文件刪除

ORACLE> rm -rf /u01/oradata/test/users01.dbf

II   數(shù)據(jù)庫關(guān)閉的狀態(tài)下,重命名或者移動數(shù)據(jù)文件

1. 查看 USERS表空間中,數(shù)據(jù)文件的位置

SQL>select file_name,tablespace_name,file_id from dba_data_files wheretablespace_name = 'USERS';

FILE_NAME                     TABLESPACE_NAME         FILE_ID

--------------------------------------------------------------------------- -------

/u01/oradata/users01.dbf             USERS                     4

2. 關(guān)閉數(shù)據(jù)庫

shutdown immediate

3. 在操作系統(tǒng)級別將數(shù)據(jù)文件重命名或者移動到新的位置上,或者移動新的位置上并且重命名

ORACLE> cp /u01/oradata/test/users01.dbf /jiachunyun/test/users01.dbf     等

4. 啟動數(shù)據(jù)庫到 mount狀態(tài)

startup mount;

【說明】:這個操作會讀取控制文件,但是不會將數(shù)據(jù)文件 mount

5. 在數(shù)據(jù)庫內(nèi)重新命名數(shù)據(jù)文件

alter database rename file '/u01/oradata/users01.dbf' to '/jiachunyun/test/users01.dbf';

alter database rename file '/u01/oradata/sysaux01.dbf' to '/jiachunyun/test/sysaux01.dbf';

alter database rename file '/u01/oradata/undotbs01.dbf' to '/jiachunyun/test/undotbs01.dbf';

alter database rename file '/u01/oradata/users01.dbf' to '/jiachunyun/test/users01.dbf';

6. 打開數(shù)據(jù)庫

alter database open;

7. 查詢 v$dbfile視圖,來確認(rèn)修改已經(jīng)成功

SQL>select name from v$datafile ;

NAME
------------------------------------------------

/jiachunyun/test/users01.dbf

/jiachunyun/test/sysaux01.dbf

/jiachunyun/test/undotbs01.dbf

/jiachunyun/test/users01.dbf

/jiachunyun/test/undotb1.dbf

8. 在操作系統(tǒng)級別,將舊的數(shù)據(jù)文件從舊的目錄位置中刪除

ORACLE>rm -rf /u01/oradata/users01.dbf          等

數(shù)據(jù)庫關(guān)閉的狀態(tài)下,重命名或者移動控制文件【注意】最好分3個不同的磁盤 ,以便壞了一塊磁盤

1. 查看 USERS表空間中,控制文件的位置

SQL>select name from v$controlfile;

NAME                   

--------------------------------------------------------------------------- -------

/u01/oradata/control01.ctl

/u01/oradata/control02.ctl     

2 改變第二個控制文件路徑,并且告訴spfile,(文件有幾個寫幾個,02的原/u01/oradata/test,新/jiachunyun/test)

SQL> alter system set control_files='/u01/oradata/test/control01.ctl','/jiachunyun/test/control02.ctl' scope=spfile;

 

2. 關(guān)閉數(shù)據(jù)庫

shutdown immediate

3.在操作系統(tǒng)級別將控制文件重命名或者移動到新的位置上,或者移動新的位置上并且重命名

ORACLE> cp /u01/oradata/test/control01.ctl /jiachunyun/test/control02.ctl             --02路徑一定要對應(yīng)上面的alter路徑

4. 啟動數(shù)據(jù)庫,并驗(yàn)證

SQL>startup

SQL> select name from v$controlfile;

5.添加第三條控制文件03

SQL>alter system set control_file='/u01/oradata/test/control01.ctl','/jiachunyun/test/control02.ctl','/u01/oradata/test/control03.ctl' scope=spfile;

6. 關(guān)閉數(shù)據(jù)庫

shutdown immediate

7.在操作系統(tǒng)級別將控制文件重命名或者移動到新的位置上,

ORACLE> cp /u01/oradata/test/control01.ctl /jiachunyun/test/control03.ctl       

8. 啟動數(shù)據(jù)庫,并驗(yàn)證

SQL>startup

SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
/u01/oradata/test/control01.ctl
/jiachunyun/test/control02.ctl
/u01/oradata/test/control03.ctl

III  重命名或者移動日志文件

1. 關(guān)閉數(shù)據(jù)庫

2. 在操作系統(tǒng)級別,將日志文件重命名或者移動到新的位置上,或者移動新的位置上并且重命名

ORACLE> cp /u01/oradata/test/redo01.log /jiachunyun/test/redo01.log     等

3. 將數(shù)據(jù)庫啟動到 mount狀態(tài)

startup mount

4. 在數(shù)據(jù)庫級別,重命名日志文件

alter database rename file '/u01/oradata/test/redo01.log' to'/jiachunyun/test/redo01.log';     等

5. 打開數(shù)據(jù)庫

alter database open;

6. 在操作系統(tǒng)級別,將舊的數(shù)據(jù)文件從舊的目錄位置中刪除

ORACLE> rm -rf /u01/oradata/test/redo01.log

7.驗(yàn)證

ORACLE>select mane from v$logfile;

“數(shù)據(jù)庫重命名和遷移日志文件、數(shù)據(jù)文件的方法是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


文章標(biāo)題:數(shù)據(jù)庫重命名和遷移日志文件、數(shù)據(jù)文件的方法是什么
文章轉(zhuǎn)載:http://weahome.cn/article/igeidd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部