Oracle Storage Cloud Service is an Infrastructure as a Service (IaaS) offering, which provides an enterprise scale object storage solution for all size files and unstructured data. You can leverage Oracle Storage Cloud Service to backup content and even Oracle Database(s) to an offsite location. We can programmatically store and retrieve content, and share content with others.

Oracle Storage Cloud Service stores data as objects within a flat hierarchy of containers. An object is most commonly created by uploading a file. It can also be created from ephemeral unstructured data. Objects are created within a container. A single object can hold up to 5 GB of data, but multiple objects can be linked together to hold more than 5 GB of contiguous data.

A container is a user-created resource, which can hold an unlimited number of objects, unless you specify a quota for the container. At a super high-level, you can think of containers like a directory in a file system except it cannot be nested.

Object storage provides an optimal blend of performance, scalability, and manageability when storing large amounts of unstructured data. Multiple storage nodes form a single, shared, horizontally scalable pool in which data is stored as objects (blobs of data) in a flat hierarchy of containers. Each object stores data, the associated metadata, and a unique ID. You can assign custom metadata to containers and objects, making it easier to find, analyze, and manage data. Applications use the unique object IDs to access data directly via REST API calls. Object storage is simple to use, performs well, and scales to a virtually unlimited capacity.

Oracle Storage Cloud Service provides a low cost, reliable, secure, and scalable object-storage solution for storing unstructured data and accessing it anytime from anywhere. It is ideal for data backup, archival, file sharing, and for storing large amounts of unstructured data like logs, sensor-generated data, and VM images.

In this post, I am providing a comprehensive shell script called curl.ksh script that can be used with Oracle Storage Cloud Service to early upload, download, maintain and query the contents of the storage cloud service.

In a nutshell, the korn shell script accepts for the first argument the command to:
1. ls (to list out the directory)
2. get (to download a file)
3. mkdir (to create a container directory)
4. put (to upload a file with the curl command)
5. jput (to upload a file with the java uploadcli Jar file)
6. pjput (to upload a file in parallel and in segments for large files over 5GB leveraging the java uploadcli Jar file)
7. del ( to delete a file )

The second argument will be the container name (or name of the directory. The last argument is the name of the file that we are uploading, downloading, listing or deleting.

The script executed without any arguments will display the authentication token to be used.

$ ./curl.ksh
*   Trying 129.152.172.1...
* Connected to viscosityxxxx.storage.oraclecloud.com (129.152.172.1) port 443 (#0)
* TLS 1.2 connection using TLS_RSA_WITH_AES_128_CBC_SHA
* Server certificate: *.storage.oraclecloud.com
* Server certificate: VeriSign Class 3 Secure Server CA - G3
* Server certificate: VeriSign Class 3 Public Primary Certification Authority - G5
> GET /auth/v1.0 HTTP/1.1
> Host: viscosityxxxx.storage.oraclecloud.com
> User-Agent: curl/7.43.0
> Accept: */*
> X-Storage-User: Storage-viscosityxx:charles.kim@v.com
> X-Storage-Pass: xxxxxyyxxzzzz
> 
< HTTP/1.1 200 OK
< date: 1461554947509
< X-Auth-Token: AUTH_tk41223c8f481b0e5e42c47f1617560f54
< X-Storage-Token: AUTH_tk41223c8f481b0e5e42c47f1617560f54
< X-Storage-Url: https://storage.us2.oraclecloud.com/v1/Storage-viscosityxxxx
< Content-Length: 0
< Server: Oracle-Storage-Cloud-Service
< 
* Connection #0 to host viscosityxx.storage.oraclecloud.com left intact

Behind the scene, curl is logging in with the userid and password that is stored in the curl.conf configuration file. Because we provided the userid and password, Oracle Storage Cloud Service provides a temporary authentication token. Future request to the service must be leveraged through the supplied authentication token. The line that has the key words "X-Auth-Token" and "X-Storage-Token" has the authentication token that we need. This authentication token expires after 30 minutes.

curl.conf configuration file has three parameters:

DOMAIN=viscosityxxxx
USER=charles.kim@v.com
PW=xxxxxyyxxzzzz

The DOMAIN parameter is the identity domain. Account creation results in creation of an identity domain (IDM slice) for that customer that is leveraged across all Oracle Public Cloud Services (and across all data centers). During the Oracle Public Cloud Services account setup process, the customer needs to create an account and specify an account name. Using the specified account name, that the identity domain will be implicitly created.

There is one manual step that is required. The parameter named AUTH must be manually specified from the OS. Consideration was made to place the AUTH parameter in the curl.conf configuration file but because the authentication token expires in 30 minutes, I made the choice to make it a manaul process to manually set the AUTH parameter from the OS. Earlier I mentioned that by executing ./curl.ksh without any arguments will display the "X-Auth-Token" and "X-Storage-Token" value. We need to manually export the AUTH parameter to the authentication token as shown below:

export AUTH=AUTH_tk41223c8f481b0e5e42c47f1617560f54

The curl.ksh script leverages the AUTH environment variable for all curl invocation. For calls that are made with java, the userid and password will be required. You will be prompted for the password to your account when invoking the java to load files with the uploadcli.jar. Here's what the curl.ksh script looks like:

 cat curl.ksh
export INMETHOD=$1
export NEWCONTAINER=$2
export FILE=$3

. curl.conf

export METHOD=$(echo $INMETHOD |tr '[a-z]' '[A-Z]')

if [ "$METHOD" = "" ]; then
  echo "Executing: curl -v -s -X GET -H "X-Storage-User: Storage-${DOMAIN}:$USER" -H "X-Storage-Pass: $PW" https://${DOMAIN}.storage.oraclecloud.com/auth/v1.0 "
  curl -v -s -X GET -H "X-Storage-User: Storage-${DOMAIN}:$USER" -H "X-Storage-Pass: $PW" https://${DOMAIN}.storage.oraclecloud.com/auth/v1.0 
elif [ "$METHOD" = "LS" ]; then
  echo "Executing:  curl -s -X GET -H "X-Auth-Token: $AUTH" https://storage.us2.oraclecloud.com/v1/Storage-${DOMAIN}/$NEWCONTAINER?limit64"
  curl -s -X GET -H "X-Auth-Token: $AUTH" https://storage.us2.oraclecloud.com/v1/Storage-${DOMAIN}/$NEWCONTAINER?limit64
elif [ "$METHOD" = "GET" ]; then
  echo "curl -v -s -X GET -H "X-Auth-Token: $AUTH" -o $FILE https://storage.us2.oraclecloud.com/v1/Storage-${DOMAIN}/$NEWCONTAINER/$FILE"
  curl -v -s -X GET -H "X-Auth-Token: $AUTH" -o $FILE https://storage.us2.oraclecloud.com/v1/Storage-${DOMAIN}/$NEWCONTAINER/$FILE
elif [ "$METHOD" = "MKDIR" ]; then
  [ "$NEWCONTAINER" = "" ] && ( echo "Directory Name must be provided:  $NEWCONTAINER"; exit; )
  curl -v -s -X PUT -H "X-Auth-Token: $AUTH" https://storage.us2.oraclecloud.com/v1/Storage-$DOMAIN/$NEWCONTAINER
elif [ "$METHOD" = "DEL" ]; then
  [ "$NEWCONTAINER" = "" ] && ( echo "Directory Name must be provided:  $NEWCONTAINER"; exit; )
  echo "curl -v -s -X DELETE -H "X-Auth-Token: $AUTH" https://storage.us2.oraclecloud.com/v1/Storage-$DOMAIN/$NEWCONTAINER/$FILE"
  curl -v -s -X DELETE -H "X-Auth-Token: $AUTH" https://storage.us2.oraclecloud.com/v1/Storage-$DOMAIN/$NEWCONTAINER/$FILE
elif [ "$METHOD" = "PUT" ]; then
  [ "$NEWCONTAINER" = "" ] && ( echo "Directory Name must be provided:  $NEWCONTAINER"; exit; )
  [ "$FILE" = "" ] && ( echo "File Name must be provided:  $FILE"; exit; )
  curl -v -X DELETE -H "X-Auth-Token: $AUTH"  https://storage.us2.oraclecloud.com/v1/Storage-$DOMAIN/$NEWCONTAINER/$FILE
elif [ "$METHOD" = "JAVAPUT" -o "$METHOD" = "JPUT" ]; then
  [ "$NEWCONTAINER" = "" ] && ( echo "Directory Name must be provided:  $NEWCONTAINER"; exit; )
  [ "$FILE" = "" ] && ( echo "File Name must be provided:  $FILE"; exit; )
  java -jar uploadcli.jar -url https://storage.us2.oraclecloud.com/v1/Storage-${DOMAIN} -user $USER -container $NEWCONTAINER $FILE
elif [ "$METHOD" = "PJAVAPUT" -o "$METHOD" = "PJPUT" ]; then
  [ "$NEWCONTAINER" = "" ] && ( echo "Directory Name must be provided:  $NEWCONTAINER"; exit; )
  [ "$FILE" = "" ] && ( echo "File Name must be provided:  $FILE"; exit; )
  java -jar uploadcli.jar -url https://storage.us2.oraclecloud.com/v1/Storage-${DOMAIN} -user $USER -container $NEWCONTAINER -segment-size 1000 -max-threads 16 $FILE
fi


The Upload CLI is a Java-based CLI tool that simplifies uploading to Oracle Storage Cloud Service. To download the java uploadcli.jar file, visit the http://www.oracle.com/technetwork/topics/cloud/downloads/index.html page. Look for the Oracle Storage Cloud Service Upload CLI section, and download the tool. Here's some of the key features provided by the uploadcli.jar file:

  • Optimized uploads through segmentation and parallelization to maximize network efficiency and reduce overall upload time
  • Support for both object storage and archive storage
  • Automatic checksum verification on upload
  • Upload individual files, groups of files, and entire directories
  • Automatic retry on failures
  • Resume interrupted uploads of large files

To leverage the uploadcli.jar file, the minimum requirements are that you must be at JRE 7 or later.

Please note that this script is evolving and will be updated periodically. The main idea of this script was to make the userid, password, domain, container, and file input to be parameterized leveraging a configuration file and parameters so that we can make the process relatively painless.

In Part 2 of this series, we will go through each of the examples to upload files, delete files, and download files from Oracle Storage Cloud Service. We will fully exploit the curl.ksh shell script and provide screen shot example output of each of the scenarios.

In Part 3 of this series, we will go through step-by-step process of downloading, installing and configuring the OPC Install Jar File. We will configure RMAN for backups to Oracle Public Cloud (OPC) and run through each of the scenarios for backup to OPC and restore/recovery from OPC.



In this post, I will walk through the steps to apply the January 2016 PSU to the latest release of Oracle (12.1.0.2). In this post, we will apply Patch 22191349 – Oracle Grid Infrastructure Patch Set Update 12.1.0.2.160119 (Jan2016) to both the Grid Infrastructure and Oracle Database Home.

Notes:
1. From CPUJan2016 onwards, the 5th digit of the version number will be changed to reflect the release date in the format YYMMDD. See My Oracle Support Document 2061926.1 for more information.
2. The GI System patch includes updates for both the Clusterware home and Database home that can be applied in a rolling fashion.

This patch is Data Guard Standby First Installable – See Section 2.5, “Installing Database PSU in Standby-First Mode” for more information.

In our example, we did not create any databases prior to applying the PSU. This will a typical installation method for Viscosity consultants where we will create a custom database leveraging dbca.

In general, when we invoke opatchauto, opatch will patch both the GI stack and the database software stack. Since we do not have a database running, patch will skip the database software stack and only apply the PSU to the GI Home. Before we invoke the opatchauto command, let’s create the ocm.rsp response file by executing the OCM Installation Response Generator (emocmrsp).

[root@vnarac01 ~]# . oraenv
ORACLE_SID = [root] ? +ASM1
The Oracle base has been set to /u01/app/oracle
[root@vnarac01 ~]# 
[root@vnarac01 ~]# 
[root@vnarac01 ~]# export PATH=$PATH:/u01/app/12.1.0/grid/OPatch
[root@vnarac01 ~]# opatchauto apply /u01/app/oracle/soft/22191349 -ocmrf /tmp/ocm.rsp
OPatch Automation Tool
Copyright (c)2014, Oracle Corporation. All rights reserved.

OPatchauto Version : 12.1.0.1.10
OUI Version        : 12.1.0.2.0
Running from       : /u01/app/12.1.0/grid

opatchauto log file: /u01/app/12.1.0/grid/cfgtoollogs/opatchauto/22191349/opatch_gi_2016-03-25_15-13-49_deploy.log

Parameter Validation: Successful

Configuration Validation: Successful

Patch Location: /u01/app/oracle/soft/22191349
Grid Infrastructure Patch(es): 21436941 21948341 21948344 21948354 
DB Patch(es): 21948344 21948354 

Patch Validation: Successful
Grid Infrastructure home:
/u01/app/12.1.0/grid


Performing prepatch operations on CRS Home... Successful

Applying patch(es) to "/u01/app/12.1.0/grid" ...
Patch "/u01/app/oracle/soft/22191349/21436941" successfully applied to "/u01/app/12.1.0/grid".
Patch "/u01/app/oracle/soft/22191349/21948341" successfully applied to "/u01/app/12.1.0/grid".
Patch "/u01/app/oracle/soft/22191349/21948344" successfully applied to "/u01/app/12.1.0/grid".
Patch "/u01/app/oracle/soft/22191349/21948354" successfully applied to "/u01/app/12.1.0/grid".

Performing postpatch operations on CRS Home...  Successful

Apply Summary:
Following patch(es) are successfully installed:
GI Home: /u01/app/12.1.0/grid: 21436941,21948341,21948344,21948354

opatchauto succeeded.

Now we are going to attempt to apply the PSU to the database software home. You will encounter an error message indicating that the opatch that you are invoking must be from the same $ORACLE_HOME as the target HOME that is being patched.

[root@vnarac01 ~]# opatchauto apply /u01/app/oracle/soft/22191349 -oh /u01/app/oracle/product/12.1.0/dbhome_1 -ocmrf /tmp/ocm.rsp 
opatchauto must run from one of the homes specified
opatchauto returns with error code 2
[root@vnarac01 ~]# exit
logout

Next we will apply the PSU to the database home. Again as root, first set the PATH to include the OPatch directory to the $ORACLE_HOME/OPatch directory. This time when we invoke the opatchauto command, we will pass another parameter -oh to specifically patch the database Oracle Home.

vnarac01:/u01/app/oracle/soft
+ASM1 > su - root
Password: 
[root@vnarac01 ~]# cd /u01/app/oracle/product/12.1.0/dbhome_1/OPatch
[root@vnarac01 OPatch]# export PATH=$PATH:/u01/app/oracle/product/12.1.0/dbhome_1/OPatch
[root@vnarac01 OPatch]# opatchauto apply /u01/app/oracle/soft/22191349 -oh /u01/app/oracle/product/12.1.0/dbhome_1 -ocmrf /tmp/ocm.rsp 
OPatch Automation Tool
Copyright (c)2014, Oracle Corporation. All rights reserved.

OPatchauto Version : 12.1.0.1.10
OUI Version        : 12.1.0.2.0
Running from       : /u01/app/oracle/product/12.1.0/dbhome_1

opatchauto log file: /u01/app/12.1.0/grid/cfgtoollogs/opatchauto/22191349/opatch_gi_2016-03-25_15-32-22_deploy.log

Parameter Validation: Successful

Configuration Validation: Successful

Patch Location: /u01/app/oracle/soft/22191349
Grid Infrastructure Patch(es): 21436941 21948341 21948344 21948354 
DB Patch(es): 21948344 21948354 

Patch Validation: Successful
User specified the following DB home(s) for this session:
/u01/app/oracle/product/12.1.0/dbhome_1


Performing prepatch operations on RAC Home (/u01/app/oracle/product/12.1.0/dbhome_1) ... Successful

Applying patch(es) to "/u01/app/oracle/product/12.1.0/dbhome_1" ...
Patch "/u01/app/oracle/soft/22191349/21948344" successfully applied to "/u01/app/oracle/product/12.1.0/dbhome_1".
Patch "/u01/app/oracle/soft/22191349/21948354" successfully applied to "/u01/app/oracle/product/12.1.0/dbhome_1".

Performing postpatch operations on RAC Home (/u01/app/oracle/product/12.1.0/dbhome_1) ... Successful

[WARNING] The local database(s) on "/u01/app/oracle/product/12.1.0/dbhome_1" is not running. SQL changes, if any, cannot be applied.

Apply Summary:
Following patch(es) are successfully installed:
DB Home: /u01/app/oracle/product/12.1.0/dbhome_1: 21948344,21948354


opatchauto succeeded.


Session Title: Data Guard Attack!!
Session Number: 1580
Speakers: Charles Kim, Oracle ACE Director and Nitin Vengurlekar, Oracle ACE Director
Track: Database
Session Type: Hands-on Lab
Sub-Categorization: High Availability & Data Protection

Abstract
There is no reason why Data Guard setup, configuration, maintenance and monitoring cannot be setup As A Service. Automation is the crux of any rapid deployment and cloud models. Setting up Data Guard should be a service catalog for any DBaaS deployment.

You will also learn the new Data Guard features available in Oracle Database 12.2

Download the latest and greatest Data Guard automation toolkit from http://dbaexpert.com/dg/ prior to attending this session. We have incorporated industry best practices to the DG Toolkit. This session will disseminate fundamental Data Guard best practices and demonstrate how DBAs can automate setup, configuration, and monitoring of Data Guard environments with assistance from the Date Guard Toolkit (DG Toolkit).

In this hand-on deep dive session, we will go through step by step details of setting up Data Guard with the automation toolkit:
o Building the Physical Standby
o Monitoring and Maintaining the Physical Standby
o Configuring Data Guard Broker
o Performing Backup and Recovery with RMAN
o Setting Archive Retention
o Performing Switchovers and Failovers

Learning Objectives:

1. Most importantly, learn how to build the physical standby with ease and automation using the DG Toolkit
2. Learn how to monitor the physical standby database with DG Toolkit
3. Learn how to monitor the physical standby database with DG Toolkit

Outline / Content Structure:
Perform preliminary check prior to starting the Data Guard Build
1. Perform assessments on the source database
2. Perform assessments on the physical standby

Perform detailed steps to build the physical standby database
1. Look at building the physical standby with easy menu steps
2. Look at duplicating the physical standby database

Configure the Data Guard Broker

Perform monitoring of the Data Guard Environment
1. Monitor the physical standby for performance
2. See how far behind we are

Perform RMAN to disk configuration options


Oracle Database Backup Service is a secure, scalable, on-demand storage solution for backing up your Oracle databases to Oracle’s Cloud. In a nutshell, Oracle databases are backed up to Oracle Cloud using the Oracle Database Cloud Backup Module. The Oracle Database Cloud Backup Module Can be downloaded from Oracle Technology Network (OTN) and is tightly integrated with Recovery Manager (RMAN). Because of the tight integration with RMAN, DBAs and architects can continue to use their familiar RMAN commands for backup and restore operations. DBAs can specify retention policies, perform cross-check operations, and even delete backups using their familiar RMAN commands.

To leverage Oracle Database Backup Service, you must be running at at least Oracle Database 10g Release 2 (10.2) to leverage Oracle Database Backup Service. You must first download the Oracle Database Cloud Backup Module from OTN and install it on the local target server:
http://www.oracle.com/technetwork/database/availability/oracle-cloud-backup-2162729.html

Oracle Database Cloud Backup Module is supported only for 64-bit architectures and for the following Linux, Solaris, SPARC, HP-UX, AIX, zLinux, and Windows operating systems.

Oracle ensures that data stored in Oracle Database Backup Service Cloud is redundant. Within Oracle Database Backup Service Cloud, data is automatically replicated to three separate physical machines. Oracle leverages this triple mirroring technique to prevent data loss in the event of hardware catastrophe.

All backups made to Oracle Cloud must be encrypted. You can leverage RMAN to encrypt your backup before it’s sent over the internet to Oracle Cloud. Oracle will only accept secure backups and reject a RMAN backup if it not secured.

Oracle Wallet Keys are stored locally on-premise at your data center. One thing to note is that keys are not in the cloud.


Here’s a simple script to look at the v$recovery_process view:


The following dg_check_lag.ksh script can be leveraged to monitor a Data Guard environment and to send alerts if the apply lag or transport lag exceeds a specified threshold in the dg_check_lag.conf file. In our example, the dg_check_lag.conf file specifies a threshold of three hours. If we encounter a lag in redo transport or apply lag that exceeds 3 hours, we send an alert to our DG DBAs.

Contents of the dg_check_lag.ksh script:

 

Contents of dg_check_lag.conf:
HR_THRESHOLD=03

Contents of .ORACLE_BASE

This file must exist in the $HOME directory for Oracle. We source the .ORACLE_BASE file because some companies have crazy standards to where they place ORACLE_BASE and where they place all their shell scripts. We keep it simple by leveraging our own configuration file which points to where ORACLE_BASE is located and where all the shell scripts reside in.


First, download and apply the patch patch: 6880880 from support.oracle.com or from https://updates.oracle.com/download/6880880.html

Download the latest PSU from Doc ID 756671.1. Unzip the PSU, cd to the directory, and check for one-off patch conflict detection and resolution.

[oracle@dal66a 20299023]$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./
Oracle Interim Patch Installer version 12.1.0.1.7
Copyright (c) 2015, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /u01/app/oracle/product/12.1.0/dbhome_2
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/12.1.0/dbhome_2/oraInst.loc
OPatch version    : 12.1.0.1.7
OUI version       : 12.1.0.2.0
Log file location : /u01/app/oracle/product/12.1.0/dbhome_2/cfgtoollogs/opatch/opatch2015-05-16_17-46-46PM_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.
[oracle@dal66a 20299023]$ opatch lsinv
Oracle Interim Patch Installer version 12.1.0.1.7
Copyright (c) 2015, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/12.1.0/dbhome_2
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/12.1.0/dbhome_2/oraInst.loc
OPatch version    : 12.1.0.1.7
OUI version       : 12.1.0.2.0
Log file location : /u01/app/oracle/product/12.1.0/dbhome_2/cfgtoollogs/opatch/opatch2015-05-16_17-46-58PM_1.log

Lsinventory Output file location : /u01/app/oracle/product/12.1.0/dbhome_2/cfgtoollogs/opatch/lsinv/lsinventory2015-05-16_17-46-58PM.txt

--------------------------------------------------------------------------------
Local Machine Information::
Hostname: dal66a
ARU platform id: 226
ARU platform description:: Linux x86-64

Installed Top-level Products (1): 

Oracle Database 12c                                                  12.1.0.2.0
There are 1 products installed in this Oracle Home.


There are no Interim patches installed in this Oracle Home.


--------------------------------------------------------------------------------

OPatch succeeded.

Make sure that all databases are down from the Oracle Home that you are patching. Also, ensure that the database listeners are down from the same Oracle Home; otherwise, you will encounter the following error from opatch as you attempt to apply the PSU:

Prerequisite check "CheckActiveFilesAndExecutables" failed.
The details are:


Following executables are active :
/u01/app/oracle/product/12.1.0/dbhome_2/bin/oracle
/u01/app/oracle/product/12.1.0/dbhome_2/lib/libclntsh.so.12.1
UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed.
Log file location: /u01/app/oracle/product/12.1.0/dbhome_2/cfgtoollogs/opatch/opatch2015-05-16_17-47-06PM_1.log

OPatch failed with error code 73

Shutdown all databases and listeners that you are applying the patch for

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
[oracle@dal66a 20299023]$ ps -ef |grep -i tns
root        15     2  0 14:31 ?        00:00:00 [netns]
oracle    4067     1  0 16:45 ?        00:00:00 /u01/app/oracle/product/12.1.0/dbhome_2/bin/tnslsnr LISTENER -inherit
oracle    4074     1  0 16:45 ?        00:00:00 /u01/app/oracle/product/12.1.0/dbhome_2/bin/tnslsnr DBATOOLS -inherit
oracle    6046  3362  0 17:48 pts/0    00:00:00 grep -i tns
[oracle@dal66a 20299023]$ lsnrctl stop dbatools

LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 16-MAY-2015 17:48:12

Copyright (c) 1991, 2014, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dal66a)(PORT=1522)))
The command completed successfully


[oracle@dal66a 20299023]$ lsnrctl stop listener

LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 16-MAY-2015 17:48:22

Copyright (c) 1991, 2014, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dal66a)(PORT=1521)))
The command completed successfully

Now we can apply the latest PSU

[oracle@dal66a 20299023]$ opatch apply
Oracle Interim Patch Installer version 12.1.0.1.7
Copyright (c) 2015, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/12.1.0/dbhome_2
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/12.1.0/dbhome_2/oraInst.loc
OPatch version    : 12.1.0.1.7
OUI version       : 12.1.0.2.0
Log file location : /u01/app/oracle/product/12.1.0/dbhome_2/cfgtoollogs/opatch/opatch2015-05-16_17-48-29PM_1.log

Verifying environment and performing prerequisite checks...
OPatch continues with these patches:   19769480  20299023  

Do you want to proceed? [y|n]
y
User Responded with: Y
All checks passed.
Provide your email address to be informed of security issues, install and
initiate Oracle Configuration Manager. Easier for you if you use your My
Oracle Support Email address/User Name.
Visit http://www.oracle.com/support/policies.html for details.
Email address/User Name: 

You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]:  Y



Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/u01/app/oracle/product/12.1.0/dbhome_2')


Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...
Applying sub-patch '19769480' to OH '/u01/app/oracle/product/12.1.0/dbhome_2'

Patching component oracle.rdbms.deconfig, 12.1.0.2.0...

Patching component oracle.xdk, 12.1.0.2.0...

Patching component oracle.tfa, 12.1.0.2.0...

Patching component oracle.rdbms.util, 12.1.0.2.0...

Patching component oracle.rdbms, 12.1.0.2.0...

Patching component oracle.rdbms.dbscripts, 12.1.0.2.0...

Patching component oracle.xdk.parser.java, 12.1.0.2.0...

Patching component oracle.oraolap, 12.1.0.2.0...

Patching component oracle.xdk.rsf, 12.1.0.2.0...

Patching component oracle.rdbms.rsf, 12.1.0.2.0...

Patching component oracle.rdbms.rman, 12.1.0.2.0...

Patching component oracle.ldap.rsf, 12.1.0.2.0...

Patching component oracle.ldap.rsf.ic, 12.1.0.2.0...

Verifying the update...
Applying sub-patch '20299023' to OH '/u01/app/oracle/product/12.1.0/dbhome_2'
ApplySession: Optional component(s) [ oracle.has.crs, 12.1.0.2.0 ]  not present in the Oracle Home or a higher version is found.

Patching component oracle.tfa, 12.1.0.2.0...

Patching component oracle.rdbms.deconfig, 12.1.0.2.0...

Patching component oracle.rdbms.rsf, 12.1.0.2.0...

Patching component oracle.rdbms, 12.1.0.2.0...

Patching component oracle.rdbms.dbscripts, 12.1.0.2.0...

Patching component oracle.rdbms.rsf.ic, 12.1.0.2.0...

Patching component oracle.ldap.rsf, 12.1.0.2.0...

Patching component oracle.ldap.rsf.ic, 12.1.0.2.0...

Verifying the update...
Composite patch 20299023 successfully applied.
Log file location: /u01/app/oracle/product/12.1.0/dbhome_2/cfgtoollogs/opatch/opatch2015-05-16_17-48-29PM_1.log

OPatch succeeded.

Let’s confirm that the PSU was successfully applied

[oracle@dal66a 20299023]$ opatch lsinventory |grep ^Patch
Patch  20299023     : applied on Sat May 16 17:49:12 CDT 2015
Patch description:  "Database Patch Set Update : 12.1.0.2.3 (20299023)"

Now let’s load the modified SQL files into the database. We need to execute Datapatch to complete the post-install SQL deployment portion of the PSU

[oracle@dal66a OPatch]$ ./datapatch -verbose
SQL Patching tool version 12.1.0.2.0 on Sat May 16 17:56:55 2015
Copyright (c) 2015, Oracle.  All rights reserved.

Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_7734_2015_05_16_17_56_55/sqlpatch_invocation.log

Connecting to database...OK
Bootstrapping registry and package to current versions...done
Determining current state...done

Current state of SQL patches:
Bundle series PSU:
  ID 3 in the binary registry and not installed in the SQL registry

Adding patches to installation queue and performing prereq checks...
Installation queue:
  Nothing to roll back
  The following patches will be applied:
    20299023 (Database Patch Set Update : 12.1.0.2.3 (20299023))

Installing patches...
Patch installation complete.  Total patches installed: 1

Validating logfiles...
Patch 20299023 apply: SUCCESS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/20299023/18703022/20299023_apply_TOOLSDEV_2015May16_17_57_25.log (no errors)
SQL Patching tool complete on Sat May 16 17:57:31 2015

Look for future blog post on applying the same patch against the Oracle Grid Home. This is where the fun really begins as we will be leveraging opatchauto instead of opatch.


# yum install oracle-rdbms-server-12cR1-preinstall
Loaded plugins: security
public_ol6_UEKR3_latest                                                                                          | 1.2 kB     00:00
public_ol6_latest                                                                                                | 1.4 kB     00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package oracle-rdbms-server-12cR1-preinstall.x86_64 0:1.0-11.el6 will be installed
--> Processing Dependency: xorg-x11-utils for package: oracle-rdbms-server-12cR1-preinstall-1.0-11.el6.x86_64
--> Processing Dependency: gcc-c++ for package: oracle-rdbms-server-12cR1-preinstall-1.0-11.el6.x86_64
--> Processing Dependency: compat-libcap1 for package: oracle-rdbms-server-12cR1-preinstall-1.0-11.el6.x86_64
--> Processing Dependency: ksh for package: oracle-rdbms-server-12cR1-preinstall-1.0-11.el6.x86_64
--> Processing Dependency: libaio-devel for package: oracle-rdbms-server-12cR1-preinstall-1.0-11.el6.x86_64
--> Processing Dependency: xorg-x11-xauth for package: oracle-rdbms-server-12cR1-preinstall-1.0-11.el6.x86_64
--> Processing Dependency: compat-libstdc++-33 for package: oracle-rdbms-server-12cR1-preinstall-1.0-11.el6.x86_64
--> Processing Dependency: libstdc++-devel for package: oracle-rdbms-server-12cR1-preinstall-1.0-11.el6.x86_64
--> Running transaction check
---> Package compat-libcap1.x86_64 0:1.10-1 will be installed
---> Package compat-libstdc++-33.x86_64 0:3.2.3-69.el6 will be installed
---> Package gcc-c++.x86_64 0:4.4.7-4.el6 will be installed
---> Package ksh.x86_64 0:20120801-10.el6_5.9 will be installed
---> Package libaio-devel.x86_64 0:0.3.107-10.el6 will be installed
---> Package libstdc++-devel.x86_64 0:4.4.7-4.el6 will be installed
---> Package xorg-x11-utils.x86_64 0:7.5-6.el6 will be installed
--> Processing Dependency: libXxf86misc.so.1()(64bit) for package: xorg-x11-utils-7.5-6.el6.x86_64
--> Processing Dependency: libdmx.so.1()(64bit) for package: xorg-x11-utils-7.5-6.el6.x86_64
--> Processing Dependency: libXxf86dga.so.1()(64bit) for package: xorg-x11-utils-7.5-6.el6.x86_64
---> Package xorg-x11-xauth.x86_64 1:1.0.2-7.1.el6 will be installed
--> Processing Dependency: libXmuu.so.1()(64bit) for package: 1:xorg-x11-xauth-1.0.2-7.1.el6.x86_64
--> Running transaction check
---> Package libXmu.x86_64 0:1.1.1-2.el6 will be installed
---> Package libXxf86dga.x86_64 0:1.1.3-2.el6 will be installed
---> Package libXxf86misc.x86_64 0:1.0.3-4.el6 will be installed
---> Package libdmx.x86_64 0:1.1.2-2.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================================
 Package                                         Arch              Version                           Repository                    Size
========================================================================================================================================
Installing:
 oracle-rdbms-server-12cR1-preinstall            x86_64            1.0-11.el6                        public_ol6_latest             15 k
Installing for dependencies:
 compat-libcap1                                  x86_64            1.10-1                            public_ol6_latest             17 k
 compat-libstdc++-33                             x86_64            3.2.3-69.el6                      public_ol6_latest            183 k
 gcc-c++                                         x86_64            4.4.7-4.el6                       public_ol6_latest            4.7 M
 ksh                                             x86_64            20120801-10.el6_5.9               public_ol6_latest            757 k
 libXmu                                          x86_64            1.1.1-2.el6                       public_ol6_latest             65 k
 libXxf86dga                                     x86_64            1.1.3-2.el6                       public_ol6_latest             24 k
 libXxf86misc                                    x86_64            1.0.3-4.el6                       public_ol6_latest             17 k
 libaio-devel                                    x86_64            0.3.107-10.el6                    public_ol6_latest             13 k
 libdmx                                          x86_64            1.1.2-2.el6                       public_ol6_latest             20 k
 libstdc++-devel                                 x86_64            4.4.7-4.el6                       public_ol6_latest            1.6 M
 xorg-x11-utils                                  x86_64            7.5-6.el6                         public_ol6_latest             94 k
 xorg-x11-xauth                                  x86_64            1:1.0.2-7.1.el6                   public_ol6_latest             34 k

Transaction Summary
========================================================================================================================================
Install      13 Package(s)

Total download size: 7.5 M
Installed size: 23 M
Is this ok [y/N]: y
Downloading Packages:
(1/13): compat-libcap1-1.10-1.x86_64.rpm                                                                         |  17 kB     00:00
(2/13): compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm                                                              | 183 kB     00:00
(3/13): gcc-c++-4.4.7-4.el6.x86_64.rpm                                                                           | 4.7 MB     00:00
(4/13): ksh-20120801-10.el6_5.9.x86_64.rpm                                                                       | 757 kB     00:00
(5/13): libXmu-1.1.1-2.el6.x86_64.rpm                                                                            |  65 kB     00:00
(6/13): libXxf86dga-1.1.3-2.el6.x86_64.rpm                                                                       |  24 kB     00:00
(7/13): libXxf86misc-1.0.3-4.el6.x86_64.rpm                                                                      |  17 kB     00:00
(8/13): libaio-devel-0.3.107-10.el6.x86_64.rpm                                                                   |  13 kB     00:00
(9/13): libdmx-1.1.2-2.el6.x86_64.rpm                                                                            |  20 kB     00:00
(10/13): libstdc++-devel-4.4.7-4.el6.x86_64.rpm                                                                  | 1.6 MB     00:00
(11/13): oracle-rdbms-server-12cR1-preinstall-1.0-11.el6.x86_64.rpm                                              |  15 kB     00:00
(12/13): xorg-x11-utils-7.5-6.el6.x86_64.rpm                                                                     |  94 kB     00:00
(13/13): xorg-x11-xauth-1.0.2-7.1.el6.x86_64.rpm                                                                 |  34 kB     00:00
----------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                   1.9 MB/s | 7.5 MB     00:03
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : libstdc++-devel-4.4.7-4.el6.x86_64                                                                                  1/13
  Installing : gcc-c++-4.4.7-4.el6.x86_64                                                                                          2/13
  Installing : libXmu-1.1.1-2.el6.x86_64                                                                                           3/13
  Installing : 1:xorg-x11-xauth-1.0.2-7.1.el6.x86_64                                                                               4/13
  Installing : libdmx-1.1.2-2.el6.x86_64                                                                                           5/13
  Installing : ksh-20120801-10.el6_5.9.x86_64                                                                                      6/13
  Installing : libXxf86dga-1.1.3-2.el6.x86_64                                                                                      7/13
  Installing : compat-libstdc++-33-3.2.3-69.el6.x86_64                                                                             8/13
  Installing : libXxf86misc-1.0.3-4.el6.x86_64                                                                                     9/13
  Installing : xorg-x11-utils-7.5-6.el6.x86_64                                                                                    10/13
  Installing : libaio-devel-0.3.107-10.el6.x86_64                                                                                 11/13
  Installing : compat-libcap1-1.10-1.x86_64                                                                                       12/13
  Installing : oracle-rdbms-server-12cR1-preinstall-1.0-11.el6.x86_64                                                             13/13
  Verifying  : compat-libcap1-1.10-1.x86_64                                                                                        1/13
  Verifying  : libstdc++-devel-4.4.7-4.el6.x86_64                                                                                  2/13
  Verifying  : xorg-x11-utils-7.5-6.el6.x86_64                                                                                     3/13
  Verifying  : oracle-rdbms-server-12cR1-preinstall-1.0-11.el6.x86_64                                                              4/13
  Verifying  : libaio-devel-0.3.107-10.el6.x86_64                                                                                  5/13
  Verifying  : libXxf86misc-1.0.3-4.el6.x86_64                                                                                     6/13
  Verifying  : compat-libstdc++-33-3.2.3-69.el6.x86_64                                                                             7/13
  Verifying  : libXxf86dga-1.1.3-2.el6.x86_64                                                                                      8/13
  Verifying  : 1:xorg-x11-xauth-1.0.2-7.1.el6.x86_64                                                                               9/13
  Verifying  : ksh-20120801-10.el6_5.9.x86_64                                                                                     10/13
  Verifying  : libdmx-1.1.2-2.el6.x86_64                                                                                          11/13
  Verifying  : gcc-c++-4.4.7-4.el6.x86_64                                                                                         12/13
  Verifying  : libXmu-1.1.1-2.el6.x86_64                                                                                          13/13

Installed:
  oracle-rdbms-server-12cR1-preinstall.x86_64 0:1.0-11.el6

Dependency Installed:
  compat-libcap1.x86_64 0:1.10-1             compat-libstdc++-33.x86_64 0:3.2.3-69.el6       gcc-c++.x86_64 0:4.4.7-4.el6
  ksh.x86_64 0:20120801-10.el6_5.9           libXmu.x86_64 0:1.1.1-2.el6                     libXxf86dga.x86_64 0:1.1.3-2.el6
  libXxf86misc.x86_64 0:1.0.3-4.el6          libaio-devel.x86_64 0:0.3.107-10.el6            libdmx.x86_64 0:1.1.2-2.el6
  libstdc++-devel.x86_64 0:4.4.7-4.el6       xorg-x11-utils.x86_64 0:7.5-6.el6               xorg-x11-xauth.x86_64 1:1.0.2-7.1.el6

Complete!
#

What is left is to change the password for oracle

# passwd oracle

Let’s create the /oradata1 file system for Oracle Database Files

First, we need to partition our disk from the fdisk command:

[oracle@dal66a database]$ sudo fdisk /dev/sdb

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for oracle: 

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-8354, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-8354, default 8354): 
Using default value 8354

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Next, we need to create a file system on the newly partitioned disks. Because we partitioned the full disk for /dev/sdb, we will create the file system against the /dev/sbd1 partition.

[oracle@dal66a database]$ sudo mkfs.ext4 /dev/sdb1
mke2fs 1.43-WIP (20-Jun-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
4194304 inodes, 16775868 blocks
838793 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
512 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   

Let’s create the /oradata1 directory, change the file system ownership to oracle, and mount our newly created file system. After we mount our file system, we will create the necessary entries into /etc/fstab file so that the /oradata1 file system will mount automatically when we re-start our system.

[oracle@dal66a database]$ sudo mkdir /oradata1
[oracle@dal66a database]$ sudo mount /dev/sdb1 /oradata1    
[oracle@dal66a database]$ sudo chown oracle:dba /oradata1
[oracle@dal66a database]$ sudo vi /etc/fstab and create the entry:
/oradata1               /dev/sdb1               ext4    defaults        0 0

[oracle@dal66a database]$ ./runInstaller -silent -responseFile /tmp/12c_db_with_database.rsp
Starting Oracle Universal Installer…

Checking Temp space: must be greater than 500 MB. Actual 3665 MB Passed
Checking swap space: must be greater than 150 MB. Actual 4095 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-05-16_01-44-57PM. Please wait …[oracle@dal66a database]$ [WARNING] [INS-30011] The ADMIN password entered does not conform to the Oracle recommended standards.
CAUSE: Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
ACTION: Provide a password that conforms to the Oracle recommended standards.
You can find the log of this install session at:
/u01/app/oraInventory/logs/installActions2015-05-16_01-44-57PM.log
The installation of Oracle Database 12c was successful.
Please check ‘/u01/app/oraInventory/logs/silentInstall2015-05-16_01-44-57PM.log’ for more details.

As a root user, execute the following script(s):
1. /u01/app/oraInventory/orainstRoot.sh
2. /u01/app/oracle/product/12.1.0/dbhome_2/root.sh

Successfully Setup Software.
As install user, execute the following script to complete the configuration.
1. /u01/app/oracle/product/12.1.0/dbhome_2/cfgtoollogs/configToolAllCommands RESPONSE_FILE=

Note:
1. This script must be run on the same host from where installer was run.
2. This script needs a small password properties file for configuration assistants that require passwords (refer to install guide documentation).

[oracle@dal66a database]$ sudo /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[oracle@dal66a database]$ sudo /u01/app/oracle/product/12.1.0/dbhome_2/root.sh
Check /u01/app/oracle/product/12.1.0/dbhome_2/install/root_dal66a_2015-05-16_13-48-09.log for the output of root script
[oracle@dal66a database]$ cat /u01/app/oracle/product/12.1.0/dbhome_2/install/root_dal66a_2015-05-16_13-48-09.log
Performing root user operation.

The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/12.1.0/dbhome_2
Copying dbhome to /usr/local/bin …
Copying oraenv to /usr/local/bin …
Copying coraenv to /usr/local/bin …

Creating /etc/oratab file…
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
[oracle@dal66a database]$ /u01/app/oracle/product/12.1.0/dbhome_2/cfgtoollogs/configToolAllCommands RESPONSE_FILE=/home/oracle/cfgrsp.properties
Setting the invPtrLoc to /u01/app/oracle/product/12.1.0/dbhome_2/oraInst.loc

perform – mode is starting for action: configure

May 16, 2015 1:51:21 PM oracle.install.config.common.NetCAInternalPlugIn invoke
INFO: NetCAInternalPlugIn: … adding
May 16, 2015 1:51:21 PM oracle.install.driver.oui.config.GenericInternalPlugIn invoke
INFO: Executing NETCA
May 16, 2015 1:51:21 PM oracle.install.driver.oui.config.GenericInternalPlugIn invoke
INFO: Command /u01/app/oracle/product/12.1.0/dbhome_2/bin/netca /orahome /u01/app/oracle/product/12.1.0/dbhome_2 /orahnam OraDB12Home1 /instype typical /inscomp client,oraclenet,javavm,server,ano /insprtcl tcp /cfg local /authadp NO_VALUE /responseFile /u01/app/oracle/product/12.1.0/dbhome_2/network/install/netca_typ.rsp /silent /silent /ouiinternal
May 16, 2015 1:51:21 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: … GenericInternalPlugIn.handleProcess() entered.
May 16, 2015 1:51:21 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: … GenericInternalPlugIn: getting configAssistantParmas.
May 16, 2015 1:51:21 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: … GenericInternalPlugIn: checking secretArguments.
May 16, 2015 1:51:21 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: No arguments to pass to stdin
May 16, 2015 1:51:21 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: … GenericInternalPlugIn: starting read loop.
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read:
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line:
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: End of argument passing to stdin
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Parsing command line arguments:
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Parsing command line arguments:
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Parameter “orahome” = /u01/app/oracle/product/12.1.0/dbhome_2
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Parameter “orahome” = /u01/app/oracle/product/12.1.0/dbhome_2
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Parameter “orahnam” = OraDB12Home1
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Parameter “orahnam” = OraDB12Home1
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Parameter “instype” = typical
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Parameter “instype” = typical
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Parameter “inscomp” = client,oraclenet,javavm,server,ano
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Parameter “inscomp” = client,oraclenet,javavm,server,ano
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Parameter “insprtcl” = tcp
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Parameter “insprtcl” = tcp
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Parameter “cfg” = local
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Parameter “cfg” = local
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Parameter “authadp” = NO_VALUE
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Parameter “authadp” = NO_VALUE
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Parameter “responsefile” = /u01/app/oracle/product/12.1.0/dbhome_2/network/install/netca_typ.rsp
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Parameter “responsefile” = /u01/app/oracle/product/12.1.0/dbhome_2/network/install/netca_typ.rsp
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Parameter “silent” = true
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Parameter “silent” = true
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Parameter “silent” = true
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Parameter “silent” = true
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Parameter “ouiinternal” = true
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Parameter “ouiinternal” = true
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Done parsing command line arguments.
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Done parsing command line arguments.
May 16, 2015 1:51:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Oracle Net Services Configuration:
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Oracle Net Services Configuration:
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Profile configuration complete.
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Profile configuration complete.
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Oracle Net Listener Startup:
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Oracle Net Listener Startup:
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Running Listener Control:
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Running Listener Control:
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: /u01/app/oracle/product/12.1.0/dbhome_2/bin/lsnrctl start LISTENER
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: /u01/app/oracle/product/12.1.0/dbhome_2/bin/lsnrctl start LISTENER
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Listener Control complete.
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Listener Control complete.
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Listener started successfully.
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Listener started successfully.
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Listener configuration complete.
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Listener configuration complete.
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Oracle Net Services configuration successful. The exit code is 0
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Oracle Net Services configuration successful. The exit code is 0
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Exceeded the number of arguments passed to stdin. CurrentCount:1 Total args:0
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn invoke
INFO: Executing DBCA
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn invoke
INFO: Command /u01/app/oracle/product/12.1.0/dbhome_2/bin/dbca -silent -createDatabase -templateName General_Purpose.dbc -createAsContainerDatabase true -pdbName vna01 -numberOfPDBs 1 -sid DBATOOLS -gdbName DBATOOLS -emConfiguration DBEXPRESS -storageType FS -datafileDestination /oradata1 -datafileJarLocation /u01/app/oracle/product/12.1.0/dbhome_2/assistants/dbca/templates -responseFile /tmp/12c_db_with_database.rsp -characterset WE8MSWIN1252 -obfuscatedPasswords false -recoveryAreaDestination /oradata1 -automaticMemoryManagement false -totalMemory 1024 -maskPasswords false -oui_internal
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: … GenericInternalPlugIn.handleProcess() entered.
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: … GenericInternalPlugIn: getting configAssistantParmas.
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: … GenericInternalPlugIn: checking secretArguments.
May 16, 2015 1:51:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: … GenericInternalPlugIn: starting read loop.
May 16, 2015 1:51:25 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: SYS_PASSWORD_PROMPT
May 16, 2015 1:51:25 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Processing: SYS_PASSWORD_PROMPT for argument tag -sysPassword
May 16, 2015 1:51:25 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: SYSTEM_PASSWORD_PROMPT
May 16, 2015 1:51:25 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Processing: SYSTEM_PASSWORD_PROMPT for argument tag -systemPassword
May 16, 2015 1:51:25 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: PDB_ADMIN_PASSWORD_PROMPT
May 16, 2015 1:51:25 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Processing: PDB_ADMIN_PASSWORD_PROMPT for argument tag -pdbAdminPassword
May 16, 2015 1:51:39 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Copying database files
May 16, 2015 1:51:39 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Copying database files
May 16, 2015 1:51:39 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 1% complete
May 16, 2015 1:51:39 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 1% complete
May 16, 2015 1:51:49 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 2% complete
May 16, 2015 1:51:49 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 2% complete
May 16, 2015 1:53:55 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 27% complete
May 16, 2015 1:53:55 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 27% complete
May 16, 2015 1:53:55 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Creating and starting Oracle instance
May 16, 2015 1:53:55 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Creating and starting Oracle instance
May 16, 2015 1:54:17 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 29% complete
May 16, 2015 1:54:17 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 29% complete
May 16, 2015 1:54:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 32% complete
May 16, 2015 1:54:23 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 32% complete
May 16, 2015 1:54:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 33% complete
May 16, 2015 1:54:24 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 33% complete
May 16, 2015 1:55:07 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 34% complete
May 16, 2015 1:55:07 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 34% complete
May 16, 2015 1:55:52 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 38% complete
May 16, 2015 1:55:52 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 38% complete
May 16, 2015 1:55:53 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 42% complete
May 16, 2015 1:55:53 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 42% complete
May 16, 2015 1:56:29 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 43% complete
May 16, 2015 1:56:29 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 43% complete
May 16, 2015 1:56:29 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 45% complete
May 16, 2015 1:56:29 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 45% complete
May 16, 2015 1:56:29 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Completing Database Creation
May 16, 2015 1:56:29 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Completing Database Creation
May 16, 2015 1:56:29 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 48% complete
May 16, 2015 1:56:29 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 48% complete
May 16, 2015 1:56:29 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 51% complete
May 16, 2015 1:56:29 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 51% complete
May 16, 2015 1:56:29 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 53% complete
May 16, 2015 1:56:29 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 53% complete
May 16, 2015 1:56:30 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 62% complete
May 16, 2015 1:56:30 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 62% complete
May 16, 2015 1:59:56 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 64% complete
May 16, 2015 1:59:56 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 64% complete
May 16, 2015 1:59:56 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 72% complete
May 16, 2015 1:59:56 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 72% complete
May 16, 2015 1:59:56 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Creating Pluggable Databases
May 16, 2015 1:59:56 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Creating Pluggable Databases
May 16, 2015 2:00:17 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 78% complete
May 16, 2015 2:00:17 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 78% complete
May 16, 2015 2:00:17 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: 100% complete
May 16, 2015 2:00:17 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: 100% complete
May 16, 2015 2:00:17 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
INFO: Read: Look at the log file “/u01/app/oracle/cfgtoollogs/dbca/DBATOOLS/DBATOOLS.log” for further details.
May 16, 2015 2:00:17 PM oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
WARNING: Skipping line: Look at the log file “/u01/app/oracle/cfgtoollogs/dbca/DBATOOLS/DBATOOLS.log” for further details.

perform – mode finished for action: configure

You can see the log file: /u01/app/oracle/product/12.1.0/dbhome_2/cfgtoollogs/oui/configActions2015-05-16_01-51-20-PM.log
[oracle@dal66a database]$ cat /u01/app/oracle/cfgtoollogs/dbca/DBATOOLS/DBATOOLS.log

Unique database identifier check passed.

/oradata1/ has enough space. Required space is 7665 MB , available space is 61030 MB.
File Validations Successful.
Copying database files
DBCA_PROGRESS : 1%
DBCA_PROGRESS : 2%
DBCA_PROGRESS : 27%
Creating and starting Oracle instance
DBCA_PROGRESS : 29%
DBCA_PROGRESS : 32%
DBCA_PROGRESS : 33%
DBCA_PROGRESS : 34%
DBCA_PROGRESS : 38%
DBCA_PROGRESS : 42%
DBCA_PROGRESS : 43%
DBCA_PROGRESS : 45%
Completing Database Creation
DBCA_PROGRESS : 48%
DBCA_PROGRESS : 51%
DBCA_PROGRESS : 53%
DBCA_PROGRESS : 62%
DBCA_PROGRESS : 64%
DBCA_PROGRESS : 72%
Creating Pluggable Databases
DBCA_PROGRESS : 78%
DBCA_PROGRESS : 100%
Database creation complete. For details check the logfiles at:
/u01/app/oracle/cfgtoollogs/dbca/DBATOOLS.
Database Information:
Global Database Name:DBATOOLS
System Identifier(SID):DBATOOLS
[oracle@dal66a database]$ ps -ef |grep -i pmon
oracle 8357 1 0 13:59 ? 00:00:00 ora_pmon_DBATOOLS
oracle 8910 3249 0 14:01 pts/0 00:00:00 grep -i pmon
[oracle@dal66a database]$ ps -ef |grep -i tns
root 15 2 0 13:27 ? 00:00:00 [netns]
oracle 7486 1 0 13:51 ? 00:00:00 /u01/app/oracle/product/12.1.0/dbhome_2/bin/tnslsnr LISTENER -inherit
oracle 8912 3249 0 14:01 pts/0 00:00:00 grep -i tns


Abstract

Learn the secrets of the trade to rapidly provisioning Oracle DB Infrastructure-As-A-Service. This extreme session will cover topics of delivering Linux-As-S-Service, RAC-As-A-Service, ASM-As-A-Service, Database-As-A-Service, Backup-As-A-Service, and even Data-Guard-As-A-Service . Advanced techniques to deploy enterprise RAC and non-RAC database deployments in an automated fashion will be shared . Save days and even weeks of deploy time by attending this session. There is no reason why you as a DBA or Architect, should not be able to deploy a fully patched RAC environment from bare metal Linux and create a RAC database in less than one hour. Anyone deploying RAC or even non-RAC will learn the secret sauce and knowledge of how to properly deploy mission critical systems that is repeatable and consistent. Learn to deploy a fully patched (11.2.0.3 or 11.2.0.4 with PSU x or 12.1 with PSU x) two node RAC in less than one hour.

Learn how to automate database builds and to leverage golden image database templates.

We can’t forget about multi-tenant deployment of Oracle 12c Pluggable Databases. Learn how to deploy pluggable databases (PDB) and to migrate PDBs and significantly increase your database consolidation density.

The details of adding nodes to an existing clusters and removing nodes from the cluster will also be disseminated.

Collaborate 2014 – Extreme Oracle DB Infrastructure As A Service.pdf