ヘッダーをスキップ
Oracle® Databaseグローバリゼーション・サポート・ガイド
11gリリース2 (11.2)
B56307-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

12 Character Set Scannerユーティリティ

この章では、Language and Character Set File ScannerとDatabase Character Set Scannerについて説明します。Character Set Scannerユーティリティは、有効なデータと無効なデータを検出して検証するためのツールです。Language and Character Set File Scannerはテキスト・ファイルをサポートしますが、Database Character Set Scannerはデータベース内でデータをスキャンします。

ここでは、次の項目について説明します。

Language and Character Set File Scanner

Language and Character Set File Scanner(LCSSCAN)は、統計に基づく高パフォーマンスのユーティリティであり、不明なファイル・テキストの言語とキャラクタ・セットを判別します。様々な言語とキャラクタ・セットのペアを自動的に識別できます。言語およびキャラクタ・セット検出エンジンでは、各テキストを使用して一連の確率が設定され、各確率は1つの言語およびキャラクタ・セットのペアに対応します。統計的に最も可能性の高いペアにより、主要な言語とキャラクタ・セットが識別されます。

テキストの純粋性は、言語およびキャラクタ・セット検出の正確さに影響します。理想的なケースは、スペルや構文の誤りのない単一言語による文章です。この種のテキストには100文字以上のデータを必要とする場合があり、信頼率の高い結果を戻すことができます。これに対して、ある種の技術文書は、より長いセグメントにしなければ認識されない場合があります。ドキュメントに複数の言語やキャラクタ・セット、住所、電話番号などのテキストまたはプログラミング言語コードが混在していると、適切な結果が得られない可能性があります。たとえば、ドキュメントにフランス語とドイツ語の両方が埋め込まれていると、どちらかの言語が正常に推測される精度は統計的に減少します。プレーン・テキストとHTMLの両方のファイルが受け入れられます。書式が判明している場合は、精度を上げるためにFORMATパラメータを設定する必要があります。

この項の内容は、次のとおりです。

LCSSCANコマンドの構文

Language and Character Set File Scannerを起動するには、LCSSCANコマンドを使用します。構文は次のとおりです。

LCSSCAN  [RESULTS=number] [FORMAT=file_type] [BEGIN=number] [END=number] FILE=file_name

ここでは、各パラメータについて説明します。

RESULTS

RESULTSパラメータはオプションです。

プロパティ 説明
デフォルト値 1
最小値 1
最大値 3
用途 戻される言語とキャラクタ・セットのペアの数。確率順に表示されます。最初の選択肢の比較重量は定量化できません。このパラメータの推奨値は、デフォルト値1です。

FORMAT

FORMATパラメータはオプションです。

プロパティ 説明
デフォルト値 text
用途 スキャン対象となるファイルのタイプを識別します。可能な値は、htmltextおよびautoです。

BEGIN

BEGINパラメータはオプションです。

プロパティ 説明
デフォルト値 1
最小値 1
最大値 ファイルのバイト数
用途 入力ファイル内でLCSSCANによるスキャン処理の開始位置を示すバイト。デフォルト値は入力ファイルの1バイト目です。

END

ENDパラメータはオプションです。

プロパティ 説明
デフォルト値 ファイルの終わり
最小値 3
最大値 ファイルのバイト数
用途 入力ファイル内でLCSSCANによりスキャンされる最終バイト。デフォルト値は入力ファイルの最終バイトです。

FILE

FILEは必須パラメータです。

プロパティ 説明
デフォルト値 なし
用途 スキャン対象となるテキスト・ファイルの名前を指定します。

例: LCSSCANコマンドの使用

例12-1 LCSSCANコマンドでファイル名のみを指定する例

LCSSCAN FILE=example.txt

この例では、BEGINおよびENDパラメータがどちらも指定されていないため、example.txtファイル全体がスキャンされます。RESULTSパラメータが指定されていないため、言語とキャラクタ・セットのペアが1つ戻されます。

例12-2 書式をHTMLに指定する例

LCSSCAN FILE=example.html FORMAT=html

この例では、BEGINおよびENDパラメータがどちらも指定されていないため、example.htmlファイル全体がスキャンされます。このスキャンでは、スキャンする前にHTMLタグが取り除かれるため、より正確な結果を得られます。RESULTSパラメータが指定されていないため、言語とキャラクタ・セットのペアが1つ戻されます。

例12-3 LCSSCANに対してRESULTSおよびBEGINパラメータを指定する例

LCSSCAN RESULTS=2 BEGIN=50 FILE=example.txt

スキャン処理はファイルの50バイト目から始まり、ファイルの終わりまで続行されます。言語とキャラクタ・セットのペアが2つ戻されます。

例12-4 LCSSCANに対してRESULTSおよびENDパラメータを指定する例

LCSSCAN RESULTS=3 END=100 FILE=example.txt

スキャン処理はファイルの先頭から始まり、ファイルの100バイト目で終了します。言語とキャラクタ・セットのペアが3つ戻されます。

例12-5 LCSSCANに対してBEGINおよびENDパラメータを指定する例

LCSSCAN BEGIN=50 END=100 FILE=example.txt

スキャン処理はファイルの50バイト目から始まり、ファイルの100バイト目で終了します。RESULTSパラメータが指定されていないため、言語とキャラクタ・セットのペアが1つ戻されます。

Language and Character Set File Scannerのコマンドライン・ヘルプの利用

Language and Character Set File Scannerパラメータのサマリーを取得するには、次のコマンドを入力します。

LCSSCAN HELP=y

このコマンドを実行すると、出力にはLanguage and Character Set File Scannerパラメータのサマリーが表示されます。

サポート対象の言語とキャラクタ・セット

Language and Character Set File Scannerは、言語ごとに複数のキャラクタ・セットをサポートしています。

言語のバイナリ値が、サブセット/スーパーセット関係を持つ複数のエンコーディングと一致する場合は、サブセットのキャラクタ・セットが戻されます。たとえば、言語がドイツ語ですべての文字が7ビットの場合は、WE8MSWIN1252、WE8ISO8859P15またはWE8ISO8859P1のかわりにUS7ASCIIが戻されます。

キャラクタ・セットがUTF-8であると判別されると、テキスト内で4バイト文字(補助文字)が検出されないかぎり、デフォルトでOracleのキャラクタ・セットUTF8が戻されます。4バイト文字が検出されると、キャラクタ・セットはAL32UTF8としてレポートされます。


関連項目:

サポートされている言語とキャラクタ・セットのリストは、「言語およびキャラクタ・セット検出のサポート」を参照してください。

LCSSCANエラー・メッセージ

LCD-00001 An unknown error occured.
原因: 内部構造へのアクセス中にエラーが発生しました。
処置: このエラーをOracleサポートに連絡してください。
LCD-00002 NLS data could not be loaded.
原因: $ORACLE_HOME/nls/dataへのアクセス中にエラーが発生しました。
処置: $ORACLE_HOME/nls/dataが存在し、アクセス可能かどうかを確認してください。このディレクトリが見つからない場合は、$ORA_NLS10ディレクトリを調べてください。
LCD-00003 An error occurred while reading the profile file.
原因: $ORACLE_HOME/nls/dataへのアクセス中にエラーが発生しました。
処置: $ORACLE_HOME/nls/dataが存在し、アクセス可能かどうかを確認してください。このディレクトリが見つからない場合は、$ORA_NLS10ディレクトリを調べてください。
LCD-00004 The beginning or ending offset has been set incorrectly.
原因: 開始オフセットと終了オフセットは、1以上の整数である必要があります。
処置: オフセットを正数に変更してください。
LCD-00005 The ending offset has been set incorrectly.
原因: 終了オフセットは開始オフセットよりも大きい値に設定する必要があります。
処置: 終了オフセットを開始オフセットよりも大きい値に変更してください。
LCD-00006 An error occurred when opening the input file.
原因: ファイルが見つからないか、オープンできません。
処置: 指定したファイル名を確認してください。完全ファイル名を指定したかどうかと、ファイルが使用中でないかどうかを確認してください。
LCD-00007 The beginning offset has been set incorrectly.
原因: 開始オフセットは、ファイルのバイト数よりも小さい値に設定する必要があります。
処置: ファイルのサイズを確認して開始オフセットの設定値を小さくしてください。
LCD-00008 No result was returned.
原因: 入力されたテキストが短いため、結果を生成できません。
処置: 信頼できる結果を生成するには、より大きいサンプル・テキストを入力する必要があります。

Database Character Set Scanner

Database Character Set Scannerは、Oracleデータベースから新しいデータベース・キャラクタ・セットへの移行の実現可能性を査定します。Database Character Set Scannerにより、データベースのすべての文字データがチェックされ、キャラクタ・セット・エンコーディングの変更による影響と問題点がテストされます。スキャンの終了時には、データベースを新規キャラクタ・セットに変換するために必要な作業の範囲を示すサマリー・レポートが生成されます。

サマリー・レポートの情報を参考にして、管理者は、データベースのキャラクタ・セットを移行する最も適切な方法を決定できます。次の移行方法があります。

文字データの変換テスト

Database Character Set Scannerは、文字データを読み取り、各データ・セルについて次の条件をテストします。

  • 新規キャラクタ・セットへの変換時に、データ・セルの文字コード・ポイントが変わるかどうか

  • データ・セルは新規キャラクタ・セットに正常に変換できるかどうか

  • 変換後のデータは現行の列サイズに適合するかどうか

Database Character Set Scannerは、ネストした表に加えて、CHARVARCHAR2LONGCLOBNCHARNVARCHAR2NCLOBおよびVARRAY列のデータを読み取ってテストします。LONGCLOBおよびNCLOB列については、変換後の列サイズのテストは実行しません。

Database Character Set Scannerのスキャン・モード

Database Character Set Scannerには、次の4つのデータベース・スキャン・モードがあります。

全データベース・スキャン

Database Character Set Scannerは、データ・ディクショナリ(SYSおよびSYSTEMユーザー)も含めたデータベース内の全ユーザーに属しているすべての表の文字データを読み取って検証し、新規データベース・キャラクタ・セットへの擬似的な移行による影響をレポートします。ストアド・パッケージ、プロシージャ、ファンクションおよびデータ・ディクショナリの一部として格納されているオブジェクト定義を含めて、すべてのスキーマ・オブジェクトがスキャンされます。

新規データベース・キャラクタ・セットへのデータベース移行の実現可能性を把握するには、全データベース・スキャンを実行する必要があります。

ユーザー・スキャン

Database Character Set Scannerは、指定したユーザーに属しているすべての表の文字データを読み取って検証し、キャラクタ・セットの変更による表への影響をレポートします。

表スキャン

Database Character Set Scannerは、指定した表の文字データを読み取って検証し、キャラクタ・セットの変更による表への影響をレポートします。

列スキャン

Database Character Set Scannerは、指定した列の文字データを読み取って検証し、キャラクタ・セットの変更による表への影響をレポートします。

Database Character Set Scannerのインストールと起動

この項では、Database Character Set Scannerをインストールして起動する方法について説明します。内容は次のとおりです。

Database Character Set Scanner用のアクセス権限

Database Character Set Scannerを使用するには、Oracle DatabaseのSYSDBA権限が必要です。

Database Character Set Scannerのシステム表のインストール

Database Character Set Scannerを使用する前に、スキャンするデータベースで必要なシステム表を設定するために、csminst.sqlスクリプトを実行する必要があります。csminst.sqlスクリプトを実行する必要があるのは1回のみです。このスクリプトは、次の作業を実行して、データベースをスキャンする準備を行います。

  • ユーザー名CSMIG作成

  • 必要な権限のCSMIGへの割当て

  • デフォルト表領域のCSMIGへの割当て

  • CSMIGの下にCharacter Set Scannerのシステム表を作成

csminst.sqlスクリプトを編集すると、CSMIGのデフォルト表領域を変更できます。csminst.sqlで次の文を変更し、次のように、指定した表領域をCSMIGに割り当てます。

ALTER USER csmig DEFAULT TABLESPACE tablespace_name;

データベースをスキャンする前に、割り当てられた表領域に使用可能な記憶域が十分にあることを確認する必要があります。必要な領域の量は、スキャンのタイプおよびデータベース内のデータの性質によって異なります。

UNIXプラットフォームの場合は、次のコマンドとSQL文を使用してcsminst.sql実行します。

% cd $ORACLE_HOME/rdbms/admin 
% sqlplus sys/password as sysdba
SQL> START csminst.sql

Database Character Set Scannerの起動

Database Character Set Scannerは、次のいずれかの方法でコマンドラインから起動できます。

  • Database Character Set Scannerパラメータ・ファイルを使用する方法。

    CSSCAN username/password PARFILE=file_name
  • コマンドラインを使用してパラメータ値を指定する方法。次に例を示します。

    CSSCAN username/password FULL=y TOCHAR=al32utf8 ARRAY=10240 PROCESS=3
  • 対話型セッションを使用する方法。

    CSSCAN username/password

対話型セッションでは、次のパラメータの値を入力するように求められます。

    FULL/TABLE/USER
    TOCHAR
    ARRAY
    PROCESS

他のパラメータを指定する場合は、Database Character Set Scannerパラメータ・ファイルを使用するか、またはCSSCANコマンドでパラメータ値を指定します。

Database Character Set Scannerパラメータ・ファイルの作成

Database Character Set Scannerパラメータ・ファイルを使用すると、ファイルにDatabase Character Set Scannerパラメータを指定でき、パラメータの変更や再利用を簡単に実行できます。パラメータ・ファイルの作成にはテキスト・エディタを使用します。

Database Character Set Scannerパラメータ・ファイル内で、次のいずれかの書式を使用してパラメータを指定します。

parameter_name=value
parameter_name=(value1, value2, ...)

シャープ(#)記号を前に付けて文を記述すると、パラメータ・ファイルにコメントを追加できます。シャープ記号の右側の文字はすべて無視されます。

パラメータ・ファイルの例を次に示します。

USERID='sys as sysdba'
USER=HR # scan HR tables
TOCHAR=al32utf8
ARRAY=4096000
PROCESS=2 # use two concurrent scan processes
FEEDBACK=1000

Database Character Set Scannerのコマンドライン・ヘルプの利用

Database Character Set Scannerには、コマンドライン・ヘルプが用意されています。次のコマンドを入力します。

CSSCAN HELP=Y

このコマンドを実行すると、出力にはDatabase Character Set Scannerパラメータのサマリーが表示されます。

Database Character Set Scannerパラメータ

次の表に、Database Character Set Scannerのパラメータのサマリーを示します。表に続いて、各パラメータの詳細を説明します。

パラメータ デフォルト プロンプト 説明
USERID
- あり ユーザー名/パスワード
FULL
N あり データベース全体のスキャン
USER
- あり スキャンする表の所有者
TABLE
- あり スキャンする表のリスト
EXCLUDE
- なし 除外する表のリスト
TOCHAR
- あり 新規のデータベース・キャラクタ・セット名
FROMCHAR
- なし 現行のデータベース・キャラクタ・セット名
TONCHAR
- なし 新規の各国語キャラクタ・セット名
FROMNCHAR
- なし 現行の各国語キャラクタ・セット名
ARRAY
1024000 あり 配列フェッチ・バッファのサイズ
PROCESS
1 あり 同時スキャン・プロセス数
MAXBLOCKS
- なし 分割しない場合の表の最大許容ブロック数
CAPTURE
N なし 変換可能なデータの取得
COLUMN
- なし スキャンする列のリスト
QUERY
- なし スキャンの前に出力の制限に適用する問合せ
SUPPRESS
- なし 表ごとにログに記録される最大例外数
FEEDBACK
- なし n行ごとに進行をレポート
BOUNDARIES
- なし サマリー・レポートの列サイズ境界のリスト
LASTRPT
N なし 前回のデータベース・スキャンのレポートを生成
LOG
scan なし レポート・ファイルのベース・ファイル名
PARFILE
- なし パラメータ・ファイル名
PRESERVE
N なし 既存のスキャン結果の保持
LCSD
N なし 言語およびキャラクタ・セット検出の有効化
LCSDDATA
LOSSY なし 言語およびキャラクタ・セット検出の有効範囲の定義
HELP
N なし ヘルプ画面の表示

ARRAY

プロパティ 説明
デフォルト値 1024000
最小値 4096
最大値 無制限
用途 データのフェッチに使用される配列バッファのサイズをバイト単位で指定します。配列バッファのサイズによって、一度にフェッチされる行数が決まります。

次の式で、指定の表について一度にフェッチされる行数が見積もられます。

rows fetched = 
(ARRAY value) / [(sum of all the CHAR and VARCHAR2 column sizes) + 
(number of CLOB columns * 4000) + (number of VARRAY columns * 4000)]

たとえば、表AにCHAR列が2つ(5バイトと10バイト)、VARCHAR2列が2つ(100バイトと200バイト)およびCLOB列が1つあるとします。ARRAY=1024000(デフォルト)の場合、フェッチされる行数は次のように計算されます。

1024000/[5 + 10 + 100 + 200 + (1*4000) + (0*4000)] = 237.3

Database Character Set Scannerでは、表Aから一度に23行のデータをフェッチできます。

分母の合計がARRAYパラメータの値を超える場合は、一度に1行のみがフェッチされます。LONG列がある表は、一度に1行のみがフェッチされます。

このパラメータは、データベース・スキャンの処理時間に影響を与えます。通常、配列バッファのサイズが大きくなると、処理時間は短くなります。スキャン・プロセスごとに、指定したサイズの配列バッファが割り当てられます。

BOUNDARIES

プロパティ 説明
デフォルト値 なし
用途 アプリケーション・データの変換サマリー・レポートに使用される列境界サイズのリストを指定します。このパラメータは、CHARVARCHAR2NCHARおよびNVARCHAR2データ型のアプリケーション・データの分散位置を示すために使用されます。

たとえば、BOUNDARIES値を(10, 100, 1000)と指定すると、アプリケーション・データの変換サマリー・レポートは、CHARデータをその列の長さによって、CHAR(1..10)CHAR(11..100)およびCHAR(101..1000)のグループに分割します。この動作は、VARCHAR2NCHARおよびNVARCHAR2データ型の場合も同様です。

CAPTURE

プロパティ 説明
デフォルト値 N
値の範囲 YまたはN
用途 デフォルトの例外行のみの格納に加えて、変換可能な個々の行に関する情報を取得するかどうかを示します。CAPTUREパラメータをY設定すると、変換可能行に関する情報がCSM$ERRORS表に書き込まれます。これによって、変換先キャラクタ・セットへの変換時に、変換する必要のあるデータが記録されます。また、CAPTUREYに設定すると、データ・ディクショナリのCONVERTIBLEデータ・セルが、データベース・スキャンの個別例外レポートscan.errにリストされます。CAPTUREYに設定すると、スキャンの完了に必要な時間が長くなり、必要な記憶容量が増える場合があります。

COLUMN

プロパティ 説明
デフォルト値 なし
用途 スキャンする列の名前を指定します。

このパラメータを指定すると、指定した列がスキャンされます。列の名前は次の方法で指定できます。

たとえば、次のコマンドでは、hrサンプル・スキーマ内のLASTNAMEおよびFIRSTNAME列がスキャンされます。

CSSCAN "'sys as sysdba'" COLUMN=(HR.EMPLOYEES.LASTNAME, HR.EMPLOYEES.FIRSTNAME) ...

EXCLUDE

プロパティ 説明
デフォルト値 なし
用途 スキャンから除外する表の名前を指定します。

このパラメータを指定すると、指定した表がスキャン対象から除外されます。表の名前は次の方法で指定できます。

たとえば、次のコマンドでは、employeesおよびdepartments表を除き、hrサンプル・スキーマに属している表がすべてスキャンされます。

CSSCAN "'sys as sysdba'" USER=HR EXCLUDE=(HR.EMPLOYEES , HR.DEPARTMENTS) ...

FEEDBACK

プロパティ 説明
デフォルト値 なし
最小値 100
最大値 100000
用途 N行がスキャンされるたびに、ドットが1つ表示される形式で進捗メーターを表示することを指定します。

たとえば、FEEDBACK=1000と指定すると、1000行がスキャンされるたびにドットが1つ表示されます。FEEDBACK値は、スキャン対象の表すべてに適用されます。表ごとに個別に設定することはできません。

FROMCHAR

プロパティ 説明
デフォルト値 なし
用途 データベース内のCHARVARCHAR2LONGおよびCLOBデータ型の現行のキャラクタ・セット名を指定します。デフォルトでは、前述のデータ型のキャラクタ・セットは、データベース・キャラクタ・セットであるとみなされます。

このパラメータを使用すると、データベース内のCHARVARCHAR2LONGおよびCLOBデータのデフォルトのデータベース・キャラクタ・セット定義をオーバーライドできます。

FROMNCHAR

プロパティ 説明
デフォルト値 現行のデータベース・キャラクタ・セット。
用途 データベース内のNCHARNVARCHAR2およびNCLOBデータ型の現行の各国語データベース・キャラクタ・セット名を指定します。デフォルトでは、前述のデータ型のキャラクタ・セットは、各国語データベース・キャラクタ・セットであるとみなされます。

このパラメータを使用すると、データベース内のNCHARNVARCHAR2およびNCLOBデータのデフォルトのデータベース・キャラクタ・セット定義をオーバーライドできます。

FULL

プロパティ 説明
デフォルト値 N
値の範囲 YまたはN
用途 全データベース・スキャンを実行するかどうか(つまり、データ・ディクショナリも含めてデータベース全体をスキャンするかどうか)を示します。全データベース・モードでスキャンする場合はFULL=Yを指定します。


関連項目:

全データベース・スキャンの詳細は、「Database Character Set Scannerのスキャン・モード」を参照してください。

HELP

プロパティ 説明
デフォルト値 N
値の範囲 YまたはN
用途 Database Character Set Scannerパラメータの説明が記述されたヘルプ・メッセージを表示します。

LASTRPT

プロパティ 説明
デフォルト値 N
値の範囲 YまたはN
用途 直前のデータベース・スキャンで収集した統計情報に基づいて、Database Character Set Scannerレポートを再生成するかどうかを示します。

LASTRPT=Yと指定すると、データベースはスキャンされず、かわりに以前のデータベース・スキャン・セッションが残した情報を使用してレポート・ファイルが作成されます。

LASTRPT=Yを指定した場合は、USERIDBOUNDARIESおよびLOGパラメータのみが有効です。

LCSD

プロパティ 説明
デフォルト値 N
値の範囲 YまたはN
用途 スキャン中に言語およびキャラクタ・セット検出を適用するかどうかを示します。

LCSD=Yを指定すると、Database Character Set Scanner(CSSCAN)はLCSDDATAパラメータで分類されたデータ・セルに対して言語およびキャラクタ・セット検出を実行します。検出精度は、分析するテキストのサイズと品質に大きく左右されます。理想的なケースは、スペルや構文の誤りのない単一言語による文章です。データ・セルに言語、キャラクタ・セットまたは住所や名前などのテキストが混在していると、適切な結果が得られない可能性があります。CSSCANで最も可能性の高い言語とキャラクタ・セットを判別できない場合は、セルごとに最も可能性の高い言語とキャラクタ・セットが最大3つまで戻されます。また、1つも戻されない場合もあります。CSSCANでは、9バイト以下のデータを含むデータ・セルは無視され、その言語とキャラクタ・セットについてはUNKNOWNが戻されます。

言語およびキャラクタ・セット検出は統計に基づくテクノロジであるため、その精度は入力データの品質に応じて異なります。その目的は、CSSCANユーザーにデータベース内の不明データに関する追加情報を提供することです。CSSCANユーザーは、データを他のキャラクタ・セットに移行する前に、検出結果とデータ自体を検討する必要があります。

分析するデータ量によっては、言語およびキャラクタ・セット検出を実行するとDatabase Character Set Scannerのパフォーマンスが低下する可能性があることに注意してください。

LCSDDATA

プロパティ 説明
デフォルト値 LOSSY
値の範囲 LOSSYTRUNCATIONCONVERTIBLECHANGELESSALL
用途 言語およびキャラクタ・セット検出の有効範囲を指定します。デフォルトでは、検出はLOSSYデータ・セルにのみ適用されます。

このパラメータは、LCSD=Yを指定している場合にのみ有効です。たとえば、LCSD=YかつLCSDDATA=LOSSY, CONVERTIBLEの場合は、LOSSYまたはCONVERTIBLEであるデータ・セルのキャラクタ・セットと言語の検出が試行されます。CHANGELESSおよびTRUNCATIONとして分類されるデータは処理されません。LCSDDATA=ALLに設定すると、現行のセッションでスキャンされた全データ・セルに対して言語およびキャラクタ・セット検出が実行されます。

CONVERTIBLEおよびTRUNCATIONデータ・セルに言語およびキャラクタ・セット検出が適用された後、一部のデータ・セルが元の分類からLOSSYに変更されることがあります。この分類変更が発生するのは、キャラクタ・セット検出プロセスにより、これらのデータ・セルのキャラクタ・セットがFROMCHARパラメータに指定されているキャラクタ・セットではないと判別された場合です。

LOG

プロパティ 説明
デフォルト値 scan
用途 次のDatabase Character Set Scannerレポート・ファイルのベース・ファイル名を指定します。
  • 拡張子が.txtのデータベース・スキャンのサマリー・レポート・ファイル

  • 拡張子が.errの個別例外レポート・ファイル

  • 拡張子が.outの画面ログ・ファイル


デフォルトでは、現行のディレクトリにscan.txtscan.errおよびscan.outの3つのテキスト・ファイルが生成されます。

MAXBLOCKS

プロパティ 説明
デフォルト値 なし
最小値 1000
最大値 無制限
用途 表ごとの最大ブロック・サイズを指定し、サイズの大きい表をDatabase Character Set Scannerが処理するための小さいチャンクに分割します。

たとえば、MAXBLOCKSパラメータを1000に設定すると、サイズが1000ブロックよりも大きい表は、n個のチャンクに分割されます。この場合は、n=CEIL(table block size/1000)です。

大きい表をいくつかの小さい部分に分割する処理が有効なのは、PROCESSで設定されたプロセスの数が1より大きい場合のみです。MAXBLOCKSパラメータが設定されていない場合、Database Character Set Scannerは独自の最適化ルールに基づいて大きい表の分割を試みます。

PARFILE

プロパティ 説明
デフォルト値 なし
用途 Database Character Set Scannerパラメータのリストが含まれているファイルの名前を指定します。

PRESERVE

プロパティ 説明
デフォルト値 N
値の範囲 YまたはN
用途 前回のスキャン・セッションから収集された統計を保つかどうかを示します。

PRESERVE=Yと指定すると、前回のスキャンからの統計がすべて保持されます。現行のスキャン・リクエストでスキャンされる表の新規統計は、追加(PRESERVE=Yの場合)または上書き(PRESERVE=Nの場合)されます。

PROCESS

プロパティ 説明
デフォルト値 1
最小値 1
最大値 32
用途 データベース・スキャンに利用するための同時実行スキャン・プロセスの数を指定します。

QUERY

プロパティ 説明
デフォルト値 なし
用途 SELECT文の句を指定することで、スキャンするデータを制限するフィルタを適用します。この句は、スキャナ・セッションのすべての表と列に適用されます。

問合せパラメータの値は、SELECT文のWHERE句を含む文字列です。この句は、TABLEパラメータとCOLUMNパラメータにリストされたすべての表と列に適用されます。

使用できる問合せ句は、スキャン・セッションごとに1つのみです。QUERYパラメータは、表または列のスキャンを実行する場合のみ適用できます。全データベースまたはユーザーのスキャンを実行する場合、このパラメータは無視されます。QUERYは、複数の表と列のスキャンに適用できますが、指定したすべての表と列に同じWHERE句が追加されます。

たとえば、次のコマンドでは、過去30日以内に雇用された従業員がスキャンされます。

CSSCAN "'sys as sysdba'" TABLE=HR.EMPLOYEES QUERY= 'hire_date > SYSDATE - 180' ...

QUERYパラメータ内では、WHERE句は必要ありません。QUERYパラメータで最初の5文字がWHERE句と認識されると、CSSCANによって、この句は自動的に削除されます。

SUPPRESS

プロパティ 説明
デフォルト値 未設定(行数は無制限)
最小値 0
最大値 無制限
用途 ログに記録されるデータ例外の最大数を表ごとに指定します。

データ・セルで例外が検出されると、CSM$ERRORS表に情報が挿入されます。表は、レポートされる例外数に応じて大きくなります。

このパラメータを使用して、表ごとに指定した数の例外が挿入された後、個々の例外情報のロギングを抑制します。たとえば、SUPPRESSを100に設定すると、表ごとに最大100個の例外レコードが記録されます。

TABLE

プロパティ 説明
デフォルト値 なし
用途 スキャンする表の名前を指定します。

表の名前は次の方法で指定できます。

たとえば、次のコマンドでは、HRサンプル・スキーマ内のemployeesおよびdepartments表がスキャンされます。

CSSCAN "'sys as sysdba'" TABLE=(HR.EMPLOYEES, HR.DEPARTMENTS)

TOCHAR

プロパティ 説明
デフォルト値 なし
用途 CHARVARCHAR2LONGおよびCLOBデータの変換先データベース・キャラクタ・セット名を指定します。

TONCHAR

プロパティ 説明
デフォルト値 なし
用途 NCHARNVARCHAR2およびNCLOBデータの変換先データベース・キャラクタ・セット名を指定します。

TONCHARの値を指定しない場合、NCHARNVARCHAR2およびNCLOBデータはスキャンされません。

USER

プロパティ 説明
デフォルト値 なし
用途 スキャンする表の所有者を指定します。

USERパラメータを指定すると、指定した所有者に属しているすべての表がスキャンされます。たとえば、次の文を使用すると、HRに属しているすべての表がスキャンされます。

CSSCAN "'sys as sysdba'" USER=hr ...

USERID

プロパティ 説明
デフォルト値 なし
用途 データベースをスキャンするユーザーのユーザー名とパスワード(およびオプションの接続文字列)を指定します。パスワードを省略すると、パスワードの入力を求められます。

次の書式はすべて有効です。

username/password
username/password@connect_string
username
username@connect_string

Database Character Set Scannerセッション: 例

次の例は、コマンドラインおよびパラメータ・ファイルを使用して、全データベース、ユーザー、単一表および列の各スキャン・モードを使用する方法を示しています。

全データベース・スキャンの例

次の例は、データベースをAL32UTF8に移行する場合の影響を調べるために、全データベースをスキャンする方法を示しています。この例では、現行のデータベース・キャラクタ・セットがWE8ISO8859P1であるとします。

例12-6 パラメータ・ファイル方式でデータベースをスキャンする例

% csscan "'sys as sysdba'" parfile=param.txt

param.txtファイルには、次の情報が記述されています。

full=y
tochar=al32utf8
array=4096000
process=4

例12-7 コマンドライン方式でデータベースをスキャンする例

% csscan "'sys as sysdba'" full=y tochar=al32utf8 array=4096000 process=4

Database Character Set Scannerメッセージ

scan.outファイルは、どの表がスキャンされたかを示します。レポートのデフォルト・ファイル名は、LOGパラメータを使用して変更できます。


関連項目:

「LOG」

Database Character Set Scanner vx.x : Release xx.x.x.x.x - Production

Copyright (c) 1982, 200x, Oracle.  All rights reserved.

Connected to:
Oracle Database xxx Enterprise Edition Release xx.x.x.x.x - Production
With the Partitioning and Data Mining options

Enumerating tables to scan...

. process 1 scanning SYS.SOURCE$[AAAABHAABAAAAJqAAA]
. process 2 scanning SYS.TAB$[AAAAACAABAAAAA0AAA]
. process 2 scanning SYS.CLU$[AAAAACAABAAAAA0AAA]
. process 2 scanning SYS.ICOL$[AAAAACAABAAAAA0AAA]
. process 2 scanning SYS.COL$[AAAAACAABAAAAA0AAA]
. process 1 scanning SYS.IND$[AAAAACAABAAAAA0AAA]
. process 1 scanning SYS.TYPE_MISC$[AAAAACAABAAAAA0AAA]
. process 1 scanning SYS.LOB$[AAAAACAABAAAAA0AAA]
.
.
.
. process 1 scanning IX.AQ$_ORDERS_QUEUETABLE_G
. process 2 scanning IX.AQ$_ORDERS_QUEUETABLE_I

Creating Database Scan Summary Report...

Creating Individual Exception Report...

Scanner terminated successfully.

ユーザー・スキャンの例

次の例は、ユーザー表をAL32UTF8に移行する場合の影響を調べるために、ユーザー表をスキャンする方法を示しています。この例では、現行のデータベース・キャラクタ・セットはUS7ASCIIであるが、格納されている実際のデータは西ヨーロッパのWE8MSWIN1252エンコーディングであると仮定しています。

例12-8 パラメータ・ファイル方式でユーザーをスキャンする例

% csscan "'sys as sysdba'" parfile=param.txt

param.txtファイルには、次の情報が記述されています。

user=hr
fromchar=we8mswin1252
tochar=al32utf8
array=4096000
process=1

例12-9 コマンドライン方式でユーザーをスキャンする例

% csscan "'sys as sysdba'" user=hr fromchar=we8mswin1252 
    tochar=al32utf8 array=4096000 process=1

Database Character Set Scannerメッセージ

scan.outファイルは、どの表がスキャンされたかを示します。

Database Character Set Scanner vx.x : Release xx.x.x.x.x - Production

Copyright (c) 1982, 200x, Oracle.  All rights reserved.

Connected to:
Oracle Database xxx Enterprise Edition Release xx.x.x.x.x - Production
With the Partitioning and Data Mining options
Copyright (c) 1983, 200x Oracle. All rights reserved.

Enumerating tables to scan...

. process 1 scanning HR.JOBS
. process 1 scanning HR.DEPARTMENTS
. process 1 scanning HR.JOB_HISTORY
. process 1 scanning HR.EMPLOYEES

Creating Database Scan Summary Report...

Creating Individual Exception Report...

Scanner terminated successfully.

単一表のスキャンの例

次の例は、単一表をWE8MSWIN1252に移行する場合の影響を調べるために、単一表をスキャンする方法を示しています。この例では、現行のデータベース・キャラクタ・セットがUS7ASCIIであるとします。LOSSYデータ・セルに対して言語およびキャラクタ・セット検出が実行されます。

例12-10 パラメータ・ファイル方式で単一表をスキャンする例

% csscan "'sys as sysdba'" parfile=param.txt

param.txtファイルには、次の情報が記述されています。

table=hr.employees
tochar=we8mswin1252
array=4096000
process=1
suppress=100
lcsd=y

例12-11 コマンドライン方式で単一表をスキャンする例

% csscan "'sys as sysdba'" table=hr.employees tochar=we8mswin1252 array=4096000 process=1 supress=100 lcsd=y

Database Character Set Scannerメッセージ

scan.outファイルは、どの表がスキャンされたかを示します。

Database Character Set Scanner vx.x : Release xx.x.x.x.x - Production

Copyright (c) 1982, 200x, Oracle.  All rights reserved.

Connected to:
Oracle Database xxx Enterprise Edition Release xx.x.x.x.x - Production
With the Partitioning and Data Mining options
Copyright (c) 1983, 200x Oracle. All rights reserved.

. process 1 scanning HR.EMPLOYEES

Creating Database Scan Summary Report...

Creating Individual Exception Report...

Scanner terminated successfully.

次の例は、単一表をWE8MSWIN1252に移行する場合の影響を調べるために、単一表をスキャンする方法を示しています。スキャンする前に、表に対して問合せを実行し、スキャンする行を制限します。この例では、現行のデータベース・キャラクタ・セットはUS7ASCIIであると仮定しています。LOSSYデータ・セルに対して言語およびキャラクタ・セット検出が実行されます。

例12-12 パラメータ・ファイル方式で単一表をスキャンし、WE8MSWIN1252への移行の影響を示す例

% csscan "'sys as sysdba'" parfile=param.txt

param.txtファイルには、次の情報が記述されています。

table=hr.employees
query='hire_date > SYSDATE - 180'
tochar=we8mswin1252
array=4096000
process=1
suppress=100
lcsd=y

例12-13 コマンドライン方式で単一表をスキャンし、WE8MSWIN1252への移行の影響を示す例

% csscan "'sys as sysdba'" table=hr.employees query='hire_date > SYSDATE - 180' tochar=we8mswin1252 array=4096000 process=1 supress=100 lcsd=y

Database Character Set Scannerメッセージ

scan.outファイルは、どの表がスキャンされたかを示します。

Database Character Set Scanner vx.x : Release xx.x.x.x.x - Production

Copyright (c) 1982, 200x, Oracle.  All rights reserved.

Connected to:
Oracle Database xxx Enterprise Edition Release xx.x.x.x.x - Production
With the Partitioning and Data Mining options
Copyright (c) 1983, 200x Oracle. All rights reserved.

. process 1 scanning HR.EMPLOYEES

Creating Database Scan Summary Report...

Creating Individual Exception Report...

Scanner terminated successfully.

列スキャンの例

次の例は、WE8MSWIN1252に移行する場合の影響を調べるために、単一表内の複数の列をスキャンする方法を示しています。この例では、現行のデータベース・キャラクタ・セットはUS7ASCIIであると仮定しています。LOSSYデータ・セルに対して言語およびキャラクタ・セット検出が実行されます。

例12-14 パラメータ・ファイル方式で列をスキャンする例

% csscan "'sys as sysdba'" parfile=param.txt

param.txtファイルには、次の情報が記述されています。

column=(hr.employees.lastname, hr.employees.firstname)
tochar=we8mswin1252
array=4096000
process=1
suppress=100
lcsd=y

例12-15 コマンドライン方式で列をスキャンする例

% csscan "'sys as sysdba'" column=(hr.employees.lastname, hr.employees.firstname)
 tochar=we8mswin1252 array=4096000 process=1 supress=100 lcsd=y

Database Character Set Scannerメッセージ

scan.outファイルは、どの表がスキャンされたかを示します。

Database Character Set Scanner vx.x : Release xx.x.x.x.x - Production

Copyright (c) 1982, 200x, Oracle.  All rights reserved.

Connected to:
Oracle Database xxx Enterprise Edition Release xx.x.x.x.x - Production
With the Partitioning and Data Mining options
Copyright (c) 1983, 200x Oracle. All rights reserved.

. process 1 scanning HR.EMPLOYEES

Creating Database Scan Summary Report...

Creating Individual Exception Report...

Scanner terminated successfully.

Database Character Set Scannerレポート

Database Character Set Scannerでは、スキャンごとに次の2つのレポートが生成されます。

データベース・スキャンのサマリー・レポートは、scan.txtファイルに生成されます。データベース・スキャンの個別例外レポートは、scan.errファイルに生成されます。

レポートのデフォルト・ファイル名は、LOGパラメータを使用して変更できます。


関連項目:

「LOG」

データベース・スキャンのサマリー・レポート

scan.txtファイルには、データベース・スキャンのサマリー・レポートが記述されます。次の出力は、レポート・ヘッダーの例を示しています。この項には、各スキャン・プロセスの実行日時が記述されます。

Database Scan Summary Report

Time Started  : 200x-12-16 20:35:56
Time Completed: 200x-12-16 20:37:31

Process ID         Time Started       Time Completed
---------- -------------------- --------------------
         1  200x-12-16 20:36:07  2002-12-16 20:37:30
         2  200x-12-16 20:36:07  2002-12-16 20:37:30
---------- -------------------- --------------------

レポートは、次の項で構成されます。

各項に出力される情報は、選択したスキャンのタイプおよびパラメータによって異なります。

データベース・サイズ

この項では、現行のデータベース・サイズがレポートされ、キャラクタ・セット移行後に可能性のあるデータ拡張量が識別されます。

次に出力例を示します。

Tablespace                           Used            Free           Total       Expansion
------------------------- --------------- --------------- --------------- ---------------
SYSTEM                            206.63M         143.38M         350.00M         588.00K
SYSAUX                              8.25M         131.75M         140.00M            .00K
------------------------- --------------- --------------- --------------- ---------------
Total                             214.88M         275.13M         490.00M         588.00K

The size of the largest CLOB is 57370 bytes

データベース・スキャン・パラメータ

この項には、選択したパラメータおよびスキャンのタイプが記述されます。次に出力例を示します。

Parameter                      Value                                           
------------------------------ ------------------------------------------------
CSSCAN Version                 v2.1 
Instance Name                  rdbms06                                         
Database Version               10.2.0.0.0                                      
Scan type                      Full database                                   
Scan CHAR data?                YES                                             
Database character set         WE8ISO8859P1                                    
FROMCHAR                       WE8ISO8859P1                                    
TOCHAR                         AL32UTF8                                        
Scan NCHAR data?               NO                                              
Array fetch buffer size        1024000                                         
Number of processes            2                                               
Capture convertible data?      NO                                              
Charset Language Detections    Yes                                             
Charset Language Parameter     LOSSY                                           
------------------------------ ------------------------------------------------

スキャン・サマリー

この項には、データベース・キャラクタ・セット移行の実現可能性が示されます。データベースのキャラクタ・セット移行の実現可能性を判断する基本的な規準は2つあります。1つはデータ・ディクショナリの状態で、もう1つはアプリケーション・データの状態です。

スキャン・サマリー・セクションは、次の2つのステータス行で構成されています。1つはデータ・ディクショナリの状態で、もう1つはアプリケーション・データの状態です。

スキャン・サマリーからのサンプル出力を次に示します。

All character type data in the data dictionary are convertible to the new character set
Some character type application data are not convertible to the new character set

表12-1に、データ・ディクショナリとアプリケーション・データに関してレポートできるステータスのタイプを示します。

表12-1 データ・ディクショナリとアプリケーション・データに可能なステータス

データ・ディクショナリのステータス アプリケーション・データのステータス

データ・ディクショナリ内のキャラクタ・タイプ・データはすべて、新規キャラクタ・セットでも変わりません。

キャラクタ・タイプのアプリケーション・データはすべて、新規キャラクタ・セットでも変わりません。

データ・ディクショナリ内のキャラクタ・タイプ・データはすべて、新規キャラクタ・セットに変換できます。

キャラクタ・タイプのアプリケーション・データはすべて、新規キャラクタ・セットに変換できます。

データ・ディクショナリ内のキャラクタ・タイプ・データの一部は、新規キャラクタ・セットに変換できません。

キャラクタ・タイプのアプリケーション・データの一部は、新規キャラクタ・セットに変換できません。


すべてのデータが新規キャラクタ・セットでも変わらない場合は、変換元キャラクタ・セットのエンコーディング値が、変換先キャラクタ・セットでも同一であることを意味します。たとえば、ASCIIデータは、WE8ISO8859P1でもAL32 UTF8でも同じバイナリ値を使用して格納されます。この場合、データベース・キャラクタ・セットはCSALTERスクリプトを使用して移行できます。

すべてのデータが新規キャラクタ・セットに変換できる場合、データベースはエクスポート・ユーティリティとインポート・ユーティリティを使用して安全に移行できます。ただし、移行後データのエンコーディング値は、変換先キャラクタ・セットでは異なる値になります。

データ・ディクショナリの変換サマリー

この項には、データ・ディクショナリのデータの変換に関する統計情報が記述されます。各種ステータスのデータ・セルの数がデータ型別にレポートされます。データ・ディクショナリの包括的な変換サマリーを実現するには、全データベース・スキャンを使用する必要があります。

表12-2に、データ・セルのステータスに可能なタイプを示します。

表12-2 データに可能なステータス

ステータス 説明

Changeless

データは新規キャラクタ・セットでも変わりません。

Convertible

データ・セルは新規キャラクタ・セットに正常に変換できます。

Truncation

変換時にデータが切り捨てられます。

Lossy

変換時に文字データが失われます。


データ・ディクショナリのデータを変換する方法について詳しい情報を提供するため、データ・ディクショナリ変換サマリー・レポートは、データ・ディクショナリ表とXML CSXディクショナリ表の2つの部分に分かれています。小型バイナリXML(CSX)は、Oracle Database 11gリリース2(11.2)のXML DBで使用されるXMLドキュメントの新しいフォーマットです。XMLドキュメントをCSX列に挿入すると、データベースはCXSデータをアプリケーション・データ部のBLOB列に保存します。同時に、データベースはデータ・ディクショナリに属するXDBユーザーの表にデータを保存します。データ・ディクショナリでは、これらの表はXML CSXディクショナリ表と呼ばれます。

同様に、Convertible、TruncatedおよびLossyデータの表ごとや列ごとの分散を示す表は、データ・ディクショナリ表、XML CSXディクショナリ表、アプリケーション・データという3つの部分から構成されています。

拡張されたデータ・ディクショナリ変換サマリー・レポートの例を次に示します。

Database Scan Summary Report
 
Time Started  : 2006-08-15 01:13:24
Time Completed: 2006-08-15 01:16:32
 
Process ID         Time Started       Time Completed
---------- -------------------- --------------------
         1  2006-08-15 01:13:28  2006-08-15 01:16:30
---------- -------------------- --------------------
 
[Database Size]
 
Tablespace                           Used            Free           Total       Expansion
------------------------- --------------- --------------- --------------- ---------------
SYSTEM                            542.77M           9.82M         552.59M           1.41M
SYSAUX                             80.00M            .00K          80.00M         574.00K
TEMP                                 .00K            .00K            .00K            .00K
XDB_RESINFO                        51.81M          48.19M         100.00M          18.00K
XDB_TEMP                             .00K            .00K            .00K            .00K
------------------------- --------------- --------------- --------------- ---------------
Total                             674.59M          58.01M         732.59M           1.98M

The size of the largest CLOB is 61115 bytes
 
[Database Scan Parameters]
 
Parameter                      Value                                           
------------------------------ ------------------------------------------------
CSSCAN Version                 v2.1                                            
Instance Name                  cm2                                             
Database Version               11.1.0.0.0                                      
Scan type                      Full database                                   
Scan CHAR data?                YES                                             
Database character set         WE8ISO8859P1                                    
FROMCHAR                       we8iso8859p1                                    
TOCHAR                         utf8                                            
Scan NCHAR data?               YES                                             
NCHAR character set            AL16UTF16                                       
FROMNCHAR                      al16utf16                                       
TONCHAR                        utf8                                            
Array fetch buffer size        102400                                          
Number of processes            1                                               
Capture convertible data?      NO                                              
------------------------------ ------------------------------------------------

[Scan Summary]
 
All character type data in the data dictionary are convertible to the new character set
All character type application data are convertible to the new character set
 
[Data Dictionary Conversion Summary]
 
Data Dictionary Tables:
 
Datatype                    Changeless      Convertible       Truncation            Lossy
--------------------- ---------------- ---------------- ---------------- ----------------
VARCHAR2                     3,294,477                0                0                0
CHAR                             1,941                0                0                0
LONG                           133,551                0                0                0
CLOB                            21,633              841                0                0
NVARCHAR2                            0                0                0                0
NCHAR                                0                0                0                0
NCLOB                                0                0                0                0
VARRAY                          26,965                0                0                0
--------------------- ---------------- ---------------- ---------------- ----------------
Total                        3,478,567              841                0                0
Total in percentage             99.976%           0.024%           0.000%           0.000%
 
The data dictionary can be safely migrated using the CSALTER script

XML CSX Dictionary Tables:
 
Datatype                    Changeless      Convertible       Truncation            Lossy
--------------------- ---------------- ---------------- ---------------- ----------------
VARCHAR2                           173                8                0                0
CHAR                                 0                0                0                0
LONG                                 0                0                0                0
CLOB                                 0                0                0                0
NVARCHAR2                            0                0                0                0
NCHAR                                0                0                0                0
NCLOB                                0                0                0                0
VARRAY                               0                0                0                0
--------------------- ---------------- ---------------- ---------------- ----------------
Total                              173                8                0                0
Total in percentage             95.580%           4.420%           0.000%           0.000%
 
[Application Data Conversion Summary]
 
Datatype                    Changeless      Convertible       Truncation            Lossy
--------------------- ---------------- ---------------- ---------------- ----------------
VARCHAR2                        36,011                0                0                0
CHAR                             5,533                0                0                0
LONG                                 0                0                0                0
CLOB                                27               26                0                0
NVARCHAR2                            0           17,280                0                0
NCHAR                                0                0                0                0
NCLOB                                4                0                0                0
VARRAY                             319                0                0                0
--------------------- ---------------- ---------------- ---------------- ----------------
Total                           41,894           17,306                0                0
Total in percentage             70.767%          29.233%           0.000%           0.000%
         [Distribution of Convertible, Truncated and Lossy Data by Table]
 
         Data Dictionary Tables:
 
         USER.TABLE                                              Convertible       Truncation            Lossy
         -------------------------------------------------- ---------------- ---------------- ----------------
         SYS.EXTERNAL_TAB$                                                 1                0                0
         SYS.METASTYLESHEET                                              145                0                0
         SYS.RULE$                                                         1                0                0
         SYS.SCHEDULER$_EVENT_LOG                                         26                0                0
         SYS.WRH$_SQLTEXT                                                239                0                0
         SYS.WRH$_SQL_PLAN                                               217                0                0
         SYS.WRI$_ADV_DIRECTIVE_META                                       5                0                0
         SYS.WRI$_ADV_OBJECTS                                              1                0                0
         SYS.WRI$_DBU_FEATURE_METADATA                                    94                0                0
         SYS.WRI$_DBU_FEATURE_USAGE                                        3                0                0
         SYS.WRI$_DBU_HWM_METADATA                                        17                0                0
         SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY                                71                0                0
         SYS.WRI$_REPT_FILES                                               4                0                0
         XDB.XDB$RESCONFIG                                                 9                0                0
         XDB.XS$PRINCIPALS                                                 1                0                0
         XDB.XS$SECURITYCLASS                                              7                0                0
         -------------------------------------------------- ---------------- ---------------- ----------------

         XML CSX Dictionary Tables:
 
         USER.TABLE                                              Convertible       Truncation            Lossy
         -------------------------------------------------- ---------------- ---------------- ----------------
         XDB.X$QN0S0VE2C21FAJ8E0G5PHDLAO3BO                                8                0                0
         -------------------------------------------------- ---------------- ---------------- ----------------
 
         Application Data:
 
         USER.TABLE                                              Convertible       Truncation            Lossy
         -------------------------------------------------- ---------------- ---------------- ----------------
         OE.PRODUCT_DESCRIPTIONS                                      17,280                0                0
         OE.WAREHOUSES                                                     4                0                0
         PM.ONLINE_MEDIA                                                  14                0                0
         PM.PRINT_MEDIA                                                    8                0                0
         -------------------------------------------------- ---------------- ---------------- ----------------
 
         [Distribution of Convertible, Truncated and Lossy Data by Column]

         Data Dictionary Tables:
 
         USER.TABLE|COLUMN                                       Convertible       Truncation            Lossy
         -------------------------------------------------- ---------------- ---------------- ----------------
         SYS.EXTERNAL_TAB$|PARAM_CLOB                                      1                0                0
         SYS.METASTYLESHEET|STYLESHEET                                   145                0                0
         SYS.RULE$|CONDITION                                               1                0                0
         SYS.SCHEDULER$_EVENT_LOG|ADDITIONAL_INFO                         26                0                0
         SYS.WRH$_SQLTEXT|SQL_TEXT                                       239                0                0
         SYS.WRH$_SQL_PLAN|OTHER_XML                                     217                0                0
         SYS.WRI$_ADV_DIRECTIVE_META|DATA                                  5                0                0
         SYS.WRI$_ADV_OBJECTS|ATTR4                                        1                0                0
         SYS.WRI$_DBU_FEATURE_METADATA|INST_CHK_LOGIC                     11                0                0
         SYS.WRI$_DBU_FEATURE_METADATA|USG_DET_LOGIC                      83                0                0
         SYS.WRI$_DBU_FEATURE_USAGE|FEATURE_INFO                           3                0                0
         SYS.WRI$_DBU_HWM_METADATA|LOGIC                                  17                0                0
         SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY|EXPRESSION                     71                0                0
         SYS.WRI$_REPT_FILES|SYS_NC00005$                                  4                0                0
         XDB.XDB$RESCONFIG|XMLDATA                                         9                0                0
         XDB.XS$PRINCIPALS|XMLDATA                                         1                0                0
         XDB.XS$SECURITYCLASS|XMLDATA                                      7                0                0
         -------------------------------------------------- ---------------- ---------------- ----------------
 
         XML CSX Dictionary Tables:
 
         USER.TABLE|COLUMN                                       Convertible       Truncation            Lossy
         -------------------------------------------------- ---------------- ---------------- ----------------
         XDB.X$QN0S0VE2C21FAJ8E0G5PHDLAO3BO|LOCALNAME                      8                0                0
         -------------------------------------------------- ---------------- ---------------- ----------------
 
         Application Data:

         USER.TABLE|COLUMN                                       Convertible       Truncation            Lossy
         -------------------------------------------------- ---------------- ---------------- ----------------
         OE.PRODUCT_DESCRIPTIONS|TRANSLATED_DESCRIPTION                8,640                0                0
         OE.PRODUCT_DESCRIPTIONS|TRANSLATED_NAME                       8,640                0                0
         OE.WAREHOUSES|SYS_NC00003$                                        4                0                0
         PM.ONLINE_MEDIA|SYS_NC00042$                                      7                0                0
         PM.ONLINE_MEDIA|SYS_NC00062$                                      7                0                0
         PM.PRINT_MEDIA|AD_FINALTEXT                                       4                0                0
         PM.PRINT_MEDIA|AD_SOURCETEXT                                      4                0                0
         -------------------------------------------------- ---------------- ---------------- ----------------


[Indexes to be Rebuilt]
 
USER.INDEX on USER.TABLE(COLUMN)                                                         
-----------------------------------------------------------------------------------------
SYS.I_WRI$_OPTSTAT_HH_ST on SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY(SYS_NC00024$)
SYS.I_WRI$_OPTSTAT_HH_OBJ_ICOL_ST on SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY(SYS_NC00024$)
SYS.I_WRI$_OPTSTAT_HH_OBJ_ICOL_ST on SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY(OBJ#)
SYS.I_WRI$_OPTSTAT_HH_OBJ_ICOL_ST on SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY(INTCOL#)
SYS.I_WRI$_OPTSTAT_HH_OBJ_ICOL_ST on SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY(COLNAME)
OE.PROD_NAME_IX on OE.PRODUCT_DESCRIPTIONS(TRANSLATED_NAME)
XDB.X$QQ0S0VE2C21FAJ8E0G5PHDLAO3BO on XDB.X$QN0S0VE2C21FAJ8E0G5PHDLAO3BO(NMSPCID)
XDB.X$QQ0S0VE2C21FAJ8E0G5PHDLAO3BO on XDB.X$QN0S0VE2C21FAJ8E0G5PHDLAO3BO(LOCALNAME)
XDB.X$QQ0S0VE2C21FAJ8E0G5PHDLAO3BO on XDB.X$QN0S0VE2C21FAJ8E0G5PHDLAO3BO(FLAGS)
-----------------------------------------------------------------------------------------

以前のリリースでのデータ・ディクショナリ変換サマリー・レポートの例を次に示します。

Datatype                    Changeless      Convertible       Truncation            Lossy
--------------------- ---------------- ---------------- ---------------- ----------------
VARCHAR2                     1,214,557                0                0                0
CHAR                               967                0                0                0
LONG                            88,657                0                0                0
CLOB                               138              530                0                0
VARRAY                              18                0                0                0
--------------------- ---------------- ---------------- ---------------- ----------------
Total                        1,304,337              530                0                0
Total in percentage             99.959%           0.041%           0.000%           0.000%

The data dictionary can be safely migrated using the CSALTER script.

データ・ディクショナリ表およびXML CXSディクショナリ表で、ConvertibleTruncationおよびLossy列に記録されたデータ・セルの数が0(ゼロ)の場合は、データ・ディクショナリをそのままFROMCHARキャラクタ・セットからTOCHARキャラクタ・セットに移行でき、データ変換は必要ありません。

データ・ディクショナリ表およびXML CSXディクショナリ表の両方で、TruncationおよびLossy列の数値がすべて0(ゼロ)で、Convertible列に0(ゼロ)以外の数値がある場合は、データ・ディクショナリのすべてのデータが新規キャラクタ・セットに変換できることを意味します。ただし、データベースへの影響を理解していない場合、データ・ディクショナリのデータを変換するのは危険です。XML CSXディクショナリ表の変換可能なセルはすべて安全に変換されるため、データ・ディクショナリ表から暗示的に出力されます。CSALTERスクリプトを使用すると、データ・ディクショナリ内で変換可能な一部のセルを変換できます。変換サマリー表に続くメッセージは、この変換をCSALTERスクリプトでサポートできるかどうかを示します。

データ・ディクショナリ表またはXML CSXディクショナリ表で、Lossy列の数値が0(ゼロ)以外の場合は、データ・ディクショナリに変換できないデータがあります。このため、現行データベースの新規キャラクタへの移行は実現しません。これは、エクスポートおよびインポート・プロセスでデータを新規キャラクタ・セットに変換できないためです。たとえば、表名に無効な文字が使用されていたり、新規キャラクタ・セットにマップできないデータがPL/SQLプロシージャのコメント行に含まれている場合があります。スキーマ・オブジェクトに対するこのような変更は、新規キャラクタ・セットへの移行前に、手動で訂正する必要があります。

データ・ディクショナリ表またはXML CXSディクショナリ表で、Truncation列の数値が0(ゼロ)以外の場合は、エクスポートおよびインポート・プロセスによりデータが切り捨てられます。

アプリケーション・データの変換サマリー

この項には、アプリケーション・データの変換サマリーの統計情報が記述されます。各種ステータスのデータ・セルの数がデータ型別にレポートされます。表12-2に、レポートできるステータスのタイプを示します。

次に出力例を示します。

Datatype                    Changeless      Convertible       Truncation            Lossy
--------------------- ---------------- ---------------- ---------------- ----------------
VARCHAR2                        37,757                3                0                0
CHAR                             6,404                0                0                0
LONG                                 4                0                0                0
CLOB                                23               20                0                1
VARRAY                             319                0                0                0
--------------------- ---------------- ---------------- ---------------- ----------------
Total                           44,507               23                0                1
Total in percentage             99.946%           0.051%               0%           0.002%

列サイズ境界ごとのアプリケーション・データの変換サマリー

この項には、CHARおよびVARCHAR2のアプリケーション・データの変換サマリーが記述されます。各種ステータスのデータ・セルの数は、BOUNDARIESパラメータで指定した列サイズ境界別にレポートされます。表12-2に、使用可能なステータスのタイプを示します。この情報は、BOUNDARIESパラメータが指定されている場合にのみ使用可能です。次に出力例を示します。

Datatype                    Changeless      Convertible       Truncation            Lossy
--------------------- ---------------- ---------------- ---------------- ----------------
VARCHAR2(1..30)                 28,702                2                0                0
VARCHAR2(31..4000)               9,055                1                0                0
--------------------- ---------------- ---------------- ---------------- ----------------
CHAR(1..30)                      6,404                0                0                0
CHAR(31..4000)                       0                0                0                0
--------------------- ---------------- ---------------- ---------------- ----------------
Total                           44,161                3                0                0

表ごとの変換可能データの分散状態

次の項は、ConvertibleTruncationおよびLossyデータがデータベース内にどのように分散しているかを示します。統計は、表別にレポートされます。リストに数行のみ表示されている場合、Convertibleデータは局所的に集中しています。リストに多数の行が表示されている場合、Convertibleデータはデータベース全体に分散しています。次に出力例を示します。

USER.TABLE                        Convertible       Truncation            Lossy
---------------------------- ---------------- ---------------- ----------------
HR.EMPLOYEES                                1                0                0
OE.CUSTOMERS                                2                0                0
PM.ONLINE_MEDIA                            13                0                0
PM.PRINT_MEDIA                              7                0                1
SYS.EXTERNAL_TAB$                           1                0                0
SYS.METASTYLESHEET                         80                0                0
---------------------------- ---------------- ---------------- ----------------

列ごとの変換可能データの分散状態

次の項は、ConvertibleTruncationおよびLossyデータがデータベース内にどのように分散しているかを示します。統計は、列別にレポートされます。次に出力例を示します。

USER.TABLE|COLUMN                          Convertible       Truncation            Lossy
------------------------------------- ---------------- ---------------- ----------------
HR.EMPLOYEES|FIRST_NAME                              1                0                0
OE.CUSTOMERS|CUST_EMAIL                              1                0                0
OE.CUSTOMERS|CUST_FIRST_NAME                         1                0                0
PM.ONLINE_MEDIA|SYS_NC00042$                         6                0                0
PM.ONLINE_MEDIA|SYS_NC00062$                         7                0                0
PM.PRINT_MEDIA|AD_FINALTEXT                          3                0                1
PM.PRINT_MEDIA|AD_SOURCETEXT                         4                0                0
SYS.EXTERNAL_TAB$|PARAM_CLOB                         1                0                0
SYS.METASTYLESHEET|STYLESHEET                       80                0                0
------------------------------------- ---------------- ---------------- ----------------

再構築対象の索引

データベース・キャラクタ・セットの移行によって影響を受ける全索引のリストが生成されます。これらの索引は、データのインポート後に再作成できます。次に出力例を示します。

USER.INDEX on USER.TABLE(COLUMN)                                                      
--------------------------------------------------------------------------------------
HR.EMP_NAME_IX on HR.EMPLOYEES(FIRST_NAME)
HR.EMP_NAME_IX on HR.EMPLOYEES(LAST_NAME)
OE.CUST_EMAIL_IX on OE.CUSTOMERS(CUST_EMAIL)
--------------------------------------------------------------------------------------

キャラクタ・セマンティクスによる切捨て

この項は、キャラクタ・セマンティクスを使用して定義されている列にのみ適用されます。この項では、データベース・キャラクタ・セットがCSALTERスクリプトで更新される前に、変換先キャラクタ・セットに(SQL CONVERT関数または他のインライン変換プロセスなどにより)変換された場合に切り捨てられるデータ・セルの数が識別されます。データベース・キャラクタ・セットの変更後にデータ変換が発生する場合は、この項を無視してかまいません。

たとえば、WE8MSWIN1252データベースのVARCHAR2(5 char)列には、5バイトを使用して最大5文字を格納できます。これらの文字がAL32UTF8に移行されると、同じ5文字が長さ最大20バイトまで拡張する可能性があります。列に割り当てられる物理バイト制限は現行のデータベース・キャラクタ・セットにより決定されるため、データを変換先キャラクタ・セットで変換する前に、この列を手動で20バイトに拡張する必要があります。または、データベース・キャラクタ・セットの変更後に、この列にキャラクタ・セット変換を適用できます。この場合は、同じVARCHAR2(5 char)定義で自動的に20バイトが割り当てられ、特殊処理は必要ありません。

次に、レポートのキャラクタ・セマンティクスによる切捨てセクションの出力例を示します。

USER.TABLE|COLUMN                                        Truncation
-------------------------------------------------- ----------------
HR.EMPLOYEES|FIRST_NAME                                           1

キャラクタ・セット検出結果

この項は、LCSDパラメータで言語およびキャラクタ・セット検出がオンになっている場合に出力されます。この項には、Database Character Set Scannerで検出されたキャラクタ・セットのリストが表示されます。キャラクタ・セットは出現順です。NUMBERは、データ・セル数です。

次に、キャラクタ・セット検出結果セクションの出力例を示します。

CHARACTER SET                            NUMBER       PERCENTAGE
------------------------------ ---------------- ----------------
WE8MSWIN1252                                 38          97.436%
UNKNOWN                                       1           2.564%
------------------------------ ---------------- ----------------

言語検出結果

この項は、LCSDパラメータで言語およびキャラクタ・セット検出がオンになっている場合に出力されます。この項には、Database Character Set Scannerで検出された言語のリストが表示されます。言語は出現順です。

次に、言語検出結果セクションの出力例を示します。

LANGUAGE                                 NUMBER       PERCENTAGE
------------------------------ ---------------- ----------------
ENGLISH                                      36          92.308%
FRENCH                                        2           5.128%
UNKNOWN                                       1           2.564%
------------------------------ ---------------- ----------------

データベース・スキャンの個別例外レポート

scan.errファイルには、個別例外レポートが記述されます。このレポートは、次のサマリーで構成されています。

データベース・スキャン・パラメータ

この項には、選択したパラメータおよびスキャンのタイプが記述されます。次に出力例を示します。

Parameter                      Value                                           
------------------------------ ------------------------------------------------
CSSCAN Version                 v2.1                                            
Instance Name                  rdbms06                                         
Database Version               10.2.0.0.0                                      
Scan type                      Full database                                   
Scan CHAR data?                YES                                             
Database character set         WE8ISO8859P1                                    
FROMCHAR                       WE8ISO8859P1                                    
TOCHAR                         AL32UTF8                                        
Scan NCHAR data?               NO                                              
Array fetch buffer size        1024000                                         
Number of processes            2                                               
Capture convertible data?      NO                                              
Charset Language Detection     Yes                                             
Charset Language Parameter     LOSSY                                           
------------------------------ ------------------------------------------------

データ・ディクショナリの個別例外

この項には、データ・ディクショナリのデータが変換可能であるか、または例外があるかがレポートされます。例外には2つのタイプがあります。

  • 列サイズの超過(exceed column size)

  • 非可逆式変換(lossy conversion)

次に、変換可能なデータを含むデータ・ディクショナリに関する出力例を示します。

User  : SYS
Table : OBJ$
Column: NAME
Type  : VARCHAR2(30)
Number of Exceptions         : 0
Max Post Conversion Data Size: 30

ROWID              Exception Type      Size Cell Data(first 30 bytes)
------------------ ------------------ ----- ------------------------------
AAAAASAABAAAikLAAQ convertible              Aufträge
------------------ ------------------ ----- ------------------------------

アプリケーション・データ個別例外

このレポートには、例外があるデータが示されるため、必要に応じて該当データを修正できます。

例外には2つのタイプがあります。

  • 列サイズの超過(exceed column size)

    最大列幅を超過している場合は、列サイズを拡張する必要があります。列サイズを拡張しないと、データの切捨てが発生します。

  • 非可逆式変換(lossy conversion)

    新規キャラクタ・セットへの移行前にデータを訂正する必要があります。データを訂正しないと、無効な文字が置換文字に変換されます。置換文字は通常、?または¿、あるいはソース文字と言語的に同様の文字です。

次の個別例外レポートの例では、データベース・キャラクタ・セットをWE8ISO8859P1からAL32UTFに変更するときに発生する可能性があるいくつかの問題が示されています。

User:   USER1
Table:  TEST
Column: NAME
Type:   VARCHAR2(10)
Number of Exceptions: 2  
Max Post Conversion Data Size: 11

ROWID              Exception Type      Size Cell Data(first 30 bytes)     
------------------ ------------------ ----- ------------------------------
AAAA2fAAFAABJwQAAg exceed column size    11 Ährenfeldt
AAAA2fAAFAABJwQAAu lossy conversion         órâclë8™
AAAA2fAAFAABJwQAAu exceed column size    11 órâclë8™
------------------ ------------------ ----- ------------------------------

Ährenfeldtおよびórâclë8(tm)は、列サイズ(10バイト)を超過しています。これは、Äóâおよびëの各文字が、WE8ISO8859P1では1バイトですがAL32UTF8では2バイトであるためです。値órâclë8(tm)は、商標記号(tm)(コード153)が有効なWE8ISO8859P文字ではないことに起因するAL32UTF8への不可逆変換です。この文字は、WE8ISO8859P1のスーパーセットであるWE8MSWIN1252の文字です。

SELECT文を発行すると、例外があるデータを表示できます。

SELECT name FROM user1.test WHERE ROWID='AAAA2fAAFAABJwQAAu';

UPDATE文を発行すると、例外があるデータを修正できます。

UPDATE user1.test SET name = 'Oracle8 TM'
WHERE ROWID='AAAA2fAAFAABJwQAAu';

言語およびキャラクタ・セット検出オプションが有効化されている場合、CSSCANLCSDDATAパラメータで指定されたデータ・セルについて最も可能性の高い言語およびキャラクタ・セットの提供を試みます。

次に、個別例外レポートの出力例を示します。このレポートは、データベース・キャラクタ・セットをUS7ASCIIからAL32UTF8に変更する場合の、不可逆データ・セルに関する言語およびキャラクタ・セット検出の結果を示しています。

User:   USER2
Table:  TEST
Column: NAME
Type:   VARCHAR2(30)
Number of Exceptions: 2  
Max Post Conversion Data Size: 11

ROWID              Exception Type      Size Cell Data(first 30 bytes)   Language & Character Set         
------------------ ------------------ ----- --------------------------- ------------------------
AAAA2fAAFAABJwQAAt lossy conversion         C'est français              (French,UTF8)   
AAAA2fAAFAABJwQAAu lossy conversion         Ciò è italiana              (Italian,WE8MSWIN1252)
------------------ ------------------ ----- --------------------------- ------------------------

データ・ディクショナリ内の変換可能データまたは不可逆データを処理する方法

ユーザー・アプリケーションのデータ変更とは異なり、データ・ディクショナリ表の内容を直接更新したり変更する操作はサポートされません。内部の依存性を把握せずにシステム表を更新すると、データベースが破損する可能性があります。

データ・ディクショナリが変換可能な場合、データ・セルはFROMCHARキャラクタ・セットでエンコードされます。データ・ディクショナリに変換可能なデータがある場合については、次の3つの一般的な使用例があります。

変換可能なデータ・ディクショナリのデータを移行する場合に最も簡単なアプローチは、変換先キャラクタ・セットで新規データベースを作成してから、エクスポートとインポートによりデータ・ディクショナリおよびスキーマ定義をすべて再作成することです。ただし、この方法では新規データベースを作成することになります。

新規データベースを作成するかわりに既存のデータベースを移行する場合、データ・ディクショナリ内の変換可能なCLOBデータを移行し、既存のデータベース・キャラクタ・セットを変換先キャラクタ・セットに変更するには、CSALTERスクリプトを使用するのが最も簡単な方法です。

データ・ディクショナリのうちCLOBデータでないCONVERTIBLEデータ・セルの場合は、変換可能なデータを含むスキーマ・オブジェクトを検索する必要があります。これにより、次のいずれかの操作を選択できます。

LOSSYディクショナリ・データ・セルについては、さらにデータ・ディクショナリを検査し、現行のFROMCHARキャラクタ・セットがデータベースの実際のキャラクタ・セットかどうかを確認する必要があります。データベースの実際のキャラクタ・セットであれば、これらのオブジェクト定義を訂正する必要があります(たとえば、パッケージ本体のコメントから問題の文字を削除します)。これにより、データ・セルがCHANGELESSとなり、変換先キャラクタ・セットに安全に移行できます。

データ・ディクショナリ内でCONVERTIBLEデータ・セルとLOSSYデータ・セルを検索できるように、Database Character Set Scannerには次の3つのSQLスクリプトが付属しています。

各スクリプトは$ORACLE_HOME/nls/csscan/sqlディレクトリに格納されています。これらのスクリプトでは、問題のデータ・ディクショナリ・オブジェクトを識別できるように、SYS.SOURCE$SYS.HISTGRM$およびSYS.RULE$データ・ディクショナリ表に対してSQL SELECT操作が実行されます。

次に、analyze_source.sqlスクリプトの出力例を示します。

SQL> @$ORACLE_HOME/nls/csscan/sql/analyze_source.sql

Table: SYS.SOURCE$
Error: CONVERTIBLE DATA

no rows selected

Table: SYS.SOURCE$
Error: EXCEPTIONAL DATA

OWNER       OBJECT_NAME     OBJECT_TYPE     EXCEPTIONAL
----------- --------------  -------------   -----------
SCOTT       FOO             FUNCTION        1

Database Character Set Scannerの記憶域とパフォーマンスに関する考慮事項

この項では、Database Character Set Scannerの記憶域とパフォーマンスに関する問題について説明します。内容は次のとおりです。

Database Character Set Scannerの記憶域に関する考慮事項

この項では、Database Character Set Scannerのシステム表のサイズと拡張について説明し、それらをメンテナンスする方法について説明します。データベースに格納されているデータの性質に応じて、急速に増大する可能性があるシステム表が3つあります。

csminst.sqlスクリプトを修正すると、ユーザーCSMIGに大きい表領域を割り当てることができます。デフォルトでは、SYSTEM表領域がユーザーCSMIGに割り当てられます。

この項の内容は、次のとおりです。

CSM$TABLES

スキャンする必要があるすべての表が、CSM$TABLES表に列挙されます。

次のSQL文を発行すると、データベース内の表の数を調べる(CSM$TABLESがどの程度大きくなるかの見積りを取得する)ことができます。

SELECT COUNT(*) FROM DBA_TABLES;

CSM$COLUMNS

スキャンされた各列の統計情報が、CSM$COLUMNS表に格納されます。

次のSQL文を発行すると、データベース内の文字列型の列の数を調べる(CSM$COLUMNSがどの程度大きくなるかの見積りを取得する)ことができます。

SELECT COUNT(*) FROM DBA_TAB_COLUMNS
WHERE DATA_TYPE IN ('CHAR', 'VARCHAR2', 'LONG', 'CLOB', 'VARRAY');

CSM$ERRORS

セル・データで例外が検出されると、個々の例外情報がCSM$ERRORS表に挿入されます。この情報は個別例外レポートに表示され、必要に応じて修正するレコードの識別に役立ちます。

データベースにExceptionalまたはConvertible(パラメータCAPTURE=Yが設定されている場合)の印が付いたデータが多数含まれている場合は、CSM$ERRORS表が極端に大きくなる可能性があります。SUPPRESSパラメータを使用すると、CSM$ERRORS表が不必要に増大することを防止できます。

SUPPRESSパラメータはすべての表に適用されます。指定した数の例外が挿入された後は、個々のExceptional情報の挿入が抑制されます。記録される例外数を制限しても、例外が異なる表に散在している場合は役に立たない可能性があります。

Database Character Set Scannerのパフォーマンスに関する考慮事項

この項では、データベース・スキャン時のパフォーマンスを向上させる方法を説明します。

マルチ・スキャン・プロセスの使用

比較的大規模なデータベース(50GB以上のデータベースなど)のスキャンを計画している場合は、マルチ・スキャン・プロセスの利用を考慮できます。マルチ・スキャン・プロセスを使用すると、マシンで使用可能なCPUやメモリーなどのハードウェア・リソースを使用することによって、データベース・スキャンの継続時間が短縮されます。使用するスキャン・プロセスの数を判断するためのガイドラインは、CPU_COUNT初期化パラメータ値と同じ値に設定することです。

配列フェッチ・バッファ・サイズの設定

配列フェッチを許可すると、1回に複数行がフェッチされます。通常は、大きなサイズの配列フェッチ・バッファを使用すると、パフォーマンスを改善できます。各プロセスでは、独自のフェッチ・バッファが割り当てられます。

QUERY句の最適化

QUERYパラメータを指定せずにCharacter Set Scannerを実行すると、CSSCANによって作成されたSELECTの各操作に、/*+ROWID*/ヒントが自動的に含まれます。これによって、表のスキャンの実行時にROWIDを使用してすべてのデータの取得が実行されるため、アクセスが高速になります。QUERYパラメータを指定すると、WHERE句の条件は、他の方法ですでに最適化されているとみなされます。したがって、ROWIDヒントはQUERY句に追加されません。

QUERYパラメータを使用する場合に最適なパフォーマンスを保持するには、SELECT文に入念なチューニング(追加索引の作成など)が必要となります。

例外および変換可能ログの抑制

ExceptionalおよびConvertible(CAPTURE=Yの場合)の個別情報は、CSM$ERRORS表に挿入されます。通常、CSM$ERRORS表への挿入は、データ・フェッチよりもリソースを消費します。データベースにExceptionalまたはConvertibleの印が付いたデータが多数あると、多数の挿入文が発行されるため、パフォーマンスが低下します。SUPPRESSパラメータを使用して、記録する例外行の数に制限を設定することをお薦めします。

Database Character Set Scannerに関する推奨事項と制限事項

CHARVARCHAR2LONGCLOBおよびVARRAY列の文字ベースのデータはすべて、データベース・キャラクタ・セットに格納されます。これは、データベースを最初に作成したときに、CREATE DATABASE文で指定したデータベース・キャラクタ・セットです。ただし、構成によっては、意図的にまたは意図せずに、データベース・キャラクタ・セットと異なるキャラクタ・セットにデータを格納する可能性があります。これは、NLS_LANGキャラクタ・セットがデータベース・キャラクタ・セットと同一の場合に最もよく発生します。このような場合、Oracleデータベースはデータを変換または検証の保証なしにそのまま送受信するためです。また、2つのキャラクタ・セットの一方が他方のスーパーセットである場合にも発生します。この状況では、コード・ポイントの大部分が変換されない場合と同様に表示されます。たとえば、NLS_LANGがWE8ISO8859P1に設定されていて、データベース・キャラクタ・セットがWE8MSWIN1252の場合は、クライアント/サーバー変換を実行しても、128~159の範囲以外のすべてのコード・ポイントが保持されます。

同じバイナリ・コード・ポイント値を使用して、様々なキャラクタ・セット間で異なる文字を表すことができます。ほとんどのヨーロッパ言語のキャラクタ・セットは、8ビット範囲の自由な使用を共有してネイティブ文字をエンコードするため、不適切な理由でセルが互換性ありとレポートされる可能性が高くなります。FROMCHARパラメータを設定する場合、すべての文字データがキャラクタ・セットでエンコードされていても、Database Character Set Scannerでは妥当性を正確に判断できないものとみなすことになります。

たとえば、FROMCHARパラメータをWE8MSWIN1252に設定してDatabase Character Set Scannerを使用すると、この問題が発生する可能性があります。このシングルバイト・キャラクタ・セットは、使用可能なすべてのコード・ポイントで文字をエンコードするため、スキャン対象がどのようなデータであっても、スキャナは常にデータ・セルを変換元キャラクタ・セットで使用可能と識別します。

データベース・キャラクタ・セットにないデータを含むデータベースのスキャン

データベースにデータベース・キャラクタ・セットにないデータが含まれていても、別のキャラクタ・セットでエンコードされており、エンコードされたキャラクタ・セットがFROMCHARパラメータで指定されている場合は、Database Character Set Scannerでスキャンを実行できます。

2つ以上のキャラクタ・セットからのデータを含むデータベースのスキャン

データベースに複数のキャラクタ・セットからのデータが含まれている場合、Database Character Set Scannerでは、1回のスキャンではデータベース・キャラクタ・セットの変更による影響を正確にテストできません。データを各キャラクタ・セットに対して1つずつ、別個の表に分割できる場合、Database Character Set Scannerでは複数の表スキャンを実行してデータの妥当性を検証できます。

スキャンごとに、異なる値のFROMCHARパラメータを使用し、指定したキャラクタ・セットにある場合と同様に、表内のターゲット列すべてを処理するように、Database Character Set Scannerに対して指示できます。

Database Character Set ScannerのCSALTERスクリプト

CSALTERスクリプトは、特殊なキャラクタ・セット移行処理のためのDBAツールです。廃止になったALTER DATABASE CHARACTER SET SQL文と同様に、CSALTERは、システム管理者のみが使用してください。システム管理者は、最初にDatabase Character Set Scannerを実行して、CSALTERの実行に適した条件が存在していることを確認する必要があります。また、CSALTERの実行前にデータベースのバックアップを実行してください。CSALTERは引数を取らず、このデータベース上で実行された最新のCSSCANによって格納された情報を使用します。たとえば、CSALTERによって、TOCHAR CSSCAN値が新しいNLS_CHARACTERSETとして使用されます。

CSALTERスクリプトを実行するには、SQL*Plusを起動して、キャラクタ・セットを移行するデータベースに接続します。Database Character Set Scannerは、CSALTERスクリプトの前に実行する必要があることに注意してください。その後、次のコマンドを入力します。

sqlplus> @@CSALTER.PLB

CSALTERスクリプトには、次のフェーズがあります。

CSALTERスクリプトのチェック・フェーズ

CSALTERスクリプトのチェック・フェーズでは、次のタスクが実行されます。

  1. ユーザー・ログインがSYSかどうかがチェックされます。このスクリプトの実行を許可されるのはユーザーSYSのみです。

  2. 過去7日以内に全データベース・スキャンが実行されているかどうかがチェックされます。この期間内に全データベース・スキャンが実行されていない場合は、スクリプトが停止し、エラーがレポートされます。データベース管理者は、全データベース・スキャンの実行時からCSALTERスクリプトの実行時までの間に、他のユーザーによりデータベースが更新されないことを確認する必要があります。

  3. Oracleデータベースにより作成されたデータ・ディクショナリ内のすべてのCLOB列が変更不可能か、または変換可能かがチェックされます。変換可能なCLOB列が発生するのは、シングルバイト・キャラクタ・セットからマルチバイト・キャラクタ・セットに移行する場合です。データ・ディクショナリのCLOB列に不可逆セルが見つかると、スクリプトが停止します。不可逆CLOBには特殊な処理が必要になる場合があります。詳細は、Oracleサポート・サービスに問い合せてください。

    次のスキーマに属している表は、データ・ディクショナリの一部とみなされます。

    SYS
    SYSTEM
    CTXSYS
    DIP
    DMSYS
    EXFSYS
    LBACSYS
    MDSYS
    ORDDATA
    ORDPLUGINS
    ORDSYS
    SI_INFORMTN_SCHEMA
    XDB
  4. Oracleデータベースにより作成されたサンプル・スキーマ内のすべてのCLOB列が変更不可能か、または変換可能かがチェックされます。変換可能なCLOB列が発生するのは、シングルバイト・キャラクタ・セットからマルチバイト・キャラクタ・セットに移行する場合です。次のスキーマに属している表は、サンプル・スキーマの一部です。

    HR
    OE
    SH
    PM
  5. CLOBデータ型が、データ・ディクショナリ内とサンプル・スキーマ内で変換可能なデータを含む唯一のデータ型かどうかがチェックされます。他のすべてのユーザーの表に、CLOBデータ型を含めてすべてのデータ型の変換可能なデータがないかどうかがチェックされます。CSALTERスクリプトは、現行のデータベースが新規データベースの正しいサブセットである場合のみ実行されることを意図しているため、すべてのデータは変更不可能であることが必要ですが、その例外としてCLOBデータが考えられます。シングルバイト・キャラクタ・セットからマルチバイト・キャラクタ・セットに移行する場合、ユーザー作成のCLOBデータは変換する必要があり、最初にエクスポートしてスキーマから削除する必要があります。CSALTERスクリプトを実行するには、データベースを再スキャンしてください。変換可能または切捨て対象としてレポートされる他のすべてのデータ型のセルは、Database Character Set Scannerを再実行する前に訂正する必要があります。


    関連項目:


CSALTERスクリプトの更新フェーズ

CSALTERスクリプトでは、データ・ディクショナリ内の各CLOB「CSALTERスクリプトのチェック・フェーズ」で説明したチェックを通ったことが確認されると、変換が実行されます。データ・ディクショナリ内とサンプル・スキーマ内のすべてのCLOBデータが更新された後、このスクリプトにより変更がコミットされ、情報がCSM$TABLESビューに保存されます。データ・ディクショナリ内のすべてのCLOBデータが更新された後、CSALTERスクリプトによりデータベースのメタデータが新規キャラクタ・セットに更新されます。これで移行プロセス全体が完了します。

CSALTERスクリプトは再開可能です。データベースを新規キャラクタ・セットに更新する処理の途中で失敗した場合、データベース管理者はなんらかの操作を実行する前にデータベースを停止して再起動し、CSALTERスクリプトを再実行する必要があります。更新後の情報はすでにCSM$TABLESビューに保存されているため、スクリプトではデータ・ディクショナリ表のCLOBデータが2回更新されることはありません。移行プロセスは単に再開され、新規キャラクタ・セットへのデータベースの更新が完了します。

CSALTERスクリプトに失敗した場合は、次の方法で更新を再開してください。

  1. CSALTERスクリプトを実行したSQL*Plusセッションから、即時に次のコマンドを入力します。

        SHUTDOWN ABORT
    
  2. CSALTERでデータベースをオープンする必要があるため、データベースを起動してオープンします。

        STARTUP OPEN
    
  3. CSALTERスクリプトを実行します。

        @@CSALTER.PLB
    
  4. IMMEDIATEまたはNORMALオプションを指定してデータベースを停止します。

  5. データベースを起動します。

Database Character Set Scannerのビュー

Database Character Set Scannerでは、次のビューが使用されます。

CSMV$COLUMNS

このビューには、スキャンされた列の統計情報が含まれます。

列名 データ型 NULL 説明
OWNER_ID NUMBER NOT NULL 表所有者のユーザーID
OWNER_NAME VARCHAR2(30) NOT NULL 表所有者のユーザー名
TABLE_ID NUMBER NOT NULL 表のオブジェクトID
TABLE_NAME VARCHAR2(30) NOT NULL 表のオブジェクト名
COLUMN_ID NUMBER NOT NULL 列ID
COLUMN_INTID NUMBER NOT NULL 内部列ID(抽象データ型用)
COLUMN_NAME VARCHAR2(30) NOT NULL 列名
COLUMN_TYPE VARCHAR2(9) NOT NULL 列データ型
TOTAL_ROWS NUMBER NOT NULL この表の行数
NULL_ROWS NUMBER NOT NULL NULLデータ・セルの数
CONV_ROWS NUMBER NOT NULL 変換する必要があるデータ・セルの数
ERROR_ROWS NUMBER NOT NULL 例外があるデータ・セルの数
EXCEED_SIZE_ROWS NUMBER NOT NULL 切捨てがあるデータ・セルの数
DATA_LOSS_ROWS NUMBER - 不可逆変換を行ったデータ・セルの数
MAX_POST_CONVERT_SIZE NUMBER - 変換後の最大データ・サイズ

CSMV$CONSTRAINTS

このビューには、スキャンされた制約の統計情報が含まれます。

列名 データ型 NULL 説明
OWNER_ID NUMBER NOT NULL 制約所有者のユーザーID
OWNER_NAME VARCHAR2(30) NOT NULL 制約所有者のユーザー名
CONSTRAINT_ID NUMBER NOT NULL 制約のオブジェクトID
CONSTRAINT_NAME VARCHAR2(30) NOT NULL 制約のオブジェクト名
CONSTRAINT_TYPE# NUMBER NOT NULL 制約タイプ番号
CONSTRAINT_TYPE VARCHAR2(11) NOT NULL 制約タイプ名
TABLE_ID NUMBER NOT NULL 表のオブジェクトID
TABLE_NAME VARCHAR2(30) NOT NULL 表のオブジェクト名
CONSTRAINT_RID NUMBER NOT NULL ルート制約ID
CONSTRAINT_LEVEL NUMBER NOT NULL 制約レベル

CSMV$ERRORS

このビューには、セル・データおよびオブジェクト定義の個別例外情報が含まれます。

列名 データ型 NULL 説明
OWNER_ID NUMBER NOT NULL 表所有者のユーザーID
OWNER_NAME VARCHAR2(30) NOT NULL 表所有者のユーザー名
TABLE_ID NUMBER NOT NULL 表のオブジェクトID
TABLE_NAME VARCHAR2(30) - 表のオブジェクト名
COLUMN_ID NUMBER - 列ID
COLUMN_INTID NUMBER - 内部列ID(抽象データ型用)
COLUMN_NAME VARCHAR2(30) - 列名
DATA_ROWID VARCHAR2(1000) - データの行ID
COLUMN_TYPE VARCHAR2(9) - オブジェクト型の列データ型
ERROR_TYPE VARCHAR2(11) - 発生したエラーのタイプ

CSMV$INDEXES

このビューには、索引に関する個々の例外情報が含まれます。

列名 データ型 NULL 説明
INDEX_OWNER_ID NUMBER NOT NULL 索引所有者のユーザーID
INDEX_OWNER_NAME VARCHAR2(30) NOT NULL 索引所有者のユーザー名
INDEX_ID NUMBER NOT NULL 索引のオブジェクトID
INDEX_NAME VARCHAR2(30) - 索引のオブジェクト名
INDEX_STATUS# NUMBER - 索引のステータス番号
INDEX_STATUS VARCHAR2(8) - 索引のステータス
TABLE_OWNER_ID NUMBER - 表所有者のユーザーID
TABLE_OWNER_NAME VARCHAR2(30) - 表所有者のユーザー名
TABLE_ID NUMBER - 表のオブジェクトID
TABLE_NAME VARCHAR2(30) - 表のオブジェクト名
COLUMN_ID NUMBER - 列ID
COLUMN_INTID NUMBER - 内部列ID(抽象データ型用)
COLUMN_NAME VARCHAR2(30) - 列名

CSMV$TABLES

このビューには、スキャンするデータベース表に関する情報が含まれます。スキャンするすべての表がこのビューに列挙されます。

列名 データ型 NULL 説明
OWNER_ID NUMBER NOT NULL 表所有者のユーザーID
OWNER_NAME VARCHAR2(30) NOT NULL 表所有者のユーザー名
TABLE_ID NUMBER - 表のオブジェクトID
TABLE_NAME VARCHAR2(30) - 表のオブジェクト名
MIN_ROWID VARCHAR2(18) - 表の分割範囲の最小行ID
MAX_ROWID VARCHAR2(18) - 表の分割範囲の最大行ID
BLOCKS NUMBER - 分割範囲内のブロック数
SCAN_COLUMNS NUMBER - スキャンされる列数
SCAN_ROWS NUMBER - スキャンされる行数
SCAN_START VARCHAR2(8) - 表スキャンの開始時間
SCAN_END VARCHAR2(8) - 表スキャンの終了時間

Database Character Set Scannerエラー・メッセージ

Database Character Set Scannerには、次のエラー・メッセージがあります。

CSS-00100: failed to allocate memory size of number (%d)
原因: サイズ0または最大サイズよりも大きい値でメモリーを割り当てようとしました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00101 failed to release memory
原因: 無効なポインタでメモリーを解放しようとしました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00102 failed to release memory, null pointer given
原因: NULLポインタでメモリーを解放しようとしました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00105 failed to parse BOUNDARIES parameter
原因: BOUNDARIESパラメータが無効な書式で指定されました。
処置: 正しい構文はマニュアルを参照してください。
CSS-00106 failed to parse SPLIT parameter
原因: SPLITパラメータが無効な書式で指定されました。
処置: 正しい構文はマニュアルを参照してください。
CSS-00107 Character set migration utility schem not installed
原因: CSM$VERSION表がデータベースにありません。
処置: データベースでCSMINST.SQLを実行してください。
CSS-00108 Character set migration utility schema not compatible
原因: 非互換のCSM$*表がデータベースにあります。
処置: データベースでCSMINST.SQLを実行してください。
CSS-00110 failed to parse USERID
原因: USERIDパラメータが無効な書式で指定されました。
処置: 正しい構文はマニュアルを参照してください。
CSS-00111 failed to get RDBMS version
原因: データベースのバージョン値の取得に失敗しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00112 database version not supported
原因: データベースのバージョンがリリース8.0.5.0.0より前です。
処置: データベースをリリース8.0.5.0.0以上にアップグレードします。その後に再試行してください。
CSS-00113: user username (%s) is not allowed to access data dictionary
原因: 指定したユーザーは、データ・ディクショナリにアクセスできません。
処置: O7_DICTIONARY_ACCESSIBILITYパラメータをTRUEに設定するか、SYSユーザーを使用してください。
CSS-00114: failed to get database character set name characterset_name (%s)
原因: NLS_DATABASE_PARAMETERSビューからのNLS_NCHAR_CHARACTERSETまたはNLS_CHARACTERSETパラメータの値の取得に失敗しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00115: invalid character set name characterset_name (%s)
原因: 指定したキャラクタ・セットは、有効なOracleキャラクタ・セットではありません。
処置: 有効なOracleキャラクタ・セット名を指定して再試行してください。
CSS-00116: failed to reset NLS_LANG or NLS_NCHAR parameter
原因: NLS_LANGキャラクタ・セットをデータベース・キャラクタ・セットと一致させることができませんでした。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00117 failed to clear previous scan log
原因: CSM$*表からの全行削除に失敗しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00118 failed to save command parameters
原因: CSM$PARAMETERS表への複数行の挿入に失敗しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00119 failed to save scan start time
原因: CSM$PARAMETERS表への行の挿入に失敗しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00120 failed to enumerate tables to scan
原因: スキャンする表のCSM$TABLESへの列挙に失敗しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00121 failed to save scan complete time
原因: CSM$PARAMETERS表への行の挿入に失敗しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00122 failed to create scan report
原因: データベース・スキャン・レポートの作成に失敗しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00123: failed to check if user username (%s) exists
原因: 指定したユーザーがデータベースに存在するかどうかをチェックするSELECT文でエラーが発生しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00124: user username (%s) not found
原因: 指定したユーザーはデータベースに存在していません。
処置: ユーザー名をチェックしてください。
CSS-00125: failed to check if table username.tablename (%s.%s) not found
原因: 指定した表がデータベースに存在するかどうかをチェックするSELECT文でエラーが発生しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00126: table username.tablename (%s.%s) not found
原因: 指定した表はデータベースに存在していません。
処置: ユーザー名と表名が正しいかどうかチェックしてください。
CSS-00127: user username (%s) does not have DBA privilege
原因: 指定したユーザーには、データベースのスキャンに必要なDBA権限がありません。
処置: DBA権限が付与されているユーザーを選択してください。
CSS-00128 failed to get server version string
原因: データベースのバージョン文字列の取得に失敗しました。
処置: なし。
CSS-00129: query cannot be used in ALL or USER scan mode
原因: 問合せパラメータは、全データベース・スキャン・モードおよびユーザー・スキャン・モードでは使用できません。
処置: 問合せパラメータを削除してください。
CSS-00130 failed to initialize semaphore
原因: 不明です。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00131: failed to spawn scan process number (%d)
原因: 不明です。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00132 failed to destroy semaphore
原因: 不明です。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00133 failed to wait semaphore
原因: 不明です。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00134 failed to post semaphore
原因: 不明です。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00140: failed to scan table (tid=number (%d), oid=number (%d))
原因: この特定の表でデータ・スキャンに失敗しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00141 failed to save table scan start time
原因: CSM$TABLES表の行の更新に失敗しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00142 failed to get table information
原因: 表のユーザーIDおよびオブジェクトIDからの様々な情報の取得に失敗しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00143 failed to get column attributes
原因: 表の列属性の取得に失敗しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00144: failed to scan table username.tablename (%s.%s)
原因: この特定の表でデータ・スキャンに失敗しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00145 failed to save scan result for columns
原因: CSM$COLUMNS表への複数行の挿入に失敗しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00146 failed to save scan result for table
原因: CSM$TABLES表の行の更新に失敗しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00147 unexpected data truncation
原因: フェッチ・バッファ用に列バイト・サイズと正確に同じサイズのメモリーが割り当てられましたが、予期しないデータ切捨てが行われました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00150 failed to enumerate table
原因: 指定した表情報の取得に失敗しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00151 failed to enumerate user tables
原因: 指定したユーザーに属する表すべてを列挙できませんでした。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00152 failed to enumerate all tables
原因: データベース内の表すべてを列挙できませんでした。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00153 failed to enumerate character type columns
原因: スキャンする表のCHARVARCHAR2LONGおよびCLOB列すべてを列挙できませんでした。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00154 failed to create list of tables to scan
原因: スキャンする表のCSM$TABLESへの列挙に失敗しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00155 failed to split tables for scan
原因: 指定した表の分割に失敗しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00156 failed to get total number of tables to scan
原因: スキャンする表の数を取得するSELECT文でエラーが発生しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00157 failed to retrieve list of tables to scan
原因: 表IDすべてをスキャナ・メモリーに読み取ることができませんでした。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00158 failed to retrieve index defined on column
原因: 列に定義された索引を取得するSELECT文でエラーが発生しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00160 failed to open summary report file
原因: FILE OPEN関数でエラーが戻されました。
処置: ディスクに対する作成または書込み権限があるかどうかをチェックし、LOGパラメータに指定したファイル名が有効であるかどうかをチェックしてください。
CSS-00161 failed to report scan elapsed time
原因: 不明です。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00162 failed to report database size information
原因: 不明です。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00163 failed to report scan parameters
原因: 不明です。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00164 failed to report scan summary
原因: 不明です。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00165 failed to report conversion summary
原因: 不明です。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00166: failed to report conversion per table and column
原因: 不明です。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00167 failed to open exception report file
原因: FILE OPEN関数でエラーが戻されました。
処置: ディスクに対する作成または書込み権限があるかどうかをチェックし、LOGパラメータに指定したファイル名が有効であるかどうかをチェックしてください。
CSS-00168 failed to report individual exceptions
原因: 不明です。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00170: failed to retrieve size of tablespace tablespacename (%s)
原因: 不明です。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00171: failed to retrieve free size of tablespace tablespacename (%s)
原因: 不明です。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00172: failed to retrieve total size of tablespace tablespacename (%s)
原因: 不明です。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00173 failed to retrieve used size of the database
原因: 不明です。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00174: scanner capture data not available
原因: 不明です。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00175: TOCHAR or TONCHAR parameter not specified
原因: TOCHARまたはTONCHARパラメータが指定されていません。
処置: TOCHARまたはTONCHARパラメータを指定します。
CSS-00176 failed to enumerate user tables in bitmapped tablespace
原因: ビットマップ表領域内の表の例挙に失敗しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00177: failed to retrive max LOB size
原因: 不明です。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00178: failed to check if column username.tablename.columnname(%s.%s.%s) exists
原因: 指定した列がデータベースに存在するかどうかをチェックするSELECT文でエラーが発生しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00179: column %s.%s.%s not found
原因: 指定した列はデータベースに存在していません。
処置: ユーザー名、表名および列名が正しいかどうかチェックしてください。
CSS-00180: failed to check the index on the csm$columns table
原因: 索引IDX_CSM$COLUMNSが存在するかどうかをチェックするSELECT文でエラーが発生しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。
CSS-00181: failed to drop index on the csm$columns table
原因: 索引 IDX_CSM$COLUMNSをドロップするSQL文でエラーが発生しました。
処置: これは内部エラーです。Oracleサポート・サービスに連絡してください。