7.2.7 dd

Exascaleまたはローカル・ファイル・システムにあるファイルを変換およびコピーします。

構文

dd [ --if=name ] [ --of=name ] [ --bs=bytes ] [ --count=num ] 
   [ --ibs=bytes ] [ --obs=bytes ] [ --seek=num ] [ --skip=num ] 
   [ --imirror=num ] [ --omirror=num ] [ --mirror=num ] 
   [ --truncate ] [ --aio=naio ] [ --block ] 
   [ --status=status-level] [ --sparse ]
   [{ -w | --wallet } wallet-location ] 
   [{ -T | --trace } trace-level ] 
   [{ -j | --json } [ --compact ]]

コマンド・オプション

ddコマンドのオプションは、次のとおりです:

  • --if: 標準入力のかわりに使用する入力ファイルの名前を指定します。

  • --of: 標準出力のかわりに使用する出力ファイルの名前を指定します。

  • --bs: 各ブロックでの読取り/書込みバイト数を指定します。デフォルト値は、512です。

  • --count: 入力ブロック数を指定します。

  • --ibs: 各ブロックでの読取りバイト数を指定します。デフォルト値は、512です。

  • --obs: 各ブロックでの書込みバイト数を指定します。デフォルト値は、512です。

  • --seek: 出力の開始時にスキップするブロックの数を指定します。

  • --skip: 入力の開始時にスキップするブロックの数を指定します。

  • --imirror: 入力ミラー番号を指定します。1つ目のミラーは0、2つ目のミラーは1のようになります。デフォルト値は255で、これは'任意のミラーを読み取る'という意味です。

  • --omirror: 出力ミラー番号を指定します。1つ目のミラーは0、2つ目のミラーは1のようになります。デフォルト値は255で、これは'すべてのミラーを書き込む'という意味です。

  • --mirror: 入力および出力のミラー番号を指定します。1つ目のミラーは0、2つ目のミラーは1のようになります。デフォルト値は255で、これは'すべてのミラー'という意味です。

  • --truncate: 出力ファイルのサイズを変更します。

  • --aio: コマンドの処理に使用される非同期I/Oチャネルの数を指定します。非同期I/Oを使用すると、コマンドでI/O操作を開始し、I/Oの完了を待機(ブロック)せずに他のタスクの実行を続行できます。デフォルト値は4で、通常はパフォーマンスとリソースの使用率が最適なバランスになります。

  • --block: I/Oオフセットが関連するI/Oブロック・サイズで割り切れる必要があることを指定します。

  • --status: 長時間実行操作中に出力されるステータス情報のレベルを指定します。

    設定できる値は、次のとおりです:

    • progress: 進捗状況の統計を定期的に表示します。

    • none: 進捗状況の統計を抑制し、該当するエラー・メッセージのみを表示します。これはデフォルトの設定です。

  • --sparse: スパースを認識した方法で操作を実行します。空のソース・ファイル・ブロック(すべてがゼロのブロック)の読取りおよび書込みI/Oをスキップして、スパース出力ファイルが生成されます。

    このオプションは、ファイルをExascaleストレージにコピーする場合にのみ適用されます。

  • -w--wallet: オプションで、Exascaleウォレット・ディレクトリへのパスを指定します。

  • -T--trace: オプションで、トレースを有効にし、トレース・レベル(trace-level)を1 (最小トレース)、2 (中程度のトレース)または3 (最大トレース)に設定します。トレース・レベルが指定されていない場合は、デフォルトで最小トレースが有効になります。

    トレース・ファイルは、次のリストの最初のアクセス可能な場所に書き込まれます:

    1. $ADR_BASE環境変数が設定されている場合:

      $ADR_BASE/diag/EXC/xsh_<user-name>/<host-name>/trace/xsh_<date>.trc
    2. /var/log/oracle/diag/EXC/xsh_<user-name>/<host-name>/trace/xsh_<date>.trc
    3. /tmp/diag/EXC/xsh_<user-name>/<host-name>/trace/xsh_<date>.trc
  • -j--json: 出力をJSON形式で表示します。

  • --compact: JSON形式の出力を、空白および改行なしのコンパクト形式で表示します。

例7-16 Exascaleファイルの特定の部分のコピー

この例では、Exascaleファイルの特定のセクションをローカル・ファイルにコピーする方法を示します。このタイプのコマンドは、ファイル全体をコピーせずに、大きなファイルの一部を抽出または検査する場合に役立ちます。

このコマンドは、16KB (16,384バイト)のブロック・サイズを使用して、@my-data/dbs/t_cf1.fExascaleファイルの最初の160KB (10ブロック)をスキップし、次の32KB (2ブロック)を/tmp/16K.fileのローカル・ファイルにコピーします。

$ xsh dd --if=@my-data/dbs/t_cf1.f --of=/tmp/16K.file --bs=16384 --skip=10 --count=2