import groovy.sql.Sql sql = Sql.newInstance( "jdbc:oracle:thin:@localhost:1521:orcl", "system", "manager", "oracle.jdbc.driver.OracleDriver") query = ''' select to_char(current_timestamp, 'yyyy/mm/dd hh24:mi:ss') as ct, vt.name as tablespace_name, vd.name as filename, vfs.phyrds, -- 実行された物理読取り数 vfs.phywrts, -- DBWRに書込みが必要となった回数 vfs.phyblkrd, -- 読み込まれた物理ブロックの数 vfs.phyblkwrt -- ディスクに書き込まれたブロックの数 from v$filestat vfs join v$datafile vd on (vfs.file# = vd.file#) join v$tablespace vt on (vd.ts# = vt.ts#) ''' // ファイル毎のI/Oを表示 println "tablespace_name, filename, phyrds, phywrts, phyblkrd, phyblkwrt" sql.eachRow(query){ println "${it.ct}, ${it.tablespace_name}, ${it.filename}, " + "${it.phyrds}, ${it.phywrts}, " + "${it.phyblkrd}, ${it.phyblkwrt}" }
動作環境
groovy 1.8.4, JDK6 Update29, Oracle11g R2
0 件のコメント:
コメントを投稿