Rainbow Planet (GT×IT×SP×SA)

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

01_IT技術 (Technology) 02_OracleDB

OracleDB11g で新規表領域とスキーマの作成

投稿日:2017年8月21日 更新日:

(0) 目次

(1) 表領域の作成
(2) スキーマの作成
(3) スキーマの接続権限を付与
(4) 用語解説

(1) 表領域の作成

表領域とデータベースファイル(dbf)を以下のコマンドで作成します。

create tablespace RBWEGUSR
DATAFILE '/u01/app/oracle/oradata/orcl/rbweg.dbf' SIZE 2M;

◆コマンド実行前

◆コマンド実行

◆コマンド実行後
・dbfが追加されたことの確認
(赤丸の”rbweg.dbf”が追加されました)

・表領域が追加されたことの確認

SELECT * FROM DBA_TABLESPACES;

(TABLESPACE_NAME=RBWEGTBSが追加された)

・表領域の容量確認

SELECT * FROM DBA_FREE_SPACE;


目次にもどる

(2) スキーマの作成

続いてスキーマを新規作成します。
XXXXXXXには各自のパスワードが入ります。
設定したパスワードはデータディクショナリ内のテーブルに格納されます。データディクショナリとはDB内の全オブジェクトの名前や属性の情報を保持しているテーブル群の名称で、SYSTEM表領域に保持されます。しかしユーザーは表への直接のアクセスが出来ず、ビュー(データディクショナリビュー)を通じて参照を行います。ビューの接頭辞は「DBA_」や「ALL_」や「USER_」などがあり、その中でも「DBA_」はDBAの権限があるユーザーのみアクセス可能です。また「IDENTIFED EXTERNALLY」がOS認証で、「IDENTIFIED GLOBALLY AS ‘外部認証名’」がグローバル認証です。

CREATE USER RBWEGUSR
IDENTIFIED BY XXXXXXX
DEFAULT TABLESPACE RBWEGTBS
TEMPORARY TABLESPACE TEMP  /* 一時表領域はソートや結合処理に利用される */

ちなみに1を飛ばして2を実行すると、表領域が無い旨のエラーが出ます。
以下、実行時の例です。

◆コマンド実行

◆コマンド実行後
・スキーマが作成されたことの確認
(USERNAME=RBWEGUSRが作成された)

目次にもどる

(3) スキーマの接続権限を付与

作成したスキーマ(RBWEGUSR)へ接続する権限を付与します。

GRANT CONNECT, RESOURCE TO RBWEGUSR;
/* CONNECT:ログインする(SESSIONを繋ぐ)ことが出来るような権限を含んだロール */
/* RESOURCE:テーブル作成権限等がある、開発者用に用意されているロール */

◆コマンド実行後に接続を確認

(参考)先ほどGRANTはUSER_ROLE_PRIVESテーブルから参照できます。

目次にもどる

(4) 用語解説

●表領域とは?

表やビューや索引などのDBオブジェクトを格納するための論理的な領域で、物理的にはデータベースファイル(.dbf)が紐付きます。表領域には一つ以上のデータベースファイル(.dbf)が紐付き1対Nになります。表領域の区切り方は「索引用」や「テーブル用」などシステム的に区切る事も出来ますし、「人事用」や「総務用」など業務観点で区切る事もできます。Oracleは標準でいくつかの表領域を提供していて、例えばSQL文の処理中に生成された一時データを格納する「TEMP」表領域や、UNDO情報を保持する「UNDOTBS」や、DB管理のための情報を保持する「SYSTEM」などがあります。 ちなみに「物理構造」とはOS上から見える物理ファイルの構造の事で、OS上から移動やコピー等の操作が可能です。一方で「論理構造」はOSからは見えない部分で、DBのデータの管理をし易くする目的でOracleが内部的に作成・認識する構造の事です。
 
●表領域のタイプ
表領域には「永続」「UNDO」「一時」の3種類があります。永続は主に表や索引などの格納に使用し、UNDOはUNDOセグメント専用で、一時はソート処理や一時表の作成に利用されます。
 
●スキーマとは?
DBユーザが所有するオブジェクト(表やビュー等)の論理集合です。DBユーザーは自身と同じ名前のスキーマを所有し、他ユーザの干渉なく利用できます(権限付与しない限り)。Oracleの世界においては「スキーマ」≒「ユーザー」であり、”CREATE USER”を実行するとユーザと一緒にスキーマもOracleにより自動で作成されます。イメージとしてユーザー≒人、スキーマ≒人の所有物リスト、表領域≒本棚の一区画、表やビュー≒本のようなイメージでしょうか?。また「表領域」は複数の「スキーマ」からのデータを格納でき、「スキーマ」は複数の「表領域」の記憶域を使用できるため、表領域:スキーマはN:Mになります。

目次にもどる

以上です。

Adsense審査用広告コード


Adsense審査用広告コード


-01_IT技術 (Technology), 02_OracleDB

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

VBAで画像を分類に応じて適切なフォルダに仕分けるプログラム

(0)目次&概説 (1) マクロ概要 (2) 使用方法 (3) アルゴリズム概要 (4) プログラム (1) マクロ概要 本マクロは画像ファイルを適切なフォルダに仕分けるためのマクロです。前提として、 …

WindowsのcmdからJavaファイルを作成・コンパイル・実行する方法

“Windows”の「コマンドプロンプト」からJavaファイルを作成・コンパイル・実行する方法について記述します。今回の操作は全てコマンドラインインターフェイスから実施いたしま …

ORA-03113 end-of-file on communication channelエラーの対処

”ORA-03113 end-of-file on communication channel”の対処法について記述します。 (0) 目次 (1) 解析 (2) 原因 (3) 対策 (4) 解説  ( …

【PL/SQL】”UTL_FILE”パッケージを利用して”.TXT”を読み込む方法

今回はPL/SQLのUTL_FILEパッケージを利用して、サーバ内にあるテキストファイルを読み込むプロシージャを作成したいと思います。 (0) 目次 (1) 事前準備:ディレクトリオブジェクトの作成( …

VBAによる郵便番号の正規表現マッチ確認関数&置換関数の作成

(0)目次&概説 (1) 正規表現とは (2) 正規表現はどのような場面で利用される? (3) VBAによる正規表現の簡易チェックツール  (3-1) 郵便番号を抽出したい  (3-2) 正規表現が正 …

Top