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

Error - irep_parser.pl - Can't locate Class/MethodMaker.pm

$ cd $APPL_TOP_NE
$ mkdir perl

Download patch 13602850. Unzip the file & it contains the following perl modules:

   Compress-Raw-Zlib-2.009
   Compress-Zlib-2.009
   Class-MethodMaker-1.12

Compress-Raw-Zlib-2.009]$ perl Makefile.PL
Compress-Raw-Zlib-2.009]$ make
Compress-Raw-Zlib-2.009]$ make install

Compress-Zlib-2.009]$ perl Makefile.PL
Compress-Zlib-2.009]$ make
Compress-Zlib-2.009]$ make install

Class-MethodMaker-1.12]$ perl Makefile.PL
Class-MethodMaker-1.12]$ make
Class-MethodMaker-1.12]$ make install

Reference: 1529412.1

Steps to create APPSRO schema in Oracle EBS R12.2

sqlplus / as sysdba
create user appsro identified by <pwd>;
grant connect to appsro;
grant create synonym to appsro;
commit;

sqlplus apps/apps
set head off
set newpage none
set linesize 150
set pagesize 9999
spool create_synonyms.sql
select 'create synonym ' || OBJECT_NAME || ' for ' || OWNER ||'.' ||OBJECT_NAME || ';' from all_objects where OWNER not in ('SYS','SYSTEM') and OBJECT_NAME not like '%/%' and OBJECT_TYPE in ('TABLE');
spool off

set head off
set newpage none
set linesize 150
set pagesize 9999
spool grant_select.sql
select 'grant select on '|| OWNER ||'.' ||OBJECT_NAME || ' to appsro;' from all_objects where OWNER not in ('SYS','SYSTEM') and OBJECT_NAME not like '%/%' and OBJECT_TYPE in ('TABLE');
spool off
exit

sqlplus / as sysdba
@grant_select.sql
exit;

sqlplus SYSTEM/<PWD>
alter session set current_schema=APPS;
exec AD_ZD_PREP.ENABLE_CUSTOM_USER('APPSRO');

sqlplus appsro/<pwd>
@create_synonyms.sql
exit;

-- After completion of above steps validate the invalid objects count.

Oracle Standby Configuration - Quick Reference

 Primary Database Parameters:

db_unique_name = PRIM
db_recovery_file_dest_size = 200g
db_recovery_file_dest = '/u01/app/oracle/oradata/RECO_DEST'
log_archive_dest_1= 'location=USE_DB_RECOVERY_FILE_DEST'
log_archive_dest_2 = "SERVICE=STBY LGWR ASYNC=20480 
DB_UNIQUE_NAME = STBY OPTIONAL REOPEN=15 MAX_FAILURE=10 NET_TIMEOUT=30"
log_archive_config = 'dg_config=(PRIM,STBY)'
log_archive_min_succeed_dest = 1
standby_file_management = AUTO
Remote_login_passwordfile = exclusive
log_archive_format = 'PRIM_%s_%t_%r.arc'
db_file_name_convert = '/u01/app/oracle/oradata/STBY','/u01/app/oracle/oradata/PRIM'
log_file_name_convert = '/u01/app/oracle/oradata/STBY','/u01/app/oracle/oradata/PRIM'
fal_server = STBY
fal_client = PRIM



Standby Database Parameters:

db_unique_name = STBY
db_recovery_file_dest_size = 200g
db_recovery_file_dest = '/u01/app/oracle/oradata/RECO_DEST'
db_flashback_retention_target = 2880
log_archive_dest_1 = 'location=USE_DB_RECOVERY_FILE_DEST'
log_archive_dest_2 = "SERVICE=PRIM LGWR ASYNC=20480 DB_UNIQUE_NAME=PRIM OPTIONAL REOPEN=15 MAX_FAILURE=10 NET_TIMEOUT=30"
log_archive_config = 'dg_config=(STBY,PRIM)'
log_archive_min_succeed_dest = 1
standby_file_management = AUTO
Remote_login_passwordfile = exclusive
log_archive_format = 'STBY_%s_%t_%r.arc'
db_file_name_convert ='/u01/app/oracle/oradata/PRIM','/u01/app/oracle/oradata/STBY'
log_file_name_convert = '/u01/app/oracle/oradata/PRIM','/u01/app/oracle/oradata/STBY'
fal_server = PRIM
service_names = STBY
fal_client = STBY


Standy Database Using RMAN:
 
$ rman TARGET sys/PASSWD@PRIM AUXILIARY sys/PASSWD@STBY
 
RMAN> DUPLICATE DATABASE FOR STANDBY FROM ACTIVE DATABASE DORECOVER nofilenamecheck;


Manage Physical Standby:

SQL> alter database recover managed standby database disconnect from session;
SQL> alter database recover managed standby database cancel;

SQL> SELECT UNIQUE THREAD# AS THREAD, MAX(SEQUENCE#) OVER (PARTITION BY thread#) AS LAST from V$ARCHIVED_LOG;

SQL> select sequence#, applied, to_char(first_time, 'mm/dd/yy hh24:mi:ss') first  from v$archived_log  order by first_time;

SQL> SELECT PROCESS,STATUS, THREAD#,SEQUENCE#, BLOCK#, BLOCKS FROM V$MANAGED_STANDBY;


Convert to Snapshot Standby [READ/WRITE] Validation:

SQL> alter database recover managed standby database cancel;
SQL> alter database flashback on;
SQL> select database_role, flashback_on from v$database;
SQL> alter database convert to snapshot standby;
SQL> shutdown immediate;
SQL> startup
SQL> select database_role, flashback_on from v$database;

set linesize 150
col name format a50
col scn format 99999999
col time format a32
SQL> SELECT NAME, SCN, TIME, DATABASE_INCARNATION#, GUARANTEE_FLASHBACK_DATABASE,STORAGE_SIZE/(1024*1024) storage_size_MB FROM V$RESTORE_POINT;
 (OR)
RMAN> LIST RESTORE POINT ALL;

SQL> startup mount force;
SQL> alter database convert to physical standby;
SQL> shutdown immediate;
SQL> startup nomount;
SQL> alter database mount standby database;
SQL> alter database recover managed standby database disconnect from session;

SQL> select estimated_flashback_size/1024/1024 "Estimated Flbacklog Size mb", retention_target/60 "Hours of flback logs", flashback_size/1024/1024 "Current Flbacklog Size mb"
from v$flashback_database_log;

SQL> select oldest_flashback_scn "oldest flback SCN",
oldest_flashback_time "oldest flback time"
from v$flashback_database_log;

set lines 120
col NAME format a30
SQL> select CON_ID,CON_UID,GUID,NAME,OPEN_MODE from v$pdbs;
SQL> select DB_UNIQ_NAME,PDB_UID,NAME,VALUE$ from PDB_SPFILE$;

Oracle EBS R12.2 with 19c Database - Overview


Oracle Database 19.3 was certified with Oracle E-Business Suite Release 12.2 on-premises.

As part of upgrading Database to 19c, we will convert EBS database to the CDB architecture with a single pluggable database (PDB).


Limitations:
  • A CDB with one PDB (single tenant) is currently the only certified deployment for Oracle E-Business Suite with Database 19c. i.e. A CDB with multiple PDBs (multitenant) is not currently certified.
  • A non-CDB architecture is not planned to be certified or supported for EBS with Database 19c.
  • UTL_FILE_DIR database initialization parameter has been de-supported. txkCfgUtlfileDir.pl to migrate your previous UTL_FILE_DIR database initialization parameter settings to the new parameter when you upgrade your database.

Following are the new database context variables:
s_pluggable_database
s_pdb_name
s_cdb_name
s_cdb_unique_name
s_dbService
s_db_tenancy
s_cdb_tnsadmin


Environment Files: 
  • Two environments are created in 19c EBS Database -- cdb & pdb respectively
  • we can also set ORACLE_PDB_SID=<PDB_NAME> to connect PDB instance directly.
  • PDB Environment are sourced for tasks like - autoconfig, ETCC validation. 
  • CDB environments are sourced for tasks like - Oracle Home patching.
High Level Steps in EBS configuration:
Database Tier:

Database Listener should have below entry, to successfully connect PDB to generate context file.
USE_SID_AS_SERVICE_<CDBNAME>=ON

Following step creates context file and updates PDB configuration,

$ cd $ORACLE_HOME
$ . ./txkSetCfgCDB.env dboraclehome=/u01/app/oracle/product/19.3.0.0/dbhome_1

$ cd bin
$ perl txkPostPDBCreationTasks.pl -dboraclehome=/u01/app/oracle/product/19.3.0.0/dbhome_1 -outdir=/u01/app/oracle/product/19.3.0.0/dbhome_1/appsutil/log -cdbsid=TESTCDB -pdbsid=TEST -appsuser=apps -dbport=1521 -servicetype=[dbsystem|exadatadbsystem|onpremise]


Application Tier:

Update the tnsnames.ora in below format and run autoconfig

<TWO_TASK> =
 (DESCRIPTION =
  (ADDRESS = (PROTOCOL=tcp)(HOST=<hostname>.<domain>)(PORT=1521))
  (CONNECT_DATA = (SERVICE_NAME=TEST)(INSTANCE_NAME=TESTCDB))
 )

EBS Workflow Configuration & SSL Setup

SQL> select target_node from fnd_concurrent_queues where concurrent_queue_name like 'WFMLRSVC%';

SQL> SELECT b.component_name, 
       c.parameter_name, 
       a.parameter_value
FROM fnd_svc_comp_param_vals a, fnd_svc_components b, fnd_svc_comp_params_b c
WHERE b.component_id = a.component_id 
     AND b.component_type = c.component_type 
     AND c.parameter_id = a.parameter_id
     AND c.encrypted_flag = 'N'
     AND b.component_name like '%Mailer%'
     AND c.parameter_name in ('OUTBOUND_SERVER', 'REPLYTO')
ORDER BY c.parameter_name;

SMTP Telnet Test:
telnet [outbound server] 25
EHLO [mailer node]
MAIL FROM: [reply_to address]
RCPT TO: [my_test_email_address]
DATA
Subject: Test message

Test message body
.
quit

Verify SMTP server:
$AFJVAPRG -classpath $AF_CLASSPATH -Dprotocol=smtp -Dserver=test.domain.com -Dport=25 -Daccount=<user_account> -Dconnect_timeout=120 oracle.apps.fnd.wf.mailer.Mailer

Verify IMAP server:
$AFJVAPRG -classpath $AF_CLASSPATH -Dprotocol=imap -Dserver=test.domain.com -Dport=143 -Daccount=<user_account> -Dpassword=<password> -Dconnect_timeout=120 -Dfolder=INBOX oracle.apps.fnd.wf.mailer.Mailer

 

Workflow SSL Configuration in R12.2:

Issue Description:
We enabled TLS in Oracle EBS R12.2 and configured the Workflow Mailer (SMTP), the services started but the email was not sending. Workflow Mailer log file recorded SSL certificate not valid error.


Solution:

Step 1: Take a backup of cacerts file
$ cd $OA_JRE_TOP/lib/security/
$ cp cacerts cacerts_bkp


Step 2: Import the ca.crt
$ keytool -import -alias email_cert -file ca.crt -trustcacerts -v -
keystore cacerts  

Enter keystore password: [default password changeit]

Trust this certificate? [no]:  Yes
Certificate was added to keystore
[Storing cacerts]


Step 3: Verify the certificate listed in cacerts (OPTIONAL STEP)
keytool -list -v -keystore $OA_JRE_TOP/lib/security/cacerts -storepass changeit > cacertslist01.txt 


Step 4: Update MAILER_SSL_TRUSTSTORE using the below script
sqlplus apps @$FND_TOP/sql/afsvcpup.sql
>> 10010
>> 10223
>> $OA_JRE_TOP/lib/security/cacerts