在Linux下使用strace窺視Oracle LGWR進(jìn)程 |
發(fā)布時間: 2012/9/14 16:34:12 |
Linux下的strace可以幫助我們跟蹤一下程序的系統(tǒng)調(diào)用;LGWR是Oracle中的一個重要進(jìn)程,專門負(fù)責(zé)將redo寫入online redo log中。 首先找出LGWR的進(jìn)程號: 1 [Oracle@www.linuxidc.com ~]$ ps -ef | grep $ORACLE_SID | grep lgwr 2 oracle 5140 1 0 Nov09 ? 00:00:12 ora_lgwr_mydb 在一個終端中執(zhí)行命令,我們比較關(guān)心LGWR對文件的打開操作: 在sqlplus中執(zhí)行以下語句,用于添加一組新的online redo log: 2 '/u02/oradata/mydb/redolog/group04/redo05b.log') 3 SIZE 50m; 然后多次切換logfile: 2 alter system switch logfile; 3 alter system switch logfile; 4 alter system switch logfile; 5 alter system switch logfile; 6 alter system switch logfile; 此時 strace 這邊就有輸出了: 02 open("/u02/oradata/mydb/redolog/group04/redo05a.log", O_RDWR|O_SYNC) = 60 03 open("/u02/oradata/mydb/redolog/group04/redo05b.log", O_RDONLY) = 61 04 open("/u02/oradata/mydb/redolog/group04/redo05b.log", O_RDWR|O_SYNC) = 61 05 open("/proc/5164/stat", O_RDONLY) = 62 06 open("/u01/app/admin/mydb/bdump/alert_mydb.log", O_WRONLY|O_CREAT|O_APPEND, 0664) = 8 07 open("/u01/app/admin/mydb/bdump/alert_mydb.log", O_WRONLY|O_CREAT|O_APPEND, 0664) = 8 08 open("/u01/app/admin/mydb/bdump/alert_mydb.log", O_WRONLY|O_CREAT|O_APPEND, 0664) = 8 09 ....... 10 ....... 11 ....... 我們可以看到LGWR對新的一組redo進(jìn)行了打開操作,后面是一堆對 alert文件的打開并寫入操作,可以看到LGWR對online redo log的open操作采用 O_SYNC 標(biāo)志,從google中得知,該標(biāo)志用于繞過文件系統(tǒng)的緩存。 我們可以再看看文件系統(tǒng)的緩存的巨大作用,用dd命令來模擬一下: 02 2048+0 records in 03 2048+0 records out 04 2147483648 bytes (2.1 GB) copied, 11.7151 seconds, 183 MB/s 05 06 real 0m11.763s 07 user 0m0.002s 08 sys 0m5.189s 09 10 real 0m9.671s 11 user 0m0.000s 12 sys 0m0.561s 13 14 15 [ora11g@FWDB ~]$ time dd if=/dev/zero of=/tmp/bigfile.bin bs=1048576 count=2048 oflag=sync; time sync ; 16 2048+0 records in 17 2048+0 records out 18 2147483648 bytes (2.1 GB) copied, 17.3505 seconds, 124 MB/s 19 20 real 0m17.900s 21 user 0m0.002s 22 sys 0m6.546s 23 24 real 0m0.150s 25 user 0m0.000s 26 sys 0m0.003s 可以看到文件系統(tǒng)的緩存表面上大大增加了吞吐能力,但是如果一旦斷電就有可能產(chǎn)生數(shù)據(jù)丟失的情況。
本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |