事前チェック中、DTS はターゲットデータベースへの接続性を検証します。このチェックが失敗した場合は、以下の原因を特定し、対応する修正を適用してください。
ターゲットデータベースの接続性事前チェックは、次の理由で失敗する可能性があります。
データベースアカウントまたはパスワードの誤り
検出方法:
ターゲットデータベースにアクセスできる任意のデバイスから、移行タスクで指定されたアカウントとパスワードを使用して接続し、認証情報を検証します。
ターゲットデータベースサーバー上で直接認証情報を検証することもできます。
ソリューション:
DTS コンソールで、移行タスクを正しいアカウントとパスワードで更新し、事前チェックを再実行します。
移行先が Tair または Redis インスタンスの場合は、選択したアカウントのパスワードを入力します。このアカウントには読み取りおよび書き込み権限が必要です。
-
デフォルトアカウント (インスタンス ID名):パスワードを直接入力します。
-
新しいアカウント:パスワードは
<custom_username>:<password>のフォーマットです。たとえば、Redis インスタンスのユーザー名が admin でパスワードが Rp829dlwa の場合、データベースパスワードとして admin:Rp829dlwa と入力します。
ターゲットデータベースによるソース IP アドレスの制限
検出方法:
-
移行タスクの認証情報を使用して、ホストサーバーからターゲットデータベースに接続します。これが成功した場合、データベースが DTS のソース IP を制限している可能性があります。
-
ターゲットデータベースが MySQL の場合は、MySQL クライアントで接続し、次のコマンドを実行します。
SELECT HOST FROM mysql.user WHERE user = 'username';説明username と password を、移行タスクで設定した認証情報に置き換えてください。
承認済み IP アドレスに、オンプレミスソースの IP アドレスホワイトリストに記載されている DTS サーバーの IP アドレスが含まれているかどうかを確認します。
-
ターゲットデータベースが SQL Server の場合は、ホストサーバー上のファイアウォール、およびソース IP アドレスを制限するエンドポイントまたはトリガーがないか確認します。
-
ターゲットデータベースが Oracle の場合は、sqlnet.ora ファイルで
TCP.VALIDNODE_CHECKINGがyesに設定されているかどうかを確認します。値がyesの場合、データベースがソース IP からのアクセスを制限していることを意味します。
ソリューション:
-
ターゲットデータベースが MySQL の場合は、次のコマンドを実行して移行アカウントに権限を付与します。
GRANT ALL ON *.* TO 'username'@'%' IDENTIFIED BY 'password';説明username と password を、移行タスクで設定した認証情報に置き換えてください。
-
ターゲットデータベースが SQL Server の場合は、ファイアウォールまたはトリガーを無効にします。
-
ターゲットデータベースが Oracle の場合は、
TCP.VALIDNODE_CHECKINGをnoに変更し、プロセスを再起動します。
修正後、DTS コンソールで事前チェックを再実行します。
ターゲットデータベースサーバーに設定されたファイアウォール
検出方法:
-
サーバーの OS が Windows の場合は、コントロール パネルを開き、Windows ファイアウォールの設定を確認します。
-
サーバーの OS が Linux の場合は、
iptables -Lを実行してファイアウォールルールを確認します。
ソリューション:
ファイアウォールを無効にし、DTS コンソールで事前チェックを再実行します。
ネットワーク接続の問題
前述の原因に対処した後もチェックが失敗する場合は、DTS サーバーとターゲットデータベースの間にネットワークの問題がある可能性があります。