What is FND_OAM_CONTEXT_FILES used for? All about it



Last updated on September 28th, 2016 at 05:16 am

What is FND_OAM_CONTEXT_FILES used for?
FND_OAM_CONTEXT_FILESContext Files are also stored in the database.. The table that store the context files( historically) is “FND_OAM_CONTEXT_FILES”
Context files in this table is stored in a huge clob column named TEXT..
In TEXT column the context file is stored as is, that is in xml format
So by quering the table and using the proper xml functions , the values in context file can be read.
Desc fnd_oam_context_files
—————————————– ——– —————————-
NAME NOT NULL VARCHAR2(512)
VERSION NOT NULL VARCHAR2(30)
PATH NOT NULL VARCHAR2(1024)
LAST_SYNCHRONIZED NOT NULL DATE
TEXT NOT NULL CLOB
LAST_UPDATE_DATE NOT NULL DATE
LAST_UPDATED_BY NOT NULL NUMBER(15)
CREATION_DATE NOT NULL DATE
CREATED_BY NOT NULL NUMBER(15)
LAST_UPDATE_LOGIN NOT NULL NUMBER(15)
NODE_NAME NOT NULL VARCHAR2(30)
STATUS VARCHAR2(1)
SERIAL_NUMBER NUMBER
EDIT_COMMENTS VARCHAR2(2000)
CTX_TYPE NOT NULL VARCHAR2(1)

For example, to gather the web port information of the E-Busines Suite system, following query can be used;

SELECT extractvalue(xmltype(text),’//web_port’) FROM fnd_oam_context_files where status=’S’;

How autoconfig works on it

Each Contextfile version has a serial number given in the parameter:

When autoconfig is run, this serial number is written to the table:
FND_OAM_CONTEXT_FILES against the version of the Context file:

For example for a Context file containing the following information:


apps_contextfile

67

The table FND_OAM_CONTEXT_FILES should contain the following entry:

NAME                VERSION     LAST_SYNC     LAST_UPDATE     CREATION_DATE         SERIAL_NUMBER
—————-    ————   ————–       —————–      ———————         ———————
apps_contextfile   115.377         21-NOV-13       21-NOV-13            27-SEP-05                         67
.

However it is possible that the Apps Tier Contextfile serial number can become unsynchronised with the serial number information in the table.
If the serial number in the filesystem reads a lower value compared with that showing in the table for the same contextfile version, then each time Autoconfig is run, AutoConfig will see that the table is showing the higher value and it will replace the Contextfile in the filesystem with the parameter values from the contextfile associated with the serial number in the table.
This results in any changes made to the filesystem Contextfile being ignored.

The adconfig log file will show the following:

—————————————————————-
File system Context file :/u11/app//appl/admin/apps_contextfile.xml

Checking the Context file for possible updates from the Database
Comparing the Context file stored in database with the Context file in the file system

Result                  : File system Context is below par with respect to the data base Context

Action to be taken      : Copy the Data Base Context onto the file system
Result                  : Context file successfully copied

 

 

What happens when we change the any context variable through OAM

1)OAM displays all the context variable by parsing the context file stored in fnd_oam_context_files table (Autoconfig at each run uploads the context file in this table).

2) When we try to update the context file, OAM first update’s the status flag from ‘S’ to ‘H'(History) for our context file record, it then inserts another row for the same context file with status ‘S’. (OAM inserts another row instead of updating the existing row to maintain change history for each context file)

3( It then requests the specific node’s FNDFS listener for updating the file on the file system (autoconfig uses the file on the file system). So we have to make sure that the FNDFS listeners are running on all the nodes before using OAM to update the context file.


Leave a Reply