Oracleの表領域についてまとめてみた

Published: 2016年2月5日 by tomsato

◼︎ 概要

Oracle勉強シリーズ

◼︎ 表領域について

表領域は表や索引などのデータベースのオブジェクトを格納する入れ物と考えられる
各表領域に対して1つ以上のデータファイルが作成される

データベースでは表(データ)を論理的には表領域に格納し、物理的には表領域に関連付けられたデータファイルに格納する

用語 説明
表領域
データベース内のオブジェクトをグループ化して格納するための領域
表領域に対して1つ以上のデータファイルが作成される
また表領域には複数のセグメントを格納できる
セグメント
表や索引、UNDOセグメントなどのデータベースオブジェクトによって使用される領域
1つのオブジェクトが1つのセグメントになる
セグメントには、データの種類によっていろいろなタイプがある(表セグメント、索引セグメントなど)
同じ表領域内であれば複数のデータファイルに跨ることも可能
セグメントの領域はエクステント単位で割り当てられ、割り当てられたエクステントが満杯になったら
そのセグメントに対して新しいエクステントが割り当てられる
エクステント
1回の割り当てで取得される特定数の連続したデータブロック
エクステントのサイズは表領域の作成時に指定できる
1つのエクステントはデータファイルを跨ぐことはできない
データブロック
I/Oの最小単位
データブロックにはデータが格納される
オブジェクトが表であれば1つのデータブロックに複数の行を格納できる

◼︎ 表領域の作成方法について

CREATE TABLESPACE 表領域名>
  [DATAFILE データファイル名 [SIZE ファイルサイズ]]
  [AUTOEXTEND {OFF | ON NEXT サイズ [MAXSIZE {UNLIMITED | サイズ}]}]
  [MINIMUM EXTENT エクステントサイズ]
  [BLOCKSIZE ブロックサイズ]
  [LOGGING | NOLOGGING]
  [ONLINE | OFFLINE]
  [PERMANENT | TEMPORARY]
  [SEGMENT SPACE MANAGEMENT [MANUAL | AUTO]]
;

作成例

//表領域を8Gで作って、同じサイズのデータファイルをもう一本作るときの例
CREATE TABLESPACE SQLBENCHMARK
  DATAFILE '+DATA' SIZE 8G
  AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
  EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
  
ALTER TABLESPACE SQLBENCHMARK ADD DATAFILE '+DATA' SIZE 8G AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;

◼︎ 表領域の確認方法

USER_TABLESPACESに情報があるっぽい
(ログインしているユーザーがアクセスできる表領域を示します)

SQL> select * from USER_TABLESPACES;

コメントを書く

※ 個別に返信が必要な時のみご記入ください

※ Emailは公開されません

※ 承認されると名前・コメントが下記に表示されます

コメント一覧

最近の投稿

ビジュアルリグレッションテストについてまとめ、ネットで調べると数多くのライブラリがありどれがどんな立ち位置なのか全体像がわかりずらかったのでどんな種類があるのか入門の入門としてまとめます、またPlaywrightを使って実際に触ってみました

社内ツールなどの超小規模なAPIをGolangで実装する際にフレームワークを使うべきかを、実際にnet/httpを使った実装とフレームワークを使った実装を比較することでどれだけ優位性があるかを見ていきたいと思います。今回はフレームワークにはシンプルで使いやすそうなEchoを使うことにします。

vue-pdfを使ってNuxt.jsで作成しているアプリケーションに pdfスライドを表示させるサンプルを作成しました README.md通りに実装してもうまくいかないところがあったのでそのあたり含めてまとめます

Vue.js / Nuxt.jsにおけるログインの実装方法をまとめる Auth0やNuxt.jsのAuth Moduleとmiddlewareについて調べつつサンプルを作成することで理解を深める

コンポーネント設計について考える Atomic DesignやPresentational Component, Container Componentについてまとめつつ 自分だったらVue.js / Nuxt.jsでどういうコンポーネント設計にするかについてまとめます

カテゴリ一覧

タグ一覧