Oracle管理者のためのSQLリファレンス
■ユーザーの確認/作成/変更/削除
Oracleデータベースにアクセスするアプリケーションは、データベースに定義されている有効なユーザー名を使用してインスタンスに接続する必要があります。ユーザーの作成、変更、削除といった管理は適切なSQLを発行することで行います。(SQLの表記ルールは、こちらから参照できます)
ユーザー情報を確認する | |
SELECT * FROM user_users; |
|
┗ | ユーザーのデフォルト表領域、一時表領域、アカウントがロックされているかどうか、などを確認するには、USER_USERSまたはDBA_USERSに問い合わせます。USER_USERSではデータベースに接続しているユーザー自身の情報のみを確認できます。すべてのユーザーの情報を確認するにはDBA_USERSに問い合わせますが、このビューにアクセスするにはSELECT ANY TABLE権限が必要です。この権限は、デフォルトでDBAロールに割り当てられます。 |
関連項目:権限を確認する ロールを確認する |
ユーザーの表領域クォータを確認する | |
SELECT * FROM user_ts_quotas; |
|
┗ | ユーザーのデフォルト表領域、割り当てられたバイト数/ブロック数、割当て制限バイト数/ブロック数を確認するには、USER_TS_QUOTASまたはDBA_TS_QUOTASに問い合わせます。USER_TS_QUOTASではデータベースに接続しているユーザー自身の表領域情報のみを確認できます。すべてのユーザーの表領域情報を確認するにはDBA_TS_QUOTASに問い合わせますが、このビューにアクセスするにはSELECT ANY TABLE権限が必要です。この権限は、デフォルトでDBAロールに割り当てられます。 |
関連項目:権限を確認する ロールを確認する |
すべてのユーザーを確認する | |
SELECT * FROM all_users; |
|
┗ | 現在作成されているすべてのユーザーを確認するには、ALL_USERSに問い合わせます。ユーザー名、ユーザーID、作成日を確認できます。 |
関連項目:ユーザー情報を確認する |
ユーザーを作成する | |
CREATE USER user |
|
┗ | 新規にユーザーを作成するにはCREATE USER文を使い、IDENTIFIED句で認証方法を指定します。BY
passwordではログイン時にパスワードの入力が必要になります。EXTERNALLYはユーザー認証にOSなどの外部サービスを使用します。GLOBALLY
ASに続けて識別子を記述すると、エンタープライズ・ディレクトリ・サービスによるユーザー認証を行います。これ以外の指定はオプションです。 DEFAULT TABLESPACE句 ユーザーの表領域を割当てるにはDEFAULT TABLESPACE句を使用し、表領域名を指定します。この句を省略するとSYSTEM表領域が割り当てられますが(デフォルトの表領域が指定されていない場合)、通常は、SYSTEM表領域以外の表領域を割り当てます。 TEMPORARY TABLESPACE句 ユーザーの一時セグメントの表領域または表領域グループの割当てるにはTEMPORARY TABLESPACE句を使用し、表領域名または表領域グループ名を指定します。この句を省略するとSYSTEM表領域が割り当てられますが(デフォルトの表領域が指定されていない場合)、通常は、SYSTEM表領域以外の表領域を割り当てます。 QUOTA句 表領域内に割り当てる領域をQUOTA句で指定できます。UNLIMITEDを使用すると、ユーザーは、表領域の領域を無制限に割り当てることができます。0を指定すると、新規割り当てはできなくなります。 PROFILE句 ユーザーに割り当てるプロファイルはPROFILE句で指定します。この句を省略した場合は、DEFAULTプロファイルが割り当てられます。 PASSWORD EXPIRE句 ユーザーのパスワードを期限切れにするには、PASSWORD EXPIRE句を使用します。これにより、ユーザーはデータベースにログインする前にパスワードの変更が必要となります。 ACCOUNT句 ユーザー・アカウントをロックしアクセスを禁止するには、ACCOUNT句でLOCKを指定します。UNLOCKを指定すると、ユーザー・アカウントのロックを解除できます。 このコマンドを発行するには、CREATE USERシステム権限が必要です。データベースにログインするにはCREATE SESSIONシステム権限が必要ですので、ユーザーを作成したらCREATE SESSIONシステム権限を付与します。 |
関連項目:ユーザーの定義を変更する 権限を確認する システム権限を付与する |
ユーザーの定義を変更する | |
ALTER USER user ALL
[EXCEPT role [, role …]]
| |
|
┗ | ユーザーの認証や特性を変更するには、ALTER USER文を使用し必要な変更を指定します。ユーザー自身がパスワードを変更する場合を除き、ALTER
USERシステム権限が必要です。 DEFAULT TABLESPACE句 ユーザーの表領域を割当てるにはDEFAULT TABLESPACE句を使用し、表領域名を指定します。この句を省略するとSYSTEM表領域が割り当てられますが(デフォルトの表領域が指定されていない場合)、通常は、SYSTEM表領域以外の表領域を割り当てます。 TEMPORARY TABLESPACE句 ユーザーの一時セグメントの表領域または表領域グループの割当てるにはTEMPORARY TABLESPACE句を使用し、表領域名または表領域グループ名を指定します。この句を省略するとSYSTEM表領域が割り当てられますが(デフォルトの表領域が指定されていない場合)、通常は、SYSTEM表領域以外の表領域を割り当てます。 QUOTA句 表領域内に割り当てる領域をQUOTA句で指定できます。UNLIMITEDを使用すると、ユーザーは、表領域の領域を無制限に割り当てることができます。0を指定すると、新規割り当てはできなくなります。 DEFAULT ROLE句 ログイン時にデフォルトでユーザーに付与されるロールを指定するには、DEFAULT ROLE句でロール名を指定します。複数のロール名を指定するか、ALL句ですべてのロールを付与するか、ALL EXCEPT句で付与しないロール名を指定するか、ロールを付与しないNONEを使用できます。 PROFILE句 ユーザーに割り当てるプロファイルはPROFILE句で指定します。この句を省略した場合は、DEFAULTプロファイルが割り当てられます。 PASSWORD EXPIRE句 ユーザーのパスワードを期限切れにするには、PASSWORD EXPIRE句を使用します。これにより、ユーザーはデータベースにログインする前にパスワードの変更が必要となります。 ACCOUNT句 ユーザー・アカウントをロックしアクセスを禁止するには、ACCOUNT句でLOCKを指定します。UNLOCKを指定すると、ユーザー・アカウントのロックを解除できます。 |
関連項目:ユーザーを作成する |
ユーザーを削除する | |
DROP USER user [CASCADE]; |
|
┗ | ユーザーを削除するには、DROP USER文を使用します。CASCADEを指定すると、そのユーザーのスキーマ内にあるすべてのオブジェクトを削除できます。所有するスキーマにオブジェクトが含まれているユーザーは、CASCADEを指定しないと削除できません。 |
関連項目:ユーザーを作成する |
Oracle管理者のためのSQLリファレンス |
Oracle関連記事リンク集 | |
Database Expert フォーラム 新着記事
- Oracleライセンス「SE2」検証 CPUスレッド数制限はどんな仕組みで制御されるのか (2017/7/26)
データベース管理システムの運用でトラブルが発生したらどうするか。DBサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は、Oracle SE2の「CPUスレッド数制限」がどんな仕組みで行われるのかを検証します - ドメイン参加後、SQL Serverが起動しなくなった (2017/7/24)
本連載では、「SQL Server」で発生するトラブルを「どんな方法で」「どのように」解決していくか、正しい対処のためのノウハウを紹介します。今回は、「ドメイン参加後にSQL Serverが起動しなくなった場合の対処方法」を解説します - さらに高度なSQL実行計画の取得」のために理解しておくべきこと (2017/7/21)
日本オラクルのデータベーススペシャリストが「DBAがすぐ実践できる即効テクニック」を紹介する本連載。今回は「より高度なSQL実行計画を取得するために、理解しておいてほしいこと」を解説します - データベースセキュリティが「各種ガイドライン」に記載され始めている事実 (2017/7/20)
本連載では、「データベースセキュリティに必要な対策」を学び、DBMSでの「具体的な実装方法」や「Tips」などを紹介していきます。今回は、「各種ガイドラインが示すコンプライアンス要件に、データベースのセキュリティはどのように記載されているのか」を解説します
|
|