ネームスペース

オラクルのネームスペースは以下でグループ化されている。 あるネームスペース(名前空間)においては同じ名前は 2 つ存在しないということである。 逆からいうとネームスペースが異なれば同じ名前が使用できるということになるが、スキーマ・オブジェクトに同じ名前を使用すると 混乱を招くことがあるので要注意である。

スキーマオブジェクト(グループ1)

次のスキーマ・オブジェクトは、1つのネームスペースを共有している。

表、ビュー、順序、プライベート・シノニム
スタンドアロン・プロシージャと同ファンクション
パッケージ マテリアライズド・ビュー、ユーザー定義型

同一ネームスペースでは、タイプが異なっても同じ名前は使用できない。

スキーマオブジェクト(それぞれ独立したグループ)

次の各スキーマ・オブジェクトは、別々のネームスペースである。

  • 索引
  • 制約
  • クラスタ
  • データベース・トリガー
  • プライベート・データベース・リンク
  • ディメンション
テーブル名と主キーは同じ名前が使用できるが人為的ミスを起こすかもしれない。
構文は違うもののインデックスとテーブルを間違えて DROP したら冷や汗ものです。

非スキーマ・オブジェクト

次の各非スキーマ・オブジェクトも、別々のネームスペースである。

  • ユーザー・ロール
  • パブリック・シノニム
  • パブリック・データベース・リンク
  • 表領域
  • プロファイル
  • パラメータ・ファイル(PFILE)およびサーバー・パラメータ・ファイル (SPFILE)
これらのネームスペース内のオブジェクトはスキーマに含まれないため
データベース全体で使用されるネームスペースになっている。

USERENV ネームスペースで利用しそうな定義のピックアップ

SYS_CONTEXT または USERENV ファンクションで使用する。

定義名内容
AUTHENTICATION_TYPE認証方法(DATABASE|OS|NETWORK|PROXY)
DB_UNIQUE_NAMEDB_UNIQUE_NAME
HOSTクライアント
IP_ADDRESSクライアントIPアドレス
ISDBADBA権限の有無
MODULEモジュール名 (SQLPLUS など)
OS_USERクライアントユーザー名
SESSION_USER接続ユーザー名
TERMINALターミナルの情報
SERVER_HOSTDB サーバーの HOSTNAME
NLS_DATE_FORMAT日付フォーマット(セッションパラメータ)
日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ Oracle のライセンスがわからない…
Oracle Direct (ネットで聞いても最後はここで要確認)