BFILEs are data objects stored in operating system files, outside the database tablespaces. Data stored in a table column of type BFILE is physically located in an operating system file, not in the database. The BFILE column stores a reference to the operating system file.

BFILEs are read-only data types. The database allows read-only byte stream access to data stored in BFILEs. You cannot write to or update a BFILE from within your application.

You create BFILEs to hold the following types of data:
  • Binary data that does not change while your application is running, such as graphics.
  • Data that is loaded into other large object types, such as a BLOB or CLOB, where the data can be manipulated.
  • Data that is appropriate for byte-stream access, such as multimedia.

Any storage device accessed by your operating system can hold BFILE data, including hard disk drives, CD-ROMs, PhotoCDs, and DVDs. The database can access BFILEs provided the operating system supports stream-mode access to the operating system files.