多くのシステムが連携する場合かつ、一つのDBを参照する場合は、システムごとに DBアカウントを設け、アカウントごとの権限設定をしていたりする。
もしくは、アカウントごとにスキーマを用意して、そこにテーブル追加することで参照、更新可能なテーブルを制限したりする。
このような場合に、テーブルの権限設定を確認したり、スキーマを確認するが、その際のコマンドを記載しておく。
テーブル権限
システムテーブルを参照することで、テーブルに付与された参照、更新、削除権限を確認する
select GRANTEE,GRANTOR,OWNER,TABLE_NAME,PRIVILEGE from dba_tab_privs where OWNER='BBB' and TABLE_NAME='COUPON' |GRANTEE|GRANTOR|OWNER|TABLE_NAME|PRIVILEGE| |-------|-------|-----|----------|---------| |COUPON_A|BBB|BBB|COUPON|DELETE| |COUPON_A|BBB|BBB|COUPON|INSERT| |ORDER_A|BBB|BBB|COUPON|SELECT| |COUPON_A|BBB|BBB|COUPON|SELECT| |MERCHANT_A|BBB|BBB|COUPON|SELECT| |COUPON_A|BBB|BBB|COUPON|UPDATE|
スキーマ
SELECT * FROM all_synonyms WHERE owner = 'AAA' |OWNER|SYNONYM_NAME|TABLE_OWNER|TABLE_NAME|DB_LINK|ORIGIN_CON_ID| |-----|------------|-----------|----------|-------|-------------| |AAA|APPEAL|BBB|APPEAL||4| |AAA|HISTORY|BBB|HISTORY||4| |AAA|HISTORY_SEQ|BBB|HISTORY_SEQ||4|