2009年11月30日月曜日

groovyとPostgreSQLでWALバッファのブロックサイズとWALバッファのサイズを取得する

groovyとPostgreSQLでWALバッファのブロックサイズとWALバッファのサイズを取得するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:postgresql://localhost:5432/postgres",
"postgres",
"postgres",
"org.postgresql.Driver")

query = """
select * from pg_settings where name in ('wal_block_size', 'wal_buffers')
"""
// WALバッファのブロックサイズとWALバッファのサイズ
sql.eachRow(query){
// パラメータ名
println "name:${it.name}"
// 現在の設定値
println "setting:${it.setting}"
// 単位
println "unit:${it.unit}"
// 最小値
println "min_val:${it.min_val}"
// 最大値
println "max_val:${it.max_val}"
println "----"
}


動作環境
Groovy 1.6.3, JDK6 Update16, Postgres 8.4.0,
8.4-701JDBC4

関連情報
pg_settings
http://www.postgresql.org/docs/8.4/interactive/view-pg-settings.html

2009年11月29日日曜日

groovyとPostgreSQLで共有バッファのサイズを取得する

groovyとPostgreSQLで共有バッファのサイズを取得するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:postgresql://localhost:5432/postgres",
"postgres",
"postgres",
"org.postgresql.Driver")

query = """
select * from pg_settings where name = 'shared_buffers'
"""
// 共有バッファのサイズ取得
sql.eachRow(query){
// 現在の設定値
println "setting:${it.setting}"
// 単位
println "unit:${it.unit}"
// 最小値
println "min_val:${it.min_val}"
// 最大値
println "max_val:${it.max_val}"
println "----"
}


動作環境
Groovy 1.6.3, JDK6 Update16, Postgres 8.4.0,
8.4-701JDBC4

関連情報
pg_settings
http://www.postgresql.org/docs/8.4/interactive/view-pg-settings.html

2009年11月28日土曜日

groovyとPostgreSQLで現在のアクティビティを表示する

groovyとPostgreSQLで現在のアクティビティを表示するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:postgresql://localhost:5432/jtrac",
"postgres",
"postgres",
"org.postgresql.Driver")

query = """
select * from pg_stat_activity
"""
// サーバ上の現在のアクティビティを表示
sql.eachRow(query){
// データベース名
println "datname:${it.datname}"
// ユーザ名
println "usename:${it.usename}"
// 現在実行しているクエリー
println "current_query:${it.current_query}"
println "----"
}


動作環境
Groovy 1.6.3, JDK6 Update16, Postgres 8.4.0,
8.4-701JDBC4

関連情報
The Statistics Collector
http://www.postgresql.org/docs/8.4/interactive/monitoring-stats.html

2009年11月27日金曜日

groovyとPostgreSQLで実行時パラメータを取得する

groovyとPostgreSQLで実行時パラメータを取得するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:postgresql://localhost:5432/jtrac",
"postgres",
"postgres",
"org.postgresql.Driver")

query = """
select * from pg_settings
"""
// 実行時パラメータの情報取得
sql.eachRow(query){
// パラメータ名
println "name:${it.name}"
// 現在の設定値
println "setting:${it.setting}"
// パラメータの説明
println "short_desc:${it.short_desc}"
println "----"
}


動作環境
Groovy 1.6.3, JDK6 Update16, Postgres 8.4.0,
8.4-701JDBC4

関連情報
pg_settings
http://www.postgresql.org/docs/8.4/interactive/view-pg-settings.html

2009年11月26日木曜日

groovyとSQL Serverでバックアップデバイスを削除する

groovyとSQL Serverでバックアップデバイスを削除するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:sqlserver://localhost;databaseName=test2",
"sa",
"sa",
"com.microsoft.sqlserver.jdbc.SQLServerDriver")

query = """
EXEC sp_dropdevice 'backupdev2'
"""
// バックアップデバイスの削除
sql.execute(query)


動作環境
Groovy 1.6.3, JDK6 Update14, SQL Server JDBC Driver 2.0,
SQL Server 2008 Express

関連情報
sp_dropdevice (Transact-SQL)
http://msdn.microsoft.com/ja-jp/library/ms188903.aspx

2009年11月25日水曜日

groovyとSQL Serverでバックアップデバイスを作成する

groovyとSQL Serverでバックアップデバイスを作成するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:sqlserver://localhost;databaseName=test2",
"sa",
"sa",
"com.microsoft.sqlserver.jdbc.SQLServerDriver")

query = """
EXEC sp_addumpdevice 'disk', 'backupdev2', 'c:\\mssqlbak\\backupdev2.bak';
"""
// バックアップデバイスの作成
sql.execute(query)


動作環境
Groovy 1.6.3, JDK6 Update14, SQL Server JDBC Driver 2.0,
SQL Server 2008 Express

関連情報
sp_addumpdevice (Transact-SQL)
http://msdn.microsoft.com/ja-jp/library/ms188409.aspx

2009年11月24日火曜日

groovyとSQL Serverでバックアップデバイス一覧を表示する

groovyとSQL Serverでバックアップデバイス一覧を表示するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:sqlserver://localhost;databaseName=test2",
"sa",
"sa",
"com.microsoft.sqlserver.jdbc.SQLServerDriver")

query = """
select * from sys.backup_devices
"""
// バックアップデバイス一覧
sql.eachRow(query){
// 名前
println("name:${it.name}")
// バックアップデバイスの種類の説明
println("type_desc:${it.type_desc}")
// 物理名
println("physical_name:${it.physical_name}")
println "----"
}


動作環境
Groovy 1.6.3, JDK6 Update14, SQL Server JDBC Driver 2.0,
SQL Server 2008 Express

関連情報
sys.backup_devices (Transact-SQL)
http://msdn.microsoft.com/ja-jp/library/ms178018.aspx

2009年11月23日月曜日

groovyとSQL Serverでデータベースファイル一覧を表示する

groovyとSQL Serverでデータベースファイル一覧を表示するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:sqlserver://localhost;databaseName=test2",
"sa",
"sa",
"com.microsoft.sqlserver.jdbc.SQLServerDriver")

query = """
select * from sys.database_files
"""
// データベースファイル一覧
sql.eachRow(query){
// ファイルID
println("file_id:${it.file_id}")
// 論理名
println("name:${it.name}")
// 物理名
println("physical_name:${it.physical_name}")
// 状態の説明
println("state_desc:${it.state_desc}")
// ファイルの現在のサイズ(8KB単位)
println("size:${it.size}")
println "----"
}


動作環境
Groovy 1.6.3, JDK6 Update14, SQL Server JDBC Driver 2.0,
SQL Server 2008 Express

関連情報
sys.database_files (Transact-SQL)
http://msdn.microsoft.com/ja-jp/library/ms174397.aspx

2009年11月22日日曜日

groovyとSQL Serverでファイルグループ一覧を表示する

groovyとSQL Serverでファイルグループ一覧を表示するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:sqlserver://localhost;databaseName=test2",
"sa",
"sa",
"com.microsoft.sqlserver.jdbc.SQLServerDriver")

query = """
select * from sys.filegroups
"""
// ファイルグループ一覧
sql.eachRow(query){
// 名前
println("name:${it.name}")
// デフォルトかどうか
println("is_default:${it.is_default}")
// 読取専用かどうか
println("is_read_only:${it.is_read_only}")
println "----"
}


動作環境
Groovy 1.6.3, JDK6 Update14, SQL Server JDBC Driver 2.0,
SQL Server 2008 Express

関連情報
sys.filegroups (Transact-SQL)
http://msdn.microsoft.com/ja-jp/library/ms187782.aspx

2009年11月21日土曜日

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("alter index pk_emp monitoring usage")

// インデックスを使用しないクエリ
query = """
select ename from emp where to_char(empno) = '7369'
"""
sql.eachRow(query){
// 社員名
println("ename:${it.ename}")
println "----"
}

query = """
select * from v\$object_usage
"""
sql.eachRow(query){
// インデックス名
println("index_name:${it.index_name}")
// 使用されたかどうか
println("used:${it.used}")
println "----"
}

// インデックスを使用するクエリ
query = """
select ename from emp where empno = 7369
"""
sql.eachRow(query){
// 社員名
println("ename:${it.ename}")
println "----"
}

query = """
select * from v\$object_usage
"""
sql.eachRow(query){
// インデックス名
println("index_name:${it.index_name}")
// 使用されたかどうか
println("used:${it.used}")
println "----"
}

// インデックスの監視停止
sql.execute("alter index pk_emp nomonitoring usage")


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

関連情報
V$OBJECT_USAGE
http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/dynviews_2077.htm#sthref3094

2009年11月20日金曜日

groovyとoracleでテーブルスペース一覧を表示する

groovyとoracleでテーブルスペース一覧を表示するには、以下のコードを実行します。


import groovy.sql.Sql

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

query = """
select * from dba_tablespaces
"""
// テーブルスペース一覧
sql.eachRow(query){
// テーブルスペース名
println("tablespace_name:${it.tablespace_name}")
// ブロックサイズ
println("block_size:${it.block_size}")
// ステータス
println("status:${it.status}")
// コンテンツ
println("contents:${it.contents}")
// ロギング
println("logging:${it.logging}")
// 割り当てタイプ
println("allocation_type:${it.allocation_type}")
println "----"
}


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

関連情報
DBA_TABLESPACES
http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/statviews_5054.htm#sthref2273

2009年11月19日木曜日

groovyとoracleでアクセス可能なシノニム一覧を表示する

groovyとoracleでアクセス可能なシノニム一覧を表示するには、以下のコードを実行します。


import groovy.sql.Sql

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

query = """
select * from all_synonyms
"""
// アクセス可能なシノニム一覧
sql.eachRow(query){
// オーナ名
println("owner:${it.owner}")
// シノニム名
println("synonym_name:${it.synonym_name}")
// テーブルオーナー名
println("table_owner:${it.table_owner}")
// テーブル名
println("table_name:${it.table_name}")
// データベースリンク
println("db_link:${it.db_link}")
println "----"
}


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

関連情報
ALL_SYNONYMS
http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/statviews_2088.htm#sthref1447

2009年11月18日水曜日

groovyとoracleでアクセス可能なビュー一覧を表示する

groovyとoracleでアクセス可能なビュー一覧を表示するには、以下のコードを実行します。

import groovy.sql.Sql

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

query = """
select * from all_views
"""
// アクセス可能なビュー一覧
sql.eachRow(query){
// オーナ名
println("owner:${it.owner}")
// ビュー名
println("view_name:${it.view_name}")
println "----"
}


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

関連情報
groovy とoracleでアクセス可能なテーブル一覧を表示する

ALL_VIEWS
http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/statviews_2118.htm#sthref1516

2009年11月17日火曜日

groovyとoracleでシステム権限を付与する

groovyとoracleでシステム権限を付与するには、以下のコードを実行します。


import groovy.sql.Sql

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

// create viewシステム権限を付与する
sql.execute("grant create view to scott")


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

関連情報
GRANT
http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/statements_9013.htm#i2155015

2009年11月16日月曜日

groovyとoracleでインデックスのカラム一覧を表示する

groovyとoracleでインデックスのカラム一覧を表示するには、以下のコードを実行します。


import groovy.sql.Sql

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

index_name = "PK_EMP"
query = """
select * from all_ind_columns
where index_name = ${index_name}
order by column_position
"""
// インデックスのカラム一覧
sql.eachRow(query){
// オーナ名
println("index_owner:${it.index_owner}")
// インデックス名
println("index_name:${it.index_name}")
// テーブルオーナ名
println("table_owner:${it.table_owner}")
// テーブル名
println("table_name:${it.table_name}")
// カラム名
println("column_name:${it.column_name}")
println "----"
}


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

関連情報
ALL_IND_COLUMNS
http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/statviews_1090.htm#sthref1135

2009年11月15日日曜日

groovyとoracleでアクセス可能なインデックス一覧を表示する

groovyとoracleでアクセス可能なインデックス一覧を表示するには、以下のコードを実行します。


import groovy.sql.Sql

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

query = """
select * from all_indexes
"""
// アクセス可能なインデックス一覧
sql.eachRow(query){
// オーナ名
println("owner:${it.owner}")
// インデックス名
println("index_name:${it.index_name}")
// テーブルオーナ名
println("table_owner:${it.table_owner}")
// テーブル名
println("table_name:${it.table_name}")
println "----"
}


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

関連情報
ALL_INDEXES
http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/statviews_1096.htm#i1578369

2009年11月14日土曜日

groovyとPostgreSQLでCSVファイルからデータを取り込む

groovyとPostgreSQLでCSVファイルからデータを取り込むには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:postgresql://localhost:5432/test1",
"postgres",
"postgres",
"org.postgresql.Driver")

query = """
COPY employee FROM 'C:/share/20091114a/employee.csv' WITH CSV
"""

// CSVファイルからデータを取り込む
sql.execute(query)


動作環境
Groovy 1.6.3, JDK6 Update16, Postgres 8.4.0,
8.4-701JDBC4

関連情報
COPY
http://www.postgresql.org/docs/8.4/interactive/sql-copy.html

2009年11月13日金曜日

groovyとPostgreSQLでデータベース名を変更する

groovyとPostgreSQLでデータベース名を変更するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:postgresql://localhost:5432/postgres",
"postgres",
"postgres",
"org.postgresql.Driver")

query = """
ALTER DATABASE test1 RENAME TO test1renamed
"""
// DB名の変更。現在接続しているDBは変更できない
sql.execute(query)


動作環境
Groovy 1.6.3, JDK6 Update16, Postgres 8.4.0,
8.4-701JDBC4

関連情報
ALTER DATABASE
http://www.postgresql.org/docs/8.4/interactive/sql-alterdatabase.html

2009年11月12日木曜日

groovyとPostgreSQLでテーブルサイズを取得する

groovyとPostgreSQLでテーブルサイズを取得するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:postgresql://localhost:5432/your_db",
"postgres",
"postgres",
"org.postgresql.Driver")

query = """
select pg_relation_size('your_table') as relsize
"""

sql.eachRow(query){
// テーブルサイズ
println "relsize:${it.relsize}"
println "----"
}


動作環境
Groovy 1.6.3, JDK6 Update16, Postgres 8.4.0,
8.4-701JDBC4

関連情報
pg_relation_size
http://www.postgresql.org/docs/8.4/interactive/functions-admin.html#FUNCTIONS-ADMIN-DBSIZE

2009年11月11日水曜日

groovyとPostgreSQLでデータベースサイズを取得する

groovyとPostgreSQLでデータベースサイズを取得するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:postgresql://localhost:5432/jtrac",
"postgres",
"postgres",
"org.postgresql.Driver")

query = """
select pg_database_size('jtrac') as dbsize
"""

sql.eachRow(query){
// データベースサイズ
println "dbsize:${it.dbsize}"
println "----"
}


動作環境
Groovy 1.6.3, JDK6 Update16, Postgres 8.4.0,
8.4-701JDBC4

関連情報
pg_database_size
http://www.postgresql.org/docs/8.4/interactive/functions-admin.html#FUNCTIONS-ADMIN-DBSIZE

2009年11月10日火曜日

groovyとSQL ServerでDB内の全テーブルの統計を取得する

groovyとSQL ServerでDB内の全テーブルの統計を取得するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:sqlserver://localhost;databaseName=test1",
"sa",
"sa",
"com.microsoft.sqlserver.jdbc.SQLServerDriver")

query = """
exec sp_updatestats
"""
// DB内の全ユーザテーブルの統計取得
sql.execute(query)


動作環境
Groovy 1.6.3, JDK6 Update14, SQL Server JDBC Driver 2.0,
SQL Server 2008 Express

関連情報
sp_updatestats (Transact-SQL)
http://msdn.microsoft.com/ja-jp/library/ms173804.aspx

2009年11月9日月曜日

groovyとSQL Serverで統計を取得する

groovyとSQL Serverで統計を取得するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:sqlserver://localhost;databaseName=test1",
"sa",
"sa",
"com.microsoft.sqlserver.jdbc.SQLServerDriver")

query = """
update statistics test with fullscan
"""
// サンプリングの場合
// update statistics test with sample 30 percent

sql.execute(query)


動作環境
Groovy 1.6.3, JDK6 Update14, SQL Server JDBC Driver 2.0,
SQL Server 2008 Express

関連情報
UPDATE STATISTICS (Transact-SQL)
http://msdn.microsoft.com/ja-jp/library/ms187348.aspx

2009年11月8日日曜日

groovyとSQL Serverで統計の最終更新日を取得する

groovyとSQL Serverで統計の最終更新日を取得するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:sqlserver://localhost;databaseName=test1",
"sa",
"sa",
"com.microsoft.sqlserver.jdbc.SQLServerDriver")

query = """
select
tb.name as table_name,
st.name AS stats_name,
STATS_DATE(st.object_id, st.stats_id) as stats_update_date
from
sys.stats st
join sys.tables tb
on (st.object_id = tb.object_id)
order by 1,2
"""
sql.eachRow(query){
// テーブル名
println("table_name:${it.table_name}")
// 統計名
println("stats_name:${it.stats_name}")
// 統計最終更新日
println("stats_update_date:${it.stats_update_date}")
println "----"
}


動作環境
Groovy 1.6.3, JDK6 Update14, SQL Server JDBC Driver 2.0,
SQL Server 2008 Express

関連情報
sys.stats (Transact-SQL)
http://msdn.microsoft.com/ja-jp/library/ms177623.aspx

STATS_DATE (Transact-SQL)
http://msdn.microsoft.com/ja-jp/library/ms190330.aspx

2009年11月7日土曜日

groovyとoracleで指定テーブルのカラム一覧を表示する

groovyとoracleで指定テーブルのカラム一覧を表示するには、以下のコードを実行します。


import groovy.sql.Sql

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

table = "EMP"
query = """
select * from all_tab_columns
where
owner = 'SCOTT'
and table_name = ${table}
order by column_id
"""
// テーブルのカラム一覧
sql.eachRow(query){
// オーナ名
println("owner:${it.owner}")
// テーブル名
println("table_name:${it.table_name}")
// カラム名
println("column_name:${it.column_name}")
// 型
println("data_type:${it.data_type}")
// 長さ
println("data_length:${it.data_length}")
// 精度
println("data_precision:${it.data_precision}")
// スケール
println("data_scale:${it.data_scale}")
// nullable
println("nullable:${it.nullable}")
println "----"
}


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

関連情報
ALL_TAB_COLUMNS
http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/statviews_2091.htm#sthref1457

2009年11月6日金曜日

groovyとoracleでアクセス可能なテーブル一覧を表示する

groovyとoracleでアクセス可能なテーブル一覧を表示するには、以下のコードを実行します。

import groovy.sql.Sql

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

query = """
select * from all_tables
"""
// アクセス可能なテーブル一覧
sql.eachRow(query){
// オーナ名
println("owner:${it.owner}")
// テーブル名
println("table_name:${it.table_name}")
// テーブルスペース名
println("tablespace_name:${it.tablespace_name}")
// Max Extents
println("max_extents:${it.max_extents}")
println "----"
}


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

関連情報
groovy とoracleでパーティション化されたテーブルを一覧表示する
groovy とoracleでアクセス可能なビュー一覧を表示する

ALL_TABLES
http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/statviews_2105.htm#sthref1489

2009年11月5日木曜日

groovyとPostgreSQLとquartzの組み合わせで、トリガー情報を表示する

groovyとPostgreSQLとquartzの組み合わせで、トリガー情報を表示するには、以下のコードを実行します。

import org.quartz.*
import org.quartz.impl.*

// スケジューラ取得
//sf = new StdSchedulerFactory()
sf = new StdSchedulerFactory("./myquartz.properties")
sched = sf.getScheduler()

// トリガー情報の表示
trg = sched.getTrigger("trigger1", "group1")
if( trg != null ){
println("name:" + trg.name)
println("full name:" + trg.fullName)
println("group:" + trg.group)
println("job group:" + trg.jobGroup)
println("job name:" + trg.jobName)
println("previous fire time:" + trg.previousFireTime)
println("next fire time:" + trg.nextFireTime)
}
sched.shutdown(true)



設定ファイル(myquartz.properties)

org.quartz.scheduler.instanceName = DefaultQuartzScheduler
org.quartz.scheduler.rmi.export = false
org.quartz.scheduler.rmi.proxy = false
org.quartz.scheduler.wrapJobExecutionInUserTransaction = false

org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 10
org.quartz.threadPool.threadPriority = 5
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true

org.quartz.jobStore.misfireThreshold = 60000

#org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX

# データソースの設定
org.quartz.dataSource.QuartzDS.driver = org.postgresql.Driver
org.quartz.dataSource.QuartzDS.URL = jdbc:postgresql://localhost:5432/quartz
org.quartz.dataSource.QuartzDS.user = postgres
org.quartz.dataSource.QuartzDS.password = postgres
org.quartz.dataSource.QuartzDS.maxConnections = 10
org.quartz.dataSource.QuartzDS.validationQuery = select 1

# JDBC JobStore設定
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
org.quartz.jobStore.dataSource = QuartzDS
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.useProperties = false
org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.isClustered = false
org.quartz.jobStore.clusterCheckinInterval = 15000
org.quartz.jobStore.maxMisfiresToHandleAtATime = 20
org.quartz.jobStore.dontSetAutoCommitFalse = false
org.quartz.jobStore.selectWithLockSQL = SELECT * FROM {0}LOCKS WHERE LOCK_NAME = ? FOR UPDATE
org.quartz.jobStore.txIsolationLevelSerializable = false
org.quartz.jobStore.acquireTriggersWithinLock = false

groovyとoracleでアカウントをアンロックする

groovyとoracleでアカウントをアンロックするには、以下のコードを実行します。


import groovy.sql.Sql

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

// アカウントのアンロック
sql.execute("alter user scott account unlock")


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

2009年11月4日水曜日

groovyとoracleでシステム権限が付与されているユーザ・ロールを一覧表示する

groovyとoracleでシステム権限が付与されているユーザ・ロールを一覧表示するには、以下のコードを実行します。


import groovy.sql.Sql

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

query = """
select * from dba_sys_privs where grantee = 'RESOURCE'
"""
// システム権限が付与されているユーザ、ロール
sql.eachRow(query){
// ユーザ/ロール名
println("grantee:${it.grantee}")
// システム権限
println("PRIVILEGE:${it.PRIVILEGE}")
// アドミンオプション
println("ADMIN_OPTION:${it.ADMIN_OPTION}")
println "----"
}


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

関連情報
DBA_ROLES_PRIVS
http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/statviews_4206.htm#sthref2124

2009年11月3日火曜日

groovyとoracleでロールが付与されているユーザ・ロールを一覧表示する

groovyとoracleでロールが付与されているユーザ・ロールを一覧表示するには、以下のコードを実行します。


import groovy.sql.Sql

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

query = """
select * from dba_role_privs
"""
// ロールが付与されているユーザ、ロール
sql.eachRow(query){
// ユーザ/ロール名
println("grantee:${it.grantee}")
// 付与されたロール
println("granted_role:${it.granted_role}")
// アドミンオプション
println("ADMIN_OPTION:${it.ADMIN_OPTION}")
// デフォルトロール
println("DEFAULT_ROLE:${it.DEFAULT_ROLE}")
println "----"
}


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

関連情報
DBA_ROLES_PRIVS
http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/statviews_4206.htm#sthref2124

2009年11月2日月曜日

groovyとoracleでロールを一覧表示する

groovyとoracleでロールを一覧表示するには、以下のコードを実行します。


import groovy.sql.Sql

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

query = """
select * from dba_roles
"""

sql.eachRow(query){
// ロール名
println("role:${it.role}")
// ロールを使用可能にするのにパスワードが必要かどうか
println("PASSWORD_REQUIRED:${it.PASSWORD_REQUIRED}")
println "----"
}


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

関連情報
DBA_ROLES
http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/statviews_4207.htm#sthref2127

2009年11月1日日曜日

groovyとoracleでユーザを一覧表示する

groovyとoracleでユーザを一覧表示するには、以下のコードを実行します。


import groovy.sql.Sql

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

query = """
select * from dba_users
"""

sql.eachRow(query){
// ユーザ名
println("username:${it.username}")
// アカウント ステータス
println("account_status:${it.account_status}")
// デフォルトテーブルスペース
println("default_tablespace:${it.default_tablespace}")
// テンポラリテーブルスペース
println("temporary_tablespace:${it.temporary_tablespace}")
println "----"
}


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

関連情報
DBA_USERS
http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/statviews_5073.htm#sthref2297