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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere 11 - 変更点とアップグレード » SQL Anywhere 11 へのアップグレード » Mobile Link のアップグレード

 

統合データベースのアップグレード

新しい Mobile Link サーバと既存の統合データベースを使用できるようにするには、新しいシステム・オブジェクトをインストールするアップグレード・スクリプトを実行する必要があります。アップグレード・スクリプトは、現在インストールされている Mobile Link システム・テーブルの所有者が実行する必要があります。

説明
  • 10.0.0 より前のバージョンで作成された authenticate_user_hashed スクリプトを使用する場合は、お使いの RDBMS でバイナリに相当する型を使用して、BINARY(20) ではなく BINARY(32) を受け入れるようにスクリプトを変更する必要があります。

SQL Anywhere バージョン 10.0.0 以降のアップグレード
♦  統合データベースをアップグレードするには、次の手順に従います (SQL Anywhere 10.0.0 以降の場合)。
  1. SQL Anywhere データベースをアップグレードします。

    バージョン 10 以降のデータベースのアップグレードを参照してください。

  2. アップグレードするデータベースのバージョンに対応したアップグレード・スクリプトを実行します。

    アップグレード・スクリプトは、upgrade_sa.sql という名前です。これは、SQL Anywhere インストール環境の MobiLink\upgrade\version にあります。version は、アップグレード元の SQL Anywhere バージョンを示します。

    たとえば、Interactive SQL でデータベースに接続し、次のコマンドを実行します。

    READ "c:\Program Files\SQL Anywhere 11\MobiLink\upgrade\10.0.1\upgrade_sa.sql"
バージョン 10.0.0 より前の SQL Anywhere のアップグレード
  • 10.0.0 より前のバージョンでは、Mobile Link システム・テーブルの所有者は dbo でした。SQL Anywhere データベースの設定スクリプトを実行するには、Mobile Link システム・テーブルの所有者として統合データベースにログインする必要があります。テーブルの変更パーミッションを持つユーザとしてこのスクリプトを実行しても十分ではありません。アップグレード・スクリプトを実行するには、SQL 文 SETUSER を使用して dbo を同一化する方法もあります。次に例を示します。

    SETUSER "dbo";

    Sybase Central で統合データベースをアップグレードするには、GRANT CONNECT 文を使用して dbo のパスワードを作成してから、dbo として接続する必要があります。次に例を示します。

    GRANT CONNECT TO dbo IDENTIFIED BY password;

    この場合、アップグレード後に、ALTER USER を使用して dbo のパスワードを削除する必要があります。次に例を示します。

    ALTER USER TO dbo IDENTIFIED BY "";
  • SQL Anywhere 統合データベースは設定済みで、同期はまだ一度も実行していない場合は、アップグレード・スクリプトではなく、設定スクリプトを実行する必要があります。この手順は、SQL Anywhere 統合データベースだけに適用されます。

♦  統合データベースをアップグレードするには、次の手順に従います (バージョン 10.0.0 より前の SQL Anywhere の場合)。
  1. バージョン 10.0.0 より前の SQL Anywhere の統合データベースをアップグレードする場合は、先にデータベースをバージョン 11 にアップグレードする必要があります。

    1. データベース・サーバを停止します。

    2. データベースをバージョン 11 にアップグレードします。

      手順については、次の項を参照してください。

    3. DBA としてログインした状態で、データベース・サーバを起動します。

      アップグレードするには DBA でログインする必要があります。

  2. バージョン 6.0.x からアップグレードする場合は、SQL Anywhere インストール環境の MobiLink\setup サブディレクトリにある Mobile Link 設定スクリプトを実行します。それ以降のバージョンからアップグレードする場合は、設定スクリプトは実行しないでください。

    設定スクリプトの詳細については、Mobile Link 統合データベースを参照してください。

  3. アップグレードするデータベースのバージョンに対応したアップグレード・スクリプトを実行します。

    アップグレード・スクリプトは、upgrade_asa.sql という名前です。これは、SQL Anywhere インストール環境の MobiLink\upgrade\version にあります。version は、アップグレード元の SQL Anywhere バージョンを示します。

    アップグレード・スクリプトを実行するには、dbo ユーザを同一化する必要があります。この処理には SQL 文 SETUSER を使用します。

    たとえば、SQL Anywhere バージョン 9.0.2 統合データベースをアップグレードする場合は、Interactive SQL でデータベースに接続し、次のコマンドを実行します。

    SETUSER "dbo";
    READ 'c:\Program Files\SQL Anywhere 11\MobiLink\upgrade\9.0.2\upgrade_asa.sql'
  4. dbo のパスワードを削除します。次に例を示します。

    GRANT CONNECT TO "dbo";
  5. DBA 以外のユーザとして Mobile Link サーバを実行している場合は、新しい Mobile Link システム・オブジェクトの EXECUTE パーミッションをこのユーザに付与する必要があります。新しいシステム・オブジェクトは、アップグレード対象のバージョンによって異なります。次のコードで、すべての Mobile Link システム・オブジェクトへの必要なパーミッションが付与されます。このコードを実行する前に、ユーザ名 my_user を、Mobile Link サーバを実行しているユーザの名前に変更する必要があります。

    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_column to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_connection_script to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_database to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_device to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_device_address to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_listening to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_property to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_clients to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_delivery to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_global_props to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_notifications to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_repository to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_repository_props to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_repository_staging to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_status_history to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_status_staging to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_script to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_script_version to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_scripts_modified to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_server to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_active_remote_id to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_passthrough_script to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_passthrough to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_passthrough_status to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_passthrough_repair to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_repository_archive to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_delivery_archive to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_status_history_archive to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_qa_repository_props_archive to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_sis_sync_state to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_subscription to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_table to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_table_script to my_user;
    GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.ml_user to my_user;
    GRANT EXECUTE ON dbo.ml_qa_get_agent_network_property to my_user;
    GRANT EXECUTE ON dbo.ml_qa_get_agent_object_property to my_user;
    GRANT EXECUTE ON dbo.ml_qa_get_agent_property to my_user;
    GRANT EXECUTE ON dbo.ml_qa_get_message_property to my_user;
    GRANT EXECUTE ON dbo.ml_add_column to my_user;
    GRANT EXECUTE ON dbo.ml_add_connection_script to my_user;
    GRANT EXECUTE ON dbo.ml_add_dnet_connection_script to my_user;
    GRANT EXECUTE ON dbo.ml_add_dnet_table_script to my_user;
    GRANT EXECUTE ON dbo.ml_add_java_connection_script to my_user;
    GRANT EXECUTE ON dbo.ml_add_java_table_script to my_user;
    GRANT EXECUTE ON dbo.ml_add_lang_conn_script_chk to my_user;
    GRANT EXECUTE ON dbo.ml_add_lang_connection_script to my_user;
    GRANT EXECUTE ON dbo.ml_add_lang_table_script to my_user;
    GRANT EXECUTE ON dbo.ml_add_lang_table_script_chk to my_user;
    GRANT EXECUTE ON dbo.ml_add_property to my_user;
    GRANT EXECUTE ON dbo.ml_add_table_script to my_user;
    GRANT EXECUTE ON dbo.ml_add_user to my_user;
    GRANT EXECUTE ON dbo.ml_delete_device to my_user;
    GRANT EXECUTE ON dbo.ml_delete_device_address to my_user;
    GRANT EXECUTE ON dbo.ml_delete_listening to my_user;
    GRANT EXECUTE ON dbo.ml_delete_sync_state to my_user;
    GRANT EXECUTE ON dbo.ml_delete_sync_state_before to my_user;
    GRANT EXECUTE ON dbo.ml_delete_user to my_user;
    GRANT EXECUTE ON dbo.ml_qa_add_delivery to my_user;
    GRANT EXECUTE ON dbo.ml_qa_add_message to my_user;
    GRANT EXECUTE ON dbo.ml_qa_handle_error to my_user;
    GRANT EXECUTE ON dbo.ml_qa_stage_status_from_client to my_user;
    GRANT EXECUTE ON dbo.ml_qa_staged_status_for_client to my_user;
    GRANT EXECUTE ON dbo.ml_qa_upsert_global_prop to my_user;
    GRANT EXECUTE ON dbo.ml_reset_sync_state to my_user;
    GRANT EXECUTE ON dbo.ml_set_device to my_user;
    GRANT EXECUTE ON dbo.ml_set_device_address to my_user;
    GRANT EXECUTE ON dbo.ml_set_listening to my_user;
    GRANT EXECUTE ON dbo.ml_set_sis_sync_state to my_user;
    GRANT EXECUTE ON dbo.ml_upload_update_device_address to my_user;
    GRANT EXECUTE ON dbo.ml_upload_update_listening to my_user;
    GRANT EXECUTE ON dbo.ml_server_update to my_user;
    GRANT EXECUTE ON dbo.ml_server_delete to my_user;
    GRANT EXECUTE ON dbo.ml_add_passthrough_script to my_user;
    GRANT EXECUTE ON dbo.ml_add_passthrough to my_user;
    GRANT EXECUTE ON dbo.ml_add_passthrough_repair to my_user;
    GRANT EXECUTE ON dbo.ml_delete_passthrough_script to my_user;
    GRANT EXECUTE ON dbo.ml_delete_passthrough to my_user;
    GRANT EXECUTE ON dbo.ml_delete_passthrough_repair to my_user;
Adaptive Server Enterprise、Oracle、または Microsoft SQL Server の Mobile Link システム・テーブルのアップグレード

Adaptive Server Enterprise、Oracle、または Microsoft SQL Server の統合データベース内の Mobile Link システム・オブジェクトをアップグレードする必要があるのは、11.0.0 より前のバージョンの Mobile Link サーバを使用している場合だけです。

♦  統合データベースをアップグレードするには、次の手順に従います (Adaptive Server Enterprise、Oracle、または Microsoft SQL Server の場合)。
  1. バージョン 6.0.x からアップグレードする場合は、SQL Anywhere インストール環境の MobiLink\setup サブディレクトリにある Mobile Link 設定スクリプトを実行します。それ以降のバージョンからアップグレードする場合は、設定スクリプトは実行しないでください。

    設定スクリプトの詳細については、Mobile Link 統合データベースを参照してください。

  2. Adaptive Server Enterprise データベースの場合は、"select into" パーミッションを設定する必要があります。Sybase Interactive SQL で次のコマンドを実行します。

    USE MASTER
    go
    sp_dboption your-database-name, "SELECT INTO", true
    go
    USE your-database-name
    go
    checkpoint
    go
  3. アップグレードするデータベースのバージョンに対応したアップグレード・スクリプトを実行します。

    アップグレード・スクリプトは upgrade_XXX.sql という名前です。XXX は、統合データベースの RDBMS を示します。これは、SQL Anywhere インストール環境の MobiLink\upgrade\version にあります。version は、アップグレード元の Mobile Link バージョンを示します。

    たとえば、Microsoft SQL Server バージョン 9.0.2 の統合データベースをアップグレードするには、次のコマンドを実行します。

    isql -S server_name -U user_name -P password -I
    "c:\Program Files\SQL Anywhere 11\MobiLink\upgrade\9.0.2\upgrade_mss.sql"
IBM DB2 LUW のアップグレード

DB2 LUW の統合データベースをアップグレードする必要があるのは、11.0.0 より前のバージョンの Mobile Link サーバを使用している場合だけです。

♦  統合データベースをアップグレードするには、次の手順に従います (DB2 LUW の場合)。
  1. Mobile Link バージョン 6 からアップグレードする場合は、設定 SQL スクリプト MobiLink\setup\syncdb2.sql を実行して、Mobile Link のシステム・テーブルとストアド・プロシージャを作成します。

    DB2 LUW 設定スクリプトを実行する方法については、IBM DB2 LUW 統合データベースを参照してください。

  2. DB2 LUW アップグレード・スクリプトのロケーションを検索します。

    アップグレード・スクリプトは upgrade_db2.sql という名前で、SQL Anywhere インストール環境の MobiLink/upgrade/version サブディレクトリにあります。version ディレクトリは、アップグレード元の Mobile Link のバージョンを示します。

  3. upgrade_db2.sql をコピーし、このコピーを変更します。スクリプトの先頭にある CONNECT 文を変更して、接続するインスタンスで動作できるようにします。コピーした SQL スクリプトを統合データベースに適用します。