Saturday, October 22, 2011

DBC File

  • DBC stands for database connect descriptor file.
  • The .dbc file is used to define database parameters used to connect to database, it authenticate users against database in FND_USER table. 
  • It provides runtime database connection, authentication and authorization in Jdeveloper.
  • Default Location for the file is $FND_TOP/secure directory.
  • Profile option "Applications Database ID" contains name of the DBC file.
  • Oracle Apps Login also uses DBC file.
Alternate way to find correct DBC file used in Apps:
  1. Go on About this Page.
  2. Navigate to "Java System Properties" tab.
  3. Check the value of System Property "DBCFILE".
Following image shows Jdev properties where we need to specify the correct DBC file in order to run a page from it:

Important entries in DBC file are:

GUEST_USER_PWD - Guest Userand Its Password
APPL_SERVER_ID - Server ID in FND_NODES table against respective Server
APPS_JDBC_URL - Database connection details
DB_HOST - DB hostname
GWYUID - Gateway User ID and password - database user APPLSYSPUB and password
FNDNAM - Central oracle application schema name, usually its APPS. echo $FNDNAM for the value.
TWO_TASK - It is set to the location where ORACLE server can be found and will normally be the name of the database instance.
By Setting TWO_TASK instead of:
$ sqlplus scott/tiger@some_db

Following will also work:
$ setenv TWO_TASK some_db
$ sqlplus scott/tiger

How DBC files is used  in Login?
  • Self-service login uses Guest password from DBC file to verify the user password.
  • User Login will not work if this password is incorrect.
  • Guest user is used to obtain apps information.
  • Applsyspub schema is responsible for password checking, default password is pub.
  • Oracle applications first connects to this public schema, APPLSYSPUB, public oracle username and password for authentication.
  • This schema has sufficient privileges to perform the authentication of an Applications User (FND user).
  • Once authenticated you get connected to APPS.
DBC file generation, Securing the Apps are DBA responsibility area.
More on Apps Login process security will soon be covered in coming blog.

DBC is so closely related to Security that going into more details on DBC file requires understanding of Encryption/Decryption of passwords, APPS, APPLSYS, APPLSYSPUB, FND_USER password storage, APPS password storage etc.

1 comment: