Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー データベース管理 » データベースのメンテナンス » SQL Anywhere の高可用性 » SQL Anywhere Veritas Cluster Server エージェント » SADatabase エージェントの設定

 

SADatabase エージェントのテスト
 ♦ SADatabase エージェントのフェールオーバーのテスト
  1. Interactive SQL からデータベースに接続します。次に例を示します。

    dbisql -c "UID=DBA;PWD=sql;Server=VCS;LINKS=tcpip"
  2. 次のクエリを実行します。

    SELECT * FROM Departments;

    このクエリはエラーなく実行されます。

  3. データベースに障害が発生し、第 1 システムノードで実行されているデータベースサーバーがデータベースファイルにアクセスできないとします。これにより、第 2 システムノードで起動されたデータベースサーバーへのデータベースファイルのフェールオーバーが発生します。第 1 ノード上のデータベースファイルに障害を発生させるには、次のようなコマンドを発行します。

    dbisql -q -c "UID=DBA;PWD=sql;Server=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;Server=VCS2;DBN=DEMO;LINKS=tcpip"
  4. Interactive SQL から再接続します。接続もクエリの実行も正常に行われます。