Unmount and Mount DBFS

If the permissions on mount directories /u01/soacs/dbfs and /u01/soacs/dbfs_directio are corrupted (shows ???? in place of permissions), execute the following commands:

  1. Set up your environment by running the following export commands:
    export ORACLE_HOME=/u01/app/oracle/suite/dbclient
    export LD_LIBRARY_PATH=/u01/app/oracle/suite/dbclient/lib
    export TNS_ADMIN=/u01/data/domains/SOA_domain/dbfs

    where SOA_domain is your domain name.

  2. Unmount dbfs directories:
    fusermount -u /u01/soacs/dbfs
    fusermount -u /u01/soacs/dbfs_directio
  3. Mount dbfs directories and check trace log files to ensure there are no errors:
    /u01/app/oracle/suite/dbclient/bin/dbfs_client -o wallet /@ORCL -o direct_io /u01/soacs/dbfs_directio -otrace_file=/tmp/db1.txt
    /u01/app/oracle/suite/dbclient/bin/dbfs_client -o wallet /@ORCL /u01/soacs/dbfs -otrace_file=/tmp/db2.txt

    These commands create the trace files in the /tmp directory.

  4. Verify the status of the mount directory again:
    ls –ltr /u01/soamp

    The output should look similar to:

    drwxr-xr-x. 3 root   root      0 May 15 00:06 dbfs
    drwxr-xr-x. 3 root   root      0 May 15 00:06 dbfs_directio

Troubleshoot DBFS Mount Issues

If dbfs is still not mounted, perform the following checks:

  • Check for error messages in the /tmp trace log files from the mount command.

  • SSH to the database VM, connect to the DBFS schema as the sys user and make sure the dbfs user is not locked. If locked, then unlock the dbfs user:

    sqlplus / as sysdba
    alter session set container=pdb1;
    SELECT username, account_status FROM dba_users; 
  • If the WebLogic Server VM is not able to connect to the database, SSH to the Adminstration Server VM or Managed Server node, then run the following ping command to test database connectivity:

    java -classpath /u01/app/oracle/middleware/wlserver/server/lib/weblogic.jar utils.dbping ORACLE_THIN username password HOST:PORT:DBNAME
  • Run the following command to ensure there are no previous dbfs processes running:

    pe -ef|grep dbfs

    If there are any dbfs processes running, then kill the processes:

    kill -9 DBFSpid

After troubleshooting the mounting issues, perform the following steps:

  1. Repeat the mount commands.
  2. Change to the oracle user:

    sudo su - oracle

  3. Enter the following command to confirm if dbfs is mounted correctly:

    df -h

    If correctly mounted, the output should look similar to:

    /dev/mapper/vg_domain-lv_domain           50G  736M   46G   2% /u01/data/domains
    /dev/sdc2                                 22G  324M   21G   2% /u01/app/oracle/tools
    /dev/mapper/vg_middleware-lv_middleware   24G  4.5G   18G  20% /u01/app/oracle/middleware
    /dev/mapper/vg_jdk-lv_jdk                3.9G  409M  3.3G  11% /u01/jdk
    /dev/mapper/vg_suite-lv_suite             50G   53M   47G   1% /u01/app/oracle/suite
    dbfs-@ORCL:/                             957M  120K  956M   1% /u01/soacs/dbfs
    dbfs-@ORCL:/                             957M  120K  956M   1% /u01/soacs/dbfs_directio
  4. If mounts are still failing and you see the following error in the trace file output:

    Unable to resolve ORA-12154: TNS:could not resolve the connect identifier specified

    A likely cause is there is no entry on tnsnames for ORCL in your DBFS client installation. To fix this, either use the correct name in -o wallet /@NEWSID from tnsnames.ora or make an entry for ORCL in tnsnames.ora of the DBFS client installation.