対応バージョン
Oracle Database 10.2 – 12.1
更新履歴
| 日付 | 更新概要 |
|---|---|
| 2017/01/06 | 記事公開 |
Oracle Database 10g R2から、CONNECTロール及びRESOURCEロールは別の独自ロールを作成して権限を付与するか、直接付与する対応をとることが推奨されています。マニュアルにて将来リリースで消える可能性の旨が示されています。
Oracle Databaseセキュリティ・ガイド
12cリリース1 (12.1)
B71285-10
Oracle Databaseのインストールで事前に定義されているロール
https://docs.oracle.com/cd/E57425_01/121/DBSEG/authorization.htm#GUID-A5B26A03-32CF-4F5D-A6BE-F2452AD8CB8A__G2199949
コメント
何年か前では準備が容易であるためこれらのロールがよく利用されていました。最近でもパッケージを導入する場合や、昔の手順をそのまま流用している場合などで、CONNECTロール及びRESOURCEロールを利用しているシステムをよく見かけます。後々の予期せぬ変更対応などがないように今のうちに利用しないことをお勧めします。
また11gR2までは、RESOURCEロール経由でUNLIMITED TABLESPACEシステム権限が付与されるように見えますが、実際には権限がありません。UNLIMITED TABLESPACEはユーザ(スキーマ)に直接付与する必要がある点に注意してください。
12cR1からは、UNLIMITED TABLESPACE権限をロールに付与するとエラーが発生するようになっています。
SQL> grant UNLIMITED TABLESPACE to RESOURCE;
grant UNLIMITED TABLESPACE to RESOURCE
*
ERROR at line 1:
ORA-01931: cannot grant UNLIMITED TABLESPACE to a role