ロールの作成と設定
0.改訂履歴
- 1996.11.27 初版
- 1996.11.28 create user文に間違いがあった.
- 2001.01.15 テーブルスペースについて追加
- 2001.01.20 ロール作成とユーザ作成にドキュメントを分けた.
1.はじめに
このドキュメントでは,ロールの作成方法について説明する.
事前に「Oracleユーザ管理基礎知識」を理解しておく必要がある.
2.ロールの作成
2.1 既存のロールの確認
Oracleがインストールされた状態で作成されるロールが存在する. 以下にその役割の説明をする.
ロール名 主な役割 CONNECT
エンドユーザとして十分なシステム権限. RESOURCE
アプリケーションデザイナ(開発者)に十分なシステム権限. DBA
管理者用の with admin option
付き全てのシステム権限.EXP_FULL_DATABASE
エクスポート(バックアップ)権限. IMP_FULL_DATABASE
インポート(リストア)権限.
Oracle7には,これらの既存のロールについての説明は一切無かった.いや,実際には有ったが「昔のバージョンとの互換性を保つために存在している」としか,記述されていない. 将来的に無くなる可能性がある.
このこのロールを作成するSQL文はファイルとして格納されており,Oracle 7.2 for NTだと\ORANT\RDBMS72\ADMIN\SQL.BSQ
,UNIX版だと$ORACLE_HOME/rdbms/admin/sql.bsq
に格納してある.
参考までに内容は「SQLBSQ.txt」にあるので参照されたい.
通常のユーザを作るには,CONNECT
ロールを与えていれば良いと考えられる.
また,あるプロジェクトで開発者をターゲットにするならば,RESOURCE
を持ったロールを作っておけば良いと考えられる. その場合,CONNECTも付与する.
ここでは,新規ロール"testrole"
を作成し,RESOURCE
ロール権限を渡す.
2.2 ロールの作成
ロールを作成するには,2通りの方法がある. 方法といってもSecurity Managerを使ってGUIベースで行なうか,SQL文を書くかの違いであり,Secyriy Managerでも実際にはSQL文を発行しているのみである.
ここでは,コマンドラインでの作成方法について説明する.
- サーバマネージャかSQL*Plusを起動し,DBA権限のユーザ(system)でログインする.
- 次のように新規ロール
"testrole"
を作成する.
CREATE ROLE testrole |
- 新規作成したロール
"testrole"
に"dba"
ロールを付与する.
GRANT dba TO testrole |
- connectとresourceの2つのロールを付与する場合.
GRANT connect,resource TO testrole |