About Charles.Kim

Basic instructions for adding a new node to the RAC cluster:

1. First on the target node, create /u01/app/oraInventory (empty) and owned by oracle:dba
2. On the target node, make sure /u01/app/11.2.0 directory is created and empty. This directory needs to be owned as: oracle:dba
3. Run addnode.ksh (shown below) on an existing RAC node with parameters replaced as oracle
4. As instructed, execute root.sh on target node as root

Here’s all the caveats:
1. It is buggy on the cluvfy side for 11.2.0.3. It had bugs in 11.2.0.2 also. I recall we had to set IGNORE_PREADDNODE_CHECKS to Y back then, and it looks like we still have to.
2. /u01/app/oraInventory has to be pre-created and owned by oracle:dba and has to be completely empty
3. /u01/app/11.2.0 needs to be owned by oracle:dba. The /u01/app/11.2.0/grid directory cannot exist … even as an empty directory. The addnode.sh script attempts to do a “mkdir grid” as oracle, and if it fails, it dies.
4. It died on me twice at “crsctl start listener -n “target_node” … have to create default listener first
5. I did not leverage the -noCopy method. This working example will copy the Grid Home from source RAC node to the new RAC node via scp/ssh. I don’t think it is a big deal … added about 5 minutes to the overall time (see below).

 
Copying to remote nodes (Saturday, May 4, 2013 8:52:50 PM CDT)  ............................................................................................... 96% Done.  
Home copied to new nodes  Saving inventory on nodes (Saturday, May 4, 2013 8:56:03 PM CDT)  

Here’s the contents to the add node shell script:

+ASM1 > cat addnode.ksh
export ORACLE_HOME=/u01/app/11.2.0/grid
export PATH=$ORACLE_HOME/bin:$PATH
cd $ORACLE_HOME/oui/bin
 
export IGNORE_PREADDNODE_CHECKS=Y
 
./addNode.sh -silent "CLUSTER_NEW_NODES={rhel59drb}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={rhel59drb-vip}" "CLUSTER_NEW_PRIVATE_NODE_NAMES={rhel59drb-priv}"
 

Executing the addnode.ksh shell script:

+ASM1 > ./addnode.ksh
Starting Oracle Universal Installer...
 
Checking swap space: must be greater than 500 MB.   Actual 3186 MB    Passed
Oracle Universal Installer, Version 11.2.0.3.0 Production
Copyright (C) 1999, 2011, Oracle. All rights reserved.
 
 
Performing tests to see whether nodes rhel59drb are available
............................................................... 100% Done.
 
.
-----------------------------------------------------------------------------
Cluster Node Addition Summary
Global Settings
   Source: /u01/app/11.2.0/grid
   New Nodes
Space Requirements
   New Nodes
      rhel59drb
         /: Required 6.47GB : Available 7.27GB
Installed Products
   Product Names
      Oracle Grid Infrastructure 11.2.0.3.0
      Sun JDK 1.5.0.30.03
      Installer SDK Component 11.2.0.3.0
      Oracle One-Off Patch Installer 11.2.0.1.7
      Oracle Universal Installer 11.2.0.3.0
      Oracle USM Deconfiguration 11.2.0.3.0
      Oracle Configuration Manager Deconfiguration 10.3.1.0.0
      Enterprise Manager Common Core Files 10.2.0.4.4
      Oracle DBCA Deconfiguration 11.2.0.3.0
      Oracle RAC Deconfiguration 11.2.0.3.0
      Oracle Quality of Service Management (Server) 11.2.0.3.0
      Installation Plugin Files 11.2.0.3.0
      Universal Storage Manager Files 11.2.0.3.0
      Oracle Text Required Support Files 11.2.0.3.0
      Automatic Storage Management Assistant 11.2.0.3.0
      Oracle Database 11g Multimedia Files 11.2.0.3.0
      Oracle Multimedia Java Advanced Imaging 11.2.0.3.0
      Oracle Globalization Support 11.2.0.3.0
      Oracle Multimedia Locator RDBMS Files 11.2.0.3.0
      Oracle Core Required Support Files 11.2.0.3.0
      Bali Share 1.1.18.0.0
      Oracle Database Deconfiguration 11.2.0.3.0
      Oracle Quality of Service Management (Client) 11.2.0.3.0
      Expat libraries 2.0.1.0.1
      Oracle Containers for Java 11.2.0.3.0
      Perl Modules 5.10.0.0.1
      Secure Socket Layer 11.2.0.3.0
      Oracle JDBC/OCI Instant Client 11.2.0.3.0
      Oracle Multimedia Client Option 11.2.0.3.0
      LDAP Required Support Files 11.2.0.3.0
      Character Set Migration Utility 11.2.0.3.0
      Perl Interpreter 5.10.0.0.2
      PL/SQL Embedded Gateway 11.2.0.3.0
      OLAP SQL Scripts 11.2.0.3.0
      Database SQL Scripts 11.2.0.3.0
      Oracle Extended Windowing Toolkit 3.4.47.0.0
      SSL Required Support Files for InstantClient 11.2.0.3.0
      SQL*Plus Files for Instant Client 11.2.0.3.0
      Oracle Net Required Support Files 11.2.0.3.0
      Oracle Database User Interface 2.2.13.0.0
      RDBMS Required Support Files for Instant Client 11.2.0.3.0
      RDBMS Required Support Files Runtime 11.2.0.3.0
      XML Parser for Java 11.2.0.3.0
      Oracle Security Developer Tools 11.2.0.3.0
      Oracle Wallet Manager 11.2.0.3.0
      Enterprise Manager plugin Common Files 11.2.0.3.0
      Platform Required Support Files 11.2.0.3.0
      Oracle JFC Extended Windowing Toolkit 4.2.36.0.0
      RDBMS Required Support Files 11.2.0.3.0
      Oracle Ice Browser 5.2.3.6.0
      Oracle Help For Java 4.2.9.0.0
      Enterprise Manager Common Files 10.2.0.4.3
      Deinstallation Tool 11.2.0.3.0
      Oracle Java Client 11.2.0.3.0
      Cluster Verification Utility Files 11.2.0.3.0
      Oracle Notification Service (eONS) 11.2.0.3.0
      Oracle LDAP administration 11.2.0.3.0
      Cluster Verification Utility Common Files 11.2.0.3.0
      Oracle Clusterware RDBMS Files 11.2.0.3.0
      Oracle Locale Builder 11.2.0.3.0
      Oracle Globalization Support 11.2.0.3.0
      Buildtools Common Files 11.2.0.3.0
      Oracle RAC Required Support Files-HAS 11.2.0.3.0
      SQL*Plus Required Support Files 11.2.0.3.0
      XDK Required Support Files 11.2.0.3.0
      Agent Required Support Files 10.2.0.4.3
      Parser Generator Required Support Files 11.2.0.3.0
      Precompiler Required Support Files 11.2.0.3.0
      Installation Common Files 11.2.0.3.0
      Required Support Files 11.2.0.3.0
      Oracle JDBC/THIN Interfaces 11.2.0.3.0
      Oracle Multimedia Locator 11.2.0.3.0
      Oracle Multimedia 11.2.0.3.0
      HAS Common Files 11.2.0.3.0
      Assistant Common Files 11.2.0.3.0
      PL/SQL 11.2.0.3.0
      HAS Files for DB 11.2.0.3.0
      Oracle Recovery Manager 11.2.0.3.0
      Oracle Database Utilities 11.2.0.3.0
      Oracle Notification Service 11.2.0.3.0
      SQL*Plus 11.2.0.3.0
      Oracle Netca Client 11.2.0.3.0
      Oracle Net 11.2.0.3.0
      Oracle JVM 11.2.0.3.0
      Oracle Internet Directory Client 11.2.0.3.0
      Oracle Net Listener 11.2.0.3.0
      Cluster Ready Services Files 11.2.0.3.0
      Oracle Database 11g 11.2.0.3.0
-----------------------------------------------------------------------------
 
 
Instantiating scripts for add node (Saturday, May 4, 2013 8:52:48 PM CDT)
.                                                                 1% Done.
Instantiation of add node scripts complete
 
Copying to remote nodes (Saturday, May 4, 2013 8:52:50 PM CDT)
...............................................................................................                                 96% Done.
Home copied to new nodes
 
Saving inventory on nodes (Saturday, May 4, 2013 8:56:03 PM CDT)
.                                                               100% Done.
Save inventory complete
WARNING:
The following configuration scripts need to be executed as the "root" user in each new cluster node. Each script in the list below is followed by a list of nodes.
/u01/app/11.2.0/grid/root.sh #On nodes rhel59drb
To execute the configuration scripts:
    1. Open a terminal window
    2. Log in as "root"
    3. Run the scripts in each cluster node
   
The Cluster Node Addition of /u01/app/11.2.0/grid was successful.
Please check '/tmp/silentInstall.log' for more details.

On the Target Node, execute root.sh:

[root@rhel59drb db_backup]# /u01/app/11.2.0/grid/root.sh
Check /u01/app/11.2.0/grid/install/root_rhel59drb_2013-05-04_21-18-28.log for the output of root script
 
[root@rhel59drb db_backup]# tail -f /u01/app/11.2.0/grid/install/root_rhel59drb_2013-05-04_21-18-28.log
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/11.2.0/grid
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.
Relinking oracle with rac_on option
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
User ignored Prerequisites during installation
OLR initialization - successful
Adding Clusterware entries to inittab
CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node rhel59dra, number 1, and is terminating
An active cluster was found during exclusive startup, restarting to join the cluster
clscfg: EXISTING configuration version 5 detected.
clscfg: version 5 is 11g Release 2.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Preparing packages for installation...
cvuqdisk-1.0.9-1
Configure Oracle Grid Infrastructure for a Cluster ... succeeded
 
------------------
 
+ASM1 > crs_stat -t -v
HA Resource                                        Target     State            
-----------                                        ------     -----            
ora.DATA.dg                                        ONLINE     ONLINE on rhel59dra
ora.FRA.dg                                         ONLINE     ONLINE on rhel59dra
ora.LISTENER.lsnr                                  ONLINE     ONLINE on rhel59dra
ora.LISTENER_SCAN1.lsnr                            ONLINE     ONLINE on rhel59drb
ora.LISTENER_SCAN2.lsnr                            ONLINE     ONLINE on rhel59dra
ora.LISTENER_SCAN3.lsnr                            ONLINE     ONLINE on rhel59dra
ora.LSNR_GTRRAC.lsnr                               ONLINE     ONLINE on rhel59dra
ora.OCR_VOTE.dg                                    ONLINE     ONLINE on rhel59dra
ora.asm                                            ONLINE     ONLINE on rhel59dra
ora.cvu                                            ONLINE     ONLINE on rhel59dra
ora.dtccrac.db                                     ONLINE     ONLINE on rhel59dra
ora.gsd                                            OFFLINE    OFFLINE          
ora.net1.network                                   ONLINE     ONLINE on rhel59dra
ora.oc4j                                           ONLINE     ONLINE on rhel59dra
ora.ons                                            ONLINE     ONLINE on rhel59dra
ora.registry.acfs                                  ONLINE     ONLINE on rhel59dra
ora.rhel59dra.ASM1.asm                             ONLINE     ONLINE on rhel59dra
ora.rhel59dra.LISTENER_RHEL59DRA.lsnr              ONLINE     ONLINE on rhel59dra
ora.rhel59dra.LSNR_GTRRAC_RHEL59DRA.lsnr           ONLINE     ONLINE on rhel59dra
ora.rhel59dra.gsd                                  OFFLINE    OFFLINE          
ora.rhel59dra.ons                                  ONLINE     ONLINE on rhel59dra
ora.rhel59dra.vip                                  ONLINE     ONLINE on rhel59dra
ora.rhel59drb.ASM2.asm                             ONLINE     ONLINE on rhel59drb
ora.rhel59drb.LISTENER_RHEL59DRB.lsnr              ONLINE     ONLINE on rhel59drb
ora.rhel59drb.LSNR_GTRRAC_RHEL59DRB.lsnr           ONLINE     ONLINE on rhel59drb
ora.rhel59drb.gsd                                  OFFLINE    OFFLINE          
ora.rhel59drb.ons                                  ONLINE     ONLINE on rhel59drb
ora.rhel59drb.vip                                  ONLINE     ONLINE on rhel59drb
ora.scan1.vip                                      ONLINE     ONLINE on rhel59drb
ora.scan2.vip                                      ONLINE     ONLINE on rhel59dra
ora.scan3.vip                                      ONLINE     ONLINE on rhel59dra 
Posted in RAC

Mount the CD/DVD:  mount /dev/cdrom /mnt/cdrom

Then trick the baseurl directives to point to the file instead of Oracle’s public yum server in the /etc/yum.repos.d/public-yum-ol6.repo/public-yum-el5.repo or /etc/yum.repos.d/public-yum-ol6.repo file:

[root@ovmanager media]# mount /dev/cdrom /mnt

mount: block device /dev/sr0 is write-protected, mounting read-only
 
[oracle@ovmanager yum.repos.d]$ pwd
/etc/yum.repos.d
 
[oracle@ovmanager yum.repos.d]$ vi public-yum-el5.repo
 

[ol5_u8_base]

name=Oracle Linux $releasever Update 8 installation media copy ($basearch)
baseurl=file:///mnt/OL5.8/Server/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=0
enabled=1 

Now you are ready to install packages from your local yum repository

By Charles Kim, Oracle ACE Director

 


RIght click on Server Pools and select Discover Servers

Discover Server

 

 

 

 

 

 

 

 

In the Discover Servers window, provide the agent password and list of hostnames or IP addresses:

Discover-Server2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Click on OK and you can check the status column as the servers are added to the pool.  Click on Details for additional information especially if you encounter issues.

Discover Server 3

 

 

  

Like Magic, you will see the list of servers you just added: 

Discovered Servers

 

 

 


For those who are interested in knowing how to determine HBA port id (world-wide name – WWN) from a Linux box, see below. Note is this is for RHEL/OEL 6.x. 5.x is quite different. In our case its simple, we have one HBA, but the following can be used to walk thru it:

 
#lspci | grep -i fibre

03:00.0 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 02)
 
#systool -av -c fc_host
 
 
Class Device = "host6"
  Class Device path = "/sys/devices/pci0000:00/0000:00:1c.0/0000:03:00.0/host6/fc_host/host6"
    dev_loss_tmo        = "45"
    fabric_name         = "0xffffffffffffffff"
    issue_lip           = <store method only>
    max_npiv_vports     = "127"
    node_name           = "0x200000e08b93a654"
    npiv_vports_inuse   = "0"
    port_id             = "0x000000"
    port_name           = "0x210000e08b93a654"
    port_state          = "Linkdown"
    port_type           = "Unknown"
    speed               = "unknown"
    supported_classes   = "Class 3"
    supported_speeds    = "1 Gbit, 2 Gbit, 4 Gbit"
    symbolic_name       = "QLE2460 FW:v5.03.07 DVR:v8.04.00.08.39.0-k"
    system_hostname     = ""
    tgtid_bind_type     = "wwpn (World Wide Port Name)"
    uevent              = 
    vport_create        = <store method only>
    vport_delete        = <store method only>
 
Thus WWN == 20:00:00:e0:8b:93:a6:54

By Nitin Vengurlekar and Charles Kim, Oracle ACE Director
Viscosity North America


First task performed was to install RPMs, set kernel params and other OS configurations leveraging oracle’s oracle-rdbms-server-11gR2-preinstall package.

Second, we need to change the security limits for soft files to 8192 from 1024

# oracle-rdbms-server-11gR2-preinstall setting for nofile soft limit is 1024
oracle soft nofile 8192

Then perform the installation:

[root@ovmanager mnt]# ./runInstaller.sh

Oracle VM Manager Release 3.2.1 Installer

Oracle VM Manager Installer log file:
/tmp/ovm-manager-3-install-2013-04-25-205559.log

Please select an installation type:
1: Simple (includes database if necessary)
2: Custom (using existing Oracle database)
3: Uninstall
4: Help

Select Number (1-4): 1

Starting production with local database installation ...

Verifying installation prerequisites ...
*** WARNING: Recommended memory for the Oracle VM Manager server installation using Local MySql DB is 7680 MB RAM

One password is used for all users created and used during the installation.
Enter a password for all logins used during the installation: 
Invalid password.
Passwords need to be between 8 and 16 characters in length.
Passwords must contain at least 1 lower case and 1 upper case letter.
Passwords must contain at least 1 numeric value.
Enter a password for all logins used during the installation: 
Enter a password for all logins used during the installation (confirm):

Verifying configuration ...

Start installing the configured components:
1: Continue
2: Abort

Select Number (1-2): 1

Step 1 of 9 : Database Software...
Installing Database Software...
Retrieving MySQL Database 5.5 ...
Unzipping MySQL RPM File ...
Installing MySQL 5.5 RPM package ...
Configuring MySQL Database 5.5 ...
Installing MySQL backup RPM package ...

Step 2 of 9 : Java ...
Installing Java ...

Step 3 of 9 : Database schema ...
Creating database 'ovs' ...
Creating user 'ovs' for database 'ovs'...

Step 4 of 9 : WebLogic ...
Retrieving Oracle WebLogic Server 11g ...
Installing Oracle WebLogic Server 11g ...

Step 5 of 9 : ADF ...
Retrieving Oracle Application Development Framework (ADF) ...
Unzipping Oracle ADF ...
Installing Oracle ADF ...
Installing Oracle ADF Patch...

Step 6 of 9 : Oracle VM ...
Retrieving Oracle VM Manager Application ...
Extracting Oracle VM Manager Application ...
Installing Oracle VM Manager Core ...

Step 7 of 9 : Domain creation ...
Creating Oracle WebLogic Server domain ...
Starting Oracle WebLogic Server 11g ...
Configuring data source 'OVMDS' ...
Creating Oracle VM Manager user 'admin' ...

Step 8 of 9 : Deploy ...
Deploying Oracle VM Manager Core container ...
Deploying Oracle VM Manager UI Console ...
Deploying Oracle VM Manager Help ...
Granting ovm-admin role to user 'admin' ...
Set Log Rotation ...
Disabling HTTP and enabling HTTPS...
Configuring Https Identity and Trust...
Configuring Weblogic parameters...

Step 9 of 9 : Oracle VM Manager Shell ...
Retrieving Oracle VM Manager Shell & API ...
Extracting Oracle VM Manager Shell & API ...
Installing Oracle VM Manager Shell & API ...

Retrieving Oracle VM Manager Upgrade tool ...
Extracting Oracle VM Manager Upgrade tool ...
Installing Oracle VM Manager Upgrade tool ...

Retrieving Oracle VM Manager CLI tool ...
Extracting Oracle VM Manager CLI tool...
Installing Oracle VM Manager CLI tool ...
Copying Oracle VM Manager shell to '/usr/bin/ovm_shell.sh' ...
Installing ovm_admin.sh in '/u01/app/oracle/ovm-manager-3/bin' ...
Installing ovm_upgrade.sh in '/u01/app/oracle/ovm-manager-3/bin' ...
Enabling Oracle VM Manager service ...
Shutting down Oracle VM Manager instance ...
Restarting Oracle VM Manager instance ...
Waiting for the application to initialize ...
Oracle VM Manager is running ...
Oracle VM Manager installed.

Please wait while WebLogic configures the applications... This can take up to 5 minutes.

Installation Summary
--------------------
Database configuration:
Database type : MySQL
Database host name : localhost
Database name : ovs
Database listener port : 49501
Database user : ovs

Weblogic Server configuration:
Administration username : weblogic

Oracle VM Manager configuration:
Username : admin
Core management port : 54321
UUID : 0004fb0000010000d9377c77e693f5e9


Passwords:
There are no default passwords for any users. The passwords to use for Oracle VM Manager, Database, and Oracle WebLogic Server have been set by you during this installation. In the case of a default install, all passwords are the same.

Oracle VM Manager UI:

https://ovmanager.viscosity-local.com:7002/ovm/console

Log in with the user 'admin', and the password you set during the installation.

Please note that you need to install tightvnc-java on this computer to access a virtual machine's console.

For more information about Oracle Virtualization, please visit:

http://www.oracle.com/virtualization/

Oracle VM Manager installation complete.

Please remove configuration file /tmp/ovm_configIjVxZx.
[root@ovmanager mnt]# rm /tmp/ovm_configIjVxZx
rm: remove regular file `/tmp/ovm_configIjVxZx'? y

Then install tightVNC RPM for java-base console access:

[root@ovmanager ~]# yum install tightvnc
Loaded plugins: security
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package tigervnc.x86_64 0:1.1.0-5.el6 will be installed
--> Finished Dependency Resolution

 

Dependencies Resolved

 

========================================================================================================================
Package Arch Version Repository Size
========================================================================================================================
Installing:
tigervnc x86_64 1.1.0-5.el6 ol6_UEK_base 257 k

 

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

 

Total download size: 257 k
Installed size: 644 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : tigervnc-1.1.0-5.el6.x86_64 1/1 
Verifying : tigervnc-1.1.0-5.el6.x86_64 1/1

 

Installed:
tigervnc.x86_64 0:1.1.0-5.el6

 

Complete!

Lastly, make sure that you turn off IPTABLES.

[root@ovmanager ~]# service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination 
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 
2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 
5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

 

Chain FORWARD (policy ACCEPT)
num target prot opt source destination 
1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

 

Chain OUTPUT (policy ACCEPT)
num target prot opt source destination

 

 

[root@ovmanager ~]# service iptables stop
iptables: Flushing firewall rules: [ OK ]
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Unloading modules: [ OK ]

By Charles Kim, Oracle ACE Director and Nitin Vengurlekar


Starting from Oracle Database 11g Release 2, we no longer use the oracle-validated install.  Instead, we are supposed to leverage the new oracle-rdbms-server-11gR2-preinstall instead.

[root@ovmanager yum.repos.d]# yum install oracle-rdbms-server-11gR2-preinstall
Loaded plugins: security
ol6_UEK_base | 3.7 kB 00:00 …
ol6_UEK_latest | 3.7 kB 00:00 …
ol6_latest | 3.7 kB 00:00 …
ol6_u4_base | 3.7 kB 00:00 …
Setting up Install Process
Resolving Dependencies
–> Running transaction check
—> Package oracle-rdbms-server-11gR2-preinstall.x86_64 0:1.0-7.el6 will be installed
–> Processing Dependency: glibc-devel for package: oracle-rdbms-server-11gR2-preinstall-1.0-7.el6.x86_64
–> Processing Dependency: compat-libstdc++-33 for package: oracle-rdbms-server-11gR2-preinstall-1.0-7.el6.x86_64
–> Processing Dependency: libstdc++-devel for package: oracle-rdbms-server-11gR2-preinstall-1.0-7.el6.x86_64
–> Processing Dependency: libaio-devel for package: oracle-rdbms-server-11gR2-preinstall-1.0-7.el6.x86_64
–> Processing Dependency: xorg-x11-xauth for package: oracle-rdbms-server-11gR2-preinstall-1.0-7.el6.x86_64
–> Processing Dependency: gcc for package: oracle-rdbms-server-11gR2-preinstall-1.0-7.el6.x86_64
–> Processing Dependency: xorg-x11-utils for package: oracle-rdbms-server-11gR2-preinstall-1.0-7.el6.x86_64
–> Processing Dependency: gcc-c++ for package: oracle-rdbms-server-11gR2-preinstall-1.0-7.el6.x86_64
–> Processing Dependency: compat-libcap1 for package: oracle-rdbms-server-11gR2-preinstall-1.0-7.el6.x86_64
–> Processing Dependency: ksh for package: oracle-rdbms-server-11gR2-preinstall-1.0-7.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.x86_64 0:4.4.7-3.el6 will be installed
–> Processing Dependency: cpp = 4.4.7-3.el6 for package: gcc-4.4.7-3.el6.x86_64
–> Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.7-3.el6.x86_64
—> Package gcc-c++.x86_64 0:4.4.7-3.el6 will be installed
–> Processing Dependency: libmpfr.so.1()(64bit) for package: gcc-c++-4.4.7-3.el6.x86_64
—> Package glibc-devel.x86_64 0:2.12-1.107.el6 will be installed
–> Processing Dependency: glibc-headers = 2.12-1.107.el6 for package: glibc-devel-2.12-1.107.el6.x86_64
–> Processing Dependency: glibc-headers for package: glibc-devel-2.12-1.107.el6.x86_64
—> Package ksh.x86_64 0:20100621-19.el6 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-3.el6 will be installed
—> Package xorg-x11-utils.x86_64 0:7.5-6.el6 will be installed
–> 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
–> Processing Dependency: libXxf86misc.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 cloog-ppl.x86_64 0:0.15.7-1.2.el6 will be installed
–> Processing Dependency: libppl.so.7()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
–> Processing Dependency: libppl_c.so.2()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
—> Package cpp.x86_64 0:4.4.7-3.el6 will be installed
—> Package glibc-headers.x86_64 0:2.12-1.107.el6 will be installed
–> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.12-1.107.el6.x86_64
–> Processing Dependency: kernel-headers for package: glibc-headers-2.12-1.107.el6.x86_64
—> 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
—> Package mpfr.x86_64 0:2.4.1-6.el6 will be installed
–> Running transaction check
—> Package kernel-headers.x86_64 0:2.6.32-358.el6 will be installed
—> Package ppl.x86_64 0:0.10.2-11.el6 will be installed
–> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================
Package Arch Version Repository Size
========================================================================================================================
Installing:
oracle-rdbms-server-11gR2-preinstall x86_64 1.0-7.el6 ol6_UEK_base 15 k
Installing for dependencies:
cloog-ppl x86_64 0.15.7-1.2.el6 ol6_UEK_base 93 k
compat-libcap1 x86_64 1.10-1 ol6_UEK_base 17 k
compat-libstdc++-33 x86_64 3.2.3-69.el6 ol6_UEK_base 183 k
cpp x86_64 4.4.7-3.el6 ol6_UEK_base 3.7 M
gcc x86_64 4.4.7-3.el6 ol6_UEK_base 10 M
gcc-c++ x86_64 4.4.7-3.el6 ol6_UEK_base 4.7 M
glibc-devel x86_64 2.12-1.107.el6 ol6_UEK_base 973 k
glibc-headers x86_64 2.12-1.107.el6 ol6_UEK_base 604 k
kernel-headers x86_64 2.6.32-358.el6 ol6_UEK_base 2.3 M
ksh x86_64 20100621-19.el6 ol6_UEK_base 686 k
libXmu x86_64 1.1.1-2.el6 ol6_UEK_base 65 k
libXxf86dga x86_64 1.1.3-2.el6 ol6_UEK_base 24 k
libXxf86misc x86_64 1.0.3-4.el6 ol6_UEK_base 17 k
libaio-devel x86_64 0.3.107-10.el6 ol6_UEK_base 13 k
libdmx x86_64 1.1.2-2.el6 ol6_UEK_base 20 k
libstdc++-devel x86_64 4.4.7-3.el6 ol6_UEK_base 1.6 M
mpfr x86_64 2.4.1-6.el6 ol6_UEK_base 156 k
ppl x86_64 0.10.2-11.el6 ol6_UEK_base 1.3 M
xorg-x11-utils x86_64 7.5-6.el6 ol6_UEK_base 94 k
xorg-x11-xauth x86_64 1:1.0.2-7.1.el6 ol6_UEK_base 34 k

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

Total download size: 27 M
Installed size: 62 M
Is this ok [y/N]: y
Downloading Packages:
————————————————————————————————————————
Total 119 MB/s | 27 MB 00:00
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Retrieving key from file:///etc/yum.repos.d/RPM-GPG-KEY-oracle-ol6
Importing GPG key 0xEC551F03:
Userid: “Oracle OSS group (Open Source Software group) <build@oss.oracle.com>”
From : /etc/yum.repos.d/RPM-GPG-KEY-oracle-ol6
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : libstdc++-devel-4.4.7-3.el6.x86_64 1/21
Installing : mpfr-2.4.1-6.el6.x86_64 2/21
Installing : cpp-4.4.7-3.el6.x86_64 3/21
Installing : libXmu-1.1.1-2.el6.x86_64 4/21
Installing : 1:xorg-x11-xauth-1.0.2-7.1.el6.x86_64 5/21
Installing : libdmx-1.1.2-2.el6.x86_64 6/21
Installing : ksh-20100621-19.el6.x86_64 7/21
Installing : libXxf86dga-1.1.3-2.el6.x86_64 8/21
Installing : compat-libstdc++-33-3.2.3-69.el6.x86_64 9/21
Installing : libXxf86misc-1.0.3-4.el6.x86_64 10/21
Installing : xorg-x11-utils-7.5-6.el6.x86_64 11/21
Installing : libaio-devel-0.3.107-10.el6.x86_64 12/21
Installing : ppl-0.10.2-11.el6.x86_64 13/21
Installing : cloog-ppl-0.15.7-1.2.el6.x86_64 14/21
Installing : kernel-headers-2.6.32-358.el6.x86_64 15/21
Installing : glibc-headers-2.12-1.107.el6.x86_64 16/21
Installing : glibc-devel-2.12-1.107.el6.x86_64 17/21
Installing : gcc-4.4.7-3.el6.x86_64 18/21
Installing : gcc-c++-4.4.7-3.el6.x86_64 19/21
Installing : compat-libcap1-1.10-1.x86_64 20/21
Installing : oracle-rdbms-server-11gR2-preinstall-1.0-7.el6.x86_64 21/21
Verifying : compat-libcap1-1.10-1.x86_64 1/21
Verifying : cpp-4.4.7-3.el6.x86_64 2/21
Verifying : kernel-headers-2.6.32-358.el6.x86_64 3/21
Verifying : xorg-x11-utils-7.5-6.el6.x86_64 4/21
Verifying : glibc-devel-2.12-1.107.el6.x86_64 5/21
Verifying : ppl-0.10.2-11.el6.x86_64 6/21
Verifying : gcc-4.4.7-3.el6.x86_64 7/21
Verifying : libaio-devel-0.3.107-10.el6.x86_64 8/21
Verifying : libXxf86misc-1.0.3-4.el6.x86_64 9/21
Verifying : mpfr-2.4.1-6.el6.x86_64 10/21
Verifying : oracle-rdbms-server-11gR2-preinstall-1.0-7.el6.x86_64 11/21
Verifying : gcc-c++-4.4.7-3.el6.x86_64 12/21
Verifying : compat-libstdc++-33-3.2.3-69.el6.x86_64 13/21
Verifying : libXxf86dga-1.1.3-2.el6.x86_64 14/21
Verifying : 1:xorg-x11-xauth-1.0.2-7.1.el6.x86_64 15/21
Verifying : libstdc++-devel-4.4.7-3.el6.x86_64 16/21
Verifying : ksh-20100621-19.el6.x86_64 17/21
Verifying : libdmx-1.1.2-2.el6.x86_64 18/21
Verifying : libXmu-1.1.1-2.el6.x86_64 19/21
Verifying : cloog-ppl-0.15.7-1.2.el6.x86_64 20/21
Verifying : glibc-headers-2.12-1.107.el6.x86_64 21/21

Installed:
oracle-rdbms-server-11gR2-preinstall.x86_64 0:1.0-7.el6

Dependency Installed:
cloog-ppl.x86_64 0:0.15.7-1.2.el6 compat-libcap1.x86_64 0:1.10-1 compat-libstdc++-33.x86_64 0:3.2.3-69.el6
cpp.x86_64 0:4.4.7-3.el6 gcc.x86_64 0:4.4.7-3.el6 gcc-c++.x86_64 0:4.4.7-3.el6
glibc-devel.x86_64 0:2.12-1.107.el6 glibc-headers.x86_64 0:2.12-1.107.el6 kernel-headers.x86_64 0:2.6.32-358.el6
ksh.x86_64 0:20100621-19.el6 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-3.el6 mpfr.x86_64 0:2.4.1-6.el6 ppl.x86_64 0:0.10.2-11.el6
xorg-x11-utils.x86_64 0:7.5-6.el6 xorg-x11-xauth.x86_64 1:1.0.2-7.1.el6

Complete!

By Charles Kim, Oracle ACE Director and Nitin Vengurlekar


For those interested in the clonedb feature of Oracle Direct NFS, check out MOS:  Clone your dNFS Production Database for Testing [ID 1210656.1]

On the ZFSSA, we have the ability to create snapshots and offer clones of our snapshots.  From a ZFSSA perspective, it is extremely simple to create snapshots and clones of snapshots via the BUI or CLI.    For customers with Exadata and ZFSSA, we obviously have options.  We can experiment with clonedb or leverage the storage appliance technology.

As a DBA, you may want to have the control yourself, especially, if you do not have control over the filer.  Check out this post by Kevin Closson.  He does a great job introducing the concept and showing you how to do it.   If you read to the end of his post, he provides links to couple of great videos on youtube.



[root@ol63a ~]# fdisk /dev/sdf
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disk label
Building a new DOS disklabel with disk identifier 0xa5f20199.                     
Changes will remain in memory only, until you decide to write them.               
After that, of course, the previous content won’t be recoverable.                 
 
Warning: invalid flag 0×0000 of partition table 4 will be corrected by w(rite)
                                                                                                                             
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-4177, default 1): 
Using default value 1               
Last cylinder, +cylinders or +size{K,M,G} (1-4177, default 4177): 
Using default value 4177                                          
 
Command (m for help): w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
Syncing disks.


 

[root@ol63a ~]# mkfs.ext4 /dev/sdf1

mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
2097152 inodes, 8387930 blocks
419396 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
256 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
 
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
 
This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
 

[root@ol63a ~]# mkdir /oranfs
[root@ol63a ~]# mount -o rw -t ext4 /dev/sdf1 /oranfs
[root@ol63a ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_ol63a-lv_root
                       50G 3.8G 43G 8% /
tmpfs 1004M 644K 1003M 1% /dev/shm
/dev/sda1 485M 55M 405M 12% /boot
/dev/mapper/vg_ol63a-lv_home
                      9.5G 6.9G 2.1G 77% /home
/dev/sdf1 32G 176M 30G 1% /oranfs

Earlier in my blog post, I demonstrated how to create golden image templates using dbca GUI.  Now, my goal is to show you how to perform the same tasks but all through the dbca command-line-interface.  You will notice the  command line interface is significantly easier to use and has no dependency on X-windows.

In our example, we are leveraging /bkups file system for our backups.  The whole idea is to leverage NFS and place all of our golden images of databases to be shared across all the servers.

As we deploy our golden image template to all the target database servers, we just need to copy over the db_gold_01.dbc file (see below) and copy the file to the $ORACLE_HOME.  This dbc file should be part of our /u01 tar that we copy to every node.  

1. Create a Golden Image Database Templates from an Existing Database on Source

# cd db home on the source
$ > cat create_clone_template.ksh 
export BKUP_DIR=/bkups/templates
dbca -silent -createCloneTemplate \
-sourceSID RACDB \
-templateName db_gold_01 \
-sysDBAUserName sys \
-sysDBAPassword oracle123 \
-maintainFileLocations false \
-datafileJarLocation $BKUP_DIR

–output……

$ > ./create_clone_template.ksh 
Gathering information from the source database
4% complete
8% complete
13% complete
17% complete
22% complete
Backup datafiles 
28% complete
88% complete
Creating template file
100% complete
Look at the log file “/u01/app/oracle/cfgtoollogs/dbca/silent.log_2013-05-08_08-36-32-AM” for further details.

2. Locate the the tempate xml file in the format of .dbc 
dtccrac > find . -name ‘*.dbc’
./assistants/dbca/templates/General_Purpose.dbc
./assistants/dbca/templates/Data_Warehouse.dbc
./assistants/dbca/templates/db_gold_01.dbc

3. Copy to the target

– to /bkups/templates
$ > ls -l /bkups/templates
total 282784
-rw-r—– 1 oracle oinstall 18497536 May 8 08:37 gb_gold_01.ctl
-rw-r—– 1 oracle oinstall 270778368 May 8 08:37 gb_gold_01.dfb

– to $ORACLE_HOME/assistants/dbca/templates
db_gold_01.dbc

4. Create the database from template

dbca -silent \
-createDatabase \
-templateName db_gold_01.dbc \
-gdbName dbatools \
-sid dbatools \
-SysPassword oracle123 \
-SystemPassword oracle123 \
-emConfiguration NONE \
-redoLogFileSize 200 \
-recoveryAreaDestination FRA \
-storageType ASM \
-asmSysPassword oracle123 \
-diskGroupName DATA \
-listeners LISTENER_RRAC \
-characterSet WE8MSWIN1252 \
-nationalCharacterSet AL16UTF16 \
-databaseType MULTIPURPOSE \
-nodelist rac01,rac02,rac03,rac04 \
-initparams audit_file_dest=’/bkups//dbatools/adump’ \
-initparams compatible=’11.2.0.3′ \
-initparams db_create_file_dest=’+DATA’ \
-initparams db_create_online_log_dest_1=’+DATA’ \
-initparams db_create_online_log_dest_2=’+FRA’ \
-initparams diagnostic_dest=’/bkups’ \
-initparams parallel_max_servers=64 \
-initparams pga_aggregate_target=1824522240 \
-initparams processes=600 \
-initparams sga_target=4294967296 \
-initparams db_recovery_file_dest=’+FRA’ \

-initparams db_recovery_file_dest_size=4322230272