国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

簡(jiǎn)析REDO LOGFILE

2024-07-21 02:35:38
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  我們知道Oracle里聯(lián)機(jī)日志文件(Online redo logfile)循環(huán)記錄了數(shù)據(jù)庫(kù)所有的事務(wù)(transaction)。
  它的大小、個(gè)數(shù)和存儲(chǔ)位置對(duì)數(shù)據(jù)庫(kù)性能和恢復(fù)也是有重要影響的。本文總結(jié)一下關(guān)于redo logfile的一些
  內(nèi)容。
  
  一、redo logfile的簡(jiǎn)單介紹
  它一般有大小相同的一組文件構(gòu)成。我們可以查看數(shù)據(jù)庫(kù)視圖v$logfile知道它的個(gè)數(shù)和存儲(chǔ)位置。
  
  SVRMGRL> select * from v$logfile;
  
  查看數(shù)據(jù)庫(kù)視圖v$log知道它當(dāng)前的狀態(tài)。
  
  SVRMGRL> select * from v$log;
  
  一個(gè)時(shí)間只有一組logfile group是工作狀態(tài)(current), redo logfile滿了后會(huì)自動(dòng)切換到下一個(gè)
  logfile group, 假如數(shù)據(jù)庫(kù)是歸檔方式同時(shí)寫(xiě)到歸檔日志文件。這些文件不能用常規(guī)的文本編輯器查看,
  它以特定的格式存放, 只有數(shù)據(jù)庫(kù)或者專門(mén)的軟件可以看懂它。
  
  redo logfile的最大數(shù)目是在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)指明的。假如你想知道當(dāng)前數(shù)據(jù)庫(kù)redo logfile的最大數(shù)值
  是多少,重新生成控制文件, 就可以知道。
  
  SVRMGRL>alter database backup controlfile to trace;
  
  這條語(yǔ)句會(huì)在$ORACLE_BASE/admin/dbname/udump/路徑下生成當(dāng)前時(shí)間的一個(gè)*.trc文件, 也就是數(shù)據(jù)庫(kù)
  的控制文件, 用文本編輯器, 即可看到數(shù)據(jù)庫(kù)創(chuàng)建時(shí)用的一些參數(shù), 包括redo logfile的最大數(shù)(maxlogfiles)。
  
  二、 redo logfile的大小和位置對(duì)數(shù)據(jù)庫(kù)性能的影響
  假如用ORACLE的安裝向?qū)?chuàng)建的典型數(shù)據(jù)庫(kù), 它的redo logfile大小為500K, 這基本上是不能滿足典型的
  OLTP應(yīng)用的, 在數(shù)據(jù)庫(kù)日志文件(alert_orasid.log)里會(huì)記錄著頻繁的log switch。ORACLE推薦log switch
  時(shí)間最好在15--30分鐘之間, 所以redo logfile的大小由數(shù)據(jù)庫(kù)DML操作數(shù)據(jù)的大小決定其最佳大小。
  
  redo logfile最好有多個(gè)存儲(chǔ)位置, 多組成員, 使數(shù)據(jù)庫(kù)恢復(fù)時(shí)有更多的選擇。
  
  典型的OLTP應(yīng)用,redo logfile大小可以為16M。當(dāng)然繁忙的數(shù)據(jù)庫(kù), 例如當(dāng)今的門(mén)戶網(wǎng)站, 這個(gè)值可以達(dá)
  到100M以上.
  
  假如你發(fā)現(xiàn)當(dāng)前數(shù)據(jù)庫(kù)日志文件里log switch的時(shí)間偏大或者偏小,不要緊。ORACLE提供了在數(shù)據(jù)庫(kù)聯(lián)機(jī)狀
  態(tài)來(lái)改變r(jià)edo logfile大小的方法。
  
  三、在聯(lián)機(jī)狀態(tài)改變r(jià)edo logfile大小的方法
  假如原來(lái)有3個(gè)小的redo log file, 下面是UNIX環(huán)境下的一個(gè)例子:
  
  第一步: 往數(shù)據(jù)庫(kù)添加三個(gè)大的redo logfile
  
  SVRMGRL>ALTER DATABASE ADD LOGFILE GROUP 4
  ('/opt/oradata/app/redo04.log',
  '/ora_bak/oradata2/redolog/redo04.log') size 16M reuse;
  
  SVRMGRL>ALTER DATABASE ADD LOGFILE GROUP 5
  ('/opt/oradata/app/redo05.log',
  '/ora_bak/oradata2/redolog/redo05.log') size 16M reuse;
  
  SVRMGRL>ALTER DATABASE ADD LOGFILE GROUP 6
  ('/opt/oradata/app/redo06.log',
  '/ora_bak/oradata2/redolog/redo06.log') size 16M reuse;
  
  第二步: 手工地做log switch, 使新建的redo logfile起作用.
  
  SVRMGRL>alter system switch logfile;
  
  此操作可以執(zhí)行一到幾次, 使舊的redo logfile成invalid狀態(tài).
  
  
  第三步: 刪除原來(lái)舊的redo logfile.
  
  SVRMGRL>alter database drop logfile group 1;
  
  SVRMGRL>alter database drop logfile group 2;
  
  SVRMGRL>alter database drop logfile group 3;
  
  
  四、跟redo logfile有關(guān)的其它數(shù)據(jù)庫(kù)參數(shù)
  1、log_buffer
  
  log_buffer是ORACLE SGA的一部分, 所有DML命令修改的數(shù)據(jù)塊先放在log_buffer里, 假如滿了或者
  到 了check_point時(shí)候通過(guò)lgwr后臺(tái)進(jìn)程寫(xiě)到redo logfile里去。
它不能設(shè)得太大,這樣在意
  外發(fā)生時(shí)會(huì)丟失很多改變過(guò)的數(shù)據(jù)。它最好不要大于512K或者128K*CPU個(gè)數(shù)。
  
  我們可以用下面的SQL語(yǔ)句檢測(cè)log_buffer使用情況:
  
  SVRMGRL> select rbar.name,rbar.value,re.name,re.value,(rbar.value*100)/re.value'%' "radio"
  from v$sysstat rbar,v$sysstat re
  where rbar.name='redo buffer allocation retries'
  and re.name='redo entries';
  
  這個(gè)比率小于1%才好,否則增加log_buffer的大小
  
  2、log_checkpoint_interval
  
  Oracle8.1 版本后log_checkpoint_interval指的是兩次checkpoint之間操作系統(tǒng)數(shù)據(jù)塊的個(gè)數(shù)。
  
  checkpoint時(shí)Oracle把內(nèi)存里修改過(guò)的數(shù)據(jù)塊用DBWR寫(xiě)到物理文件,用LGWR寫(xiě)到日志和控制文件。
  
  一般UNIX操作系統(tǒng)的數(shù)據(jù)塊為 512 bytes。
  
  從性能優(yōu)化來(lái)說(shuō) log_checkpoint_interval = redo logfile size bytes / 512 bytes
  
  3、log_checkpoint_timeout
  
  Oracle8.1 版本后log_checkpoint_timeout指的是兩次checkpoint之間時(shí)間秒數(shù)。
  Oracle建議不用這個(gè)參數(shù)來(lái)控制,因?yàn)槭聞?wù)(transaction)大小不是按時(shí)間等量分布的。
  log_checkpoint_timeout = 0
  log_checkpoint_timeout = 900

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 江口县| 二连浩特市| 保靖县| 长治市| 寿宁县| 元氏县| 万荣县| 诸暨市| 怀柔区| 洛南县| 罗甸县| 望都县| 渭源县| 留坝县| 合水县| 额尔古纳市| 乐东| 普安县| 寿宁县| 五河县| 辉南县| 新巴尔虎右旗| 浮梁县| 金昌市| 甘孜县| 扬中市| 阿图什市| 泰宁县| 孟津县| 台南县| 阿拉善左旗| 东至县| 长宁区| 台安县| 镇宁| 嘉祥县| 泸定县| 洛扎县| 武清区| 张北县| 汝城县|