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

0 件のコメント:

コメントを投稿