Showing posts with label Oracle EBS. Show all posts
Showing posts with label Oracle EBS. Show all posts

ISG Issue faced in EBS R12.2

Issue 1:  When clicking on view WADL http 500 is returned

  • cd $COMMON_TOP/java/lib
  • Check  isgagent.zip  exists. If yes, give it full permissions (777).
  • Recompile jar files using adadmin.
  • Bounce the Oracle Application Framework server and retest


Issue 2: Modifying Existing REST Service, not reflected.

  • cd $INST_TOP/soa/isgagent.properties   
  • ##Add the below parameter
  • ISG_CLEAR_JPUB_CACHE=YES
  • Bounce all the appsTier services


Issue 3: ISG REST deployment - failed to be authenticated.

  • Check the UMX|APPS_SCHEMA_CONNECT role has been assigned to ASADMIN user:
select role_name from wf_user_roles where user_name='ASADMIN';
select role_name from wf_user_role_assignments where user_name='ASADMIN';
If missing, run "Workflow Directory Services User/Role Validation" Program 

  • Ensure you can log into EBS front end using ASADMIN user.
  • Ensure the the following SQL returns the proper value:
select fnd_vault.get('ISG','ASADMIN') from dual;

  • If this value is incorrect / not the same a login password run & then re-check this is correct password:
@$FND_TOP/sql/afvltput.sql ISG ASADMIN <password>


  • Ensure the following SQL returns a 'Y".
select fnd_web_sec.validate_login('ASADMIN','<password>') from dual;



To Manage Personalization in Oracle R12

Note: Validate the steps in TEST before doing in PROD. The personalization level will impact the dependency document path


To Disable Personalization if system not allowing to login:
DECLARE
stat boolean;
BEGIN
dbms_output.disable;
dbms_output.enable(100000);
stat := FND_PROFILE.SAVE('FND_DISABLE_OA_CUSTOMIZATIONS', 'Y', 'SITE');
IF stat THEN
dbms_output.put_line( 'Stat = TRUE - profile updated' );
ELSE
dbms_output.put_line( 'Stat = FALSE - profile NOT updated' );
END IF;
commit;
END;


To find personalization from backend:
SELECT
    jp.path_docid,
    jdr_mds_internal.getdocumentname(jp.path_docid) personalization_path,
    jp.path_name,
    jp.path_owner_docid,
    jp.path_seq,
    jp.path_type,
    jp.path_xml_encoding,
    jp.path_xml_version,
    jp.created_by,
    jp.creation_date,
    jp.last_updated_by,
    jp.last_update_date
FROM
    apps.jdr_paths jp
WHERE
    jp.path_docid IN (
        SELECT DISTINCT
            comp_docid
        FROM
            jdr_components
        WHERE
            comp_seq = 0
            AND comp_element = 'customization'
            AND comp_id IS NULL)
--AND   upper(jdr_mds_internal.getdocumentname(jp.path_docid) ) LIKE upper('%HOMEPG%')
AND jp.creation_date > SYSDATE - 7;


List the Personalization:
set serveroutput on;
SQL> exec jdr_utils.listcustomizations('/oracle/apps/fnd/framework/navigate/webui/HomePG');

Output:
/oracle/apps/fnd/framework/navigate/webui/customizations/function/OAHOMEPAGE/HomePG
/oracle/apps/fnd/framework/navigate/webui/customizations/site/0/HomePG

Export The Personalization:
adjava -mx128m -nojit oracle.jrad.tools.xml.exporter.XMLExporter \
/oracle/apps/fnd/framework/navigate/webui/customizations/site/0/HomePG \
-username apps \
-password apps \
-dbconnection "(description=(address_list=(ADDRESS=(PROTOCOL=TCP)(HOST=test.orcl1.com)(PORT=1526)))(CONNECT_DATA=(SID=TEST)))" \
-rootdir /usr/tmp

Note: Output file will be saved in xml format in rootdir location
Example: /usr/tmp/oracle/apps/fnd/framework/navigate/webui/customizations/site/0/HomePG.xml


Delete the personalization document:
SQL> exec jdr_utils.deletedocument('/oracle/apps/fnd/framework/navigate/webui/customizations/site/0/HomePG);
SQL> commit;
Bounce Apache web server & Clear the Cache

Import The Personalization:
adjava -mx128m -nojit oracle.jrad.tools.xml.importer.XMLImporter \
/usr/tmp/oracle/apps/fnd/framework/navigate/webui/customizations/site/0/HomePG.xml \
-username apps \
-password apps \
-dbconnection "(description=(address_list=(ADDRESS=(PROTOCOL=TCP)(HOST=test.orcl1.com)(PORT=1526)))(CONNECT_DATA=(SID=TEST)))" \
-rootdir /usr/tmp 


Maintenance Scripts 01

### Note: Kindly Verify the scripts in TEST environment before using in PROD Instance
### Script to extract files changed last 1 Day
############ Script STARTS Here ##############
echo " "
echo " system_time $HOSTNAME "
echo "++++++++++++++++++++++++++++++"
date
echo "-----------------------------------------------------------"
echo " users currently logged in terminal "
echo "++++++++++++++++++++++++++++++++++++"
who
echo "-----------------------------------------------------------"
echo " File from OA_HTML "
echo "+++++++++++++++++++"
cd $OA_HTML
find . -type f -mtime -1 -ls
echo "-----------------------------------------------------------"
echo " file from common_top "
echo "++++++++++++++++++++++"
cd $COMMON_TOP
find . -type f -mtime -1 -ls
echo "-----------------------------------------------------------"
echo " files from appl_top "
echo "+++++++++++++++++++++"
cd $APPL_TOP
find . -type f -mtime -1 -ls
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
############ Script ENDS Here ##############


### List File modified on Particular Date
find . -type f -newermt 2019-03-12 ! -newermt 2019-03-13 -ls
 

### List File modified from Specified Date
find . -type f -newermt 2019-03-12 -ls


### Script to compile invalid objects based on count
### It will spool the output for every run time
### Crontab Entry 
### */30 5-17 * * 0-4 $HOME/compile_object.sh > /dev/null 2>&1

############ Script STARTS Here ##############
. /u01/test/db_home/12.1.0/TEST_testdb.env

sqlplus -s / as sysdba <<EOF
set serveroutput on;
spool compile_object.log
DECLARE
invd_count NUMBER;
BEGIN
  SELECT COUNT(*) INTO invd_count FROM dba_objects WHERE status='INVALID';
IF invd_count > 0 THEN
  dbms_output.put_line ('Invalid Object Count is :'||invd_count );
  dbms_output.put_line ('LOOP Started' );
  execute immediate 'ALTER MATERIALIZED VIEW apps.XX_OBJECT_mv COMPILE';
  utl_recomp.recomp_parallel(2);
  dbms_output.put_line ('LOOP Ended' );
END IF;
 SELECT COUNT(*) INTO invd_count FROM dba_objects WHERE status='INVALID';
 dbms_output.put_line ('Invalid Object Count is :'||invd_count );
END;
/
spool off;
EOF
############ Script ENDS Here ##############



### Generate tar script for run filesystem

select 'tar -cvzf /u02/EBS_BKP/R122_PROD_'|| SUBSTR(SUBSTR(PATH,0,INSTR(PATH,'/inst',1)),-4,3)
|| TO_CHAR(SYSDATE, '_DD_MON_YYYY')
||'.tar.gz '||
SUBSTR(PATH,0,INSTR(PATH,'/inst',1))||'EBSapps' tar_cmd from fnd_oam_context_files
where
NAME NOT IN ('TEMPLATE','METADATA')
and CTX_TYPE='A'
and status='S'
and text like '%<file_edition_type oa_var="s_file_edition_type">run</file_edition_type>%';



### Update the password for EBS user from backend
declare
cursor c1 is
Select * from fnd_user where user_id=8774;
begin
for cr1 in c1 loop
BEGIN
  FND_USER_PKG.UPDATEUSER(x_user_name             => cr1.user_name
                         ,x_owner                 => NULL
                         ,x_unencrypted_password  => 'welcome'
                         ,x_password_date         => SYSDATE
                         );
END;
end loop;
end;
/
commit;


Load Balancer Configuration High Level Steps in EBS

High Level Steps Involved in Load Balance configuration in EBS R12.2

 
 
Configuration Topologies: 

Using Hardware Load Balancers with Single Web Entry Point:
  •     Update Applications Context File
  •     Common Steps**

Using Hardware Load Balancers with Multiple Web Entry Points:
  •     txkChangeProfH.sql SERVRESP
  •     Update Applications Context File
  •     Common Steps**

Using Hardware Load Balancers with Functional Redirection:
  •     txkChangeProfH.sql SERVRESP
  •     Update Applications Context File
  •     Update profiles responibility level  (afservrespval.sql)
  •     Common Steps**

Using Domain Name Server (DNS) Load Balancing with Single Web Entry Point:
  •     Configure DNS
  •     Update Applications Context File
  •     Common Steps**
Note: DNS Load Balancing requires Oracle HTTP Server to be configured on all the nodes


Common Steps**
  •     Run the AutoConfig utility on all the application tier Servers
  •     Restart application server processes
  •     Test sign on from the load balancer entry point