色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

細化解析:Oracle Online Redo LogFile

瀏覽:102日期:2023-11-26 16:55:37
我們知道Oracle里聯機日志文件(Onlineredologfile)循環記錄了數據庫所有的事務(transaction)。它的大小、個數和存儲位置對數據庫性能和恢復也是有重要影響的。一、redologfile的簡單介紹它一般有大小相同的一組文件構成。我們可以查看數據庫視圖v$logfile知道它的個數和存儲位置。 SVRMGRL>select*fromv$logfile;查看數據庫視圖v$log知道它當前的狀態。SVRMGRL>select*fromv$log;一個時間只有一組logfilegroup是工作狀態(current),redologfile滿了后會自動切換到下一個logfilegroup,假如數據庫是歸檔方式同時寫到歸檔日志文件。這些文件不能用常規的文本編輯器查看,它以特定的格式存放,只有數據庫或者專門的軟件可以看懂它。 redologfile的最大數目是在創建數據庫時指明的。假如你想知道當前數據庫redologfile的最大數值是多少,重新生成控制文件,就可以知道。SVRMGRL>alterdatabasebackupcontrolfiletotrace;這條語句會在$ORACLE_BASE/admin/dbname/udump/路徑下生成當前時間的一個*.trc文件,也就是數據庫的控制文件,用文本編輯器,即可看到數據庫創建時用的一些參數,包括redologfile的最大數(maxlogfiles),每組最大的成員個數(maxlogmembers)。二、redologfile的大小和位置對數據庫性能的影響假如用ORACLE的安裝向導創建的典型數據庫,它的redologfile大小為500K,這基本上是不能滿足典型的OLTP應用的,在數據庫日志文件(alert_orasid.log)里會記錄著頻繁的logswitch。ORACLE推薦logswitch時間最好在15--30分鐘之間,所以redologfile的大小由數據庫DML操作數據量的大小決定其最佳大小。redologfile最好有多個分布在不同硬盤的存儲位置,多組成員,使數據庫恢復時有更多的選擇。典型的OLTP應用,redologfile大小可以為16M。當然繁忙的數據庫,例如當今的門戶網站,這個值可以達到100M以上.假如你發現當前數據庫日志文件里logswitch的時間偏大或者偏小,不要緊。ORACLE提供了在數據庫聯機狀態來改變redologfile大小的方法。三、在聯機狀態改變redologfile大小的方法 假如原來數據庫有3個小的redologfile,下面是UNIX環境下的一個例子: 第一步:往數據庫添加三個大的redologfileSVRMGRL>ALTERDATABASEADDLOGFILEGROUP4('/opt/oradata/app/redo04.log','/ora_bak/oradata2/redolog/redo04.log')size16Mreuse;SVRMGRL>ALTERDATABASEADDLOGFILEGROUP5('/opt/oradata/app/redo05.log','/ora_bak/oradata2/redolog/redo05.log')size16Mreuse;SVRMGRL>ALTERDATABASEADDLOGFILEGROUP6('/opt/oradata/app/redo06.log','/ora_bak/oradata2/redolog/redo06.log')size16Mreuse;第二步:手工地做logswitch,使新建的redologfile起作用. SVRMGRL>altersystemswitchlogfile; 此操作可以執行一到幾次,使舊的redologfile成invalid狀態。第三步:刪除原來舊的redologfile.SVRMGRL>alterdatabasedroplogfilegroup1;SVRMGRL>alterdatabasedroplogfilegroup2;SVRMGRL>alterdatabasedroplogfilegroup3;四、跟redologfile有關的其它數據庫參數1、log_buffer log_buffer是ORACLESGA的一部分,所有DML命令修改的數據塊先放在log_buffer里,假如滿了或者到了check_point時候通過lgwr后臺進程寫到redologfile里去。它不能設得太大,這樣在意外發生時會丟失很多改變過的數據。它最好不要大于512K或者128K*CPU個數。 我們可以用下面的SQL語句檢測log_buffer使用情況:SVRMGRL> selectrbar.name,rbar.value,re.name,re.value,(rbar.value*100)/re.value'%''radio'fromv$sysstatrbar,v$sysstatrewhererbar.name='redobufferallocationretries'andre.name='redoentries';這個比率小于1%才好,否則增加log_buffer的大小2、log_checkpoint_interval Oracle8.1版本后log_checkpoint_interval指的是兩次checkpoint之間操作系統數據塊的個數。checkpoint時Oracle把內存里修改過的數據塊用DBWR寫到物理文件,用LGWR寫到日志和控制文件。 一般UNIX操作系統的數據塊為512bytes。從性能優化來說log_checkpoint_interval=redologfilesizebytes/512bytes 3、log_checkpoint_timeout Oracle8.1版本后log_checkpoint_timeout指的是兩次checkpoint之間時間秒數。Oracle建議不用這個參數來控制,因為事務(transaction)大小不是按時間等量分布的。用log_checkpoint_interval參數控制會好一些。禁用此參數或者按默認的900。log_checkpoint_timeout=0
標簽: Oracle 數據庫
主站蜘蛛池模板: 97婷婷狠狠成人免费视频 | 欧美成人全部视频 | 国产精品久久久久久久午夜片 | 国产精品v在线播放观看 | 萌白酱粉嫩jk福利视频在线观看 | 久久久久久久久久久视频国内精品视频 | 成人在线播放 | 黄色美女视频 | 99精品网| 爽死你个放荡粗暴小淫货双女视频 | 亚洲国产日韩欧美在线 | 97人摸人人澡人人人超一碰 | 日韩欧美在线观看视频 | 大学生久久香蕉国产线观看 | 97视频免费公开成人福利 | 亚洲日韩视频免费观看 | 欧美一级二级三级 | 多人伦精品一区二区三区视频 | 日本一区二区不卡久久入口 | 日本草草影院 | 男人天堂网址 | 亚洲欧美一区二区三区在线 | 国产精品免费一级在线观看 | 国内一区二区 | 福利三区 | 久久久久琪琪精品色 | 天天躁夜夜躁狠狠躁2024 | 夜色精品国产一区二区 | 一级毛片一片毛 | cao美女视频网站在线观看 | 欧美日韩一区二区三区视频播 | 久久er热这里只有精品23 | 免费在线一级片 | 欧美一级毛片一级 | 性生i活一级一片 | 欧美一级性 | 日韩国产欧美一区二区三区 | 大桥未久在线精品视频在线 | 欧美日本国产 | 欧美巨大精品videos | 日本a级毛片视频播放 |