Decode360's Blog

          業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            302 隨筆 :: 26 文章 :: 82 評論 :: 0 Trackbacks
          ??? 最近在把DATABASE切換到ARCHIVELOG模式之后,發現Oracle默認的是非自動歸檔,即LOG_ARCHIVE_START = FALSE 可能是 因為當前測試的數據庫是手工創建的,所以有些啟動參數和用DBCA創建的不太一致。
          ?
          ??? 另外自己創建的重做日志文件也都比較小,只有3個2M的文件,直接執行一個腳本就把所有重做日志寫滿了,又沒有設置自動歸檔,所以整個系統都hang住了,都在等待日志歸檔,clear了也不行,就只能增加logfile了。
          ?
          ??? alter.log日志信息:
          ?
          ??? Mon Dec 15 14:38:08 2008
          ??? Thread 1 advanced to log sequence 155
          ????? Current log# 2 seq# 155 mem# 0: D:\ORACLE\ORADATA\KAKA\REDO02.LOG
          ??? Thread 1 advanced to log sequence 156
          ????? Current log# 3 seq# 156 mem# 0: D:\ORACLE\ORADATA\KAKA\REDO03.LOG
          ??? Thread 1 cannot allocate new log, sequence 157
          ??? All online logs needed archiving
          ????? Current log# 3 seq# 156 mem# 0: D:\ORACLE\ORADATA\KAKA\REDO03.LOG
          ?
          ?
          ??? LogFile不能像DataFile那樣直接通過alter database datafile ... resize 來重置大小,所以比較麻煩。
          ?
          ??? 在網上查了一下,找到N多年前biti老大給的方法,步驟應該很清楚了,前提是要用ARCHIVELOG模式,否則刪除舊日志后無備份信息。
          ?
          ?
          ?
          方法:加入新的大的日志文件,然后刪掉舊的小的日志文件

          假設現有3個日志組,每個組內有1個成員,每個成員的大小為1MB,現在想把此3個日志組的成員大小都改為10MB

          1、創建2個新的日志組

          alter database add logfile group 4 ('D:\ORACLE\ORADATA\ORADB\REDO04_1.LOG') size 1024k;
          alter database add logfile group 5 ('D:\ORACLE\ORADATA\ORADB\REDO05_1.LOG') size 1024k;

          2、切換當前日志到新的日志組

          alter system switch logfile;
          alter system switch logfile;

          3、刪除舊的日志組

          alter database drop logfile group 1;
          alter database drop logfile group 2;
          alter database drop logfile group 3;

          4、操作系統下刪除原日志組1、2、3中的文件

          5、重建日志組1、2、3

          alter database add logfile group 1 ('D:\ORACLE\ORADATA\ORADB\REDO01_1.LOG') size 10M;
          alter database add logfile group 2 ('D:\ORACLE\ORADATA\ORADB\REDO02_1.LOG') size 10M;
          alter database add logfile group 3 ('D:\ORACLE\ORADATA\ORADB\REDO03_1.LOG') size 10M;

          6、切換日志組

          alter system switch logfile;
          alter system switch logfile;
          alter system switch logfile;

          7、刪除中間過渡用的日志組4、5

          alter database drop logfile group 4;
          alter database drop logfile group 5;

          8、到操作系統下刪除原日志組4、5中的文件


          9、備份當前的最新的控制文件

          SQL> alter database backup controlfile to trace resetlogs;
          ?




          -The End-

          posted on 2008-12-02 22:05 decode360-3 閱讀(2054) 評論(0)  編輯  收藏 所屬分類: Oracle
          主站蜘蛛池模板: 嘉祥县| 武功县| 海淀区| 皮山县| 诸暨市| 苏州市| 磐石市| 虎林市| 睢宁县| 长宁县| 南丰县| 广河县| 东兰县| 阿巴嘎旗| 天气| 新田县| 集贤县| 攀枝花市| 汪清县| 康定县| 博湖县| 山东省| 元谋县| 高清| 仁布县| 抚顺县| 永丰县| 衡山县| 天水市| 山丹县| 色达县| 郓城县| 福州市| 杭锦后旗| 建瓯市| 阿克| 永顺县| 普兰店市| 始兴县| 唐海县| 丰都县|