

Troubleshooting Oracle DBFS mount issues
source link: https://sve.to/2014/03/13/troubleshooting-oracle-dbfs-mount-issues/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Troubleshooting Oracle DBFS mount issues
On Exadata the local drives on the compute nodes are not big enough to allow larger exports and often dbfs is configured. In my case I had a 1.2 TB dbfs file system mounted under /dbfs_direct/.
While I was doing some exports yesterday I found that my dbfs wasn't mounted, running quick crsctl command to bring it online failed:
[oracle@exadb01 ~]$ crsctl start resource dbfs_mount -n exadb01
CRS-2672: Attempting to start 'dbfs_mount' on 'exadb01'
CRS-2674: Start of 'dbfs_mount' on 'exadb01' failed
CRS-2679: Attempting to clean 'dbfs_mount' on 'exadb01'
CRS-2681: Clean of 'dbfs_mount' on 'exadb01' succeeded
CRS-4000: Command Start failed, or completed with errors.
It doesn't give you any error messages or reason why it's failing, neither the other database and grid infrastructure logs does. The only useful solution is to enable tracing for dbfs client and see what's happening. To enable tracing edit the mount script and insert the following MOUNT_OPTIONS:
vi $GI_HOME/crs/script/mount-dbfs.sh
MOUNT_OPTIONS=trace_level=1,trace_file=/tmp/dbfs_client_trace.$$.log,trace_size=100
Now start the resource one more time to get the log file generated. You can get this working with the client as well from the command line:
[oracle@exadb01 ~]$ dbfs_client dbfs_user@ -o allow_other,direct_io,trace_level=1,trace_file=/tmp/dbfs_client_trace.$$.log /dbfs_direct
Password:
Fail to connect to database server.
After checking the log file it's clear now why dbfs was failing to mount, the dbfs database user has expired:
tail /tmp/dbfs_client_trace.100641.log.0
[43b6c940 03/12/14 11:15:01.577723 LcdfDBPool.cpp:189 ] ERROR: Failed to create session pool ret:-1
[43b6c940 03/12/14 11:15:01.577753 LcdfDBPool.cpp:399 ] ERROR: ERROR 28001 - ORA-28001: the password has expired
[43b6c940 03/12/14 11:15:01.577766 LcdfDBPool.cpp:251 ] DEBUG: Clean up OCI session pool...
[43b6c940 03/12/14 11:15:01.577805 LcdfDBPool.cpp:399 ] ERROR: ERROR 24416 - ORA-24416: Invalid session Poolname was specified.
[43b6c940 03/12/14 11:15:01.577844 LcdfDBPool.cpp:444 ] CRIT : Fail to set up database connection.
The account had a default profile which had the default PASSWORD_LIFE_TIME of 180 days:
[plain]SQL> select username, account_status, expiry_date, profile from dba_users where username='DBFS_USER';
USERNAME ACCOUNT_STATUS EXPIRY_DATE PROFILE
-------- -------------- ---------------- -------
DBFS_USER EXPIRED 03-03-14 14:56:12 DEFAULT
Elapsed: 00:00:00.02
SQL> select password from sys.user$ where name= 'DBFS_USER';
PASSWORD
------------------------------
A4BC1A17F4AAA278
Elapsed: 00:00:00.00
SQL> alter user DBFS_USER identified by values 'A4BC1A17F4AAA278';
User altered.
Elapsed: 00:00:00.03
SQL> select username, account_status, expiry_date, profile from dba_users where username='DBFS_USER';
USERNAME ACCOUNT_STATUS EXPIRY_DATE PROFILE
-------- -------------- ---------------- -------
DBFS_USER OPEN 09-09-14 11:09:43 DEFAULT
SQL> select * from dba_profiles where resource_name = 'PASSWORD_LIFE_TIME';
PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------------------------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD 180
After resetting database user password dbfs successfully mounted!
If you are using dedicated database for dbfs make sure you have set the password_life_time to unlimited to avoid similar issues.
Subscribe to Svetoslav Gyurov technical blog
Get the latest posts delivered right to your inbox
Recommend
-
11
Troubleshooting Azure Kubernetes Service tunnel component issues In Azure Kubernetes Service Microsoft manages the AKS control plane (Kubernetes API server, scheduler, etcd, etc.) for you. The AKS control plane interacts with the AKS...
-
10
Databricks 文件系统 (DBFS,Databricks File System) 是一个装载到 Azure Databricks 工作区的分布式文件系统,可以在 Azure Databricks 群集上使用。 一个存储对象是一个具有特定格式的文件,不同的格式具有不同的读取和写入的机制。...
-
9
Subba Rao Parvathaneni June 23, 2022 1 minut...
-
3
Kubernetes troubleshooting: 6 ways to find and fix issues Try these troubleshooting methods the next time something is behaving u...
-
6
Troubleshooting Common iisnode Issues 9 minute read | By Aldmar Joubert Azure pr...
-
7
This blog is going to help in troubleshooting Versioning and Transport issues, along with few Best -Practices and the steps required to collect the information useful for root cause analysis at SAP side. We can categorise the VNT issues int...
-
12
Elastic Commands for Troubleshooting Disk Issues Live Elasticsearch Online Training starting on March 2! See all classes
-
15
This post will cover troubleshooting various external ingress issues on Azure Container Apps. Overview Azure Container Apps handles ingress with Envoy as a pro...
-
11
This post will cover troubleshooting issues that may arise when using Bring Your Own Storage with App Service Linux for both “Blessed” images and Web Apps for Containers. This is for scenarios that render the application and Kudu container unavail...
-
12
This post will cover troubleshooting issues seen when setting up volume mounts on Azure Container Apps Overview Currently, with Container Apps, you can mount two (3) different types of volumes: Ephemer...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK