表モード・インポートでインポートすることを指定します。インポートの対象となる表名、パーティション名およびサブパーティション名をリストとして指定します。表レベル・インポートでは、パーティション表または非パーティション表全体をインポートできます。TABLES
パラメータでは、インポート対象は、表およびその関連オブジェクトに限定されます(表23-3を参照)。TABLES
パラメータでは、次の値を指定できます。
tablename
には、インポートされる表の名前を指定します。リストにパーティション表が含まれる場合、パーティション名を指定しないと、すべてのパーティションおよびサブパーティションがインポートされます。エクスポートされたすべての表をインポートするには、アスタリスク(*)のみを表名パラメータとして指定します。
tablename
は、任意の数の「%」パターン一致文字を含むことができます。各「%」パターン一致文字は、エクスポート・ファイルの表名の0個以上の文字と一致します。リスト中の固有の表名の指定されたすべてのパターンと一致する名前を持つすべての表が、選択されてインポートされます。すべてのパターン一致文字で構成され、パーティション名を含まないリスト中の表名によって、エクスポートされたすべての表がインポートされます。
partition_name
およびsubpartition_name
によって、パーティション表内で指定された1つ以上のパーティションまたはサブパーティションにインポートが制限されます。
構文の形式は、次のとおりです。
tablename:partition_name tablename:subpartition_name
tablename
:
partition_name
を使用する場合、指定された表はパーティション化されている必要があり、partition_name
はそのいずれかのパーティションまたはサブパーティションの名前である必要があります。指定された表がパーティション化されていない場合、partition_name
は無視されて表全体がインポートされます。
一度に指定できる表の数は、コマンドラインの制限によって決まります。
エクスポート・ファイルの処理中、エクスポート・ファイルの各表名は、パラメータで指定された順に、リスト中の各表名と比較されます。あいまいな処理が行われたり、処理時間が極端に長くならないように、固有の表名がリストの始めに表示され、一般的な表名(パターンを使用したもの)がリストの終わりに表示される必要があります。
エクスポート時には表名をスキーマ名(scott
.emp
など)で修飾できますが、インポート時にはできません。次に、間違って指定されたTABLES
パラメータの例を示します。
imp TABLES=(jones.accts, scott.emp, scott.dept)
これらの表をインポートするには、次のように指定します。
imp FROMUSER=jones TABLES=(accts) imp FROMUSER=scott TABLES=(emp,dept)
詳細は、「パターン一致を使用して様々な表をインポートする例」を参照してください。
注意:
UNIXなど一部のオペレーティング・システムで、カッコなどの特殊文字を使用する場合は、特殊文字として扱われないように、その文字の前にエスケープ文字を使用する必要があります。UNIXでは、次の例に示すように、エスケープ文字としてバックスラッシュ(\)を使用します。
TABLES=\(emp,dept\)
表名には次の制限があります。
デフォルトでは、表名は大文字でデータベースに格納されます。表名が大文字と小文字または小文字のみで表記され、大/小文字を区別する場合、名前を引用符で囲む必要があります。したがって、表名は、データベースに格納されている表名と完全に一致するように指定する必要があります。
ただし、オペレーティング・システムによっては、コマンドラインの引用符自体をエスケープする必要がある場合があります。次に、異なるインポート・モードで大/小文字の区別を保持する方法を示します。
コマンドライン・モード
tables='\"Emp\"'
対話方式モード
Table(T) to be exported: "Exp"
パラメータ・ファイル・モード
tables='"Emp"'
表名を引用符で囲まないかぎり、コマンドラインで指定する表名にシャープ(#)記号は使用できません。同様に、パラメータ・ファイルでは、表名が引用符で囲まれていないかぎり、表名にシャープ(#)記号を使用すると、インポート・ユーティリティではシャープ(#)記号より右側の文字がコメントとして解釈されます。
たとえば、パラメータ・ファイルに次のコマンドラインが記述されている場合、インポート・ユーティリティではemp#
の右側がすべてコメントとして解釈されるため、表dept
およびmydata
はインポートされません。
TABLES=(emp#, dept, mydata)
ただし、次の例では、emp#
が引用符で囲まれているため、3つの表はすべてインポートされます。
TABLES=("emp#", dept, mydata)
注意:
オペレーティング・システムによっては、一重引用符を使用する必要がある場合と、二重引用符を使用する必要がある場合があります。ご使用のオペレーティング・システム固有のドキュメントで確認してください。表のネーミング方法に制限があるオペレーティング・システムもあります。
たとえば、UNIXのCシェルではドル記号($)やシャープ(#)(またはその他の特殊文字)には特別な意味があります。これらの文字をシェルを介してインポートするには、エスケープ文字を使用する必要があります。