Hurriyet

12 Mart 2015 Perşembe

Oracle Database: AWR Reports Summary - AWR Hatırlatması

Today, we  tried to run AWR reports in our system but we encountered an error so we decided that we could have a brief summary on AWR Reports.

First we will start with ORA-20200 error. We tried to run awrrpt.sql found under $ORACLE_HOME/rdbms/admin and we encountered with that error since we had no AWR reports although it had been months since se installed our Oracle Applications Database(EBS).

Then we come up with the suggested solution below however our conditions were not that critical(Ref-1). We also didnt have those snapshots but we were able to create these snapshots. In that solution, it was suggested that we recreate the awr.

How to drop and recreate AWR?
Note:782974.1 How to Recreate The AWR ( AUTOMATIC WORKLOAD ) Repository 

Our solution was however is to just recreate our snapshot to solve our ORA-20200.



References:

1- AWR Error - ORA 20200
 http://fayoubi.blogspot.com.tr/2013/09/ora-13516-awr-operation-failed-or-ora.html



How to Generate an AWR Report and Create Baselines (Doc ID 748642.1)
3- Systemwide Tuning using STATSPACK Reports (Doc ID 228913.1)

4-How to Use AWR Reports to Diagnose Database Performance Issues (Doc ID 1359094.1)

5-Awr reports Reading

http://oracle-base.com/articles/10g/automatic-workload-repository-10g.php

Oracle Database: Compiling Invalid Objects Continued - Invalid Objelerin Compile Edilmesi Devam

During our health check, ıt appeared to us that we were working with invalid objects and we thought that there must be some script Oracle has done for it. We found out that we were right .

Oracle has 2 scripts for it. "Utlprp.sql" and "Utlrp.sql" which are found under $ORACLE_HOME/rdbms/admin.

It asks for just one input value. Its answer must be given accordingly.
0 - The level of parallelism is derived based on the CPU_COUNT parameter.
1 - The recompilation is run serially, one object at a time.
N - The recompilation is run in parallel with "N" number of threads.

Both scripts must be run as the SYS user, or another user with SYSDBA, to work correctly.
However sometimes we need to some manuel compilation.

For example the following states a compilation of package.


 BEGIN  
  FOR cur_rec IN (SELECT owner,  
              object_name,  
              object_type,  
              DECODE(object_type, 'PACKAGE', 1,  
                        'PACKAGE BODY', 2, 2) AS recompile_order  
          FROM  dba_objects  
          WHERE object_type IN ('PACKAGE', 'PACKAGE BODY')  
          AND  status != 'VALID'  
          ORDER BY 4)  
  LOOP  
   BEGIN  
    IF cur_rec.object_type = 'PACKAGE' THEN  
     EXECUTE IMMEDIATE 'ALTER ' || cur_rec.object_type ||   
       ' "' || cur_rec.owner || '"."' || cur_rec.object_name || '" COMPILE';  
    ElSE  
     EXECUTE IMMEDIATE 'ALTER PACKAGE "' || cur_rec.owner ||   
       '"."' || cur_rec.object_name || '" COMPILE BODY';  
    END IF;  
   EXCEPTION  
    WHEN OTHERS THEN  
     DBMS_OUTPUT.put_line(cur_rec.object_type || ' : ' || cur_rec.owner ||   
                ' : ' || cur_rec.object_name);  
   END;  
  END LOOP;  
 END;  
 / 

References:

1- Compile Invalid Objects

http://oracle-base.com/articles/misc/recompiling-invalid-schema-objects.php

11 Mart 2015 Çarşamba

Oracle Database: Error ORA-01655 - Unable to Extend - Tablespace Sorunu

While we were checking our alert.log for possible error, we noticed that there was an error that was saying that our tablespace was having a lack of space:


----------
Errors in file /u01/install/PROD/11.2.0/admin/TEST_DBMACHINE/diag/rdbms/test/TEST/trace/TEST_smon_1166.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-01655: unable to extend cluster SYS.SMON_SCN_TO_TIME_AUX by 128 in tablespace SYSAUX
Wed Mar 11 11:36:24 2015
----------

Solution:

We added a datafile to the system in order to add more space to the tablespace:

The following is the sql:

-----------------
ALTER TABLESPACE SYSAUX
  ADD DATAFILE '/u01/install/PROD/data/sysaux03.dbf'
  SIZE 1024M
  AUTOEXTEND ON
  NEXT 50M
  MAXSIZE UNLIMITED;
---------------

References:

1- Tablespace Clauses:
http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_3002.htm#SQLRF01002

2- Unable To Extend Error 

https://community.oracle.com/thread/950421

Oracle Database: Error ORA-48165 In the Sqlnet.log File

 ORA-48165 this error was noticed while we were checking for sqlnet.ora log file.  The error message was like the following.


--------
NL-08014: Failed to initialize Diagnosability framework, falling back to old network tracing/logging

 NL-08015: Client(OCI) side initialization of Diagnosability framework failed
  ORA-48165: user missing read, write, or exec permission on specified ADR Base directory []
User inputted base directory is invalid [48187] [/u01/E-BIZ/db/tech_st/11.2.0/admin/VISION_slc01ozg]
--------

This message was in fact indicating us that we had misconfiguration in our sqlnet.ora file. Therefore we had to change it.

Solution:

Go to $ORACLE_HOME/network/admin and then change the ADR_BASE to the correct value.
The correct value has to be value of the diagnostic_dest:

SQL> show parameter diag

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
diagnostic_dest                      string      /u01/install/PROD/11.2.0/admin
                                                 /TEST_DBMACHINE


References:

1-http://onlineappsdba.blogspot.com.tr/2007/11/oracle-11g-alert-log-file.html
2- Oracle Documentation About Network Connectivity Issues:
https://docs.oracle.com/cd/A57673_01/DOC/net/doc/NWTR23/apa.htm

Oracle Database: Reading X$DBGALERTEXT Table - Reading Alert Log Via SQL - SQL ile Alert.log'ları okumak



With Oracle Database 11g, we can read the alerts which are critical for us from a table. In the prior editions, we had to parse the table so that we could extract the information that we need but we can access it directly.

How to read from x$dbagalertext?

In order to read from x$dbagalertext we need to be a user who is sys or sys privileged. However we could also access to the x$dbagalertext by creating a  view so that we can query it.(Ref-1)

References:

1- Reading from x$dbagalertext from a use who is not "sys"  privileged.

https://community.oracle.com/thread/2356037

2-  Alert Log Reading

http://www.oradba.ch/2013/07/query-alert-log-from-sqlplus/

3-  Reading alert log

http://blog.tanelpoder.com/2009/03/21/oracle-11g-reading-alert-log-via-sql/

3 Mart 2015 Salı

Oracle E-Business Suite: Creating Custom Application Top in R12.2 - Custom Application Top Yaratılması - Custom Top Nasıl Yaratılır?

We will be using doc id 1577707.1 to create a custom application top in R12.2

Procedure:

1-We start by downloading the patch "3636980 "Support Diagnostics (IZU) patch for AD Splice" from My Oracle Support. We will be using its contents to setup the application.

2- Under 3636980/izu/admin there are 3 files that needs to be used. 

izuprod.txt  izuterr.txt  newprods.txt

3- We then rename the following files accordingly, such as prod.txt and 
terr.txt

mv izuprod.txt xxstprod.txt
mv izuterr.txt xxstterr.txt


4- Change the details in the newprods.txt so that all references of "izu" to and all references of "IZU" to (i.e. keep the case sensitivity). 

5- We then create a  tablespace. In our example our tablespace name will be TSXXST


 CREATE TABLESPACE TSXXST DATAFILE   
  '/u01/install/PROD/data/tsxxst01.dbf' SIZE 1024M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED  
 LOGGING  
 DEFAULT   
 COMPRESS BASIC   
 ONLINE  
 EXTENT MANAGEMENT LOCAL AUTOALLOCATE  
 BLOCKSIZE 8K  
 SEGMENT SPACE MANAGEMENT AUTO  
 FLASHBACK ON;  
   


6- After we create the tablespace, we continue with the user creation. We add the required privileges so that this use can work.

CREATE USER XXST  
  IDENTIFIED BY xxst  
  DEFAULT TABLESPACE TSXXST  
  TEMPORARY TABLESPACE TEMP  
  PROFILE DEFAULT  
  ACCOUNT UNLOCK;  
   
 -- 1 Role for XXST   
  GRANT CONNECT TO XXST;  
  ALTER USER XXST DEFAULT ROLE ALL;  
   
  
 -- 13 System Privileges for XXST   
  GRANT ALTER ANY OUTLINE TO XXST;  
  GRANT ALTER SESSION TO XXST;  
  GRANT ANALYZE ANY TO XXST;  
  GRANT CREATE ANY OUTLINE TO XXST;  
  GRANT CREATE CLUSTER TO XXST;  
  GRANT CREATE MATERIALIZED VIEW TO XXST;  
  GRANT CREATE SEQUENCE TO XXST;  
  GRANT CREATE SESSION TO XXST;  
  GRANT CREATE TABLE TO XXST;  
  GRANT CREATE TRIGGER TO XXST;  
  GRANT CREATE TYPE TO XXST;  
  GRANT DROP ANY OUTLINE TO XXST;  
  GRANT QUERY REWRITE TO XXST;  
  -- 2 Tablespace Quotas for XXST   
  ALTER USER XXST QUOTA UNLIMITED ON APPS_TS_TX_DATA;  
  ALTER USER XXST QUOTA UNLIMITED ON TSXXST;  


7- Then xxstprod.txt will be changed so that  all references of "izu" to and all references of "IZU" to (i.e. keep the case sensitivity).   We also change product id references of 278 to our own number which we decide according the following SQL. Choose one id accordingly, "for example 50001", and replace 278 with it.


 select decode(count ,0, 'Selected number is Available', 'Selected number already in use') Status, &&enter_custom_applID selected_number  
 from  
 (  
 select count(*) as count from  
 (  
 select 'x' from fnd_oracle_userid  
 where oracle_id= &&enter_custom_applID  
 union  
 select 'x' from fnd_application  
 where application_id= &&enter_custom_applID  
 )  
 );  


8- We then edit the last file xxstterr.txt so that all references are for xxst which our new custom top.

9- We then copy the files we have changed to the $APPL_TOP/admin folder.

 cp newprods.txt /u01/install/APPS/fs1/EBSapps/appl/admin/.
 cp xxstprod.txt /u01/install/APPS/fs1/EBSapps/appl/admin/.
 cp xxstterr.txt /u01/install/APPS/fs1/EBSapps/appl/admin/.

10- Then we are finally able to run adsplice under the $APPL_TOP folder so that  we run autoconfig and create our custom application.

>cd $APPL_TOP/admin
>adsplice

11- Remember to check apply the following SQLs so that we might be sure that we have created our application top.

select * from fnd_application where application_short_name = 'XXST';
select * from fnd_product_installations where APPLICATION_ID = 50101;
select * from dba_users where username = 'XXST';

Note: The thing that we have done for a system that is with one application machine and one database machine. If you have more than one application servers that you will have to create application top in your other non shared application.


References:

1-Creating a Custom Application in Oracle E-Business Suite Release 12.2 (Doc ID 1577707.1)


2-http://ermanarslan.blogspot.com.tr/2014/05/ebs-122-add-custom-top.html

27 Şubat 2015 Cuma

Oracle E-Business Suite: General Information - Concepts - Architecture - Mimari - Genel Bilgi ve Konseptler

General Information:

E-Business Suite is formed of 3 tiers These are database, application and client. Database tier holds the database services while Application tier holds the Fusion Middleware and Concurrent Processing part. Client has the java virutal machine which enables it to access and communicate with Application tier. Application tier acts like the middleman between Database and client.

In Fusion Middleware, Forms,Oacore,Oafm servers. The $WEBAPPS_TOP shows us the location of these servers.

Oracle Homes in EBS 12.2:

There are two homes under the run files system. For example under the run file system we have our Oracle home as /u01/install/APPS/fs1/EBSapps/10.1.2 other than that /u01/install/APPS/fs1/FMW_HOME is the other Oracle home for Fusion Middleware. Third home that is seen is $APPL_TOP which has the modules. It is beside the 10.1.2  under /u01/install/APPS/fs1/EBSapps/appl

Web Services:

Web services control the HTTP requests that are coming to the application.

Concurrent Processing Server:

As well as HTML applications and forms , there are also data reporting and data updating programs that need to be run randomly or in scheduled way. They run in the background. The requests that are needed to run are written to a table, then it is read by the concurrent managers and run accordingly.

Concurrent Managers spawn their own processes which is called as target processes.Every target process can run only one concurrent request at a time.

The frequency or the amount of work that is to be done can be arranged by the work shifts

Specialized Concurrent Managers:

Specailized concurrent managers dont exactly run concurrent requests but manages other stuff.

ICM(Internal Concurrent Manager) controls all the other concurrent managers. It administers the startup and shutdown of managers. ICM is important because it has lots of configuration settings that should not be modified but can be modified manually. ICM must be run before any other concurrent manager in order to start other concurrent managers. It creates log files (std.mgr and wnnn.mgr) in $APPLCSF/$APPLLOG.

These are sleep time (number of seconds the ICM waits between checking for new concurrent requests), PMON (process monitor) cycle time (number of sleep cycles the ICM waits between checking for failed workers), and queue size (duration between checks for number of active workers, measured in PMON cycles).

Standard Manager is the default concurrent manager that comes with the installation. However special concurrent managers can be created in order to form special environments for programs.

Concurrent Manager Architecture and Related Tables:

FNDLIBR is the Oracle application object library program which has the concurrent programs that can be called by a concurrent manager.

FND_CONCURRENT_REQUESTS :Details of user requests, including status, start date, and completion date

FND_CONCURRENT_PROGRAMS: Details of concurrent programs, including execution method, whether the program is constrained, and whether it must be run alone.

FND_CONCURRENT_PROCESSES: Cross-references between concurrent requests and queues, and a history of concurrent manager processes

FND_CONCURRENT_QUEUES: Information about each of the concurrent manager queues

How to see the Concurrent Manager Processes?

In order to see the processes we need to be searching for processes with the name of FNDLIBR

ps -ef | grep FNDLIBR


FNDLIBR runs for every concurrent manger and Internal Concurrent Manager.

applmgr  17100 17095  0 Feb19 ?        00:09:37 FNDLIBR               -- ICM                                                                                                                                            
applmgr  18326 18252  0 Feb19 ?        00:00:11 FNDLIBR                                                                                                                                                                                                                                          
applmgr  18329 18252  0 Feb19 ?        00:00:11 FNDLIBR                                                                                                                                                                                                                                          
applmgr  18330 18252  0 Feb19 ?        00:00:29 FNDLIBR                                                                                                                                                                                                                                          
applmgr  18331 18252  0 Feb19 ?        00:00:27 FNDLIBR                                                                                                                                                                                                                                          
applmgr  18332 18252  0 Feb19 ?        00:00:29 FNDLIBR                                                                                                                                                                                                                                          
applmgr  18333 18252  0 Feb19 ?        00:00:14 FNDLIBR                                                                                                      
In fact, ICM starts up a Service Manager that instructs the concurrent manager to startup. Therefore if we look at the mother process of all, we can search for

ps -ef  | grep FNDSM

For example FNDSM process is 18252

Managing Concurrent Processing:

To start ICM, we can start adcmctl.sh which is found under $ADMIN_SCRIPT_HOME to find the status of ICM or to either startup or shutdown the ICM in order to run it again so that other concurrent managers could start.

adcmctl.sh status| shutdown | startup


The EBS Technology Layers:

We have a number of utiliy that runs in between the application and the modules.

• Oracle Applications DBA (AD)
• Oracle Application Object Library (FND)
• Oracle Applications Utilities (AU)
• Oracle Common Modules (AK)
• Oracle Workflow (WF)
• Oracle Web Applications Desktop Integrator (BNE)
• Oracle Alert (ALR)
• Oracle Application Framework (FWK)
• Oracle BI Publisher (XDO)

Use application diagnostics to capture a problem that might exist.


Oracle Alert (ALR):

Oracle Alert allows us to email system notification when an exception occurs. The reason could be any event or database related.

File Structures




The APPL Directory:
Appl_top which is under the EBSapps/appl has the main context files, products and modules.



Admin directory under the common_top has the concurrent manager logs and output directiories. However the correct location is under non editioned file system which is
/u01/install/APPS/fs_ne/inst/SID_HOSTNAME/logs/appl/conc/log/


File Systems of EBS:

There are 2 file systems in EBS 12.2 in additon to non

References:

1-
Architecture and Common Applications
Oracle E-Business Suite ConceptsE22949-09

12 Şubat 2015 Perşembe

Oracle Fusion Middleware: OBIEE $ReadOverTheLimitException Error While Taking Out a Dashboard - Dashboard'u Rapor Olarak Çıkarma Hatası

Yesterday we solved a problem about extracting the dashboard as a PDF.

We had encountered the following error screen on OBI.


Solution:

This problem was not about increasing the row limit that can be downloaded from Enterprise Manager. It was about adding the following line to the instanceconfig.xml




Oracle E-Business Suite: Recommended SQL Scripts To Provide For Oracle Support and Environment Information 12.2.* - EBS 12.2.4 ile ilgili gerekli scriptler

Running the Diagnostic Patch:

The main thing that Oracle wants to analyze the system is the diagnostic pack run which comes with a patch. That is Patch 19045166. In it there are some sql's which needs to be run and that is applied by running a perl script which uses the contents of the Patch:

" perl adzddiagnostic.pl "

Determining Code Levels:

Ad and txk code levels are needed, because a lot of patch is associated with the code levels of ad and txk. There are lots of problems regarding these statuses.

SELECT codelevel FROM AD_TRACKABLE_ENTITIES WHERE abbreviation in ('txk','ad');



Collecting Fusion Middleware Log Files:

One of the most importan log files are the fusion middleware log files, since the application is run on the Weblogic Server. /Reference 1)

Therefore we need to collect them in case of a failure to both review and supply them to Oracle Support. The following 4 script should be run individually and created zip files can be added to Oracle.


--------------

1-Opmn OHS Log Files:


. /u01/install/APPS/EBSApps RUN

zip -r /home/applmgr/`uname -n`_`date +%m%d%y.%H%M`_OPMN_OHS.zip $IAS_ORACLE_HOME/instances/*/diagnostics/logs/OHS/*/*log* $IAS_ORACLE_HOME/instances/*/diagnostics/logs/OPMN/opmn/*

2-Weblogic Server:

zip -r /home/applmgr/`uname -n`_`date +%m%d%y.%H%M`_FMW.zip $IAS_ORACLE_HOME/../wlserver_10.3/common/nodemanager $EBS_DOMAIN_HOME/servers/oa*/logs/*out* $EBS_DOMAIN_HOME/servers/oa*/logs/*log* $EBS_DOMAIN_HOME/servers/forms*/logs/*out* $EBS_DOMAIN_HOME/servers/forms*/logs/*log* $EBS_DOMAIN_HOME/servers/AdminServer/logs/*out* $EBS_DOMAIN_HOME/servers/AdminServer/logs/*log* $EBS_DOMAIN_HOME/sysman/log/* $EBS_DOMAIN_HOME/servers/oac*/adr/diag/ofm/EBS_domain_*/oac*/incident/* $EBS_DOMAIN_HOME/servers/forms_s*/adr/diag/ofm/EBS_domain_*/forms_s*/incident/*



3-Apache WLS Log Files:

. /u01/install/APPS/EBSApps.env RUN

#####################################################################################

#### Start of script

#####################################################################################

(

# pick up files which have been modified in the last 1 day only

HowManyDaysOld=3

echo "Picking up files which have been modified in the last ${HowManyDaysOld} days"

set -x

find $LOG_HOME -type f -mtime -${HowManyDaysOld} > m.tmp

find $FMW_HOME/webtier/instances/*/diagnostics/logs -type f -mtime -${HowManyDaysOld} >> m.tmp

find $FMW_HOME/wlserver_10.3/common/nodemanager/nmHome*/*.log -type f -mtime -${HowManyDaysOld} >> m.tmp

## Get log files for only the WLS servers needed. Valid server names are one or more of:

## AdminServer forms-c4ws_server forms_server oacore_server oaea_server oafm_server

for SERVERNAME in AdminServer oacore_server forms_server oafm_server

do

find $EBS_DOMAIN_HOME/servers/${SERVERNAME}*/logs -type f -mtime -${HowManyDaysOld} >> m.tmp

find $EBS_DOMAIN_HOME/servers/${SERVERNAME}*/adr/diag/ofm/EBS_domain_*/${SERVERNAME}*/incident -type f -mtime -${HowManyDaysOld} >> m.tmp

done

zip -r mzAppsLogFiles_`hostname`_`date '+%m%d%y'`.zip -@ < m.tmp

rm m.tmp

) 2>&1 | tee mzLogZip.out

#####################################################################################


#### End of script



4- Inventory Related Logs and Reports

. /u01/install/APPS/EBSApps.env RUN

$ADPERLPRG $FND_TOP/patch/115/bin/TXKScript.pl -script=$FND_TOP/patch/115/bin/txkInventory.pl -txktop=$APPLTMP -contextfile=$CONTEXT_FILE -appspass= -outfile=/home/applmgr/Report_App_Inventory.html



zip -r /home/applmgr/node_info.rar /u01/install/APPS/fs1/FMW_Home/Oracle_EBS-app1/applications/oafm/APP-INF/node_info.txt /u01/install/APPS/fs1/FMW_Home/Oracle_EBS-app1/applications/oacore/APP-INF/node_info.txt /u01/install/APPS/fs1/FMW_Home/Oracle_EBS-app1/applications/forms-c4ws/APP-INF/node_info.txt /u01/install/APPS/fs1/FMW_Home/Oracle_EBS-app1/applications/forms/APP-INF/node_info.txt

zip -r /home/applmgr/EBS_DOMAIN_Config.rar

$EBS_DOMAIN_HOME/config/config.xml



zip -r /home/applmgr/Property.rar

$INST_TOP/appl/admin/*.properties

zip -r /home/applmgr/OHS_Logs.rar $IAS_ORACLE_HOME/instances/EBS_web_IKYSDEV_OHS1/config/OHS/EBS_web_IKYSDEV/*

--------------

Running SQL's :

What are the SQL's used below? They are providing us a lot of information regarding the configuration of the system, patching status, node information and lots of other stuff. These information can be used when patching is needed and to determine the status of the system or before applying a particular solution.


The code below can be put within a sql script and run.
---
set markup html on 
spool adop_sessions.html 
set timing on 
set linesize 120 
set pagesize 300 
show user 

select * from AD_NODES_CONFIG_STATUS; 

select NODENAME,CTX_FILE_CHANGED from AD_NODES_CONFIG_STATUS; 

select * from FND_OAM_CONTEXT_FILES; 

Select node_name from FND_OAM_CONTEXT_FILES 
where NAME not in ('TEMPLATE','METADATA','config.txt') and 
CTX_TYPE='A' and (status is null or upper(status) in ('S','F')) 
and EXTRACTVALUE(XMLType(TEXT),'//file_edition_type') = 'run' 
and EXTRACTVALUE(XMLType(TEXT),'//oa_service_group_status[@oa_var=''s_web_admin_status'']')='enabled' 
and EXTRACTVALUE(XMLType(TEXT),'//oa_service_list/oa_service[@type=''admin_server'']/oa_service_status')='enabled'; 

SELECT abbreviation, codelevel FROM AD_TRACKABLE_ENTITIES WHERE abbreviation in ('txk','ad'); 
SELECT codelevel FROM AD_TRACKABLE_ENTITIES WHERE abbreviation in ('txk','ad'); 
select bug_number from ad_bugs where bug_number in ('18288881','18283295','18886213','19259764'); 
select object_name, object_type, status 
from user_objects 
where status = 'INVALID' 
order by object_type; 

SELECT release_name FROM fnd_product_groups; 

select * from FND_NODES; 
select node_name, platform_code, node_mode, node_id, 
server_id, server_address, host, domain, webhost, 
support_cp, support_forms, support_web, support_admin 
from fnd_nodes 
order by node_name ; 
select node_name "Node Name", node_mode "Mode", support_cp "C", 
support_web "W", support_admin "A", support_forms "F" 
from FND_NODES; 



select bug_number from ad_bugs where bug_number in ('19782999', '19494816', '19807163'); 
select * from AD_APPL_TOPS; 
select APPL_TOP_ID, NAME,APPL_TOP_TYPE from AD_APPL_TOPS; 
select * from AD_ADOP_SESSIONS; 
select adop_session_id, APPLTOP_ID, NODE_NAME, NODE_TYPE from AD_ADOP_SESSIONS ;
 select ADOP_SESSION_ID,PREPARE_STATUS,APPLY_STATUS,FINALIZE_STATUS,CUTOVER_STATUS, 
CLEANUP_STATUS,ABORT_STATUS,STATUS,ABANDON_FLAG,NODE_NAME 
from AD_ADOP_SESSIONS 
order by ADOP_SESSION_ID; 
select ADOP_SESSION_ID, EDITION_NAME, NODE_TYPE, NODE_NAME, APPLTOP_ID, PREPARE_STATUS, APPLY_STATUS, CUTOVER_STATUS, CLEANUP_STATUS, ABORT_STATUS, STATUS from AD_ADOP_SESSIONS order by ADOP_SESSION_ID; 

select * from AD_ADOP_SESSION_PATCHES; 
select ADOP_SESSION_ID,BUG_NUMBER,CLONE_STATUS,STATUS,NODE_NAME from AD_ADOP_SESSION_PATCHES order by ADOP_SESSION_ID; 



set linesize 132 
set pagesize 132 
col NAME format A40 
col LEVEL_SET format a15 
col CONTEXT format a20 
col VALUE format A20 wrap 
col Server format a10 
col resp format a8 wrap 
col application format a10 

break on NAME 

select 
'('||language||')-'||n.user_profile_option_name NAME, 
decode(v.level_id, 
10001, 'Site', 
10002, 'Application', 
10003, 'Responsibility', 
10004, 'User', 
10005, 'Server', 
10006, 'Organization', 
10007, 'ServResp', 
'Undefined') LEVEL_SET, 
decode(to_char(v.level_id), 
'10001', '', 
'10002', app.application_short_name, 
'10003', rsp.responsibility_key, 
'10004', usr.user_name, 
'10005', svr.node_name, 
'10006', org.name, 
'10007', (select n.node_name 
from fnd_nodes n 
where n.node_id=level_value2) 
||'/'|| 
(decode(v.level_value, 
-1,'Default', 
(select responsibility_key 
from fnd_responsibility 
where responsibility_id=level_value))), 
v.level_id) "CONTEXT", 
v.profile_option_value VALUE 
from 
fnd_profile_options p, 
fnd_profile_option_values v, 
fnd_profile_options_tl n, 
fnd_user usr, 
fnd_application app, 
fnd_responsibility rsp, 
fnd_nodes svr, 
hr_operating_units org 
where 
p.profile_option_id = v.profile_option_id (+) 
and p.profile_option_name = n.profile_option_name 
and usr.user_id (+) = v.level_value 
and rsp.application_id (+) = v.level_value_application_id 
and rsp.responsibility_id (+) = v.level_value 
and app.application_id (+) = v.level_value 
and svr.node_id (+) = v.level_value 
and org.organization_id (+) = v.level_value 
order by name, v.level_id; 
set pagesize 300 
set linesize 200 

col NAME format a20 
col HOST format a35 
col RELEASE format a15 
col VERSION format a15 

select i.instance_name NAME, i.host_name HOST, f.release_name RELEASE, i.version VERSION 
from v$instance i,fnd_product_groups f 
where upper(substr(i.instance_name,1,4)) = upper(substr(f.applications_system_name,1,4)); 

select ad_zd.get_edition('RUN') from dual; 
select ad_zd.get_edition('PATCH') from dual; 
select ad_zd.get_edition_type from dual; 


set timing off 
set markup html off 
spool off 
-----------------------




References:
1-12.2 Ebusiness Suite - Collecting Fusion Middleware Log Files (Doc ID 1362900.1)
2-Oracle Applications E-Business Suite 12.2 Fusion Middleware Log Files: Locate,View, and Control (Doc ID 1366187.1)

Oracle E-Business Suite: Unable To View Workflow Status Diagram - Java Window Doesn't Initialize - Workflow Status Diagram'ının Çalışmaması

After we have instaled our application and started to work on it, we noticed that there were some errors in the Workflow Diagram Page. We were tring to access some of workflows  through the Workflow Administor responsibility and see the latest workflows that are issued. But we couldn't see anything but error.

Solution:
As a matter of fact, the solution was to set "Server Timezone" Profile as Site level which should be the same timezone as the database timezone value. Then we close the application and recompile the java libraries with force. After the compilation, we start the application and see that both Workflow page is appearing and the java application is starting.



References:
1- Workflow Status Diagram Error -http://www.dbatutor.com/2011/09/unable-to-view-workflow-status-diagram.html

Oracle Fusion Middleware: Exceeded configured maximum number of allowed input records Error - Maksimum Satır Sayısının Aşılması

The recent error that we encountered on OBI 11g is that we couldn't see the reports which had more 1 million records.

The error was like this:

------------
Error

Exceeded configured maximum number of allowed input records.
Error Details
Error code: EKMT3FK5: OI2DL65P

SQL issued: 195~6qt8lbhf1lvqgn51fqbcp544qq
---------


Solution:
We added the following lines into instanceconfig.xml which is found under for example: "E:\oracle\obia\instances\instance2\config\OracleBIPresentationServicesComponent\coreapplication_obips1 "

We then add the tags such as "MaxVisibleRows","MaxVisibleSections","MaxVisiblePages","MaxVisibleColumns" and "MaxCells" under the appropriate parts.

We also add "Cube" and "Charts" parts. You could just add all the missing parts compared to this instance config xml


After the addition, we should restart the application so that the changes could take effect


References:
1- Maximum number of allowed input records:
http://cherryqq.iteye.com/blog/1856962

30 Ocak 2015 Cuma

Oracle Fusion Middleware: OBIEE PDF - Excel Extracting Printing Error - PDF veya Excel'e Çıkartma Hatası

We have encountered a similar error which a lot of people has also encountered.

This error can happen when the Report that needs to be generated includes a lot of data, it gets stuck to the cache size.


For that we need to change the following config file to modify the following information.

The config file is in $INSTANCE_HOME\config\OracleBIJavaHostComponent\coreapplication_obijh1|

In that folder we change the config.xml. We add

< PDF>
< InputStreamLimitInKB>0</ InputStreamLimitInKB>
 < /PDF>

In addition to the previous configuration, we add:


< XMLP>
< InputStreamLimitInKB>0
< ReadRequestBeforeProcessing>true</ ReadRequestBeforeProcessing>
</ XMLP>

We then restart the BI Server and we can see the changes.


References:
1- http://obiee-sharat.blogspot.com.tr/2013/04/input-stream-with-read-over-limit.html

27 Ocak 2015 Salı

Oracle E-Business Suite: Collecting Online Patching Log Files - Log Dosyalarının Toplanması

This article is all about collecting logs that will help you in analysis of the Patches, finding errors in the process or assist you in your Service Request.(Ref-1) (This article is all about the Support Articles in the References). The goal is to collect everyone of these articles in case there might be a problem. In the end, we will also form a script that will report us a lot of things about patches.

All the patch sessions include a patch session id, in which all the related log files concerning that patch, is inserted.  The following SQL will help us the current details about the patch sessions:

select ADOP_SESSION_ID,PREPARE_STATUS,APPLY_STATUS,FINALIZE_STATUS,CUTOVER_STATUS,CLEANUP_STATUS,ABORT_STATUS,STATUS,ABANDON_FLAG,NODE_NAME from AD_ADOP_SESSIONS order by ADOP_SESSION_ID desc; 


Note:
       Y denotes that the phase is done
       N denotes that the phase has not been completed
       X denotes that the phase is not applicable
       R denotes that the phase is running (in progress)
       F denotes that the phase has failed
       P (is applicable only to APPLY phase) denotes at least one patch is already applied for the session id
       C denotes that the status of this ADOP session has completed

Note: Numerical statuses are only relevant for the cutover phase.

These status values are updated when a step has completed, and are as follows:

N denotes that the phase has not been completed
0 denotes that cutover/force_shutdown has started
1 denotes the "force_shutdown" step has successfully executed
3 denotes the "db_cutover" step has successfully executed
4 denotes the "fs_cutover" step has successfully executed
6 denotes the "force_startup" step has successfully executed
Y denotes that the phase is done

Where are the Log Files:
Patch log files are given in the $ADOP_LOG_HOME path. If we look deeper, we will see directories for log groups such as ("Prepare","Apply","Finalize","Cutover","Cleanup").
In these files we will have directories

Adop Scanlog:


This utility analyzes adop log directories for errors and warnings, and displays messages to help the user quickly identify any problems that may have occurred during an adop run. 

To scan all log directories of the latest adop session for errors:
    $ adopscanlog
To scan log directories relating to the latest run of adop in the latest session:
    $ adopscanlog -latest=yes
To scan log directories relating to the latest run of the specified phase, in the latest session:
    $ adopscanlog -latest=yes -phase=
To scan all log directories of a given session (represented by a session_id) for errors:
    $ adopscanlog -session_id=
To see a complete list of supported parameters:
    $ adopscanlog -help

Adop Status:

Adop status gives us the information for the current patching session. However "adop -status " command lets us learn about any given patch session.

Source the run filesystem environment file and run command
adop -status
usage
adop -status  generates a summary report
adop -status generates a summary report for that session ID
adop -status -detail generates a detailed report



Check AD and TXK C Patch levels

The following command gives us details about the patch levels of very important modules. The reason we are emphasizing these patch level information is that after the upgrade from previous 12.2 releases, the missing upgrade of these modules will cause problems. Therefore these are checked by the Oracle Support.

SELECT codelevel FROM AD_TRACKABLE_ENTITIES WHERE abbreviation in ('txk','ad');


Check middle tier technology patch levels

perl $FND_TOP/patch/115/bin/TXKScript.pl -script=$FND_TOP/patch/115/bin/txkInventory.pl -txktop=$APPLTMP -contextfile=$CONTEXT_FILE -appspass=apps -outfile=/tmp/Inventory_Report.html


References:
1-12.2 E-Business Suite - Collecting Online Patching and fs_clone Log Files (Doc ID 1542162.1)

23 Ocak 2015 Cuma

Oracle E-Business Suite: Adop Workers Issue While Applying A Patch in 12.2.4 - Worker Kısıtı 12.2.*

When we were trying to apply patch we saw something peculiar in the application process. The application was working well until that moment. Even though we didnt need to state "workers" parameter during the process, we were failing because we didn't enter it.
-------------------------------------------
]$ adop phase=prepare

Enter the APPS password:
Enter the SYSTEM password:
Enter the WLSADMIN password:

 Please wait. Validating credentials...


RUN file system context file: /u01/install/APPS/fs1/inst/apps/$SID_$HOSTNAME/appl/admin/$SID_$HOSTNAME.xml

PATCH file system context file: /u01/install/APPS/fs2/inst/apps/$SID_$HOSTNAME/appl/admin/$SID_$HOSTNAME.xml
Execute SYSTEM command : df /u01/install/APPS/fs2

Worker count determination...

[UNEXPECTED]Invalid Worker Count: 0
[UNEXPECTED]Only a maximum of 1 workers can be invoked
[UNEXPECTED]Error while validating worker count
Log file: /u01/install/APPS/fs_ne/EBSapps/log/adop/adop_20150121_040942.log


[STATEMENT] Please run adopscanlog utility, using the command

"adopscanlog -latest=yes"

to get the list of the log files along with snippet of the error message corresponding to each log file.


adop exiting with status = 2 (Fail)
-------------------------------------------

Solution:
Actually this problem faded once we were able to patch things with the following method below but we didnt understand what has caused this issue. Maybe they will find it later on.

This problem can only be handled by giving an additional property which is "workers"
adop phase=prepare workers=2

References:
1- Adworker Problem - https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=362105903059544&id=1575085.1&displayIndex=1&_afrWindowMode=0&_adf.ctrl-state=dceackd46_774#SYMPTOM

Oracle Fusion Middleware: Coreapplication_OBICCS1 Stop Error - OBICCS Hatası

Yesterday we managed to solve a problem which was very interesting. We werent able to login to OBIEE even though we were seeing the login page. We also havent changed out passwords during the time. Even though everything seemed to be correct, we couldnt log in to the system.

We ran opmnctl status and saw that OBICCS was kept from running. Something was preventing us from accessing to the bi_server






Solution: 
We executed " tasklist | findstr "pid" " to find which process was stopping us. We saw that a process called vmtoolsd.exe was running the same pid that our coreapplication_obiccs1 tried to use.

We killed the process by " taskkill /pid "pid_no" /F   " /F means force. We forcefully killed the process and then stopped and started the opmn. In the end we were able login to the system.
The original solution can be seen at Reference-2




References:

1- Task Kill - https://technet.microsoft.com/en-us/library/bb491009.aspx
2- OBICCS ERROR - http://www.cnblogs.com/jerryxing/archive/2012/09/29/2708214.html
3- Starting Individual Components - http://www.oraclenerd.com/2011/09/obiee-startstop-individual-components.html


Oracle Fusion Middleware: OBIEE Unable To Create a User System User Connection BI Server Error - OBIEE'ye bağlanılamaması


We have faced an interesting problem which we were able to solve by updating a parameter



In the picture above there is an error called " Unable to create a user system connection to BI Server"
This tells us that the system user cannot access to the server which is generally corruption of the  system user.

Solution:

We go to the link below  to change the credentials. We click on obiee_domain>security>credentials and then re-enter the password for the system user that we have been using before.  As a result we were able to solve the problem.





Oracle Fusion Middleware: OBIEE BootIdentity Error - Boot.properties - Boot Identity Hatası

BootIdentity error was something that we have encountered before but we havent document it before.
We can encounter with this problem in either bi_server.log or admin server logs. (e.g. E:\oracle\obia\user_projects\domains\obia_domain\servers\AdminServer\logs or E:\oracle\obia\user_projects\domains\obia_domain\servers\bi_server\logs)

Basically the error could look like the text below


-----------------------------------
[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'Authentication denied: Boot identity not valid; The user name and/or password from the boot identity file (boot.properties) is not valid. The boot identity may have been changed since the boot identity file was created. Please edit and update the boot identity file with the proper values of username and password. The first time the updated boot identity file is used to start the server, these new values are encrypted.
Server subsystem failed. Reason: weblogic.security.SecurityInitializationException: Authentication denied: Boot identity not valid; The user name and/or password from the boot identity file (boot.properties) is not valid. The boot identity may have been changed since the boot identity file was created. Please edit and update the boot identity file with the proper values of username and password. The first time the updated boot identity file is used to start the server, these new values are encrypted.
weblogic.security.SecurityInitializationException: Authentication denied: Boot identity not valid; The user name and/or password from the boot identity file (boot.properties) is not valid. The boot identity may have been changed since the boot identity file was created. Please edit and update the boot identity file with the proper values of username and password. The first time the updated boot identity file is used to start the server, these new values are encrypted.
---------------------------------

This can be commonly seen in the Fusion Middleware environments as boot.properties file gets corrupted.

Solution:
To solve this problem we backup the old boot.properties file for each server which is found in their corresponding security folders.
(e.g E:\oracle\obia\user_projects\domains\obia_domain\servers\bi_server1\security)
After the  backup, we delete boot.properties file and start the weblogic or bi_server1(or any managed weblogic server). When we start that server we will be asked to enter username and password and that is how we fix and update the corrupted username and password. In the end we will be able to start the server.


20 Ocak 2015 Salı

Oracle Fusion Middleware: Specifying Log File Rotation - Adjusting The Logs - Oracle BI Loglama Seviyesini Ayarlamak

Specifying log file rotation is really important. Therefore I really wanted to write an entry for this.
The importance of this is that it can also be applied to other Fusion Middleware Products such as Oracle Discoverer, Oracle EBS  and other products which also use weblogic.

To  go to the logging page, click on the Server node from Environments. Then select the related server, and then go to logging page.  There you could specify the necessary details.

If you want to keep a number of log files then click "Limit the number of Retained Files" and then specify the number of files to be kept.

The other cases are also told in the Reference-1 which is limiting the number of files regarding the time or size.






After we do these changes, we could say that the logging performance would be better, since storage will be kept more wisely.

Log Contents:

Log contents are handled from the same page under the "Advanced Tab". In there you see, which kinds of things should be written or kept from writing. By setting these options, performance of the application can be increased because of the decreased level of logging.





References:
1-https://docs.oracle.com/cd/E13222_01/wls/docs70/ConsoleHelp/servers.html#log_rotation

Linux / Unix : /dev/null Error Redirection and Other /dev files


What is the usage of " command  > /dev/null 2>&1"?

/dev/null  is  a file which takes the input and doesn't print anything in return. /dev/null is kind of a garbage which doesn't have a limit. Therefore we could send anykind of error message in it and not be bothered.

"2" is the STDERR which is standard errors.
"1" is the STDOUT which is standard output.

We have 3 kind of output showed in the screenshot below.

find . -name scripts 2>&1: This command has the purpose of searching a file or folder named scripts. it also tells that all the errors to be showed in the screen


find . -name scripts 2>/dev/null: In here we are sending all the errors to our garbage. With this command we are preventing any kind of errors to be showed in the screen.

find . -name scripts > /dev/null 2>&1: This command all together stops printing the messages on the screen.



What else are there besides /dev/null ?

There are a whole lot of files besides it. Our Reference-1 tells all about it. But we can say that /dev/null is the most used one.




References:
1- /dev files - http://www.linux.org/threads/what-are-those-dev-files.4713/

2-  Standard output - http://www.codecoffee.com/tipsforlinux/articles2/042.html

Oracle Hyperion: Middleware Home - EPM Oracle Home - EPM Oracle Instance

Middleware Home: Oracle WebLogic Server home and EPM Oracle Home can found under it.
Example:E:\Oracle\Middleware

EPM Oracle Home: Product files and its required tools is created within th EPM Oracle Home. The default Middleware_Home is EPMSystem11R1. For example if our middleware home is E:\Oracle\Middleware then EPM Oracle Home is E:\Oracle\Middleware\EPMSystem11R1

EPM Oracle Instance: In EPM Oracle Instance, there can be Oracle HTTP Server, Essbase Server, SOA server, Web Server and etc... The default location would be in this case is E:\Oracle\Middleware\user_projects\domains\EPMSystem . In a distributed environment, we should name all the Middleware Homes as the same.




Note. This directory hierarchy is similiar to Oracle BI architecture. It has also a middleware home and in it, there is weblogic server,instance home and Oracle BI Home.

16 Ocak 2015 Cuma

Oracle Support: How to Use Certifications Tab - Learning Which Application Certified With Which Component - Ürünlerin Birbirleriyle Destekli Olup Olmadığının Öğrenilmesi

Today we will try to show what can be done with the certifications tab found in the Oracle Support, what is its use and how can we use it.

First ol all with Certifications option in the metalink we could analyze what are the components needed for our application. This is a crucial knowledge because usually we install individual products on our environments and we need to be aware of the versions of the other products  if we want to have a succesful installation.


Although there is a video on how we can utilize this tool, we could very well fill the inputs and go on.

We could see the certified versions of our specific product with just one search


Moreover we could compare the certification of any Oracle application with each other.


Below is the result of the comparison.  What we have highligted  is the text that we have to understand to prevent any misunderstandings. According to the selection made in the left side, that sentence changes. Depending on our purpose, we  could make a decision on which versions of the products that we should use.


In the examples below we searched the certified product against the latest Oracle Discoverer 11.1.1.7


References:

1- My Oracle Support Certification Tool for Oracle Fusion Middleware Products 1368736.1

14 Ocak 2015 Çarşamba

Oracle E-Business Suite: Workflow Mailer Setup, Startup And Configuration To Send Mail in EBS 12.2.* - EBS R12.2'de Workflow Mailer Başlatmak ve Mail Atmak İçin Konfigürasyonlarını Yapmak

After a fresh installation of our Oracle EBS 12.2.4 environment, we wanted to do a workflow configuration. To do that, we had to start the Service Component for the Workflow Mailer. It is opened from System Administrator>Workflow>Notification Mailers and then start  "Workflow Notification Mailer.



However when we tried to do that, we were denied with the following error.'Service Component Container is not running'

Since the service is not started, the agent is not running either. Therefore we have to have that Workflow Agent Listener Service started and the start Worklfow Mailer Service.

1-We click on Site Map>Generic Services> Generic Service Component Container


We start both Workflow Agent Listener Service and Workflow Mailer Service.

2- After that we return to the first screen and then start it up again.



Configuration:

For configuration; We need to go the Workflow Notification Mailer Status by clicking System Administrator>Dashboard>Workflow Manager and edit Workflow Notification Mailer and fill out the following inputs in the picture.

Outbound EMail Account(SMTP)
Server Name: The hostname of the mail server.
Username: Account name defined in the mail server.
Password: Can be kept empty or if there is a passowrd for the username, then the password should also be entered.

Inbound EMail Account(IMAP)
Server Name: The hostname of the mail server.
Username: Account name defined in the mail server.
Password: Can be kept empty or if there is a passowrd for the username, then the password should also be entered.
Reply-To Address: The email address that is going to be written in the mail. If the mail is going to be replied then when the reply button is clicked the input given in this part of the configuration is displayed.



If we are only going to send mails and wont be receiving any mails then Outbound Emial Account(SMTP) is the only thing that is required to be filled.

References:
1-  'Service Component Container is not Running' when Trying to Start Workflow Components (Doc ID 733335.1) 
Starting Workflow

2- Workflow Configuration Issues 
http://www.citagus.com/citagus/blog/r12-ebs-workflow-notifications-mailer-config-issues/

3- Workflow Documentation 
https://docs.oracle.com/cd/E18727_01/doc.121/e12894/T202991T207026.htm
https://docs.oracle.com/cd/E18727_01/doc.121/e12903/T319398T403947.htm

4- Community Discussion:
https://community.oracle.com/thread/2314327

13 Ocak 2015 Salı

Oracle E-Business Suite: Error During Adop Phase=Abort - Adop'ta Patch Abort Edilirken Hata Alınması

We have encountered adop failure while we were aborting a patching process. We wanted to cancel the patch  but there was an error such as the error below:

Exception : Error executng BEGIN fnd_gsm_util.upload_context_file(:1,:2,:3,:4,:5); END;: 1; Serial number in context file contains lower value than that of database copy.  

After a brief search on Oracle Support we found that there is a bug which causes the context file session id's to be not synchronized between RUN and Patch file systems.

Therefore according to the support document (Doc ID 1916658.1), we changed the context file session id of the Patch file system to the same value with the context file of the Run file system.

The variable to be changed is "s_contextserial". 

First of all we read the s_contextserial value of the context file of the RUN File System.


 . /u01/install/APPS/EBSapps.env RUN  
 more $CONTEXT_FILE | grep s_contextserial  

Then the value which is read can be put into the context file of PATCH File System:

   
 . /u01/install/APPS/EBSapps.env PATCH  
 vi $CONTEXT_FILE



Full Text of the Error:

 [applmgr@T1VSTEBSAPP01 admin]$ adop phase=abort  
 Enter the APPS password:   
 Enter the SYSTEM password:   
 Enter the WLSADMIN password:   
   
  Please wait. Validating credentials...  
   
   
 RUN file system context file: /u01/install/APPS/fs1/inst/apps/IKYSDEV_T1VSTEBSAPP01/appl/admin/IKYSDEV_T1VSTEBSAPP01.xml  
   
 PATCH file system context file: /u01/install/APPS/fs2/inst/apps/IKYSDEV_T1VSTEBSAPP01/appl/admin/IKYSDEV_T1VSTEBSAPP01.xml  
 Execute SYSTEM command : df /u01/install/APPS/fs2   
   
 Worker count determination...  
   
 Validation successful. All expected nodes are listed in ADOP_VALID_NODES table.  
 [EVENT]   [START 2015/01/09 04:19:14] Performing database sanity checks  
 [EVENT]   [END  2015/01/09 04:19:16] Finished performing database sanity checks  
  There is already a session which is incomplete. Details are:  
     Session Id      :  29  
     Prepare phase status :  COMPLETED  
     Apply phase status  :  ATLEAST ONE PATCH IS ALREADY APPLIED  
     Cutover phase status :  NOT COMPLETED  
     Abort phase status  :  RUNNING  
     Session status    :  FAILED  
 The above session would be aborted/rolled back. Do you want to continue [Y/N]? Y  
  [START 2015/01/09 04:19:37] adzdoptl.pl run  
   ADOP Session ID: 29  
   Phase: abort  
   Log file: /u01/install/APPS/fs_ne/EBSapps/log/adop/29/adop_20150109_041858.log  
   Abort status: R  
   [START 2015/01/09 04:19:38] abort phase   
 ERROR: InDbCtxFile.uploadCtx() : Exception : Error executng BEGIN fnd_gsm_util.upload_context_file(:1,:2,:3,:4,:5); END;: 1; Serial number in context file contains lower value than that of database copy.  
   
 Cause: Context file editing through Oracle Applications Manager did not complete file system syncronization. Please correct the errors that caused during editing and then run this program again. (FILE=/u01/install/APPS/fs2/inst/apps/IKYSDEV_T1VSTEBSAPP01/appl/admin/IKYSDEV_T1VSTEBSAPP01.xml)  
 oracle.apps.ad.autoconfig.oam.InDbCtxFileException: Error executng BEGIN fnd_gsm_util.upload_context_file(:1,:2,:3,:4,:5); END;: 1; Serial number in context file contains lower value than that of database copy.  
   
 Cause: Context file editing through Oracle Applications Manager did not complete file system syncronization. Please correct the errors that caused during editing and then run this program again. (FILE=/u01/install/APPS/fs2/inst/apps/IKYSDEV_T1VSTEBSAPP01/appl/admin/IKYSDEV_T1VSTEBSAPP01.xml)  
     at oracle.apps.ad.autoconfig.oam.InDbCtxFile.uploadCtx(InDbCtxFile.java:281)  
     at oracle.apps.ad.autoconfig.oam.CtxSynchronizer.uploadToDb(CtxSynchronizer.java:332)  
     at oracle.apps.ad.autoconfig.oam.CtxSynchronizer.main(CtxSynchronizer.java:845)  
 Exception : Error executng BEGIN fnd_gsm_util.upload_context_file(:1,:2,:3,:4,:5); END;: 1; Serial number in context file contains lower value than that of database copy.  
   
 Cause: Context file editing through Oracle Applications Manager did not complete file system syncronization. Please correct the errors that caused during editing and then run this program again. (FILE=/u01/install/APPS/fs2/inst/apps/IKYSDEV_T1VSTEBSAPP01/appl/admin/IKYSDEV_T1VSTEBSAPP01.xml)  
 oracle.apps.ad.autoconfig.oam.InDbCtxFileException: Exception : Error executng BEGIN fnd_gsm_util.upload_context_file(:1,:2,:3,:4,:5); END;: 1; Serial number in context file contains lower value than that of database copy.  
   
 Cause: Context file editing through Oracle Applications Manager did not complete file system syncronization. Please correct the errors that caused during editing and then run this program again. (FILE=/u01/install/APPS/fs2/inst/apps/IKYSDEV_T1VSTEBSAPP01/appl/admin/IKYSDEV_T1VSTEBSAPP01.xml)  
     at oracle.apps.ad.autoconfig.oam.InDbCtxFile.uploadCtx(InDbCtxFile.java:297)  
     at oracle.apps.ad.autoconfig.oam.CtxSynchronizer.uploadToDb(CtxSynchronizer.java:332)  
     at oracle.apps.ad.autoconfig.oam.CtxSynchronizer.main(CtxSynchronizer.java:845)  
 *******FATAL ERROR*******  
 PROGRAM : (/u01/install/APPS/fs1/EBSapps/appl/ad/12.0.0/bin/adzdoptl.pl)  
 TIME  : Fri Jan 9 04:19:44 2015  
 FUNCTION: ADOP::CommonBusinessRoutines::uploadCtxFile [ Level 1 ]   
 ERRORMSG: Upload of context file failed  
   
   
 [STATEMENT] Please run adopscanlog utility, using the command  
   
 "adopscanlog -latest=yes"  
   
 to get the list of the log files along with snippet of the error message corresponding to each log file.  
   
   
 adop exiting with status = 2 (Fail)  
 [applmgr@T1VSTEBSAPP01 admin]$ 

References:

1- adop phase=abort causes "Serial number in context file contains lower value than that of database copy." (Doc ID 1916658.1)