次の手順では、SADatabase エージェントのフェールオーバをテストする方法について説明します。
Interactive SQL からデータベースに接続します。次に例を示します。
dbisql -c "UID=DBA;PWD=sql;ENG=VCS;LINKS=tcpip" |
次のクエリを実行します。
SELECT * FROM Departments; |
このクエリはエラーなく実行されます。
データベースに障害が発生し、第 1 システム・ノードで実行されているデータベース・サーバがデータベース・ファイルにアクセスできないとします。これにより、第 2 システム・ノードで起動されたデータベース・サーバへのデータベース・ファイルのフェールオーバが発生します。第 1 ノード上のデータベース・ファイルに障害を発生させるには、次のようなコマンドを発行します。
dbisql -q -c "UID=DBA;PWD=sql;ENG=VCS1;DBN=utility_db" STOP DATABASE DEMO ON VCS1 UNCONDITIONALLY; |
第 1 コンピュータ上のデータベース・ファイルに障害が発生します。Veritas Cluster Server がこのファイルに障害が発生したことを認識するまでには遅延があります。これは、Veritas Cluster Server がリソースの状態を監視する間隔がデフォルトでは 60 秒ごとになっているからです (この間隔は、リソース設定で短くできます)。これにより、データベース・ファイルは第 2 コンピュータにフェールオーバされ、データベース・ファイルは第 2 コンピュータ上のデータベース・サーバを使用して起動されます。このデータベース・サーバの名前は、元のデータベース・サーバとは名前が異なる場合があります。
たとえば、新しいデータベース・サーバが VCS2 の場合、クライアントでは次のようにして接続文字列にこの新しいデータベース・サーバ名を指定する必要があります。
"UID=DBA;PWD=sql;ENG=VCS2;DBN=DEMO;LINKS=tcpip" |
Interactive SQL から再接続します。接続もクエリの実行も正常に行われます。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |