我們知道Oracle裡聯機日志文件(Online redo logfile)循環記錄了數據庫所有的事務(transaction)
它的大小
內容
一
它一般有大小相同的一組文件構成
SVRMGRL> select * from v$logfile;
查看數據庫視圖v$log知道它當前的狀態
SVRMGRL> select * from v$log;
一個時間只有一組logfile group是工作狀態(current)
logfile group
它以特定的格式存放
redo logfile的最大數目是在創建數據庫時指明的
是多少
SVRMGRL>alter database backup controlfile to trace;
這條語句會在$ORACLE_BASE/admin/dbname/udump/路徑下生成當前時間的一個*
的控制文件
二
如果用ORACLE的安裝向導創建的典型數據庫
OLTP應用的
時間最好在
redo logfile最好有多個存儲位置
典型的OLTP應用
到
如果你發現當前數據庫日志文件裡log switch的時間偏大或者偏小
態來改變redo logfile大小的方法
三
假如原來有
第一步: 往數據庫添加三個大的redo logfile
SVRMGRL>ALTER DATABASE ADD LOGFILE GROUP
(
SVRMGRL>ALTER DATABASE ADD LOGFILE GROUP
(
SVRMGRL>ALTER DATABASE ADD LOGFILE GROUP
(
第二步: 手工地做log switch
SVRMGRL>alter system switch logfile;
此操作可以執行一到幾次
第三步: 刪除原來舊的redo logfile
SVRMGRL>alter database drop logfile group
SVRMGRL>alter database drop logfile group
SVRMGRL>alter database drop logfile group
四
log_buffer是ORACLE SGA的一部分
到 了check_point時候通過lgwr後台進程寫到redo logfile裡去
外發生時會丟失很多改變過的數據
我們可以用下面的SQL語句檢測log_buffer使用情況:
SVRMGRL> select rbar
from v$sysstat rbar
where rbar
and re
這個比率小於
Oracle
checkpoint時Oracle把內存裡修改過的數據塊用DBWR寫到物理文件
一般UNIX操作系統的數據塊為
從性能優化來說 log_checkpoint_interval = redo logfile size bytes /
Oracle
Oracle建議不用這個參數來控制
log_checkpoint_timeout =
log_checkpoint_timeout =
From:http://tw.wingwit.com/Article/program/Oracle/201311/17680.html