Friday, August 16, 2019

Oracle Enterprise Command Center Framework Release 12.2 installation and integration with Oracle EBS 12.2.8

Oracle Enterprise Command Center Framework Release 12.2 installation and integration with Oracle EBS 12.2.8


Introduction


This post describes Oracle Enterprise Command Center Framework (ECC) installation and configuration steps. It is not meant to replace MOS Doc ID 2495053.1, which is very good and detailed. We want to share our experience including faced errors and solutions.
And good news for those who like to see ECC in action. You can try it yourself in our demo environment. Just log in and choose Payables manager or Receivables manager responsibility and navigate to the command center menu entry.

Operating System configuration


Supported OS versions:

Oracle Linux 6 or Red Hat Enterprise Linux 6 (64-bit)
Oracle Linux 7 or Red Hat Enterprise Linux 7 (64-bit)
We prepared standalone Oracle Linux 7 virtual machine for the ECC installation.

Required OS resources

MOS Doc ID 2495053.1 provides table describing OS resources requirements. We started with minimal resources assignment as it can be easily changed for a virtual machine.
Number of usersNumber of recordsNumber of CoresRequired Memory
502 million23 GB

Firewall settings

If you protect your servers using firewall, access to certain ports on the ECC server needs to be provided. If you are using OEL 7, firewall-cmd and switched to drop zone by default then following commands will allow connections from the EBS server to the admin and managed Weblogic servers ports:
firewall-cmd --permanent --zone=drop --add-rich-rule="rule family="ipv4" \
source address="192.168.1.2/32" \
port protocol="tcp" port="7775" accept"
 
firewall-cmd --permanent --zone=drop --add-rich-rule="rule family="ipv4" \
source address="192.168.1.2/32" \
port protocol="tcp" port="7776" accept"
 
firewall-cmd --reload
Please adjust zone name and source address according to your environment.
If you decide to create ECC schema in EBS database, you will need to allow access from ECC server to EBS database port. Example of iptables command to achieve that which needs to be executed on the EBS server:
-A INPUT -s 192.168.1.3/32 -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT

Network configuration

Configure hostname
[root@ecc ~]# hostname
ecc.localdomain
Ensure that it’s resolved into an IP address either by DNS or by adding an alias into /etc/hosts file.
Also make sure that ECC server can reach EBS server via hostname. Example of /etc/hosts file:
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1 ecc.localdomain ecc
192.168.1.2 demo.enginatics.com demo

Create OS users and groups

Our ECC installation is owned by oracle user and oinstall group:
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle

Download and install quick install package


Create directory for ECC installation root. Example: /u01. It will be referred as $ECC_BASE
Download patch 28779983 from MOS
Unzip patch into a stage directory
unzip p28779983_R12_GENERIC.zip
Copy the .bsx file to the $ECC_BASE directory. Add executable permissions to it
chmod +x *.bsx
From $ECC_BASE directory, execute installer:
./*.bsx
Installer creates two directories:
insta_client: The SQL*Plus client directory
Oracle: Oracle Enterprise Command Center Framework quick install scripts and software

EBS 12.2.8 required patches


EBS patches need to be applied before configuring ECC. Below list of patches is specific for our EBS 12.2.8 instance as we have already applied some of the patches listed as required. First two patches: ATG consolidated patch and adapter patch are mandatory. Other patches depend on the products with Enterprise Command Centers that you want to use and installed languages.
Patches must be applied in the order below and shouldn’t be merged. I merged command center patches though after applying first two patches separately.
Please note that patch list is unique for every EBS instance and below patches shouldn’t be applied in your system blindly!
[-]28780020:R12.ATG_PF.C ATG consolidated patch for 12.2.8 release
[-]28780241:R12.ATG_PF.C. adapter patch
[-]28780031:R12.FIN_PF.C Financials consolidated patch.
[-]28816408:R12.CC_PF.C //Customer Relationship Management consolidated patch
[-]28779987:R12.PRC_PF.C // Procurement consolidated patch
[-]29008305:R12.PJ_PF.C // Projects  consolidated patch
[-]28780037:R12.SCM_PF.C //Supply Chain Management  consolidated patch
[-]29760524:R12.BOM.D // Supply Chain Management Command Centers required patch
[-]29551366:R12.FA.C // Oracle Assets Command Center required patch
[-]29622411:R12.PO.D // Oracle Contract Lifecycle Management for Public Sector Command Center
[-]29550207:R12.EAM.C // Oracle Enterprise Asset Management Command Center
[-]29551003:R12.ICX.D // Oracle iProcurement
[-]29551335:R12.AP.C // Oracle Payables Command Center
[-]28969483:R12.OKL.C // Oracle Lease and Finance Management Command Center
 [+]12.2.3
 [+]R12.AD.C.delta.7
 [+]19060002 //R12.FIN_PF.C.Delta.5
 [+]19245366 //R12.ATG_PF.C.Delta.5 Release
 [+]R12.TXK.C.delta.7
 [+]18106421:R12.XLA.C – Import AAD With Overwrite Option for FAH Customers (bug 18106421)
 [+]26922723:R12.FA.C - ALLOW FULL RETIREMENT OVERLAPPING ADJ WHEN AMORTIZED ADJUSTMENTS IN PRIOR 
 [+]27193501:R12.FA.C - CONTRACT ID IS BLANKED OUT AFTER PERFORMING UNPLANNED DEPRECIATION 
 [+]26962903:R12.FA.C - ALLOW CONTRACT ID UPDT SEPARATE FROM FINANCIAL ATTRIB UPDT FOR FULLY
 [-]27673594:R12.FA.C - TRANSFER INTO PARTIAL UNIT DISTRIBUTIONS IN ADDITION PERIOD YIELDS 
 [-]27839335:R12.FA.C - ERROR WHEN PERFORMING MULTIPLE COST AND UNIT ADJUSTMENT IN PERIOD OF
 [-]26437073:R12.AR.C - NOT ABLE TO APPLY AR PATCH 19663965:R12.AR.C
 [-]28528332:R12.OKL.C - WHEN APPLYING 12.2 UNIFIED PATCH, XLIFFLOADER.CLASS FAILED FOR ESA 
 [+]25467949:R12.OKS.C – USAGE LIMIT AND CONSOLIDATION BASED BILLING  (bug 25467949)
 [+]25609551:R12.OKS.C – USAGE LIMITAND CONSOLIDATION BASED BILLING PART 2 (bug 25609551)
 [+]25741450:R12.OKS.C – UNABLE TO ADD ASSET (COUNTER LINE) TO EXISTING USAGE ON AN ACTIVE 
 [+]23229913:R12.OKS.C - 12.1.3 -> 12.2.0 UPGRADE DRIVER WORKER FAILED OKSPDFSD.LDT 
 [+]25780023:R12.OKS.C - CONSOLIDATED GROUP BILLING IS NOT CONSIDER THE ROUND UP AMOUNT 
 [+]20515032:R12.OKS.C - OKS_ACTIVATE_CONTRACT_PUB.ACTIVATE_CONTRACT RETURN STATUS=W WHILE 
 [+]25962587:R12.OKC.C - INVALID VALUE FOR THE COLUMN LINE_RENEWAL_TYPE WHILE CALL OKS TERMINATION
 [+]26814339:R12.OKS.C - COUNTER BILLING AMOUNT FOR USAGE CONTRACTS IN PREVIEW MODE IS ALWAYS 
 [+]27667083:R12.OKS.C - E.TST1228:OKSHTMLUI:BILLING IS COMPLETED WITH WARNING WHEN CONSOLIDATION
[-]29359390:R12.ONT.C // Oracle Order Management Command Center with Order Management Release 12.2.4
[-]29602948:R12.GMO.C // Oracle Process Manufacturing Command Center
[-]29556032:R12.AR.C // Oracle Receivables Command Center
[-]29592222:R12.OKS.C // Oracle Service Contracts Command Center
[-]17361679:R12.ONT.C // Incremental load of data performance related patch
[-]19766498:R12.HZ.C // Incremental load of data performance related patch
[-]27073573:R12.INV.C // Incremental load of data performance related patch
[-]29419432:R12.JTT.C Patch for working in Arabic with ECC
[-]29179916 Customer Relationship Management help
[-]29179895 Financials online help
[-]29179889 procurement online help
[-]29179908 projects online help
[-]29179822 Supply Chain Management online help
Example of adop apply phase commands is presented below:
{ echo $appspass; echo $systempass; echo $wlspass; }| adop phase=apply patchtop=/backup/patches/EBS12.2/ECC patches=28780020,28780020_AR:u28780020.drv,28780020_F:u28780020.drv,28780241,28780241_AR:u28780241.drv,28780241_D:u28780241.drv,28780241_F:u28780241.drv,28780241_ZHS:u28780241.drv
 
{ echo $appspass; echo $systempass; echo $wlspass; }| adop phase=apply patchtop=/backup/patches/EBS12.2/ECC patches=29760524:u29760524.drv,29622411_ZHS:u29622411.drv,29622411_F:u29622411.drv,29622411_D:u29622411.drv,29622411_AR:u29622411.drv,29622411:u29622411.drv,29602948_ZHS:u29602948.drv,29602948_F:u29602948.drv,29602948_D:u29602948.drv,29602948_AR:u29602948.drv,29602948:u29602948.drv,29592222_ZHS:u29592222.drv,29592222_F:u29592222.drv,29592222_D:u29592222.drv,29592222_AR:u29592222.drv,29592222:u29592222.drv,29556032_ZHS:u29556032.drv,29556032_F:u29556032.drv,29556032_D:u29556032.drv,29556032_AR:u29556032.drv,29556032:u29556032.drv,29551366_ZHS:u29551366.drv,29551366_F:u29551366.drv,29551366_D:u29551366.drv,29551366_AR:u29551366.drv,29551366:u29551366.drv,29551335_ZHS:u29551335.drv,29551335_F:u29551335.drv,29551335_D:u29551335.drv,29551335_AR:u29551335.drv,29551335:u29551335.drv,29551003:u29551003.drv,29550207:u29550207.drv,29359390_ZHS:u29359390.drv,29359390_F:u29359390.drv,29359390_D:u29359390.drv,29359390_AR:u29359390.drv,29359390:u29359390.drv,29008305_ZHS:u29008305.drv,29008305_F:u29008305.drv,29008305_D:u29008305.drv,29008305_AR:u29008305.drv,29008305:u29008305.drv,28969483_ZHS:u28969483.drv,28969483_F:u28969483.drv,28969483_D:u28969483.drv,28969483_AR:u28969483.drv,28969483:u28969483.drv,28816408_ZHS:u28816408.drv,28816408_F:u28816408.drv,28816408_D:u28816408.drv,28816408_AR:u28816408.drv,28816408:u28816408.drv,28780037_ZHS:u28780037.drv,28780037_F:u28780037.drv,28780037_D:u28780037.drv,28780037_AR:u28780037.drv,28780037:u28780037.drv,28779987_ZHS:u28779987.drv,28779987_F:u28779987.drv,28779987_D:u28779987.drv,28779987_AR:u28779987.drv,28779987:u28779987.drv,28528332_ZHS:u28528332.drv,28528332_F:u28528332.drv,28528332_D:u28528332.drv,28528332_AR:u28528332.drv,28528332:u28528332.drv,27839335_ZHS:u27839335.drv,27839335_F:u27839335.drv,27839335_D:u27839335.drv,27839335_AR:u27839335.drv,27839335:u27839335.drv,27673594_ZHS:u27673594.drv,27673594_F:u27673594.drv,27673594_D:u27673594.drv,27673594_AR:u27673594.drv,27673594:u27673594.drv,27073573:u27073573.drv,26437073_ZHS:u26437073.drv,26437073_F:u26437073.drv,26437073_D:u26437073.drv,26437073_AR:u26437073.drv,26437073:u26437073.drv,19766498:u19766498.drv,17361679:u17361679.drv,28780031,28780031_AR:u28780031.drv,28780031_D:u28780031.drv,28780031_F:u28780031.drv,29419432,29179916,29179895,29179889,29179908,29179822  merge=yes

Configure the Oracle Enterprise Command Center Installation


Database setup

ECC configuration includes setting up the database, ECC Framework and EBS integration.
For the full description of the parameters please refer to the Doc ID 2495053.1. I provide example config file below:
[oracle@ecc quickInstall]$ cat EccConfig.properties
 
# Path of the ECC directory
 
ECC_BASE=/u01
 
# Directory location of ecc-config.properties
ECC_CONFIG_LOC=$ECC_BASE/Oracle/quickInstall/env/ecc
 
# Log directories for ECC and SOLR
ECC_LOG_DIR=$ECC_BASE/Oracle/quickInstall/logs/ecc
 
# Ebs Middletier properties
 
EBS_MIDDLETIER_HOST_FQDN=demo.enginatics.com
EBS_MIDDLETIER_PORT=80
EBS_MIDDLETIER_PROTOCOL=http
 
# Ebs Middletier DB Details
 
EBS_DB_URL=jdbc:oracle:thin:@demo.enginatics.com:1521:EBSDB
EBS_DB_USERNAME=apps
EBS_ECC_USER=DEVELOPER
TIMEZONE=CET
 
# ECC DB Details
ECC_DB_URL=jdbc:oracle:thin:@demo.enginatics.com:1521:EBSDB
ECC_DB_USERNAME=ECC
ECC_HOST_NAME=ecc.enginatics.com
ECC_HOST_PROTOCOL=http
 
#Zookeeper host url
zkHost=localhost:2181/solr
#SECURITY_FILTER_ALLOWED_HOSTS=
# clustering mode enabled or standalone
CLUSTER_MODE=standalone
ECC_DATA_CACHE_SIZE=2000
 
ECC_ADMIN_PORT=7775
ECC_MANAGED_PORT=7776
ECC_ADMIN_SSL_PORT=7777
ECC_MANAGED_SSL_PORT=7778
 
#Heap Memory settings
ADMIN_HEAP_USER_MEM=1024M
MANAGED_HEAP_USER_MEM=2048M
 
ECC_DEFAULT_LANGUAGE=en
#ECC supported languages comma separated
ECC_LANGUAGES=en
 
#Dataset replication distributes complete copies of dataset index to one or more other servers.
#value 1 means no replication, value 2 means the index will be exist in two servers and so on
#DATASET_NUM_REPLICAS=
 
#options solr or olt
DATASET_ANALYZER_DEFAULT=solr
DATASET_ANALYZER_OVERRIDE_SOLR_DATASETS=
DATASET_ANALYZER_OVERRIDE_OLT_DATASETS=
CLUSTER_JPA_MANAGER=zookeeper
Run script to update environment file
$ECC_BASE/Oracle/quickInstall/createEnvFile.sh
Run envSetup.sh script
Choose option “1. Database Setup”
[oracle@ecc quickInstall]$ ./envSetup.sh
 
Select which option you want to proceed with
 
1. Database Setup
 
2. Install Weblogic Server
 
3. Create ECC Domain
 
4. Create EBS JNDI
 
5. Integrate ECC with EBS
 
6. Exit:
 
1
 
Selected ECC DB is jdbc:oracle:thin:@demo.enginatics.com:1521:EBSDB
 
Is the user ECC existing in ECC database [y/n]? n
 
Enter the database system user name: system
 
Enter the database system password:
Enter the password for ECC DB user ECC (Passwords must be at least 8 characters long):
Confirm the password for user ECC :
Creating ECC...
ECC user created successfully
Creating ECC schema...
ECC schema created successfully
Verify connection to new ECC schema
Apply environment file created by envSetup.sh script before connection
source $ECC_BASE/Oracle/quickInstall/env/ecc.env
sqlplus $ECC_DB_USER@\"$ECC_DB_CONNECTION\"
Enter password:
 
SQL*Plus: Release 12.2.0.1.0 Production on Fri May 31 17:38:20 2019
 
Copyright (c) 1982, 2016, Oracle.  All rights reserved.
 
Enter password:
Last Successful login time: Fri May 31 2019 14:54:54 +02:00
 
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
 
SQL> show user;
USER is "ECC"

Set Up Oracle Enterprise Command Center Framework

Choose options 2 and 3 to perform setup.
Example output is presented below:
Select which option you want to proceed with
 
1. Database Setup
 
2. Install Weblogic Server
 
3. Create ECC Domain
 
4. Create EBS JNDI
 
5. Integrate ECC with EBS
 
6. Exit:
 
2
Launcher log file is /tmp/OraInstall2019-05-24_09-46-46AM/launcher2019-05-24_09-46-46AM.log.
Extracting the installer . . . . . . . . . . . . . . . . . . . . Done
Checking if CPU speed is above 300 MHz. Actual 3696.282 MHz Passed
Checking swap space: must be greater than 512 MB. Actual 4087 MB Passed
Checking if this platform requires a 64-bit JVM. Actual 64 Passed (64-bit not required)
Checking temp space: must be greater than 300 MB. Actual 3506 MB Passed
Preparing to launch the Oracle Universal Installer from /tmp/OraInstall2019-05-24_09-46-46AM
Log: /tmp/OraInstall2019-05-24_09-46-46AM/install2019-05-24_09-46-46AM.log
Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved.
Reading response file..
Skipping Software Updates
Starting check : CertifiedVersions
Expected result: One of oracle-6, oracle-7, redhat-7, redhat-6, SuSE-11, SuSE-12
Actual Result: oracle-7.6
Check complete. The overall result of this check is: Passed
CertifiedVersions Check: Success.
 
Starting check : CheckJDKVersion
Expected result: 1.8.0_131
Actual Result: 1.8.0_141
Check complete. The overall result of this check is: Passed
CheckJDKVersion Check: Success.
 
Validations are enabled for this session.
Verifying data
Copying Files
Percent Complete : 10
Percent Complete : 20
Percent Complete : 30
Percent Complete : 40
Percent Complete : 50
Percent Complete : 60
Percent Complete : 70
Percent Complete : 80
Percent Complete : 90
Percent Complete : 100
 
The installation of Oracle Fusion Middleware 12c WebLogic Server and Coherence 12.2.1.3.0 completed successfully.
Logs successfully copied to /u01/ecc_demo/Oracle/software/oraInventory/logs.
Issue
Faced following error during ECC Domain creation:
Connectiong to t3://localhost:7775 to create JNDI for url:jdbc:oracle:thin:@demo.enginatics.com:1521:EBSDB
Connecting to t3://localhost:7775 with userid weblogic ...
This Exception occurred at Mon May 27 10:05:45 CEST 2019.
javax.naming.CommunicationException: Failed to initialize JNDI context, tried 2 time or times totally, the interval of each time is 0ms.
t3://localhost:7775: Destination 0:0:0:0:0:0:0:1, 7775 unreachable.; nested exception is:
java.net.ConnectException: Connection refused (Connection refused); No available router to destination.; nested exception is:
java.rmi.ConnectException: No available router to destination. [Root exception is java.net.ConnectException: t3://localhost:7775: Destination 0:0:0:0:0:0:0:1, 7775 unreachable.; nested exception is:
java.net.ConnectException: Connection refused (Connection refused); No available router to destination.; nested exception is:
java.rmi.ConnectException: No available router to destination.]
Problem invoking WLST - Traceback (innermost last):
File "/u01/ecc_demo/Oracle/software/temp/createJndi.py", line 22, in ?
File "", line 19, in connect
File "", line 553, in raiseWLSTException
WLSTException: Error occurred while performing connect : Error getting the initial context. There is no server running at t3://localhost:7775 : Failed to initialize JNDI context, tried 2 time or times totally, the interval of each time is 0ms.
t3://localhost:7775: Destination 0:0:0:0:0:0:0:1, 7775 unreachable.; nested exception is:
java.net.ConnectException: Connection refused (Connection refused); No available router to destination.; nested exception is:
java.rmi.ConnectException: No available router to destination.
Use dumpStack() to view the full stacktrace :
Root cause
ECC domain wasn’t unpacked completely. Logfile didn’t show unpacking actually started:
<< read template from "/u01/ecc_demo/Oracle/software/weblogic/templates/ecc_domain_template.jar" >> succeed: read template from "/u01/ecc_demo/Oracle/software/weblogic/templates/ecc_domain_template.jar"
<< set config option JavaHome to "/u01/ecc_demo/Oracle/software/java/jdk" >> succeed: set config option JavaHome to "/u01/ecc_demo/Oracle/software/java/jdk"
<< set config option ServerStartMode to "prod" >> succeed: set config option ServerStartMode to "prod"
<< find Security "ecc_domain" as obj0
<< find Security "ecc_domain" as obj1
<< find Security "ecc_domain" as obj2
<< find Security!User "ecc_domain!weblogic" as obj3 >> succeed: find Security!User "ecc_domain!weblogic" as obj3
<< find User "weblogic" as obj4 >> succeed: find User "weblogic" as obj4
Password for ECC admin user weblogic contained 8 characters, but wasn’t secure enough. I added special character and number to password and script executed without the issue.
Ecc domain creation output
Select which option you want to proceed with
 
1. Database Setup
 
2. Install Weblogic Server
 
3. Create ECC Domain
 
4. Create EBS JNDI
 
5. Integrate ECC with EBS
 
6. Exit:
 
3
 
Enter the password for ECC DB user ECC :
Enter the password for ECC admin user weblogic (Passwords must be at least 8 characters long):
Confirm the password for ECC admin user weblogic :
Creating ECC Domain ...
 
Configuring the wallet
<< read template from "/u01/ecc_demo/Oracle/software/weblogic/templates/ecc_domain_template.jar" >> succeed: read template from "/u01/ecc_demo/Oracle/software/weblogic/templates/ecc_domain_template.jar"
<< set config option JavaHome to "/u01/ecc_demo/Oracle/software/java/jdk" >> succeed: set config option JavaHome to "/u01/ecc_demo/Oracle/software/java/jdk"
<< set config option ServerStartMode to "prod" >> succeed: set config option ServerStartMode to "prod"
<< find Security "ecc_domain" as obj0
<< find Security "ecc_domain" as obj1
<< find Security "ecc_domain" as obj2
<< find Security!User "ecc_domain!weblogic" as obj3 >> succeed: find Security!User "ecc_domain!weblogic" as obj3
<< find User "weblogic" as obj4 >> succeed: find User "weblogic" as obj4
<< set obj4 attribute Password to "********" >> succeed: set obj4 attribute Password to "********"
<< set obj4 attribute IsDefaultAdmin to "true" >> succeed: set obj4 attribute IsDefaultAdmin to "true"
>> validateConfig "KeyStorePasswords"
>> succeed: validateConfig "KeyStorePasswords"
<< write Domain to "/u01/ecc_demo/Oracle/Middleware/user_projects/domains/ecc_domain" .................................................. >> succeed: write Domain to "/u01/ecc_demo/Oracle/Middleware/user_projects/domains/ecc_domain"
<< close template >> succeed: close template
 
ECC Domain is created...
ECC Log directory is: /u01/ecc_demo/Oracle/quickInstall/logs/ecc
Updating ECC Domain with the Config properties location /u01/ecc_demo/Oracle/quickInstall/env/ecc/ecc-config.properties
ecc.log.path update in /u01/ecc_demo/Oracle/quickInstall/env/ecc/ecc-config.properties successful
zkHost.url update in /ecc-config.properties successful
ecc.languages update in /ecc-config.properties successful
ecc.base_language update in /ecc-config.properties successful
dataset.analyzer.default update in /ecc-config.properties successful
dataset.analyzer.override.solr.datasets update in /ecc-config.properties successful
dataset.analyzer.override.olt.datasets update in /ecc-config.properties successful
cluster.jpa.manager update in /ecc-config.properties successful
rmi.url update in /ecc-config.properties successful
Starting ECC high availability configuation script.
Configuring ECC in single mode.
zookeeper numbers 1
updating dataset.num.replicas=1
dataset.num.replicas update in /ecc-config.properties successful
eccConfigLocation jvm property configured for eccManaged Server
Configuring WLS servers ports ...
 
CLASSPATH=/u01/ecc_demo/Oracle/software/java/jdk/lib/tools.jar:/u01/ecc_demo/Oracle/Middleware/wlserver/modules/features/wlst.wls.classpath.jar:
 
PATH=/u01/ecc_demo/Oracle/Middleware/wlserver/server/bin:/u01/ecc_demo/Oracle/Middleware/wlserver/../oracle_common/modules/thirdparty/org.apache.ant/1.9.8.0.0/apache-ant-1.9.8/bin:/u01/ecc_demo/Oracle/software/java/jdk/jre/bin:/u01/ecc_demo/Oracle/software/java/jdk/bin:/u01/ecc_demo/Oracle/software/java/jdk/bin:/u01/insta_client:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/oracle/.local/bin:/home/oracle/bin:/u01/ecc_demo/Oracle/Middleware/wlserver/../oracle_common/modules/org.apache.maven_3.2.5/bin
 
Your environment has been set.
 
Initializing WebLogic Scripting Tool (WLST) ...
 
Welcome to WebLogic Server Administration Scripting Shell
 
Type help() for help on available commands
 
Exiting WebLogic Scripting Tool.
 
WLS ports configured successfully for ECC
Configuring WLS servers SSL ports ...
 
CLASSPATH=/u01/ecc_demo/Oracle/software/java/jdk/lib/tools.jar:/u01/ecc_demo/Oracle/Middleware/wlserver/modules/features/wlst.wls.classpath.jar:
 
PATH=/u01/ecc_demo/Oracle/Middleware/wlserver/server/bin:/u01/ecc_demo/Oracle/Middleware/wlserver/../oracle_common/modules/thirdparty/org.apache.ant/1.9.8.0.0/apache-ant-1.9.8/bin:/u01/ecc_demo/Oracle/software/java/jdk/jre/bin:/u01/ecc_demo/Oracle/software/java/jdk/bin:/u01/ecc_demo/Oracle/software/java/jdk/bin:/u01/insta_client:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/oracle/.local/bin:/home/oracle/bin:/u01/ecc_demo/Oracle/Middleware/wlserver/../oracle_common/modules/org.apache.maven_3.2.5/bin
 
Your environment has been set.
 
Initializing WebLogic Scripting Tool (WLST) ...
 
Welcome to WebLogic Server Administration Scripting Shell
 
Type help() for help on available commands
 
Exiting WebLogic Scripting Tool.
 
WLS SSL ports configured successfully for ECC
Updating ECC Domain for Heap space...
Done updating ECC Domain for Heap space...
 
Starting ECC Domain Admin Server ...
Started the ECC Admin Server successfully
 
Creating JNDI for ECC schema...
 
CLASSPATH=/u01/ecc_demo/Oracle/software/java/jdk/lib/tools.jar:/u01/ecc_demo/Oracle/Middleware/wlserver/modules/features/wlst.wls.classpath.jar:
 
PATH=/u01/ecc_demo/Oracle/Middleware/wlserver/server/bin:/u01/ecc_demo/Oracle/Middleware/wlserver/../oracle_common/modules/thirdparty/org.apache.ant/1.9.8.0.0/apache-ant-1.9.8/bin:/u01/ecc_demo/Oracle/software/java/jdk/jre/bin:/u01/ecc_demo/Oracle/software/java/jdk/bin:/u01/ecc_demo/Oracle/software/java/jdk/bin:/u01/insta_client:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/oracle/.local/bin:/home/oracle/bin:/u01/ecc_demo/Oracle/Middleware/wlserver/../oracle_common/modules/org.apache.maven_3.2.5/bin
 
Your environment has been set.
 
Initializing WebLogic Scripting Tool (WLST) ...
 
Welcome to WebLogic Server Administration Scripting Shell
 
Type help() for help on available commands
 
Connectiong to t3://localhost:7775 to create JNDI for url:jdbc:oracle:thin:@demo.enginatics.com:1521:EBSDB
Connecting to t3://localhost:7775 with userid weblogic ...
Successfully connected to Admin Server "AdminServer" that belongs to domain "ecc_domain".
 
Warning: An insecure protocol was used to connect to the server.
To ensure on-the-wire security, the SSL port or Admin port should be used instead.
 
Location changed to edit tree.
This is a writable tree with DomainMBean as the root.
To make changes you will need to start an edit session via startEdit().
For more help, use help('edit').
 
Starting an edit session ...
Started edit session, be sure to save and activate your changes once you are done.
No stack trace available.
eccdb does not exist
Saving all your changes ...
Saved all your changes successfully.
Activating all your changes, this may take a while ...
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
eccdb created Successfully
Disconnected from weblogic server: AdminServer
JNDI setup successfully for ECC data source
old 5: l_conn_string VARCHAR2(300) :='&&2';
new 5: l_conn_string VARCHAR2(300) :='demo.enginatics.com:1521/EBSDB';
old 6: l_conn_name VARCHAR2(30) := '&&1';
new 6: l_conn_name VARCHAR2(30) := 'ebsdb';
Starting creating connections with parameters : connection Name :ebsdb
Connection String : demo.enginatics.com:1521/EBSDB
port pos = 21
sid pos = 26
port pos = 21
sid pos = 26
l_hostname = demo.enginatics.com
l_port = 1521
l_service_name = EBSDB
l_conn_name = ebsdb
created connection with parameters : connection Name :ebsdb Connection String :
demo.enginatics.com:1521/EBSDB
 
PL/SQL procedure successfully completed.
 
old 8: l_conn_string VARCHAR2(300) :='&&3';
new 8: l_conn_string VARCHAR2(300) :='http://ecc.enginatics.com:7776';
old 9: l_conn_name VARCHAR2(30) := '&&1';
new 9: l_conn_name VARCHAR2(30) := 'ebsdb';
old 10: l_system_name VARCHAR2(100) := '&&2';
new 10: l_system_name VARCHAR2(100) := 'EBS';
Creating Source System with Parameters : Connection String =
http://ecc.enginatics.com:7776 Connection Name = ebsdb System Name = EBS
Creating Source System with System Name = EBS already exists . Deleting and
creating again
Creating Source System with Parameters : Connection String =
http://ecc.enginatics.com:7776 Connection Name = ebsdb System Name = EBS
protcol = http:
protcol = http:
protcol = http
protoppos = 8
port_pos = 26
l_hostname =ecc.enginatics.com
l_port =7776
Created Source System with Parameters :
Created Source System with Parameters : Connection String =
http://ecc.enginatics.com:7776 Connection Name = ebsdb System Name = EBS
 
PL/SQL procedure successfully completed.
 
ZooKeeper JMX enabled by default
Using config: /u01/ecc_demo/Oracle/software/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
Zookeeper started. Starting Managed Server
Starting the eccManaged ...
Started the eccManaged successfully
 
Configured the ECC domain successfully.
Confirm that both admin and managed servers started
[root@ecc quickInstall]# vi /u01/ecc_demo/Oracle/Middleware/user_projects/domains/ecc_domain/bin/domain.log
[root@ecc quickInstall]# vi /u01/ecc_demo/Oracle/Middleware/user_projects/domains/ecc_domain/bin/ecc.log
Search for message “The server started in RUNNING mode”
Login to ECC admin url:
http://[ECC_HOST_NAME]:[ECC_MANAGED_PORT]/ecc
Example:
http://ecc.enginatics.com:7776/ecc/


Configuring the JNDI to Connect to Oracle E-Business Suite:

Login to EBS apps node and find dbc file under $FND_SECURE directory.
Run following command, providing FQDN of ecc host and full path to dbc file:
java oracle.apps.fnd.security.AdminDesktop apps/[apps_password] CREATE NODE_NAME=[fully_qualified_domain_name_of_target_ECC_host_system] DBC=[full_local_DBC_file_path]
Example:
java oracle.apps.fnd.security.AdminDesktop apps/$pass CREATE NODE_NAME=ecc.enginatics.com DBC=/u01/install/APPS/fs2/inst/apps/EBSDB_apps/appl/fnd/12.0.0/secure/EBSDB.dbc

Copy generated dbc file to the ECC server under quickInstall directory as follows:
[oracle@demo secure]$ scp EBSDB_ECC.ENGINATICS.COM.dbc oracle@ecc.enginatics.com:/u01/ecc_demo/Oracle/quickInstall/connection.dbc
Login to EBS as user with administrative privileges
Сhoose User Management Responsibility > Users function
Add UMX|APPS_SCHEMA_CONNECT role to the EBS_ECC_USER user in EccConfig.properties as per Doc ID 1556742.1

Otherwise you may get error:
weblogic.application.ModuleException: weblogic.common.resourcepool.ResourceSystemException:
Could not create connection for datasource 'ebsDB'.
 
The returned message is: ORA-01017: invalid username/password; logon denied
Another possible cause of this error: make sure that HOST in connection.dbc is resolvable from ECC server.
APPS_JDBC_URL=jdbc\:oracle\:thin\:@(DESCRIPTION\=(ADDRESS_LIST\=(LOAD_BALANCE\=YES)(FAILOVER\=YES)(ADDRESS\=(PROTOCOL\=tcp)(<strong>HOST\=demo.enginatics.com</strong>)(PORT\=1521) ))(CONNECT_DATA\=(SERVICE_NAME\=EBSDB)))
Script output:
4
Creating JNDI ....
Checking connection.dbc file availability...
 
DBC file /u01/ecc_demo/Oracle/quickInstall/connection.dbc available
 
Enter the EBS apps password:
Verify if the Node is registered in the EBS database...
Node name ECC.ENGINATICS.COM
EBS_ECC_USER DEVELOPER
DB URL demo.enginatics.com:1521/EBSDB
Node is registerd in EBS
 
Check if the FND USER DEVELOPER exists
User DEVELOPER already exists in FND_USER. Validating user
 
Enter password:
User DEVELOPER successfully validated
 
Provide ECC admin credentials for JNDI setup
 
Enter the password for weblogic admin for ECC domain :
Creating JNDI for ECC to access EBS DB...
 
CLASSPATH=/u01/ecc_demo/Oracle/software/java/jdk/lib/tools.jar:/u01/ecc_demo/Oracle/Middleware/wlserver/modules/features/wlst.wls.classpath.jar:
 
PATH=/u01/ecc_demo/Oracle/Middleware/wlserver/server/bin:/u01/ecc_demo/Oracle/Middleware/wlserver/../oracle_common/modules/thirdparty/org.apache.ant/1.9.8.0.0/apache-ant-1.9.8/bin:/u01/ecc_demo/Oracle/software/java/jdk/jre/bin:/u01/ecc_demo/Oracle/software/java/jdk/bin:/u01/ecc_demo/Oracle/software/java/jdk/bin:/u01/insta_client:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/oracle/.local/bin:/home/oracle/bin:/u01/ecc_demo/Oracle/Middleware/wlserver/../oracle_common/modules/org.apache.maven_3.2.5/bin
 
Your environment has been set.
 
Initializing WebLogic Scripting Tool (WLST) ...
 
Welcome to WebLogic Server Administration Scripting Shell
 
Type help() for help on available commands
 
Connecting to t3://localhost:7775 with userid weblogic ...
Successfully connected to Admin Server "AdminServer" that belongs to domain "ecc_domain".
 
Warning: An insecure protocol was used to connect to the server.
To ensure on-the-wire security, the SSL port or Admin port should be used instead.
 
Location changed to edit tree.
This is a writable tree with DomainMBean as the root.
To make changes you will need to start an edit session via startEdit().
For more help, use help('edit').
 
Starting an edit session ...
Started edit session, be sure to save and activate your changes once you are done.
No stack trace available.
ebsDB does not exist
Saving all your changes ...
Saved all your changes successfully.
Activating all your changes, this may take a while ...
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
Disconnected from weblogic server: AdminServer
JNDI created for EBS database...
Testing
Log in to the Oracle УСС domain admin console at the following URL: http://[ECC_HOST_NAME]:[ECC_ADMIN_PORT]/console
Example: http://ecc.enginatics.com:7775/console
Go to Services > Data Sources.
Select the ebsdb JNDI configuration in the right pane.
Navigate to the Monitoring tab and select the Testing subtab.
Select the managed server and choose the Test Data Source button. The following message should appear: Success Test of ebsdb on server was successful.


Integrate Oracle Enterprise Command Center Framework with Oracle E-Business Suite

Choose option 5, Integrate With EBS of the envSetup.sh script
5
Proceed with Integration? confirm(y) otherwise(n):
y
Error:
weblogic.management.provider.UpdateException: [Management:141190]The commit phase of the configuration update failed with an exception.
Problem invoking WLST - Traceback (innermost last):
File "/u01/ecc_demo/Oracle/software/temp/setConnFiltersEccServer.py", line 58, in ?
File "", line 481, in activate
File "", line 553, in raiseWLSTException
WLSTException: Error occurred while performing activate : Error while Activating changes. : [Management:141190]The commit phase of the configuration update failed with an exception.
Use dumpStack() to view the full stacktrace :
 
Connection Filters cannot be applied..
Done.
Found additional errors in /u01/ecc_demo/Oracle/Middleware/user_projects/domains/ecc_domain/servers/AdminServer/logs/AdminServer.log:
weblogic.utils.NestedRuntimeException: [Security:090233]problem with connection filter rules
Caused By: java.text.ParseException: demo: Name or service not known
demo.enginatics.com is resolved by DNS, but ecc installer for some reason wants to use hostname separately.
Fix:
Add hostname entry to /etc/hosts:
192.168.1.2 demo
Rerun setup
5
Proceed with Integration? confirm(y) otherwise(n):
y
 
Enter the password for ECC DB user ECC :
Enter the password for ECC admin user weblogic :
Updating EBS Security Manager
old 1: update ECC_SOURCE_SYSTEM set SECURITY_MANAGER='&1' where SYSTEM_NAME='EBS'
new 1: update ECC_SOURCE_SYSTEM set SECURITY_MANAGER='oracle.ecc.security.extensions.EbsEccSecurityManager' where SYSTEM_NAME='EBS'
 
1 row updated.
 
Commit complete.
 
Done
Restarting the ECC managed server
Stopping ECC Managed Server ...
 
Stopping Weblogic Server...
 
Initializing WebLogic Scripting Tool (WLST) ...
 
Welcome to WebLogic Server Administration Scripting Shell
 
Type help() for help on available commands
 
Connecting to t3://localhost:7775 with userid weblogic ...
Successfully connected to Admin Server "AdminServer" that belongs to domain "ecc_domain".
 
Warning: An insecure protocol was used to connect to the server.
To ensure on-the-wire security, the SSL port or Admin port should be used instead.
 
Shutting down the server eccManaged with force=false while connected to AdminServer ...
..............
 
Exiting WebLogic Scripting Tool.
 
Done
Stopping Derby Server...
Derby server stopped.
ZooKeeper JMX enabled by default
Using config: /u01/ecc_demo/Oracle/software/zookeeper/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
ZooKeeper JMX enabled by default
Using config: /u01/ecc_demo/Oracle/software/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
Zookeeper started. Starting Managed Server
Starting the eccManaged ...
Started the eccManaged successfully
 
EBS_IP6 is 192.168.1.2
EBS_IP4 is 192.168.1.2
 
Setting Connection Filter for ECC Server ...
 
CLASSPATH=/u01/ecc_demo/Oracle/software/java/jdk/lib/tools.jar:/u01/ecc_demo/Oracle/Middleware/wlserver/modules/features/wlst.wls.classpath.jar:
 
PATH=/u01/ecc_demo/Oracle/Middleware/wlserver/server/bin:/u01/ecc_demo/Oracle/Middleware/wlserver/../oracle_common/modules/thirdparty/org.apache.ant/1.9.8.0.0/apache-ant-1.9.8/bin:/u01/ecc_demo/Oracle/software/java/jdk/jre/bin:/u01/ecc_demo/Oracle/software/java/jdk/bin:/u01/ecc_demo/Oracle/software/java/jdk/bin:/u01/insta_client:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/oracle/.local/bin:/home/oracle/bin:/u01/ecc_demo/Oracle/Middleware/wlserver/../oracle_common/modules/org.apache.maven_3.2.5/bin
 
Your environment has been set.
 
Initializing WebLogic Scripting Tool (WLST) ...
 
Welcome to WebLogic Server Administration Scripting Shell
 
Type help() for help on available commands
 
Connecting to t3://localhost:7775 with userid weblogic ...
Successfully connected to Admin Server "AdminServer" that belongs to domain "ecc_domain".
 
Warning: An insecure protocol was used to connect to the server.
To ensure on-the-wire security, the SSL port or Admin port should be used instead.
 
Location changed to domainConfig tree. This is a read-only tree
with DomainMBean as the root MBean.
For more help, use help('domainConfig')
 
Location changed to domainRuntime tree. This is a read-only tree
with DomainMBean as the root MBean.
For more help, use help('domainRuntime')
 
Server name AdminServer
IPv4URL t3://127.0.0.1:7775
t3://[0:0:0:0:0:0:0:1%lo]:7775
Location changed to edit tree.
This is a writable tree with DomainMBean as the root.
To make changes you will need to start an edit session via startEdit().
For more help, use help('edit').
 
Starting an edit session ...
Started edit session, be sure to save and activate your changes once you are done.
Saving all your changes ...
Saved all your changes successfully.
Activating all your changes, this may take a while ...
The edit lock associated with this edit session is released once the activation is completed.
Activation completed
 
Connection Filter is applied sucessfully..
Done.
old 8: l_conn_string VARCHAR2(300) :='&&3';
new 8: l_conn_string VARCHAR2(300) :='http://demo.enginatics.com:80';
old 9: l_conn_name VARCHAR2(30) := '&&1';
new 9: l_conn_name VARCHAR2(30) := 'ebsdb';
old 10: l_system_name VARCHAR2(100) := '&&2';
new 10: l_system_name VARCHAR2(100) := 'EBS';
Source System with System Name = EBS already exists .
Updating Source System with Parameters : Connection String =
http://demo.enginatics.com:80 Connection Name = ebsdb System Name = EBS
protcol = http:
protcol = http:
protcol = http
protoppos = 8
port_pos = 29
l_hostname =demo.enginatics.com
l_port =80
Updated Source System with Parameters : Connection String =
http://demo.enginatics.com:80 Connection Name = ebsdb System Name = EBS
 
PL/SQL procedure successfully completed.
Edit EBS context variables using OAM
Remove ‘#’ from s_ecc_conf_comment
Before:

After:

Setup following variables accordingly:
s_ecc_protocol – The protocol for accessing the Oracle Enterprise Command Center Framework administration UI.
s_ecc_web_host – The Oracle Enterprise Command Center Framework host name.
s_ecc_managed_server_port – The port for the Oracle Enterprise Command Center Framework manager server.
Example:
s_ecc_protocol=http
s_ecc_web_host=ecc.enginatics.com
s_ecc_managed_server_port=7776



[oracle@demo ~]$ grep s_ecc $CONTEXT_FILE
 
         ecc.enginatics.com
         7776
         http
Run autoconfig
[oracle@demo ~]$ cd $ADMIN_SCRIPTS_HOME
[oracle@demo scripts]$ ./adautocfg.sh
Edit OHS configuration files
Get OHS instance location:
[oracle@demo ~]$ grep -i s_ohs_instance_loc $CONTEXT_FILE
/u01/install/APPS/fs1/FMW_Home/webtier/instances/EBS_web_OHS1
[oracle@demo ~]$ grep -i s_ohs_component $CONTEXT_FILE
EBS_web
Go to directory /config/OHS//
[oracle@demo EBS_web]$ cd /u01/install/APPS/fs1/FMW_Home/webtier/instances/EBS_web_OHS1/config/OHS/EBS_web
Check that OHS configuration file ecc.conf includes the following settings:
RewriteEngine on
RewriteRule ^/ecc(.*)$ http://:/%{REQUEST_URI}?system=EBS [CO=GUEST_LANGUAGE_ID::,NE,P,QSA,L]
Example:
RewriteEngine on
RewriteRule ^/ecc$ http://ecc.enginatics.com:7776/ecc/?system=EBS [CO=ORA_ECC_GUEST_LANG:en:demo.enginatics.com,NE,P,QSA,L]
Restart EBS services
cd $ADMIN_SCRIPTS_HOME
./adstpall.sh
./adstrtal.sh


Import Enterprise Command Center Applications

Copy $ECC_BASE/Oracle/quickInstall/scripts/patchEccFiles.pl script from ecc host to EBS host.
Login to EBS server and apply run fs environment.
[oracle@demo ~]$ . ./EBSapps.env run
Create empty staging directory.
[oracle@demo scripts]$ mkdir /tmp/staging
Run patchEccFiles.pl script
./patchEccFiles.pl
[oracle@demo tmp]$ ./patchEccFiles.pl
 
Enter temporary directory for ECC Files(Should be used only for this task and be empty): /tmp/staging
 
Enter EBS DB apps user id(default: apps) :
 
Enter EBS DB apps user password:
List of languages installed in EBS:
--------------------------------------------------
| Language| ECC Language Code|
--------------------------------------------------
| ARABIC | ar |
| GERMAN | de |
| FRENCH | fr |
| AMERICAN | en |
| SIMPLIFIED CHINESE | zh-Hans |
---------------------------------------------------
 
List of languages supported in ECC:
Arabic(ar), Brazilian Portugese(pt), Canadian French(fr-CA),Croatian(hr), Cyrillic Kazakh(kk), Cyrillic Serbian(sr), Czech(cs), Danish(da), Dutch(nl), English(en), Finnish(fi), French(fr), German(de), Greek(el), Hebrew(he), Hungarian(hu), Indonesian(id), Italian(it), Japanese(ja), Korean(ko), Latin Spanish(es-419),Latin Serbian(sr-Latn), Lithuanian(lt), Norwegian(no), Polish(pl), Portugese(pt-PT),Romania(ro), Russian(ru), Simplified Chinese(zh-Hans), Slovak(sk), Slovenian(sl), Spanish(es), Swedish(sv), Thai(th), Traditional Chinese(zh-Hant), Turkish(tr), Ukranian(uk), Vietnamese(vi)
 
NOTE: Only languages installed and enabled in ECC will be processed successfully
Example: Enter ar,pt for Arabic and Brazilian Portugese language respectively. Enter all(ALL) for all languages
 
Enter the Language code(s) from the list mentioned above to run the translation for:
 
Do you want to add all products at once(Y) or specify the subset(N): Y
 
Adding product top AP
 
Adding product top AR
 
Adding product top BOM
 
Adding product top CN
 
Adding product top CS
 
Adding product top EAM
 
Adding product top FA
 
Adding product top GMO
 
Adding product top ICX
 
Adding product top INV
 
Adding product top JMF
 
Adding product top OKL
 
Adding product top OKS
 
Adding product top ONT
 
Adding product top OZF
 
Adding product top PA
 
Adding product top PO
 
Adding product top WIP
 
Importing application /tmp/staging/ap/12.0.0/patch/115/ecc/applications/ap_ecc.zip
ECC WEB ENTRY URL:http://demo.enginatics.com:80/ecc
ECC Application File:/tmp/staging/ap/12.0.0/patch/115/ecc/applications/ap_ecc.zip
Importing file /tmp/staging/ap/12.0.0/patch/115/ecc/applications/ap_ecc.zip finished with response [{"STATUS":200,"logFileName":"import_20190529095220.log"}]
Imported application /tmp/staging/ap/12.0.0/patch/115/ecc/applications/ap_ecc.zip successfully
 
Importing application /tmp/staging/ar/12.0.0/patch/115/ecc/applications/ar_ecc.zip
ECC WEB ENTRY URL:http://demo.enginatics.com:80/ecc
ECC Application File:/tmp/staging/ar/12.0.0/patch/115/ecc/applications/ar_ecc.zip
Importing file /tmp/staging/ar/12.0.0/patch/115/ecc/applications/ar_ecc.zip finished with response [{"STATUS":200,"logFileName":"import_20190529095227.log"}]
Imported application /tmp/staging/ar/12.0.0/patch/115/ecc/applications/ar_ecc.zip successfully
 
Importing application /tmp/staging/fa/12.0.0/patch/115/ecc/applications/fa_ecc.zip
ECC WEB ENTRY URL:http://demo.enginatics.com:80/ecc
ECC Application File:/tmp/staging/fa/12.0.0/patch/115/ecc/applications/fa_ecc.zip
Importing file /tmp/staging/fa/12.0.0/patch/115/ecc/applications/fa_ecc.zip finished with response [{"STATUS":200,"logFileName":"import_20190529095228.log"}]
Imported application /tmp/staging/fa/12.0.0/patch/115/ecc/applications/fa_ecc.zip successfully
 
Importing application /tmp/staging/okl/12.0.0/patch/115/ecc/applications/okl_ecc.zip
ECC WEB ENTRY URL:http://demo.enginatics.com:80/ecc
ECC Application File:/tmp/staging/okl/12.0.0/patch/115/ecc/applications/okl_ecc.zip
Importing file /tmp/staging/okl/12.0.0/patch/115/ecc/applications/okl_ecc.zip finished with response [{"STATUS":200,"logFileName":"import_20190529095229.log"}]
Imported application /tmp/staging/okl/12.0.0/patch/115/ecc/applications/okl_ecc.zip successfully
 
SUMMARY REPORT:
-----------------------------------------------
| Product| Application | Status|
-----------------------------------------------
| AP | ap_ecc.zip | Success |
| AR | ar_ecc.zip | Success |
| FA | fa_ecc.zip | Success |
| OKL | okl_ecc.zip | Success |
-----------------------------------------------


Providing administrators access to ECC admin UI


Assign the ECC Developer responsibility to desired user.


Providing administrators access to the ECC core solr application


To allow login to core Solr application from additional hosts apart from ecc and integrated EBS servers:
– Log in to ECC Weblogic admin console.
– Go to Domain Structure->ecc_domain
– Choose Security->Filter->Lock & Edit
– Add allow rule. Below example is for 192.0.1.1
192.0.1.1 * 7776 allow t3 t3s http https

Click ‘Save’ and ‘Activate Changes’
Verify login to Core Solr application by logging in to:
[ECC_HOST_PROTOCOL>]://[ECC_HOST_NAME]:[ECC_PORT]/core_ecc
Example:
http://ecc.enginatics.com:7776/core_ecc


Loading product data to ECC


Run concurrent programs for each product to perform data load into the ECC. Programs should also be scheduled to perform periodic incremental loads to update the data.
Example for products that we implemented:
Oracle Payables
Payables Command Center Data Load
To run this request you need to switch to Payables responsibility as it’s not available under System Administrator responsibility. I used ‘Payables manager’ responsibility.


Oracle Receivables
Receivables Command Center Data Load
To run this request you need to switch to Receivables responsibility as it’s not available under System Administrator responsibility. I used ‘Receivables manager’ responsibility.


Issue:
Requests failed with errors:
0:46:23.282 [pool-4-thread-1] DEBUG 1.o.e.i.u.s.i.IRDataLoadServiceImpl - startJob --> job 1976 application ar, collection null was being served by pool-4-thread-1 for load type FULL_LOAD10:46:23.290 [pool-4-thread-1] DEBUG 1.o.e.i.u.s.i.DataLoadControllerServiceImpl - loadDataForDataset --> application ar, collection ar-billproc was being served by pool-4-thread-1 for load type FULL_LOAD10:46:23.306 [pool-4-thread-1] ERROR 1.o.e.i.u.s.i.DataLoadControllerServiceImpl - Collection ar-billproc failed with error There is an error while registering the collection Collection ar-billproc Deletion -> Dataset ar-billproc deletion failed with error Error from server at http://ecc.enginatics.com:7776/core_ecc: Expected mime type application/octet-stream but got text/html.The Server is not able to service this request: [Socket:000445]Connection rejected, filter blocked Socket, weblogic.security.net.FilterException: [Security:090220]rule 14weblogic.security.net.FilterException: [Security:090220]rule 14 at weblogic.security.net.ConnectionFilterImpl.accept(ConnectionFilterImpl.java:163) at weblogic.socket.MuxableSocketDiscriminator.maybeFilter(MuxableSocketDiscriminator.java:253) at weblogic.socket.MuxableSocketDiscriminator.dispatch(MuxableSocketDiscriminator.java:139) at
Workaround:
EBS host is allowed to access 7776 port, so requests shouldn’t fail. Requests completed after removing following connection filter rule in Weblogic Admin console. Didn’t find other workaround so far.
* * 7776 deny

To update data, requests can be rerun in INCREMENTAL_LOAD mode.


Providing users access to ECC


Product-specific roles are used to provide access to ECC.
For list of the roles please refer to Doc ID 2495053.1.
Below is the example of role assignment performed in our system.

Providing access manually

In Oracle E-Business Suite, log in to the User Management responsibility, and navigate to the Roles and Role Inheritance page.
Search for desired responsibility

Click the “View In Hierarchy” icon for your responsibility

Click the Add Node icon for your responsibility

Search for the role you want to add and click ‘Select’

Next step is to update the associated grant for the product-specific Enterprise Command Center roles to reference the specific responsibility as the security context.
Click on expand to see the added role and click on update icon for the new role:

If this is the first responsibility to which you are adding to the role, click the Update icon for the grant you want to update.

Enter the name of the responsibility to which ECC role is added and click Apply


After this step Receivables Command Center should appear under Receivables Manager responsibility.


Note: If you don’t see function appear after the responsibility, you may need to clear EBS cache using Functional Administrator responsibility.

Automating access provision using script

To automate roles and grants configuration following script can be used. It should be ran from EBS run fs:
source EBSapps.env run
$FND_TOP/bin/UMX_ENDECA_RBACAuto.sh
It will prompt for csv file location, which should be prepared before running the script. If csv file is called UMX_ENDECA_RBAC.csv and located under same directory as UMX_ENDECA_RBACAuto.sh, it will be used automatically. Example of the file we used in our system to assign payables and receivables ecc roles to Payables manager, Receivables manager and ECC Developer:
PERMISSION_SET_CODE,RESPONSIBILITY_CODE,ENDECA_ROLE_CODE
AP_ECC_ACCESS_PS,FND_RESP|SQLAP|PAYABLES_MANAGER|STANDARD,UMX|AP_ECC_ACCESS_ROLE
AP_ECC_ACCESS_PS,FND_RESP|FND|ECC_DEVELOPER_RESP|STANDARD,UMX|AP_ECC_ACCESS_ROLE
AR_ECC_ACCESS_PS,FND_RESP|AR|RECEIVABLES_MANAGER|STANDARD,UMX|AR_ECC_ACCESS_ROLE
AR_ECC_ACCESS_PS,FND_RESP|FND|ECC_DEVELOPER_RESP|STANDARD,UMX|AR_ECC_ACCESS_ROLE
IAR_ECC_ACCESS_PS,FND_RESP|FND|ECC_DEVELOPER_RESP|STANDARD,UMX|IAR_ECC_ACCESS_ROLE
IAR_ECC_INT_ACCESS_PS,FND_RESP|FND|ECC_DEVELOPER_RESP|STANDARD,UMX|IAR_ECC_INT_ACCESS_ROLE
Example output:
[oracle@demo bin]$ ./UMX_ENDECA_RBACAuto.sh
 
APPS username: apps
 
APPS password:
 
Executing for Permission_set AP_ECC_ACCESS_PS , Responsibility_name FND_RESP|SQLAP|PAYABLES_MANAGER|STANDARD and Endeca_Role UMX|AP_ECC_ACCESS_ROLE
old 6: L_MENU_NAME varchar2(100) := '&1';
new 6: L_MENU_NAME varchar2(100) := 'AP_ECC_ACCESS_PS';
old 8: l_responsibility_name varchar2(300) := '&2';
new 8: l_responsibility_name varchar2(300) := 'FND_RESP|SQLAP|PAYABLES_MANAGER|STANDARD';
old 10: endeca_role_name varchar2(300) := '&3';
new 10: endeca_role_name varchar2(300) := 'UMX|AP_ECC_ACCESS_ROLE';
Completed Successfully.
 
PL/SQL procedure successfully completed.
Executing for Permission_set AP_ECC_ACCESS_PS , Responsibility_name FND_RESP|FND|ECC_DEVELOPER_RESP|STANDARD and Endeca_Role UMX|AP_ECC_ACCESS_ROLE
old 6: L_MENU_NAME varchar2(100) := '&1';
new 6: L_MENU_NAME varchar2(100) := 'AP_ECC_ACCESS_PS';
old 8: l_responsibility_name varchar2(300) := '&2';
new 8: l_responsibility_name varchar2(300) := 'FND_RESP|FND|ECC_DEVELOPER_RESP|STANDARD';
old 10: endeca_role_name varchar2(300) := '&3';
new 10: endeca_role_name varchar2(300) := 'UMX|AP_ECC_ACCESS_ROLE';
Completed Successfully.
 
PL/SQL procedure successfully completed.
Executing for Permission_set AR_ECC_ACCESS_PS , Responsibility_name FND_RESP|AR|RECEIVABLES_MANAGER|STANDARD and Endeca_Role UMX|AR_ECC_ACCESS_ROLE
old 6: L_MENU_NAME varchar2(100) := '&1';
new 6: L_MENU_NAME varchar2(100) := 'AR_ECC_ACCESS_PS';
old 8: l_responsibility_name varchar2(300) := '&2';
new 8: l_responsibility_name varchar2(300) := 'FND_RESP|AR|RECEIVABLES_MANAGER|STANDARD';
old 10: endeca_role_name varchar2(300) := '&3';
new 10: endeca_role_name varchar2(300) := 'UMX|AR_ECC_ACCESS_ROLE';
Role - Responsibility relationship already exists
Grant already exists
 
PL/SQL procedure successfully completed.
Executing for Permission_set AR_ECC_ACCESS_PS , Responsibility_name FND_RESP|FND|ECC_DEVELOPER_RESP|STANDARD and Endeca_Role UMX|AR_ECC_ACCESS_ROLE
old 6: L_MENU_NAME varchar2(100) := '&1';
new 6: L_MENU_NAME varchar2(100) := 'AR_ECC_ACCESS_PS';
old 8: l_responsibility_name varchar2(300) := '&2';
new 8: l_responsibility_name varchar2(300) := 'FND_RESP|FND|ECC_DEVELOPER_RESP|STANDARD';
old 10: endeca_role_name varchar2(300) := '&3';
new 10: endeca_role_name varchar2(300) := 'UMX|AR_ECC_ACCESS_ROLE';
Completed Successfully.
 
PL/SQL procedure successfully completed.

Access provision for all command centers.

I prepared UMX_ENDECA_RBAC.csv containing all responsibilities, permission sets and roles matched between each other.
FA_ECC_ACCESS_PS,FND_RESP|OFA|FIXED_ASSETS_MANAGER|STANDARD,UMX|FA_M_ECC_ACCESS_ROLE
FA_ECC_ACCESS_PS,FND_RESP|OFA|FIXED_ASSETS_ACCOUNTANT|STANDARD,UMX|FA_M_ECC_ACCESS_ROLE
FA_ECC_ACCESS_PS,FND_RESP|OFA|FIXED_ASSETS_MANAGER|STANDARD,UMX|FA_A_ECC_ACCESS_ROLE
FA_ECC_ACCESS_PS,FND_RESP|OFA|FIXED_ASSETS_ACCOUNTANT|STANDARD,UMX|FA_A_ECC_ACCESS_ROLE
FA_ECC_ACC_ACCESS_PS,FND_RESP|OFA|FIXED_ASSETS_MANAGER|STANDARD,UMX|FA_M_ECC_ACCESS_ROLE
FA_ECC_ACC_ACCESS_PS,FND_RESP|OFA|FIXED_ASSETS_ACCOUNTANT|STANDARD,UMX|FA_M_ECC_ACCESS_ROLE
FA_ECC_ACC_ACCESS_PS,FND_RESP|OFA|FIXED_ASSETS_MANAGER|STANDARD,UMX|FA_A_ECC_ACCESS_ROLE
FA_ECC_ACC_ACCESS_PS,FND_RESP|OFA|FIXED_ASSETS_ACCOUNTANT|STANDARD,UMX|FA_A_ECC_ACCESS_ROLE
OZF_CLAIM_ECC_MENU,FND_RESP|OZF|OZF_USER|STANDARD,UMX|OZF_ECC_ACCESS_ROLE
OZF_CLAIM_ECC_MENU,FND_RESP|OZF|OZF_AR_DED_SET_RESP|STANDARD,UMX|OZF_ECC_ACCESS_ROLE
PO_CLM_ECC_CO_PS,PUR_CLM_SUPER_USER,UMX|PO_CLM_ECC_CO_ROLE
PO_CLM_ECC_PMO_PS,SELF_SERV_CLM_PURCHASING_5,UMX|PO_CLM_ECC_PMO_ROLE
CST_ECC_ACCESS_PS,FND_RESP|BOM|COST_MANAGEMENT|STANDARD,UMX|CST_ECC_ACCESS_ROLE
CST_ECC_GMF_ACCESS_PS,FND_RESP|BOM|COST_MANAGEMENT|STANDARD,UMX|CST_ECC_ACCESS_ROLE
CST_ECC_ACCESS_PS,FND_RESP|CST|COST_MANAGEMENT|STANDARD,UMX|CST_ECC_ACCESS_ROLE
CST_ECC_GMF_ACCESS_PS,FND_RESP|CST|COST_MANAGEMENT|STANDARD,UMX|CST_ECC_ACCESS_ROLE
CST_ECC_ACCESS_PS,FND_RESP|GMF|OPM_FINANCIALS|STANDARD,UMX|CST_ECC_ACCESS_ROLE
CST_ECC_GMF_ACCESS_PS,FND_RESP|GMF|OPM_FINANCIALS|STANDARD,UMX|CST_ECC_ACCESS_ROLE
CST_ECC_ACCESS_PS,FND_RESP|BOM|COST_MANAGEMENT|STANDARD,UMX|CST_ECC_GMF_ACCESS_ROLE
CST_ECC_GMF_ACCESS_PS,FND_RESP|BOM|COST_MANAGEMENT|STANDARD,UMX|CST_ECC_GMF_ACCESS_ROLE
CST_ECC_ACCESS_PS,FND_RESP|CST|COST_MANAGEMENT|STANDARD,UMX|CST_ECC_GMF_ACCESS_ROLE
CST_ECC_GMF_ACCESS_PS,FND_RESP|CST|COST_MANAGEMENT|STANDARD,UMX|CST_ECC_GMF_ACCESS_ROLE
CST_ECC_ACCESS_PS,FND_RESP|GMF|OPM_FINANCIALS|STANDARD,UMX|CST_ECC_GMF_ACCESS_ROLE
CST_ECC_GMF_ACCESS_PS,FND_RESP|GMF|OPM_FINANCIALS|STANDARD,UMX|CST_ECC_GMF_ACCESS_ROLE
WIP_ECC_ACCESS_PERM_SET,FND_RESP|MSC|MFG_AND_DIST_SUPER_USER_APS|STANDARD,UMX|WIP_ECC_ACCESS_ROLE
EAM_ECC_ACCESS_PS,FND_RESP|EAM|MSU_VIS_OPS|STANDARD,UMX|EAM_ECC_ACCESS_ROLE
CN_ICM_ECC_ACCESS_PS,FND_RESP|CN|CN_INC_COMP_MANAGER|STANDARD,UMX|CN_ICM_ECC_ACCESS_ROLE
WSH_ECC_DASHBOARD_ACCESS_PS,FND_RESP|INV|INV_HTML|STANDARD,UMX|WSH_ECC_DASHBOARD_ACCESS_ROLE
ICX_ECC_ACCESS_PS,FND_RESP|ICX|SELF_SERVICE_PURCHASING_5|STANDARD,UMX|ICX_ECC_ACCESS_ROLE
IAR_ECC_ACCESS_PS,FND_RESP|AR|ARI_EXTERNAL|STANDARD,UMX|IAR_ECC_ACCESS_ROLE
IAR_ECC_ACCESS_PS,FND_RESP|AR|ARI_EXTERNAL|STANDARD,UMX|IAR_ECC_INT_ACCESS_ROLE
IAR_ECC_ACCESS_PS,FND_RESP|AR|ARI_INTERNAL|STANDARD,UMX|IAR_ECC_ACCESS_ROLE
IAR_ECC_ACCESS_PS,FND_RESP|AR|ARI_INTERNAL|STANDARD,UMX|IAR_ECC_INT_ACCESS_ROLE
IAR_ECC_INT_ACCESS_PS,FND_RESP|AR|ARI_EXTERNAL|STANDARD,UMX|IAR_ECC_ACCESS_ROLE
IAR_ECC_INT_ACCESS_PS,FND_RESP|AR|ARI_EXTERNAL|STANDARD,UMX|IAR_ECC_INT_ACCESS_ROLE
IAR_ECC_INT_ACCESS_PS,FND_RESP|AR|ARI_INTERNAL|STANDARD,UMX|IAR_ECC_ACCESS_ROLE
IAR_ECC_INT_ACCESS_PS,FND_RESP|AR|ARI_INTERNAL|STANDARD,UMX|IAR_ECC_INT_ACCESS_ROLE
OKL_ECC_OKL_PS,FND_RESP|OKL|LEASE SUPER USER|STANDARD,UMX|OKL_ECC_ACCESS_ROLE
ONT_ECC_PS,FND_RESP|ONT|ONT_HTMLUI_RESP|STANDARD,UMX|ONT_ECC_ROLE
JMF_ECC_ACCESS_PS,FND_RESP||JMF||JMF_SHIKYU_SUPER_USER||STANDARD,UMX|JMF_ECC_ACCESS_ROLE
AP_ECC_ACCESS_PS,FND_RESP|SQLAP|PAYABLES_MANAGER|STANDARD,UMX|AP_ECC_ACCESS_ROLE
GMO_ECC_ACCESS_PS,FND_RESP||GME||PRODUCTION SUPERVISOR||STANDARD,UMX|GMO_ECC_ACCESS_ROLE
PA_ECC_ACCESS_PS,FND_RESP|PA|PA_PRM_PROJ_SU_SVCS|STANDARD,UMX|PA_ECC_ACCESS_ROLE
AR_ECC_ACCESS_PS,FND_RESP|AR|RECEIVABLES_MANAGER|STANDARD,UMX|AR_ECC_ACCESS_ROLE
CS_ECC_SR_MGR_PS,FND_RESP|CS|CS_ECC_SERVICE_MANAGER|STANDARD,UMX|CS_ECC_SR_MGR_ACCESS_ROLE
CS_ECC_SR_MGR_PS,FND_RESP|CS|CS_ECC_SERVICE_MANAGER|STANDARD,UMX|CS_ECC_SR_AGNT_ACCESS_ROLE
CS_ECC_SR_MGR_PS,FND_RESP|CS|CSZ_CS_SPECIALIST|STANDARD,UMX|CS_ECC_SR_MGR_ACCESS_ROLE
CS_ECC_SR_MGR_PS,FND_RESP|CS|CSZ_CS_SPECIALIST|STANDARD,UMX|CS_ECC_SR_AGNT_ACCESS_ROLE
CS_ECC_SR_AGNT_PS,FND_RESP|CS|CS_ECC_SERVICE_MANAGER|STANDARD,UMX|CS_ECC_SR_MGR_ACCESS_ROLE
CS_ECC_SR_AGNT_PS,FND_RESP|CS|CS_ECC_SERVICE_MANAGER|STANDARD,UMX|CS_ECC_SR_AGNT_ACCESS_ROLE
CS_ECC_SR_AGNT_PS,FND_RESP|CS|CSZ_CS_SPECIALIST|STANDARD,UMX|CS_ECC_SR_MGR_ACCESS_ROLE
CS_ECC_SR_AGNT_PS,FND_RESP|CS|CSZ_CS_SPECIALIST|STANDARD,UMX|CS_ECC_SR_AGNT_ACCESS_ROLE
OKS_ECC_ACCESS,FND_RESP|OKS|OKS_MANAGER|STANDARD,UMX|OKS_ECC_ACCESS_ROLE

Clear cache

Command centers didn’t appear under the responsibilities after running above script. It was fixed by clearing EBS cache using Functional Administrator responsibility.

Conclusion

At this stage ECC installation and integration is complete. Reminding you again that you can try ECC in our demo instance. Just log in as DEVELOPER and choose desired product responsibility and find associated command center menu entry.
Please leave your comments if this article helped you or you faced any issues – we’re always happy to help you.

How to Assign and Revoke Role/Responsibility to a User using a Standard API? (Doc ID 373369.1)

APPLIES TO:

Oracle Application Object Library - Version 11.5.10.2 to 12.2 [Release 11.5 to 12.2]
Oracle User Management - Version 11.5.10.2 to 12.2 [Release 11.5 to 12.2]
Information in this document applies to any platform.
Checked for relevance on 26-August-2016


GOAL

Using a Standard API to Assign and Revoke Role/Responsibilities to a User

SOLUTION

1. Assign role to a user using an API

To assign role to a user using APIs, use the following API wf_local_synch.PropagateUserRole.
Example:
Begin
wf_local_synch.PropagateUserRole(
     p_user_name => '&USER_NAME',
     p_role_name => '&ROLE_KEY');
commit;
end;

2. Add a responsibility to a user using API fnd_user_resp_groups_api.Insert_Assignment

To add a responsibility to a user using and API, use the following API fnd_user_resp_groups_api.Insert_Assignment:
Example:
 begin
fnd_user_resp_groups_api.Insert_Assignment (
   user_id =>&USER_ID ,
   responsibility_id => &RESP_ID,
   responsibility_application_id =>$APPL_ID ,
   start_date => &START_DATE,
   end_date => &END_DATE,
   description =>'Sample
   example' );
commit;
end; 

This shall raise an error if the responsibility is assigned to a user, but if needed to update the responsibility assignment in case of responsibility existence, use the following API:
begin
fnd_user_pkg.addresp(
     '&User_Name',
     '&Responsablity_Application_Short_Name',
     '&Responsibility_Key',
     '&Security_Group',
     '&Description',
     '&Start_Date',
     '&End_Date' );
commit;
end;

3. Revoke a responsibility assignment to a user using fnd_user_pkg.delresp

To revoke a responsibility assignment to a user using an API, use fnd_user_pkg.delresp.
Example:
Begin
fnd_user_pkg.delresp(         
     '&User_Name',
      '&Responsibility_application_short_name',
      '&Responsibility_Key',
      '&Security_Group');
commit;
End;
 This simply end date the responsibility assignment to a user by the current system date.

4. Revoke an Indirect Responsibility

To revoke an indirect responsiblity (roles assigned using UMX) assignment to a user using APIs, use the following API Wf_local_synch.PropagateUserRole.
Example:
Begin
Wf_local_synch.PropagateUserRole(
       p_user_name => '&USER_NAME',
       p_role_name => '&ROLE_KEY',
       p_start_date=>'&Start_Date',
       p_expiration_date=>'&End_Date');
commit;
End;
End date the parent Role and it shall end date the remaining Roles.

Diagnostics and Utilities Community


Diagnostics
For the latest diagnostics, please reference Document 421245.1 E-Business Suite Diagnostics References for R12.


Utilities Community
Visit the Utilities community for help from industry experts or to share knowledge.

Actions to Verify When Running Into ORA-01017 While Creating Datasource | JNDI



NOTE:974949.1 - Oracle E-Business Suite Software Development Kit for Java (includes AppsDataSource, Java Authentication and Authorization Service, session management) Readme - Patch 13882058

APPLIES TO:

Oracle Application Object Library - Version 12.1.3 to 12.1.3 [Release 12.1]
Information in this document applies to any platform.

PURPOSE

The Note:974949.1 "Oracle E-Business Suite Software Development Kit for Java (includes AppsDataSource, Java Authentication and Authorization Service, session management)" explains the steps to create a Datasource for external applications to connect to the E-Business Suite database.
An error often reported here is the ORA-01017: invalid username/password; logon denied which normally indicates that a database user passed incorrect credentials. However when it comes to creating Datasource the ORA-01017 is raised as soon as there is an issue with the connection and the actual ORA message is not reporting the actual error. 
This document will provide a number of things to verify which may assist in troubleshooting the ORA-01017 when raised in context of Datasource.

TROUBLESHOOTING STEPS

IMPORTANT: The Datasource uses a FND user for the connection. This may either be the seeded ASADMIN user or a own created user. For simplicity the examples in this document refer to ASADMIN, however this should be replaced by your own user when appropriate.


1. Verify the FND user defined in the Datasource

The user in the Datasource should be a valid FND user created in E-Business Suite. For security reasons it's recommended this user does not have any responsibilities assigned, but only has the required role: Apps Schema Connect [internal name UMX|APPS_SCHEMA_CONNECT].
When using the credentials in the AppsLocalLogin.jsp this should allow to login successfully. Another quick method to check the credentials are correct is to run the following SQL
SQL> select fnd_web_sec.validate_login('ASADMIN', '<replace with password>' ) from dual;
Result:
Y = Credentials are correct
N = Credentials are not correct. Verify the credentials passed and also take into account case-sensitivity. Resolve this problem before continuing with the steps

Also confirm the role UMX|APPS_SCHEMA_CONNECT is assigned and not expired
SQL> select user_name, role_name, start_date, expiration_date from wf_user_roles where user_name='ASADMIN';
Result:
Expected is to have 2 records. The first with the ROLE_NAME = USER_NAME and the second with ROLE_NAME = UMX|APPS_SCHEMA_CONNECT. Ensure that START_DATE is in the past and EXPIRATION_DATE is null or (far) in the future.
If the UMX|APPS_SCHEMA_CONNECT role is not assigned have this role added via User Management > Users function


2. Verify relevant profile options

There are some profile options in the E-Business Suite used to ensure connections come from trusted node
  • FND: Desktop Nodes allowed [FND_SERVER_DESKTOP_USER]
Set a USER level and has a comma separated list of trusted nodes allowed to connect. The node names here should be in uppercase and exactly match the value for NODE_NAME column in FND_NODES table. If FND_NODES has NODE_NAME = MYSERVER the value to be used is MYSERVER (and not MYSERVER.MYDOMAIN or myserver). Query the FND_NODES table to confirm the exact name to be used here.
Run the following SQL to check relevant information from the FND_NODES table
SQL> select node_name, description, server_address, server_id from FND_NODES;
  • FND: Validate IP address [FND_SERVER_IP_SEC]
Set at SITE level to one of the following
  • N - None
  • D - Desktop Only 
  • DS - Desktop and Server 
  • S - Server Only
  • FND: Validate User Type [FND_SERVER_SEC]
Set at SITE level to one of the following 
  • N - None
  • D - Desktop Only 
  • DS - Desktop and Server 
  • S - Server Only
The default value for the last 2 profile options is 'Desktop Only' which verifies the connections when coming from a Desktop node. To verify if the ORA-01017 is caused by this validation it may be useful to temporarily change the value to 'None' so the validation is disabled for one or both profile options. This should however only be considered a diagnostics action and is not a definite solution since it impacts security.
The following SQL can be used to review the current values for these profile options
SQL> select p.profile_option_name SHORT_NAME,
n.user_profile_option_name NAME,
decode(v.level_id,
      10001, 'Site',
      10002, 'Application',
      10003, 'Responsibility',
      10004, 'User',
      10005, 'Server',
      10006, 'Organization',
      10007, 'Server Resp',
      '<UnDefined>') LEVEL_SET,
      decode(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, svr2.node_name ||' / '|| rsp.responsibility_key,
      '<UnDefined>') CONTEXT,
      nvl(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,
     fnd_nodes svr2,
     hr_operating_units org
where  p.profile_option_id = v.profile_option_id (+)
and    p.profile_option_name = n.profile_option_name
and    p.profile_option_name in ('FND_SERVER_SEC','FND_SERVER_IP_SEC','FND_SERVER_DESKTOP_USER')
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    svr2.node_id (+) = v.level_value2
and    org.organization_id (+) = v.level_value
and    language='US'
order by short_name, level_id;


3. Small test class to verify the connection

The below java code provides a simple Datasource to test connection using the credentials and DBC file created for the desktop node. This allows to verify that DBC file and credentials are correct without the need to setup the Datasource in WLS console. The code should be run from the desktop node.
The steps to create and run the class are:
  • Create a file named Connect2.java and copy following contents
import oracle.apps.fnd.security.*;
import java.sql.Connection;
import javax.naming.Referenceable;
import javax.sql.*;
import oracle.jdbc.OracleCallableStatement;
import oracle.jdbc.pool.OracleDataSource;
import oracle.jdbc.pool.OracleDataSourceFactory;

public class Connect2
{

//apps user with umx| APPS_SCHEMA_CONNECT priviliges (default asadmin)
public static String user = "<username, e.g. ASADMIN>";
public static String pwd = "<password, e.g. ASADMIN>";
public static String dbcFile = "<location of the DBC file to be used by the Datasource>";

public static void testConnection (String dbcFile)
throws Exception
{
System.out.println("Running testConnection DBC version...");
AppsDataSource v2 = new AppsDataSource();
v2.setUser(user);
v2.setPassword(pwd);
v2.setDbcFile(dbcFile);

Object ods = new OracleDataSourceFactory().getObjectInstance(v2.getReference(), null, null, null);
DataSource ds = (DataSource) ods;
testSql(ds.getConnection());
}
public static void testSql (Connection conn)
throws Exception
{
String sql = "BEGIN fnd_profile.get(:1,:2); END;";
OracleCallableStatement cStmt = (OracleCallableStatement) conn.prepareCall(sql);
cStmt.setString(1, "APPS_WEB_AGENT");
cStmt.setString(2, null);
cStmt.registerOutParameter(2, java.sql.Types.VARCHAR, 0, 100);
cStmt.execute();
String profVal = cStmt.getString(2);
System.out.println(profVal);
}
public static void main (String j[])
throws Exception
{
System.out.println(new AppsDataSource() instanceof Referenceable);
testConnection(dbcFile);
} }
  • Review the following 3 lines in the source-code and replace provide the variables with the correct values for your environment.
public static String user = "<username, e.g. ASADMIN>";
public static String pwd = "<password, e.g. ASADMIN>";
public static String dbcFile = "<location of the DBC file to be used by the Datasource>";
  • On the desktop node the fndext.jar is available. Ensure the fndext.jar is incuded in the CLASSPATH environment setting
# export CLASSPATH=$CLASSPATH:<full path>/fndext.jar
  • Compile the class:
# javac Connect2.java
  • Ensure the location of Connect2.class is and the fndext.jar are available in the CLASSPATH environment variable
# export CLASSPATH=$CLASSPATH:<directory of Connect2.class>
  • Run the class:  
# java Connect2
When connection is made this will show the following output. 
true
Running testConnection DBC version...
http://<host.domain:port>/pls/<SID>
Note the URL is not relevant. The value of APPS_WEB_AGENT is just used as example SQL to test the connection.
When there is a problem the following will be rendered
true
Running testConnection DBC version...
Exception in thread "main" java.lang.RuntimeException: ORA-20001:
ORA-06512: at "APPS.APP_EXCEPTION", line 72
ORA-06512: at "APPS.FND_SECURITY_PKG", line 533
ORA-06512: at line 1

        at oracle.apps.fnd.security.AppsDataSource.setDbcFile(AppsDataSource.java:156)
        at Connect2.testConnection(Connect2.java:24)
        at Connect2.main(Connect2.java:46)
In this case closely review the credentials passed for the user, the profile options mentioned and DBC file used to see which is setup wrong.

Monday, August 5, 2019

Check SMTP Server Availability for ORA-29278 or ORA-29279 errors using UTL_SMTP to Send Email. (Doc ID 604763.1)

SYMPTOMS

When trying to send email using UTL_SMTP getting following error :
ORA-29278: SMTP transient error: 421 Service not available
ORA-06512: at "SYS.UTL_SMTP", line 21
ORA-06512: at "SYS.UTL_SMTP", line 97
ORA-06512: at "SYS.UTL_SMTP", line 139


Or potentially 
ORA-29279: SMTP permanent error

followed by a SMTP error code.


CAUSE

The "ORA-29278: SMTP transient error: 421 Service not available" error indicates that the problem is not with the UTL_SMTP package
but the fact that your database server's network configuration does not allow it to contact an external server.

SOLUTION

You first have to check whether you are able to contact the email server without involving ORACLE.
For example use the following telnet procedure to see whether the mail server is reachable from the Database server: 
******PERFORM THE FOLLOWING OPERATIONS FROM YOUR DATABASE SERVER MACHINE AND NOT FROM OTHER MACHINES.****** 
Note: The information presented here does not apply to TLS/SSL connections . 

a) Start a telnet session to the SMTP server's communication port. (The default port for SMTP is 25)

$telnet <smtp servername as used utl_smtp package> 25


A telnet session should open with a response from smtp:

For eg :

response from smtp ---> 220 ukxxx1 Sendmail SMI-8.6/SMI-SVR4 ready at
Thu, 16 Sep 1999 15:14:25 +0100


b) Now introduce the client machine to the server by typing:
helo domain
(The correct spelling is helo - not hello)


c) Tell the SMTP Gateway who the test email is coming from by typing:
-------> mail from: emailid@domain

For eg :

A response from smtp ---> 250 emailid@domain... Sender ok


d) Tell the SMTP Gateway who to send the test email to by typing:
--------> rcpt to: emailid@domain

For eg :

A response from smtp ---> 250 emailid@domain... Recipient ok

e) Tell the SMTP Gateway what type of information is being sent by typing:
-------> data

A response from smtp ---> 354 Enter mail, end with "." on a line by itself

f) Enter the test message and remember to close the email with a dot "."
Type ---> Subject: SMTP Test
Hello this is an smtp test for EM. .

A response from smtp ---> 250 PAA15913 Message accepted for delivery

g) End the SMTP connection session by typing:
--------> quit

response from smtp ---> 221 ukxxx1 closing connection
The connection has been terminated.


The email should then be delivered to the receiver via the SMTP server.


If the command line test doesn't work, hopefully a helpful error messages from the SMTP server will be displayed indicating a problem will be with the SMTP server setup.

If the above telnet session fails it confirms the network block . You may have to contact your network administrator to remove the block.
Once your network administrator removes the block , retry the above telnet session.
Before using UTL_SMTP , please ensure that the telnet session succeeds.



If the telnet session succeeds, then try the following sample code to test the smtp server : 
Note : Please change the smtp server name in line number 6 and 7 in procedure TESTMAIL.
Note: If the below code fails again with the same error , then use IP Address instead of Mail server name in line number 6 and 7.
 OR
Make the hostname entry in the /etc/hosts file so that it is properly resolved to an IP address


CREATE OR REPLACE PROCEDURE TESTMAIL(fromm VARCHAR2,too VARCHAR2,sub VARCHAR2,body VARCHAR2,port NUMBER)
IS
objConnection UTL_SMTP.CONNECTION;
vrData VARCHAR2(32000);
BEGIN
objConnection := UTL_SMTP.OPEN_CONNECTION('<user smtp server name or ip address>',PORT);
UTL_SMTP.HELO(objConnection, '<user smtp server name or ip address>');
UTL_SMTP.MAIL(objConnection, fromm);
UTL_SMTP.RCPT(objConnection, too);
UTL_SMTP.OPEN_DATA(objConnection);

UTL_SMTP.WRITE_DATA(objConnection, 'From: '||fromm || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(objConnection, 'To: '||too || UTL_TCP.CRLF);

UTL_SMTP.WRITE_DATA(objConnection, 'Subject: ' || sub || UTL_tcp.CRLF);
UTL_SMTP.WRITE_DATA(objConnection, 'MIME-Version: ' || '1.0' || UTL_tcp.CRLF);
UTL_SMTP.WRITE_DATA(objConnection, 'Content-Type: ' || 'text/html;');

UTL_SMTP.WRITE_DATA(objConnection, 'Content-Transfer-Encoding: ' || '"8Bit"' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(objConnection,UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(objConnection,UTL_TCP.CRLF||'<HTML>');
UTL_SMTP.WRITE_DATA(objConnection,UTL_TCP.CRLF||'<BODY>');
UTL_SMTP.WRITE_DATA(objConnection,UTL_TCP.CRLF||'<FONT COLOR="red" FACE="Courier New">'||body||'</FONT>');
UTL_SMTP.WRITE_DATA(objConnection,UTL_TCP.CRLF||'</BODY>');
UTL_SMTP.WRITE_DATA(objConnection,UTL_TCP.CRLF||'</HTML>');
UTL_SMTP.CLOSE_DATA(objConnection);
UTL_SMTP.QUIT(objConnection);
EXCEPTION
WHEN UTL_SMTP.TRANSIENT_ERROR OR UTL_SMTP.PERMANENT_ERROR THEN
UTL_SMTP.QUIT(objConnection);
DBMS_OUTPUT.PUT_LINE(SQLERRM);
WHEN OTHERS THEN
UTL_SMTP.QUIT(objconnection);
DBMS_OUTPUT.PUT_LINE(SQLERRM);
END TESTMAIL;
/

DECLARE
Vdate Varchar2(25);
BEGIN
Vdate := to_char(sysdate,'dd-mon-yyyy HH:MI:SS AM');
TESTMAIL('xxx.xxx@xxx.com', 'xxx.xxx@xxx.com', 'TESTMAIL','This is a UTL_SMTP-generated email at '|| Vdate,25);
END;
/


Master Note For PL/SQL UTL_SMTP and UTL_MAIL Packages (Doc ID 1137673.1)

APPLIES TO:

PL/SQL - Version 8.1.7.4 to 12.2.0.1 [Release 8.1.7 to 12.2]
Information in this document applies to any platform.
***Checked for relevance on 26-Dec-2018*** 


PURPOSE

Master index for UTL_SMTP / UTL_MAIL.
Provides information on the relevant articles associated with the following topics:

Frequently Asked Questions
How To
Installation and Configuration
Known Bugs
New Features
Sample Code

It's purpose it to point the reader to the most relevant articles and to aid in assist with searching within these areas.

SCOPE

The intended audience is for users of the PL/SQL API and built-in packages.
The notes listed are for novice to experienced users.

DETAILS

Frequently Asked Questions
Note 730746.1 FAQ and Known Issues While Using UTL_SMTP and UTL_MAIL
Note 413099.1 Does UTL_SMTP or UTL_MAIL Support TLS Connection?
Note 369777.1 FAQ about UTL_TCP, UTL_SMTP and UTL_MAIL

How To
Note 106513.1 Basics on How to use UTL_SMTP
Note 269375.1 How to Use the UTL_MAIL Package
Note 74269.1 How to Test an SMTP Mail Gateway From a Command Line
Note 161407.1 How To Send E-mail Containing 8-bit Characters Using UTL_SMTP 
Note 180017.1 How To Specifiy a 'Reply-To' Using UTL_SMTP 
Note 209364.1 How to Send Pager Messages to Mobile Phones using the UTL_SMTP package 
Note 270155.1 How to Programmatic With PL/SQL Send an Email Which Will Allow a Hyperlink to be Created?  
Note 302943.1 Sending Mail Using UTL_SMTP Special Chars And Attach File Problem 
Note 357385.1 How To Send Attachments Of Size Greater Than 32 KB Using UTL_SMTP Package 
Note 468749.1 How to send an Email with Disclaimer? 
Note 553542.1 How to Send Emails with UTL_SMTP containing Unicode Characters in Mail Subject and Body 
Note 745202.1 How to Notify Database Shutdown by Sending a EMAIL ? 
Note 885522.1 How to Send an Email Using UTL_SMTP with Authenticated Mail Server. ? 
Note 946811.1 How to Send Any Type of Attachment with UTL_MAIL 
Note 1323140.1 How to Send an Email Using SMTP over an SSL Connection 

Installation and Configuration
Note 453756.1 Configuring Fine-Grained Access to External Network Services
Note 402678.1 ORA-29279 Relay Errors When Using utl_smtp to Send Email 
Note 604763.1 "ORA-29278: SMTP transient error: 421 Service not available" When Using UTL_SMTP to Send Email.  
Note 754909.1 ORA-24247 Calling UTL_SMTP or UTL_HTTP or UTL_TCP in a Stored Procedure 
New Features
Note 602986.1 Ora-24248: Unable To Send Email Using UTL_SMTP After Upgrade To 11g

Sample Code
Note 414062.1 Simple Example of Sending Attachments Using UTL_SMTP 


Non-Oracle Issues
There are errors which are not Oracle related. For example, when access to a given mail server is not possible, at times this is an Oracle error especially with 11g and the new security. Other times it can be related to basic network access from the OS machine.
Other errors or issues can actually be related to the mail server itself as described in the following Note.
Note 468323.1  Mail Sent Using UTL_SMTP Not Displaying Correct SENT DATE

Collaborate with and learn from your Peers, Industry Experts and Oracle Support Product Specialists using My Oracle Support Community. Join us here:

Oracle Community - https://communities.oracle.com/

Oracle PL/SQL Community - https://community.oracle.com/community/support/oracle_database/pl_sql

REFERENCES

NOTE:180017.1 - How To Specifiy a 'Reply-To' Using UTL_SMTP
NOTE:209364.1 - How to Send Pager Messages to Mobile Phones Using the UTL_SMTP Package
NOTE:946811.1 - How to Send Any Type of Attachment with UTL_MAIL
NOTE:730746.1 - FAQ and Known Issues While Using UTL_SMTP and UTL_MAIL
NOTE:74269.1 - Enterprise Manager All Releases: How to Test an SMTP Mail Gateway From a Command Line Interface
NOTE:745202.1 - How to Notify Database Shutdown by Sending a EMAIL ?
NOTE:269375.1 - How to Use the UTL_MAIL Package
NOTE:754909.1 - ORA-24247 Calling UTL_SMTP or UTL_HTTP or UTL_TCP in a Stored Procedure when ACL Assigned to a Role
NOTE:885522.1 - How to Send an Email Using UTL_SMTP with Authenticated Mail Server.
NOTE:161407.1 - How To Send E-mail Containing 8-bit Characters Using UTL_SMTP
NOTE:604763.1 - Check SMTP Server Availability for ORA-29278 or ORA-29279 errors using UTL_SMTP to Send Email.
NOTE:553542.1 - How to Send Emails with UTL_SMTP containing Unicode Characters in Mail Subject and Body
NOTE:602986.1 - Ora-24248: Unable To Send Email Using UTL_SMTP After Upgrade To 11g
NOTE:402678.1 - ORA-29279 Relay Errors When Using UTL_SMTP to Send Email
NOTE:413099.1 - UTL_SMTP Support For SSL/TLS Connection
NOTE:414062.1 - Simple Example of Sending Attachments Using UTL_SMTP
NOTE:106513.1 - Basics on How to use UTL_SMTP
NOTE:1323140.1 - How to Send an Email Using SMTP over an SSL Connection
NOTE:453756.1 - Configuring Fine-Grained Access to External Network Services
NOTE:468323.1 - Mail Sent Using UTL_SMTP Not Displaying Correct SENT DATE
NOTE:270155.1 - How to Programmatically Send an Email Using PL/SQL With a Hyperlink?
NOTE:468749.1 - How to send an Email with Disclaimer?
NOTE:302943.1 - Sending Mail Using UTL_SMTP Special Chars And Attach File Problem
NOTE:369777.1 - FAQ about UTL_TCP, UTL_SMTP and UTL_MAIL
NOTE:357385.1 - How To Send Multiple Attachments Of Size Greater Than 32 KB Using UTL_SMTP Package

Thursday, August 1, 2019

All DBA Blogs

Find all the profile options recently changed

Find all the profile options recently changed
                                                 Last update (2012-09-19 19:51:34)
                                                                                                                   Date added (2008-02-19 12:14:26)

Summary 
For Oracle E-Busines Suite R12 execute the following sql to get all the profile options recently changed.
select p.profile_option_name SHORT_NAME, n.user_profile_option_name "PROFILE NAME",
decode(v.level_id, 10001, 'Site', 10002, 'Application',
10003, 'Responsibility', 10004, 'User', 10005, 'Server',
10007, 'SERVRESP', 'UnDef') LEVEL_SET,
decode(to_char(v.level_id), '10001', '',
'10002', app.application_short_name, '10003', rsp.responsibility_key,
'10005', svr.node_name, '10006', org.name, '10004', usr.user_name,
'10007', 'Serv/resp', 'UnDef') "CONTEXT", v.profile_option_value VALUE, v.LAST_UPDATE_DATE  
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 upper(n.user_profile_option_name) like upper('BNE%')
--and trunc(v.LAST_UPDATE_DATE) > trunc(sysdate-170)
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
and v.LAST_UPDATE_DATE is not null 
order by last_update_date desc, short_name, level_set;
For Oracle E-Busines Suite 11i execute the following sql to get all the profile options recently changed.
SELECT pot.user_profile_option_name "Profile"
 , DECODE( a.profile_option_value
          , '1', '1 (may be "Yes")'
          , '2', '2 (may be "No")'
          , a.profile_option_value) "Value"
 , DECODE( a.level_id
          , 10001, 'Site'
          , 10002, 'Appl'
          , 10003, 'Resp'
          , 10004, 'User'
          , '????') "Level"
 , DECODE( a.level_id
          , 10002, e.application_name
          , 10003, c.responsibility_name
          , 10004, d.user_name
          , '-') "Location", a.LAST_UPDATE_DATE  
FROM applsys.fnd_application_tl e
 , applsys.fnd_user d   , applsys.fnd_responsibility_tl c
 , applsys.fnd_profile_option_values a   , applsys.fnd_profile_options b
 , applsys.fnd_profile_options_tl pot
WHERE pot.profile_option_name = b.profile_option_name
AND UPPER(pot.user_profile_option_name) LIKE UPPER('BNE%')
 AND b.application_id = a.application_id (+)
 AND b.profile_option_id = a.profile_option_id (+)
 AND a.level_value = c.responsibility_id (+)
 AND a.level_value = d.user_id (+)   AND a.level_value = e.application_id(+)
 AND e.LAST_UPDATE_DATE is not null
 --AND( UPPER( e.application_name) LIKE UPPER( 'username%')
 --OR UPPER( c.responsibility_name) LIKE UPPER( 'username%')
 --OR UPPER( d.user_name) LIKE UPPER( '%username%'))
 ORDER BY a.LAST_UPDATE_DATE desc, "Profile", "Level", "Location", "Value";

Wednesday, July 31, 2019

Change Archive Dest

How to change Archive destination

Use similar commands to change archive destination, to change archive destination no need to bounce the database.
1. Verify existing values
SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /u01/app/oracle/arch/vada <------
Oldest online log sequence     147
Next log sequence to archive   149
Current log sequence           149
SQL>
SQL> show parameter log_archive_dest_1

NAME                                 TYPE        VALUE
------------------------------------ ----------- ----------------------------------
log_archive_dest_1                   string      LOCATION=/u01/app/oracle/arch/vada

SQL>
2. Modify the archive destination
SQL> alter system set log_archive_dest_1='LOCATION=/u02/arch/vada' scope=both;

System altered.

SQL>
3. Verify the results
SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /u02/arch/vada <----
Oldest online log sequence     147
Next log sequence to archive   149
Current log sequence           149
SQL>
SQL> show parameter log_archive_dest_1

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1                   string      LOCATION=/u02/arch/vada

Note: If you set log_archive_dest_1 and log_archive_dest_2, it will store same log file in both locations.


Changing Archive Log Destination


In this article you will learn how to change the destination for archived redo log files. Sometime the location where archive redo log is full and you can not access the database.there are two way to this:

1.Temporarily Changing the Destination Using SQL*Plus

If you are automatically archiving, you can use the following command to override the destination specified by the LOG_ARCHIVE_DEST. This command does not change the value in the initialization parameter file. This change is only valid until you restart the instance.

>sqlplus / as sysdba

see current location

sql> archive log list;

Database log mode Archive Mode
Automatic archival Enabled
Archive destination /oracle/app/oracle/product/10.2.0/db_1/dbs/arch
Oldest online log sequence 9285
Next log sequence to archive 9287
Current log sequence 9287

To change the location

sql>ARCHIVE LOG START '/oracle2/arch';

To Verify your changes:

sql> archive log list;

Database log mode Archive Mode
Automatic archival Enabled
Archive destination /oracle2/arch
Oldest online log sequence 9285
Next log sequence to archive 9287
Current log sequence 9287


Permanently Changing the Destination Using SQL*Plus


To permanently change the destination, you must change the initialization parameter. You can change it dynamically with the ALTER SYSTEM command as shown below:

NoteLOG_ARCHIVE_DEST has been deprecated in favor of LOG_ARCHIVE_DEST_n for Enterprise Edition users. If you do not have Enterprise Edition or you have not specified any LOG_ARCHIVE_DEST_n parameters, LOG_ARCHIVE_DEST is valid.


> sqlplus / as sysdba

Issue the ALTER SYSTEM command to update the value of the LOG_ARCHIVE_DEST_n parameter in memory and in your SPFILE:

sql> ALTER SYSTEM SET log_archive_dest ='/oradata2/arch' scope=both;

To Verify your changes:

sql> archive log list;

Database log mode Archive Mode
Automatic archival Enabled
Archive destination /oracle2/arch
Oldest online log sequence 9285
Next log sequence to archive 9287
Current log sequence 9287

IN ORACLE 10gTo see archive log status
>sqlplus / as sysdba

SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 132
Next log sequence to archive 134
Current log sequence 134

To see the physical archive location

SQL> show parameter DB_RECOVERY_FILE_DEST

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /backup/oracle/oradata/flash_r
ecovery_area/
db_recovery_file_dest_size big integer 2G


To change the size of archive log

SQL> alter system SET DB_RECOVERY_FILE_DEST_SIZE = 10G SCOPE=BOTH SID='orca';

System altered.

SQL> show parameter DB_RECOVERY_FILE_DEST

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /backup/oracle/oradata/flash_r
ecovery_area/
db_recovery_file_dest_size big integer 10G
SQL>

To change the Physical Location:SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST ='/backup/oracle/flash_recovery_area/' SCOPE=spfile;

System altered.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL> startup
ORACLE instance started.

Total System Global Area 1258291200 bytes
Fixed Size 2020448 bytes
Variable Size 218106784 bytes
Database Buffers 1023410176 bytes
Redo Buffers 14753792 bytes
Database mounted.
Database opened.
SQL>
SQL> show parameter DB_RECOVERY_FILE_DEST

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /backup/oracle/flash_recovery_
area/
db_recovery_file_dest_size big integer 10G

Database Options/Management Packs Usage Reporting for Oracle Databases 11.2 and later (Doc ID 1317265.1)

  Database Options/Management Packs Usage Report You can determine whether an option is currently in use in a database by running options_pa...