Rainbow Engine

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

OracleDB

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

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

(0) 目次

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

(1) 表領域の作成

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

create tablespace RBWEGTBS
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審査用広告コード


-OracleDB

執筆者:


comment

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

関連記事

OracleDB11gのキャラクタセットを変更する手順について(手順編)

(0)目次&概説 (1) 記事の目的 (2) キャラクタセット変更手順  (2-1) CSSCAN実行の準備   (2-1-1) csminst.sqlファイルの確認   (2-1-2) SQL*Pl …

Linuxサーバ(CentOS6)にOracleDB11gをインストールする(その4)

掲題の通り、LinuxにOracleDB(11g)をインストールする方法について書きます。 「(その3)」の続編記事です。 https://rainbow-engine.com/2017/05/05/ …

Oracleデータベースのインデックスの有無による速度の差異を検証する

(0)目次&概説 (1) 検証概要 (2) 検証環境 (3) 検証準備  (3-1) サンプルデータ作成(インデックス無)  (3-2) サンプルデータ作成(インデックス有)  (3-3) 実行計画の …

Oracle DBでサンプルスキーマを作成する手順について

<目次> (1) Oracle DBでサンプルスキーマを作成する手順について  (1-1) はじめに  (1-2) (STEP1)ダウンロード  (1-3) (STEP2)準備  (1-4) (STE …

OracleDB11gのキャラクタセットを変更時に遭遇したエラーの対処方法

(0)目次&概説 (1) 記事の目的 (2) キャラクタセット変更手順 (3) 失敗した場合のリカバリ手順 (4) 用語説明 (5) エラー対応  (5-1) エラー:error while load …

  • English (United States)
  • 日本語
Top