このセクションは、SharePlexがシステムにインストールされたときにデータベース・セットアップ・ユーティリティを使用して作成されたSharePlexデータベースのアカウントと接続情報に関連する問題を診断するのに役立ちます。
注意: データベースセットアップの詳細については、『SharePlexリファレンスガイド』の「データベース・セットアップ・ユーティリティ」を参照してください。
発生している問題がこのドキュメントに記載されていない場合は、SharePlexのナレッジベースを検索してください
ナレッジベースには、フィルタリングオプションや、SharePlexの使用とトラブルシューティングに役立つその他のリソースへのリンクが含まれます。
問題点 | 説明 | ソリューション |
---|---|---|
データベース権限の不足 | データベース・セットアップ・ユーティリティが失敗する場合、実行したユーザが適切な権限を持っていない可能性があります。 | |
sp_copが実行中 | データベース・セットアップ・ユーティリティの実行中は、SharePlexsp_copプロセスを実行することができません。 | 実行中の場合は、sp_ctrlのshutdownコマンドを使用してシャットダウンします。SharePlex製品ディレクトリのbinサブディレクトリからsp_ctrlを実行します。 |
ODBCドライバの設定の問題 | Error: [unixODBC][Driver Manager]Data source name not found and no default driver specified.(エラー: [unixODBC][ドライバマネージャ]データソース名が見つからず、デフォルトのドライバが指定されていません。)この問題はpg-setupの実行中に発生します。 | odbc.iniおよびodbcinst.iniの設定が検証されていることを確認します。詳細については、「PostgreSQLのデータベースセットアップ」を参照してください。 |
SharePlexをソースまたはターゲットデータベースに接続できない場合は、showオプションを指定してconnectionコマンドを使用することで、そのデータベースに使用されているログイン資格情報を表示できます。例:
sp_ctrl> connection r.mydb show
SharePlexの変数ディレクトリのdataサブディレクトリにあるconnections.yamlファイルで接続設定を確認することもできます。このファイルに設定がない場合は、SharePlexのデータベースセットアップ手順がこのデータベースで実行されていないことを意味します。
適切なデータベースセットアップの手順については、『SharePlexリファレンスガイドSharePlex Utilities
connectionコマンドを使用して接続プロパティを更新できます。詳細については、『SharePlexリファレンスガイド』を参照してください。
SharePlex PostgreSQLユーザには、無制限の権限を持つDBAロールが必要です。SharePlexユーザは、デフォルトでPostgreSQLから割り当てられた無制限のリソースの権限がプロファイルにある前提で、デフォルトのPostgreSQLプロファイルを使用して作成されます。SharePlexがPostgreSQLと連携できない場合は、デフォルトが変更されていないか確認してください。変更されている場合は、すべての定義に対して無制限の権限を持つDBAロールをSharePlexに割り当てます。
SharePlexをDockerコンテナにインストールするには、手動で行うかDockerfileを使用します。
Dockerfileを使用してSharePlexをDockerコンテナにインストールするには、以下の手順に従います。
以下のフォーマットでDockerビルドファイルを作成します(これはLinuxプラットフォーム用に作成されたDockerファイルフォーマットのサンプル)。
# -------- Pull RHEL UBI ------------------------
ARG UBI_MINIMAL_VERSION="latest"
FROM --platform=linux/amd64 registry.access.redhat.com/ubi8/ubi:${UBI_MINIMAL_VERSION}
LABEL maintainer="<maintainer email address>"
# -------- Set Environment ------------------------
ENV HOME_DIR=/home/splex \
BASE_DIR=/u01/splex \
SP_SYS_PRODDIR=/u01/splex/prod \
SP_SYS_VARDIR=/u01/splex/var \
SP_COP_TPORT=2100 \
PATH=$SP_SYS_PRODDIR/bin:$PATH \
ODBCINI=$SP_SYS_VARDIR/odbc/odbc.ini \
ODBCSYSINI=$SP_SYS_VARDIR/odbc
# -------- Set ROOT Password ------------------------
RUN echo "root:****" | chpasswd
# -------- Install CPIO, PostgresSQL ODBC ------------------------
RUN yum -y install cpio hostname util-linux-user procps --nogpgcheck
RUN yum install -y --nogpgcheck openssh-server openssh-clients
RUN /usr/bin/ssh-keygen -A
RUN /usr/sbin/sshd
RUN yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
RUN yum install -y postgresql14-odbc --nogpgcheck
RUN yum install -y https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/ksh-20120801-257.0.1.el8.x86_64.rpm --nogpgcheck
RUN yum install -y unixODBC-devel.x86_64 unixODBC.x86_64 postgresql15-odbc.x86_64 --nogpgcheck
RUN cd /usr/lib64;ln -s /usr/pgsql-15/lib/psqlodbcw.so psqlodbcw.so
RUN cd /usr/lib;ln -s /usr/pgsql-15/lib/psqlodbcw.so psqlodbcw.so
# -------- Add Group and User ------------------------
RUN groupadd -g 54321 spadmin
RUN useradd -g spadmin -md /home/splex splex
RUN echo "splex:*****" | chpasswd
# RUN chown splex:spadmin ${BASE_DIR}
# -------- Copy SharePlex Binaries, Reponse file, Installtion script ------------------------
COPY --chown=splex:spadmin --chmod=777 SharePlex.tpm ${BASE_DIR}/
COPY --chown=splex:spadmin --chmod=777 product.rsp ${BASE_DIR}/
COPY --chown=splex:spadmin --chmod=777 installsplex.sh ${BASE_DIR}/
# -------- Change User and Install SharePlex ------------------------
USER splex
# CMD [ "/u01/splex/SharePlex-11.0.0-b1-c048c979-ONEOFF-SPO-24709-rhel-amd64-m64.tpm -r /u01/splex/product.rsp" ]
RUN /u01/splex/installsplex.sh
RUN rm ${BASE_DIR}/installsplex.sh ${BASE_DIR}/product.rsp ${BASE_DIR}/SharePlex.tpm
EXPOSE 22
VOLUME [ "${BASE_DIR}" ]
以下のサンプルファイルと同様のSharePlexインストール・スクリプト・ファイルを作成します(これは、Linuxプラットフォーム用に作成されたSharePlexインストール・スクリプト・ファイル形式のサンプル)。
#!/bin/bashset -e
echo 'export SP_HOME=/u01/splex
export SP_SYS_HOST_NAME=$(hostname)
export SP_SYS_PRODDIR=${SP_HOME}/prod
export SP_SYS_VARDIR=${SP_HOME}/var
export SP_SYS_BINDIR=${SP_SYS_PRODDIR}/bin
export SP_COP_TPORT=4545
export SP_COP_UPORT=4545
export PATH=${SP_SYS_BINDIR}:${PATH}
alias spbin="cd ${SP_SYS_BINDIR}/"
alias spvar="cd ${SP_SYS_VARDIR}/"
alias splog="cd ${SP_SYS_VARDIR}/log"
alias spc="${SP_SYS_BINDIR}/sp_ctrl"
alias gocop="${SP_SYS_BINDIR}/sp_cop -u${SP_COP_TPORT} &"
export ODBCINI=${SP_SYS_VARDIR}/odbc/odbc.ini
export ODBCSYSINI=${SP_SYS_VARDIR}/odbc
' >> /home/splex/.bashrc
/u01/splex/SharePlex.tpm -r /u01/splex/product.rsp
サイレントora_setupに使用するSharePlexサイレント・インストール・ファイルを作成します(例: product.rsp)。PostgreSQLには適用できません。詳細については、「サイレントモードでのOracleのデータベースセットアップの実行」のセクションを参照してください。
Dockerをインストールします(例: Dockerデスクトップ)。
ベースイメージを選択します(例: CentOS)。
必要なパッケージ(例: PostgreSQL ODBCドライバ/Oracle Instant Client)をインストールします。
プロジェクトディレクトリにカスタムファイルを追加します(SharePlexファイル)。
コンテナを実行するユーザを指定します(例: splex:spadmin)。
公開ポートを指定します(例: 2100)。
エントリポイントを定義します(例: bash)。
設定方法を定義します(例: 環境変数/スクリプト)。
データを外部化します(永続データ用の外部ボリュームを定義)。
以下のファイルを作成し、プロジェクトディレクトリにコピーします(例: splex_to_container)。
dockerfile(Dockerビルドファイル)
installsplex.sh(SharePlexインストールスクリプト)
product.rsp(SharePlexサイレント・インストール・ファイル)
SharePlex.tpm(SharePlex TPMインストーラ)
このディレクトリ内で以下のコマンドを実行します。
docker build -t shareplex:11
このコマンドは、名前が「shareplex」、タグが「11」のSharePlexイメージを構築します。
docker run -itd --privileged -d --memory-reservation=100m --expose 22 --ulimit nofile=2000:2000 -p 4545:4545 -p 80:22 --name shareplex -it shareplex:11.4
このコマンドは、「shareplex」という名前のイメージ「shareplex:11」からコンテナを起動します。
docker exec -it shareplex bash
このコマンドは、実行中のSharePlexコンテナで対話型ターミナルセッションを開始します。これでデータベース・セットアップ・ユーティリティを実行できます。
SharePlexのセキュリティグループは、SharePlexのコマンドおよび制御システムへのアクセスを制御します。これらのグループを適切に設定しないと、システムの権限を持つ誰もが、データレプリケーションを表示、設定、制御するコマンドを使用できます。
© ALL RIGHTS RESERVED. 利用規約 プライバシー Cookie Preference Center