サーバーとデータベース(ホスト環境)にアクセスできない場合は、以下に説明する手順を実行できません。 Adobeにお問い合わせください。
Adobe Campaignを使用するには、1つ以上の環境をインストールして設定する必要があります。開発、テスト、実稼働前、実稼働中など
各環境にはAdobe Campaignインスタンスが含まれ、各Adobe Campaignインスタンスは1つ以上のデータベースにリンクされます。 アプリケーションサーバーは、1つ以上のプロセスを実行できます。これらのほとんどすべては、インスタンスデータベースに直接アクセスできます。
この節では、ソース環境をターゲット環境に復元するために、Adobe Campaign環境と重複に適用されるプロセスについて詳しく説明します。つまり、同じ2つの作業環境を生み出します。
それには、次の手順に従います。
ソース・環境内のすべてのインスタンスにデータベースのコピーを作成します。
ターゲット環境のすべてのインスタンスで、これらのコピーを復元し、
起動する前に、ターゲット環境でnms:freezeInstance.jsの焼灼スクリプトを実行します。
このプロセスは、サーバーとその設定には影響しません。
Adobe Campaignに関しては、焼灼は、外部との対話をすべてのプロセスに止めるためのアクションを組み合わせます。ログ、トラッキング、配信、キャンペーンワークフローなど
この手順は、(通常の環境から1回、複製された環境から1回)複数回のメッセージ配信を避けるために必要です。
1つの環境に複数のインスタンスを含めることができます。 各Adobe Campaignインスタンスには、ライセンス契約が適用されます。 使用許諾契約を確認して、使用できる環境数を確認します。
以下の手順では、インストールした環境やインスタンスの数に影響を与えることなく、環境を転送できます。
転送プロセスを開始する前に、ソースおよびターゲット環境のすべてのインスタンスに対して、データベースの完全バックアップを実行することを強くお勧めします。 この方法で問題が発生した場合は、バックアップを復元し、初期設定に戻すことができます。
このプロセスが動作するためには、ソースとターゲットの環境が同じインスタンス数、同じ目的(マーケティングインスタンス、配信インスタンス)および同様の設定を持つ必要があります。 技術構成は、ソフトウェアの前提条件を満たす必要があります。 両方の環境に同じコンポーネントをインストールする必要があります。
この節では、ケーススタディを介してソース環境をターゲット環境に転送する際に必要な手順を理解するのに役立ちます。本書の目的は、実稼働環境(prodインスタンス)を開発環境(devインスタンス)に復元し、'live'プラットフォームにできるだけ近いコンテキストで動作させることです。
次の手順は、慎重に実行する必要があります。ソース・環境・データベースをコピーする際に、一部のプロセスがまだ進行中である場合があります。 注意機能(以下の手順3)は、メッセージが2回送信されるのを防ぎ、データの一貫性を維持します。
データベースのコピー
すべてのソース・環境・データベースをコピーして開始します。 操作はデータベースエンジンに依存し、データベース管理者の責任を負います。
PostgreSQLでは、次のコマンドが実行されます。
pg_dump mydatabase > mydatabase.sql
ほとんどの設定要素は、環境ごとに異なります。外部アカウント(ミッドソーシング、ルーティングなど)、技術オプション(プラットフォーム名、DatabaseId、電子メールアドレス、デフォルトURLなど)
ソースデータベースをターゲットデータベースに保存する前に、ターゲット環境(開発環境)の設定を書き出す必要があります。 これを行うには、次の2つのテーブルの内容を書き出します。xtkoptionとnmsextaccount。
このエクスポートにより、開発環境の設定を維持し、開発データ(ワークフロー、テンプレート、Web アプリケーション、受信者など)のみを更新できます。
これを行うには、次の2つの要素に対してパッケージエクスポートを実行します。
書き出したオプション/アカウントの数が、各ファイルで書き出す行数と等しいことを確認します。
パッケージエクスポートでエクスポートする行の数は1000行です。 オプションまたは外部アカウントの数が1000を超える場合は、複数のエクスポートを実行する必要があります。
詳しくは、この節を参照してください。
nmsextaccountテーブルをエクスポートすると、外部アカウントに関連するパスワード(ミッドソーシング、Message Center Execution、SMPP、IMS、その他の外部アカウント用のパスワードなど)はエクスポートされません。 外部アカウントを環境に再度インポートした後、パスワードを再入力する必要が生じる場合があるので、正しいパスワードに事前にアクセスできることを確認してください。
すべてのターゲット環境サーバーでAdobe Campaignプロセスを停止する必要があります。 この操作は、オペレーティングシステムによって異なります。
すべてのプロセスを停止することも、データベースに書き込むプロセスのみを停止することもできます。
すべてのプロセスを停止するには、次のコマンドを使用します。
Windowsの場合:
net stop nlserver6
Linuxの場合:
/etc/init.d/nlserver6 stop
次のコマンドを使用して、すべてのプロセスが停止していることを確認します。
nlserver pdump
Windowsでは、webmdlプロセスは、他の操作に影響を与えることなく、引き続きアクティブにできます。
また、実行中のシステムプロセスがないことを確認することもできます。
それには、次の手順に従います。
ターゲット・環境でソース・データベースをリストアするには、次のコマンドを使用します。
psql mydatabase < mydatabase.sql
誤動作を防ぐために、配信送信とワークフローの実行にリンクされたプロセスを、ターゲット環境がアクティブ化されたときに自動的に実行しないようにする必要があります。
これを行うには、次のコマンドを実行します。
nlserver javascript nms:freezeInstance.js -instance:<dev> -arg:run
IDが0に設定されている配信部品が唯一の配信部品であることを確認します。
SELECT * FROM neolane.nmsdeliverypart;
配信ステータスが正しく更新されていることを確認します。
SELECT iState, count(*) FROM neolane.nmsdelivery GROUP BY iState;
ワークフローのステータスが正しく更新されていることを確認します。
SELECT iState, count(*) FROM neolane.xtkworkflow GROUP BY iState;
SELECT iStatus, count(*) FROM neolane.xtkworkflow GROUP BY iStatus;
ターゲット環境で、すべてのサーバーのAdobe Campaignプロセスを開始し直します。
dev環境のAdobe Campaignを再起動する前に、次の安全手順を追加できます。webモジュールのみを開始します。
これを行うには、インスタンスの設定ファイル(config-dev.xml)を編集し、各モジュール(mta、statなど)のautoStart="true"オプションの前に「_」文字を追加します。
次のコマンドを実行してWebプロセスを開始します。
nlserver start web
次のコマンドを使用して、Webプロセスのみが開始したことを確認します。
nlserver pdump
クライアントコンソール機能へのアクセス権を確認します。
この手順では、Webプロセスのみを開始する必要があります。 そうでない場合は、続行する前に、実行中の他のプロセスを停止します
特に、読み込む前に、ファイルの複数行の値を確認してください(例:optionsテーブルの'NmsTracking_Pointer'、および外部アカウントテーブルの配信またはミッドソーシングがアカウントする)
ターゲット環境データベース(開発環境)から設定を読み込むには:
データベースの管理コンソールを開き、IDが0(@id <> 0)でない外部アカウント(table nms:extAccount)を削除します。
Adobe Campaignコンソールで、パッケージの読み込み機能を使用して、以前に作成したoptions_dev.xmlパッケージを読み込みます。
管理/プラットフォーム/オプションノードで、オプションが実際に更新されていることを確認します。
Adobe Campaignコンソールで、パッケージの読み込み機能を使用して以前に作成したextaccount_dev.xmlを読み込みます
管理/プラットフォーム/外部アカウントに、外部データベースが実際にインポートされていることを確認します。
Adobe Campaignプロセスを開始するには、次のコマンドを使用します。
Windowsの場合:
net start nlserver6
Linuxの場合:
/etc/init.d/nlserver6 start
次のコマンドを使用して、プロセスが起動しているかどうかを確認します。
nlserver pdump
ユーザーを変更して、開発プラットフォームに既に存在するユーザーを検索します。