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.
—————————————– ——– —————————-
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)
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:
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
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
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.