いつものように、Oracleがホストされているサーバーに接続することから始め、次にSYSTEM
としてOracle自体に接続します。 アカウント。
SYSTEM
accountは、Oracleのインストール時に自動的に生成される数少ない事前定義された管理アカウントの1つです。 SYSTEM
はほとんどの管理タスクを実行できますが、私たちが特に関心を持っているタスクはアカウント管理です。
SYSTEM
として接続すると 、CREATE USER
を発行するだけです 新しいアカウントを生成するコマンド。
CREATE USER books_admin IDENTIFIED BY MyPassword;
ここでは、単にbooks_admin
を作成しています IDENTIFIED
であるアカウント または指定されたpassword
によって認証されます 。
新しいbooks_admin
を使用 アカウントが作成されたら、GRANT
を使用してアカウントへの権限の追加を開始できます 声明。 GRANT
は非常に強力なステートメントであり、多くの可能なオプションがありますが、コア機能は両方のusers
の特権を管理することです。 およびroles
データベース全体。
通常、最初に、CONNECT
から始めて、アカウントをさまざまな役割にアタッチすることにより、ユーザーに特権を割り当てる必要があります。 役割:
GRANT CONNECT TO books_admin;
より強力なユーザーを作成するために、RESOURCE
を追加することも検討してください。 ロール(ユーザーがカスタムスキーマの名前付きタイプを作成できるようにする)またはDBA
ロール。これにより、ユーザーはカスタムの名前付きタイプを作成できるだけでなく、それらを変更および破棄することもできます。
GRANT CONNECT, RESOURCE, DBA TO books_admin;
次に、ユーザーが実際にデータベースに接続し、GRANT CREATE SESSION
を使用してセッションを作成する権限を持っていることを確認します。 。また、GRANT ANY PRIVILEGE
を使用して、これをすべての権限と組み合わせます。 。
GRANT CREATE SESSION GRANT ANY PRIVILEGE TO books_admin;
また、テーブルとデータを実際に作成または変更するために、新しいユーザーがシステムにディスクスペースを割り当てていることを確認する必要があるため、GRANT TABLESPACE
そのように:
GRANT UNLIMITED TABLESPACE TO books_admin;
Oracleの新しいバージョンでは通常必要ありませんが、一部の古いインストールでは、新しいユーザーが特定のスキーマおよびデータベーステーブルに対して持つアクセス権を手動で指定する必要がある場合があります。
たとえば、books_admin
が必要な場合 SELECT
を実行する機能を持つユーザー 、UPDATE
、INSERT
、およびDELETE
books
の機能 テーブルでは、次のGRANT
を実行する可能性があります ステートメント:
GRANT
SELECT,
INSERT,
UPDATE,
DELETE
ON
schema.books
TO
books_admin;
これにより、books_admin
books
の4つの基本的なステートメントを実行できます schema
の一部であるテーブル スキーマ。