2012年1月7日土曜日

groovyとoracleで指定された表領域のデータファイルを一覧表示する

groovyとoracleで指定された表領域のデータファイルを一覧表示するには、以下のコードを実行します。
import groovy.sql.Sql

sql = Sql.newInstance(
 "jdbc:oracle:thin:@localhost:1521:orcl",
  "system",
  "manager",
  "oracle.jdbc.driver.OracleDriver")

tablespace = 'TEST'
query = """
select
 file_id,
 file_name,
 bytes,  -- ファイルの最大サイズ(バイト)
 user_bytes,  -- ユーザーのデータに利用できるファイル・サイズ
 maxbytes  -- ファイルの最大サイズ。0ならAUTOEXTEND OFF
from
 dba_data_files
where
 tablespace_name = ${tablespace}
order by file_id
"""
// 指定された表領域のデータファイルを一覧表示
println "file_id, file_name, bytes(Mbytes), " +
 "user_bytes(MBytes), maxbytes(MBytes)"
sql.eachRow(query){
 println "${it.file_id}, ${it.file_name}, " +
   "${it.bytes/1024/1024}, ${it.user_bytes/1024/1024}, " +
   "${it.maxbytes/1024/1024}"
}

動作環境
groovy 1.8.4, JDK6 Update29, Oracle11g R2

0 件のコメント:

コメントを投稿