プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Oracle
  • 【Oracleアーキテクチャ】「ユーザー」と「スキーマ」について
 
 
     
  • サーバー言語  
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Oracleアーキテクチャ】「ユーザー」と「スキーマ」について

05.23

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

スキーマとは?

ユーザーが所有するテーブル、索引等のオブジェクトを含む論理的なコンテナです。

オブジェクトを格納する表領域とはまた別の概念になるので注意です。

ユーザーとの関連

ユーザーとは、想像通りのOracleにログインできるユーザーになります。

スキーマの所有者は、そのオブジェクトを作成したユーザーです。ユーザーと、同名のスキーマになります。

「表領域」と、「スキーマ」の違いは?

「表領域」も「スキーマ」もどちらも、テーブルや索引等のオブジェクトを含む論理的な概念であり、違いが分かりにくいですよね。

違い1:データ(テーブル、インデックス等)の共有範囲が異なる。

「表領域」は、単にテーブルの中身が格納される領域として、複数ユーザーで共有できます。

それに対して、「スキーマ」はあくまでユーザーに1:1で紐づくので、複数ユーザーで共有できません。

違い2:バックアップの単位が違う。

Oracleのバックアップや、リカバリは「表領域単位」で行います。

なので、スキーマを別々の表領域に格納した方が、別々にバックアップやリカバリができて便利です。

なお、スキーマ単位でもバックアップは取れますが、通常のバックアップというよりは、エクスポートという扱いになります。

ユーザー

Oracleでユーザーを作成する際の設定項目としては下記があります。

  • ユーザー名
  • パスワード
  • デフォルト表領域
  • デフォルト一時表領域
  • 権限
  • ロール
  • クオータ
  • ユーザープロファイル

ユーザー名、パスワード

これは、説明するまでもないでしょう。割愛します。

デフォルト表領域

オブジェクトを作成する際に、格納先の表領域を指定しなかった場合に、格納される表領域です。

ユーザー作成時に「DEFAULT TABLESPACE句」を使用します。

デフォルト一時表領域

SQL実行時に、一時セグメントが必要になった際に、一時セグメントが格納される領域です。

権限

特定の操作を実行するための権限で、下記三つに分類できます。

オブジェクト権限

特定のオブジェクトに対する権限です。

オブジェクト権限の一例
権限 説明
SELECT テーブルに問い合わせることができる権限
UPDATE テーブルデータを更新することができる権限
INSERT テーブルデータを挿入することができる権限
ALTER テーブル定義変更権限

システム権限

システムに対する権限です。

システム権限の一例
権限 説明
ALTER DATABASE データベースの変更ができる。
CREATE TABLE 権限を付与したスキーマ内でのテーブル作成
CREATE USER ユーザーの作成

強力なシステム権限

下記二つの権限は、システム権限の中でも、DB作成、起動、停止、バックアップ、リカバリ等のDB管理の強力なシステム権限を持ちます。

  • SYSDBA権限(より強力)
  • SYSOPER権限(SYSDBAよりは権限が弱い)

なお、デフォルトでSYSユーザーは、SYSDBA権限を持っています。

ロール

複数の権限をまとめたものです。

クオータ(表領域割り当て制限)

ある表領域内で、ユーザーが使用できる上限のサイズです。

複数ユーザーで表領域を共有する場合に、特定ユーザーが表領域を使いすぎてしまうのを避けるためです。

ユーザー作成時に「QUOTA句」を使用します。

ユーザープロファイル

ユーザーが使用できる各種リソースに制限を課すことができます。

スポンサーリンク
  • 2018 05.23
  • miyabisan2
  • コメントを書く
  • Oracle
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2018 05.05

    【SQL】パフォーマンスを考えるに当たり必要な「結合」の知識(Oracle)

  2. 2018 05.27

    【Oracleアーキテクチャ】「REDOログファイル」、「REDOログバッファ」について

  3. 2018 04.30

    【Oracleアーキテクチャ】「共有プール」の構造や仕組みについて

  4. 2018 05.28

    【Oracleアーキテクチャ】「制御ファイル」について

  5. 2018 05.21

    【PL/SQL】繰り返し制御

  6. 2018 05.23

    【Oracleアーキテクチャ】「データベースリンク」について

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Oracleアーキテクチャ】「データファイル」の構造…

【Oracleアーキテクチャ】「データベースリンク」に…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • API
  • AWS
  • C++
  • CSS
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Git
  • GitLab
  • GraphQL
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • WebRTC
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 業務知識
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー