インターノウスサーバエンジニアブログ

インフラエンジニアの卵の奮闘記。


テーマ:
こんにちは!
今まではサーバ側の構成について学習を進めていましたが、
今度はクライアント側の構成について覚えていきましょう。

クライアントには、どのサーバのリスナーに対して接続要求を送り、
サーバ上のどのデータベースサービスに接続するかを設定します。
この設定には、以下の情報が必要となります。

・ホスト名
・データベースサービス名(またはOracleシステム識別子SID)
・接続に使用するプロトコル
・ポート番号

■データベースサービス
データベースサービスとは、データベースをクライアントに公開するための概念です。
データベースに対してサービスを関連付け、サービスに対しサービス名をつけます。
クライアントはこのサービス名を指定することにより、サービスに対応したデータベースにアクセスすることができるというわけです。

サービス名にはSERVICE_NAMESパラメータで指定しますが、デフォルトではグローバルデータベース名が設定されています。
グローバル・データベース名とは、データベース名(DB_NAME初期化パラメータで指定)と
ドメイン名(DB_DOMAIN初期化パラメータで指定)からなる書式

「データベース名.ドメイン名」

で表される名前です。
AD
いいね!した人  |  コメント(0)  |  リブログ(0)
最近の画像つき記事  もっと見る >>

テーマ:
本日はCOMMIT文についてお勉強します。

COMMIT文とは?
現在のトランザクションを終了し、そのトランザクション内で実行されたすべての変更を永続的な変更とします。

①まずユーザプロセスがサーバプロセスにCOMMIT文を送信します。
②「COMMITが実行されたよ!」という情報がLGWRによってREDOログファイルに記録されます。
③LGWRによりREDOログバッファ上の変更履歴情報がREDOログファイルに書き出されます。
④COMMITが完了したことがサーバプロセスにより、ユーザプロセスに通知されます。
この段階でデータベースキャッシュの該当データのロックが解除されます。
※UPDATE文の実行の際に、他のユーザに変更されないようにロックが掛けられていましたよね!

以上でCOMMIT処理は完了となります。
ただし、COMMITが完了したといっても、
データファイル中の表データは変更前の「AAA」のままであることにお気づきでしょうか?

こんな感じで処理されるのはデータファイルに対するI/Oを減らすためなのです。

仮にですがDBWnが変更後の「BBB」というデータをデータファイルに書き出す前にインスタンス障害が発生した場合、
REDOログファイルに記録されている変更履歴情報(AAA→BBB)からデータファイル中のデータを変更後のデータに書き換えることができます。

上記のようなインスタンスに対する障害発生時のリカバリをインスタンスリカバリと言います。
多分とっても重要なので覚えておいた方がよろしいかと思います。
AD
いいね!した人  |  コメント(0)  |  リブログ(0)

テーマ:
前回はインストールに必要な要件を学びました。
今回もソフトウェア導入の際の基本的な部分を学んでいきたいと思います。

■環境変数の設定
Oracle Databaseでは環境変数を使用します。
あらかじめ設定しておくことによって実行時に読み込まれ使用できるようになるって事ですね。

環境変数とは?
システムの属性を記録している変数。
例えば、システムの中心的なプログラム(WindowsならばWindowsのプログラム)がおさめてある場所、一時ファイルを作成する場所、システムの名称などといった情報が、環境変数を使って保管されています。

では、Oracle Databaseが使用する主な環境変数をここで確認しておきましょう!

★ORACLE_BASE
環境変数であるORACLE_BASEにはOracleディレクトリ構造のベースを指定します。
サーバマシン上のディレクトリ構造やファイル配置方法に関するガイドラインと言っていいでしょう。
こちらを指定することによって、
・デバイスのボトルネックやパフォーマンス低下の防止
・バックアップなどの日常のデータベース管理作業の簡便化
・データベースの規模拡大への対応
などという効果が期待できますね。

★ORACLE_HOME
環境変数ORACLE_HOMEには、Oracleソフトウェアを格納するディレクトリを指定します。
その意味の通り、ソフトウェアが入ってる場所ですね!
HOMEって名前で何となく想像がつくと思います。

★ORACLE_SID
環境変数ORACLE_SIDには初期インスタンス名を指定します。
インスタンス名を決定するにあたって2つの要件をクリアしていないといけません。
①数字、英字で組み合わされた文字列
②英字で始まる

★NLS_LANG
環境変数NLS_LANGには、セッションに対するデフォルトのロケール、
(システムやプログラムを実行する言語的、文化的な環境)
を以下の書式で指定します!

【NLS_LANGの設定書式】
NLS_LANG = language_territory.charset

どんな意味やねん!と言いますと、

language - Oracleのメッセージ、ソート順、曜日名および月名に使用する言語などの規則を指定する。
(日本語とか、英語とか。日本語ならJapanese)

territory - デフォルトの日付、通貨単位、数値書式などの規則を指定する。
(国を指定しますね。Japanとか)

charset - クライアントアプリケーションが使用するキャラクタセットを指定する。
(EUC、ASCIIなど)

上記の例を当てはめてみると、

NLS_LANG=JAPANESE_AMERICA.JA16EUC

とかになる感じですね。

★LD_LIBRARY_PATH
環境変数LD_LIBRARY_PATHには、共有オブジェクトライブラリの位置を指定します。


これからの環境変数というのはOracleを使用して、DBを運用していくのには欠かせないものなのですね。。

さて次回はOracle Databaseを管理するツールを勉強していきたいと思います。
AD
いいね!した人  |  コメント(0)  |  リブログ(0)

テーマ:
こんにちは!
最近文字ばかりですみません。。
ふざけた画像を取ってくるエネルギーが残されていません。

前回の続きで、まずは専用サーバを詳しく見ていきましょう。

■専用サーバのデータベース処理の流れ
クライアント/サーバ環境で専用サーバ接続が確立されるまでの処理の流れは以下の通りです。

①Oracle Netにより名前解決が正常に完了すると、ユーザプロセスからリスナーに対して
接続要求が送信されます。リスナーは要求された接続先サービス名が有効であるか確認します。

②上記①でサービスが有効であることが確認されると、リスナーは新しいサーバプロセスを起動します。
またサーバプロセスに対してプログラムグローバル領域(PGA)と呼ばれるメモリー空間が確保され、
リスナーはその後、ユーザプロセスのアドレス情報などをサーバプロセスに転送し、接続処理をサーバプロセスに引き渡します。

③サーバプロセスはパスワードなどをチェックし、有効であればユーザセッションが作成されます。
セッション作成後、サーバプロセスはユーザプロセスからの処理要求を受け取り、実行するエージェントとして動作します。

とまぁ。。こんな感じです。
文字だとわかりづれ。。。。

①~③の処理はユーザプロセスからの接続要求があるごとに行われるため、ユーザプロセス数と
サーバプロセス数が1:1で対応します。
専用サーバとは、このような接続方法のことをいいます。
これに対し、少数のサーバプロセスを複数のユーザプロセスで共有する接続方法を共有ユーザといいます。


おおう!お疲れさまでした!
さて次回は共有サーバについて掘り下げます!
いいね!した人  |  コメント(0)  |  リブログ(0)

テーマ:
こんにちは!本日も新しい学習です!
みなさんは結構前に話題にあげた専用サーバ・共有サーバに関しては覚えていますか?
今回はそれらを掘り下げてもっと理解しようと思います。

■専用サーバと共有サーバの特徴
すでに学習したように、サーバプロセスはユーザプロセスからの要求(SQL)を受け取り、
解析や実行をするプロセスです。このサーバプロセスには、各ユーザプロセスに対し
1つ対応する専用サーバと、複数のユーザプロセスで1つのサーバプロセスを共有する
共有サーバと呼ばれる構成方法があります。

共有サーバを用いると、より多くのユーザプロセスからの処理を効率よく実行することが可能です。
特にOLTP環境のように、クライアント数は多いが、接続時間中に占めるアイドル時間の割合が
大きい場合などに向いたりしてます。
しかし、共有サーバでは1つのサーバプロセスを複数のユーザプロセスで共有するため、
特定のユーザプロセスから非常に高い負荷のかかる場合には向いていません。
したがって以下のような場合は専用サーバを用います。

・データベースの管理作業
・バックアップおよびリカバリ操作
・バッチ系およびデータウェアハウス操作

さて次に、専用サーバおよび共有サーバによるデータベース接続の流れを確認しておきましょう。

長くなってしまったので次回に続く!
いいね!した人  |  コメント(0)  |  リブログ(0)

AD

ブログをはじめる

たくさんの芸能人・有名人が
書いているAmebaブログを
無料で簡単にはじめることができます。

公式トップブロガーへ応募

多くの方にご紹介したいブログを
執筆する方を「公式トップブロガー」
として認定しております。

芸能人・有名人ブログを開設

Amebaブログでは、芸能人・有名人ブログを
ご希望される著名人の方/事務所様を
随時募集しております。