Category: SQL*Net, Protocol Server

May 27
September 13

No, no this isn’t another DBFS post but a more simple and direct way of achieving the same

😉

Just had a funny discussion with Roel Hartman regarding how to trick the Tomcat APEX 4 setup in believing that the virtual XFILES directory in the database was actually available on disk of the local server. This is probably not the way to solve this but should be realized via Tomcat / APEX 4. The OTN Development virtualbox environment with APEX 4 gets his “/i/” images via Tomcat from the directory.

[oracle@localhost i]$ pwd
/home/oracle/apache-tomcat-6.0.20/webapps/ROOT/i

The easiest solution would have been to copy the XFILES images and files in a directory called XFILES under the ROOT directory.

[oracle@localhost i]$ pwd
/home/oracle/apache-tomcat-6.0.20/webapps/ROOT/XFILES

Investigating the APEX 3 and 4 OTN Development virtualbox environments, I discovered the following way to solve it as well, which in this case was implemented by Mark Drake.

What you could do in this situation, while keeping it “as is”, so XFILES files and images in the database are still in the XDB Repository, is to “trick” the Tomcat server so the virtual directory could be accessed via WebDAV as if it were a file system mount. There is an open source project out there called “davfs”, which is nowadays a GNU Project, and can be found here for download (“davfs2”) which could achieve this for us.

As it is said there:

February 27

This story is long overdue and no its NOT about the Oracle Database 11g Database File System (DBFS). Its about an “undocumented” NFS functionality that, maybe someday, will be serviced by the XMLDB XDB Protocol Adapter. This post is “long overdue” because the actual attempts to try to figure it out were done during the bank holidays between X-mas and new year 2009.

So what is it all about. I once discovered in the Oracle 11gR1 documentation a small entry in the xmlconfig.xsd XML Schema regarding NFS elements that look like that they are or will be used for enabling NFS functionality based on the Oracle XMLDB Protocol Server architecture. In those days, when Oracle 11gR1 was just of the shelve, I made a few attempts, based on the xdbconfig.xsd XML Schema to adjust the corresponding xdbconfig.xml file that controls the XDB Protocol Server functionality, to see what would happen. At that time I only was able to get this far (see the picture) and I promised myself that I should look deeper into it trying to figure out if I could get it working and/or what the concepts were that made it tick in the XMLDB architecture but somewhere down the line I just didn’t come to it and it got “forgotten” by me due to my daily DBA workload.

NFS Protocol Server functionality enabled manually

Click picture to enlarge