4_1_Oracle邏輯結(jié)構(gòu)篇之重做日志和歸檔日志管理-日志文件增加日志組编矾、重定位熟史、刪除重做日志、清除重做日志

增加日志組

要創(chuàng)建一個新的聯(lián)機重做日志文件組窄俏,請使用下面的SQL 命令:
ALTER DATABASE [database] ADD LOGFILE [GROUP integer] filespec [, [GROUP integer] filespec]...]
可以通過filespec 來指定成員名稱和位置蹂匹。可以選擇每個重做日志文件組的GROUP 參數(shù)值凹蜈。如果省略了該參數(shù)限寞,Oracle 服務器自動生成其值忍啸。
SQL> alter database add logfile group 1 ('/u01/app/oracle/oradata/orcl/redo01a.log', '/u01/app/oracle/oradata/orcl/redo01b.log') size 8m;
增加日志成員
有時,DBA 可能需要為已有重做日志組添新的成員日志文件履植,比如计雌,由于某個磁盤損壞,導致每個重做日志組都丟失了一個成員日志文件玫霎,這時凿滤,需通過手工方式為每重做日志組增加一個新日志成員文件∈可以使用下面的ALTER DATABASE ADD LOGFILE MEMBER
命令向現(xiàn)有的重做日志文件組添加新成員翁脆,命令格式如下:
ALTER DATABASE [database] ADD LOGFILE MEMBER [ 'filename' [REUSE][, 'filename' [REUSE]]...TO {GROUP integer|('filename'[, 'filename']...)}]...
最好使用日志文件成員的絕對路徑名;否則將在數(shù)據(jù)庫服務器缺省目錄下創(chuàng)建該文件鼻种。
如果該文件已經(jīng)存在反番,其大小必須與指定值相同,并且必須指定REUSE 選項叉钥“崭祝可以通過指定一個或多個組內(nèi)成員或者指定組號來識別目標組。

SQL> alter database add logfile member '/u01/app/oracle/oradata/orcl/redo01c.log' to group 1;

日志文件重定位

在重做日志文件創(chuàng)建以后沼侣,有時還需改變它們名稱和位置祖能,假設原來數(shù)據(jù)庫系統(tǒng)中只有一個硬盤歉秫,因此重做日志的所有成員都保存在同一個硬盤中蛾洛,后來又增加一個硬盤,這時可將重做日志組中的一部分成員移動到新的硬盤中雁芙。有兩種方法可實現(xiàn)重定位或重命名重做日
志文件:
1)ALTER DATABASE RENAME FILE 命令轧膘。
2)添加新成員并刪除舊成員。

使用ALTER DATABASE RENAME FILE 命令的步驟如下:

1)關(guān)閉數(shù)據(jù)庫
2)使用操作系統(tǒng)命令COPY 重做日志文件到新位置
3)啟動數(shù)據(jù)庫到mount 狀態(tài)
4)執(zhí)行ALTER DATABASE RENAME FILE 命令
5)打開數(shù)據(jù)庫

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> !mv '/u01/app/oracle/oradata/orcl/redo01.log' '/u01/app/oracle/arch/log/redo01.log'

SQL> startup
ORACLE instance started.

Total System Global Area  368263168 bytes
Fixed Size                  1345016 bytes
Variable Size             255855112 bytes
Database Buffers          104857600 bytes
Redo Buffers                6205440 bytes
Database mounted.
ORA-03113: end-of-file on communication channel
Process ID: 24106
Session ID: 1 Serial number: 5

SQL> exit    
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@ocm ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Mon Jul 24 22:30:09 2017

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup mount
ORACLE instance started.

Total System Global Area  368263168 bytes
Fixed Size                  1345016 bytes
Variable Size             255855112 bytes
Database Buffers          104857600 bytes
Redo Buffers                6205440 bytes
Database mounted.
SQL> alter database rename file '/u01/app/oracle/oradata/orcl/redo01.log' to '/u01/app/oracle/arch/log/redo01.log';

Database altered.

SQL> alter database open ;

Database altered.

刪除重做日志

如果日志組尺寸設置不合理兔甘,需要改日志組尺寸谎碍,但是ORACLE 數(shù)據(jù)庫中,已存在的日志組的尺寸是不能改變的洞焙,這時可通過增加新日志組蟆淀,然后刪除原有的日志組來實現(xiàn)改變?nèi)罩窘M尺寸的目的。如果某個重做日志組不再需要使用澡匪,也可以將整個重做日志組刪除熔任。刪除一個重做日志組時,其中成員日志文件將都被刪除唁情。在刪除重做日志組之前疑苔,應首先考慮如下幾個問題:
? 無論組中有多少成員,一個數(shù)據(jù)庫至少需要使用兩個重做日志組甸鸟,因此惦费,如果在數(shù)據(jù)庫中只包含兩個日志組時兵迅,不能進行刪除日志組的操作。
? 只能刪除處于INACTIVE 狀態(tài)的重做日志組薪贫,如果要刪除CURRENT 狀態(tài)的重做日志組恍箭,必須執(zhí)行一次手工日志切換,將它切換到INACTIVE 狀態(tài)后雷。
? 如果數(shù)據(jù)庫處于歸檔模式下季惯,在刪除重做日志組之前,必須確定它已經(jīng)被歸檔臀突。

SQL> select group#,archived,status from v$log;

    GROUP# ARC STATUS
---------- --- ----------------
         1 YES INACTIVE
         2 YES INACTIVE
         3 NO  CURRENT
         4 YES INACTIVE
         5 YES INACTIVE
         6 YES INACTIVE

6 rows selected.

SQL> alter database drop logfile group 1;

Database altered.

SQL> alter database drop logfile group 2;

Database altered.

SQL> alter database drop logfile group 4;

Database altered.

SQL> alter database drop logfile group 6;

Database altered.

若要增大或者減小聯(lián)機重做日志文件組的大小勉抓,請?zhí)砑有碌穆?lián)機重做日志文件組(具有新的大小)候学,然后刪除原來日志組藕筋。

注意:刪除日志組時并不刪除操作系統(tǒng)文件。

除了需要刪除重做日志組外梳码,更為常見的情況是僅需要刪除重做日志組中的某個成員日志文件隐圾。比如,由于存放日志文件的硬盤發(fā)生物理損壞導致日志成員發(fā)生損壞或丟失時掰茶,該日志成員將無法訪問暇藏,此時需要將它從重做日志組中刪除。如果要刪除一個或多個特定的聯(lián)機重做日志文件

SQL> set linesize 300
SQL> select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER                                                       IS_
---------- ------- ------- ------------------------------------------------------------ ---
         3         ONLINE  /u01/app/oracle/oradata/orcl/redo03.log                      NO
         5         ONLINE  /u01/app/oracle/oradata/orcl/redo05a.log                     NO
         5         ONLINE  /u01/app/oracle/oradata/orcl/redo05b.log                     NO


SQL> alter database drop logfile member '/u01/app/oracle/oradata/orcl/redo05b.log';

Database altered.

刪除日志組成員有如下限制:
? 如果要刪除的日志組只包含一個成員或者只包含一個有效的成員時濒蒋,那么不能刪除該成員盐碱。
? 如果該組是當前組,那么必須先強制執(zhí)行日志文件切換沪伙,然后才能刪除該成員瓮顽。
? 如果數(shù)據(jù)庫正運行在ARCHIVELOG 模式下并且未將該成員所屬日志文件組歸檔,那么無法刪除該成員围橡。

清除重做日志

在數(shù)據(jù)庫運行過程中暖混,聯(lián)機重做日志文件可能會因為某些原因而損壞。如果出現(xiàn)這種情況翁授,數(shù)據(jù)庫最終會由于無法將損壞的重做日志文件歸檔而停止拣播。或者當一個聯(lián)機重做日志文件組中的所有成員都已經(jīng)被破壞時收擦,數(shù)據(jù)庫會因為無法切換到損壞的日志組而停止贮配。如果發(fā)生種情況,可以在不關(guān)閉數(shù)據(jù)庫情況下炬守,手工清空損壞的重做日志文件的內(nèi)容牧嫉,以避免出現(xiàn)
停止運行的情況。
清空重做日志文件就是將重做日志文件中的內(nèi)容全部初始化,相當于刪除該重做日志文件酣藻,然后各方面重建它曹洽。即使數(shù)據(jù)庫只擁有兩個重做日志組,或者要清空的重做日志組是當前日志組辽剧,都可以成功執(zhí)行清空操作送淆。

SQL> select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER                                                       IS_
---------- ------- ------- ------------------------------------------------------------ ---
         3         ONLINE  /u01/app/oracle/oradata/orcl/redo03.log                      NO
         5         ONLINE  /u01/app/oracle/oradata/orcl/redo05a.log                     NO

SQL> select group#,archived,status from v$log;

    GROUP# ARC STATUS
---------- --- ----------------
         3 NO  CURRENT
         5 YES INACTIVE

SQL> alter database clear logfile group 5;

Database altered.

-- 如果日志組5 尚未歸檔,則必須指定UNARCHIVED 子句怕轿。指定UNARCHIVED 子句后偷崩,Oracle 將避免對5 號日志組進行歸檔。

SQL> alter database clear unarchived logfile group 5;

Database altered.

在數(shù)據(jù)庫打開時不能清除當前日志組撞羽,為了清除當前日志組阐斜,可以對日志進行切換或?qū)?shù)據(jù)庫置成MOUNT 狀態(tài)。

SQL> select group#,archived,status from v$log;

    GROUP# ARC STATUS
---------- --- ----------------
         3 NO  CURRENT
         5 YES INACTIVE

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

Total System Global Area  368263168 bytes
Fixed Size                  1345016 bytes
Variable Size             255855112 bytes
Database Buffers          104857600 bytes
Redo Buffers                6205440 bytes
Database mounted.
SQL> alter database clear unarchived logfile group 3;

Database altered.

SQL> alter database open;

Database altered.
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末诀紊,一起剝皮案震驚了整個濱河市谒出,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌邻奠,老刑警劉巖笤喳,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異碌宴,居然都是意外死亡杀狡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進店門贰镣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來呜象,“玉大人,你說我怎么就攤上這事八孝《” “怎么了鸠项?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵干跛,是天一觀的道長。 經(jīng)常有香客問我祟绊,道長楼入,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任牧抽,我火速辦了婚禮嘉熊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘扬舒。我一直安慰自己阐肤,他們只是感情好,可當我...
    茶點故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著孕惜,像睡著了一般愧薛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上衫画,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天毫炉,我揣著相機與錄音,去河邊找鬼削罩。 笑死瞄勾,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的弥激。 我是一名探鬼主播进陡,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼微服!你這毒婦竟也來了四濒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤职辨,失蹤者是張志新(化名)和其女友劉穎盗蟆,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體舒裤,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡喳资,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了腾供。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片仆邓。...
    茶點故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖伴鳖,靈堂內(nèi)的尸體忽然破棺而出节值,到底是詐尸還是另有隱情,我是刑警寧澤榜聂,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布搞疗,位于F島的核電站,受9級特大地震影響须肆,放射性物質(zhì)發(fā)生泄漏匿乃。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一豌汇、第九天 我趴在偏房一處隱蔽的房頂上張望幢炸。 院中可真熱鬧,春花似錦拒贱、人聲如沸宛徊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽闸天。三九已至巷燥,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間号枕,已是汗流浹背缰揪。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留葱淳,地道東北人钝腺。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像赞厕,于是被迫代替她去往敵國和親艳狐。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,573評論 2 353

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