WR blog

about Enterprise IT, Oracle Database, Jazz/Fusion Music, etc…

WR blog RSS Feed
 
 
 
 

Archive for January, 2009

CHAPTER 03 データファイルと関連する構成要素

今回のentryでは、「SECTION I Oracleアーキテクチャ概要」の 「CHAPTER 03 データファイルと関連する構成要素」について補足説明します。 この章では、データを格納するファイルである「データファイル」 と1つ以上のデータファイルをグループ化した記憶領域である「表領域」、データファイルへのI/Oのバッファ/キャッシュとして機能する「データベースバッファキャッシュ」について説明しています。

書籍では、いわゆる通常の表領域である「SMALLFILEタイプの表領域」についてのみ説明 しています。ターゲットの観点から書籍では説明していませんでしたが、 Oracle 10gからは新しい表領域のタイプである「BIGFILEタイプの表領域」が導入されています。

BIGFILEタイプの表領域

SMALLFILEタイプの表領域、すなわち従来の表領域が存在した目的の1つに、 複数のデータファイルを束ねた仮想的な記憶域として表領域という概念を用意することで、 Oracleから意識する対象を表領域のみとすること、すなわち、 具体的なファイルの構造や、ファイルが配置されてている ドライブ/パーティション/ファイルシステムを隠蔽して、いわば物理的なストレージを 仮想化することがあったと考えられます。 具体的には、すでにデータファイルを配置しているC:ドライブの空き容量が不足しているときに、D:ドライブに追加のデータファイルを配置することにより、実際のドライブ空き容量に依存せず、表領域のサイズを拡張できるようなメリットを得られるようにしていると いえるでしょうか。

しかし、ストレージ技術の進展により、このようなストレージの仮想化はアプリケーション レベルではなく、それよりも下のレイヤであるストレージやOSのレイヤで実現するケースが増えています。 ストレージのレイヤでは、RAID装置を用いて複数の物理的なディスクを束ねて、1つのボリュームとすることができます。OSのレベルでは、Windowsのダイナミックディスク、UNIX/Linuxでは論理ボリュームマネージャとよばれるソフトウェアにより、複数のパーティションを 1つのボリュームにまとめることができます。

このような背景もあり、表領域のサイズが極めて大きい環境では、Oracleレベルで ストレージを仮想化するのではなく、Oracleよりも下位のレイヤでストレージを仮想化 することが適切な場面が増えてきました。このような状況に適用できる仕組みがBIGFILEタイプの表領域です。

BIGFILEタイプの表領域では、1つの表領域は、1つのデータファイルのみから構成され、 1つのデータファイルの最大サイズは約32TBです。すなわち、表領域の最大サイズは約32TBとなります。 一方、SMALLFILEタイプの表領域では、1つの表領域に最大1022のデータファイルで構成 することができ、1つのデータファイルの最大サイズは約32GBです。すなわち、 表領域の最大サイズは約32TBとなります。 単に表領域全体のサイズから見れば、SMALLFILEタイプとBIGFILEタイプの表領域に 大きな差は無いですが、ファイル管理という面では大きな差があります。 SMALLFILEタイプの表領域で大きなサイズを確保すると、 データファイル数が増えるため管理が非常に煩雑になります。 一方、BIGFILEは1つのデータファイルのみで構成されますから、管理は容易です。

BIGFILEタイプの表領域の作成方法

BIGFILEタイプの表領域は、BIGFILE句を付加したCREATE TABLESPACE文で作成できます。

CREATE BIGFILE TABLESPACE big_ts DATAFILE ‘/path/to/dbf’ size <size>;

表領域のタイプはDBA_TABLESPACESのBIGFILE列で確認できます。

BIGFILEタイプの表領域の注意点

BIGFILEタイプの表領域は、OS/ストレージレベルで複数をディスクを束ねる仮想化の 仕組みが存在していることを前提としています。

BIGFILEタイプの表領域が必要なような超大容量データベースでは、パラレル処理を 使う機会も多いため、OS/ストレージレベルでパラレル処理を効率的に実行できる必要が あります。具体的には、ストレージをストライプ化し、多重化されたストレージI/O要求を 効率的に処理できるようにするなどです。

BIGFILE表領域という技術を、管理すべきデータファイル数を削減するという点で見る のではなく、従来の表領域で担っていた部分である、ストレージの分散などの機能を OS/ストレージ側に任せるようになったという点で見ることが重要です。

Oracleの文字化けに関する記事を執筆しました。

Oracleトラブル対策の基礎知識(5)文字化けに関するトラブルに強くなる【基礎編】

Oracleの文字コードの扱いの基本、文字化けのトラブルシューティングの概要について @ITに記事を執筆しました。 自分の勤務先で持ち回りで担当している Oracleトラブル対策の基礎知識 の文字化けに関連した記事となります。

今回の記事に執筆に当たっては、用語の導入を必要最小限にすることに留意しました。 文字コードについて正確に理解したり、応用の効く基礎知識を得るという観点では、 文字集合や文字列符号化方式などについて理解すべきなのですが、 Oracleに限定した文字コードの扱いについて、てっとり早く理解したいというニーズ もあると考えたためです。

なお、文字化けについては、2回構成となっており、 次回は、チルダ文字化けとJIS X 0213(Unicodeサロゲートペア)について説明する予定 ですので、よろしければこちらもご覧ください。

Developers Summit 2009でお話させていただきます!

Development Style(DB)

なんとDevelopers Summit 2009(2/13(金) 13:10~14:00 at 目黒雅叙園)にてお話させていただくことになりました! 講演のタイトルは「プロとしてのOracleアーキテクチャ入門 ~番外編~」です。 来場される方の担当業務としては、DBA、インフラ設計よりはむしろ SQL/プログラム開発の方が多いのかなという判断で、 SQL実行/チューニングにまつわる Oracleアーキテクチャについてお話させていただきます。 書籍「プロとしてのOracleアーキテクチャ入門」でいうと、 「CHAPTER 13 問い合わせ処理の仕組み」+αの内容になると思います。

「テクノロジーの変化を体感するためのDevelopmentStyle 2.0」というテーマに 沿うよう、11g新機能や知られていないテクノロジを紹介できるように準備を進めてい ますが、SQL/プログラム開発の方にターゲットを絞っている関係上、 内容的には基本的/基礎的なものになるかと思いますので、この点、あらかじめご了承 ください。

さて、具体的には、以下の内容についてお話させていただく予定です。

SQL実行のためのOracleアーキテクチャ 実行計画とCBO ヒストグラムと最適なアクセスパス SQL開発におけるOracleアーキテクチャ特有の注意点

オプティマイザ統計の重要性 共有プールのflush バインドピーク

それでは、当日会場でお会いできることを楽しみにしています。

Profile

Jazz/Fusion Musicを愛するIT技術者です。 現在、Oracle Database 関連の仕事をしています。

保有資格

  • Oracle Master 10g Platinum
  • Oracle Master 11g Gold
  • Oracle Master Expert 10g RAC
  • Oracle Master Expert Oracle on Linux
  • LPIC level2
  • 日商簿記3級

連絡先

ご連絡は、wrcsus4 _at_ gmail _dot_ com にお願いいたします。

 

January 2009
M T W T F S S
« Nov   Mar »
 1234
567891011
12131415161718
19202122232425
262728293031  

Recent Posts

Recent Comments

Tags

Categories

Pages

Archives

Meta