Insight Database Testing 2.2

マニュアル

2021年5月7日(第1版)

1. 商標/免責事項

1.1. 免責事項

本マニュアルに記載された情報は、予告なしに変更される場合があります。株式会社インサイトテクノロジーは、本マニュアルに関していかなる種類の保証(商用性および特定の目的への適合性の黙示の保証を含みますが、これに限定されません)もいたしません。
株式会社インサイトテクノロジーは、本マニュアルに含まれた誤謬に関しての責任や、本マニュアルの提供、履行および使用に関して偶発的または間接的に起こる損害に対して、責任を負わないものとします。

1.2. 著作権と商標

本マニュアルのいかなる部分も、株式会社インサイトテクノロジーからの文書による事前の許可なしには、形態または手段を問わず決して複製・配布してはなりません。
Insight Database Testing、PISOは株式会社インサイトテクノロジーの登録商標です。

他社商標
  • Amazon Web Services、Amazon Elastic Compute Cloud(Amazon EC2)、AWS、Amazon Auroraは、米国その他の諸国における、Amazon.com, Inc. またはその関連会社の商標です。

  • Azure、SQL Serverは、米国Microsoft Corporation の米国およびその他の国における登録商標または商標です。

  • CentOS は米国および他の国におけるRed Hat, Inc. の商標または登録商標です。

  • Firefox、Firefoxロゴは米国Mozilla Foundationの米国およびその他の国における商標です。

  • Google Chromeは、Google LLCの商標です。

  • MariaDBは、MariaDB Corporation Abおよびその子会社、関連会社のフィンランド、米国およびその他の国における登録商標です。

  • MySQL、Oracleは、Oracle Corporationおよびその子会社、関連会社の米国およびその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。

  • 本製品には、OpenSSL Project(http://www.openssl.org)が開発したソフトウェアが含まれています(OpenSSL Toolkit で使用)。

  • PostgreSQLはカナダのPostgreSQLコミュニティ協会の登録商標です。

  • VMware、VMware ESXiは、米国およびその他の地域におけるVMware, Inc.の登録商標または商標です。

その他の社名および製品名は、一般に各社の商標または登録商標です。なお、本文中には™、®マークは明記しておりません。

2. 本マニュアルの読み方

表記について

本マニュアルでは、以下の表記方法を使用します。

  • 注意事項は、以下のように示します。

    本手順はSQLの評価までの基本的な手順のみを記載しています
  • 参照先は、以下のように示します。

    詳細については、インストールマニュアルを参照してください。
  • コマンドボックスは、コマンドライン上の入力または表示内容を示します。
    ex

    istctl upistcmon
    istctl startall
  • インラインブロックはコマンドを示します。
    ex istctlに追加コマンドがあります。

  • 文中の 太字 はファイルやディレクトリを示します。
    ex IDT Managerの /mnt/piso-data/idt-data/sct 配下に出力されます。

  • < > は、使用する環境によって表記が異なる事を示します。
    ex
    「 http://<インストールマシンのIPアドレス>:7777/idt/ 」の場合、インストールマシンのIPアドレスが「198.162.0.0」であるならば、「 http://198.162.0.0:7777/idt/ 」と読み替えてください。

3. はじめに

3.1. 製品の概要

本製品は今までソースDB(移行元DB)で使用していたSQLを、ターゲットDB(移行先DB)で実際に使用できるかを検証します。
ソースDBでのSQLの取得は、株式会社インサイトテクノロジー独自のDMA機能を使うため、低負荷で網羅的に取得できます。取得したSQL群は簡単にターゲットDBへ実行できます。
弊社製品PISOを使用しているお客様は、PISOで取得したSQLを使用できます。
ターゲットDBでのSQLの実行結果はビジュアライズされ、実行できないSQLの傾向や、性能が劣化したSQLが分かります。
IDT Webコンソール上でSQLを書き換えて検証・保存することもできます。

3.2. 製品の構成

Insight Database Testing(以下Insight DTと表記します)ではソースDBで実行されているSQLを使用してアセスメントを実行します。SQLの取得と収集にはPISOを使用します。
既に弊社製品PISOをご使用いただいているお客様は、ご利用中のPISO TargetをSQLの取得にご使用いただけます。
本製品はソースDBで実行するPISO Targetから取得したSQLを収集するPISO Manager部分と、ターゲットDBへSQLを実行するためのInsight Database Testingマネージャー(以下IDT Manager と表記します)部分とで構成されています。

ソースDBから収集したSQLを対象として、IDT ManagerからターゲットDBへ実行し、実行結果を取得・分析することができます。

構成図

3.3. Insight DTのシステム要件

ホスト
  • VMware ESXi 6.0 Update 2以降。 ただし、VMware ESXi 7.0以降は未対応です。

使用するファイル

提供されたInsight DTのZIPファイルを展開してください。
以下の4つのファイルを使用します。

  • IDT-Manager2200.ovf

  • disk-0.vmdk

  • disk-1.vmdk

  • disk-2.vmdk

システム要件
ハードウェア 必要スペック

vCPU

4コア~

メモリ

8GB~

ディスク

64GB~ ※1

※1 一般的に、監視対象DBが1インスタンス(1か月)あたり、50GB程度のディスク容量を必要としますが、利用状況により大きく異なります。

詳細はPISO Managerのインストールマニュアルを参照してください。(sdb:オンライン領域、sdc:バックアップ領域)

Amazon EC2(以下、EC2と表記)で使用することもできます。
AWS Marketplace: IDT-Manager (BYOL) からAMIを入手してください。

3.4. 性能要件

すべてのIDT Managerの基準値は以下の前提条件から算出されています。

ハードウェア基準値
項目 基準値

vCPU

4コア

メモリ

16GB

ディスク

130MB/secの転送性能

上記ハードウェア基準値をもとに以下のIDT Manager 1台ごとの稼働上限値を設けています。

IDT Manager稼働基準値
項目 基準値

SQLのサイズ

1KB/1SQL

1時間あたりの処理可能なアクセスログの件数

最大20.8万件

1日の合計件数

500万件

3.5. 対応DB

ソースDB
  • Oracle Database 10g以上

  • PostgreSQL 9.3以上(互換製品を含む)※1

  • SQL Server 2005以上

  • MySQL 5.5以上

ターゲットDB
  • Oracle Database 11gR2、12c、12cR2、18c、19c

  • PostgreSQL 9.4以上(互換製品を含む)※2

  • SQL Server 2017、2019(互換製品を含む)※3

  • MySQL 5.6、5.7、8.0(互換製品を含む)※4

※1 PostgreSQLの互換製品には、EDB Postgres Advanced Server、FUJITSU Software Enterprise Postgresを含みます。

※2 PostgreSQLの互換製品には、Amazon Aurora with PostgreSQL Compatibility、EDB Postgres Advanced Server、FUJITSU Software Enterprise Postgres、を含みます。

※3 SQL Serverの互換製品には、Azure SQL Database、Azure SQL Managed Instanceを含みます。

※4 MySQLの互換製品には、Amazon Aurora with MySQL、MariaDB10.1以上を含みます。

ソースDBではPISO Targetの動作がサポートされている必要があります。
各種データベースに対するPISO Targetの対応状況はサポートデスク「対応情報」から確認できます。
詳細は弊社サポートまでお問い合わせください。

3.6. 対応ブラウザ

  • Google Chrome version 78.0~

  • Mozilla Firefox version 70.0~

3.7. 使用している用語について

用語 説明

IDT Manager

Insight Database Testing マネージャー
SQLを蓄積、SQLを実行するマネージャーサーバーです。

評価SQLセット

ターゲットDBへ実行するフォーマットに変更したSQLのデータセットです。
PISOのマイニングサーチで出力したCSVファイルをもとに作成できます。

アセスメント

評価SQLセットをターゲットDBへ実行すること。または実行結果のデータセットです。

変換用SQLセット

アセスメントから、失敗、もしくは成功したSQLをユニークな形で抜き出したデータセットです。
アセスメントが終了したタイミングで、アセスメントのサマリー画面からダウンロードできます。抽出単位は1SQLにつき1ファイルです。
他社が用意しているSQL変換ツールなどに使用できます。

PI Hash

SQLに付与する弊社独自のハッシュ値です。
SQLのリテラルを無視し、同じ構成のSQL文に同じハッシュ値を付与します。

PISO

弊社が開発しているデータベースアクティビティモニタリングツールです。
アクセス情報を取得する機能があり、Insight DTではそれを流用しています。

PISO Manager

PISOにおいて、アクセス情報を蓄積・分析するためのマネージャーサーバーです。

PISO Target

PISOにおいて、アクセス情報を取得するために監視対象サーバーにインストールするモジュールです。

マイニングサーチ

PISOの蓄積データ抽出機能です。
蓄積したアクセス情報を検索しファイル出力する機能です。

4. インストールと各種設定

ソースDBからSQL取得するためにPISO Targetを使用する場合には、弊社ホームページ(https://www.insight-tec.com)のサポートデスクにログインの上、PISO Target各インストールマニュアルを参照してください。

4.1. IDT Managerの構築と設定

4.1.1. 概要

IDT ManagerはVMwareのイメージとして提供し、ソフトウェアアプライアンスとしてご使用いただけます。
仮想マシンイメージをインポートすることでアプリケーションを使用できます。
IDT ManagerはPISO Managerを同梱した形態で提供しています。

4.1.2. PISO Manager インストールマニュアルでの差異

仮想マシンイメージの操作はPISO Managerのインストールマニュアルに従います。
以下はIDT Managerとしてマニュアルを読み替える箇所です。
仮想マシンのホスト名は「idt」です。

現バージョンでは、ホスト名をデフォルト(idt)から変更することはできません。

ライセンス・パスワード操作が不要です。
PISO Managerはあらかじめ自動起動設定されています。

istctlの一部コマンドは使用しません。

  • setlicense

  • id

  • showlicense

istctlに追加コマンドがあります。

  • upidt

  • downidt

4.1.3. インポート手順について

仮想マシンイメージのインポート(デプロイ)、ディスク設定およびネットワーク設定はPISO Managerのインストールマニュアルを参照してください。

4.1.4. IDT Webコンソール

4.1.4.1. アクセス

ブラウザからIDT Webコンソールに接続します。

初期設定では以下のURLから接続します。

http://<インストールマシンのIPアドレス>:7777/idt/
4.1.4.2. ポートの変更

PISO Managerのインストールマニュアルを参照してください。

4.1.4.3. 起動停止

IDT Webコンソール単独の起動・停止は以下のコマンドで実施します。

  • 起動する場合

    istctl upidt
  • 停止する場合

    istctl downidt

4.1.5. アンインストール手順について

仮想マシンの削除を行います。

VMwareのドキュメントを参照してください。

4.2. IDT Managerの構築と設定(EC2上で構築)

EC2上でIDT Managerを使用する場合は、以下の手順で起動してください。

4.2.1. EC2上でのIDT Managerの起動

  • 以下の手順に従い、EC2インスタンスを起動します。

    • Amazonマシンイメージ(AMI):IDT ManagerのイメージをAWS Marketplaceから選択します。

    • インスタンスタイプ:vCPU 4コア以上、メモリ8GB以上のインスタンスタイプ(m5.xlarge推奨)を選択します。

    • ストレージ:一般的に、監視対象DBが1インスタンス(1か月)あたり、50GB程度のストレージを必要としますが、利用状況により大きく異なります。

      詳細はPISO Managerのインストールマニュアルを参照してください。(sdb:オンライン領域、sdc:バックアップ領域)
    • セキュリティグループ:ssh(22)に加え、http(7777)を許可します。

      • PISO TargetはPISO Managerのポート番号7777に対してデータを送信します。(既定の動作)

      • ポート番号7777は、IDT Webコンソールへのアクセスにも利用されます。

  • EC2インスタンスが起動したら、centosユーザーにてsshで接続します。

4.2.2. IDT Managerの設定とインストール

現バージョンでは、ホスト名をデフォルト(idt)から変更することはできません。
  • EC2起動時に指定したストレージサイズをOS側で認識させます。
    EC2起動に、既定の1GBからボリュームサイズを変更している場合、以下のコマンドディスクサイズを拡張します。

sudo xfs_growfs -d /mnt/piso-data
sudo xfs_growfs -d /mnt/piso-backup

4.2.3. Webコンソールへのアクセス

  • 「http://<IP_ADDRESS>:7777/piso/」から蓄積の設定・確認を行うPISO ManagerのWebコンソールへアクセスできます。
    既定のユーザーとパスワードは、ユーザー名が「administrator」、パスワードは起動したEC2のインスタンスIDです。

  • 「http://<IP_ADDRESS>:7777/idt/」からターゲットDBへ接続しアセスメントを行うIDT ManagerのIDT Webコンソールへアクセスできます。
    既定のパスワードは起動したEC2のインスタンスIDです。

4.2.4. アンインストール手順について

IDT ManagerのEC2インスタンスを選択し、「インスタンスを終了」してください。

AWSのドキュメントを参照してください。

5. 操作の流れ

Insight DTにおけるSQLの収集と評価は、以下の一連の流れに従って実施します。

5.1. PISO Managerを使用したSQL収集

5.1.1. 蓄積の設定

  • PISO Manager側で、確認されたデータベースインスタンスに対して蓄積設定を行います。

    • 蓄積設定は、「http://<IP_ADDRESS>:7777/piso/」から実行します。

      詳細は「PISO Manager設定マニュアル」を参照してください。
  • 蓄積設定後、PISO Managerにて PISO TargetからのSQL実行等が蓄積されるようになります。

5.1.2. 蓄積したSQLのCSVファイルへの出力

  • [データ検索]>[マイニングサーチ]を選択します。

  • 以下の設定で、蓄積したSQLをCSVファイルへ出力します。

    • 出力形式:CSV形式

    • 出力ディレクトリ:/mnt/piso-data/idt-data/src

    • [SQL監視]タブを選択した状態にする

ja piso manager ms setting
  • [SUBMIT]を選択します。

  • マイニングサーチが実行され、[終了ジョブ一覧]に表示されていることを確認します。

ja piso manager ms completed

5.2. SQLの評価(IDT Webコンソールから実行)

以下の手順は、「http://<IP_ADDRESS>:7777/idt/」から実行します。
本手順はSQLの評価までの基本的な手順を記載しています。

5.2.1. 評価SQLセットの作成

評価するSQLの集まりである「評価SQLセット」を作成します。

  • グローバルナビゲーションバーから[評価SQLセット]を選択します。

  • [評価SQLセット]の一覧画面から[新規作成]を選択します。

idt test data set list
  • 以下の情報を設定します。

    • 評価SQLセット名:「評価SQLセット」の名称

    • データ元ファイル:「/src」からマイニングサーチで出力したCSVファイルを選択

    • ソースDB:ソースDB情報を選択(まだ作成されていない場合は新たに作成)

    • ユニークSQL:(任意の選択)

idt create test data set
idt src db
  • 必要項目を設定後[新規作成]を選択します。

5.2.2. ターゲットDBの設定

  • グローバルナビゲーションバーから[ターゲットDB]を選択します。

  • [新規作成]を選択します。

  • 以下の情報を設定します。

    • ターゲットDB名:ターゲットDBの名称

    • データベース:対象のデータベースの種類

    • バージョン:データベースのバージョン情報

    • ホスト名:IPアドレス

    • ポート:ポート番号

    • データベース名:データベース名

ターゲットDBの種類によっては、事前に接続設定等が必要となります。詳細は事前準備を参照してください。
idt create target database
  • 必要項目を設定後[新規作成]を選択します。

  • 作成されたターゲットDBを一覧から選択後、接続確認をします。

  • ユーザーとパスワードを設定して、[テスト接続]を実行してください。

idt target database test connection

5.2.3. アセスメントの実行(SQLの評価)

  • グローバルナビゲーションバーから[アセスメント]を選択します。

  • [新規作成]を選択します。

  • 以下の情報を設定します。

    • アセスメント名:評価結果として保存される名前を設定

    • 評価SQLセット名:作成した「評価SQLセット」を選択

    • ターゲットDB名:作成した「ターゲットDB」を選択

    • 実行タイプ:[実行]または[パース]を選択

    • トランザクション:[コミット][ロールバック]または[指定なし]を選択

    • 同時セッション処理数:評価SQLセットをターゲットDBで実行する際に同時に処理するセッション数を指定(最大16)

    • 0秒の仮定値:0.2などの数値を設定

    • バインド変数変換:SQLに含まれる名前付きバインド変数をターゲットDBで実行可能な書式に変換してSQLを実行する場合は「オン」

    • 接続情報:SQLを実行するDBユーザーを選択

    • テスト接続:指定したDBユーザー/パスワードで接続できるかをテスト時にクリック

    • データ設定:必要に応じて[期間(セッション)][バインド変数補完]を設定

  • 画面右下の[新規作成]を選択します。

アセスメント_新規作成_画面

5.2.4. 結果の確認

  • メニューから[アセスメント]を選択します。

idt assessment
  • 実行結果の[アセスメント名]を選択すると結果の詳細を確認できます。

idt assessment 1
  • [成功した全てのSQLを見る]を選択すると、ターゲットDB上で実行できたSQLの一覧を表示できます。

  • SQLを選択すると、SQL文の詳細などを確認できます。

idt assessment 1 sql

6. 基本操作方法

6.1. 事前準備

ソースDBから取得したSQLをターゲットDBへ実行する前に、以下を行います。

SQLの取得についてはPISO Managerを使用したSQL収集を参照してください。

6.1.1. ターゲットDB設定・接続設定

6.1.1.1. Oracle
接続識別子の編集

ターゲットDBがOracleの場合、IDT Managerへ接続識別子の設定が必要になります。
IDT Managerのファイル/home/insight/idt/etc/tnsnames.oraを編集します。
Oracleへ接続する際の接続識別子に、ファイルtnsnames.oraで指定した接続識別子(net_service_name)を指定してください。

基本的な書式

net_service_name=
    (DESCRIPTION=
        (ADDRESS=(protocol_address_information))
        (CONNECT_DATA=
            (SERVICE_NAME=service_name)
        )
    )
詳細はOracleのドキュメントを参照してください。
6.1.1.2. MySQL
performance_schema の有効化

ターゲットDBがMySQLおよびその互換製品の場合、DB本体のperformance_schemaを有効にする必要があります。
performance_schemaとIDT Managerで使用するイベントが有効であるかを確認します。
それぞれの項目で不足がある場合は有効化手順に従って設定を行います。

有効化確認
  1. performance_schemaの確認
    以下のクエリの結果がValue=Onならばperformance_schemaが有効です。

    > SHOW VARIABLES LIKE 'performance_schema';
    +--------------------+-------+
    | Variable_name      | Value |
    +--------------------+-------+
    | performance_schema | ON    |
    +--------------------+-------+
  2. setup_instrumentsの確認
    以下の操作でstatement/com/Prepareとstatement/com/ExecuteのENABLEDとTIMED両方が「YES」であることを確認します。

    > use performance_schema;
    > select * from setup_instruments where name IN ('statement/com/Prepare', 'statement/com/Execute');
    +-----------------------+---------+-------+
    | NAME                  | ENABLED | TIMED |
    +-----------------------+---------+-------+
    | statement/com/Prepare | YES     | YES   |
    | statement/com/Execute | YES     | YES   |
    +-----------------------+---------+-------+
  3. setup_consumersの確認
    以下の操作でevents_statements_currentとevents_statements_historyのENABLEDが「YES」であることを確認します。

    > use performance_schema;
    > select * from setup_consumers where name IN ('events_statements_current', 'events_statements_history');
    +---------------------------+---------+
    | NAME                      | ENABLED |
    +---------------------------+---------+
    | events_statements_current | YES     |
    | events_statements_history | YES     |
    +---------------------------+---------+
  4. setup_actorsの確認
    評価対象のHOST、USER、ROLEに対してsetup_actorsのENABLEDとHISTORYの両方が「YES」であることを確認します。

    「%」はすべてが対象であることを示しています。

    > use performance_schema;
    > select * from setup_actors;
    +------+------+------+---------+---------+
    | HOST | USER | ROLE | ENABLED | HISTORY |
    +------+------+------+---------+---------+
    | %    | %    | %    | YES     | YES     |
    +------+------+------+---------+---------+
  5. 接続ユーザーの権限の確認

    Insight DTから接続するユーザーにperformance_schemaへのSELECT権限が付与されているかを確認します。

    下記の「権限が適切に付与されている場合」のような結果であれば問題ありません。

    Insight DTから使用するDBアカウントで操作

    > use performance_schema;

    ex 権限が適切に付与されている場合

    > select count(*) from setup_instruments;
    +----------+
    | count(*) |
    +----------+
    |     1210 |
    +----------+

    ex 権限が不足している場合

    > select count(*) from setup_instruments;
    ERROR 1142 (42000): SELECT command denied to user 'ユーザー名'@'localhost' for table 'setup_instruments'
有効化手順
  1. performance_schemaとsetup_instruments、setup_consumersの有効化

    オンプレミスの場合

    my.cnf またはデータベースから読み込まれる設定ファイルのmysqldセクションに以下を追加してデータベースを再起動します。

    [mysqld]
    performance_schema=ON
    performance-schema-instrument='statement/com/Prepare=ON'
    performance-schema-instrument='statement/com/Execute=ON'
    performance-schema-consumer-events_statements_current=ON
    performance-schema-consumer-events_statements_history=ON

    クラウドサービスの場合

    各サービスのドキュメントを参照してください。

  2. setup_actorsの設定
    setup_actorsに計測対象を加えます。

    > use performance_schema;

    すべてを計測対象にする場合

    > insert into setup_actors values ('%','%','%','YES');

    特定のユーザーのみを対象にする場合

    > insert into setup_actors values ('%','対象にするユーザー','%','YES');
  3. 接続ユーザー権限の設定
    以下のクエリで接続ユーザーへperformance_schemaへのSELECT権限を与えます。
    必要ユーザーすべてに対して実行してください。

    > GRANT SELECT ON `performance_schema`.* TO `ユーザー名`@`%`;
6.1.1.3. SQL Server
ODBCドライバーのインストール

ターゲットDBがSQL Serverおよびその互換製品の場合、Insight DTからターゲットDBへの接続にはODBCドライバーが必要です。
/optディレクトリにインストール用のRPMパッケージを配置しています。
以下はIDT Managerサーバーで操作を行います。

$ su -
# ACCEPT_EULA=Y yum install -y /opt/msodbcsql17-17.6.1.1-1.x86_64.rpm
odbc.iniの編集

ターゲットDBがSQL Serverおよびその互換製品の場合、IDT ManagerへODBCデータソースの設定が必要になります。
IDT Managerのファイル/home/insight/idt/etc/odbc.iniを編集します。
SQL Serverへ接続する際のDSN(データソース名)に、odbc.iniファイルで指定したデータソース名を指定してください。
Driverは「Driver=ODBC Driver 17 for SQL Server」を指定します。

基本的な書式

[SQL Server]
Driver=ODBC Driver 17 for SQL Server
Server=host,1433
Database=master
詳細はMicrosoftのドキュメントを参照してください。

6.2. IDT Webコンソールへログオン

ブラウザからIDT ManagerのIDT Webコンソールへ接続します。
以下のURLへアクセスしてください。

http://<IDT ManagerのIPアドレス>:7777/idt/

以下の画面が表示されます。パスワード(初期設定:insight)を入力し、[ログオン]をクリックします。

ログオン画面
パスワードについてはパスワードの変更を参照してください。

6.3. アセスメント

評価SQLセットをターゲットDBへ実行できます。
事前に評価SQLセットを作成する必要があります。

詳細は評価SQLセットを参照してください。

事前にターゲットDBを登録する必要があります。

詳細はターゲットDBを参照してください。

6.3.1. 新規作成

ローカルナビゲーションバーから[新規作成]をクリックします。

アセスメント_新規作成

必要な値を入力します。

アセスメント設定
項目名 説明

アセスメント名

アセスメントの名前を入力します。

  • 半角英数字と「 _ 」「 - 」が使用できます。

  • 大文字、小文字を区別します。

評価SQLセット名

ターゲットDBへ実行する評価SQLセットを選択します。
事前に評価SQLセットを作成する必要があります。

詳細は評価SQLセットを参照してください。

ターゲットDB名

評価SQLセットを実行するターゲットDBを選択します。
事前にターゲットDBを登録する必要があります。

詳細はターゲットDBを参照してください。

実行タイプ

実行する方法を選択します。

  • 実行:評価SQLセットをターゲットDBに対して実行します。

  • パース:パース実行を行います。実行時間は取得できないため、速度が遅くなったSQL等の判定ができません。バインド変数の値がなくてもテーブルの有無や構文のチェックができます。

トランザクション

トランザクションの設定を選択します。
ソースDBで実行された1セッションを1トランザクションとし、トランザクションをどの設定で実行するか選択できます。

  • コミット:実行したSQLをコミットします。INSERT文やDELETE文などはターゲットDBに実行結果が反映されます。SQLが失敗すると、そのトランザクション内のSQLはすべてロールバックされます。

  • ロールバック:実行したSQLをロールバックします。ターゲットDBには何も反映されません。

  • 指定なし:指定しません。ターゲットDBの設定に依存します。

同時セッション処理数

評価SQLセットをターゲットDBで実行する際に同時に処理するセッション数を指定します(最大16)。
ターゲットDBとManagerのリソースに余裕がある場合に、アセスメント実行の速度向上が見込めます。
ターゲットDBのリソース制限や接続設定によって、実行がタイムアウトエラーとなる場合があります。

0秒の仮定値

ソースDBでのSQL実行時間が0秒だった場合に、実行時間の仮定値として設定される値を入力します。

  • PISOのデフォルトのサンプリング間隔に基づき、デフォルトは0.2秒です。

    詳細は0秒時の対応を参照してください。
  • 実行タイプに「実行」を選択した場合のみ設定します。

バインド変数変換

SQLに含まれる名前付きバインド変数をターゲットDBで実行可能な書式に変換してSQLを実行します。
移行先が名前付き引数に対応していないDBMSでもデータベース接続ドライバーまたはデータベース接続プログラムによって対応される場合を再現して、アセスメント実行時にSQLを自動変換して実行します。

接続情報
項目名 説明

DBユーザー

実行するDBユーザーをフィルタリングできます。
チェックされているDBユーザーのSQLのみ実行されます。
実行するDBユーザーの対応するパスワードを入力してください。
チェックされていないDBユーザーのSQLは実行されません。

テスト接続

誤ったパスワードを指定するとログインエラーになりアセスメントを正しく行うことができません。
パスワードを入力したら、画面左下の[テスト接続]をクリックし、接続ができるか確認してください。接続結果は、画面右上に以下のようなインフォメーションが表示されます。

アセスメント_接続表示

データ設定
項目名 説明

期間(セッション)

セッションの期間でフィルタリングして実行することができます。
選択されていない期間のセッションのSQLは実行されません。
[期間(セッション)]をクリックし、適切な期間を設定してください。

アセスメント_期間

バインド変数補完

バインド変数補完を参照してください。
アセスメント_新規作成_画面

設定が完了しましたら、画面下部にある[新規作成]をクリックしてください。

6.3.1.1. バインド変数補完

評価SQLセットに取得されていないバインド変数をアセスメント実行時に補完します。
データ型ごとに補完する値を設定します。

  • バインド変数に求められる型情報を移行先DBから取得できなかった場合は、「デフォルト」で指定した値を使用します。

  • 値にNULLを指定したいときは、NULLにチェックを入れてください。

アセスメント_バインド変数補完

6.3.2. アセスメントの削除

アセスメントを削除できます。

削除するアセスメントにチェックを入れます。

アセスメント_選択

ローカルナビゲーションバーから[削除]をクリックします。

アセスメント_削除

確認用画面が表示されます。削除するアセスメントを確認してください。
問題がなければ、画面下部にある[削除]をクリックしてください。

アセスメント_削除_確認

一覧から、該当のアセスメント名がなくなったら削除の完了です。
アセスメントの削除はデータ量に応じて数分かかる場合があります。

6.3.3. アセスメント結果の確認

実行したSQLの実行結果を確認します。
確認するアセスメント名をクリックします。

アセスメント_選択

6.3.4. サマリー

アセスメントを選択することで、サマリーの画面へ遷移し、結果のサマリーを閲覧できます。

6.3.4.1. 修正すべきSQL一覧

実行できなかったSQLをユニークな形で絞り込んで表示します。

ユニークについての詳細はユニークSQLについてを参照してください。

サマリー画面の[修正すべきSQL一覧]をクリックします。

サマリー_修正すべきSQL一覧

実行結果一覧が[SQL実行結果:失敗]かつ[修正状態:すべて]の場合に、修正すべきSQL一覧を表示します。

網羅的に取得したSQLをユニークなものに絞り込み表示します。
画面上部の修正完了率(バーチャート)では、左側に未修正のSQL、右側に修正済のSQLの割合と件数が表示されます。
初期表示は未修正のSQLが100%、修正済のSQLが0%です。
SQLのステータスは失敗アイコン[失敗アイコン]になっていますが、SQLを修正、保存することで修正アイコン[修正アイコン]に変わります。
SQLの保存については、SQLの編集と実行と保存を参照してください。
保存していくことでSQLのステータスや画面上部の修正完了率が変更されていきます。

修正すべきSQL一覧
修正すべきSQL一覧のフィルタリング
  • 修正すべきSQLの内、修正していないSQLのみを表示したい場合は[修正状態:未対処]にチェックを入れてください。

  • 修正したSQLのみ表示したい場合は、実行結果一覧の[修正状態:修正済]にチェックを入れてください。

フィルタリングについては「実行結果一覧」を参照してください。
6.3.4.2. 実行できなかったSQL

実行できなかったSQLと実行できたSQLの割合が表示されます。
左側が実行できなかったSQL、右側が実行できたSQLになっています。
それぞれの件数と、すべてのSQLに対しての割合が表示されます。
評価に含まれていたSQLをすべて実行していますが、実行する際にDBユーザー、セッション等でフィルタリングを行った場合は、SQLが絞り込まれています。
実行できなかったすべてのSQLを参照したい場合は、エラープログラム項目の下の、[失敗した全てのSQLを見る]をクリックします。

実行できなかったSQLは3つの観点からグルーピングしています。

  • エラーメッセージ

  • ユーザー

  • プログラム

それぞれの件数を集計し、上位10件を表示します。
上位11件以降を参照したい場合は、それぞれのタイトルをクリックします。
各項目のSQL情報を閲覧する場合は対象の行をクリックします。

サマリー_失敗したSQL
6.3.4.3. 遅くなったSQL

左側に遅くなったSQL、右側に遅くならなかったSQLの割合と件数が表示されます。 割合の分母は成功したSQLの件数です。

ソースDBで取得した実行時間とターゲットDBで取得した実行時間を比較し、100%以上になっているものを遅くなったSQLとして算出、上位10件を表示します。
パースモードで実行した場合は実行時間が取得できないため表示されません。
実行時間を取得したい場合はアセスメントの実行タイプを実行に指定してアセスメントしてください。

上位11件以降を参照したい場合、もしくは、実行できたすべてのSQLを参照したい場合は、項目の下の[成功した全てのSQLを見る]をクリックします。
SQL情報を閲覧する場合は対象の行をクリックします。

サマリー_遅くなったSQL

ソースDBのSQLの実行時間が0秒になることがあります。

詳細は0秒時の対応を参照してください。
6.3.4.4. 移行情報

バインド変数変換や構文でエラーになるものを集計し、表示します。

  • バインド変数書式変換がある場合に変換したもの

  • 取得できていないバインド変数に値を埋めたもの

  • バインド変数型の型変換で、エラーの可能性があるもの

  • 非互換構文について取得したもの(Oracle Databaseのみ)

バインド変数についてはソースDB、ターゲットDBの型対応ターゲットDB実行時の型指定と入力書式を参照してください。
サマリー_移行情報
6.3.4.5. ダウンロード

アセスメント結果をCSVファイル形式でダウンロードできます。

[ダウンロード]をクリックすると、ダウンロードの画面が表示されます。

サマリー_ダウンロード

ダウンロードするSQLをフィルタリングできます。
成功したSQLのみダウンロードする場合は[成功]のみにチェックを入れます。
失敗したSQLのみダウンロードする場合は[失敗]のみにチェックを入れます。
結果に関係なくすべてのSQLの実行結果を取得する場合は[成功][失敗]両方にチェックを入れます。

サマリー_ダウンロード_画面

画面下部の[ダウンロード]をクリックをクリックします。
ローカルファイルとしてCSVファイルのダウンロードが開始されます。

項目の詳細はCSVファイルのカラムについてを参照してください。
6.3.4.6. ツール連携

失敗したSQLの自動変換など、外部ツールと連携できます。

SQLの抽出

アセスメントの結果から成功・失敗したSQLを抽出できます。

[ツール連携]をクリックし、[SQLの抽出]をクリックすると、ダウンロードの確認が表示されます。

SQLの抽出

どの実行ステータスのSQLをダウンロードするかを選択し、画面下部の[ダウンロード]をクリックしダウンロードを実行してください。

失敗したSQLの抽出
詳細は失敗したSQLの抽出の項目を参照してください。
修正を評価SQLセットに適用

修正したSQLを評価SQLセットにマージできます。
[修正を評価SQLセットに適用]をクリックします。

サマリー_修正を評価SQLセットに適用

確認用の画面が表示されます。
[評価SQLセット]を選択し、画面下部の[修正を評価SQLセットに適用]をクリックします。

サマリー_修正を評価SQLセットに適用_適用

選択した評価SQLセットへマージされます。
修正したSQLは評価SQLセットへ上書きされますので、必要であれば評価SQLセットのコピーを作成してください。

6.3.4.7. SQL実行結果一覧・修正作業進捗

サマリーの画面からSQLを絞り込むとSQL実行結果一覧・修正作業進捗へ遷移します。

  • PI HashもしくはSQL IDをクリックすると、そのSQLの詳細の画面へ遷移します。

  • 実行結果一覧で選択した項目によって表示される情報が異なります。

SQL一覧
実行結果一覧

一覧の表示を選択した項目で切り替えます。

SQL実行結果

[成功]SQL実行結果が成功したものを表示します。
[失敗]SQL実行結果が失敗したものを表示します。

修正状態

[すべて]すべての結果を表示します。
[修正済]SQL詳細画面で修正が完了したSQLを表示します。
[未対処]SQL詳細画面で未修正のSQLを表示します。

グルーピング

グルーピングのチェックボックスにチェックを入れることで、SQLをグルーピングします。
グルーピングできる項目は条件によって異なります。グルーピングできる項目は以下です。

  • PI Hash

  • SQL ID

  • エラーコード

  • エラーメッセージ

  • ユーザー

  • プログラム

項目の詳細は使用している項目名についてを参照してください。
フィルタリング

表示されている項目をクリックすることで、表示されているSQLをフィルタリングします。
フィルタリングできる項目は条件によって異なります。フィルタリングできる項目は以下です。

  • エラーメッセージ

  • コード

  • DBユーザー

  • プログラム

    SQL一覧_フィルター
項目の詳細は使用している項目名についてを参照してください。
SQLのソート

カラムをクリックすることで、SQLをソートします。
ソートできる項目は条件によって異なります。ソートできる項目は以下です。

  • ステータス

  • PI Hash

  • SQL ID

  • SQLテキスト

  • エラーメッセージ

  • エラーコード

  • SRCDB時間

  • TGTDB時間

  • 遅くなった割合

  • DBユーザー

  • プログラム

  • ログオン時間

  • 件数

    SQL一覧_ソート
項目の詳細は使用している項目名についてを参照してください。

6.3.5. SQLの詳細と実行

サマリーの画面からドリルダウンし、PI HashもしくはSQL IDをクリックすると、SQLの詳細画面に遷移します。

SQL詳細
6.3.5.1. ステータス

画面上部にはステータスが表示されます。
実行できなかったSQLの場合は、エラーコードとエラーメッセージが表示されます。
実行できたSQLの場合は、ターゲットDBでのSQL実行時間が表示されます。

SQL詳細_ステータス
6.3.5.2. SQLの編集と実行と保存

[SQLの修正]のタブをクリックすると、SQLの編集と実行、保存ができます。

SQL詳細_SQLの修正
SQLの整形

画面下部の[整形する]をクリックすると、現在表示されているSQLが整形されます。

SQL詳細_整形
SQLの実行と実行先の設定

画面からSQLを実行できます。

画面上のSQLを、ターゲットDBへ実行したいSQLに書き換えます。画面下部の[設定]をクリックし、実行先のデータベースの設定を行います。

SQL詳細_設定

必要な値を入力します。

項目名 説明

ターゲットDB

SQLの実行先のDBを選択します。
実行したいDBがない場合は、セレクトボックスの右側にある設定アイコン[設定アイコン]をクリックします。

詳細はターゲットDBの登録を参照してください。

DBユーザー

DBユーザー名を入力します。
ターゲットDBに存在するユーザーを入力します。

パスワード

DBユーザーのパスワードを入力します。

実行タイプ

実行する方法を選択します。
実行:実際にSQLを実行します。
パース:パース実行を行います。バインド変数の値がなくてもテーブルの有無や構文のチェックができます。

コミット

トグルスイッチをオンにすると、SQL実行をロールバックせずにコミットして、結果をターゲットDBに保持します。

バインド変数変換

トグルスイッチをオンにすると、SQLに含まれる名前付きバインド変数(ex :name)をターゲットDBで実行可能な書式に変換してSQLを実行します。
移行先が名前付き引数に対応していないDBMSでもデータベース接続ドライバ、またはデータベース接続プログラムによって対応される場合を再現してアセスメント実行時にSQLを自動変換します。

バインド変数

バインド変数とその値を入力します。
[+]をクリックすると入力要素が表示されます。行の右にある[×]をクリックすると当該の入力要素が削除されます。

  • 変数名、値、データ型を入力します。

    • 値にNULLを指定するときは、NULLにチェックを入れてください。

    • データ型は「文字列」「任意精度数値」「整数」「小数」「時刻」「日付」「日付時刻」「真偽値」「バイナリ」から選択してください。

  • 変数名の頭に「:」や「$」は必要ありません。

バインド変数についてはターゲットDB実行時の型指定と入力書式を参照してください。

画面下部の[保存]をクリックします。

SQL詳細_設定_保存

初期値に戻す場合は[元の状態に戻す]をクリックし、[保存] をクリックします。

SQL詳細_設定_デフォルト

画面下部の[SQL実行]をクリックすると、SQLが実行されます。

SQL詳細_SQLの実行

結果は、画面右上のインフォメーションに表示されます。

SQL詳細_SQLの実行_結果
ターゲットDBの登録と詳細
ターゲットDBの登録

SQLの実行先を選択できます。
実行したいターゲットDBが存在しない場合は登録できます。

ターゲットDBの項目の設定アイコン[設定アイコン]をクリックします。

SQL詳細_ターゲットDB

必要な項目を入力します。

項目名 説明

ターゲットDB名

任意のターゲットDB名を入力します。
半角英数字と「 _ 」「 - 」が使用できます。
大文字、小文字を区別します。

データベース

ターゲットDBの種類を選択します。

バージョン

ターゲットDBのバージョンを入力します。

接続識別子

接続識別子を入力します。
データベースにOracleを選択した場合のみ項目を表示します。

詳細はOracleを参照してください。

DSN

データソース名を入力します。
データベースにSQL Serverを選択した場合のみ項目を表示します。

詳細はSQL Serverを参照してください。

ホスト名

ホスト名を入力します。
データベースにPostgreSQL、MySQLを選択した場合のみ項目を表示します。

ポート

ポート番号を入力します。
データベースにPostgreSQL、MySQLを選択した場合のみ項目を表示します。

データベース名

データベース名を入力します。
データベースにPostgreSQL、MySQLを選択した場合のみ項目を表示します。

画面下部の[データベースの登録]をクリックするとターゲットDBを追加できます。

SQL詳細_ターゲットDB_登録
ターゲットDBの詳細

[一覧]のタブをクリックすると、ターゲットDBの一覧とその詳細を確認できます。

SQL詳細_ターゲットDB_一覧

ターゲットDBの削除や編集はターゲットDBの画面で行ってください。

SQLの保存

修正したSQLを保存できます。画面下部の[保存]をクリックします。該当の変換用SQLセットに上書きされますので、必要であれば変換用SQLセットのコピーを作成してください。
※失敗したSQLのみ保存できます。

SQL詳細_保存

SQLの保存画面が表示されるので[保存]をクリックします。

SQL詳細_保存_画面
6.3.5.3. ソースSQL

[ソースSQL]のタブをクリックすると、ソースDBで実行されていたSQLを確認できます。

SQL詳細_ソースSQL

[SQLの修正]のタブでSQLを修正した場合でも、こちらのソースSQLで編集前のSQLを確認できます。

6.3.5.4. 詳細情報

[詳細情報]のタブをクリックすると、SQLの詳細情報を確認できます。

SQL詳細_詳細情報
項目の詳細は使用している項目名についてを参照してください。
6.3.5.5. 同一のSQL

[同一のSQL]のタブをクリックすることで、同じSQLを参照できます。

PI Hash、SQL IDの両者が同じSQLの情報が一覧で表示されます。
SQLの保存、修正を評価SQLセットに適用を行った場合、ここに表示されているSQLすべてが上書きされます。

SQL詳細_同一のSQL

6.4. 評価SQLセット

取得したSQLをターゲットDBへ実行できるように専用の評価SQLセットを作成、または編集します。

IDT Webコンソールのグローバルナビゲーションバー(画面上部)から[評価SQLセット]をクリックします。

評価SQLセット

6.4.1. 評価SQLセットの作成

ローカルナビゲーションバーから[新規作成]をクリックします。

評価SQLセット_新規作成

必要な値を入力します。

項目名 説明

評価SQLセット名

評価SQLセットの名前を入力します。
半角英数字と「 _ 」「 - 」が使用できます。
大文字、小文字を区別します。

ソース DB

ソースDBを選択します。
データ元ファイルに選択したデータがどのデータベースのデータかを選択します。適切なソースDBがない場合は新規作成を行います。

ソースDBの追加についてはソースDBの登録と編集を参照してください。
また、IDT ManagerからソースDBへ接続はしません。評価SQLセットの識別用にのみに使用します。

データ元ファイル

変換するデータ(CSVファイル)のファイルパスを指定します。

ユニークSQL

重複するSQLを排除し、ユニークなSQLのみの評価SQLセットを作成します。

画面下部の[新規作成]をクリックします。

評価SQLセット_新規作成_画面

評価SQLセットの作成が開始されると、評価SQLセットの行頭のアイコンで進行状況を確認できます。
ステータスが完了アイコン[完了アイコン]になったら作成の完了です。
評価SQLセットの作成はデータ量に応じて数分から数十分かかります。

評価SQLセット_新規作成
6.4.1.1. ソースDBの登録と編集

評価SQLセットを作成する際、ソースDBの選択が必要になります。
適切なソースDBがない場合は、ソースDBを登録する必要があります。

ソースDBの登録

ローカルナビゲーションバーから[新規作成]をクリックし、新規作成の画面を表示します。ソースDBの項目の設定アイコン[設定アイコン]をクリックします。

ソースDB_新規作成

必要な値を入力します。

項目名 説明

ソースDB名

任意のソースDB名を入力します。
半角英数字と「 _ 」「 - 」使用できます。
大文字、小文字を区別します。

データベース

ソースDBの種類を入力します。

バージョン

ソースDBのバージョンを入力します。

メモ

任意のコメントを入力します。

画面下部の[データベースの登録]をクリックします。

ソースDB_設定
ソースDBの編集

ローカルナビゲーションバーから[新規作成]をクリックし、新規作成の画面を表示します。ソースDBの項目の設定アイコン[設定アイコン]をクリックします。

ソースDB

[一覧]のタブをクリックします。

ソースDB_一覧

内容を変更する場合は、該当のソースDBの設定アイコン[設定アイコン]をクリックします。

ソースDB_一覧_設定

項目を書き換え、[保存]をクリックします。

ソースDB_一覧_設定_保存
ソースDBの削除

ローカルナビゲーションバーから[新規作成]をクリックし、新規作成の画面を表示します。ソースDBの項目の設定アイコン[設定アイコン]をクリックします。

ソースDB_設定

[一覧]のタブをクリックします。

ソースDB_一覧

該当のソースDBの削除アイコン[削除アイコン]をクリックします。

ソースDB_一覧_削除

確認用画面が表示されます。削除するソースDBを確認してください。
問題がなければ、画面下部にある[削除]をクリックしてください。

ソースDB_一覧_削除_確認

6.4.2. 評価SQLセットのコピー

コピーしたい評価SQLセットにチェックを入れます。

評価SQLセット_選択

ローカルナビゲーションバーから[コピー]をクリックします。

評価SQLセット_コピー

必要な値を入力します。

項目名 説明

コピー元評価SQLセット名

コピー元の評価SQLセットが表示されています。

新規評価SQLセット名

コピーして作成される評価SQLセットの名前を入力します。

  • 半角英数字と「 _ 」「 - 」が使用できます。

  • 大文字、小文字を区別します。

画面下部にある[コピー]をクリックします。

評価SQLセット_コピー_画面

評価SQLセットの行頭にあるステータスが完了アイコン[完了アイコン]になったらコピーの完了です。
評価SQLセットのコピーはデータ量に応じて数分から数十分かかります。

6.4.3. 評価SQLセットのユーザー名の変更

評価SQLセットに格納されているDBユーザー名を変更できます。
ソースDBとターゲットDBでDBユーザー名が異なる際に使用してください。

ユーザー名を変更する評価SQLセットにチェックを入れます。

評価SQLセット_選択

ローカルナビゲーションバーから[修正]をクリックします。

評価SQLセット_修正

既存ユーザー名が表示されます。
変更したいDBユーザーの項目に、新たなDBユーザー名を入力し、画面下部にある[適用]をクリックします。

評価SQLセット_修正_画面

評価SQLセットの行頭にあるステータスが完了アイコン[完了アイコン]になったら変更の完了です。
評価SQLセットの変更はデータ量に応じて数分から数十分かかります。

6.4.4. 評価SQLセットの外部連携

評価SQLに対して、修正したSQLをアップロードして適用できます。

適用する評価SQLセットにチェックを入れます。

評価SQLセット_選択

ローカルナビゲーションバーから[外部連携]をクリックします。

評価SQLセット_選択

外部連携画面が表示されます。[ファイルを選択]ボタンをクリックし、ファイルを選択してください。
画面下部にある[適用]をクリックします。

評価SQLセット_外部連携

6.4.5. 評価SQLセットの削除

削除する評価SQLセットにチェックを入れます。

評価SQLセット_選択

ローカルナビゲーションバーから[削除]をクリックします。

評価SQLセット_削除

確認用画面が表示されます。削除する評価SQLセットを確認してください。
問題がなければ、画面下部にある[削除]をクリックしてください。

評価SQLセット_削除_確認

一覧から、該当の評価SQLセット名がなくなったら削除の完了です。
評価SQLセットの削除はデータ量に応じて数分かかる場合があります。

6.5. ターゲットDB

評価SQLセットを実行するターゲットDBを登録、または編集します。

IDT Webコンソールのグローバルナビゲーションバーから[ターゲットDB]をクリックします。

ターゲットDB

6.5.1. ターゲットDBの追加

ローカルナビゲーションバーから[新規作成]をクリックします。

ターゲットDB_新規作成

必要な値を入力します。

項目名 説明

ターゲットDB名

任意のターゲットDBの名前を入力します。
半角英数字と「 _ 」「 - 」が使用できます。
大文字、小文字を区別します。

データベース

ターゲットDBの種類を選択します。

バージョン

ターゲットDBのバージョンを入力します。

接続識別子

接続識別子を入力します。
データベースにOracleを選択した場合のみ項目を表示します。

詳細はOracleを参照してください。

DSN

データソース名を入力します。
データベースにSQL Serverを選択した場合のみ項目を表示します。

詳細はSQL Serverを参照してください。

ホスト名

ホスト名を入力します。
データベースにPostgreSQL、MySQLを選択した場合のみ項目を表示します。

ポート

ポート番号を入力します。
データベースにPostgreSQL、MySQLを選択した場合のみ項目を表示します。

データベース名

データベース名を入力します。
データベースにPostgreSQL、MySQLを選択した場合のみ項目を表示します。

画面下部の[新規作成]をクリックします。

ターゲットDB_新規作成_画面

ターゲットDBの一覧に情報が追加されたら完了です。
ターゲットDBが追加されるまで時間がかかる場合があります。

6.5.2. ターゲットDBの情報の変更

既に追加したターゲットDBの情報を変更できます。

情報を変更したいターゲットDBにチェックを入れます。

ターゲットDB_選択

ローカルナビゲーションバーから[編集]をクリックします。

ターゲットDB_編集

ターゲットDBの情報が表示されます。適切な値に変更し、画面下部にある[適用]をクリックします。

ターゲットDB_編集_画面

ターゲットDBの一覧に表示されている情報が変更されたら完了です。
ターゲットDBの変更が完了するまで時間がかかる場合があります。

6.5.3. ターゲットDBの接続の確認

ターゲットDBへ接続できるか確認できます。

接続を確認したいターゲットDBにチェックを入れます。

ターゲットDB_選択

ローカルナビゲーションバーから[テスト接続]をクリックします。

ターゲットDB_テスト接続

必要な値を入力します。

項目名 説明

ユーザー

DBユーザー名を入力します。
接続確認で使用する、ターゲットDBに既に存在しているユーザー名を入力します。

パスワード

DBユーザーのパスワードを入力します。
ユーザーに入力したDBユーザーのパスワードを入力します。

画面下部にある[テスト接続]をクリックします。

ターゲットDB_テスト接続_画面

接続の結果は画面右上に表示されます。

ターゲットDB_テスト接続_結果

6.5.4. ターゲットDBの削除

ターゲットDBを削除できます。この操作はInsight DT内の情報を削除するのみです。接続先のデータベースに影響はありません。

削除したいターゲットDBにチェックを入れます。

ターゲットDB_選択

ローカルナビゲーションバーから[削除]をクリックします。

ターゲットDB_削除

確認用画面が表示されます。削除するターゲットDBを確認してください。 問題がなければ、画面下部にある[削除]をクリックしてください。

ターゲットDB_削除_確認

一覧から、該当のターゲットDBがなくなったら削除の完了です。
ターゲットDBの削除は数分かかる場合があります。

6.6. その他の操作

6.6.1. ツール連携

失敗したSQLをユニークな形でファイル抽出します。
SQLを自動変換するツールを使用する際などにお使いください。
抽出単位は1SQLにつき1ファイルです。

通常のSQL実行評価までの手順は、以下の5ステップになります。

  1. ソースDBからIDT Managerへ網羅的にSQLを蓄積

  2. IDT Managerから評価SQLセットを作成

  3. ターゲットDBへ評価SQLセットを実行

  4. 実行結果を取得

  5. 実行結果の参照

ツール連携の場合は、続けて次の処理を行います。

  1. [失敗したSQLの抽出]失敗したSQLをユニークにし、1SQLにつき1ファイルの単位で抽出する

  2. 抽出したものを別途ツールに読み込ませ、自動修正等処理を行う

  3. 修正したSQL1つにつき1つのファイルとして保存する

  4. [修正を評価SQLセットに適用]修正したSQLを3で使用した評価SQLセットへマージする

  5. 再度ターゲットDBへ評価SQLセットを実行

  6. 実行結果を取得

  7. 修正したSQLがどれくらい修正できたか確認する

この手順を踏むことで、手動で修正するSQLの数を減らすことができます。

ツール連携の利便性について

以下、ツール連携にあたりInsight DTに用意されている機能の詳細です。

6.6.1.1. 失敗したSQLの抽出

実行したSQLの結果から、失敗したSQLをユニークな形で抽出します。

アセスメントのサマリー画面から、[ツール連携]>[SQLの抽出]を選択し、「失敗」のステータスのみを選択して、実行に失敗したSQLファイルをダウンロードできます。
ダウンロードしたZIPファイル内には、1SQLにつき1ファイルの単位でSQL文が保存されています。SQL自動変換ツールや、手動で修正など、任意の方法でSQLを修正してください。

SQLの詳細画面からSQLを保存する場合もこちらの変換用SQLセットが上書きされます。
必要であれば変換用SQLセットのコピーを作成してください。

6.6.1.2. 修正を評価SQLセットに適用

失敗したSQLの抽出で抽出したSQLを任意の方法で修正した後、評価SQLセットに修正したSQLを適用することで、修正したSQLにて再度アセスメントを実行できます。
評価SQLセット一覧画面で適用先の評価SQLセットを選択し、「ツール連携」をクリックして、修正したSQLを含むZIPファイルを選択してください。

6.6.2. 画面の更新

ローカルナビゲーションバーの[更新]ボタンをクリックで、画面を最新の情報に更新します。

[▼]をクリックで、画面の更新間隔を変更できます。プルダウンメニューから任意の秒数を指定してください。
画面を自動で更新させたくないときは[停止]を選択してください。

画面の更新

6.6.3. パスワードの変更

IDT Webコンソールに接続するにあたってログイン用のパスワードが必要になります。 初期値パスワード「insight」からの変更を推奨します。

グローバルナビゲーションバーから[administrator]をクリックし、[アカウント管理]をクリックします。

アカウント管理

以下の項目を入力します。

項目名 説明

パスワード

新しく設定したいパスワードを入力します。

パスワード(確認用)

確認用パスワードです。
上記パスワードと同じパスワードを入力します。

画面下部の[保存]をクリックします。

アカウント管理_保存

以上でパスワードの変更が完了しました。
次回IDT Webコンソールログイン時から、今回設定したパスワードを使用します。

6.6.4. バージョンの情報

使用しているInsight DTのバージョンを確認できます。

グローバルナビゲーションバーから[administrator]をクリックし、[バージョン情報]をクリックします。

バージョン情報

バージョンの情報が表示されます。

バージョン情報_表示

6.6.5. マニュアル

本マニュアルを表示します。

マニュアル

6.6.6. APIドキュメント

Insight DTでは、REST API(Representational State Transfer API)を用意しています。
グローバルナビゲーションバーから[administrator]をクリックし、[APIドキュメント]をクリックするとドキュメントの確認ができます。

バージョン情報

6.7. 補足

6.7.1. ソースDB、ターゲットDBの型対応

ソースDBから取得可能なデータは以下のとおりです。

ソースDB SQL文 バインド変数値 バインド変数型

Oracle Database

※1

PostgreSQL

※1

SQL Server

×

×

MySQL

×

×

※1 弊社サポートまでお問い合わせください。

バインド変数の取得には制限があります。バインド変数についてを参照してください。

ターゲットDBへの実行時に使用可能なデータと機能は以下のとおりです。

ターゲットDB SQL実行 バインド変数型指定 バインド変数型変換エラー推定※1

Oracle Database

×

PostgreSQL

SQL Server

MySQL

×

※1 ターゲットDB実行時、SQL構文に問題が無い場合にバインド変数の暗黙の型変換でエラーになる箇所を推定する機能です。

6.7.2. ターゲットDB実行時の型指定と入力書式

ターゲットDBへのSQL実行時にInsight DTのバインド変数型指定に応じてDBMS固有の型を設定します。
IDT Webコンソール上で設定した型の指定と値の入力は、アセスメント作成時のバインド変数補完、およびSQL詳細画面のSQL実行時に行います。

以下の表はターゲットDB実行時の型と入力書式の対応を示します。

型指定 Oracle Database PostgreSQL MySQL SQL Server 入力書式

デフォルト※1

VARCHAR2

UNKNOWN

LONGTEXT

VARCHAR

文字列

VARCHAR2

TEXT

LONGTEXT

VARCHAR

任意精度数値

NUMBER

NUMERIC

DECIMAL

DECIMAL

整数

NUMBER

BIGINT

BIGINT

BIGINT

小数

NUMBER

DOUBLE PRECISION

DOUBLE PRECISION

FLOAT

時刻

TIMESTAMP

TIME

TIME

TIME

YYYY/MM/DD HH24:MI:SS または YYYY/MM/DD HH24:MI:SS.FF の形式で日付部分・時刻部分のみの入力も可能です。

日付

TIMESTAMP

DATE

DATE

DATE

YYYY/MM/DD HH24:MI:SS または YYYY/MM/DD HH24:MI:SS.FF の形式で日付部分・時刻部分のみの入力も可能です。

日付時刻

TIMESTAMP

TIMESTAMP WITHOUT TIME ZONE

DATETIME

DATETIME2

YYYY/MM/DD HH24:MI:SS または YYYY/MM/DD HH24:MI:SS.FF の形式で日付部分・時刻部分のみの入力も可能です。

真偽値

VARCHAR2

BOOLEAN

BOOLEAN

BIT

TRUEの場合は「1」、FALSEの場合は「0」を入力します。

バイナリ

RAW

BYTEA

LONGBLOB

VARBINARY

バイトデータを接頭辞(0x、0X)無しの16進数の文字列で入力します。

※1 型指定が無い場合はデフォルトの型指定を使用します。画面によっては「未指定」と表記しています。

6.7.3. 0秒時の対応

ソースDBのSQLの実行時間は、ソースDBの使用しているメモリを参照して取得しています。
そのため、タイミングによっては実行時間が0秒になることがあります。
0秒の場合、ターゲットDBの実行時間と比較することができず、遅くなったSQLのカテゴライズを正しく行うことができません。

遅くなったSQLを適切に算出するため、実行時間が0秒のSQLには、アセスメントを実行する際に入力した「0秒の仮定値」を代入して計算しています。
PISOのデフォルトのサンプリング間隔が0.2秒のため、0秒の仮定値はデフォルトで0.2秒になっています。
サンプリング間隔を変更した場合は、それによって0秒の仮定値を任意の値に変更してください。

6.7.4. ユニークSQLについて

SQLを一意にするためのハッシュ値(SQL IDもしくはSQLHASH)と、弊社独自で付与しているPI Hashを掛け合わせたものでユニークとしています。

PI Hashの詳細はPI Hashについてを参照してください。

6.7.5. PI Hashについて

弊社独自のSQLのハッシュ値を指します。
SQLのリテラルを無視し、同じ構成のSQL文に同じハッシュ値を付与します。

6.7.6. 使用している項目名について

SQL一覧画面やSQLの詳細画面で使用している項目名の詳細です。

項目名 説明

ステータス

SQLのステータス情報を表します。
SQLの実行結果を「成功」「失敗」「修正済み」で示します。「修正済み」は修正し保存した状態です。

PI Hash

SQLに付与する弊社独自のハッシュ値を表します。

詳細はPI Hashについてを参照してください。

SQL ID

SQLを識別するIDを表します。

コード

DBから出力されたエラーコードを表します。

エラーメッセージ

DBから出力されたエラーメッセージを表します。

DBユーザー

SQLを実行したDBユーザーを表します。

プログラム

ソースDBで取得したSQLを発行したプログラム名を表します。

オブジェクト

SQLに含まれるオブジェクト名を表します。

SRCDB時間

ソースDBのSQLの実行時間を表します。
SQLのサンプリング間隔により、実行時間が0秒になってしまうことがあります。

TGT時間

ターゲットDBのSQLの実行時間を表します。
ネットワークを経由した時間は含まれません。

TGTDBトータル時間

ターゲットDBで取得したSQLを実行してから終了するまでの時間を表します。
ネットワークを経由した時間が含まれます。

遅くなった割合

ソースDBと比較してターゲットDBではSQLの実行時間が何%になったかの値を表します。
ソースDBでの実行時間が0秒の場合は計算することができません。

詳細は0秒時の対応を参照してください。

ログオン時間

ソースDBへ接続された日時を表します。

セッションID

ソースDBで取得したセッションIDを表します。

6.7.7. CSVファイルのカラムについて

アセスメントの結果をCSVダウンロードした際に使用しているカラム名の詳細です。

項目名 説明

cnt

SQLの件数を表します。

result

ターゲットDBでSQL実行した結果を表します。
SQLが成功した場合:success
失敗した場合:failed

status

SQLのステータス情報を以下の2種類で表します。
修正済みのSQL:1
未修正のSQL:0

totalExecTime

ターゲットDBで取得したSQLを実行してから終了するまでの時間を表します。
ネットワークを経由した時間が含まれます。

execTime

ターゲットDBのSQLの実行時間表します。
ネットワークを経由した時間は含まれません。

diffTime

ソースDBと比較してターゲットDBではSQLの実行時間が何%になったかの値を表します。
ソースDBでの実行時間(etime)が0秒の場合は、アセスメント実行時に指定した「0秒の仮定値」をもとに計算されます。

詳細は0秒時の対応を参照してください。

PI Hash

SQLに付与する弊社独自のハッシュ値を表します。

詳細はPI Hashについてを参照してください。

sqlId

SQLを識別するIDを表します。

user

ターゲットDBへSQLを実行したDBユーザーを表します。

program

ソースDBで取得したSQLを発行したプログラム名を表します。

object

SQLに含まれるオブジェクト名を表します。

logonTime

ソースDBへ接続された日時を表します。

sesId

ソースDBで取得したセッションIDを表します。

stime

ソースDBで取得したSQL開始時間を表します。

usec

ソースDBで取得したSQL開始時間のマイクロ秒部分を表します。

etime

ソースDBのSQLの実行時間を表します。
SQLのサンプリング間隔により、実行時間が0秒になることがあります。

stmt

SQL文を表します。
実行したSQL文、もしくは修正し保存したSQL文が出力されます。

bind

バインド変数を表します。
ex {バインド変数名:値} 連想配列の形式で表示されます。バインド変数がキー、バインド変数の値がバリューになります。
ex {バインド変数名:値}

errCode

DBから出力されたエラーコードを表します。

errMsg

DBから出力されたエラーメッセージを表します。

7. 制限事項

7.1. バインド変数について

  • WHERE句とHAVING句で使用されるバインド変数のみ取得ができます。

  • 取得可能なバインド変数の数や値は4000バイトまでになっています。

  • 同じSQLのバインド変数値が変化する場合、キャプチャリング直前のバインド変数値のみ取得ができます(バインド変数値のキャプチャリングの間隔に起因しています)。

7.2. 1SQLのサイズ上限値

Insight DTには1SQLの取得サイズに上限があります。最大20480バイトまで取得できます。
サイズの上限を超えると、SQLが途中で切れる可能性があります。

PISO Targetの1SQLの取得サイズのデフォルトは21674バイトです。
以下のパラメータでサイズを変更できます。

  • ファイル
    $IST_HOME/user/${HOSTNAME}/${ORACLE_SID}/etc/sgamond.prm

  • パラメータ

     MAX_SQLTEXT_LENGTH=21674

サイズを変更後、PISO TargetのSQL Collectorを再起動してください。

8. トラブルシューティング

8.1. 修正したSQLを上書き保存したくない

SQLの詳細画面で[SQLの保存]を実行すると変換用SQLセットのSQLを上書き保存します。元のデータを保持したい場合は、IDT Managerサーバーで変換用SQLセットのコピーを作成してください。
変換用SQLセットは、IDT Managerの/mnt/piso-data/idt-data/sct/<アセスメント名>_failedディレクトリに出力されています。
任意の場所にコピーを作成してください。また、既存の変換用SQLセットは削除しないでください。