このトピックは、レプリケーションがアクティブなときにOracle環境に一般的な変更を加える場合に役立ちます。
LinuxおよびUNIX上のOracle
ORACLE_HOMEを変更した場合は、SharePlexをOracleライブラリに再リンクする必要があります。
次の手順を実行して、SharePlexをOracleライブラリに再リンクします。
SharePlexをシャットダウンします。
sp_ctrl> shutdown
ソースシステムで、アクティブな設定ファイルを新しい名前のファイルにコピーします。ただし、非アクティベーションはしないでください。
sp_ctrl> copy config filename to newname
ソースシステムで、新しい設定ファイルを開きます。
sp_ctrl> edit config filename
ソースシステムで、キュー内のデータをターゲットにフラッシュします。これにより、Postプロセスが停止し、ソースデータベースとターゲットデータベース間の同期ポイントが確立されます。
sp_ctrl> flush datasource
ここで、datasourceはソースインスタンスのデータベースインジケータです。例: o.oraA。
ソースシステムで、新しい設定ファイルをアクティベーションします。これにより元の設定ファイルは非アクティブになります。
sp_ctrl> activate config filename
注意: SharePlexはテーブルを分析する必要がないため、アクティベーションは短時間で完了します。
ターゲットシステムで、Postが停止していることを確認します。Postが停止していない場合は、Postが停止したと表示されるまでコマンドを発行し続けます。
sp_ctrl> status
ターゲットシステムでPostを開始します。
sp_ctrl> start post
SharePlexデータベースアカウントのユーザ名(スキーマまたはデータベース)、パスワード、またはその両方を変更できます。データベースアカウントは、SharePlexのインストール中に確立されています。これらの手順は、アクティブなレプリケーション設定を維持するために、正しい順序でプロセスを進めるためのガイドです。
すべてのSharePlexのサポート対象データベース
この手順は、データベース内のSharePlexユーザアカウントのユーザアカウント名および/またはパスワードを変更します。このユーザアカウントは、SharePlexプロセスがレプリケーションタスクの実行時にデータベースに接続するために使用するものです。
重要複数の変数データディレクトリを使用している場合は、変更するディレクトリごとにこの手順を実行する必要があります。
(UnixとLinuxのみ)複数の変数データディレクトリを使用している場合は、アカウント名またはパスワードを変更するSharePlexインスタンスの変数データディレクトリを指す環境変数をエクスポートします。
kshシェル:
export SP_SYS_VARDIR=/full_path_of_variable-data_directory
cshシェル:
setenv SP_SYS_VARDIR=/full_path_of_variable-data_directory
アカウント情報を変更するシステムでSharePlexプロセスを停止します。例えば、ソースデータベース内のSharePlexアカウントを変更する場合は、CaptureとReadを停止します。ターゲットデータベース内のアカウントを変更する場合は、Postを停止します。
sp_ctrl> stop service
このSharePlexのインスタンスのすべてのSharePlexレプリケーションプロセスが停止していることを確認します。
sp_ctrl> status
アカウント名を変更した場合は、SharePlexデータベースオブジェクトをすべて古いアカウントから新しいアカウントにコピーします。
注意: レプリケーションが適切に再開されたことを確認するまで、古いアカウントとSharePlexオブジェクトをバックアップとして保管してください。
sp_crtlで以下のコマンドを発行して、SharePlex内部レコードのアカウント名および/またはパスワードを変更します。
ユーザアカウントを変更するには:
sp_ctrl> connection {o.SID | r.database} set user=username
パスワードを変更するには:
sp_ctrl> connection {o.SID | r.database} set password=password
ここで
passwordは新しいパスワードです。
SharePlexプロセスを開始します。
sp_ctrl> start service
SharePlexの設定のホスト名またはIPアドレスを変更するには、provisionユーティリティを使用します。レプリケーションホストの名前またはIPアドレスの変更の詳細については、『SharePlexリファレンスガイド』のProvisionユーティリティのセクションを参照してください。
SharePlexプロセスは、異なるシステム間の通信にはTCPを使用し、システム内の通信にはUDPを使用します。SharePlexのデフォルトのTCPおよびUDPのポート番号は、インストール時にいずれも2100に設定されています。SharePlexの展開によっては、TCPまたはUDPのポート番号を変更する必要がある場合があります。
ポート番号を選択する前に、次の点を確認してください。
サポート対象のすべてのプラットフォーム上のSharePlexでサポートされるすべてのデータベース
UnixおよびLinuxシステムでポート番号を設定するには、SharePlex管理者がSharePlex環境でTCPポートパラメータとUDPポートパラメータの両方を設定する必要があります。アクティブな設定がある場合、ソースオブジェクトへのアクセスを停止し、sp_copをシャットダウンするように指示されます。
アクティブな設定でポートの設定を完了するには:
(複数の変数データディレクトリを使用している場合)環境変数SP_SYS_VARDIRをエクスポートして、設定しているポートの正しい変数データディレクトリを指定するようにします。
kshシェル:
export SP_SYS_VARDIR=/full_path_of_variable-data_directory
cshシェル:
setenv SP_SYS_VARDIR=/full_path_of_variable-data_directory
以下の環境変数をエクスポートします。
kshシェル:
export SP_COP_TPORT=port
export SP_COP_UPORT=port
cshシェル:
setenv SP_COP_TPORT port
setenv SP_COP_UPORT port
ここで、portは新しいポート番号です
sp_copおよびsp_ctrlを開始します。
注意: 複数の変数データディレクトリを使用している場合、-uportオプションを指定してsp_copを開始します。ここで、portは、エクスポートした変数データディレクトリ用に選択したポート番号です。
./sp_cop [-uport] &
sp_ctrlを実行します。
./sp_ctrl
sp_ctrlで、以下のSharePlexパラメータを設定します。
sp_ctrl> set param SP_COP_TPORT port
sp_ctrl> set param SP_COP_UPORT port
次の2つのうち、1つを実行します。
アクティブな設定がない場合は、sp_ctrlでshutdownコマンドを使用して、sp_copを停止します。次回sp_copを開始するとき、新しいポート番号が有効になります。
注意: アクティブな設定がない場合、ポート番号の設定はこれで完了です。
アクティブな設定がある場合は、次のステップに進みます。
ソースシステムのレプリケートオブジェクトへのアクセスを停止し、ソースシステムのsp_ctrlでflushコマンドを発行してキューをクリアします。
sp_ctrl> flush o.database_identifier
ここで、database_identifierは、o.に続くOracle SID、TNTエイリアス、またはPDB名であり、SharePlexがソースデータベースに接続するために使用するものです(データベースが通常のOracleインスタンス、RAC、またはコンテナデータベース内のPDBのいずれであるかによって異なります)。
ソースシステムで、qstatusコマンドを発行し、すべてのメッセージがターゲットシステムに到達したことを確認します。
sp_ctrl> qstatus
exportキューが空になるまでコマンドを発行し続けます。
ターゲットシステムでstatusコマンドを発行して、Postが停止していることを確認します。
sp_ctrl> status
ソースシステムとターゲットシステムでSharePlexをシャットダウンします。
sp_ctrl> shutdown
ソースシステムとターゲットシステムでsp_copを開始します。
注意: 複数の変数データディレクトリを使用している場合、-uportオプションを指定してsp_copを開始します。ここで、portは、エクスポートした変数データディレクトリ用に選択したポート番号です。
./sp_cop [-uport] &
Postプロセスを開始します。
sp_ctrl> start post
ソースシステムとターゲットシステムでstatusコマンドを使用して、すべてのSharePlexプロセスが実行されていることを確認します。
sp_ctrl> status
© ALL RIGHTS RESERVED. 利用規約 プライバシー Cookie Preference Center