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

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ データベース管理 » 高可用性と読み込み専用のスケールアウトシステム » SQL Anywhere Veritas Cluster Server エージェント » SADatabase エージェントの設定

 

SADatabase エージェントのテスト

Interactive SQL から SADatabase エージェントのフェイルオーバをテストできます。

前提条件

SQL Anywhere Veritas Cluster Server エージェントを使用するには、次のようにシステムを設定する必要があります。

  • Veritas Cluster Server 4.1 以降を使用する。

  • クラスタ内の各システムノードに SQL Anywhere を同じ構成でインストールする。

  • データベースファイルが、クラスタ内のすべてのシステムからアクセスできる共有記憶装置に格納されている。

  • ユーティリティデータベースのパスワードが、クラスタ内のすべてのシステムで同じである。

    SADatabase エージェントはユーティリティデータベースを使用して、特定のデータベースファイルを起動および停止します。クラスタに属しているすべてのシステムには、同じユーティリティデータベースパスワードを使用する必要があります。ユーティリティデータベースのパスワードを設定するには、データベースサーバの起動時に -su サーバオプションを指定します。

  • UNIX の場合、VCS エージェントは $SQLANY16/vcsagent/saserver にインストールされます。

選択元となるテーブルに対する SELECT 権限、または SELECT ANY TABLE システム権限が必要です。

ネットワークサーバ上のデータベースを停止するのに必要な権限は、データベースサーバの -gd オプションによって決まります。ネットワークサーバ上のデータベースを停止するためのデフォルトのシステム権限は SERVER OPERATOR です。

 ♦ タスク
  1. Interactive SQL からデータベースに接続します。次に例を示します。

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

    SELECT * FROM Departments;

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

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

    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;HOST=HostName"

次の手順

Interactive SQL から再接続します。接続もクエリの実行も正常に行われます。

 参照