実践4日目:10日でおぼえられるの!?「10日でおぼえるOracle 11g 入門教室」

4日目 「Oracle Databaseのアーキテクチャ


4日目は3時限まであります。
気合入れて進めます!


■1時限目 記憶領域について
1) 表領域とデータファイルについて確認する

表領域→表や索引などのオブジェクトを格納する論理的なディスク領域
データファイル→OSで管理するための物理的なディスク領域

んー、なんとなくわかるようなわからないような・・・。
とりあえず書籍どおりEnterprise Managerを使って実際に画面を確認していきたいと思います。


表領域の一覧

名前、割当済サイズ、使用されている領域・・・読んだままでなんとなく理解。
エクステント管理・・・エクステント?

                                          • -

エクステントとは、ハードディスクやMOディスクなどの外部記憶装置に記録された理的に連続した記憶領域のことである。

                                          • -

by IT用語辞典バイナリ

なるほど。

エクステント管理方法として「LOCAL」と「DICTIONALY」の二つの選択肢があるようです。
DICTIONARY・・・ディクショナリ?

                                          • -

データ・ディクショナリOracleデータベースで最も重要な部分の1つであり、データベースに関する情報を提供する読取り専用の表の集合です。

                                          • -

by ドキュメント:Oracle Database 概要 10gリリース2(10.2)


通常はローカル管理のようです。画面をみてもデフォルトでLOCALになっていますね。


次に表領域一覧の“USERS”情報を選択し、「データファイル」を確認します。

画面左下の「編集」をクリックして、データファイル情報を確認。

画面上部のタブメニュー、「記憶域」「しきい値」もそれぞれ確認していきます。

しきい値・・・
普段はあまり聞きなれないのですが、言葉のとおり一般に境界線、境目のことを指し、今回の画面では、使用済領域の割合がどれくらいのしきい値に達したら「警告」又は、「クリティカル」アラートを出すかを指定できるようです。
書籍のワンポイントにも解説ありました。

2)REDOログ・ファイルについて
REDOログとはデータベースの変更履歴(作業履歴)のことみたい。書籍にも説明ありますが以下も詳しく掲載されています。

REDOログ
by Shift the Oracle

では早速管理画面を見ていきたいと思います。

REDOログ・グループの一覧

項目の意味が理解しにくいのは「アーカイブ済」のところでしたが、この辺は後で解説があるらしいので、次へ進みます。

3) 制御ファイルについて確認する

制御ファイルの一覧

項目的には見たまま理解できそうですが、右上にある「トレースにバックアップ」ボタンが気になりました。
書籍のワンポイント・アドバイス欄とヒント欄それぞれに補足説明があります。
言葉のとおり、トレースファイルが格納されている場所に制御ファイルがバックアップされるようです。

トレースファイル

by OTN:Oracle Database 管理者リファレンス

これで1時限目は終了ですが、解説ページでは今回学んだ以下キーワードに関連した細かな説明が掲載されていました。

                                                                                      • -

・記憶領域について

                                                                                      • -

データベースに格納されているデータの単位「ブロック」「エステント」などの説明
セグメント用途ごとの種類
UNDOセグメントの説明
データ・ブロックに関しては、2日目でもお世話になった
溝渕寛和さんのサイトにも説明がありました!
Oracle データブロック

                                                                                      • -

・表領域

                                                                                      • -

表領域には5種類ほど種類があるようです。
「SYSTEM表領域」「SYSAUX表領域」「USERS表領域」「TEMP表領域」「UNDO表領域」

                                                                                      • -

REDOログ・ファイル

                                                                                      • -

REDOログ・ファイルの役割と、REDOログ・ファイルの「アーカイブログ・モード」「ノーアーカイブログ・モード」(これらは10日目にも出てくるらしいので、それまで覚えておかなくちゃ)とミラーリングの説明。

                                                                                      • -

・制御ファイル

                                                                                      • -

制御ファイルに格納されている情報の紹介。
制御ファイルが壊れるとデータベースが停止するんですね。恐ろしい。


■2時限目 メモリーの管理について

1) メモリーについて確認する
引き続きEnterprise Managerの画面を確認していきます。

モリーアドバイザ画面(SGAの情報表示)

モリーアドバイザ画面(PGAの情報表示)

初心者の私にはちょっとした間違い探しのようにしか見えません(笑)

SGA・・・System Global Area
PGA・・・Program Global Area
System用のメモリー領域とProgram用のメモリー領域?


詳細は2時限目の最後の解説に記載がありますがWebでも調べてみました。

※SGA、PGAと略語で検索すると、別のワードで引っかかる傾向にあるので
フルで入力して検索した方がいいですね。

あまり情報が無かったのですが、やっぱり困ったときのウィキペディアです。
SGAとPGA

2) 初期化パラメータについて確認する

初期化パラメータ情報画面

そして「SPFile」画面がこれ

これまた、間違い探しのようですが・・・

                                                                                      • -

・初期化パラメータ

                                                                                      • -

初期化パラメータではデータベース全体に関わる設定を行います。初期化パラメータはデータベースを起動する時の一番初めに読み込まれます。

ふむふむ。

                                                                                      • -

・Spfile

                                                                                      • -

初期化パラメータのファイル形式には「PFILE」と「SPFILE」の2種類。
PFILE:テキストファイル形式
SPFILE:バイナリファイル形式

PFILEで運用する場合はデータベース起動中に値を変更することはできませんが(再起動が必要)、SPFILEでの運用の場合はデータベース起動中に値を変更して反映することができます。(再起動が必要なパラメータもあります。)

by 「オラクル ちょこっとリファレンス」初期化パラメータ

・・・ということでSPFILEを使った方が再起動なしで設定を更新できて便利ってことですよね。(テキストファイルじゃないので、面倒なのかもしれませんが)


解説ページにはよく使用されるパラメータの一覧やspfileの作成方法なども記載されていました。
ここまでで基本的なOracle Databaseの構成を学習したことになるらしいのですが、まだ人に説明できるまでの理解度には達していないですね。

頑張ります!!


■3時限目 表の管理について

「表はデータを格納するオブジェクトで、リレーショナルデータベースの基本」
ということなので、しっかり学びたいと思います!


Enterprise Manage画面を操作していきます。
スキーマ」 > データベースオブジェクトの「表」をクリックし、検索画面の「スキーマ」欄にSCOTTと入力し、SCOTTの表データを表示します。

SCOTTスキーマの表一覧

一覧の中からEMPを選択して管理されている内容を確認していきます。

EMP表の定義確認

EMP表のデータ確認

EMP表の「制約」確認

ほー。こうやって社員のデータが管理されるのですね。
制約の種類にはPRIMARY KEYとFOREIGN KEYの2種類があるようです。
解説に詳しくまとまっていますが、Webでも調べてみました。

PRIMARY KEY(主キー)
「主キーは一つ以上の列から構成され、重複する値を持つことはできない。」

FOREIGN KEY(外部キー)
「外部キーは、参照制約において定義され、他の列との値の依存関係を持つ。」

by IT用語辞典バイナリ

ということは・・・

EMPNO(社員番号)は重複をさせない形で入力が制約され、DEPTNO(部門番号)は他の表(DEPT表)と依存関係を持っているので、そのDEPT表の内容に合わせて入力内容が制約されるということですかね。
(あってるのかな)

                                                                                                                                                      • -
                                                                                                                                                      • -

本日の内容まとめ
所要時間 : 5時間00分(解説部分の確認も含む)
トラブル:特になし
調べた用語:エクステントDICTIONARYしきい値REDOログトレースファイルデータ・ブロックSGAとPGA初期化パラメータPRIMARY KEYFOREIGN KEY


一言:4日目は正直1日では出来ません(笑)
「実践」というより、とにかく解説を読んで学ぶ日でしたね。比較的易しく書かれていますが、超初心者の私は何度か読み返さないと理解できませんでした。解説を読まないと、4日目の実践内容は理解できないです。


4日目を乗り切った自分にご褒美。デザートと紅茶合わせて2,000円位(ランチより高い)

でもすごくおいしかったです^^