Oracleユーザー作成ガイド:CREATE USERの解説

SQL

Oracle Databaseにおけるユーザー管理は、セキュリティ・権限制御・リソース制限において非常に重要な役割を担います。
本記事では、CREATE USER文の基本から、表領域・クォータ・権限付与・ロック制御に至るまで、実務に耐えうるレベルで徹底的に解説します。

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


🔰 ユーザーとは何か?基本概念

Oracleにおける「ユーザー」は、スキーマオブジェクト(テーブル、ビュー等)の所有者であり、データベースにアクセスするアカウントです。


📘【図解】Oracleのユーザーとスキーマの関係

ユーザー = スキーマオーナー
└── テーブル (EMP, DEPT, etc.)
└── インデックス
└── ビュー
└── シノニム

つまり、ユーザー作成=スキーマの土台を構築することになります。


🧱 CREATE USER の基本構文と要素

CREATE USER ユーザー名
IDENTIFIED BY パスワード
DEFAULT TABLESPACE 表領域
TEMPORARY TABLESPACE 一時表領域;

✅ 最小構成の例

CREATE USER test_user IDENTIFIED BY StrongP@ss1;

※この時点では接続できません。CREATE SESSION権限などの付与が必要です。


📦 表領域(TABLESPACE)の指定

Oracleでは、ユーザーがデータを保存する領域(表領域)を明示的に指定するのがベストプラクティスです。

CREATE USER test_user
IDENTIFIED BY StrongP@ss1
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp;

📘【図解】表領域とユーザーの関係

ユーザー test_user
├─ DEFAULT TABLESPACE → USERS
└─ TEMPORARY TABLESPACE → TEMP

📊 クォータ(QUOTA)指定

表領域の使用制限を設定しないと、オブジェクトの作成に失敗します。

ALTER USER test_user QUOTA UNLIMITED ON users;

または、

ALTER USER test_user QUOTA 100M ON users;
  • UNLIMITED:無制限
  • 100M:最大100MBまで利用可能

🔐 権限付与(GRANT)

Oracleでは、ユーザー作成後に最低限の権限を付与しないと、ログインや操作ができません。

GRANT CREATE SESSION TO test_user;
GRANT CREATE TABLE TO test_user;

もしくは便利なロールを使用することもあります:

GRANT CONNECT, RESOURCE TO test_user;
ロール主な内容
CONNECTCREATE SESSION などログイン用
RESOURCECREATE TABLE など開発者向けの操作権限

※11g以降ではRESOURCEロールの利用には注意が必要です。不要な権限も含まれるため、明示的なGRANTを推奨します。


🔄 アカウント制御(ロック・有効化・パスワード制御)

✅ アカウントロック/有効化

ALTER USER test_user ACCOUNT LOCK;
ALTER USER test_user ACCOUNT UNLOCK;

✅ パスワードの有効期限を強制

ALTER USER test_user PASSWORD EXPIRE;

→ 初回ログイン時にパスワード変更を要求する用途

✅ プロファイルでセキュリティ制御

ALTER PROFILE DEFAULT LIMIT
FAILED_LOGIN_ATTEMPTS 5
PASSWORD_LIFE_TIME 90;

→ 5回失敗でロック、90日でパスワード期限切れ


❌ DROP USER(ユーザー削除)

ユーザーを削除するには、以下のコマンドを使用します。

DROP USER test_user CASCADE;
  • CASCADE を付けることで、ユーザーが所有するテーブルなどのオブジェクトも一緒に削除されます。
  • 付けないと「オブジェクトが残っているため削除できません」というエラーになります。

🔄 全体フロー図

1. CREATE USER

2. ALTER USER で QUOTA 設定

3. GRANT 権限付与

4. パスワード/ロック制御(必要に応じて)

5. ユーザー使用開始

6. 不要になったら DROP USER CASCADE

✅ まとめ:実務で押さえるべきポイント

項目内容
CREATE USERアカウントの作成(IDENTIFIED BY必須)
表領域・一時表領域必ず明示的に指定する(省略時のデフォルトに注意)
クォータ明示しないとINSERT等が失敗する
権限CONNECT, RESOURCE または明示的な権限のGRANT
パスワード制御PASSWORD EXPIRE や PROFILE による管理
セキュリティベストプラクティス最小権限・表領域の分離・ログ監査などの実装

🎓 こんな人におすすめの記事でした

  • Oracle初心者で初めてユーザー作成する方
  • 実務で複数アカウント管理を行っているDB管理者
  • セキュリティポリシーに準拠したユーザー設計を求められている担当者

参考資料

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

コメント

タイトルとURLをコピーしました