SharePlexには、Oracleソースオブジェクトを指定する設定ファイルの構築を自動化するための以下のスクリプトが用意されています。
OracleからOracleへ
config.sqlスクリプトを使用すると、データベースの全スキーマのすべてのテーブル、およびオプションで全シーケンスをリストする設定を構築できます。このスクリプトによって、データベース全体を同一のセカンダリデータベースにレプリケートする高可用性レプリケーション戦略やその他のシナリオを確立する際の時間を節約できます。
ソースとターゲットのテーブル名は同じでなければなりません。
config.sqlを実行するには:
SharePlexの変数データディレクトリのconfigサブディレクトリにディレクトリを変更します。config.sqlスクリプトによって現在の作業ディレクトリに設定が置かれます。SharePlexの設定はconfigサブディレクトリになければなりません。
cd /vardir/config
SharePlexの製品ディレクトリのutilディレクトリからフルパスを使用してconfig.sqlを実行します。
@ /proddir/util/config.sql
プロンプトに従う際は以下の表を参照してください。
プロンプト | 入力内容 |
---|---|
Target machine | ターゲットマシンの名前(例: SystemB)。 |
Source database SID | ソース(プライマリ)OracleインスタンスのORACLE_SID(例: oraA)。o.キーワードは含めないでください。ORACLE_SIDでは大文字と小文字を区別します。 |
Target database SID | ターゲット(デスティネーション)OracleインスタンスのORACLE_SID(例: oraB)。o.キーワードは含めないでください。ORACLE_SIDでは大文字と小文字を区別します。 |
Replicate sequences | シーケンスを複製する場合はyを、複製しない場合はnを入力します。 |
SharePlex oracle username | ソースデータベースのSharePlexユーザの名前。このエントリはSharePlexスキーマのレプリケーションを妨げるため、レプリケーションの問題を引き起こすことがあります。有効な名前を指定しないと、スクリプトは失敗します。 |
注意: SharePlexにより設定に割り当てられる名前はconfig.fileです。スクリプトを再度実行して別の設定ファイルを作成すると、最初のファイルが上書きされます。元のファイルを保存するには、2つ目のファイルを作成する前にファイル名を変更してください。
次の手順:
大文字と小文字を区別するテーブルや所有者がある場合、sp_ctrlのedit configコマンドで設定ファイルを開き、テキストエディタを使用して、大文字と小文字を区別するテーブル名と所有者名を"scott". "emp"のように二重引用符で囲みます。このスクリプトは、大文字と小文字を区別するためにOracleが必要とする引用符を追加しません。
sp_ctrl> edit config filename
設定が正しい場所にあることを確認するには、list configコマンドを実行します。設定の名前が表示されない場合は、間違ったディレクトリに作成されています。ファイルを見付けて、変数データディレクトリのconfigサブディレクトリに移動します。
sp_ctrl> list config
build_config.sqlスクリプトを使用すると、スキーマ内の複数(またはすべて)のテーブルを含む設定を構築できます。これは、設定の各コンポーネントを尋ねるプロンプトがステップごとに表示されるインタラクティブなスクリプトです。各オブジェクトとルーティングの情報を個別に入力する代わりに、ワイルドカードを使用して特定のテーブルを一度に選択したり、スキーマ内のすべてのテーブルを選択したりすることができます。
build_config.sqlを実行するには:
SharePlexの変数データディレクトリのconfigサブディレクトリにディレクトリを変更します。build_config.sqlスクリプトによって現在の作業ディレクトリに設定が置かれます。SharePlexの設定はconfigサブディレクトリになければなりません。
cd /vardir/config
SharePlexの製品ディレクトリのutilディレクトリからフルパスを使用してbuild_config.sqlを実行します。
@ /proddir/util/build_config.sql
プロンプトに従う際は以下の表を参照してください。
プロンプト | 入力内容 |
---|---|
Target machine | ターゲットマシンの名前(例: SystemB)。 |
Source database SID | ソース(プライマリ)OracleインスタンスのORACLE_SID(例: oraA)。o.キーワードは含めないでください。ORACLE_SIDでは大文字と小文字を区別します。 |
Target database SID | ターゲット(デスティネーション)OracleインスタンスのORACLE_SID(例: oraB)。o.キーワードは含めないでください。ORACLE_SIDでは大文字と小文字を区別します。 |
Owner of the source database tables | ソーステーブルの所有者。 |
Owner of the target database tables | ターゲットテーブルの所有者。 |
Table name to include (blank for all) |
以下のいずれかを実行します。
|
Name of the output file to create | 設定の名前。このスクリプトは、ファイルに.lstという接尾辞を付けます(例: Scott_config.lst)。 |
次の手順:
大文字と小文字を区別するテーブルや所有者がある場合は、sp_ctrlのedit configコマンドで設定を開き、テキストエディタを使用して、大文字と小文字を区別するテーブル名と所有者名を"scott". "emp"のように二重引用符で囲みます。このスクリプトは、大文字と小文字を区別するためにOracleが必要とする引用符を追加しません。
sp_ctrl> edit config filename
設定が正しい場所にあることを確認するには、list configコマンドを実行します。設定の名前が表示されない場合は、間違ったディレクトリに作成されています。ファイルを見付けて、変数データディレクトリのconfigサブディレクトリに移動します。
sp_ctrl> list config
SharePlexには、PostgreSQLおよびPostgreSQL Database as a Serviceソースオブジェクトを指定する設定ファイルの構築を自動化するための以下のスクリプトが用意されています。
PostgreSQLからPostgreSQLへ
pg_config.sqlスクリプトを使用すると、データベースの全スキーマのすべてのテーブル、およびオプションで全シーケンスをリストする設定を構築できます。このスクリプトによって、データベース全体を同一のセカンダリデータベースにレプリケートする高可用性レプリケーション戦略やその他のシナリオを確立する際の時間を節約できます。
ソースとターゲットのテーブル名は同じでなければなりません。
pg_config.sqlを実行するには:
SharePlexの変数データディレクトリのconfigサブディレクトリにディレクトリを変更します。pg_config.sqlスクリプトによって現在の作業ディレクトリに設定が置かれます。SharePlexの設定はconfigサブディレクトリになければなりません。
cd /vardir/config
SharePlexの製品ディレクトリのutilディレクトリからフルパスを使用してpg_config.sqlを実行します。
\i proddir/util/pg_config.sql
プロンプトに従う際は以下の表を参照してください。
プロンプト | 入力内容 |
---|---|
Target machine | ターゲットマシンの名前(例: SystemB)。 |
Source database name | ソース(プライマリ)PostgreSQLインスタンスのデータベース名(dbnameAなど)。r.キーワードは含めないでください。データベース名では大文字と小文字が区別されます。 |
Target database name | ターゲット(宛先)PostgreSQLインスタンスのデータベース名(dbnameBなど)。r.キーワードは含めないでください。データベース名では大文字と小文字が区別されます。 |
SharePlex PostgreSQL user name(SharePlex PostgreSQLユーザ名) | ソースデータベースのSharePlexユーザの名前。このエントリはSharePlexスキーマのレプリケーションを妨げるため、レプリケーションの問題を引き起こすことがあります。有効な名前を指定しないと、スクリプトは失敗します。 |
注意: SharePlexにより設定に割り当てられる名前はpg_config.fileです。スクリプトを再度実行して別の設定ファイルを作成すると、最初のファイルが上書きされます。元のファイルを保存するには、2つ目のファイルを作成する前にファイル名を変更してください。
次の手順:
大文字と小文字を区別するテーブルやスキーマがある場合、sp_ctrlのedit configコマンドで設定ファイルを開き、テキストエディタを使用して、大文字と小文字を区別するテーブル名とスキーマ名を“SCOTT”.“EMP”のように二重引用符で囲みます。このスクリプトは、大文字と小文字を区別するためにPostgreSQLが必要とする引用符を追加しません。
sp_ctrl> edit config filename
設定が正しい場所にあることを確認するには、list configコマンドを実行します。設定の名前が表示されない場合は、間違ったディレクトリに作成されています。ファイルを見付けて、変数データディレクトリのconfigサブディレクトリに移動します。
sp_ctrl> list config
build_config.sqlスクリプトを使用すると、スキーマ内の複数(またはすべて)のテーブルを含む設定を構築できます。これは、設定の各コンポーネントを尋ねるプロンプトがステップごとに表示されるインタラクティブなスクリプトです。各オブジェクトとルーティングの情報を個別に入力する代わりに、ワイルドカードを使用して特定のテーブルを一度に選択したり、スキーマ内のすべてのテーブルを選択したりすることができます。
pg_build_config.sqlを実行するには:
SharePlexの変数データディレクトリのconfigサブディレクトリにディレクトリを変更します。pg_build_config.sqlスクリプトによって現在の作業ディレクトリに設定が置かれます。SharePlexの設定はconfigサブディレクトリになければなりません。
cd /vardir/config
SharePlexの製品ディレクトリのutilディレクトリからフルパスを使用してpg_build_config.sqlを実行します。
\i proddir/util/pg_build_config.sql
プロンプトに従う際は以下の表を参照してください。
プロンプト | 入力内容 |
---|---|
Target machine | ターゲットマシンの名前(例: SystemB)。 |
Source database name | ソース(プライマリ)PostgreSQLインスタンスのデータベース名(dbnameAなど)。r.キーワードは含めないでください。データベース名では大文字と小文字が区別されます。 |
Target database name | ターゲット(宛先)PostgreSQLインスタンスのデータベース名(dbnameBなど)。r.キーワードは含めないでください。データベース名では大文字と小文字が区別されます。 |
Source database schema | ソース・データベース・スキーマの名前。 |
Target database schema | ターゲット・データベース・スキーマの名前。 |
Table name to include (blank for all) |
以下のいずれかを実行します。
|
Name of the output file to create | 設定の名前。 |
次の手順:
大文字と小文字を区別するテーブルやスキーマがある場合、sp_ctrlのedit configコマンドで設定を開き、テキストエディタを使用して、大文字と小文字を区別するテーブル名とスキーマ名を“SCOTT”.“EMP”のように二重引用符で囲みます。このスクリプトは、大文字と小文字を区別するためにPostgreSQLが必要とする引用符を追加しません。
sp_ctrl> edit config filename
設定が正しい場所にあることを確認するには、list configコマンドを実行します。設定の名前が表示されない場合は、間違ったディレクトリに作成されています。ファイルを見付けて、変数データディレクトリのconfigサブディレクトリに移動します。
sp_ctrl> list config
cleanup.sqlスクリプトを使用して、SHAREPLEX_PARTITIONテーブル(再度必要になる可能性のあるパーティションスキームが含まれている)を除く、SharePlex内部テーブルをすべて切り捨てます。
注意: cleanup.sqlスクリプトは、SharePlex Oracleユーザ、パスワード、デモオブジェクトをSharePlexテーブルから削除しません。
cleanup.sqlスクリプトは、SharePlex変数データディレクトリ内のレプリケーションデータを維持します。他のユーティリティも関連オプションを提供しています。
cleanup.sqlを初めて実行する場合は、実行する前にQuestテクニカルサポートにご連絡ください。SharePlexドキュメントの手順でclean_vardir.shの実行が必要とされる場合を除き、本番環境でこのユーティリティを使用することが適切であることはほとんどありません。このユーティリティは設定を非アクティベーションするので、不適切に使用するとレプリケーションの問題が発生し、データを再同期する必要が生じる可能性があります。通常は別の代替手法があります。
Unix上のOracle
cleanup.sqlを実行するには:
SharePlexデータベースユーザとしてOracleにログインします。SharePlexテーブルはそのユーザに属しています。 UnixおよびLinuxでは、sp_copの複数のインスタンスを複数の変数データディレクトリで実行している場合は、SharePlexのOracleユーザがそれぞれに存在します。必ず正しいユーザとしてこのスクリプトを実行してください。
(UnixおよびLinux)SharePlex変数データディレクトリを指すように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
SharePlex管理者としてcleanup.sqlを実行します。スクリプトは、SharePlex製品ディレクトリのbinサブディレクトリにあります。以下の構文を使用します。ここで、Oracle_versionは、SharePlexがサポートするOracleバージョンの1つです。
SQL> @proddir/bin/cleanup.sql
clean_vardir.shスクリプトを使用して、変数データディレクトリをクリーンアップして初期状態に戻します。
重要!clean_vardir.shを初めて実行する場合は、実行する前にQuestテクニカルサポートにご連絡ください。SharePlexドキュメントの手順でclean_vardir.shの実行が必要とされる場合を除き、本番環境でこのユーティリティを使用することが適切であることはほとんどありません。このユーティリティは設定を非アクティベーションするので、不適切に使用するとレプリケーションの問題が発生し、データを再同期する必要が生じる可能性があります。通常は別の代替手法があります。
clean_vardir.shスクリプトは以下を削除します。
clean_vardir.shスクリプトは、設定ファイル、コンフリクト解決ファイル、ヒントファイル、paramdb、oramsglistファイルなど、ユーザが作成したファイルを維持します。
clean_vardir.shスクリプトは、設定を非アクティベーションします。clean_vardir.shを実行した後にレプリケーションを開始するには、設定をアクティベーションする必要があります。
UnixおよびLinux上のOracle
このユーティリティを使用するには、Korn(ksh)シェルがシステムにインストールされていなければなりません。ユーティリティは処理中にこのシェルを呼び出します。
clean_vardir.shを実行するには:
注意: このスクリプトは、UnixおよびLinuxシステムでのみ実行してください。
SharePlex変数データディレクトリを指すようにSP_SYS_VARDIR環境変数を設定します。SP_SYS_VARDIRが設定されていない場合、clean_vardir.shは、proddir/data/default.yamlファイルに記載されているディレクトリに影響を与えます。ここで、proddirは、SharePlex製品ディレクトリのbinサブディレクトリです。
kshシェル:
export SP_SYS_VARDIR=/full_path_of_variable-data_directory
cshシェル:
setenv SP_SYS_VARDIR=/full_path_of_variable-data_directory
clean_vardir.shをSharePlex管理者として実行します。スクリプトは、SharePlex製品ディレクトリのbinサブディレクトリにあります。以下の構文を使用します。ここで、Oracle_versionは、SharePlexがサポートするOracleバージョンの1つです。
proddir/bin/clean_vardir.sh Oracle_version
スクリプトの実行が終了すると、コマンドプロンプトに戻ります。
注意: スクリプトがsave_SharePlex_versionディレクトリを削除できないというエラーメッセージを生成した場合、そのディレクトリを手動で削除することができます。
© ALL RIGHTS RESERVED. 利用規約 プライバシー Cookie Preference Center