オラクルで登場する重要な用語 備忘録 (1)

ダーティバッファ(使用済バッファ)
メモリ上のバッファの内容は変更されているが、データファイル(ディスク)には書き込まれていない状態のバッファのこと。 データファイルへの書き込みは全体パフォーマンスの向上のために遅延書き込みされる。
インスタンス障害によるシャットダウン時にはデータファイルを障害発生直前と一致させるためにロールフォワード、トランザクションリカバリ(クラッシュ・リカバリ)が必要になる。
専用サーバー接続
高速にデータベースを操作できる接続形態。
クライアントの 1 接続に対して、専用サーバープロセスが割り当てられる。
要求を出すと直ぐに作業を開始してくれる。(接続中は常に処理をしているバッチ処理向け)
UNIX 系のシステムでは専用サーバー接続はプロセスモデルであるためデータベースの接続=プロセス生成、切断=プロセス終了となる。小さなタスクで接続、切断を繰り返す設計ではプロセス生成がボトルネックになり処理が遅くなる可能性が高い。(Webシステムでは接続プーリング機能を使用することで回避したりする)
Windows は同一プロセスでスレッドモデル。
サーバープロセスやバックグランドプロセスについて
共有サーバー接続
専用サーバー接続との違いはデータベースサーバーのリソースを効率よく共有して使用できる接続形態。
旧名称でマルチスレッドサーバー(MTS:Multi Thread Server)接続と呼ばれることもある。
多数のクライアント接続に対して、ディスパッチャという受付を経由して、(クライアント数と比べて)少ないサーバー・プロセスを共用する。
要求を出してもディスパッチャにお伺いをしなければならず、サーバーに空きがなければディスパッチャで待たされることになる。
(接続していてもアイドル時間がある OLTP 処理向け) ⇒ 共有サーバーの設定
afiedt.buf
SQL*Plus の EDIT コマンド のデフォルト保存先のファイル名
Advance user-Friendly-Interface EDiT . BUFfer の略のようである。Oracle 4 時代の SQL*Plus の旧名 UFI がゆえんらしい。
昔は IBM で開発された SQL は Oracle では SQL = UFI として呼ばれていたらしい。これも自信なし。
クラスタ化係数(索引クラスタ化係数)
インデックスを使用するかしないかを判断する統計要素のひとつで、データの集まり具合をあらわす値。
インデックスでの検索を行う場合には、検索条件の値に一致するレコードは同一データブロックに多く 含まれていると都合がよい。(クラスタ化係数が小さい)
逆に複数ブロックに分散しているとブロック I/O 回数が増加する。(クラスタ化係数が大きい)
しかし、特定ブロックに更新が局所集中(ホットスポット)するデータ特性の処理においてはブロック更新が分散するという側面もある。
NLS
NLS_LANG や nlsparam という名称でマニュアルによく登場する NLS とは National Language Support アーキテクチャの略称(各国語サポート)
NLSRTL は National Language Support Run Time Library の略
TNS
NET SERVICES(Oracle Net Service,Net8,SQL*Net)関連で登場する TNS とは Transparent Network Substrate(透過的ネットワーク(基礎技術?))
データベースの接続や複数ノード間のメッセージのやり取りを単一の共通インタフェースで提供している技術に対して Oracle が付けた名前。Oracle Net Foundation レイヤーに組み込まれている。
透過的=アクセスする際に物理構造やプロトコルなど下位の層をユーザーは意識する必要のない(モジュールの書き換えが不要)状態。
関連 ⇒ tnsnames.ora
SKGP SKGM
稀に遭遇するエラーでアラートログに出力されるメッセージに登場することがある。 skgp〜 とか skgm〜 failed など oerr とともに出力される。
SKG は System Kernel Generic 〜 の略称のようであり、SKGP は Process、 SKGM はメモリ周りということになる。
簡単にいうとコアモジュールにおいてプロセスの生成のシステムコールの失敗やメモリの獲得に失敗してしまって処理が継続できませんでした…という感じになる。対処方法は前作業の内容による。サポートに頼るのが良い。
簡易接続ネーミング(・メソッド) EZCONNECT Oracle 10g
構成ファイルなどの環境が不要
もし利用できない場合は Net Manage ユーティリティのプロファイル/ネーミングで「簡易接続ネーミング:EZCONNECT」が有効であることを確認する。(デフォルト有効:sqlnet.ora)

# sqlplus hoge/hoge_pass@host[:port][/service_name]
port = リスナーポート番号 (デフォルト 1521)
service_name = リスナーのサービス名( lsnrctl service で表示される名前:省略時にはホスト名が設定されるので、一般的には省略できないパラメータ)

ローカル・ネーミング(・メソッド)
TNSNAMES.ORA ファイルを使用して、ネットサービス名から接続記述子(接続文字列≠{ネットサービス名、接続識別子})を取得する方法

# sqlplus hoge/hoge_pass@接続記述子(接続文字列) と書くのが面倒なためのエイリアス名と考えるとわかりやすい。
実際に # sqlplus hoge/hoge_pass@接続記述子(DESCRIPTION = 〜 tnsnames.ora の長い接続文字列....) は有効な接続書式です。

ローリング・アップグレード Oracle 10g
Oracle Data Guard のコンポーネントのひとつ。バージョンアップ前のインスタンスとバージョンアップ後の 2つのインスタンスを混合稼動させることで稼動テストが可能であり、サービスを停止することなくアップグレードを行なうことができる技術。
スタンバイ側からアップグレードさせ、運用に問題がある場合には混合稼動からダウングレードすることも可能。
スナップショット
マテリアライズド・ビュー(実体のあるビュー)の旧名称
(短くて言いやすくて好きだったのですが、名と体がずれてきたのでOracle 8i から改名したようです。アプリケーションでは、まだこの名称が使用されていることがあります。)
また、ある瞬間の統計情報やテーブルの内容を写真のように記録することもスナップショットを撮る(取る?)といわれる。(マニュアル中の表現のほとんどはこちらの意味)
マルチホーム(MULTI-HOME)/マルチバージョン
マルチバージョンとも言われているようである。
確か Oracle 8/8i? 辺りからマルチホーム対応との記憶、旧クライアント製品の一部では対応していないものがあるので購入前には要チェック。
1 ホストに複数のバージョンのオラクルを稼動させること。ORACLE_HOME 環境変数を切り替えて使い分けることから由来するのか、ネットワーク用語からきているのかは知りません。
Home Selector というアプレットも標準でインストールされているらしい(使った事がない)
10g からは、Universal Installer のトップの「インストールされたの製品」ボタンの「環境」タブに格下げされている。
Administration Assistant for Win にも、その機能があるようである。
マルチプラットフォーム(MULTI-PLATFORM)
マルチホームと混同している場合が見受けられる。こちらは、複数OSやハードに対応しているという用語。(ちょっと自信なし)
Oracle は、UNIX, Linux, Windows, Intel CPU, Sparc CPU, などに対応しているという意味で使います。
キャッシュフュージョンOracle 9i
RAC によって使用される技術。複数のノード(インスタンス)間で同一ブロックにアクセスを行なうとデータの同期作業が必要になる。この作業を共有ディスクを経由して行なっていた。これをノード間の直接内部接続(インターコネクト)によってバッファの同期を行なっている技術。データブロックサイズにより影響を受ける。
暗黙コミット(implicitly commit)
暗黙コミット


日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ 会員制(無料)の公式技術サイト