Monday, August 6, 2018

EBS Adding a node in Shared File System


The Oracle E-Business Suite Release 12.2 architecture is a framework for multi-tiered, distributed computing. In a shared file system, all application tier files including the INSTANCE_TOP are installed on a shared disk resource, which is mounted on each application tier node. Any application tier node can be configured to perform any of the standard application tier services, such as Forms, Web and Concurrent Processing (Batch) services. All changes made to the shared file system are immediately accessible to all application tier nodes.
Note:
•All application tier nodes in a shared file system must be running the same operating system.
•Shared Application Tier File System can not be a read-only-file system unlike in the previous releases.
•User ID and Group ID should be consistent across all nodes to avoid file access permission issues.
•The same absolute path must be retained for the shared file system mount points on each node.
•The value for the context variable "s_atName" must be same across all the application tier node context files.
General Three Tier Architecture
Application/Database Tier Components
Release 12.2 Dual File System Setup on a Single Tier
Shared Application Tier File System Layout
Step by Step Configuration
1. Start weblogic admin server and then Run pre-clone on application tier node 1 on both RUN (fs2) and PATCH (fs1) file systems.



On the RUN file system:
[applmgr@ed-olapplin1 ~]$ ./t1/tst/fs2/EBSapps/appl/APPStst_ed-olapplin1.env
[applmgr@ed-olapplin1 ~]$ cd $ADMIN_SCRIPTS_HOME
[applmgr@ed-olapplin1 scripts]$ adadminsrvctl.sh start 
[applmgr@ed-olapplin1 scripts]$ adadminsrvctl.sh status
[applmgr@ed-olapplin1 scripts]$ adpreclone.pl appsTier
On the PATCH file system:
[applmgr@ed-olapplin1 ~]$ . /t1/tst/fs1/EBSapps/appl/APPStst_ed-olapplin1.env
[applmgr@ed-olapplin1 ~]$ cd $ADMIN_SCRIPTS_HOME
[applmgr@ed-olapplin1 scripts]$ adadminsrvctl.sh status
[applmgr@ed-olapplin1 scripts]$ adadminsrvctl.sh start forcepatchfs
[applmgr@ed-olapplin1 scripts]$ adpreclone.pl appsTier
2. Check below context file parameters settings on both RUN & PATCH files systems.
<shared_file_system oa_var="s_shared_file_system">true</shared_file_system>
<APPL_TOP_NAME oa_var="s_atName">ed-olapplin1</APPL_TOP_NAME>

3. On the new node (ed-olapplin2) that is to be added do the below steps. The node to be added now will be known as the secondary application tier node. This node can be configured to run all services except for the Oracle WebLogic Administration Server.
[applmgr@ed-olapplin2 ~]$  more /etc/oraInst.loc
inventory_loc=/t1/tst/oraInventory
inst_group=oinstall
[applmgr@ed-olapplin2 ~]$ export PATH=/t1/tst/fs2/FMW_Home/webtier/perl/bin:$PATH
4. It is recommended to keep the Instance Top (INST_TOP=/t1/tst/fs2/inst/apps/tst_edolapplin1 AND /t1/tst/fs2/inst/apps/tst_ed-olapplin2) on the shared file system for Ease of maintenance and The number of application tier processes writing to this location is limited when compared with the previous releases.
5. Ensure the WebLogic Administration Server is running from both run and Patch file system on the primary application tier node [on ED-OLAPPLIN1] if not run it as shown in Step 1 above.
[applmgr@ed-olapplin2 ~]$ export PATH=/t1/tst/fs2/FMW_Home/webtier/perl/bin:$PATH
6. A sample pairsfile for the run/patch file system is instantiated into the instance home on the primary application tier node. The file is called <SID>_<primary_node_name>_.txt, and located in the <inst_top>/appl/admin/ directory. For a configuration with an instance name of VIS, the pairsfile will be /u01/12.2/fs1/inst/apps/VIS_appstier1/appl/admin/VIS_appstier1.txt.
/t1/tst/fs2/inst/apps/tst_ed-olapplin1/appl/admin/tst_ed-olapplin1.txt
# cd $INST_TOP/appl/admin
# pwd
/t1/tst/fs2/inst/apps/tst_ed-olapplin1/appl/admin
# mkdir –p /t1/tst/pairsfile
# cp /t1/tst/fs2/inst/apps/tst_ed-olapplin1/appl/admin/tst_ed-olapplin1.txt /t1/tst/pairsfile/mypairsfile.txt
7. Execute adclonectx utility to configure both run and Patch file system. Note that since we have to execute the adconectx.pl script from the new node [ED-OLAPPLIN2] that will be added that is why we are copying the mypairsfile.txt and tst_ed-olapplin1.xml file on common shared location.
[applmgr@ed-olapplin2 ~]$ export PATH=/t1/tst/fs2/FMW_Home/webtier/perl/bin:$PATH
[applmgr@ed-olapplin2 bin]$ cd /t1/tst/fs2/EBSapps/comn/clone/bin
[applmgr@ed-olapplin2 bin]$ perl adclonectx.pl addnode contextfile=/t1/tst/fs2/inst/apps/tst_ed-olapplin1/appl/admin/tst_ed-olapplin1.xml pairsfile=/t1/tst/pairsfile/mypairsfile.txt outfile=/t1/tst/pairsfile /mypairsOUTPUT.txt dualfs=yes
Below is the mypairsfile.txt file content,
# $Header: pairs_file_dualfsclone_ux_txt.tmp 120.0.12020000.2 2015/07/29 19:36:02 jmajumde noship $
# Copyright (c) 2005, 2015  Oracle and/or its affiliates.
# All rights reserved.
# Version 12.0.0
#
# This is a sample pairs file generated by the autoconfig tool based on the
# context values set on the primary application tier node.
# This pairs file can be modified and used when adding additional
# application tier nodes. Some of the parameters set in this pairs file
# assume that you are using a shared file system.
[Base]
s_base=/t1/tst
s_current_base=/t1/tst/fs2
s_other_base=/t1/tst/fs1
s_ne_base=/t1/tst/fs_ne
[General]
s_applptmp=/usr/tmp
s_appsgroup=oinstall
s_appsuser=applmgr
s_dbuser=oracle
s_dbgroup=dba
s_dbdomain=samiora.blogspot.com
s_at=/t1/tst/fs2/EBSapps/appl
s_com=/t1/tst/fs2/EBSapps/comn
s_tools_oh=/t1/tst/fs2/EBSapps/10.1.2
s_weboh_oh=/t1/tst/fs2/FMW_Home/webtier
s_fmw_home=/t1/tst/fs2/FMW_Home
s_dbGlnam=tst
s_dbSid=tst
s_dbhost=edolraclin-dbsrv
s_clonestage=/t1/tst/fs2/EBSapps/comn/clone
s_dbport=1522
s_options_symlinks=Options -FollowSymLinks
s_proxyhost=
s_proxybypassdomain=samiora.blogspot.com
s_proxyport=
s_nonproxyhosts=
s_javamailer_imapdomainname=NoImapDomain
s_javamailer_imaphost=NoImapHost
s_javamailer_reply_to=NoReplyTo
s_javamailer_outbound_user=changeOnJavaMailerInstall
s_smtphost=ed-olapplin1
s_smtpdomainname=samiora.blogspot.com
s_file_edition_type=run
s_port_pool=1
patch_s_port_pool=2
s_admhost=ed-olapplin1
s_atName=ed-olapplin1
s_shared_file_system=true
[Web Entry Point Configuration]
s_webentryurlprotocol=http
s_webentryhost=ed-olapplin2
s_webentrydomain=samiora.blogspot.com
s_active_webport=8001
s_endUserMonitoringURL=http://ed-olapplin2.samiora.blogspot.com:8001/oracle_smp_chronos/oracle_smp_chronos_sdk.gif
s_external_url=http://ed-olapplin2.samiora.blogspot.com:8001
s_login_page=http://ed-olapplin2.samiora.blogspot.com:8001/OA_HTML/AppsLogin
[Instance Specific]
# Please provide values for the context variables listed below. On the source
# instance they are instantiated as shown in the comment section below.
# These values should only be used as reference to fill out the instance
# values for the new node.
#s_temp=/t1/tst/fs2/inst/apps/tst_ed-olapplin1/temp
#s_contextname=tst_ed-olapplin1
#s_hostname=ed-olapplin1
#s_domainname=samiora.blogspot.com
#s_cphost=ed-olapplin1
#s_webhost=ed-olapplin1
#s_config_home=/t1/tst/fs2/inst/apps/tst_ed-olapplin1
#s_inst_base=/t1/tst
#s_display=ed-olapplin1:0.0
#s_forms-c4ws_display=ed-olapplin1:0.0
#s_ohs_instance=EBS_web_erp_OHS1
#s_webport=8001
#s_http_listen_parameter=8001
#s_https_listen_parameter=4444
s_temp=/t1/tst/fs2/inst/apps/tst_ed-olapplin2/temp
s_contextname=tst_ed-olapplin2
s_hostname=ed-olapplin2
s_domainname=samiora.blogspot.com
s_cphost=ed-olapplin2
s_webhost=ed-olapplin2
s_config_home=/t1/tst/fs2/inst/apps/tst_ed-olapplin2
s_inst_base=/t1/tst
s_display=ed-olapplin2:0.0
s_forms-c4ws_display=ed-olapplin2:0.0
s_ohs_instance=EBS_web_erp_OHS2
s_webport=8031
s_http_listen_parameter=8001
s_https_listen_parameter=4444
[Services]
# Please provide values for the context variables listed below .
# Enter "enabled" without the quotes to enable the service on the new node .
# Enter "disabled" without the quotes to disable the service on the new node .
# The Root service include the Node Manager .
# The Web Application Services include the Node Manager, Admin Server,
# Managed Servers ( oacore, forms, oafm, formsc4-ws).
# To enable the configuration of Node Manager and the Managed Servers,
# set s_web_applications_status to enabled
# The Web Entry Services include the OPMN and Oracle HTTP Server .
# To enable the configuration of OPMN,OHS , set s_webentry_status and s_apcstatus to enabled.
# The Batch Processing Services include the FNDFS Listener, Concurrent Mgr, ICSM# and JTF FullFillment Server
# To enable the configuration of Concurrent Manager# set s_batch_status to enabled.
# The Other Services group include the Forms Metric Server, Forms Metric Clients# Forms Server for the socket mode configuration and Mobile Web Application
# Server (MWA).
# s_adminserverstatus is set to disabled since this service can only be enabled
# on the primary application tier.
# The services enabled on the primary application tier node are as shown
# below in the comment section.
[Services Enabled on the Primary Application Tier Node]
#s_web_applications_status=enabled
#s_web_entry_status=enabled
#s_apcstatus=enabled
#s_root_status=enabled
#s_batch_status=enabled
#s_other_service_group_status=disabled
#s_adminserverstatus=enabled
#s_web_admin_status=enabled
[Services To be Enabled on the Secondary Application Tier Node]
s_web_applications_status=enabled
s_web_entry_status=enabled
s_apcstatus=enabled
s_root_status=enabled
s_batch_status=enabled
s_other_service_group_status=disabled
s_adminserverstatus=disabled
s_web_admin_status=enabled
# Additional variables can be added below as per your requirement.

8. This command adclonectx.pl needs to be run only 1 time on 2nd node without setting any environment.
Verify using the below SQL Script,
SQL> select * from APPS.FND_OAM_CONTEXT_FILES where name not in( 'METADATA','TEMPLATE') order by creation_date desc;If there is ERROR WHILE ADDING A NODE DUE TO any reason then use below command to DELETE THE NODE AND THEN ADD IT AGAIN.  Run this from node1,
[applmgr@ed-olapplin1 bin]$ cd /t1/tst/fs2/EBSapps/appl/ad/12.0.0/patch/115/bin/
[applmgr@ed-olapplin1 bin]$ perl adProvisionEBS.pl ebs-delete-node -contextfile=/t1/tst/fs2/inst/apps/tst_ed-olapplin1/appl/admin/tst_ed-olapplin1.xml -hostname=ed-olapplin2 -logfile=ebs-delete-node2_I.logAlso delete the inst directory that was created while we added the node for first time /t1/tst/fs2/inst/apps/tst_ed-olapplin2
Now Register the new topology from the newly added application tier node. Get port from Below file and change accordingly to below perl scripts.
[applmgr@ed-olapplin2]$ vi /t1/tst/fs2/FMW_Home/webtier/instances/EBS_web_tst_OHS2/config/OHS/EBS_web_tst/mod_wl_ohs.conf
[applmgr@ed-olapplin2]$. /t1/tst/fs2/EBSapps/appl/APPStst_ed-olapplin2.env
cd /t1/tst/fs2/EBSapps/comn/clone/bin
perl adclonectx.pl addnode contextfile=/t1/tst/fs2/inst/apps/tst_ed-olapplin1/appl/admin/tst_ed-olapplin1.xml pairsfile=/t1/tst/pairsfiles/mypairsfile.txt outfile=/t1/tst/pairsfile/mypairsOUTPUT.txt dualfs=yes
[applmgr@ed-olapplin2 EBS_web_tst]$ . /t1/tst/fs2/EBSapps/appl/APPStst_ed-olapplin2.env
perl /t1/tst/fs2/EBSapps/appl/fnd/12.0.0/patch/115/bin/txkSetAppsConf.pl -contextfile=/t1/tst/fs2/inst/apps/tst_ed-olapplin2/appl/admin/tst_ed-olapplin2.xml -configoption=removeMS -oacore=ed-olapplin2.samiora.blogspot.com:7202,ed-olapplin2.samiora.blogspot.com:7203,ed-olapplin2.samiora.blogspot.com:7204,ed-olapplin2.samiora.blogspot.com:7205 -oafm=ed-olapplin2.samiora.blogspot.com:7602 -forms=ed-olapplin2.samiora.blogspot.com:7402 -formsc4ws=ed-olapplin2.samiora.blogspot.com:7802 -ekanban=ed-olapplin2.samiora.blogspot.com:6802 -accessgate=ed-olapplin2.samiora.blogspot.com:6802 -yms=ed-olapplin2.samiora.blogspot.com:6802
perl /t1/tst/fs2/EBSapps/appl/fnd/12.0.0/patch/115/bin/txkSetAppsConf.pl -contextfile=/t1/tst/fs2/inst/apps/tst_ed-olapplin2/appl/admin/tst_ed-olapplin2.xml -configoption=addMS -oacore=ed-olapplin2.samiora.blogspot.com:7202,ed-olapplin2.samiora.blogspot.com:7205,ed-olapplin2.samiora.blogspot.com:7207,ed-olapplin2.samiora.blogspot.com:7209 -oafm=ed-olapplin2.samiora.blogspot.com:7602 -forms=ed-olapplin2.samiora.blogspot.com:7402 -formsc4ws=ed-olapplin2.samiora.blogspot.com:7802
more /t1/tst/fs2/FMW_Home/webtier/instances/EBS_web_tst_OHS2/config/OHS/EBS_web_tst/mod_wl_ohs.conf
perl $AD_TOP/patch/115/bin/adProvisionEBS.pl ebs-create-managedserver -contextfile=/t1/tst/fs2/inst/apps/tst_ed-olapplin2/appl/admin/tst_ed-olapplin2.xml -managedsrvname=oacore_server2 -servicetype=oacore -managedsrvport=7205 -logfile=/tmp/oacore2log.log
perl $AD_TOP/patch/115/bin/adProvisionEBS.pl ebs-create-managedserver -contextfile=/t1/tst/fs2/inst/apps/tst_ed-olapplin2/appl/admin/tst_ed-olapplin2.xml -managedsrvname=oacore_server5 -servicetype=oacore -managedsrvport=7209 -logfile=/tmp/oacore5log.log
perl $AD_TOP/patch/115/bin/adProvisionEBS.pl ebs-create-managedserver -contextfile=/t1/tst/fs2/inst/apps/tst_ed-olapplin2/appl/admin/tst_ed-olapplin2.xml -managedsrvname=oacore_server7 -servicetype=oacore -managedsrvport=7207 -logfile=/tmp/oacore7log.log
perl $AD_TOP/patch/115/bin/adProvisionEBS.pl ebs-create-managedserver -contextfile=/t1/tst/fs2/inst/apps/tst_ed-olapplin2/appl/admin/tst_ed-olapplin2.xml -managedsrvname=oacore_server9 -servicetype=oacore -managedsrvport=7202 -logfile=/tmp/oacore9log.log
for oacore_server9>>>ERROR: There is already a managed server with the name oacore_server9>>>>>>ignore this and continue below.
>>>now run autoconfig on node2 (ed-olapplin2)
>>>now without stopping node1 servies execute autoconfig on node 1 (ed-olapplin1)
>>>>start all services on NODE 2 (ed-olapplin2)
[applmgr@ed-olapplin2 ~]$ more $CONTEXT_FILE | grep oacore_server
      <oacore_server>
      </oacore_server>
         <oacore_server_ports oa_var="s_oacore_server_ports">oacore_server9:7202,oacore_server2:7205,oacore_server5:7209,oacore_server7:7207</oacore_server_ports>
            <oa_service_name oa_var="s_oacorename" type="managed_server">oacore_server9,oacore_server2,oacore_server5,oacore_server7</oa_service_name>
            <oa_managed_server_name oa_var="s_oacore_managed_servers">oacore_server9,oacore_server2,oacore_server5,oacore_server7</oa_managed_server_name>
>>>Below Additional command only to delete a managed server
perl $AD_TOP/patch/115/bin/adProvisionEBS.pl ebs-delete-managedserver -contextfile=/t1/tst/fs2/inst/apps/tst_ed-olapplin2/appl/admin/tst_ed-olapplin2.xml -managedsrvname=oacore_server2 -servicetype=oacore -logfile=/tmp/oacore_server1_remove.log


9. On all Application tier nodes, perform the following steps to register the newly added Application tier node with the Application tier TNS Listener (FNDFS listener) on each node:
On ed-olapplin2:
[applmgr@ed-olapplin2 ~]$ kill -9 -1
[applmgr@ed-olapplin2 ~]$ cd $ADMIN_SCRIPTS_HOME
[applmgr@ed-olapplin2 scripts]$ adautocfg.sh
[applmgr@ed-olapplin2 scripts]$ echo $TWO_TASK
[applmgr@ed-olapplin2 scripts]$ sh adalnctl.sh start
[applmgr@ed-olapplin2 admin]$ lsnrctl reload APPS_tst
[applmgr@ed-olapplin2 scripts]$ sh adalnctl.sh stop
On ed-olapplin1:
[applmgr@ed-olapplin1 tstuat]$ cd $ADMIN_SCRIPTS_HOME
[applmgr@ed-olapplin1 scripts]$ adautocfg.sh
[applmgr@ed-olapplin1 scripts]$ echo $TWO_TASK
[applmgr@ed-olapplin1 scripts]$ sh adalnctl.sh start
[applmgr@ed-olapplin1 admin]$ lsnrctl reload APPS_tst
[applmgr@ed-olapplin1 scripts]$ sh adalnctl.sh stop
10.If the Node Manager service is up on the Patch Edition File System of the newly added Application tier node, shut it down as follows:
[applmgr@ed-olapplin2 ~]$ . /t1/tst/fs1/EBSapps/appl/APPStst_ed-olapplin2.env
[applmgr@ed-olapplin2 ~]$ adnodemgrctl.sh stop
11. Shut down the Admin Server and the Node Manager on the Patch Edition File System of the primary node as follows:
[applmgr@ed-olapplin1 ~]$ . /t1/tst/fs1/EBSapps/appl/APPStst_ed-olapplin1.env
[applmgr@ed-olapplin1 ~]$ echo $FILE_EDITION
Patch
[applmgr@ed-olapplin1 ~]$ adadminsrvctl.sh stop forcepatchfs
[applmgr@ed-olapplin1 ~]$ adnodemgrctl.sh stop
[applmgr@ed-olapplin1 scripts]$ ps -ef | grep wlsport verify wls for patchfs is down.
12.Perform the following steps on all Database tier nodes to add the newly added node to the Access Control List
on Database server ed-olraclin-db:
[oracle@ed-olraclin-db~]$ cd /u01/oracle/12.2.0.1/tsthome
[oracle@ed-olraclin-dbtsthome1]$ . ed-olraclin-db.env
[oracle@ed-olraclin-dbtsthome1]$ cd appsutil/scripts/ed-olraclin-db/
[oracle@ed-olraclin-dbtst2_ed-olraclin-db]$ adautocfg.sh
[oracle@ed-olraclin-dbtst2_ed-olraclin-db]$ lsnrctl reload tst
13. Now Load balancer configuration for both URLs from two nodes
14. Now SSH Connectivity Requirements for Online Patching (Required)
# su - applmgr
# . /t1/tst/EBSapps.env RUN
On node 1 & node 2 both execute the below script respectively,
On ed-olapplin1# perl $AD_TOP/patch/115/bin/txkRunSSHSetup.pl enablessh -contextfile=/t1/tst/fs2/inst/apps/tst_ed-olapplin1/appl/admin/tst_ed-olapplin1.xml -hosts=ed-olapplin1,ed-olapplin2
On ed-olapplin2# perl $AD_TOP/patch/115/bin/txkRunSSHSetup.pl enablessh -contextfile=/t1/tst/fs2/inst/apps/tst_ed-olapplin2/appl/admin/tst_ed-olapplin2.xml -hosts=ed-olapplin2,ed-olapplin1
This finishes the ADDING NODE IN SHARED FILE SYSTEM SETUP.
Reference: Sharing the application tier file system in oracle EBS release 12.2. 1375769.1
For any questions on this article please email me on samiappsdba@gmail.com, and do subscribe to this blog as well.




Tuesday, July 17, 2018

Big Data Eco System and Landscape 2018


Big Data is the new “black gold” or “oil”.  However, at least in my conversations with people in the industry, there’s an increasing sense of having reached some kind of plateau.


Big data is a term often used to describe data sets whose size is beyond the capability of commonly used software tools to capture, manage and process.


Big data can be generated from many different sources including,
Social networks,
Banking and Financial services
E-commerce services
Web-centric services
Internet search indexes
Scientific and document searches
Medical records
Web logs


The sheer size of the data combined with complexity of analysis and commercial imperative to create value from it, has led to a new class of technologies and tools to exploit it.


The term big data tends to be used in multiple ways, often referring to both;
-The type of data being managed.
-The technology used to store and process it.


Mostly, these technologies originated from companies such as Google, Amazon, Facebook and Linked-In, where they were developed for each company's own use to analyze the massive amounts of social media data being produced. Due to the nature of these companies, the emphasis was on low cost scale-out commodity hardware and open source software.
As the Big Data landscape gets busier every year, one obvious question comes to mind:  is the industry on the verge of a massive wave of consolidation? It doesn’t appear so, at least for now.






Big Data + AI = The New Stack
Below is the complete Big Data Landscape 2018 and the Eco System with their description.





























For any further queries about the big data eco system and components mentioned in the landscape, please email me on samiappsdba@gmail.com and I will be happy to guide you.


Please subscribe to this blog to get latest updates on big data technologies.

Wednesday, June 20, 2018

EBS R12.2 Adding managed server

By default there is single Web Application Services in EBS 12.2
If you want to increase number of server either oacore, oafm, forms or forms-c4ws then follow below steps. In below example we are adding one more oacore server.


Step 1: Take backup of $CONTEXT_FILE from both edition


Step 2: Run script on RUN edition:
[applmgr@ebs122 ~]$ perl $AD_TOP/patch/115/bin/adProvisionEBS.pl ebs-create-managedserver
-contextfile=/apps01/applmgr/TEST/fs2/inst/apps/TEST_ebs122/appl/admin/TEST_ebs122.xml
-managedsrvname=oacore_server2 -servicetype=oacore -managedsrvport=7203 -logfile=/tmp/oacore2.log


Step 3: Run autoconfig on run edition
[applmgr@ebs122 ~]$ adautocfg.sh
Enter the APPS user password:
AutoConfig completed successfully.


Step 4: [applmgr@ebs122 ~]$ perl $FND_TOP/patch/115/bin/txkSetAppsConf.pl -ctxfile=$CONTEXT_FILE -outfile=/tmp/txkSetAppsConf.log
mod_wl_ohs.conf generated successfully
apps.conf generated successfully

Step 5: Stop/start http services on run edition
[applmgr@ebs122 ~]$ cd $ADMIN_SCRIPTS_HOME
[applmgr@ebs122 scripts]$ adapcctl.sh stop
[applmgr@ebs122 scripts]$ adapcctl.sh start


Now add oacore server info into PATCH edition:


Step 6: Set patch edition env
[applmgr@ebs122 ~]$ echo $FILE_EDITION
patch


Step 7:
Start up the WebLogic Administration Server of the PATCH file system by executing the below command on the PATCH file system
[applmgr@ebs122 scripts]$ adadminsrvctl.sh start forcepatchfs                  


Step 8: From Patch Addition execute below script with service name and port number
[applmgr@ebs122 scripts]$ perl $AD_TOP/patch/115/bin/adProvisionEBS.pl ebs-create-managedserver
-contextfile=$CONTEXT_FILE -managedsrvname=oacore_server2 -servicetype=oacore -managedsrvport=7204 -logfile=\tmp\oacore2_2.log


Step 9:
[applmgr@ebs122 scripts]$ perl $AD_TOP/bin/adSyncContext.pl
-contextfile=/apps01/applmgr/TEST/fs1/inst/apps/TEST_ebs122/appl/admin/TEST_ebs122.xml


Step 10:
Instantiate the fsclone_config.txt file on the PATCH file system of all Application tier nodes by running the following command after sourcing the RUN file system:


#java oracle.apps.ad.autoconfig.InstantiateFile -e <PATCH_CONTEXT_FILE> -tmpl 
<PATCH_AD_TOP>/admin/template/fsclone_config_txt.tmp -out 
<PATCH_INST_TOP>/appl/admin/fsclone_config.txt

[applmgr@ebs122 scripts]$ java oracle.apps.ad.autoconfig.InstantiateFile -e /apps01/applmgr/TEST/fs1/inst/apps/TEST_ebs122/appl/admin/TEST_ebs122.xml -tmpl  /apps01/applmgr/TEST/fs1/EBSapps/appl/ad/12.0.0/admin/template/fsclone_config_txt.tmp -out  /apps01/applmgr/TEST/fs1/inst/apps/TEST_ebs122/appl/admin/fsclone_config.txt
Enter the APPS password : APPS


Step 11:
Execute below script from RUN file system
On the node containing the Oracle HTTP Server, execute the following script from the RUN file system, passing the context file from the PATCH file system. This will update the Oracle HTTP Server configuration files on the PATCH file system with the new managed server port number.
[applmgr@ebs122 scripts]$ perl $FND_TOP/patch/115/bin/txkSetAppsConf.pl -ctxfile=/apps01/applmgr/TEST/fs1/inst/apps/TEST_ebs122/appl/admin/TEST_ebs122.xml
> -outfile=/tmp/oacore2_3.log
mod_wl_ohs.conf generated successfully
apps.conf generated successfully


Step 12: Stop weblogic services from PATCH file system:
[applmgr@ebs122 scripts]$ adadminsrvctl.sh stop


Step 13: Start newly added managed server from run edition:
admanagedsrvctl.sh start oacore_server2


Step 14: Check the status of server weblogic console


For any queries you can contact me on samiappsdba@gmail.com

Tuesday, May 29, 2018

ORA-04068 Errors from Oracle Packages

The following queries can useful when investigating ORA-4068 errors that will not clear.


To check the timestamp associated with a particular package / procedure / function run the below query:
alter session set nls_date_format='DD-MM-YYYY HH24:MI:SS';


Column OBJECT_NAME format a15
Column OBJECT_TYPE format a15
Column OWNER format a15
Column STATUS format a8
SELECT object_name, object_type, owner, status, last_ddl_time FROM
 dba_objects WHERE object_name = '&OBJECT';

 To check the timestamp for dependant packages:
SELECT object_name, object_type, owner, status, last_ddl_time FROM
dba_objects WHERE ( object_name, object_type ) IN ( SELECT
referenced_name, referenced_type FROM dba_dependencies WHERE name =
'&OBJECT' );

For situations where you suspect a dependency check could be faulty:


alter session set nls_date_format='dd-mon-yy hh24:mi:ss';
SELECT du.name duname,do.name dname, pu.name puname, po.name pname, p_timestamp, po.stime p_stime
 FROM sys.obj$ do, sys.dependency$ d, sys.obj$ po,sys.user$ du,sys.user$ pu
 WHERE p_obj#=po.obj#(+)
 AND d_obj#=do.obj#
 AND do.owner# = du.user#
 AND po.owner# = pu.user#
 AND do.status=1 /*dependent is valid*/
 AND po.status=1 /*parent is valid*/
 AND po.stime!=p_timestamp /*parent timestamp does not match*/
 AND do.type# not in (13,28,29,30) /*dependent type is not a type or java*/
 AND po.type# not in (13,28,29,30) /*parent type is not a type or java*/
 ORDER BY 4,2;

The above query  should not return any rows. If it does then both items referred to should be recompiled.


 - using  ALTER PACKAGE <package_name> COMPILE REUSE SETTINGS;
 - using  ALTER PACKAGE <package_name> COMPILE;

To check for details of why a package will not recompile, check to see if there were any errors reported in the last compilation:

SELECT name, type, text FROM dba_errors WHERE name = '&OBJECT';

References:
ORA-04068 Errors from User-Written and Oracle Packages (Doc ID 1161225.1)
ORA-4068 Errors for Valid Objects (Doc ID 835792.1)

Monday, April 30, 2018

adop phase=apply hotpatch=yes

An EBS 12.2.X patch is normally applied using an ADOP online patching cycle, which is the only case tested internally before 12.2 patches are released (unless documented otherwise).

We can  use Hotpatch mode only for certain patches, such as NLS and Online Help, or when it is specifically documented in the patch readme. The safe use of hotpatch mode is restricted to cases where we know in advance that the patch will not modify any existing schema or code object used by the running applications instance. If you attempt to apply an unsafe patch using hotpatch mode, the patch may fail or users may experience application failure.

In EBS release 12.2, certain kinds of patches are even less stable for use with “hotpatch” than they were in EBS 12.1. when an unsafe patch is applied via hotpatch the system will go through intermittent states of:
•invalid objects, missing code dependencies
•mismatches between code level of file system and database
•missing column data, or other data integrity problems
•out-of-date indexes and materialized view definitions
•invalid data in runtime caches

Important FAQ about HOTPATCH mode in adop
1)When you apply the patch using hotpatch in adop,  adop will still shows phase APPLY status ACTIVE after having applied successfully a patch using
 #adop phase=apply hotpatch=yes patches=123456

There were no errors in the adop patch logs. But adop status still shows:
Node Name   Node Type   Phase   Status   Started   Finished
ed-olapplin1 master PREPARE NOT APPLICABLE
APPLY ACTIVE 01-APR-18 09:18:18 +04:00 <<<< APPLY phase is still ACTIVE
FINALIZE NOT STARTED
CUTOVER NOT APPLICABLE
CLEANUP NOT STARTED

One cannot run adop phase=cutover or adop phase=cleanup because there are no Online Patching cycle that was started. The patch was applied in hotpatch=yes mode on the RUN filesystem

Solution:
a) When the patch is applied with adop hotpatch=yes mode, there are no Online Patching cycle started yet — all is on the RUN filesystem — so there are no adop commands that can be used like adop phase=cutover or adop phase=cleanup.
b) When one applies in hotpatch mode the APPLY phase will remain active until such time as run a PREPARE during the next patching cycle.
c) The APPLY phase is active because you can potentially run another hotpatch. Once one apples a hotpatch, there are no further actions required.

2)  How hotpatch on run filesystem are propagated to patch file system on next prepare phase?
Solution:
Run the prepare command when we want to start the new online patch cycle
#adop phase=prepare

At that time, adop config change detector will find that the RUN filesystem has had patches applied in hotpatch mode and will sync the PATCH filesystem as part of the prepare phase.

3) Do we have abort phase in Hotpatch mode?
Solution
The “adop phase=abort” command is only applicable to an online patching cycle, which you would have started by running adop phase=prepare. A hotpatch CANNOT be aborted with the adop phase=abort command.

If a hotpatch session fails for an approved patch (NLS, Online Help, or documented in the patch readme) you should:
a. Investigate the error and try to complete the hotpatch session by re-applying the hotpatch with restart=yes
OR
b. Apply a replacement patch with abandon=yes.
It should be possible to just abandon the hotpatch session, and then start a new ADOP online patching cycle (Make sure you are on AD/TXK Delta 6 or higher).

For any queries regarding ADOP utility email me on samiappsdba@gmail.com

Monday, March 12, 2018

Setup Oracle Business Intelligence OBIEE 12c Step by Step

Following are the steps to do the Oracle Business Intelligence 12c Setup.
1. Install JDK 1.8
2. Setup Weblogic 12c
3. Oracle Business Intelligence setup
4. RCU to create BI related schemas in database
5. Configure Oracle BI Domain
6. Oracle BI Developer Client tool to create BI repository files (.rpd)
7. Upload the RPD BI Repository file to BI Server
8. Run Analysis through analytics web console


All required software to do this setup are available in below link,
[OF COURSE YOU MUST LICENSE ALL REQUIRED ORACLE SOFTWARE BEFORE USING IT]
http://www.oracle.com/technetwork/middleware/bi-enterprise-edition/downloads/business-intelligence-3046226.html


Step 1: Install JDK 1.8
[obieeuser@ed-olbiapplin1 ~]$ which java
/u01/obiee/jdk1.8.0_151/bin/java
[obieeuser@ed-olbiapplin1 ~]$ java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

2. Setup Weblogic 12c












3. Oracle Business Intelligence Setup
4. RCU to create BI related schemas in database
Selecting ‘Oracle Business Intelligence’ will select all the other options check boxes automatically.


5. Configure Oracle BI Domain

6. Oracle BI Developer Client tool 12.2.1.3.0 to create BI repository files (.rpd)


Start Oracle BI Administrator Tool by running below file,
D:\BIToolHome\bi\bitools\bin\admintool.cmd
We can now open any repository .rpd file and it will display all the three layers of the administrator tool as follows,
Physical Layer, Model and Mapping Layer (MML) and Presentation layer
7. Upload the BI Repository file (.rpd) to BI Server
8. Run Analysis through analytics web console
You will now be able to access the below analytics tool to create Analysis and Dashboards based on the repository .rpd file that we uploaded in step 7.
http://ed-olapplin1.samiora.blogspot.com:9502/analytics


9. Creating a Repository Using the Oracle Business Intelligence Administration Tool:
Below link on Oracle site is a step by step tutorial covering using the Oracle Business Intelligence (BI) Administration Tool to build, modify, enhance, and manage an Oracle BI repository.
http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/bi/bi1113/biadmin11g_01/biadmin11g.htm



The figure shows how a logical SQL query traverses the layers of an Oracle BI Repository.
For any further queries on topics related to this article please email me on samiappsdba@gmail.com