Oracle移動(dòng)數(shù)據(jù)文件不停機(jī)和停機(jī)兩種方式詳解
11G and before
分為不停機(jī)和停機(jī)兩種方式:
一、不停機(jī)移動(dòng)數(shù)據(jù)文件
完整步驟:
1、確認(rèn)開(kāi)啟歸檔模式
2、offline數(shù)據(jù)文件
3、物理層移動(dòng)數(shù)據(jù)文件(可重命名)
4、邏輯層rename數(shù)據(jù)文件路徑及名稱
5、recover恢復(fù)數(shù)據(jù)文件
6、online數(shù)據(jù)文件
--開(kāi)啟歸檔模式
SQL> archive log list
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination /archivelog
Oldest online log sequence 1
Current log sequence 2
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL>
SQL> startup mount
ORACLE instance started.
Total System Global Area 1603411968 bytes
Fixed Size 2253664 bytes
Variable Size 452988064 bytes
Database Buffers 1140850688 bytes
Redo Buffers 7319552 bytes
Database mounted.
SQL> alter database archivelog;
Database altered.
SQL> alter database open;
Database altered.
--offline數(shù)據(jù)文件
SQL> /
FILE# NAME STATUS
---------- ------------------------------------------------------------ -------
1 /oradata/orcl11g/system01.dbf SYSTEM
2 /oradata/orcl11g/sysaux01.dbf ONLINE
3 /oradata/orcl11g/undotbs01.dbf ONLINE
4 /oradata/orcl11g/users01.dbf ONLINE
5 /oradata/orcl11g/example01.dbf ONLINE
6 /oradata/orcl11g/test01.dbf ONLINE
7 /oradata/ORCL11G/datafile/o1_mf_test_j7jgpq7k_.dbf ONLINE
7 rows selected.
SQL> alter database datafile 7 offline;
Database altered.
--物理層移動(dòng)數(shù)據(jù)文件
SQL> !mv /oradata/ORCL11G/datafile/o1_mf_test_j7jgpq7k_.dbf /oradata/orcl11g/test02.dbf
SQL> !ls /oradata/orcl11g/test02.dbf
/oradata/orcl11g/test02.dbf
--邏輯層rename數(shù)據(jù)文件
SQL> alter database rename file '/oradata/ORCL11G/datafile/o1_mf_test_j7jgpq7k_.dbf' to '/oradata/orcl11g/test02.dbf';
Database altered.
--恢復(fù)數(shù)據(jù)文件
SQL> recover datafile 7;
Media recovery complete.
--online數(shù)據(jù)文件
SQL> alter database datafile 7 online;
Database altered.
SQL> select file#,name,status from v$datafile;
FILE# NAME STATUS
---------- ------------------------------------------------------------ -------
1 /oradata/orcl11g/system01.dbf SYSTEM
2 /oradata/orcl11g/sysaux01.dbf ONLINE
3 /oradata/orcl11g/undotbs01.dbf ONLINE
4 /oradata/orcl11g/users01.dbf ONLINE
5 /oradata/orcl11g/example01.dbf ONLINE
6 /oradata/orcl11g/test01.dbf ONLINE
7 /oradata/orcl11g/test02.dbf ONLINE
7 rows selected.
二、停機(jī)移動(dòng)數(shù)據(jù)文件
完整步驟:
1、關(guān)閉數(shù)據(jù)庫(kù)
2、物理層移動(dòng)數(shù)據(jù)文件(可重命名)
3、開(kāi)啟數(shù)據(jù)庫(kù)到mount
4、邏輯層rename數(shù)據(jù)文件路徑及名稱
5、開(kāi)啟數(shù)據(jù)庫(kù)
--創(chuàng)建一個(gè)TEST表空間,發(fā)現(xiàn)建在了/oradata/ORCL11G/下,希望移動(dòng)到/oradata/orcl11g/下 SQL> create tablespace TEST; Tablespace created. SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- /oradata/orcl11g/system01.dbf /oradata/orcl11g/sysaux01.dbf /oradata/orcl11g/undotbs01.dbf /oradata/orcl11g/users01.dbf /oradata/orcl11g/example01.dbf /oradata/ORCL11G/datafile/o1_mf_test_j7jfm30c_.dbf --嘗試在線移動(dòng)數(shù)據(jù)文件 SQL> alter database rename file '/oradata/ORCL11G/datafile/o1_mf_test_j7jfm30c_.dbf' to '/oradata/orcl11g/test01.dbf'; alter database rename file '/oradata/ORCL11G/datafile/o1_mf_test_j7jfm30c_.dbf' to '/oradata/orcl11g/test01.dbf' * ERROR at line 1: ORA-01511: error in renaming log/data files ORA-01121: cannot rename database file 6 - file is in use or recovery ORA-01110: data file 6: '/oradata/ORCL11G/datafile/o1_mf_test_j7jfm30c_.dbf' --報(bào)錯(cuò)ORA-01121 [oracle@orcl11g:/home/oracle]$ oerr ORA 01121 01121, 00000, "cannot rename database file %s - file is in use or recovery" // *Cause: Attempted to use ALTER DATABASE RENAME to rename a // datafile that is online in an open instance or is being recovered. // *Action: Close database in all instances and end all recovery sessions.
明確無(wú)法在線移動(dòng)數(shù)據(jù)文件,需要關(guān)閉數(shù)據(jù)庫(kù)。
--操作系統(tǒng)層面移動(dòng)數(shù)據(jù)文件,并且重命名 [oracle@orcl11g:/oradata/ORCL11G/datafile]$ ll total 102408 -rw-r----- 1 oracle oinstall 104865792 Apr 15 20:55 o1_mf_test_j7jfm30c_.dbf [oracle@orcl11g:/oradata/ORCL11G/datafile]$ mv o1_mf_test_j7jfm30c_.dbf /oradata/orcl11g/ control01.ctl example01.dbf redo01.log redo02.log redo03.log sysaux01.dbf system01.dbf temp01.dbf undotbs01.dbf users01.dbf [oracle@orcl11g:/oradata/ORCL11G/datafile]$ mv o1_mf_test_j7jfm30c_.dbf /oradata/orcl11g/test01.dbf [oracle@orcl11g:/oradata/ORCL11G/datafile]$ ll /oradata/orcl11g/test01.dbf --開(kāi)啟數(shù)據(jù)庫(kù)到mount SQL> startup mount ORACLE instance started. Total System Global Area 1603411968 bytes Fixed Size 2253664 bytes Variable Size 452988064 bytes Database Buffers 1140850688 bytes Redo Buffers 7319552 bytes Database mounted. --rename數(shù)據(jù)文件名稱 SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- /oradata/orcl11g/system01.dbf /oradata/orcl11g/sysaux01.dbf /oradata/orcl11g/undotbs01.dbf /oradata/orcl11g/users01.dbf /oradata/orcl11g/example01.dbf /oradata/ORCL11G/datafile/o1_mf_test_j7jfm30c_.dbf 6 rows selected. SQL> alter database rename file '/oradata/ORCL11G/datafile/o1_mf_test_j7jfm30c_.dbf' to '/oradata/orcl11g/test01.dbf'; Database altered. SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- /oradata/orcl11g/system01.dbf /oradata/orcl11g/sysaux01.dbf /oradata/orcl11g/undotbs01.dbf /oradata/orcl11g/users01.dbf /oradata/orcl11g/example01.dbf /oradata/orcl11g/test01.dbf 6 rows selected. --開(kāi)啟數(shù)據(jù)庫(kù) SQL> alter database open; Database altered.
12C and later
支持在線移動(dòng)數(shù)據(jù)文件:
可參考:Online Move Datafile in Oracle Database 12c Release 1 (12.1)
語(yǔ)法如下:
ALTER DATABASE MOVE DATAFILE ( 'filename' | 'ASM_filename' | file_number ) [ TO ( 'filename' | 'ASM_filename' ) ] [ REUSE ] [ KEEP ]
以上就是Oracle移動(dòng)數(shù)據(jù)文件不停機(jī)和停機(jī)兩種方式詳解的詳細(xì)內(nèi)容,更多關(guān)于Oracle移動(dòng)數(shù)據(jù)文件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Oracle導(dǎo)入導(dǎo)出數(shù)據(jù)的幾種方式
今天小編就為大家分享一篇關(guān)于Oracle導(dǎo)入導(dǎo)出數(shù)據(jù)的幾種方式,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02
oracle sql語(yǔ)言模糊查詢--通配符like的使用教程詳解
這篇文章主要介紹了oracle sql語(yǔ)言模糊查詢--通配符like的使用教程詳解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2018-04-04
oracle遠(yuǎn)程連接服務(wù)器出現(xiàn) ORA-12170 TNS:連接超時(shí) 解決辦法
oracle遠(yuǎn)程連接服務(wù)器出現(xiàn) ORA-12170 TNS:連接超時(shí) 解決辦法,需要的朋友可以參考一下2013-03-03
Oracle中實(shí)現(xiàn)類似于Mysql中的Field()函數(shù)功能
這篇文章主要詳細(xì)介紹了在Oracle中如何實(shí)現(xiàn)類似于Mysql中的Field()函數(shù)功能,本文主要通過(guò)代碼示例介紹了Oracle中的Decode()函數(shù)和Oracle中的row_number,需要的朋友可以參考下2023-06-06
使用instantclient客戶端連接oracle數(shù)據(jù)庫(kù)
這篇文章介紹了使用instantclient客戶端連接oracle數(shù)據(jù)庫(kù)的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
在oracle 數(shù)據(jù)庫(kù)中查看一個(gè)sql語(yǔ)句的執(zhí)行時(shí)間和SP2-0027錯(cuò)誤
oracle 數(shù)據(jù)庫(kù)中查看一個(gè)sql語(yǔ)句的執(zhí)行時(shí)間和SP2-0027錯(cuò)誤的解決方法2009-10-10
Oracle SQL Developer腳本輸出中文顯示亂碼的解決方法
我們?cè)跍y(cè)試Oracle Select AI(自然語(yǔ)言查詢數(shù)據(jù)庫(kù))時(shí),發(fā)現(xiàn)Run Statement中文顯示正常,而Run Script中文顯示亂碼,所以本文給大家介紹了Oracle SQL Developer腳本輸出中文顯示亂碼的解決方法,需要的朋友可以參考下2024-05-05
Oracle數(shù)據(jù)庫(kù)使用sqlplus時(shí)的連接錯(cuò)誤與方向鍵亂碼解決
這篇文章主要介紹了Oracle數(shù)據(jù)庫(kù)使用sqlplus時(shí)的連接錯(cuò)誤與方向鍵亂碼解決方法,實(shí)例環(huán)境基于Linux操作系統(tǒng),需要的朋友可以參考下2016-01-01

