0

ユーザーの DB2 SYSADM または SYSCTRL 許可を確認する方法。

データベースを作成/ドロップするには、DB2 権限を使用してユーザー/パスワードを確認する必要があります。これに対する特定のコマンドはありますか?

ユーザーがデータベースを作成および削除する権限を持っているかどうかを示すコマンドを使用して、ユーザー/パスワードを確認する必要があります (データベースの作成コマンドを実行する前に検証を試みることを意味します)。

4

4 に答える 4

2
db2 connect
db2 get authorizations
于 2012-05-01T09:05:45.990 に答える
1

これを試して; 以下のクエリで参照されているビューで ID に SELECT があることを意味します。

select 1 from 
sysibmadm.dbmcfg t1 join 
sysibmadm.authorizationids t2 on t1.value=t2.authid 
where t1.name='sysadm_group' fetch first row only
with ur

上記のクエリの SQL0551 は、接続されたユーザーが SYSADM を持っていないことも示しています。

于 2012-09-27T20:46:00.360 に答える
1

これは、UNIXシェルで行う方法です.Javaの同等物に適応するのは難しくありません。

createdb=$(db2 get authorizations|egrep 'SYSADM|SYSCTRL' | grep -c ' = YES')
if [[ $createdb ]]; then
   echo 'Do it'
fi
于 2012-08-08T19:58:06.800 に答える
0

"GET AUTHORIZATIONS"コマンドはバージョン 9.7 で廃止されました。 "AUTH_LIST_AUTHORITIES_FOR_AUTHID"代わりにテーブル関数を使用する必要があります。

db2 connect 
db2 SELECT VARCHAR(AUTHORITY, 30) AS AUTHORITY,
   D_USER,
   D_GROUP,
   D_PUBLIC,
   ROLE_USER,
   ROLE_GROUP,
   ROLE_PUBLIC,
   D_ROLE
  FROM TABLE(SYSPROC.AUTH_LIST_AUTHORITIES_FOR_AUTHID('ALICE', 'U'))
 WHERE AUTHORITY = 'SYSADM' OR AUTHORITY = 'DBADM'

リンク: GET AUTHORIZATIONS コマンドは廃止されました

于 2018-10-26T09:42:12.537 に答える