2009年12月8日火曜日

groovyとoracleでテーブル統計をロックする

groovyとoracleでテーブル統計をロックするには、以下のコードを実行します。


import groovy.sql.Sql

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

// テーブル統計のロック
sql.execute("begin dbms_stats.lock_table_stats('SCOTT', 'EMP'); end;")

// 全行走査で統計取得->ロックしているのでエラー
sql.execute("begin dbms_stats.gather_table_stats('SCOTT', 'EMP'); end;")


動作環境
Groovy 1.6.4, JDK6 Update16, Oracle11g R1

関連情報
LOCK_TABLE_STATS Procedure
http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28419/d_stats.htm#i1043993

0 件のコメント:

コメントを投稿