.BAD

BAD ファイル

Oracle SQL*Loader Bad File
質問する
クイック回答

.badファイルは、ほとんどの場合 Oracle SQL*Loader Badファイルです。これは、Oracleデータベースへの一括データインポート中に拒否された行を含むプレーンテキストファイルです。テキストエディタで開き、失敗した行を調査し、修正してから SQL*Loader で再ロードしてください。Exchangeのメールキューフォルダに .badファイルがある場合は、Oracleファイルではなく、配信不能な電子メールメッセージです。

開発元: Oracle Corporation カテゴリ: テキストファイル MIME: text/plain
対応OS Windows macOS Linux
関連: .DOC · .ODT · .DOCX · .GDOC

このページの内容

19k+ 個の拡張子を索引済み
最終確認日:Jul 12, 2026

ファイルの種類がわかりませんか?

ファイルを識別ツールにドロップしてください。最初の数バイトを読み取って形式を特定します。

ファイルを識別する

BAD ファイル形式とは?

.badファイルは Oracle SQL*Loader Badファイルです。これは、Oracleデータベースへの一括データロード中に SQL*Loader が行を拒否したときに書き出されるプレーンテキストの出力ファイルです。

このファイルには、ロードできなかったすべての行の逐次コピーが、元の入力(CSV、固定長、またはストリーム)と同じ形式で含まれています。内容がソースを正確に反映しているため、修正した行を再フォーマットすることなく、同じ .ctl コントロールファイルを使用して sqlldr に直接戻すことができます。これにより、.badファイルは単なるエラーログではなく、「修理して再試行」するための成果物となります。

レコードが .badファイルに送られる理由は主に3つあります:

  • 行が Oracle の制約(一意キーの重複、NOT NULL制約違反など)に違反している。
  • SQL*Loader が、不正な形式の区切り行のフィールド境界を解析できない。
  • フィールド値をターゲット列のデータ型に変換できない。

.badファイルは .dsc(廃棄)ファイルとは異なります。廃棄ファイルは、コントロールファイルの WHEN 句によって意図的にスキップされた行であり、ロードは試行されませんでした。Badレコードは、ロードを試行して失敗したものです。

すべての入力行が正常にロードされた場合、.badファイルは作成されません。デフォルトの名前は入力データファイルから派生します(例:data.csv → data.bad)。ただし、コントロールファイルの BADFILE= またはコマンドラインの BAD= で上書きされている場合は除きます。

SQL*Loader は、バージョン6(1988年)から Oracle Database の一部であり、現在の Oracle Database 23ai リリースでもコアユーティリティとして残っています。

セキュリティと安全性

リスク: LOW

プレーンテキストデータファイルであり、実行は不可能です。失敗したインポートからの機密性の高いビジネスデータ(個人情報、財務記録)が含まれている可能性があるため、適切に取り扱い、許可された DBA および ETL オペレータにファイルシステムへのアクセスを制限してください。

形式の詳細

概要
正式名称Oracle SQL*Loader Bad File別名 SQL*Loader reject file, bad records file
開発元Oracle Corporation登場時期 Oracle 7 era, circa 1992 (SQL*Loader has existed since Oracle 6, 1988)
MIME タイプtext/plain
タイプテキストログ/データファイル(拒否レコードのミラー)
この拡張子は以下でも使用されています…
  • Microsoft Exchange Server 不正メッセージファイル - Exchange SMTP トランスポートは、配信不能または不正な形式のメッセージを Exchange キューディレクトリに .BADファイルとして保存します。
  • 一般的な「不正データ」マーカー(各種アプリケーション) - 一部の ETL ツールやレガシープログラムは、エラー/拒否出力ファイルの汎用拡張子として .bad を使用します。

BAD ファイルを開くプログラム

Windows3 apps
Microsoft Excel 有料 BadファイルがCSV形式の場合、「データ」→「テキストまたはCSVから」経由で開き、スプレッドシートで行を確認して修正できます。
NotePad++ text editor オープンソース 拒否された行を調査するために .badファイルを開きます。エンコーディングをソースデータ(UTF-8、ANSIなど)に合わせて設定してください。
Oracle Database (SQL*Loader) 有料 行を修正した後、修正した .badファイルを DATA= パラメータとして指定して sqlldr を再実行し、修正されたレコードを再ロードします。
macOS1 app
Oracle Database (SQL*Loader) 有料 行を修正した後、修正した .badファイルを DATA= パラメータとして指定して sqlldr を再実行し、修正されたレコードを再ロードします。
Linux2 apps
Oracle Database (SQL*Loader) 有料 行を修正した後、修正した .badファイルを DATA= パラメータとして指定して sqlldr を再実行し、修正されたレコードを再ロードします。
vim / nano (text editors) オープンソース 再ロードする前に、ターミナルで拒否された行を直接調査および編集します。

技術的詳細

詳細仕様
フォーマットタイププレーンテキストの拒否行ミラー(SQL*Loader 入力データファイルと同じ構造)
エンコーディング入力データファイルと一致 - コントロールファイルで構成された ASCII、UTF-8、または Oracle NLS 文字セット
内容SQL*Loader の実行中に拒否されたすべての行の、元の入力形式での逐次コピー
拒否の理由Oracle 制約違反(PK/UK/NOT NULL)、解析不能なフィールド区切り文字、データ型変換の失敗
LOBデータの処理LOBFILE または SDF ソースからの LOB コンテンツは、その行が拒否されたときに .badファイルには書き込まれません
デフォルトのファイル名<input_datafile_basename>.bad (例: data.csv → data.bad)
ファイル名の上書き.ctl コントロールファイルの BADFILE=、または sqlldr コマンドラインの BAD=
ファイルの作成少なくとも1行が拒否された場合にのみ作成されます。完全に成功したロードでは作成されません
.dscとの区別.dsc(廃棄)は WHEN 句によってスキップされた行(意図的なスキップでありエラーではない)を保持し、.bad は挿入に失敗した行を保持します
再利用ワークフロー修正された .badファイルは、再フォーマットなしで同じ .ctl コントロールファイルを使用して直接再ロード可能
プラットフォームサポートすべての Oracle Database プラットフォーム:Linux、Unix、Windows、Solaris、AIX
リリース日Oracle 7 era, circa 1992 (SQL*Loader has existed since Oracle 6, 1988)
最新バージョンN/A - format is defined by the input data format; no versioning
仕様書docs.oracle.com

BAD の変換

コミュニティ Q&A

ユーザーからの質問
質問する
BAD ファイルを扱うユーザーからヘルプを得られます。OSやソフトウェアのバージョンなど、具体的に記載してください。
アカウント不要 ・ 通常1日以内に回答されます

まだ質問はありません。BAD ファイルについて最初の質問をしてみましょう。

よくある質問

Oracleの .badファイルとは何ですか?
Oracle SQL*Loader Badファイルです。一括データインポート中に拒否された行のプレーンテキストコピーです。行は入力データと同じ形式で書き込まれるため、修正して再ロードできます。拒否された各行の具体的なエラーメッセージについては、付随する .logファイルを確認してください。
なぜ行が拒否されたのかを知るにはどうすればよいですか?
.badファイルには生データのみが含まれています。対応する SQL*Loader の .logファイル(同じベース名)に、各拒否の理由(例:「ORA-12899: 列に指定した値が大きすぎます」、「一意制約に反しています」)が記録されています。
Badファイルを再ロードするにはどうすればよいですか?
.badファイル内の行を修正し、同じコントロールファイルを使用して、.badファイルを DATA= 入力として指定して SQL*Loader を再度実行します:sqlldr userid=user/pass control=load.ctl data=load.bad
.badファイルと .dsc(廃棄)ファイルの違いは何ですか?
.badファイルには、挿入中の実際のエラーが原因で拒否された行が含まれます。.dsc(廃棄)ファイルには、コントロールファイルの WHEN 句によって意図的にフィルタリングされた行が含まれます。これらはエラーではなく、ロード基準に一致しなかっただけです。
Exchangeのメールキューフォルダに .badファイルを見つけましたが、これは何ですか?
それらは Oracleファイルではなく、配信不能な電子メールメッセージファイルです。Exchange SMTP トランスポートは、不正な形式または永続的に配信不能なメッセージをキューディレクトリに .badファイルとして保存します。テキストエディタで開き、生のメールヘッダーと本文を確認してください。

参考文献

1Oracle SQL*Loader - Specifying the Bad Filedocs.oracle.com
2Oracle 12.2 SQL*Loader Command-Line Referencedocs.oracle.com

さらに探索

データベース全体から

今週のトップ拡張子

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.DATProgram Data File (generic)
5.EXEWindows Executable (Portable Executable)
6.BINCD/DVD Disc Image (BIN/CUE)
7.NOMEDIAAndroid No-Media Marker File
8.MDMarkdown Document
9.TMPTemporary File
10.RPMSGRestricted Permission Message

関連する拡張子

.DOCMicrosoft Word 97-2003 Document
.ODTOpenDocument Text
.DOCXMicrosoft Word Open XML Document
.GDOCGoogle Docs Shortcut (Link to a Google Docs document)
.LSTList File (generic plain-text list / listing)
.VNTvNote (mobile phone text note / memo)

無料ファイルツール

ブラウザで動作するファイル識別および画像変換ツール。すべてお使いのデバイス上で実行されます。

ツールボックスを開く

ファイル拡張子を A-Z で閲覧