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

0 件のコメント:

コメントを投稿