Oracle重命名和重定位數(shù)據(jù)文件

Oracle version:11.2.0.4

目錄:
一、單個數(shù)據(jù)文件重命名和重定位
二笑撞、單個表空間中重命名和重定位數(shù)據(jù)文件
三棒仍、多個表空間中重命名和重定位數(shù)據(jù)文件
四、12c新特性
五蝎困、參考文檔

一、單個數(shù)據(jù)文件重命名和重定位

此方法只適用在可以置為offline的數(shù)據(jù)文件倍啥,不適用于 SYSTEM禾乘,默認臨時表空間文件,活動的undo表空間文件虽缕。且數(shù)據(jù)庫必須打開歸檔J寂骸!氮趋!

步驟如下:

  1. 數(shù)據(jù)庫開啟的情況下伍派,將數(shù)據(jù)文件置為 offline
    此操作會阻止該數(shù)據(jù)文件的讀寫操作,生產(chǎn)環(huán)境請在業(yè)務低峰期且確保溝通OK的情況下執(zhí)行剩胁。
ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf' OFFLINE ;

2.在操作系統(tǒng)上重命名和重定位數(shù)據(jù)文件
將 u01 下的數(shù)據(jù)文件 users01.dbf 移動到 u02 目錄下且重命名為 users001.dbf

mv /u01/app/oracle/oradata/orcl/users01.dbf  /u02/app/oracle/oradata/orcl/users001.dbf

3.使用 ALTER DATABASE ... RENAME FILE ... 改變數(shù)據(jù)庫中的文件名诉植。
執(zhí)行時必須提供完整的文件路徑名,源文件名可以從DBA_DATA_FILES視圖獲取昵观。

ALTER DATABASE RENAME FILE '/u01/app/oracle/oradata/orcl/users01.dbf' TO '/u02/app/oracle/oradata/orcl/users001.dbf' ;

查看數(shù)據(jù)文件狀態(tài):

FILE_NAME                                                            ONLINE_STATUS
-------------------------------------------------------------------- -------------
/u01/app/oracle/oradata/orcl/system01.dbf                            SYSTEM
/u01/app/oracle/oradata/orcl/sysaux01.dbf                            ONLINE
/u01/app/oracle/oradata/orcl/undotbs01.dbf                           ONLINE
/u02/app/oracle/oradata/orcl/users001.dbf                            RECOVER

4.讓數(shù)據(jù)文件online之前需要對文件進行recover晾腔,再執(zhí)行online

SQL> RECOVER  DATAFILE '/u02/app/oracle/oradata/orcl/users001.dbf';
Media recovery complete.
SQL> ALTER DATABASE DATAFILE '/u02/app/oracle/oradata/orcl/users001.dbf' ONLINE ;
Database altered.

5.完成后立即執(zhí)行一次完整數(shù)據(jù)庫備份,完畢啊犬!

二灼擂、單個表空間中重命名和重定位數(shù)據(jù)文件

此方法只適用在可以置為offline的表空間,不適用于 SYSTEM觉至,默認臨時表空間剔应,活動的undo表空間。
如果很多個數(shù)據(jù)文件均在同一個表空間下,則可以通過將此表空間置為offline來重命名和重定位數(shù)據(jù)文件峻贮。

步驟如下:

  1. 數(shù)據(jù)庫開啟的情況下席怪,將數(shù)據(jù)文件所在表空間置為 offline
    此操作會阻止該表空間下數(shù)據(jù)文件的讀寫操作,生產(chǎn)環(huán)境請在業(yè)務低峰期且確保溝通OK的情況下執(zhí)行月洛。
ALTER TABLESPACE users OFFLINE NORMAL;

2.在操作系統(tǒng)上重命名和重定位數(shù)據(jù)文件
將 u01 下的數(shù)據(jù)文件 users01.dbf 移動到 u02 目錄下且重命名為 users001.dbf
將 u01 下的數(shù)據(jù)文件 users02.dbf 移動到 u02 目錄下且重命名為 users002.dbf

mv /u01/app/oracle/oradata/orcl/users01.dbf  /u02/app/oracle/oradata/orcl/users001.dbf
mv /u01/app/oracle/oradata/orcl/users02.dbf  /u02/app/oracle/oradata/orcl/users002.dbf

3.使用 ALTER TABLESPACE ... RENAME DATAFILE ... 改變數(shù)據(jù)庫中的文件名何恶。
執(zhí)行時必須提供完整的文件路徑名,源文件名可以從DBA_DATA_FILES視圖獲取嚼黔。

ALTER TABLESPACE users
    RENAME DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf',
                    '/u01/app/oracle/oradata/orcl/users02.dbf'
                 TO '/u02/app/oracle/oradata/orcl/users001.dbf', 
                    '/u02/app/oracle/oradata/orcl/users002.dbf';

4.完成后立即執(zhí)行一次完整數(shù)據(jù)庫備份
表空間offline狀態(tài)下也是可以通過RMAN進行備份的细层。

5.此方法不需要進行recover,可直接將表空間置為 online唬涧,完畢疫赎!

ALTER TABLESPACE users ONLINE;
三、多個表空間中重命名和重定位數(shù)據(jù)文件

如果數(shù)據(jù)文件在多個表空間下碎节,則有下面三種方式處理:
①需要將所有數(shù)據(jù)文件置為offline捧搞;
②將數(shù)據(jù)文件對應的表空間置為offline;
③直接將數(shù)據(jù)庫置為mount狀態(tài)狮荔。

①和②已經(jīng)在前面有討論胎撇,下面直接看③,③的動作影響很大殖氏,需要重啟數(shù)據(jù)庫實例晚树,慎重!

SYSTEM雅采,默認臨時表空間文件爵憎,活動的undo表空間文件均可以通過此方式修改。

步驟如下:
1.關閉數(shù)據(jù)庫

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

2.在操作系統(tǒng)上重命名和重定位數(shù)據(jù)文件

mv /u01/app/oracle/oradata/orcl/lzh01.dbf  /u02/app/oracle/oradata/orcl/lzh001.dbf
mv /u01/app/oracle/oradata/orcl/users01.dbf  /u02/app/oracle/oradata/orcl/users001.dbf

3.啟動數(shù)據(jù)庫至mount

SQL> startup mount
ORACLE instance started.

Total System Global Area  805303360 bytes
Fixed Size          8901696 bytes
Variable Size         650117120 bytes
Database Buffers      138412032 bytes
Redo Buffers            7872512 bytes
Database mounted.

4.使用 ALTER DATABASE ... RENAME FILE ... 改變數(shù)據(jù)庫中的文件名婚瓜。
執(zhí)行時必須提供完整的文件路徑名宝鼓,源文件名可以從DBA_DATA_FILES視圖獲取。

SQL> ALTER DATABASE RENAME FILE '/u01/app/oracle/oradata/orcl/lzh01.dbf' TO '/u02/app/oracle/oradata/orcl/lzh001.dbf' ;

Database altered.

SQL> ALTER DATABASE RENAME FILE '/u01/app/oracle/oradata/orcl/users01.dbf' TO '/u02/app/oracle/oradata/orcl/users001.dbf' ;

Database altered.

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

SQL> alter database open ;

Database altered.

6.完成后立即執(zhí)行一次完整數(shù)據(jù)庫備份巴刻。完畢愚铡!

四、12c新特性

前面的三種方法本質(zhì)上都是需要將數(shù)據(jù)文件置為offline再進行修改胡陪,12c引入新特性茂附,可以直接重命名和重定位online數(shù)據(jù)文件,一條命令搞定督弓,非常方便。

示例:
1.將 u01 下的數(shù)據(jù)文件 users01.dbf 移動到 u02 目錄下且重命名為 users001.dbf乒验。
此操作相當于move愚隧,u01下文件users01.dbf 會刪除。
如果u02下已經(jīng)存在 users001.dbf ,此操作會報錯狂塘。

SQL> ALTER DATABASE MOVE DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf' 
  TO '/u01/app/oracle/oradata/orcl/users001.dbf';

Database altered.

SQL> ALTER DATABASE MOVE DATAFILE '/u01/app/oracle/oradata/orcl/lzh02.dbf' TO '/u01/app/oracle/oradata/orcl/lzh002.dbf' ;
ALTER DATABASE MOVE DATAFILE '/u01/app/oracle/oradata/orcl/lzh02.dbf' TO '/u01/app/oracle/oradata/orcl/lzh002.dbf'
*
ERROR at line 1:
ORA-01119: error in creating database file
'/u01/app/oracle/oradata/orcl/lzh002.dbf'
ORA-27038: created file already exists
Additional information: 1

2.可以通過參數(shù) REUSE 覆蓋上面文件已經(jīng)存在的報錯录煤。

SQL> ALTER DATABASE MOVE DATAFILE '/u01/app/oracle/oradata/orcl/lzh02.dbf' TO '/u01/app/oracle/oradata/orcl/lzh002.dbf'  REUSE ;

Database altered.

3.可以通過參數(shù) KEEP 讓源文件不被刪除,相當于 copy

SQL> ALTER DATABASE MOVE DATAFILE '/u01/app/oracle/oradata/orcl/lzh02.dbf' TO '/u01/app/oracle/oradata/orcl/lzh002.dbf'  KEEP ;

Database altered.

4.可以將本地文件Relocate到ASM磁盤組

ALTER DATABASE MOVE DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf' 
  TO '+DATA01/data/orcl/datafile/users01.dbf';

5.完成后立即執(zhí)行一次完整數(shù)據(jù)庫備份荞胡。完畢妈踊!

注意事項:
1.如果指定的數(shù)據(jù)文件處于脫機狀態(tài),ALTER DATABASE MOVE DATAFILE 語句將會報錯泪漂。
2.如果使用備用數(shù)據(jù)庫廊营,則可以在主數(shù)據(jù)庫和備用數(shù)據(jù)庫(物理或邏輯)上獨立執(zhí)行移動online數(shù)據(jù)文件操作。當數(shù)據(jù)文件在主服務器上移動時萝勤,備用服務器不受影響露筒,反之亦然。
3.閃回操作不會將移動的數(shù)據(jù)文件重新定位到其以前的位置敌卓。如果你將一個數(shù)據(jù)文件從一個位置移動到另一個位置慎式,然后將數(shù)據(jù)庫閃回到移動之前的某個時間點,那么數(shù)據(jù)文件將保留在新位置趟径,但是數(shù)據(jù)文件的內(nèi)容將在閃回中指定的時間更改為內(nèi)容瘪吏。
4.在 Windows 平臺上重新定位數(shù)據(jù)文件時,原始數(shù)據(jù)文件可能會保留在舊位置蜗巧,即使省略了 KEEP 選項掌眠。在這種情況下,數(shù)據(jù)庫只有在語句成功完成時才使用新位置中的數(shù)據(jù)文件惧蛹。如果需要扇救,可以在操作完成后手動刪除舊數(shù)據(jù)文件。

五香嗓、參考文檔

11g官方文檔:https://docs.oracle.com/cd/E11882_01/server.112/e25494/dfiles.htm#ADMIN11430

12.1官方文檔:
https://docs.oracle.com/database/121/ADMIN/dfiles.htm#ADMIN11430

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末迅腔,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子靠娱,更是在濱河造成了極大的恐慌沧烈,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件像云,死亡現(xiàn)場離奇詭異锌雀,居然都是意外死亡,警方通過查閱死者的電腦和手機迅诬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門腋逆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人侈贷,你說我怎么就攤上這事惩歉。” “怎么了?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵撑蚌,是天一觀的道長上遥。 經(jīng)常有香客問我,道長争涌,這世上最難降的妖魔是什么粉楚? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮亮垫,結(jié)果婚禮上模软,老公的妹妹穿的比我還像新娘。我一直安慰自己包警,他們只是感情好撵摆,可當我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著害晦,像睡著了一般特铝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上壹瘟,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天鲫剿,我揣著相機與錄音,去河邊找鬼稻轨。 笑死灵莲,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的殴俱。 我是一名探鬼主播政冻,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼线欲!你這毒婦竟也來了明场?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤李丰,失蹤者是張志新(化名)和其女友劉穎苦锨,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體趴泌,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡舟舒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了嗜憔。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片秃励。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖吉捶,靈堂內(nèi)的尸體忽然破棺而出莺治,到底是詐尸還是另有隱情廓鞠,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布谣旁,位于F島的核電站,受9級特大地震影響滋早,放射性物質(zhì)發(fā)生泄漏榄审。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一杆麸、第九天 我趴在偏房一處隱蔽的房頂上張望搁进。 院中可真熱鬧,春花似錦昔头、人聲如沸饼问。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽莱革。三九已至,卻和暖如春讹开,著一層夾襖步出監(jiān)牢的瞬間盅视,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工旦万, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留闹击,地道東北人。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓成艘,卻偏偏與公主長得像赏半,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子淆两,可洞房花燭夜當晚...
    茶點故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內(nèi)容