CREATE USER によるユーザーの作成
ユーザーの作成は、CREATE USER という DDL (Data Definition Language) にて行なう。
ユーザーを作成することでスキーマも作成される。
基本的な CREATE USER の構文
説明のパート毎にリンクになっています。
CREATE USER my_name
IDENTIFIED BY "my_password"
[DEFAULT TABLESPACE my_tablespace]
[TEMPORARY TABLESPACE my_temp_tablespace]
[PROFILE my_profile]
CREATE USER 文 の説明
CREATE USER 〜 で指定したユーザー名 (my_name) でユーザーを作成する。
IDENTIFIED BY
ログインに使用するパスワードを設定する。Oracle 11g からパスワードの大文字小文字を区別するようになったので要注意。
DEFAULT TABLESPACE
このユーザーが CREATE TABLE や CREATE INDEX など、スキーマ・オブジェクト を作成するときのデフォルトの格納先(デフォルトの 表領域)を指定する。
省略可能であるが、省略すると SYSTEM 表領域 がデフォルトになる (※)
初めて DBCA でデータベースを作成した場合には USERS を指定しておく。
(※) システム表領域は Oracle が使用する表領域であり、かつ、ごみ箱機能が無効になっているので USERS 表領域などを使用することを強くお勧めする。
TEMPORARY TABLESPACE
Oracle が使用する作業用の表領域を指定する。メモリ内で収まらないソート、索引の作成や表の結合処理などの一時ワークエリアとして使用される。
省略可能であるが SYSTEM 表領域 がデフォルトになる。DEFAULT TABLESPACE 同様、省略しない方が良い。
初めて DBCA でデータベースを作成した場合には TEMP を指定しておく。
PROFILE
ユーザーが使用する プロファイル を指定する。
省略時には、事前定義済の DEFAULT プロファイルが設定される。
CREATE USER 使用例
SQLPlus にて my_nameというユーザを作成する。
SQL> conn / as sysdba
接続されました。
SQL> CREATE USER rivus
2 IDENTIFIED BY "RIVUS_PASS"
3 DEFAULT TABLESPACE users
4 TEMPORARY TABLESPACE temp
5 /
ユーザーが作成されました。
⇒ SYSDBA
好き勝手に動かしてもよいテスト環境であれば、DBA ロールの付与と表領域の使用量を無制限にしておくと良い。
SQL> GRANT DBA TO RIVUS ;
権限付与が成功しました。
SQL> GRANT UNLIMITED TABLESPACE TO RIVUS ;
権限付与が成功しました。
⇒ DBA ロール
ユーザー関連事項