JSON_SHRED_BATCHはSYSLIBデータベースに存在します。JSON_SHRED_BATCHプロシージャを実行するユーザーには次の権限が必要です。
- SYSLIBの手順の実行
- ソース テーブルに対するSELECT権限
- ターゲット テーブル上のGRANT ALL(挿入/更新/削除/アップサート)
プロシージャを実行するデータベースにはSYSUDTLIB、SYSLIBに対するすべての権限が必要になり、ターゲット テーブルが存在するデータベースにはSYSLIBに対するEXECUTE PROCEDURE権限が必要になります。
SYSLIBには、プロシージャを実行するデータベースのすべての権限が必要です。
例えば、プロシージャを実行しターゲット テーブルが存在するデータベースがJSONShredと呼ばれる場合は、次の文が必要な権限を割り当てます。
GRANT ALL ON SYSUDTLIB TO JSONShred; GRANT ALL ON SYSLIB TO JSONShred; GRANT EXECUTE PROCEDURE ON SYSLIB TO JSONShred; GRANT ALL ON JSONShred TO JSONShred; GRANT ALL ON JSONShred TO SYSLIB;
上記から次の3つの権限が必須になります。
- GRANT ALL ON SYSLIB TO JSONShred;
- GRANT EXECUTE PROCEDURE ON SYSLIB TO JSONShred;
- GRANT ALL ON JSONShred TO JSONShred;
ログイン ユーザーがjsonshredでターゲット テーブルがtargetDBの場合、次の権限が必要になります。
GRANT EXECUTE PROCEDURE ON SYSLIB TO jsonshred; GRANT ALL ON targetDB TO jsonshred;
ソース テーブルsourceDBがtargetDBと異なる場合、次の権限も必要になります。
GRANT SELECT ON sourceDB TO jsonshred;