Wednesday, November 9, 2016

Installing Latest JDK for Oracle Fusion products

Welcome to learning Fusion Middleware Administration. You need to know about your installation machine details first accordingly you can select the platform, architecture specific JDK. Download JDK1.8[latest version]

Install JDK 1.8.0_65 tar.gz on Linux platforms

cd [[where you wish to install Java]]
tar -zxvf /vagrant_data/jdk-8u65-linux-x64.gz

This will extract and also runs the libraries paths related to that architecture x86 or x64. Though there are many other options for JDK installations, This procedure is more generic you can do it any Linux OS -linux-x64.gz file end side. set the JAVA_HOME After installation of JDK you need to setup the the JAVA_HOME environment variable in the profile and relogin to the box. This relogin is required to reflect the JAVA_HOME value into the PATH. Add the following lines into your .bashrc or .bash_profile.

export JAVA_HOME=/home/vagrant/jdk1.8.0_65
export PATH=$PATH:$JAVA_HOME/bin

JDK rpm installation

Go to the Oracle Technical Network site and accept the License agreement.

RedHat Linux platforms select JDK rpm installer as per the system architecture 32bit i586 for 64bit use x64



rpm -ivh jdk-8u111-linux-x64.rpm
>

JDK installation on Windows

Validate JDK Version with the following way:
java -version

Friday, June 24, 2016

Creating the Oracle Traffic Director Domain using WLST

This is a continuation of Oracle Fusion learnings, out the list OTD, In the previous post we had Oracle Traffic Director installation was discussed. In front end technologies of Oracle come with a great set of the stack after Oracle Fusion Middleware 12c, one of them is Oracle Traffic Director. Here in this post would like to discuss how we can automate the process of OTD domain creation. Oracle came up with this tool when the market is occupied with CISCO and BIGIP load balancer, which are expensive and when you take the whole stack then you will be get benefited in license cost.

OTD main functionality is to  load balancing the HTTP requests can be handled with different balancing strategies such as :
  1. Active- Active
  2. Active-Passive

Prerequisites for OTD Domain


There must be at least two similar sites which can be routed with OHS or any proxy webservers. Each proxy or WebGate pointing to a WebLogic based domain it could be SOA domain as well. Example ohs1 pointing to SOA_prod_domain, ohs2 is going to refer SOA_DR_domain.
First, we will need to install the Oracle Traffic Director using the below link
Oracle Traffic Director installation in command mode
Once the installation is complete

Configuring Standalone OTD domain

The configuration of OTD Domain is very simple it is almost a single line command in WLST. To do this follow these steps:

  1.  Launch the WLST command shell
    $ORACLE_HOME/oracle_common/common/bin/wlst.sh
    
    It will launch WLST shell for you which is capable of running OTD related MBeans available in it.
  2. Run the following command to create the Oracle Traffic Director instance.
  3. First create the properties variable which is required to configure OTD Domain, For more convenient way you can create a file and you can modify it for Test, Pre-Production, Production environments.
    props = {'domain-home': '/home/oracle/wls_domains/domains/otd_domain', 'origin-server': '192.xxx.xxx.xxx:xxx,192.xxx.xxx.xxx:xxx ','listener-port': '20009', 'instance': 'OTD1', 'server-name': '192.xxx.xxx.xxx'}
    
    otd_createStandaloneInstance(props)
    
    
Oracle Traffic Director Domain configuration using WLST

How to start the OTD Instance?

  1. Run the command to start the Oracle Traffic Director standalone instance: 
  2. cd /home/oracle/wls_domains/domains/otd_domain/config/fmwconfig/components/OTD/instances/OTD1/bin
    ./startserv
    

Session Stickiness at various levels

The most important thing you need to notify that Oracle Traffic Director does not maintain session stickiness. This Sessions stickiness is standard functionality. So OTD will route to the same back-end WLS server that serviced the original request by default. If the original serving server goes down it will try the route to another server from the servers pool. The session stickiness you could achieve from

Understanding OHS Level. Regarding OHS stickiness

OHS manages sticky session by default (initially through round-robin) if a cluster is targeted - in OHS WLCookieName param let redefine the name of the Session ID if needed - Session replication can be disabled from weblogic.xml in the web app - If session replication is not required, it is recommended to not create a WLS cluster in order to avoid useless multicast traffic as well as turn off session replication automatically

You might also be interested to view OHS related posts:

Sunday, June 12, 2016

Oracle Managed File Transfer [MFT] installation

Prerequisites

The following software must be installed on the machine
  • Certified JDK must be installed
  • SOA 12c [in my experiment used 12.1.3.0.0]

Download the Oracle MFT software from OTN or e-delivery.oracle.com
  • fmw_12.1.3.0.0_mft.jar
Installing MFT in silent mode


Sample silent mode response file: mft_install.rsp
[ENGINE]

#DO NOT CHANGE THIS.
Response File Version=1.0.0.0.0

[GENERIC]

#The oracle home location. This can be an existing Oracle Home or a new Oracle Home
ORACLE_HOME=/u01/app/oracle/SOA12c


Generally I do follow that define the environment variables such as JAVA_HOME, MW_HOME, ORACLE_HOME in the .bashrc or .bash_profile scripts, which makes life easy!



Feature readings
  • Create repository for MFT
  • Extending SOA domain with MFT Clustered domain
  • Validating the MFT working

Wednesday, May 4, 2016

Configuring Security store for Oracle IAM environment - IDM domain

Preparing for configuration of secure store
export IAM_HOME=/u01/app/Middleware/Oracle_IDM1
Lets see the help for configuresecuritystore.py
oracle_common/common/bin/wlst.sh IDM_HOME/common/tools/configuresecuritystore.py
-h  --help                       Prints usage message.
-d  --domaindir                  The directory of domain.
-s  --datasource                 The data source of security store configured in domain. It is optional, default value is "opss-DBDS".
-f  --farmname                   The security store farm name. It is optional, default value is the domain name.
-t  --servertype                 The policy store type, using "DB_ORACLE", "DB_DERBY", or "OID". It is optional, default value is "DB_ORACLE".
-j  --jpsroot                    The distinguished name of jpsroot. It is optional, default value is "cn=jpsroot".
-m                               Option to control domain configuration and data migration. It is optional, default value is create.
    create        - security store is populated with data and domain is configured to use newly populated policy store. This is the default.
    join          - domain is configured to uptake an existing security store, and security data is migrated to the security store. meanwhile, the encryption key for credential store will be imported as well.
    validate      - validate whether diagnostics data saved in the credential store successfully.
    validate_fix  - fix diagnostics data if it is not saved in the credential store.
    fixjse        - update JSE policy store password credential.
    --create_diagnostic_data         Create diagnostic data when upgrading OES 11g PS1 to OES 11g R2, only available when "-m join" has been set.
-c  --config                     The configuration mode of domain, using "IAM" to configure IAM mode. It is optional, default value is None.
-a  --admin                      The admin user name of OID.
-l  --ldapurl                    The url of OID.
-p  --passcode                   Policy store schema password. If not specified user will be prompted for password.
-k  --keyfilepath                The directory containing the security store data encrpytion key file ewallet.p12. If "-m join" is specified, the option is mandatory.
-w  --keyfilepassword            The password used when the encrpytion key was generated. If "-m join" is specified, the option is mandatory.
-u  --username                   The user name of JSE password credential. If "-m fixjse" is specified, this option is mandatory.

Lets create the security store
$ wlst $IAM_HOME/common/tools/configureSecurityStore.py \
-d /u01/app/mytest/user_projects/domains/idm_domain \
-c IAM  -m create

CLASSPATH=/u01/app/oracle/Middleware/patch_wls1036/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/u01/app/oracle/Middleware/patch_ocp371/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/u01/app/mytest/jdk1.8.0_65/lib/tools.jar:/u01/app/oracle/Middleware/wlserver_10.3/server/lib/weblogic_sp.jar:/u01/app/oracle/Middleware/wlserver_10.3/server/lib/weblogic.jar:/u01/app/oracle/Middleware/modules/features/weblogic.server.modules_10.3.6.0.jar:/u01/app/oracle/Middleware/wlserver_10.3/server/lib/webservices.jar:/u01/app/oracle/Middleware/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/u01/app/oracle/Middleware/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar::/u01/app/oracle/Middleware/oracle_common/modules/oracle.jrf_11.1.1/jrf-wlstman.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/lib/adfscripting.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/lib/adf-share-mbeans-wlst.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/lib/mdswlst.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/auditwlst.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/igfwlsthelp.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/jps-wlst.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/jps-wls-trustprovider.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/jrf-wlst.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/oamap_help.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/oamAuthnProvider.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/ossoiap_help.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/ossoiap.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/ovdwlsthelp.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/sslconfigwlst.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/wsm-wlst.jar:/u01/app/oracle/Middleware/utils/config/10.3/config-launch.jar::/u01/app/oracle/Middleware/wlserver_10.3/common/derby/lib/derbynet.jar:/u01/app/oracle/Middleware/wlserver_10.3/common/derby/lib/derbyclient.jar:/u01/app/oracle/Middleware/wlserver_10.3/common/derby/lib/derbytools.jar::
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0

Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

Info: Data source is: opss-DBDS
Please input data source password:
Info: DB JDBC driver: oracle.jdbc.OracleDriver
Info: DB JDBC URL: jdbc:oracle:thin:@mydb.vybhava.com:1521/ORCL12C
Connected:oracle.jdbc.driver.T4CConnection@70163ce4
Disconnect:oracle.jdbc.driver.T4CConnection@70163ce4
INFO: Found persistence provider "org.eclipse.persistence.jpa.PersistenceProvider". OpenJPA will not be used.
INFO: Found persistence provider "org.eclipse.persistence.jpa.PersistenceProvider". OpenJPA will not be used.
[oracle.security.jps.internal.config.db.DbCredStoreServiceConfigurator]  checkServiceSetup - done
May 03, 2016 11:17:21 PM oracle.security.jps.internal.config.ldap.LdapCredStoreServiceConfigurator schemaCompatibleHandler
INFO: Credential store schema upgrade not required. Store Schema version 11.1.1.7.0 is compatible to the seed schema version 11.1.1.4.0
[oracle.security.jps.internal.config.db.DbCredStoreServiceConfigurator]  checkServiceSchema - Store schema has been seeded completely
[oracle.security.jps.internal.config.db.DbCredStoreServiceConfigurator]  updateServiceConfiguration - done
[oracle.security.jps.internal.config.db.DbCredStoreServiceConfigurator]  seedSchemaAndCreateDIT - done
May 03, 2016 11:17:23 PM oracle.security.jps.internal.tools.utility.JpsUtilMigrationCredImpl migrateCredentialData
INFO: Migration of Credential Store data in progress.....
May 03, 2016 11:17:23 PM oracle.security.jps.internal.tools.utility.JpsUtilMigrationCredImpl migrateCredentialData
INFO: Migration of Credential Store data completed, Time taken for migration is 00:00:00
[oracle.security.jps.internal.config.db.DbCredStoreServiceConfigurator]  migrateData - done
[oracle.security.jps.internal.config.db.DbCredStoreServiceConfigurator]  testJpsService - done
[oracle.security.jps.internal.config.db.DbKeyStoreServiceConfigurator]  checkServiceSetup - done
May 03, 2016 11:17:23 PM oracle.security.jps.internal.config.ldap.LdapKeyStoreServiceConfigurator schemaCompatibleHandler
INFO: Keystore schema upgrade not required. Store Schema version 11.1.1.7.0 is compatible to the seed schema version 11.1.1.4.0
[oracle.security.jps.internal.config.db.DbKeyStoreServiceConfigurator]  checkServiceSchema - Store schema has been seeded completely
[oracle.security.jps.internal.config.db.DbKeyStoreServiceConfigurator]  updateServiceConfiguration - done
[oracle.security.jps.internal.config.db.DbKeyStoreServiceConfigurator]  seedSchemaAndCreateDIT - done
[oracle.security.jps.internal.config.db.DbKeyStoreServiceConfigurator]  migrateData - done
[oracle.security.jps.internal.config.db.DbKeyStoreServiceConfigurator]  testJpsService - done
May 03, 2016 11:17:24 PM oracle.security.jps.internal.policystore.ldap.LdapPolicyStore initial
INFO: Your Policy store schema is not upgraded to the latest version!
Please run the PSA (Patch Set Assistant) to upgrade the current schema version 11.1.1.7.0 to the latest version 11.1.1.7.2.
Or, you could continue to run in the backward-compatibility mode.
[oracle.security.jps.internal.config.db.DbPolicyStoreServiceConfigurator]  checkServiceSetup - done
[oracle.security.jps.internal.config.db.DbPolicyStoreServiceConfigurator]  checkServiceSchema - Store schema has been seeded completely
May 03, 2016 11:17:24 PM oracle.security.jps.internal.config.ldap.LdapPolicyStoreServiceConfigurator schemaCompatibleHandler
INFO: Policy schema upgrade not required. Store Schema version 11.1.1.7.0 is compatible to the seed schema version 11.1.1.4.0
[oracle.security.jps.internal.config.db.DbPolicyStoreServiceConfigurator]  updateServiceConfiguration - done
May 03, 2016 11:17:24 PM oracle.security.jps.internal.policystore.ldap.LdapPolicyStore initial
INFO: Your Policy store schema is not upgraded to the latest version!
Please run the PSA (Patch Set Assistant) to upgrade the current schema version 11.1.1.7.0 to the latest version 11.1.1.7.2.
Or, you could continue to run in the backward-compatibility mode.
[oracle.security.jps.internal.config.db.DbPolicyStoreServiceConfigurator]  seedSchemaAndCreateDIT - done
WLS ManagedService is not up running. Fall back to use system properties for configuration.
May 03, 2016 11:17:33 PM oracle.security.jps.internal.tools.utility.destination.apibased.JpsDstPolicy migrateData
INFO: Migration of Admin Role Members started
May 03, 2016 11:17:33 PM oracle.security.jps.internal.tools.utility.destination.apibased.JpsDstPolicy migrateData
INFO: Migration of Admin Role Members completed in 00:00:00
[oracle.security.jps.internal.config.db.DbPolicyStoreServiceConfigurator]  migrateData - done
[oracle.security.jps.internal.config.db.DbPolicyStoreServiceConfigurator]  testJpsService - done
[oracle.security.jps.internal.config.db.DbAuditStoreServiceConfigurator]  checkServiceSetup - done
May 03, 2016 11:17:33 PM oracle.security.jps.internal.config.ldap.LdapAuditServiceConfigurator schemaCompatibleHandler
INFO: Audit store schema upgrade not required. Store Schema version 11.1.1.7.0 is compatible to the seed schema version 11.1.1.4.0
[oracle.security.jps.internal.config.db.DbAuditStoreServiceConfigurator]  checkServiceSchema - Store schema has been seeded completely
[oracle.security.jps.internal.config.db.DbAuditStoreServiceConfigurator]  updateServiceConfiguration - done
[oracle.security.jps.internal.config.db.DbAuditStoreServiceConfigurator]  seedSchemaAndCreateDIT - done
May 03, 2016 11:17:33 PM oracle.security.jps.internal.audit.AuditServiceImpl registerInternal
WARNING: Cannot register to audit service for component "JPS".
May 03, 2016 11:17:33 PM oracle.security.jps.internal.tools.utility.JpsUtilMigrationAuditStoreImpl migrateAuditStoreData
INFO: Migration of Audit Store data in progress.....
May 03, 2016 11:18:17 PM oracle.security.jps.internal.tools.utility.JpsUtilMigrationAuditStoreImpl migrateAuditStoreData
INFO: Migration of Audit Store data completed, Time taken for migration is 00:00:43
[oracle.security.jps.internal.config.db.DbAuditStoreServiceConfigurator]  migrateData - done
[oracle.security.jps.internal.config.db.DbAuditStoreServiceConfigurator]  testJpsService - done
persist to output: /u01/app/mytest/user_projects/domains/idm_domain/config/fmwconfig - done
[oracle.security.jps.internal.config.db.DbCredStoreServiceConfigurator]  checkServiceSetup - done
[oracle.security.jps.internal.config.db.DbCredStoreServiceConfigurator]  updateServiceConfiguration - done
[oracle.security.jps.internal.config.db.DbKeyStoreServiceConfigurator]  checkServiceSetup - done
[oracle.security.jps.internal.config.db.DbKeyStoreServiceConfigurator]  updateServiceConfiguration - done
May 03, 2016 11:18:22 PM oracle.security.jps.internal.policystore.ldap.LdapPolicyStore initial
INFO: Your Policy store schema is not upgraded to the latest version!
Please run the PSA (Patch Set Assistant) to upgrade the current schema version 11.1.1.7.0 to the latest version 11.1.1.7.2.
Or, you could continue to run in the backward-compatibility mode.
[oracle.security.jps.internal.config.db.DbPolicyStoreServiceConfigurator]  checkServiceSetup - done
[oracle.security.jps.internal.config.db.DbPolicyStoreServiceConfigurator]  updateServiceConfiguration - done
[oracle.security.jps.internal.config.db.DbAuditStoreServiceConfigurator]  checkServiceSetup - done
[oracle.security.jps.internal.config.db.DbAuditStoreServiceConfigurator]  updateServiceConfiguration - done
persist to output: /u01/app/mytest/user_projects/domains/idm_domain/config/fmwconfig - done
INFO: Found persistence provider "org.eclipse.persistence.jpa.PersistenceProvider". OpenJPA will not be used.
May 03, 2016 11:18:27 PM oracle.security.jps.internal.policystore.ldap.LdapPolicyStore initial
INFO: Your Policy store schema is not upgraded to the latest version!
Please run the PSA (Patch Set Assistant) to upgrade the current schema version 11.1.1.7.0 to the latest version 11.1.1.7.2.
Or, you could continue to run in the backward-compatibility mode.
May 03, 2016 11:18:35 PM oracle.security.jps.internal.policystore.ldap.LdapPolicyStore initial
INFO: Your Policy store schema is not upgraded to the latest version!
Please run the PSA (Patch Set Assistant) to upgrade the current schema version 11.1.1.7.0 to the latest version 11.1.1.7.2.
Or, you could continue to run in the backward-compatibility mode.
Using default context in /u01/app/mytest/user_projects/domains/idm_domain/config/fmwconfig/jps-config-migration.xml file for credential store.
Credential store location : jdbc:oracle:thin:@mydb.vybhava.com:1521/ORCL12C
Credential with map Oracle-IAM-Security-Store-Diagnostics key Test-Cred stored successfully!


        Credential for map Oracle-IAM-Security-Store-Diagnostics and key Test-Cred is:
                GenericCredential
Info: diagnostic credential created in the credential store.
Info:  Create operation has completed successfully.

Then verify the store configuration as follows:

$ wlst $IAM_HOME/common/tools/configureSecurityStore.py -d /u01/app/mytest/user_projects/domains/idm_domain -c IAM -p weblogic123 -m validate

CLASSPATH=/u01/app/oracle/Middleware/patch_wls1036/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/u01/app/oracle/Middleware/patch_ocp371/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/u01/app/mytest/jdk1.8.0_65/lib/tools.jar:/u01/app/oracle/Middleware/wlserver_10.3/server/lib/weblogic_sp.jar:/u01/app/oracle/Middleware/wlserver_10.3/server/lib/weblogic.jar:/u01/app/oracle/Middleware/modules/features/weblogic.server.modules_10.3.6.0.jar:/u01/app/oracle/Middleware/wlserver_10.3/server/lib/webservices.jar:/u01/app/oracle/Middleware/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/u01/app/oracle/Middleware/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar::/u01/app/oracle/Middleware/oracle_common/modules/oracle.jrf_11.1.1/jrf-wlstman.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/lib/adfscripting.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/lib/adf-share-mbeans-wlst.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/lib/mdswlst.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/auditwlst.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/igfwlsthelp.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/jps-wlst.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/jps-wls-trustprovider.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/jrf-wlst.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/oamap_help.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/oamAuthnProvider.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/ossoiap_help.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/ossoiap.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/ovdwlsthelp.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/sslconfigwlst.jar:/u01/app/oracle/Middleware/oracle_common/common/wlst/resources/wsm-wlst.jar:/u01/app/oracle/Middleware/utils/config/10.3/config-launch.jar::/u01/app/oracle/Middleware/wlserver_10.3/common/derby/lib/derbynet.jar:/u01/app/oracle/Middleware/wlserver_10.3/common/derby/lib/derbyclient.jar:/u01/app/oracle/Middleware/wlserver_10.3/common/derby/lib/derbytools.jar::
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0

Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

Info: Data source is: opss-DBDS
INFO: Found persistence provider "org.eclipse.persistence.jpa.PersistenceProvider". OpenJPA will not be used.
May 03, 2016 11:23:58 PM oracle.security.jps.internal.policystore.ldap.LdapPolicyStore initial
INFO: Your Policy store schema is not upgraded to the latest version!
Please run the PSA (Patch Set Assistant) to upgrade the current schema version 11.1.1.7.0 to the latest version 11.1.1.7.2.
Or, you could continue to run in the backward-compatibility mode.
WLS ManagedService is not up running. Fall back to use system properties for configuration.
Info: Diagnostics data was saved to the credential store.
Info: Validate operation has completed successfully.

Tuesday, May 3, 2016

Deinstalling Oracle DB 12c software

There are some situations that demands us to uninstall the installed software. same thing happen for me today I was trying to install the Oracle Database 12c in silent mode the logs tells that there is some prerequisites not matched. Hence the installation log retured with non zero value that is 6.

To re-install my software I need to uninstall the existing software.

To uninstall Oracle Database navigate to the ORACLE_HOME then find deinstall directory containing the deinstall command.


$cd /u01/app/oracle/product/12.1.0.2/dbhome_1/deinstall
./deinstall
Checking for required files and bootstrapping ...
Please wait ...
Location of logs /tmp/deinstall2016-04-25_04-18-49AM/logs/

############ ORACLE DECONFIG TOOL START ############

The product version number of the specified home cannot be determined. Is the product version 12.1.0.2.0 (y - yes, n - no)? [n]y

######################### DECONFIG CHECK OPERATION START #########################
## [START] Install check configuration ##
The deinstall tool cannot determine the home type needed to deconfigure the selected home.  Please select the type of Oracle home you are trying to deinstall.
Single Instance database - Enter 1
Real Application Cluster database - Enter 2
Grid Infrastructure for a cluster - Enter 3
Grid Infrastructure for a stand-alone server - Enter 4
Client Oracle Home - Enter 5
Transparent Gateways Oracle Home - Enter 6
GSM Oracle Home - Enter 7
1
The product version number of the specified home cannot be determined. Is the product version at least 11.2.0.1.0 (y - yes, n - no)? [n]
y


Checking for existence of the Oracle home location /u01/app/oracle/product/12.1.0.2/dbhome_1
Oracle Home type selected for deinstall is: Oracle Single Instance Database
Oracle Base selected for deinstall is:
Checking for existence of central inventory location /oracle/oraInventory

## [END] Install check configuration ##


Network Configuration check config START

Network de-configuration trace file location: /tmp/deinstall2016-04-25_04-18-49AM/logs/netdc_check2016-04-25_04-23-44-AM.log

Network Configuration check config END

Database Check Configuration START

Database de-configuration trace file location: /tmp/deinstall2016-04-25_04-18-49AM/logs/databasedc_check2016-04-25_04-23-48-AM.log

Use comma as separator when specifying list of values as input

Specify the list of database names that are configured in this Oracle home []:
Database Check Configuration END
Oracle Configuration Manager check START
OCM check log file location : /tmp/deinstall2016-04-25_04-18-49AM/logs//ocm_check7593.log
Oracle Configuration Manager check END

######################### DECONFIG CHECK OPERATION END #########################


####################### DECONFIG CHECK OPERATION SUMMARY #######################
Oracle Home selected for deinstall is: /u01/app/oracle/product/12.1.0.2/dbhome_1
Inventory Location where the Oracle home registered is: /gbuora/oraInventory
Checking the config status for CCR
Oracle Home exists with CCR directory, but CCR is not configured
CCR check is finished
Do you want to continue (y - yes, n - no)? [n]: y
A log of this session will be written to: '/tmp/deinstall2016-04-25_04-18-49AM/logs/deinstall_deconfig2016-04-25_04-19-43-AM.out'
Any error messages from this session will be written to: '/tmp/deinstall2016-04-25_04-18-49AM/logs/deinstall_deconfig2016-04-25_04-19-43-AM.err'

######################## DECONFIG CLEAN OPERATION START ########################
Database de-configuration trace file location: /tmp/deinstall2016-04-25_04-18-49AM/logs/databasedc_clean2016-04-25_04-24-15-AM.log

Network Configuration clean config START

Network de-configuration trace file location: /tmp/deinstall2016-04-25_04-18-49AM/logs/netdc_clean2016-04-25_04-24-15-AM.log

De-configuring backup files...
Backup files de-configured successfully.

The network configuration has been cleaned up successfully.

Network Configuration clean config END

Oracle Configuration Manager clean START
OCM clean log file location : /tmp/deinstall2016-04-25_04-18-49AM/logs//ocm_clean7593.log
Oracle Configuration Manager clean END

######################### DECONFIG CLEAN OPERATION END #########################


####################### DECONFIG CLEAN OPERATION SUMMARY #######################
Cleaning the config for CCR
As CCR is not configured, so skipping the cleaning of CCR configuration
CCR clean is finished
#######################################################################


############# ORACLE DECONFIG TOOL END #############

Using properties file /tmp/deinstall2016-04-25_04-18-49AM/response/deinstall_2016-04-25_04-19-43-AM.rsp
Location of logs /tmp/deinstall2016-04-25_04-18-49AM/logs/

############ ORACLE DEINSTALL TOOL START ############





####################### DEINSTALL CHECK OPERATION SUMMARY #######################
A log of this session will be written to: '/tmp/deinstall2016-04-25_04-18-49AM/logs/deinstall_deconfig2016-04-25_04-19-43-AM.out'
Any error messages from this session will be written to: '/tmp/deinstall2016-04-25_04-18-49AM/logs/deinstall_deconfig2016-04-25_04-19-43-AM.err'

######################## DEINSTALL CLEAN OPERATION START ########################
## [START] Preparing for Deinstall ##
Setting LOCAL_NODE to localhost
Setting CRS_HOME to false
Setting oracle.installer.invPtrLoc to /tmp/deinstall2016-04-25_04-18-49AM/oraInst.loc
Setting oracle.installer.local to false

## [END] Preparing for Deinstall ##

Setting the force flag to false
Setting the force flag to cleanup the Oracle Base
Oracle Universal Installer clean START

Detach Oracle home '/u01/app/oracle/product/12.1.0.2/dbhome_1' from the central inventory on the local node : Done

Delete directory '/u01/app/oracle/product/12.1.0.2/dbhome_1' on the local node : Done

Delete directory '/gbuora/oraInventory' on the local node : Done

Oracle Universal Installer cleanup was successful.

Oracle Universal Installer clean END


## [START] Oracle install clean ##

Clean install operation removing temporary directory '/tmp/deinstall2016-04-25_04-18-49AM' on node 'localhost'

## [END] Oracle install clean ##


######################### DEINSTALL CLEAN OPERATION END #########################


####################### DEINSTALL CLEAN OPERATION SUMMARY #######################
Successfully detached Oracle home '/u01/app/oracle/product/12.1.0.2/dbhome_1' from the central inventory on the local node.
Successfully deleted directory '/u01/app/oracle/product/12.1.0.2/dbhome_1' on the local node.
Successfully deleted directory '/gbuora/oraInventory' on the local node.
Oracle Universal Installer cleanup was successful.

Run 'rm -r /opt/ORCLfmap' as root on node(s) 'localhost' at the end of the session.
Run 'rm -r /etc/oratab' as root on node(s) 'localhost' at the end of the session.
Oracle deinstall tool successfully cleaned up temporary directories.
#######################################################################


############# ORACLE DEINSTALL TOOL END #############

Then you will be no longer having the directory structure which was used for Oracle Database.

Reference document:

Remov Oracle Database Software 

Tuesday, April 19, 2016

Oracle HTTP Server 12c starting component with Nodemanager

Welcome back

OHS 12c Using alternate Node managr port




configuring the OHS 12 domain using the Configuration Wizard, there does not seem to be an option to specify a different Node manager port. It uses the default 5556, where it is already used by FMW Domain[SOA Domain or WebLogic Domain].
Following steps are used to modify and use alternative Nodemanager port in a standalone OHS domain.


  1. Open the nodemanager.properties, change the Node Manager port (default 5556) to a port that is currently not in use. change port here from 5556 to 5566 and then  Save this file. 
  2. Modify the OHS domain's config.xml.  This is a new step for 12c environments! 
Node Manager properties for OHS Domain

Navigate to as shown below:

cd  $OHS_DOMAIN/config

Edit the config.xml file Look for the following node-manager tag block


    localmachine
     localhost
     {AES}/TU+/JiP22JJzuRa7Rqpp1xQkgPTmQ4Sb/VvBHJWPhg=


Change this code block it by adding listen-port tag to the Node Manager port same value as given in step 1.
 

       localmachine
       localhost
        5566
       {AES}/TU+/JiP22JJzuRa7Rqpp1xQkgPTmQ4Sb/VvBHJWPhg=


Now start the components.
cd $OHS_DOMAIN/bin
nohup ./startNodeManager.sh 2>&1 &
./startComponent.sh ohs1

Starting OHS domain 


Then you can check the url that can connect to the ohs instance and shows below...
http://localhost:7777


Stop the OHS server from Command line
Before you run the stopComponent.sh script to stop OHS you must check that Node manager for OHS must be running.

cd $OHS_DOMAIN/bin/
./stopComponent.sh ohs1
stopComponent ohs1 using Commandline

Reference


  • OHS 12.2.1 Silent installation
  • Uninstall OHS 12c
  • Configuring OHS 12c domain
  • OHS 12c instance Start/Stop
  • Oracle Traffic Director 12.2.1 Silent Installation

  • OHS Getting started

    Monday, April 18, 2016

    Creating Standalone OHS domain

    There are two options to crate OHS domain

    1. Standalone domain
    2. Collocated in WebLogic domain
    This domain creation you could do again in two methods using config.sh that means using configuation wizard and other method is using WLST.

    Prerequisites
    • JDK installed as per the certificate matrix
    • WebLogic [required for the collocating domain]
    • Oracle HTTP Server 12c installed

    Configuring OHS domain using Wizard

    Lets see the first method using configuration wizard

    Configuration Wizard -Welcome Screen 

    Step 1: Select the option - Create a new domain

    Step 2: Select OHS Check box and proceed with next

    Step 4: You can add more OHS component type  instances default ohs1

    Step 5: Update the Admin Host for OHS, Listen Address for ohs and also Server Name parameters

    Step 6: Node manager type select per domain and enter user credentials

    Step 7: Create the OHS System Components

    Step 8: Progress of OHS domain  configuration

    Step 9: Finish Confirmation screen of OHS Domain configuration

    Friday, April 15, 2016

    Deinstall OHS 12.1.3

    Sometimes you might wish to change the OHS installation option from collocation to standalone.
    Standalone installation would be used when you wish to run the single OHS instance.

    Navigate to $ORACLE_HOME/oui/bin directory and then give the following command in the VNC client


    cd $ORACLE_HOME/oui/bin
    ./deinstall.sh
    

    Select which Oracle product you wish to de-install

    Step 1: Welcome screen of deinstall
    Step 2: Deinstall OHS 12c

    Step 3: deinstall OHS Progress


    Step 4: Confirmation Screen



    Wednesday, February 24, 2016

    Install Oracle Traffic Director 12.2.1 in silent mode

    Hello Friends!! In this post, let's discuss on Installation procedure for OTD. Oracle Traffic Director (OTD) is developed on Fusion Middleware supported platforms and on Oracle's engineered systems such as Exalogic and SPARC SuperCluster.

    Oracle Traffic Director 12.2.1 is a software load balancer for load balancing HTTP/S and TCP traffic to back-end servers. These back-end servers, which are referred to as origin servers within Oracle Traffic Director, can be application servers, web servers, LDAP servers and so on

    Oracle Traffic Director OTD installation

    Prerequisites for Collocated Domain:

    Create silent mode installation will take the default paths which takes the arguments given in the same line instead of response file, INSTALL_TYPE="Collocated OTD (Managed through WebLogic server)" is the option will tells the Oracle Universal Installer that install OTD  with the following:


    Download and unzip file V78163-01.zip to install traffic director

    ./fmw_12.2.1.0.0_otd_linux64.bin -silent ORACLE_HOME=$ORACLE_HOME DECLINE_SECURITY_UPDATES=true INSTALL_TYPE="Collocated OTD (Managed through WebLogic server)" -invPtrLoc /home/oracle/silent/oraInst.loc
    0%...................................................................................................100%
    Launcher log file is /tmp/OraInstall2016-02-25_11-25-48AM/launcher2016-02-25_11-25-48AM.log.
    Starting Oracle Universal Installer
    
    Checking if CPU speed is above 300 MHz.   Actual 2924.000 MHz    Passed
    Checking swap space: must be greater than 512 MB.   Actual 17304 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 706019 MB    Passed
    
    
    Preparing to launch the Oracle Universal Installer from /tmp/OraInstall2016-02-25_11-25-48AM
    Log: /tmp/OraInstall2016-02-25_11-25-48AM/install2016-02-25_11-25-48AM.log
    Setting ORACLE_HOME to /home/oracle/products/12.2.1/Oracle_Home
    Setting DECLINE_SECURITY_UPDATES to true
    Setting INSTALL_TYPE to Collocated OTD (Managed through WebLogic server)
    Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
    Skipping Software Updates
    Starting check : CertifiedVersions
    Expected result: One of redhat-7,redhat-6,oracle-6,oracle-7,SuSE-11
    Actual Result: oracle-7
    Check complete. The overall result of this check is: Passed
    CertifiedVersions Check: Success.
    
    
    Starting check : Packages
    Checking for binutils-2.23.52.0.1; found binutils-2.23.52.0.1-55.el7-x86_64.    Passed
    Checking for compat-libcap1-1.10; found compat-libcap1-1.10-7.el7-x86_64.       Passed
    Checking for compat-libstdc++-33-3.2.3-x86_64; found compat-libstdc++-33-3.2.3-72.el7-x86_64.   Passed
    Checking for libgcc-4.8.2-x86_64; found libgcc-4.8.5-4.el7-x86_64.      Passed
    Checking for libstdc++-4.8.2-x86_64; found libstdc++-4.8.5-4.el7-x86_64.        Passed
    Checking for libstdc++-devel-4.8.2-x86_64; found libstdc++-devel-4.8.5-4.el7-x86_64.    Passed
    Checking for sysstat-10.1.5; found sysstat-10.1.5-7.el7-x86_64. Passed
    Checking for gcc-4.8.2; found gcc-4.8.5-4.el7-x86_64.   Passed
    Checking for gcc-c++-4.8.2; found gcc-c++-4.8.5-4.el7-x86_64.   Passed
    Checking for ksh-...; found ksh-20120801-22.el7_1.3-x86_64.     Passed
    Checking for make-3.82; found make-1:3.82-21.el7-x86_64.        Passed
    Checking for glibc-2.17-x86_64; found glibc-2.17-106.0.1.el7_2.1-x86_64.        Passed
    Checking for glibc-devel-2.17-x86_64; found glibc-devel-2.17-106.0.1.el7_2.1-x86_64.    Passed
    Checking for libaio-0.3.109-x86_64; found libaio-0.3.109-13.el7-x86_64. Passed
    Checking for libaio-devel-0.3.109-x86_64; found libaio-devel-0.3.109-13.el7-x86_64.     Passed
    Check complete. The overall result of this check is: Passed
    Packages Check: Success.
    
    
    Starting check : Kernel
    Checking for VERSION=3.8.0; found VERSION=3.10.0-229.el7.x86_64.        Passed
    Checking for hardnofiles=4096; found hardnofiles=4096.  Passed
    Checking for softnofiles=4096; found softnofiles=4096.  Passed
    Check complete. The overall result of this check is: Passed
    Kernel Check: Success.
    
    
    Starting check : TotalMemory
    Expected result: 1024MB
    Actual Result: 31972MB
    Check complete. The overall result of this check is: Passed
    TotalMemory Check: Success.
    
    
    Starting check : CheckJDKVersion
    Expected result: 1.8.0_51
    Actual Result: 1.8.0_51
    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 Traffic Director 12.2.1.0.0 completed successfully.
    Logs successfully copied to /home/oracle/oraInventory/logs.
    

    We have updated the following topics with the integration process with OHS and Oracle WebLogic.

    1. OTD connecting OHS instances
    2. OTD Instance creation with WLST
    3. OTD Standalone Domain
    4. OHS Instance creation using WLST
    5. OHS Standalone domain
    6. OHS Collocated domain

    Monday, February 22, 2016

    Oracle SOA Suite Administration interview questions - Part 3

    21. How does your application can call external web service ?

    22. Calling async BPEL process within empty BPEL process?

    23. Combination of ESB and BPEL and third party web services ?

    24. Java embedding 48. BPEL and OSB console ?

    25. Adapter - concepts, integration, life-cycle mgmt., translation errors ?

    26. Oracle E-Biz adapter and capturing event from oracle ERP ?

    27. Fine tuning BPEL process ?

    28. What is the SOA Deployment framework used in your Project?
    A. Partitioned deployment strategy is most commonly used.
    Components can be deployed using Enterprise Manager or WLST Scripts.

    29. Business rules and AIA ?

    30. Email notification and rejection handler ?

    31. Patches and installation - UNIX based and windows based ?

    32. External resource management (example MQ shared library and third party jar files) ?

    33. JMS and connection pools 58. Transformation and iteration ?

    34. Which are the areas you think Oracle SOA fits perfectly?

    35. What is a file adapter ?
    In JEE specification we have JCA specs. The on-demand adapter usage available in the WebLogic 12c onwards. Which is used in the SOA domain and we can have the File adapter can be enabled by a BPEL or  human workflow to  exchange, read and write files on a logical system.



     36. What are the default schema will  be created while  installing Oracle SOA ?
    A. There are four important schema will be created using RCU for SOA.

          1. BAM

          2. SOA INFRA

          3. META DATA SERVICE

          4. USER MESSAGING SERVICE

    37. What is SOA infra ?

    Oracle SOA Suite 11g provides a unified runtime based on the SCA standard. The runtime consists of Service Engines and Binding Components (JCA Adapters, B2B) that are managed and interconnected by a common SOA Infrastructure. SOA Infrastructure also provides common services such as lifecycle management and deployment.

    The diagram shows the runtime of an SOA composite application. It has the following parts: Binding Components establishes the connectivity between an SOA composite and the external world. Service Infrastructure provides internal message transport. Service Engines (containers hosting service components) host the business logic or processing rules of the service components. Each service component has its own service engine. UDDI and MDS The MDS (Metadata Services) repository stores descriptions of available services. The UDDI advertises these services, and enables discovery and dynamic binding at runtime. SOA Archive: Composite is the deployment unit that describes the composite application.


    38. What is database purging ?


     Deleting tales in the database is said to be database purging.



    39. What is  Mediator ?

    Data flowing through Service Component Architecture (SCA) may need to be filtered, transformed, validated, and routed from a source to one or more target services. The Mediator component enables you to easily implement and perform these capabilities within the context of a composite application. A Mediator component provides a lightweight mediation framework to manage data between clients and services and through events.

     Routing data, which is the main purpose of a Mediator component, is accomplished by adding one or more routing rules. Each routing rule specifies a target service for the data, which may be communicated synchronously or asynchronously. Routing rules can handle returned responses, callbacks, faults, timeouts, and specify content-based and header-based filtering criteria, enabling data to be routed to a suitable target. Using a Mediator component, you can facilitate integration between events and services where service invocations and events can be mixed and matched through an implementation of a variety of patterns, such as service virtualization, publish and subscribe, fan-in, and fan-out, and various synchronous and asynchronous request response patterns. For example, a Mediator component can accept data from a text file, transform it to a format for updating a database, route, and deliver the data to that database through a database service.


     40. What is OSB ?

     Oracle service bus is used to connect , mediate and manage interaction between hetrogenous services, legacy applications, packaged applications and multiple service bus instances across an enterprise wide network.


    Oracle SOA Suite Administration interview questions - Part 4

    This post is series of SOA Suite Administration interview Questions. You might be interested to see :


    41. What is plan.xml and where do you need this?
    Whenever we have huge deployments in SOA environments and the variation only the DB Details and Context URL paths then we can create multiple plan.xml files to simplify the deployment Unit to multiple platforms such as QA, TEST, DEV etc.

    42. Daily activities that you do as an Administrator in a SOA  project ?
    SOA admin daily activities are:

    • Installation of Environments one time activity for Production multiple for non-Production
    • Configurations - major once minor depending on releases
    • Deployments - Currently every project is following Agile methodology twice in month for Production, non production daily [many times also]
    • Control - Stop or start environments
    • Monitoring the environment sweeping out the logs to clear disk space. recycle long running servers to free up JVM, etc
    • DR sync up for every release code ensure everything working fine after a release deployment. Some time reverting



    43. Tell me  about your current company/client using environment ?


    44. What are the differences between identity store and trust store ?
    These two are the important files to configure your web services/web applications for accessing HTTPS protocol based.

    References:

    SSL Configuration on WebLogic Environment


    45.  Do you have any questions to me ?


    Oracle SOA Suite Administration interview questions - Part 2

    11. What is the Path of the SOA server related log files ?

    MW_HOME/user projects/domains/soa_domain/ms_server/logs


    12. What is synchronous and asynchronous process in BPEL ?

    BPEL is an orchestration language that actively describes the ways in which individual services can be composed to implement a more complex service.

    BPEL is designed to integrate Web services. Web services are components described by their interfaces, which are known as WSDL. But WSDL does not make statements about message sequences. BPEL’s processing model is based on the assumption that all import and export of data is done by using Web services.

    Most BPEL processes are executable. They can be started by external actions or some internal process (within the BPEL context). BPEL processes are executed by an execution engine. The engine can publish a BPEL process through a Web services interface or react to trigger conditions set up inside the process itself. BPEL processes can be long-running transactions. If human interaction is required, some processes may take weeks or months. BPEL processes can define the business logic and perform routing, transforming, and filtering inside a BPEL Process component contained in a composite application. BPEL processes are described like flow charts. BPEL defines a small number of basic building blocks. Some special controls are used for branching, joining, and exceptions. BPEL execution is the process of transporting data through the chart. BPEL flow can be modeled in a visual designer tool.


    Synchronous BPEL process can block  the client when it is being called

    Asynchronous BPEL process not  blocking may use call backs

    13. Tell me basic commands in Solaris like checking the CPU usage RAM consumption ?

    14. Basic requirements on database creation and configuration of DB Adapters ?

    15. List the various adapters used ?

     To interact with Oracle  application with non Oracle application we use fusion middleware adapters.


         1. File adapter

         2. JMS

         3. DB

         4. AQ

         5. APPS

         6. UMS




    16. What is SOA, Oracle SOA suite, BPEL, ESB ?

    17. Difference between BPEL and ESB ?

    18. Transactions and fault (exception) management ?

    19.  Designer for Business process ?

    20. Run time components of SOA ?


    Tuesday, January 12, 2016

    SOA 12.2.1 Clustered Domain Using WLST Script

    Hey!

    Namaste from Oracle Fusion Middleware world!! In this post, I would like to share the experiment on the SOA domain using WLST for a high availability imposed Clustered Domain.

    Prerequisites for SOA cluster domain configuration



    1. Oracle Fusion Middleware Infrastructure
    2. Oracle SOA 12.2.1 Installation
    3. Oracle OSB 12.2.1 Installation

    Clustered SOA Domain using WLST preparation

    High availability can be achived when we configured multiple WebLgoic managed servers and they are part of a cluster. Here in this case 'soa_server1', 'soa_server2' are configured into the 'soa_cluster'.

    Step 1: Create the below soa_domain.properties file
    WLHOME      = /home/oracle/products/12.2.1/Oracle_Home/wlserver
    ORACLE_HOME = /home/oracle/products/12.2.1/Oracle_Home
    DOMAIN      = soa_qa_domain
    DOMAIN_PATH = /home/oracle/wls_domains/domains/soa_qa_domain
    APP_PATH    = /home/oracle/wls_domains/applications/soa_qa_domain
     
    SERVER_ADDRESS = 192.168.xxx.xxx
    LOG_FOLDER     = /var/log/weblogic/
     
    JSSE_ENABLED     = true
    DEVELOPMENT_MODE = true
    WEBTIER_ENABLED  = false
     
    ADMIN_SERVER   = AdminServer
    ADMIN_USER     = weblogic
    ADMIN_PASSWORD = weblogic1
     
    JAVA_HOME      = /home/oracle/jdk1.8.0_65
     
    ADM_JAVA_ARGUMENTS = -XX:PermSize=256m -XX:MaxPermSize=512m -Xms1024m -Xmx1532m 
    OSB_JAVA_ARGUMENTS = -XX:PermSize=256m -XX:MaxPermSize=512m -Xms1024m -Xmx1024m 
    SOA_JAVA_ARGUMENTS = -XX:PermSize=256m -XX:MaxPermSize=752m -Xms1024m -Xmx1532m 
    BAM_JAVA_ARGUMENTS = -XX:PermSize=256m -XX:MaxPermSize=512m -Xms1024m -Xmx1532m 
     
     
    SOA_REPOS_DBURL = jdbc:oracle:thin:@192.168.xxx.xxx:1521/DBSCHEMA
    SOA_REPOS_DBUSER_PREFIX  = QA
    SOA_REPOS_DBPASSWORD     = welcome1
     
    BPM_ENABLED=false
    BAM_ENABLED=true
    B2B_ENABLED=true
    ESS_ENABLED=true
     
    ADMIN_PORT=6001
    MANAGED_SOA_PORT=6100
    MANAGED_BAM_PORT=6200
    MANAGED_OSB_PORT=6300
    
    
    Note here all properties defined are string values, when port numbers are read from this properties need to convert to integer type using int() funciton.
    
    
    Then we need to create the below script create_soa_clustered_doamin.py
    loadProperties('clustersoa_osb_domain.properties')
    ADM_JAVA_ARGUMENTS = '-XX:PermSize=256m -XX:MaxPermSize=512m -Xms1024m -Xmx1532m -Dweblogic.Stdout='+LOG_FOLDER+'AdminServer.out -Dweblogic.Stderr='+LOG_FOLDER+'AdminServer_err.out'
    def createBootPropertiesFile(directoryPath,fileName, username, password):
      serverDir = File(directoryPath)
      bool = serverDir.mkdirs()
      fileNew=open(directoryPath + '/'+fileName, 'w')
      fileNew.write('username=%s\n' % username)
      fileNew.write('password=%s\n' % password)
      fileNew.flush()
      fileNew.close()
    
    def createAdminStartupPropertiesFile(directoryPath, args):
      adminserverDir = File(directoryPath)
      bool = adminserverDir.mkdirs()
      fileNew=open(directoryPath + '/startup.properties', 'w')
      args=args.replace(':','\\:')
      args=args.replace('=','\\=')
      fileNew.write('Arguments=%s\n' % args)
      fileNew.flush()
      fileNew.close()
    
    def changeDatasourceToXA(datasource):
      print 'Change datasource '+datasource
      cd('/')
      cd('/JDBCSystemResource/'+datasource+'/JdbcResource/'+datasource+'/JDBCDriverParams/NO_NAME_0')
      set('DriverName','oracle.jdbc.xa.client.OracleXADataSource')
      set('UseXADataSourceInterface','True') 
      cd('/JDBCSystemResource/'+datasource+'/JdbcResource/'+datasource+'/JDBCDataSourceParams/NO_NAME_0')
      set('GlobalTransactionsProtocol','TwoPhaseCommit')
      cd('/')
    
    def changeManagedServer(server,port,java_arguments):
      cd('/Servers/'+server)
      set('Machine'      ,'LocalMachine')
      set('ListenAddress',SERVER_ADDRESS)
      set('ListenPort'   ,port)
    
      create(server,'ServerStart')
      cd('ServerStart/'+server)
      set('Arguments' , java_arguments+' -Dweblogic.Stdout='+LOG_FOLDER+server+'.out -Dweblogic.Stderr='+LOG_FOLDER+server+'_err.out')
      set('JavaVendor','Sun')
      set('JavaHome'  , JAVA_HOME)
    
      cd('/Server/'+server)
      create(server,'SSL')
      cd('SSL/'+server)
      set('Enabled'                    , 'False')
      set('HostNameVerificationIgnored', 'True')
    
      if JSSE_ENABLED == true:
        set('JSSEEnabled','True')
      else:
        set('JSSEEnabled','False')  
    
      cd('/Server/'+server)
      create(server,'Log')
      cd('/Server/'+server+'/Log/'+server)
      set('FileName'     , LOG_FOLDER+server+'.log')
      set('FileCount'    , 10)
      set('FileMinSize'  , 5000)
      set('RotationType' ,'byTime')
      set('FileTimeSpan' , 24)
    
      print('Start...wls domain with template /home/oracle/products/12.2.1/Oracle_Home/wlserver/common/templates/wls/wls.jar')
    readTemplate(ORACLE_HOME+'/wlserver/common/templates/wls/wls.jar')
    
    cd('/')
    print('Set domain log')
    create('base_domain','Log')
    
    cd('/Log/base_domain')
    set('FileName'    ,LOG_FOLDER+DOMAIN+'.log')
    set('FileCount'   ,10)
    set('FileMinSize' ,5000)
    set('RotationType','byTime')
    set('FileTimeSpan',24)
    
    cd('/Servers/AdminServer')
    # name of adminserver
    set('Name',ADMIN_SERVER )
    
    cd('/Servers/'+ADMIN_SERVER)
    
    # address and port
    set('ListenAddress',SERVER_ADDRESS)
    set('ListenPort',int(ADMIN_PORT))
    
    setOption( "AppDir", APP_PATH )
    
    create(ADMIN_SERVER,'ServerStart')
    cd('ServerStart/'+ADMIN_SERVER)
    set('Arguments' , ADM_JAVA_ARGUMENTS)
    set('JavaVendor','Sun')
    set('JavaHome'  , JAVA_HOME)
    
    cd('/Server/'+ADMIN_SERVER)
    create(ADMIN_SERVER,'SSL')
    cd('SSL/'+ADMIN_SERVER)
    set('Enabled'                    , 'False')
    set('HostNameVerificationIgnored', 'True')
    
    if JSSE_ENABLED == true:
      set('JSSEEnabled','True')
    else:
      set('JSSEEnabled','False')
    
    
    cd('/Server/'+ADMIN_SERVER)
    
    create(ADMIN_SERVER,'Log')
    cd('/Server/'+ADMIN_SERVER+'/Log/'+ADMIN_SERVER)
    set('FileName'    ,LOG_FOLDER+ADMIN_SERVER+'.log')
    set('FileCount'   ,10)
    set('FileMinSize' ,5000)
    set('RotationType','byTime')
    set('FileTimeSpan',24)
    
    print('Set password...')
    cd('/')
    cd('Security/base_domain/User/weblogic')
    
    # weblogic user name + password
    set('Name',ADMIN_USER)
    cmo.setPassword(ADMIN_PASSWORD)
    
    if DEVELOPMENT_MODE == true:
      setOption('ServerStartMode', 'dev')
    else:
      setOption('ServerStartMode', 'prod')
    
    setOption('JavaHome', JAVA_HOME)
    
    print('write domain...')
    # write path + domain name
    writeDomain(DOMAIN_PATH)
    closeTemplate()
    
    createAdminStartupPropertiesFile(DOMAIN_PATH+'/servers/'+ADMIN_SERVER+'/data/nodemanager',ADM_JAVA_ARGUMENTS)
    createBootPropertiesFile(DOMAIN_PATH+'/servers/'+ADMIN_SERVER+'/security','boot.properties',ADMIN_USER,ADMIN_PASSWORD)
    createBootPropertiesFile(DOMAIN_PATH+'/config/nodemanager','nm_password.properties',ADMIN_USER,ADMIN_PASSWORD)
    
    es = encrypt(ADMIN_PASSWORD,DOMAIN_PATH)
    
    readDomain(DOMAIN_PATH)
    
    print('set domain password...') 
    cd('/SecurityConfiguration/'+DOMAIN)
    set('CredentialEncrypted',es)
    
    print('Set nodemanager password')
    set('NodeManagerUsername'         ,ADMIN_USER )
    set('NodeManagerPasswordEncrypted',es )
    
    cd('/')
    
    setOption( "AppDir", APP_PATH )
    
    print('Extend...osb domain with template /opt/oracle/middleware12c/osb/common/templates/wls/oracle.osb_template.jar')
    addTemplate(ORACLE_HOME+'/oracle_common/common/templates/wls/oracle.wls-webservice-template.jar')
    addTemplate(ORACLE_HOME+'/osb/common/templates/wls/oracle.osb_template.jar')
    
    print 'Adding ApplCore Template'
    addTemplate(ORACLE_HOME+'/oracle_common/common/templates/wls/oracle.applcore.model.stub_template.jar')
    
    print 'Adding SOA Template'
    addTemplate(ORACLE_HOME+'/soa/common/templates/wls/oracle.soa_template.jar')
    
    if BAM_ENABLED == true:
      print 'Adding BAM Template'
      addTemplate(ORACLE_HOME+'/soa/common/templates/wls/oracle.bam.server_template.jar')
    
    if BPM_ENABLED == true:
      print 'Adding BPM Template'
      addTemplate(ORACLE_HOME+'/soa/common/templates/wls/oracle.bpm_template.jar')
    
    if WEBTIER_ENABLED == true:
      print 'Adding OHS Template'
      addTemplate(ORACLE_HOME+'/ohs/common/templates/wls/ohs_managed_template.jar')
    
    if B2B_ENABLED == true:
      print 'Adding B2B Template'
      addTemplate(ORACLE_HOME+'/soa/common/templates/wls/oracle.soa.b2b_template.jar')
    
    if ESS_ENABLED == true:
      print 'Adding ESS Template'
      addTemplate(ORACLE_HOME+'/oracle_common/common/templates/wls/oracle.ess.basic_template.jar')
      addTemplate(ORACLE_HOME+'/em/common/templates/wls/oracle.em_ess_template.jar')
    
    dumpStack()
    
    print 'Change datasources'
    
    print 'Change datasource LocalScvTblDataSource'
    cd('/JDBCSystemResource/LocalSvcTblDataSource/JdbcResource/LocalSvcTblDataSource/JDBCDriverParams/NO_NAME_0')
    set('URL',SOA_REPOS_DBURL)
    set('PasswordEncrypted',SOA_REPOS_DBPASSWORD)
    cd('Properties/NO_NAME_0/Property/user')
    set('Value',SOA_REPOS_DBUSER_PREFIX+'_STB')
    
    print 'Call getDatabaseDefaults which reads the service table'
    getDatabaseDefaults()    
    
    changeDatasourceToXA('EDNDataSource')
    changeDatasourceToXA('wlsbjmsrpDataSource')
    changeDatasourceToXA('OraSDPMDataSource')
    changeDatasourceToXA('SOADataSource')
    
    if BAM_ENABLED == true:
      changeDatasourceToXA('BamDataSource')
    
    print 'end datasources'
    setOption( "AppDir", APP_PATH )
    
    print('Create machine LocalMachine with type UnixMachine')
    cd('/')
    create('LocalMachine','UnixMachine')
    cd('UnixMachine/LocalMachine')
    create('LocalMachine','NodeManager')
    cd('NodeManager/LocalMachine')
    set('ListenAddress',SERVER_ADDRESS)
    
    print 'Change AdminServer'
    cd('/Servers/'+ADMIN_SERVER)
    set('Machine','LocalMachine')
    
    cd('/')
    if ESS_ENABLED == true:
      delete('ess_server1', 'Server')
    
    if BAM_ENABLED == true:
      delete('bam_server1', 'Server')
    
    delete('soa_server1', 'Server')
    delete('osb_server1', 'Server')
    
    print 'Create SoaCluster'
    cd('/')
    create('SoaCluster', 'Cluster')
    for i in range (1,3):
     print 'Create SoaServer'+str(i)
     cd('/')
     create('SoaServer'+str(i), 'Server')
     changeManagedServer('SoaServer'+str(i),int(MANAGED_SOA_PORT)+i,SOA_JAVA_ARGUMENTS)
     cd('/')
     assign('Server','SoaServer'+str(i),'Cluster','SoaCluster')
     
    if BAM_ENABLED == true:
     print 'Create BamCluster'
     cd('/')
     create('BamCluster', 'Cluster')
     for i in range (1,3):
       print 'Create BamServer'+str(i)
       cd('/')
       create('BamServer'+str(i), 'Server')
       changeManagedServer('BamServer'+str(i),int(MANAGED_BAM_PORT)+i,BAM_JAVA_ARGUMENTS)
       cd('/')
       assign('Server','BamServer'+str(i),'Cluster','BamCluster')
     
    print 'Create OsbCluster'
    cd('/')
    create('OsbCluster', 'Cluster')
    for i in range (1,3):
     print 'Create OsbServer'+str(i)
     cd('/')
     create('OsbServer'+str(i), 'Server')
     changeManagedServer('OsbServer'+str(i),int(MANAGED_OSB_PORT)+i,OSB_JAVA_ARGUMENTS)
     cd('/')
     assign('Server','OsbServer'+str(i),'Cluster','OsbCluster')
    
    print 'Add server groups WSM-CACHE-SVR WSMPM-MAN-SVR JRF-MAN-SVR to AdminServer'
    serverGroup = ["WSM-CACHE-SVR" , "WSMPM-MAN-SVR" , "JRF-MAN-SVR"]
    setServerGroups(ADMIN_SERVER, serverGroup)                      
    
    if ESS_ENABLED == true:
      print 'Add server group SOA-MGD-SVRS,ESS-MGD-SVRS to soa_server1'
      cd('/')
      serverGroup = ["SOA-MGD-SVRS","ESS-MGD-SVRS"]
    else:
      print 'Add server group SOA-MGD-SVRS to SoaServer1 2'
      serverGroup = ["SOA-MGD-SVRS"]
    
    setServerGroups('SoaServer1', serverGroup)                      
    setServerGroups('SoaServer2', serverGroup)                      
    
    if BAM_ENABLED == true:
      print 'Add server group BAM12-MGD-SVRS to BamServer1 2'
      serverGroup = ["BAM12-MGD-SVRS"]
      setServerGroups('BamServer1', serverGroup)                      
      setServerGroups('BamServer2', serverGroup)                      
    
    print 'Add server group OSB-MGD-SVRS-COMBINED to OsbServer1 2'
    serverGroup = ["OSB-MGD-SVRS-COMBINED"]
    setServerGroups('OsbServer1', serverGroup)                      
    setServerGroups('OsbServer2', serverGroup)                      
    
    print 'end server groups'
    
    updateDomain()
    closeDomain();
    
    createBootPropertiesFile(DOMAIN_PATH+'/servers/SoaServer1/security','boot.properties',ADMIN_USER,ADMIN_PASSWORD)
    createBootPropertiesFile(DOMAIN_PATH+'/servers/SoaServer2/security','boot.properties',ADMIN_USER,ADMIN_PASSWORD)
    
    if BAM_ENABLED == true:
      createBootPropertiesFile(DOMAIN_PATH+'/servers/BamServer1/security','boot.properties',ADMIN_USER,ADMIN_PASSWORD)
      createBootPropertiesFile(DOMAIN_PATH+'/servers/BamServer2/security','boot.properties',ADMIN_USER,ADMIN_PASSWORD)
    
    createBootPropertiesFile(DOMAIN_PATH+'/servers/OsbServer1/security','boot.properties',ADMIN_USER,ADMIN_PASSWORD)
    createBootPropertiesFile(DOMAIN_PATH+'/servers/OsbServer2/security','boot.properties',ADMIN_USER,ADMIN_PASSWORD)
    
    print('Exiting...')
    exit()
    
    
    
    
    Run wlst create_soa_clustered_domain.py
    
    
    Finally you see the below output
    
    
    SOA domain


    Sunday, January 3, 2016

    Oracle Fusion Middleware Infrastructure Silent mode installation

    Welcome to learning Fusion Middleware Experiments blog series which covers all  Administration tasks. Every Java-based developed Oracle product is moved into the same strategy. Where WebLogic Infrastructure will be the platform to run the servers in HA.

    Oracle FMW infrastructure installation flow

    Installing Oracle Fusion Middleware products generally involves
    1. Install JDK/Java Runtime
    2. Create the database schemes
    - required by the FMW products being installed by using the Oracle Repository Creation Utility (RCU)
    3. Install Oracle WebLogic Server 
    4. Install other Oracle Fusion Middleware products 

    Oracle Fusion Middleware Infrastructure Installation


    Oracle Fusion Middleware Infrastructure Install


    You need to know about your installation machine details first accordingly you can select the platform, architecture-specific JDK. Download JDK1.8[latest version]

    Install JDK 

    You can download latest stable version of JDK from Oracle Software Delivery Cloud or OTN. The following might 

    cd 
    tar -zxvf /vagrant_data/jdk-8u65-linux-x64.gz
    

    This will extract and also runs the libraries' paths related to that architecture x86 or x64. Though there are many other options for JDK installations, This procedure is more generic you can do it any Linux OS -Linux-x64.gz file end side.

    set the JAVA_HOME

    After installation of JDK you need to setup the the JAVA_HOME environment variable in the profile and relogin to the box. This relogin is required to reflect the JAVA_HOME value into the PATH.
    Add the following lines into your .bashrc or .bash_profile.

    export JAVA_HOME=/home/vagrant/jdk1.8.0_65
    export PATH=$PATH:$JAVA_HOME/bin
    
    
    Validate JDK Version with the following way:
    java -version
    

    Create the responseFile for Fusion Middleware Infrastructure

    Two important answers are in the responseFile are going to change for Dev to Production or one project to others, they are Install Path and Install Type. 

    You need to create the response file name it as infra_install.rsp with the following:
      Inventory_loc=/u01/app/oracle/silent/oraInventory/
    Inst_group=oinstall
    

    [ENGINE]
    Response File Version=1.0.0.0.0
    [GENERIC]
    ORACLE_HOME=/home/oracle/products/12.2.1/Oracle_Home
    INSTALL_TYPE=Fusion Middleware Infrastructure
    DECLINE_SECURITY_UPDATES=true
    SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
    

    Run the installation command as follows:
    java -jar fmw_12.2.1.0.0_infrastructure.jar -silent \
    -responseFile /home/oracle/silent/infra_install.rsp \
    -invPtrLoc /home/oracle/silent/oraInst.loc
    
    
    Now see the how we have execution on precise64 Ubuntu box.

    OFM Infrastructure installation
    Silent installation of Oracle Fusion Middleware Infrastructure

    When all the parameter values are satisfied then it will proceed for  Complete the fusion Middleware infrastructure  installation

    Complete installation of Oracle Fusion Infrastructure
    Note:

    There are multiple options to select the INSTALL_TYPE

    1. INSTALL_TYPE=Fusion Middleware Infrastructure
    2. INSTALL_TYPE=Fusion Middleware Infrastructure With Examples
    If you need Restricted JRF Domain then use the second option.


    Hope you love this post, Keep sharing and commenting under the box.