blobFS – Imported an Oracle dump from a BLOB using a FUSE filesystem

Share Button

For those who have not been following, I reported previously that I had created a query-based filesystem with node.js, fuse4js, FUSE, and Oracle. This filesystem is mountable by any OS user and uses queries against Oracle tables as its source instead of disk. In this specific case, a table containing filenames and BLOBs was used as the source; the FUSE filesystem then presented the BLOB contents as a file to the OS. No actual files were written.

Curiosity led me to try a new test. What if I:

  1. Created a table and populated it
  2. Exported the table with ‘exp’
  3. Dropped the new table
  4. Loaded the exp dump file into my BLOB table
  5. Mounted the BLOB table as a filesystem
  6. Imported the table from the BLOB filesystem

I executed the test this morning, and it went incredibly smoothly. The exp dump file was easily stored as a BLOB, and ‘imp’ was able to read the file without any issue when it was translated to filesystem from the select query.

Set It Up

Table Creation

Exporting the Table

Load the Dumpfile Into BLOBTAB then Drop the Exported Table

Enter blobFS

Starting the Filesystem

Let’s Import!

The Moment of Truth

Conclusion

Even though this test is not much different from my last one in that I loaded files into BLOBs then mounted the FUSE filesystem to manifest them as files to the OS, but it’s awesome that I was able to use it for an Oracle-specific tool. Very meta, as they say.

I wonder if I can run an Oracle instance purely from BLOB-stored datafiles? Hmmm…

Update

Kevin Closson provided some links from his own blog which detail DBFS, Oracle’s implementation of FUSE (Note, I’d like to claim I did it before Oracle). Thanks for the great information, Kevin.

Also adding a test done by Ronald Rood, a full RW database created inside DBFS. Now I definitely want to get this working in my homebrew version.

Share Button

One Response to “blobFS – Imported an Oracle dump from a BLOB using a FUSE filesystem”

  1. kevinclosson says:

    Hi Steve,

    I have create a database in DBFS and inside that I set up DBFS and created a database. If you set filesystemio_options=none there is a good chance you can create a tablespace in /var/www/blobFS/mnt

Leave a Reply