Wednesday, September 23, 2015

Setup SSH Keys

If you use ssh to connect to remote hosts, entering a password every time is a bit tedious, not to mention a bit less secure. A better approach is to setup SSH keys between machines so that they exchange an encrypted identity. One benefit is that you no longer have to provide credentials.

Create the SSH keys on the local host and the remote host.


ssh-keygen -t rsa -b 2048

This command says create a 2048-bit, RSA key. When prompted to, "Enter file in which to save the key," create the file with the name of the host rather than the default id_rsa. When prompted for a passphrase, leave it blank. If you choose, you can provide a passphrase, but then you'll be prompted to enter it every time you ssh to the remote host.

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/bwallen/.ssh/id_rsa): /Users/bwallen/.ssh/myHost
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/bwallen/.ssh/myHost.
Your public key has been saved in /Users/bwallen/.ssh/myHost.pub.
The key fingerprint is:
e3:9e:9e:7d:d2:3d:fb:74:24:2d:34:1a:c5:34:62:fa bwallen@myHost.local
The key's randomart image is:
+--[ RSA 2048]----+
|            oo+  |
|           o o.. |
|          . . o  |
|           . + o |
|        S   E o o|
|       . .     + |
|        .  . .  o|
|       . +. o o..|
|       .= .o  .+.|

+-----------------+

Copy the local host public key to the remote host authorized_keys file.


ssh-copy-id -i myHost.pub user@remoteHost

or 


cat /Users/bwallen/.ssh/myHost.pub | ssh user@remoteHost "cat >> ~/.ssh/authorized_keys"

Now, when you ssh to the remote host, you should not be prompted for a credential or passphrase. If you run into problems, there are few things to check.

Ensure that ssh on the local host is using the correct identity file.

less /Users/bwallen/.ssh/config.sftp

Host 192.168.43.76
Port 7522
PasswordAuthentication no
User MFT_AD
IdentityFile /Users/bwallen/.ssh/myHost

The IdentifyFile should point to the local host's private key, not the public key.

Add the private key identities to the authentication agent on the local host.

ssh-add /Users/bwallen/.ssh/myHost

Identity added: myHost (myHost)

ssh-add -L
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAA...[omitted].../Users/bwallen/.ssh/myHost

Tuesday, September 1, 2015

Build Automation and Continuous Integration with Oracle SOA Suite 12c: Installation

Ensure you have read the Introduction.

In this post, we will install the requisite software to achieve build automation and continuous integration.
First, a directory to store the build and integration tools (excluding Oracle SOA Suite 12c) needs to be created. Login as the root user.

mkdir /ci
chown oracle:oinstall /ci

Login as the oracle user.

cd /ci
mkdir apps
cd apps


Oracle JDeveloper 12c

For whatever reason, Oracle decided that you can no longer install the SOA extension in JDeveloper and build a composite. Instead, the only way to obtain a JDeveloper 12c instance that can be used for SOA development is to install the SOA Suite Quick Start.

Once installed, navigate to ORACLE_HOME and rename the jdeveloper folder. Copy the Quick Start ../jdeveloper folder into the ORACLE_HOME.

Maven

Login as the oracle user.

Download Maven.

cd /ci/apps
tar -xzvf apache-maven-3.3.3-bin.tar.gz
ln -s /ci/apps/apache-maven-3.3.3 /ci/maven

Add the following to .bash_profile

vi /home/oracle/.bash_profile

M2_HOME="/ci/apps/apache-maven-3.3.3"
export M2_HOME

PATH=$M2_HOME/bin:$HOME/bin:$PATH

Reload the profile or logout/login and check the Maven version.

mvn -v
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T07:57:37-04:00)
Maven home: /ci/apps/apache-maven-3.3.3
Java version: 1.7.0_75, vendor: Oracle Corporation
Java home: /usr/java/jdk1.7.0_75/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.8.13-55.1.2.el6uek.x86_64", arch: "amd64", family: "unix"


Archiva


cd /ci/apps
tar -xzvf apache-archiva-2.2.0-bin.tar.gz
ln -s /ci/apps/apache-archiva-2.2.0 /ci/archiva

Change the port that Archiva will listen on:

vi /ci/archiva/conf/jetty.xml

<SystemProperty name="jetty.port" default="8080"/> 

to 

<SystemProperty name="jetty.port" default="8081"/>

Start Archiva

cd /ci/archiva/bin
./archiva start

Open a browser and navigate to http://[host]:8081.

You should see the Archiva landing page.

Git

Git is installed via yum.

Login as the root user.

yum install git -y

Login as the oracle user.

cd /ci
mkdir git
cd /ci/git

Verify the installation.

git --version

git version 1.7.1

Jenkins

Jenkins is installed via yum.

Login as the root user.

wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

yum install jenkins -y

Start Jenkins

service jenkins start

Stop Jenkins

service jenkins stop

Change the user that Jenkins runs as.

vi /etc/sysconfig/jenkins


JENKINS_USER="oracle"

Change ownership of jenkins home, webroot, and logs.

chown -R oracle:oinstall /var/lib/jenkins
chown -R oracle:oinstall /var/cache/jenkins
chown -R oracle:oinstall /var/log/jenkins

Start Jenkins

service jenkins start

Login as the oracle user.

Open a browser and navigate to http://[host]:8080.

You should see the Jenkins landing page.

Build Automation and Continuous Integration with Oracle SOA Suite 12c: Introduction

The concept of build automation has been around for years and tools like AntIvy, and the highly regarded Maven have helped cement the concept as a necessary tool in development endeavors of any scale. Tools like ArtifactoryArchiva, and Nexus have made managing a Maven repository simple and straightforward. Continuous Integration and tools that support the concept like Jenkins and CruiseControl, coupled with build automation, have lead to the ability to detect errors early and stamp them out. Of course there is the omnipresent code versioning implementation like Git or Subversion. Tack on an automated test framework like Robot Framework and Selenium and the result is industrial-like compilation, deployment, and testing of a work product. In this series of posts we will explore the installation, configuration, integration, and utilization of a select few of these tools with Oracle SOA Suite 12c.

The roadmap for this effort is as follows:
Disclaimer: This information is offered as a proof-of-concept and there are no warranties expressed or implied.

Install Oracle SOA Suite 12c

Scripted installations using shell scripts, Python scripts, WLST, and response files are my preferred method. For the purpose of this exercise, the installation will be conducted manually from the command line. It is assumed that all necessary packages and other preparations have been made on the host OS. We will also create a simple domain using the Configuration Wizard.

The order of the installation is as follows:
  1. Create oraInst.loc
  2. Database
    1. Metadata repository
  3. Weblogic
    1. Application server
  4. Infrastructure
    1. ADF runtime
  5. SOA Suite
    1. Service Oriented Architecture
  6. Run RCU
    1. Repository Creation Utility that initializes the database
  7. Create a domain
  8. Start the domain

Create oraInst.loc

A file must be created that contains the inventory location and install group. Login as root.

vi /etc/oraInst.loc

inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall


Database

First, the response file (db.rsp). Make changes accordingly to suit your respective environment.

####################################################################
## Copyright(c) Oracle Corporation 1998, 2013. All rights reserved.##
##                                                                ##
## Specify values for the variables listed below to customize     ##
## your installation.                                             ##
##                                                                ##
## Each variable is associated with a comment. The comment        ##
## can help to populate the variables with the appropriate        ##
## values.                                                        ##
##                                                                ##
## IMPORTANT NOTE: This file contains plain text passwords and    ##
## should be secured to have read permission only by oracle user  ##
## or db administrator who owns this installation.                ##
##                                                                ##
####################################################################

#-------------------------------------------------------------------------------

# Do not change the following system generated value. 
#-------------------------------------------------------------------------------
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0

#-------------------------------------------------------------------------------

# Specify the installation option.
# It can be one of the following:
#   - INSTALL_DB_SWONLY
#   - INSTALL_DB_AND_CONFIG
#   - UPGRADE_DB
#-------------------------------------------------------------------------------
oracle.install.option=INSTALL_DB_AND_CONFIG

#-------------------------------------------------------------------------------

# Specify the hostname of the system as set during the install. It can be used
# to force the installation to use an alternative hostname rather than using the
# first hostname found on the system. (e.g., for systems with multiple hostnames 
# and network interfaces)
#-------------------------------------------------------------------------------
ORACLE_HOSTNAME=ci

#-------------------------------------------------------------------------------

# Specify the Unix group to be set for the inventory directory.  
#-------------------------------------------------------------------------------
UNIX_GROUP_NAME=oinstall

#-------------------------------------------------------------------------------

# Specify the location which holds the inventory files.
# This is an optional parameter if installing on
# Windows based Operating System.
#-------------------------------------------------------------------------------
INVENTORY_LOCATION=/u01/app/oracle/oraInventory
#-------------------------------------------------------------------------------
# Specify the languages in which the components will be installed.             

# en   : English                  ja   : Japanese                  
# fr   : French                   ko   : Korean                    
# ar   : Arabic                   es   : Latin American Spanish    
# bn   : Bengali                  lv   : Latvian                   
# pt_BR: Brazilian Portuguese     lt   : Lithuanian                
# bg   : Bulgarian                ms   : Malay                     
# fr_CA: Canadian French          es_MX: Mexican Spanish           
# ca   : Catalan                  no   : Norwegian                 
# hr   : Croatian                 pl   : Polish                    
# cs   : Czech                    pt   : Portuguese                
# da   : Danish                   ro   : Romanian                  
# nl   : Dutch                    ru   : Russian                   
# ar_EG: Egyptian                 zh_CN: Simplified Chinese        
# en_GB: English (Great Britain)  sk   : Slovak                    
# et   : Estonian                 sl   : Slovenian                 
# fi   : Finnish                  es_ES: Spanish                   
# de   : German                   sv   : Swedish                   
# el   : Greek                    th   : Thai                      
# iw   : Hebrew                   zh_TW: Traditional Chinese       
# hu   : Hungarian                tr   : Turkish                   
# is   : Icelandic                uk   : Ukrainian                 
# in   : Indonesian               vi   : Vietnamese                
# it   : Italian                                                   
#
# all_langs   : All languages
#
# Specify value as the following to select any of the languages.
# Example : SELECTED_LANGUAGES=en,fr,ja
#
# Specify value as the following to select all the languages.
# Example : SELECTED_LANGUAGES=all_langs  
#-------------------------------------------------------------------------------
SELECTED_LANGUAGES=en

#-------------------------------------------------------------------------------

# Specify the complete path of the Oracle Home. 
#-------------------------------------------------------------------------------
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

#-------------------------------------------------------------------------------

# Specify the complete path of the Oracle Base. 
#-------------------------------------------------------------------------------
ORACLE_BASE=/u01/app/oracle

#-------------------------------------------------------------------------------

# Specify the installation edition of the component.                     
#                                                             
# The value should contain only one of these choices.        
#   - EE     : Enterprise Edition                                
#   - SE     : Standard Edition                                  
#   - SEONE  : Standard Edition One
#   - PE     : Personal Edition (WINDOWS ONLY)
#-------------------------------------------------------------------------------
oracle.install.db.InstallEdition=EE

#-------------------------------------------------------------------------------

# This variable is used to enable or disable custom install and is considered
# only if InstallEdition is EE.
#
#   - true  : Components mentioned as part of 'optionalComponents' property
#             are considered for install.
#   - false : Value for 'optionalComponents' is not considered.
#-------------------------------------------------------------------------------
oracle.install.db.EEOptionsSelection=false

#-------------------------------------------------------------------------------

# This property is considered only if 'EEOptionsSelection' is set to true 
#
# Description: List of Enterprise Edition Options you would like to enable.
#
#              The following choices are available. You may specify any
#              combination of these choices.  The components you choose should
#              be specified in the form "internal-component-name:version"
#              Below is a list of components you may specify to enable.
#        
#              oracle.oraolap:11.2.0.4.0 - Oracle OLAP
#              oracle.rdbms.dm:11.2.0.4.0 - Oracle Data Mining RDBMS Files
#              oracle.rdbms.dv:11.2.0.4.0- Oracle Database Vault option
#              oracle.rdbms.lbac:11.2.0.4.0 - Oracle Label Security
#              oracle.rdbms.partitioning:11.2.0.4.0 - Oracle Partitioning
#              oracle.rdbms.rat:11.2.0.4.0 - Oracle Real Application Testing
#-------------------------------------------------------------------------------
oracle.install.db.optionalComponents=

###############################################################################

#                                                                             #
# PRIVILEGED OPERATING SYSTEM GROUPS                                          #
# ------------------------------------------                                  #
# Provide values for the OS groups to which OSDBA and OSOPER privileges       #
# needs to be granted. If the install is being performed as a member of the   #
# group "dba", then that will be used unless specified otherwise below.       #
#                                                                             #
# The value to be specified for OSDBA and OSOPER group is only for UNIX based #
# Operating System.                                                           #
#                                                                             #
###############################################################################

#------------------------------------------------------------------------------

# The DBA_GROUP is the OS group which is to be granted OSDBA privileges.
#-------------------------------------------------------------------------------
oracle.install.db.DBA_GROUP=dba

#------------------------------------------------------------------------------

# The OPER_GROUP is the OS group which is to be granted OSOPER privileges.
# The value to be specified for OSOPER group is optional.
#------------------------------------------------------------------------------
oracle.install.db.OPER_GROUP=dba

#-------------------------------------------------------------------------------

# Specify the cluster node names selected during the installation.                                      
# Example : oracle.install.db.CLUSTER_NODES=node1,node2
#-------------------------------------------------------------------------------
oracle.install.db.CLUSTER_NODES=

#------------------------------------------------------------------------------

# This variable is used to enable or disable RAC One Node install.
#
#   - true  : Value of RAC One Node service name is used.
#   - false : Value of RAC One Node service name is not used.
#
# If left blank, it will be assumed to be false.
#------------------------------------------------------------------------------
oracle.install.db.isRACOneInstall=false

#------------------------------------------------------------------------------

# Specify the name for RAC One Node Service. 
#------------------------------------------------------------------------------
oracle.install.db.racOneServiceName=

#-------------------------------------------------------------------------------

# Specify the type of database to create.
# It can be one of the following:
#   - GENERAL_PURPOSE/TRANSACTION_PROCESSING                       
#   - DATA_WAREHOUSE                                
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE

#-------------------------------------------------------------------------------

# Specify the Starter Database Global Database Name. 
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.globalDBName=orcl

#-------------------------------------------------------------------------------

# Specify the Starter Database SID.
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.SID=orcl

#-------------------------------------------------------------------------------

# Specify the Starter Database character set.
#                                               
#  One of the following
#  AL32UTF8, WE8ISO8859P15, WE8MSWIN1252, EE8ISO8859P2,
#  EE8MSWIN1250, NE8ISO8859P10, NEE8ISO8859P4, BLT8MSWIN1257,
#  BLT8ISO8859P13, CL8ISO8859P5, CL8MSWIN1251, AR8ISO8859P6,
#  AR8MSWIN1256, EL8ISO8859P7, EL8MSWIN1253, IW8ISO8859P8,
#  IW8MSWIN1255, JA16EUC, JA16EUCTILDE, JA16SJIS, JA16SJISTILDE,
#  KO16MSWIN949, ZHS16GBK, TH8TISASCII, ZHT32EUC, ZHT16MSWIN950,
#  ZHT16HKSCS, WE8ISO8859P9, TR8MSWIN1254, VN8MSWIN1258
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.characterSet=AL32UTF8

#------------------------------------------------------------------------------

# This variable should be set to true if Automatic Memory Management 
# in Database is desired.
# If Automatic Memory Management is not desired, and memory allocation
# is to be done manually, then set it to false.
#------------------------------------------------------------------------------
oracle.install.db.config.starterdb.memoryOption=true

#-------------------------------------------------------------------------------

# Specify the total memory allocation for the database. Value(in MB) should be
# at least 256 MB, and should not exceed the total physical memory available 
# on the system.
# Example: oracle.install.db.config.starterdb.memoryLimit=512
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.memoryLimit=1024

#-------------------------------------------------------------------------------

# This variable controls whether to load Example Schemas onto
# the starter database or not.
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.installExampleSchemas=true

#-------------------------------------------------------------------------------

# This variable includes enabling audit settings, configuring password profiles
# and revoking some grants to public. These settings are provided by default. 
# These settings may also be disabled.     
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.enableSecuritySettings=true

###############################################################################

#                                                                             #
# Passwords can be supplied for the following four schemas in the      #
# starter database:            #
#   SYS                                                                       #
#   SYSTEM                                                                    #
#   SYSMAN (used by Enterprise Manager)                                       #
#   DBSNMP (used by Enterprise Manager)                                       #
#                                                                             #
# Same password can be used for all accounts (not recommended)      #
# or different passwords for each account can be provided (recommended)       #
#                                                                             #
###############################################################################

#------------------------------------------------------------------------------

# This variable holds the password that is to be used for all schemas in the
# starter database.
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.password.ALL=welcome1

#-------------------------------------------------------------------------------

# Specify the SYS password for the starter database.
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.password.SYS=welcome1

#-------------------------------------------------------------------------------

# Specify the SYSTEM password for the starter database.
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.password.SYSTEM=welcome1

#-------------------------------------------------------------------------------

# Specify the SYSMAN password for the starter database.
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.password.SYSMAN=welcome1

#-------------------------------------------------------------------------------

# Specify the DBSNMP password for the starter database.
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.password.DBSNMP=welcome1

#-------------------------------------------------------------------------------

# Specify the management option to be selected for the starter database. 
# It can be one of the following:
#   - GRID_CONTROL
#   - DB_CONTROL
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.control=DB_CONTROL

#-------------------------------------------------------------------------------

# Specify the Management Service to use if Grid Control is selected to manage 
# the database.      
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=

###############################################################################

#                                                                             #
# SPECIFY BACKUP AND RECOVERY OPTIONS                                      #
# ------------------------------------                              #
# Out-of-box backup and recovery options for the database can be mentioned    #
# using the entries below.      #
#                                                                             #
###############################################################################

#------------------------------------------------------------------------------

# This variable is to be set to false if automated backup is not required. Else 
# this can be set to true.
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.automatedBackup.enable=false

#------------------------------------------------------------------------------

# Regardless of the type of storage that is chosen for backup and recovery, if 
# automated backups are enabled, a job will be scheduled to run daily to backup 
# the database. This job will run as the operating system user that is 
# specified in this variable.
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.automatedBackup.osuid=

#-------------------------------------------------------------------------------

# Regardless of the type of storage that is chosen for backup and recovery, if 
# automated backups are enabled, a job will be scheduled to run daily to backup 
# the database. This job will run as the operating system user specified by the 
# above entry. The following entry stores the password for the above operating 
# system user.
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.automatedBackup.ospwd=

#-------------------------------------------------------------------------------

# Specify the type of storage to use for the database.
# It can be one of the following:
#   - FILE_SYSTEM_STORAGE
#   - ASM_STORAGE
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE

#-------------------------------------------------------------------------------

# Specify the database file location which is a directory for datafiles, control
# files, redo logs.         
#
# Applicable only when oracle.install.db.config.starterdb.storage=FILE_SYSTEM_STORAGE 
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/app/oracle/oradata

#-------------------------------------------------------------------------------

# Specify the backup and recovery location.
#
# Applicable only when oracle.install.db.config.starterdb.storage=FILE_SYSTEM_STORAGE 
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=

#-------------------------------------------------------------------------------

# Specify the existing ASM disk groups to be used for storage.
#
# Applicable only when oracle.install.db.config.starterdb.storageType=ASM_STORAGE
#-------------------------------------------------------------------------------
oracle.install.db.config.asm.diskGroup=

#-------------------------------------------------------------------------------

# Specify the password for ASMSNMP user of the ASM instance.                 
#
# Applicable only when oracle.install.db.config.starterdb.storage=ASM_STORAGE 
#-------------------------------------------------------------------------------
oracle.install.db.config.asm.ASMSNMPPassword=

#------------------------------------------------------------------------------

# Specify the My Oracle Support Account Username.
#
#  Example   : MYORACLESUPPORT_USERNAME=abc@oracle.com
#------------------------------------------------------------------------------
MYORACLESUPPORT_USERNAME=

#------------------------------------------------------------------------------

# Specify the My Oracle Support Account Username password.
#
# Example    : MYORACLESUPPORT_PASSWORD=password
#------------------------------------------------------------------------------
MYORACLESUPPORT_PASSWORD=

#------------------------------------------------------------------------------

# Specify whether to enable the user to set the password for
# My Oracle Support credentials. The value can be either true or false.
# If left blank it will be assumed to be false.
#
# Example    : SECURITY_UPDATES_VIA_MYORACLESUPPORT=true
#------------------------------------------------------------------------------
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false

#------------------------------------------------------------------------------

# Specify whether user doesn't want to configure Security Updates.
# The value for this variable should be true if you don't want to configure
# Security Updates, false otherwise.
#
# The value can be either true or false. If left blank it will be assumed
# to be false.
#
# Example    : DECLINE_SECURITY_UPDATES=false
#------------------------------------------------------------------------------
DECLINE_SECURITY_UPDATES=true

#------------------------------------------------------------------------------

# Specify the Proxy server name. Length should be greater than zero.
#
# Example    : PROXY_HOST=proxy.domain.com 
#------------------------------------------------------------------------------
PROXY_HOST=

#------------------------------------------------------------------------------

# Specify the proxy port number. Should be Numeric and at least 2 chars.
#
# Example    : PROXY_PORT=25
#------------------------------------------------------------------------------
PROXY_PORT=

#------------------------------------------------------------------------------

# Specify the proxy user name. Leave PROXY_USER and PROXY_PWD
# blank if your proxy server requires no authentication.
#
# Example    : PROXY_USER=username
#------------------------------------------------------------------------------
PROXY_USER=

#------------------------------------------------------------------------------

# Specify the proxy password. Leave PROXY_USER and PROXY_PWD  
# blank if your proxy server requires no authentication.
#
# Example    : PROXY_PWD=password
#------------------------------------------------------------------------------
PROXY_PWD=

#------------------------------------------------------------------------------

# Specify the proxy realm. 
#
# Example    : PROXY_REALM=metalink
#------------------------------------------------------------------------------
PROXY_REALM=
#------------------------------------------------------------------------------
# Specify the Oracle Support Hub URL. 

# Example    : COLLECTOR_SUPPORTHUB_URL=https://orasupporthub.company.com:8080/
#------------------------------------------------------------------------------
COLLECTOR_SUPPORTHUB_URL=

#------------------------------------------------------------------------------

# Specify the auto-updates option. It can be one of the following:
#   - MYORACLESUPPORT_DOWNLOAD
#   - OFFLINE_UPDATES
#   - SKIP_UPDATES
#------------------------------------------------------------------------------
oracle.installer.autoupdates.option=SKIP_UPDATES
#------------------------------------------------------------------------------
# In case MYORACLESUPPORT_DOWNLOAD option is chosen, specify the location where
# the updates are to be downloaded.
# In case OFFLINE_UPDATES option is chosen, specify the location where the updates 
# are present.
#------------------------------------------------------------------------------
oracle.installer.autoupdates.downloadUpdatesLoc=
#------------------------------------------------------------------------------
# Specify the My Oracle Support Account Username which has the patches download privileges  
# to be used for software updates.
#  Example   : AUTOUPDATES_MYORACLESUPPORT_USERNAME=abc@oracle.com
#------------------------------------------------------------------------------
AUTOUPDATES_MYORACLESUPPORT_USERNAME=

#------------------------------------------------------------------------------

# Specify the My Oracle Support Account Username password which has the patches download privileges  
# to be used for software updates.
#
# Example    : AUTOUPDATES_MYORACLESUPPORT_PASSWORD=password
#------------------------------------------------------------------------------
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=

Now, run the installer:

runInstaller -silent -responseFile db.rsp -ignorePrereq -ignoreSysPrereqs

This process usually takes upwards of 30 minutes, so eat a sandwich. You can watch the installation progress by tailing the log file.


tail -f /u01/app/oracle/oraInventory/logs/silentInstall2016-09-22_02-39-10PM.log


Weblogic

First, the response file (wls.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/fmw

#Set this variable value to the Installation Type selected. e.g. WebLogic Server, Coherence, Complete with Examples.

INSTALL_TYPE=Complete with Examples

#Provide the My Oracle Support Username. If you wish to ignore Oracle Configuration Manager configuration provide empty string for user name.

MYORACLESUPPORT_USERNAME=

#Provide the My Oracle Support Password

MYORACLESUPPORT_PASSWORD=<SECURE VALUE>

#Set this to true if you wish to decline the security updates. Setting this to true and providing empty string for My Oracle Support username will ignore the Oracle Configuration Manager configuration

DECLINE_SECURITY_UPDATES=true

#Set this to true if My Oracle Support Password is specified

SECURITY_UPDATES_VIA_MYORACLESUPPORT=false

#Provide the Proxy Host

PROXY_HOST=

#Provide the Proxy Port

PROXY_PORT=

#Provide the Proxy Username

PROXY_USER=

#Provide the Proxy Password

PROXY_PWD=<SECURE VALUE>

#Type String (URL format) Indicates the OCM Repeater URL which should be of the format [scheme[Http/Https]]://[repeater host]:[repeater port]

COLLECTOR_SUPPORTHUB_URL=


Now, run the installer as the oracle user.

java -jar fmw_12.1.3.0.0_wls.jar -silent -responseFile wls.rsp

Infrastructure

First, the response file (infra.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/fmw

#Set this variable value to the Installation Type selected. e.g. Fusion Middleware Infrastructure, Fusion Middleware Infrastructure With Examples.

INSTALL_TYPE=Fusion Middleware Infrastructure

Now, run the installer:

java -jar fmw_12.1.3.0.0_infrastructure.jar -silent -responseFile infra.rsp

SOA Suite

First, the response file (soa.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/fmw

#Set this variable value to the Installation Type selected. e.g. SOA Suite, BPM.
INSTALL_TYPE=SOA Suite

Now, run the installer:

java -jar fmw_12.1.3.0.0_soa.jar -silent -responseFile soa.rsp


Run RCU

Navigate to $ORACLE_HOME/oracle_common/bin/rcu

./rcu -silent -createRepository /
-databaseType ORACLE /
-connectString ci:1521:orcl /
-dbUser sys /
-dbRole SYSDBA /
-useSamePasswordForAllSchemaUsers true /
-schemaPrefix DEV /
-component MDS /
-component UMS /
-component IAU /
-component IAU_VIEWER /
-component IAU_APPEND /
-component OPSS /
-component WLS /
-component UCSUMS /
-component STB /
-component SOAINFRA /
-variables SOA_PROFILE_TYPE=small

If you prefer not to list all the components, RCU will determine dependent components automatically.


./rcu -silent -createRepository /
-databaseType ORACLE /
-connectString ci:1521:orcl /
-dbUser sys /
-dbRole SYSDBA /
-useSamePasswordForAllSchemaUsers true /
-schemaPrefix DEV /
-selectDependentsForComponents true /
-component SOAINFRA /
-component STB /
-variables SOA_PROFILE_TYPE=small

Create a domain

Navigate to $ORACLE_HOME/oracle_common/common/bin

./config.sh

Click Next.
Mark the Oracle SOA Suite checkbox.
Click Next.
Click Next.
 Provide the weblogic password.
Click Next.
 Click Next.
Provide the database information.
Click Next.
Click Next.
 After all the tests indicate success, click Next.
Mark the following checkboxes:

  • Administration Server
  • Node Manager
  • Managed Servers, Cluster, and Coherence.

Click Next.
 Click Next.
Provide Node Manager credentials.
Click Next.
Click Next.
 Click Next.
 Click Next.
Select the Unix Machine tab.
Click Add.
Enter the hostname.
Click Next.
Add both managed servers to the machine.
Click Next.
 Click Create.
Click Next.
Click Finish.

Start the Domain

Navigate to $ORACLE_HOME/user_projects/domains/base_domain

Start the AdminServer

./startWebLogic.sh

Navigate to $ORACLE_HOME/user_projects/domains/base_domain/bin

Start soa_server1

./startManagedWeblogic.sh soa_server1 http://ci:7001