1

I'm using Oracle Developer Days virtual box, which is a Linux distribution by Oracle for development environments (link). Not sure what distribution is it, but in case it was relevant:

[oracle@localhost ~]$ lsb_release -a
LSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: EnterpriseEnterpriseServer
Description:    Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)
Release:        5.5
Codename:       Carthage

Host is Mac OS, although that certainly shouldn't relevant for the problem.

I've setup a shared directory between the host and the vm, and as pointed out in this question I've added oracle Linux user to the group vboxsf (upvoted the answer of course). I'm using the shared directory in order to load files into the database using Oracle's external tables. I've got quite a few files to load repetitively and I really need to automate the process and to control it from the host.

The remaining problem is that Oracle, when loading the file, needs to write a new file in the same shared folder, basically including a log and a list of bad registers that could not be loaded. I also would need to check these log files from the host. The problem: Oracle can't write the file. It gives the following error:

ORA-29913: error al ejecutar la llamada de ODCIEXTTABLEOPEN
ORA-29400: error de cartucho de datos
error opening file /media/sf_sisifo01/restapi1/TWEET_LOAD_3205.log
29913. 00000 -  "error in executing %s callout"
*Cause:    The execution of the specified callout caused an error.
*Action:   Examine the error messages take appropriate action.

(Sorry about the mixture of languages, the vm is in English but I installed SQL Developer in Spanish. Anyway, it is quite understandable).

It cannot write to the shared directory, which is mounted at /media/sf_sisifo01. If I try to write to the same directory with oracle Linux user, there is no problem, I can do

touch /media/sf_sisifo01/restapi1/TWEET_LOAD_3205.log and if works. And my guess is that Oracle should be using that same user.

I've tried to give permissions to the shared directory both from the root user and the host (although I suspect the host cannot control that - anyway my knowledge of Linux admin is quite limited) - no success.

The permissions for the shared directory are the following:

[oracle@localhost ~]$ ls -l /media/sf_sisifo01 
total 200
drwxrwx--- 1 root vboxsf   476 Mar 30 09:08 restapi1

and I don't manage to give r and x permissions for all users. Thanks for reading and for your help!

lrnzcig
  • 111

1 Answers1

0

Sometimes in a fresh day you see things differently...

I've added all users to group vboxsf. Not that I find the solution particularly elegant (I'd accept a better answer if somebody posts it). But it works and I don't quite see the harm on it.

There were two users in the vm beside oracle, their ids are: davfs2and dm. No idea what's their use.

lrnzcig
  • 111