ホームページ  >  記事  >  バックエンド開発  >  OracleFaq (OracleTAF構成)_PHPチュートリアル

OracleFaq (OracleTAF構成)_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:22:47955ブラウズ

転載の場合は出典を明記してください! (Diao Chan 様、よろしくお願いします...) Oracle TAF の構成 TAF は Transparent Application FailOver の略で、一般に OPS/RAC 環境に適用されます。 8i から利用できるようになったこの機能には良い目的とアイデアがありますが、現在の用途はまだ非常に限られています。この記事では TAF 関連の問題について詳しく説明します。 この記事のテスト環境は Tru64 V5.1+ Oracle9.2.0.1 RAC です。 1. 関連パラメータの説明 正直に言うと、Oracle のいくつかのネットワーク構成パラメータは非常に複雑で、多くの人は何が起こっているのか理解できません。一般的なエラーは次のとおりです。「ORA-12514: TNS: リスナーは指定された SERVICE_NAME を解決できませんでした。接続記述子」と「ORA-12154 :TNS: サービス名を解決できませんでした」は本質的に同じです。この問題を解決するには、いくつかのパラメータをいじる必要があります。 initsid.ora のいくつかのパラメータ: DB_NAME --- データベース名。データベースの作成時に指定した名前です。 GLOBAL_NAMES --- True/False、データベースのドメイン名を使用するかどうかを設定します。 DB_DOMAIN --- データベース ドメイン名。GLOBAL_NAMES=True の場合、このパラメータは必須です。 SERVICE_NAMES --- サービス名のリスト。複数のサービス名が存在する場合があります。 INSTANCE_NAME --- SERVICE_NAMES と同様に、インスタンス名は 817 以降でサポートされます。つまり、817 以降では、データベース名、インスタンス名、サービス名を分離できます。 instance_name のデフォルト値はインスタンスの SID であり、これは環境変数 ORACLE_SID に対応する値です。 817 より前は、instance_name パラメーターがなかったとき、さまざまなインスタンスは SID によって区別されていました。 oracle817 以降のドキュメントの説明によると、SID は同一ホスト上の各インスタンスの共有メモリを区別するためのものであり、インスタンスの唯一の識別マークではなく、instance_name は各インスタンスを区別するためのものです。 環境変数: ORACLE_SID --- 817 より前に instance_name パラメータがなかった場合、異なるインスタンスは SID によって区別されていました (詳細については、上記の initsid.ora パラメータの説明を参照してください)。 listener.ora のいくつかのパラメータ: GLOBAL_DBNAME --- グローバル データベース名。分散環境内のさまざまなデータベースを一意に識別します。その値は、initsid.ora の DB_NAME と DB_DOMAIN の組み合わせ、つまり GLOBAL_DBNAME=DB_NAME.DB_DOMAIN です。ここで DB_DOMAIN が設定されていない場合、DB_DOMAIN は必要ありません。このパラメータは分散環境では明示的に指定することをお勧めします。 SERVICE_NAME --- サービス名。initsid.ora の service_names リストからサービス名を 1 つ選択してください。 SID_NAME --- 環境変数 ORACLE_SID に対応する値。 INSTANCE_NAME ---初期化パラメータinstance_nameに対応します。 tnsnames.ora のいくつかのパラメータ: service_name --- サービス名。initsid.ora の service_names リストを 1 つにするだけです。 sid_name --- ORACLE_SID に対応する sid と省略できます。または、instance_name が instance_name と等しく、instance_name が ORACLE_SID と等しくない場合、Oracle は異なるインスタンスを区別するためにリスニング・プロセスを自動的に登録します。 instance_name --- 817 以降、この新しいパラメータは、初期化パラメータ instance_name に対応して使用できます。 このようにパラメータは非常に複雑になりますが、実際に使用するわけではありません。もちろんシンプルな方が良いです。2. 関連パラメータの設定 以下に、関連パラメータの設定を示す例を示します。 1. 環境変数: ORACLE_SID=rac1/2 2. initsid.ora: db_name=ora92 service_names = ora92instance_name=rac1/2 global_names=false db_domain= "" 3 、listener.ora: SID_LIST_RAC1 = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = ora92) (ORACLE_HOME = /oracle/oracle9/app/oracle/product/9.2.0) (SERVICE_NAME=ora92)(SID_NAME = rac1) ) ) SID_LIST_RAC2 = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = ora92) (ORACLE_HOME = /oracle/oracle9/app/oracle/product/9.2.0) (SERVICE_NAME=ora92)(SID_NAME = rac2) ) ) RAC1 = (DESCRIPTION_LIST = ( DESCRIPTION = ( ADDRESS_LIST = (ADDRESS = (プロトコル = TCP)(HOST = 10.1.3.1)(PORT = 1522)) ) ) ) RAC2 = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (プロトコル = TCP)(HOST) = 10.1. 3.2)(PORT = 1522)) ) ) ) 3. TAF 設定 実際、TAF 設定は 2 つの異なる設定方法があります。名前メソッド: =============================================== === myrac = (説明= (load_balance=on) (フェイルオーバー=on) (アドレス= (プロトコル=tcp)(ホスト=10.1.3.1)(ポート=1522)) (アドレス= (プロトコル=tcp)(ホスト= 10.1.3.2 )(port=1522)) (connect_data= (service_name=ora92) (failover_mode=(type=select)(method=basic)(retries=20)(lay=20)) ) ) ====== === ============================================== === =============== 2. インスタンスのバックアップ方法を指定します。 ======================== ==== =================== rac1 = (説明= (load_balance=on) (フェイルオーバー=on) (アドレス= (プロトコル=tcp)(ホスト=10.1) .3.1)( port=1522)) (connect_data= (service_name=ora92) (failover_mode=(type=select)(method=basic) (backup=rac2)(retries=20)(lay=20)) ) ) rac2 = (説明= (load_balance=on) (failover=on) (address= (protocol=tcp)(host=10.1.3.2)(port=1522)) (connect_data= (service_name=ora92) (failover_mode=(type=select) (メソッド=基本) (バックアップ=rac1)(リトライ数=20)(遅延=20)) ) ) =========================== ==== =========================================== 4. TAFテスト方法は一般に許容されます。現在接続されているインスタンスを停止すると、クライアントは切断されず、自動的にバックアップ ノードに切り替わります。逆に、自動的に元に戻ります。 もちろん、post_transaction を使用して TAF をテストすることを提案する人もいます。これは、Oracle がインスタンスに接続した後、切断するときに最初に接続を試行するためです。 、クライアント側で新しいリクエストがあるとすぐに、最後に接続されたインスタンスへの接続が自動的に試行され、失敗した場合はバックアップ インスタンスへの接続が試行されます。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/532288.html技術記事転載の場合は出典を明記してください! (Diao Chan 様、よろしくお願いします...) Oracle TAF の構成 TAF は Transparent Application FailOver の略で、一般に OPS/RAC 環境に適用されます。 ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。