ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
Oracle のユーザーとは
Oracle Database におけるユーザー (USER) は、データベースに接続するためのアカウントであると同時に、スキーマ (SCHEMA) =そのユーザーが所有するテーブル・ビュー・プロシージャ等の名前空間でもあります。
Oracle では「1 ユーザー = 1 スキーマ」が原則で、ユーザー名がそのままスキーマ名になります。たとえば SCOTT ユーザーが作ったテーブル EMP は、外部からは SCOTT.EMP として参照できます。
ユーザー作成 (CREATE USER)
基本構文
CREATE USER ユーザー名 IDENTIFIED BY パスワード
[DEFAULT TABLESPACE 表領域名]
[TEMPORARY TABLESPACE 一時表領域名]
[QUOTA <サイズ> ON 表領域名]
[PROFILE プロファイル名]
[ACCOUNT LOCK | UNLOCK]
[PASSWORD EXPIRE];
実例
-- 最小構成
CREATE USER app_user IDENTIFIED BY "S3cret#Pass!";
-- 表領域とクォータ指定
CREATE USER app_user IDENTIFIED BY "S3cret#Pass!"
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA 500M ON users;
接続権限の付与
ユーザーを作っただけではログインできません。最低限 CREATE SESSION 権限が必要です。
-- ログイン可能にする
GRANT CREATE SESSION TO app_user;
-- 表領域に書き込みできるようにする (QUOTA UNLIMITED で無制限)
ALTER USER app_user QUOTA UNLIMITED ON users;
権限 (PRIVILEGE) の種類
| 分類 | 例 | 付与構文 |
|---|---|---|
| システム権限 | CREATE SESSION / CREATE TABLE / CREATE VIEW | GRANT 権限 TO ユーザー; |
| オブジェクト権限 | SELECT / INSERT / UPDATE / DELETE / EXECUTE | GRANT 権限 ON 表名 TO ユーザー; |
| ロール | CONNECT / RESOURCE / DBA | GRANT ロール TO ユーザー; |
システム権限の例
GRANT CREATE TABLE TO app_user;
GRANT CREATE VIEW TO app_user;
GRANT CREATE PROCEDURE TO app_user;
GRANT CREATE SEQUENCE TO app_user;
オブジェクト権限の例
-- 別ユーザーのテーブルに対する SELECT 権限
GRANT SELECT ON scott.emp TO app_user;
-- 複数権限まとめて
GRANT SELECT, INSERT, UPDATE ON scott.emp TO app_user;
-- WITH GRANT OPTION = さらに他者に再付与可能
GRANT SELECT ON scott.emp TO app_user WITH GRANT OPTION;
ロール (ROLE)
権限を毎回個別に付与するのは煩雑なので、ロールでまとめて管理します。Oracle には事前定義ロールが多数あります。
| ロール | 主な権限 |
|---|---|
| CONNECT | CREATE SESSION(接続のみ) |
| RESOURCE | CREATE TABLE / PROCEDURE / TRIGGER / SEQUENCE 等 |
| DBA | 管理者権限のフル付与 |
-- 自作ロール
CREATE ROLE app_role;
GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW TO app_role;
GRANT SELECT, INSERT, UPDATE ON scott.emp TO app_role;
-- ユーザーに付与
GRANT app_role TO app_user;
権限の剥奪 (REVOKE)
REVOKE CREATE TABLE FROM app_user;
REVOKE SELECT ON scott.emp FROM app_user;
REVOKE app_role FROM app_user;
ユーザー情報の確認
1. 現在のユーザー
SELECT USER FROM DUAL;
-- 例) APP_USER
2. 全ユーザー一覧
SELECT username, account_status, default_tablespace, created
FROM dba_users
ORDER BY created DESC;
3. 付与されている権限
-- システム権限
SELECT * FROM dba_sys_privs WHERE grantee = 'APP_USER';
-- オブジェクト権限
SELECT * FROM dba_tab_privs WHERE grantee = 'APP_USER';
-- ロール
SELECT * FROM dba_role_privs WHERE grantee = 'APP_USER';
パスワード変更・ロック
-- パスワード変更
ALTER USER app_user IDENTIFIED BY "NewS3cret#Pass!";
-- アカウントロック / 解除
ALTER USER app_user ACCOUNT LOCK;
ALTER USER app_user ACCOUNT UNLOCK;
-- 次回ログイン時パスワード変更を強制
ALTER USER app_user PASSWORD EXPIRE;
ユーザー削除 (DROP USER)
-- ユーザー削除(空でない場合エラー)
DROP USER app_user;
-- 所有スキーマ内のオブジェクトごと削除
DROP USER app_user CASCADE;
運用上の注意
- SYS / SYSTEM は管理用。アプリ接続には絶対に使わない
- 本番では最小権限の原則に従い、
RESOURCE/DBAのような強いロールを安易に付与しない - PROFILE でパスワード有効期限・ログイン失敗回数を制限
- パスワード文字列は大文字・小文字・記号を混在させ、引用符 (
"...") で囲んで大文字小文字を保持 - Oracle 12c 以降のマルチテナント (CDB / PDB) ではローカルユーザーは C## 等のプレフィックスが必要なケースあり
関連
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
- 表(テーブル)
- 索引(インデックス)
- ビュー
- 制約
- 順序(シーケンス)
- シノニム
- トリガー
- パッケージ
- ストアド・ファンクション
- ストアド・プロシージャ
- ユーザー(USER)
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- 【django】ログイン 認証機能 2026-09-08 03:22:09
- MySQL ERROR 1063 Incorrect column specifier for column|原因と直し方 2026-09-08 03:11:09
- 【PHPエラー】Object of class stdClass could not be converted to string 2026-09-07 07:46:04
- Julia Genie ローカル開発サーバ起動完全ガイド 2026-09-07 07:46:04
- Wi-Fi とは|規格と世代(Wi-Fi 4〜7)・周波数帯・CSMA/CA・WPA3 NEW 2026-09-07 07:45:13
- set コマンドでシェルオプションと位置パラメータを操作 | bash 2026-09-07 07:45:13
- JPEG(.jpg/.jpeg)画像形式の完全ガイド — 仕様・マジックナンバー・他形式との比較・EXIF 2026-09-07 07:45:13
- UE5 Get Overlapping Actorsで特定クラスだけ処理|Class Filter・Cast To 2026-09-07 07:45:13
- Linuxで特定拡張子のファイルを再帰削除|find -deleteの安全手順 2026-09-07 07:45:13
- Django CBVでテンプレートに値を渡す|get_context_data・extra_context 2026-09-07 07:45:13
- Linuxで複数ファイルの文字列を一括置換|find・sed・xargsの安全手順 2026-09-07 07:45:13
- Laravelルートグループ|prefix・middleware・nameで一括管理 2026-09-07 07:45:13
- Linux whichコマンドの使い方|絶対パス取得とtype・command -vの違い 2026-09-07 07:45:13
- Linux catコマンドの使い方|行番号表示・複数ファイル連結 2026-09-07 07:45:13
- unable to execute 'gcc': No such file or directory 2026-09-07 07:45:13
コメントを削除してもよろしいでしょうか?