Tuesday, July 2, 2013

Oracle 12c 2 Nodes sandbox RAC environment on your laptop!



Oracle 12c 2 Nodes sandbox RAC environment on your laptop!

2013.06.28, v1.01
Yury Velikanov

Short Introduction

As result of following this Step by Step Guide you will get the following products up and running on your laptop:
-         2 Nodes Oracle 12c RAC with 3 IPs SCAN infrastructure
o   Working even with no network connection ( e.g. airplane, public transport, in a tent ;)
-          Oracle Linux Server 6.4
-          Oracle Virtual Box 4.2.14

You should have a laptop with:
-          Modern CPU (most of laptops produced after 2011 should be ok)
-          8 GB of RAM
-          40G of free space disk space
o   9GB - Software Staging
o   29GB – 2 VMs + ASM disks
-          Windows 64 bit
o   I think you may use any other platform but you will need to find a solution for local DNS implementation on your platform (feel free to re-post this guide adding your platform specifics)
o   I think that you may run into memory related issues if you try to use Windows 32 bit

References

I have used the following two articles from Tim Hall’s web site www.oracle-base.com as a basis for this guide. I would appreciate if you keep this reference if you reuse this document for your blog posts or other articles:
·         Oracle Linux 6 Installation

About the author

Yury Velikanov - a tall Latvian Russian currently living in Sydney, Australia
working for The Pythian Group (call us if you need any help).

Twitter: @yvelik (feel free to let me know if this guide worked for you)
FaceBook: yury.velikanov
LinkedIn: yuryvelikanov
SlideShow: yvelikanov
Blog: Pythian
Enough is enough :)

Introduction

My main goal is to let you get an Oracle 12c RAC sandbox environment up and running on your laptop in a minimal possible time.
I am sure that Oracle will release VM templates, other great community contributors will publish their own guides on how to ... etc. However if you follow the steps below you will install Oracle 12c RAC database going through main installation steps. If you interested in exploring a particular installation option you are free to deviate from the instruction and share your experience with others. At the time new release and patches will come out you may want to apply a patch or adjust this guide to new release. Please return a favour and publish your work sharing your great discovery with the rest of the community.

Before you start

Software Components

Please note that the process that I describe should work even if you use other (presumably newer) software versions. You may need to adjust the process depending on software component you are going to use or available at the time you implement the configuration.

·         Windows 7 64 bit
·         Pre-installed Oracle VirtualBox 4.2.12 (it pretty much next, next, next, ready)
o   4.2.14 r86644
·         Pre-installed DualServer 6.94 (Local Windows DNS Server for SCAN)
o   See “DualServer configuration” appendix for how to configure it for the needs of this implementation.
o   You will need to adjust a Windows Firewall as described in the appendix bellow to make it working
·         Download Oracle software from eDelivery web site
o   Oracle Linux 6.4
§  E11882_01.zip => unzip => V37084-01.iso
o   Oracle Grid Infrastructure and Database 12c (12.1.0.1)
§  V38501-01_1of2.zip
§  V38501-01_2of2.zip
§  V38500-01_1of2.zip
§  V38500-01_2of2.zip

Network configuration

I have used the following network setup. Feel free to adjust to your needs:
n  Public IPs 10.154.137.0/24
o   internal network only
o   visible and available to your laptop only even if it isn’t connected to any network
n  Interconnect 10.154.138.0/24
o   private IPs available from RAC nodes only
n  SCAN
o   Name => scan-f1.yuryffun.com
o   IPs => 10.154.137.115/116/117
n  Internet access from RAC nodes (e.g. access to Oracle public yum)
o   Just run "ifup eth2" (NAT interface) while connected to an internet

Implementation process

Main steps
1.       Setup VBOX
2.       Create one node
3.       Create shared ASM devices
4.       Clone node
5.       Install Grid Infrastructure
6.       Install Database Software
7.       Create Database
8.       Enjoy and experiment

Virtual Machine Setup

Setup VBOX

If you didn’t do it yet the installation part is straight forward. Just download the latest version from https://www.virtualbox.org/ and install (Next, Next, Next ...)

OVB (will  use this abbreviation referencing to Oracle Virtual Box)
=> File Preferences => Network => Add host-only network =>
Edit =>  => IPv4 Address:
10.154.137.1
IPv4 Network Mask
255.255.255.0
OK => OK

Create one node

Node

OVB => Machine => New =>
ol6-12c-rac1
=> Linux => Oracle 64bit => Memory Size
3072
=> Create a virtual hard drive now => VDI => Dynamically allocated =>
F:\vbox\ol6-12c-rac_1\ol6-12c-rac1.vdi
30 GB
=> Create

Network setup

OVB => ol6-12c-rac1 => Settings ... => Network =>
Adapter 1 => Host-only Adapter => Enable Network Adapter
Adapter 2 => Internal Network => Enable Network Adapter
Adapter 3 => NAT => Enable Network Adapter
OK

Notes:
n  Adapter 1 => Host-only Adapter - Allows to start and access the Cluster even if you are not connected to any networks
n  Adapter 3 - Allows you to get access to the Internet from RAC nodes by starting eth2 adapter

Plug in CDROM

OVB => ol6-12c-rac1 => Settings ... => Storage => Empty =>  => => V37084-01.iso
OK

Install Linux

OVB => ol6-12c-rac1 => Machine => Start

Install or upgrade an existing system
Skip => Next => Next => Next => Next => Yes Discard Any Data =>
ol6r01.yuryffun.com
Configure Network =>

System eth0 => Connect Automatically => IPv4 Settings => Method => Manual => Add =>
Address =>
10.154.137.101
Netmask =>
255.255.255.0
Apply...
System eth1 => Connect Automatically => IPv4 Settings => Method => Manual => Add =>
Address =>
10.154.138.101
Netmask =>
255.255.255.0
Apply...

System eth2 => Leave default (DHCP, No Connect Automatically)
Close

Next=> Any time zone => Next=> < root password > => Next

Use All Space => Review and modify partitioning layout
Next

lv_root => Delete
lv_swap => 4096
Free => Mount Point => “/” => File System Type => ext3 => OK
/boot => File System Type => ext3 => OK

Result:

Next =>  => Write changes to disk
Next => (minimum) Basic Server => Next
(Timing Start 11:17 => Finish 11:25 => 8 mins) => Reboot

Linux post install configuration

putty root@10.154.137.101
echo 10.154.137.101 ol6r01 ol6r01.yuryffun.com >> /etc/hosts
echo 10.154.137.102 ol6r02 ol6r02.yuryffun.com >> /etc/hosts
echo 10.154.138.101 ol6r01-priv ol6r01-priv.yuryffun.com >> /etc/hosts
echo 10.154.138.102 ol6r02-priv ol6r02-priv.yuryffun.com >> /etc/hosts
echo 10.154.137.103 ol6r01-vip ol6r01-vip.yuryffun.com >> /etc/hosts
echo 10.154.137.104 ol6r02-vip ol6r02-vip.yuryffun.com >> /etc/hosts
mv /etc/selinux/config /etc/selinux/config.orig
sed s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config.orig > /etc/selinux/config
service iptables stop
chkconfig iptables off
service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.orig
ifup eth2

Oracle public yum setup

OVB => ol6-12c-rac1 => Settings ... => Storage => Empty =>  => => V37084-01.iso
mount /dev/cdrom /media/
rpm -Uvf /media/Packages/wget-1.12-1.8.el6.x86_64.rpm

cd /etc/yum.repos.d
wget http://public-yum.oracle.com/public-yum-ol6.repo

RPMs update from yum

time yum install -y oracle-rdbms-server-11gR2-preinstall
Install      21 Package(s)
Complete!

real    7m9.748s
...

time yum update -y
...
Install       5 Package(s)
Upgrade     117 Package(s)

Total download size: 199 M
...
Error Downloading Packages:
  1:java-1.7.0-openjdk-1.7.0.25-2.3.10.3.0.1.el6_4.x86_64: failure: getPackage/java-1.7.0-openjdk-1.7.0.25-2.3.10.3.0.1.el6_4.x86_64.rpm from ol6_latest: [Errno 256] No more mirrors to try.
  1:java-1.6.0-openjdk-1.6.0.0-1.61.1.11.11.el6_4.x86_64: failure: getPackage/java-1.6.0-openjdk-1.6.0.0-1.61.1.11.11.el6_4.x86_64.rpm from ol6_latest: [Errno 256] No more mirrors to try.


real    34m48.846s

time yum update –y
...
Install       5 Package(s)
Upgrade     117 Package(s)
...

Complete!

real    3m35.784s
user    2m37.210s
sys     0m28.499s
[root@ol6r01 yum.repos.d]#

time yum update -y
Loaded plugins: security
Setting up Update Process
No Packages marked for Update

real    0m1.170s
user    0m1.021s
sys     0m0.146s
[root@ol6r01 yum.repos.d]#

Install additional RPMs

time yum install -y tigervnc-server.x86_64 xclock man kernel-uek-devel parted.x86_64 unzip.x86_64 xterm lsof
Install      11 Package(s)

Total download size: 17 M
Installed size: 44 M
...
Complete!

real    10m2.364s
user    0m40.615s
sys     0m4.445s

-- Check current kernel version
[root@ol6r01 yum.repos.d]# uname -a
Linux ol6r01.yuryffun.com 2.6.39-400.17.1.el6uek.x86_64 #1 SMP Fri Feb 22 18:16:18 PST 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@ol6r01 yum.repos.d]#

Configuring Shared storage

Stop OVB host ol6r01
init 0

-- Create 4 disks
OVB => ol6-12c-rac1 => Settings ... => Storage => Controller SATA =>


Add Hard Drive =>
Create new disk =>

=> VDI => Fixed Size (otherwise you will not be able to make it sharable)
F:\vbox\ol6-12c-rac_1\asm1.vdi
5120 MB
=> Create
-- Create 3 more Disks
F:\vbox\ol6-12c-rac_1\asm2.vdi
5120 MB
F:\vbox\ol6-12c-rac_1\asm3.vdi
5120 MB
F:\vbox\ol6-12c-rac_1\asm4.vdi
5120 MB
OK



-- Make the HDDs shareable
OVB => File => Virtual Media Manager => asm1/2/3/4.vdi => Modify => Shareable => Close



VBoxLinuxAdditions

Remove mounted CD ROM
OVB => ol6-12c-rac1 => Settings ... => Storage => CDROM


OVB => ol6-12c-rac1 => Machine => Start
-- Check if kernel version got updated (otherwise VBoxLinuxAdditions.run phase may fail)
[root@ol6r01 ~]# uname -a
Linux ol6r01.yuryffun.com 2.6.39-400.109.1.el6uek.x86_64 #1 SMP Tue Jun 4 23:21:51 PDT 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@ol6r01 ~]#

OVB => Devices => Install Guest Additions …
mount /dev/cdrom /media/
sh /media/VBoxLinuxAdditions.run

NOTE: You may need to check what path is used for cdrom in your case and mount the right one "ls -l /dev/cdrom*"

 [root@ol6r01 ~]# /media/VBoxLinuxAdditions.run
Verifying archive integrity... All good.
Uncompressing VirtualBox 4.2.12 Guest Additions for Linux............
VirtualBox Guest Additions installer
Removing installed version 4.2.12 of VirtualBox Guest Additions...
Copying additional installer modules ...
Installing additional modules ...
Removing existing VirtualBox non-DKMS kernel modules       [  OK  ]
Building the VirtualBox Guest Additions kernel modules
The headers for the current running kernel were not found. If the following
module compilation fails then this could be the reason.
The missing package can be probably installed with
yum install kernel-uek-devel-2.6.39-400.24.1.el6uek.x86_64

Building the main Guest Additions module                   [  OK  ]
Building the shared folder support module                  [  OK  ]
Building the OpenGL support module                         [  OK  ]
Doing non-kernel setup of the Guest Additions              [  OK  ]
Starting the VirtualBox Guest Additions                    [  OK  ]
Installing the Window System drivers                       [FAILED]
(Could not find the X.Org or XFree86 Window System.)
[root@ol6r01 ~]#
============================

NOTE: “Installing the Window System drivers                       [FAILED]” - could be ignored as we don’t run X Windows.

Configure persistence devices’ naming

 [root@ol6r01 ~]# ls -l /dev/sd*
brw-rw---- 1 root disk 8,  0 May 21 16:54 /dev/sda
brw-rw---- 1 root disk 8,  1 May 21 16:54 /dev/sda1
brw-rw---- 1 root disk 8,  2 May 21 16:54 /dev/sda2
brw-rw---- 1 root disk 8, 16 May 21 16:54 /dev/sdb
brw-rw---- 1 root disk 8, 32 May 21 16:54 /dev/sdc
brw-rw---- 1 root disk 8, 48 May 21 16:54 /dev/sdd
brw-rw---- 1 root disk 8, 64 May 21 16:54 /dev/sde
[root@ol6r01 ~]#

fdisk /dev/sdb
fdisk /dev/sdc
fdisk /dev/sdd
fdisk /dev/sde
"n", "p", "1", "Return", "Return" and "w"
ls -l /dev/sd*

[root@ol6r01 ~]# ls -l /dev/sd*
brw-rw---- 1 root disk 8,  0 May 21 16:54 /dev/sda
brw-rw---- 1 root disk 8,  1 May 21 16:54 /dev/sda1
brw-rw---- 1 root disk 8,  2 May 21 16:54 /dev/sda2
brw-rw---- 1 root disk 8, 16 May 21 17:03 /dev/sdb
brw-rw---- 1 root disk 8, 17 May 21 17:03 /dev/sdb1
brw-rw---- 1 root disk 8, 32 May 21 17:03 /dev/sdc
brw-rw---- 1 root disk 8, 33 May 21 17:03 /dev/sdc1
brw-rw---- 1 root disk 8, 48 May 21 17:03 /dev/sdd
brw-rw---- 1 root disk 8, 49 May 21 17:03 /dev/sdd1
brw-rw---- 1 root disk 8, 64 May 21 17:04 /dev/sde
brw-rw---- 1 root disk 8, 65 May 21 17:04 /dev/sde1
[root@ol6r01 ~]#

Configure your UDEV rules

ls -l /etc/scsi_id.config

[root@ol6r01 ~]# ls -l /etc/scsi_id.config
ls: cannot access /etc/scsi_id.config: No such file or directory

echo "options=-g" > /etc/scsi_id.config

/sbin/scsi_id -g -u -d /dev/sdb ; /sbin/scsi_id -g -u -d /dev/sdc ; /sbin/scsi_id -g -u -d /dev/sdd ; /sbin/scsi_id -g -u -d /dev/sde

[root@ol6r01 ~]# /sbin/scsi_id -g -u -d /dev/sdb ; /sbin/scsi_id -g -u -d /dev/sdc ; /sbin/scsi_id -g -u -d /dev/sdd ; /sbin/scsi_id -g -u -d /dev/sde
1ATA_VBOX_HARDDISK_VB425c30d2-a5a6fd28
1ATA_VBOX_HARDDISK_VBf3f3b07b-fc36040a
1ATA_VBOX_HARDDISK_VBc1c2a35c-e0d538cc
1ATA_VBOX_HARDDISK_VB23d133e5-2420ccc8
[root@ol6r01 ~]#

cat > /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VB425c30d2-a5a6fd28", NAME="asm-disk1", OWNER="oracle", GROUP="dba", MODE="0660"
KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VBf3f3b07b-fc36040a", NAME="asm-disk2", OWNER="oracle", GROUP="dba", MODE="0660"
KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VBc1c2a35c-e0d538cc", NAME="asm-disk3", OWNER="oracle", GROUP="dba", MODE="0660"
KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VB23d133e5-2420ccc8", NAME="asm-disk4", OWNER="oracle", GROUP="dba", MODE="0660"
Note: I have restarted the VM. But the following command should do.
/sbin/partprobe /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

/sbin/udevadm test /block/sdb/sdb1
/sbin/udevadm control --reload-rules
/sbin/start_udev
ls -al /dev/asm*

[root@ol6r01 ~]# ls -al /dev/asm*
brw-rw---- 1 oracle dba 8, 17 May 21 17:22 /dev/asm-disk1
brw-rw---- 1 oracle dba 8, 33 May 21 17:22 /dev/asm-disk2
brw-rw---- 1 oracle dba 8, 49 May 21 17:22 /dev/asm-disk3
brw-rw---- 1 oracle dba 8, 65 May 21 17:22 /dev/asm-disk4

DNC Server configuration

Point to the DualServer IP (see “DualServer configuration”)
echo "search yuryffun.com" > /etc/resolv.conf
echo "nameserver 10.154.137.1" >> /etc/resolv.conf

Test

[root@ol6r01 ~]# dig scan-f1.yuryffun.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.0.2.el6_4.4 <<>> scan-f1.yuryffun.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57915
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;scan-f1.yuryffun.com.          IN      A

;; ANSWER SECTION:
scan-f1.yuryffun.com.   36000   IN      A       10.154.137.115
scan-f1.yuryffun.com.   36000   IN      A       10.154.137.116
scan-f1.yuryffun.com.   36000   IN      A       10.154.137.117

;; Query time: 5 msec
;; SERVER: 10.154.137.1#53(10.154.137.1)
;; WHEN: Wed Jun 26 14:25:47 2013
;; MSG SIZE  rcvd: 146

[root@ol6r01 ~]#

Change oracle OS user password

You will need this password later on during the grid infrastructure installation
passwd oracle

Create /u01/app directory

mkdir -p /u01/app
chown oracle:dba /u01/app

Clone the VM

init 0

Copy System HDD

OVB => File => Virtual Media Manager => F:\vbox\ol6-12c-rac_1\ol6-12c-rac1.vdi => Copy =>
Next => Next => => Next
F:\vbox\ol6-12c-rac_1\ol6-12c-rac2.vdi
=> Close

Create second node

Node

OVB => Machine => New =>
ol6-12c-rac2
Linux => Oracle 64bit =>
3072
Use an existing virtual hard drive file =>
F:\vbox\ol6-12c-rac_1\ol6-12c-rac2.vdi
Create

Network setup

OVB => ol6-12c-rac1 => Settings ... => Network =>
Adapter 1 => Host-only Adapter => Enable Network Adapter
Adapter 2 => Internal Network => Enable Network Adapter
Adapter 3 => NAT => Enable Network Adapter
OK

Add Shared devices

OVB => ol6-12c-rac2 => Settings ... => Storage => Controller SATA => Add Hard Disk => Chose existing disk => F:\vbox\ol6-12c-rac_1\asm1.vdi
Repeat F:\vbox\ol6-12c-rac_1\asm2.vdi
Repeat F:\vbox\ol6-12c-rac_1\asm3.vdi
Repeat F:\vbox\ol6-12c-rac_1\asm4.vdi


Start second node

OVB => ol6-12c-rac2 => Machine => Start

Adjust network setup

NOTE: from OVB VM console
vi /etc/sysconfig/network
HOSTNAME=ol6r02.yuryffun.com


ifconfig -a | grep eth

Note HWaddr -es

vi /etc/sysconfig/network-scripts/ifcfg-eth0
HWADDR=08:00:27:34:6C:04
IPADDR=10.154.137.102
# Delete => UUID entry
vi /etc/sysconfig/network-scripts/ifcfg-eth1
HWADDR=08:00:27:77:1A:03
IPADDR=10.154.138.102
# Delete => UUID entry
vi /etc/sysconfig/network-scripts/ifcfg-eth2
HWADDR=08:00:27:8B:7D:8B
# Delete => UUID entry
reboot

Start first node

OVB => ol6-12c-rac1 => Machine => Start
putty root@10.154.137.101
putty root@10.154.137.102

Test network from both nodes
ping -c 3 ol6r02
ping -c 3 ol6r02-priv
ping -c 3 ol6r01
ping -c 3 ol6r01-priv
Check UDEV devices from both nodes
ls -al /dev/asm*

[root@ol6r01 ~]# ls -al /dev/asm*
brw-rw---- 1 oracle dba 8, 17 May 21 21:27 /dev/asm-disk1
brw-rw---- 1 oracle dba 8, 33 May 21 21:27 /dev/asm-disk2
brw-rw---- 1 oracle dba 8, 49 May 21 21:27 /dev/asm-disk3
brw-rw---- 1 oracle dba 8, 65 May 21 21:27 /dev/asm-disk4

Create a backup of both nodes

Stop both nodes
init 0
OVB => ol6-12c-rac1 => snapshots => Take Snapshot => “OS ready 1”
OVB => ol6-12c-rac2 => snapshots => Take Snapshot => “OS ready 1”



Installing Oracle software

Installing Grid Infrastructure

Configure VBOX shred folder

NOTE: C:\Downloads\12c - folder with Oracle installation files (archives)

OVB => ol6-12c-rac1 => Settings ... => Shared Folder => Add Shared Folder => Folder Path => C:\Downloads\12c
=> Folder Name => 12c => Auto-mount => Ok => Ok

OVB => ol6-12c-rac2 => Settings ... => Shared Folder => Add Shared Folder => Folder Path => C:\Downloads\12c
=> Folder Name => 12c => Auto-mount => Ok => Ok


OVB => ol6-12c-rac1 => Machine => Start
OVB => ol6-12c-rac2 => Machine => Start
NOTE: The download folder is mounted automagically to /media/sf_12c/
putty root@10.154.137.101
cd /media/sf_12c/
time unzip -o V38500-01_1of2.zip; time unzip -o V38500-01_2of2.zip; time unzip -o V38501-01_1of2.zip; time unzip -o V38501-01_2of2.zip; date
real    1m43.338s
real    1m26.440s
real    3m6.112s
real    0m12.735s

rpm -Uvh /media/sf_12c/grid/rpm/cvuqdisk*.rpm
putty root@10.154.137.102
rpm -Uvh /u01/sw/rac_inst/grid/rpm/cvuqdisk*

Check DNS setup

From both hosts
REF: “DNC Server configuration
[root@ol6r01 sf_12c]# nslookup scan-f1.yuryffun.com
Server:         10.154.137.1
Address:        10.154.137.1#53

Non-authoritative answer:
Name:   scan-f1.yuryffun.com
Address: 10.154.137.115
Name:   scan-f1.yuryffun.com
Address: 10.154.137.116
Name:   scan-f1.yuryffun.com
Address: 10.154.137.117

[root@ol6r01 sf_12c]#

Start VNC and Install Grid

NOTE: You may want to make another snapshot at this stage “OS ready 3”
putty root@10.154.137.101
putty root@10.154.137.102
# both nodes
usermod -G oinstall,vboxsf oracle
# node 1
su - oracle
vncserver :1
export DISPLAY=:1

/media/sf_12c/grid/runInstaller

vncviewer => 10.154.137.101:1

Install GUI






ol6r02
ol6r02-vip


Setup



scan-f1.yuryffun.com



Next





oracle1



/dev/asm*










~/12crac_r01.rsp






putty oracle@10.154.137.101
ORAENV_ASK=NO; ORACLE_SID=+ASM1; . oraenv
[oracle@ol6r01 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
               ONLINE  ONLINE       ol6r01                   STABLE
               ONLINE  ONLINE       ol6r02                   STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       ol6r01                   STABLE
               ONLINE  ONLINE       ol6r02                   STABLE
ora.asm
               ONLINE  ONLINE       ol6r01                   Started,STABLE
               ONLINE  ONLINE       ol6r02                   Started,STABLE
ora.net1.network
               ONLINE  ONLINE       ol6r01                   STABLE
               ONLINE  ONLINE       ol6r02                   STABLE
ora.ons
               ONLINE  ONLINE       ol6r01                   STABLE
               ONLINE  ONLINE       ol6r02                   STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       ol6r02                   STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       ol6r01                   STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       ol6r01                   STABLE
ora.cvu
      1        ONLINE  ONLINE       ol6r01                   STABLE
ora.oc4j
      1        OFFLINE OFFLINE                               STABLE
ora.ol6r01.vip
      1        ONLINE  ONLINE       ol6r01                   STABLE
ora.ol6r02.vip
      1        ONLINE  ONLINE       ol6r02                   STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       ol6r02                   STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       ol6r01                   STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       ol6r01                   STABLE
--------------------------------------------------------------------------------
[oracle@ol6r01 ~]$

Installing Oracle DB Software

putty oracle@10.154.137.101
export DISPLAY=:1
/media/sf_12c/database/runInstaller
vncviewer => 10.154.137.101:1


Untick















[root@ol6r01 sf_12c]# /u01/app/oracle/product/12.1.0/dbhome_1/root.sh
Performing root user operation for Oracle 12c

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/12.1.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.

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.
[root@ol6r01 sf_12c]#


[root@ol6r02 sf_12c]# /u01/app/oracle/product/12.1.0/dbhome_1/root.sh
Performing root user operation for Oracle 12c

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/12.1.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.

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.
[root@ol6r02 sf_12c]#



Creating Database

putty oracle@10.154.137.101
export DISPLAY=:1
/u01/app/oracle/product/12.1.0/dbhome_1/bin/dbca
vncviewer => 10.154.137.101:1


CAT.yuryffun.com
PAT










Connecting to the database

putty oracle@10.154.137.101
echo "CAT1:/u01/app/oracle/product/12.1.0/dbhome_1:N:" >> /etc/oratab
ORAENV_ASK=NO; ORACLE_SID=CAT1; . oraenv
sqlplus / as sysdba
[oracle@ol6r01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.1.0 Production on Fri Jun 28 02:11:02 2013

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Advanced Analytics and Real Application Testing options

SQL> select banner from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
PL/SQL Release 12.1.0.1.0 - Production
CORE    12.1.0.1.0      Production
TNS for Linux: Version 12.1.0.1.0 - Production
NLSRTL Version 12.1.0.1.0 - Production

SQL> select INSTANCE_NAME, HOST_NAME from gv$instance;

INSTANCE_NAME    HOST_NAME
---------------- ----------------------------------------------------------------
CAT1             ol6r01.yuryffun.com
CAT2             ol6r02.yuryffun.com

SQL>

Enjoy and don’t forget to let me know how did it go :)

Twitter: @yvelik (feel free to let me know if this guide worked for you)
FaceBook: yury.velikanov
LinkedIn: yuryvelikanov
SlideShow: yvelikanov
Blog: Pythian
Enough is enough :)

Appendixes

DualServer configuration (do before installing oracle)

[SERVICES]
DNS
;DHCP
...
[LISTEN_ON]
10.154.137.1
# 127.0.0.1
...
[DNS_ALLOWED_HOSTS]
1.0.0.1-255.255.255.254
...
[DOMAIN_NAME]
...
yuryffun.com
...
[DNS_HOSTS]
...
testYoYo=10.1.1.23
scan-f1=10.154.137.115
scan-f1=10.154.137.116
scan-f1= 10.154.137.117
ol6r01= 10.154.137.111
ol6r01.yuryffun.com= 10.154.137.111
ol6r02= 10.154.137.112
ol6r02.yuryffun.com= 10.154.137.112
ol6r01-vip= 10.154.137.113
ol6r01-vip.yuryffun.com= 10.154.137.113
ol6r02-vip= 10.154.137.114
ol6r02-vip.yuryffun.com= 10.154.137.114

Windows Local Firewall setup (do before installing oracle)

Windows => Search Program => Firewall => (Right click, Run as Administrator)



C:\prog\DualServer\DualServer\DualServer.exe

Next => Next

RAC12c_DNS

Optionally you can add Protocol/Port and Scope (see below)
53
10.154.137.1
10.154.137.0/24

Test setup

From your workstation
cmd
C:\Users\velikanov>nslookup
Default Server:  home.gateway.home.gateway
Address:  192.168.1.254

> server 10.154.137.1
Default Server:  [10.154.137.1]
Address:  10.154.137.1

> scan-f1.yuryffun.com
Server:  [10.154.137.1]
Address:  10.154.137.1

Non-authoritative answer:
Name:    scan-f1.yuryffun.com
Addresses:  10.154.137.115
          10.154.137.116
          10.154.137.117

Cleaning up asm devices

Just in case you would like to repeat unsuccessful install you may want to clean ASM devices as Oracle will not allow you to use existing devices.
dd if=/dev/zero bs=8k count=1280 of=/dev/asm-disk1
dd if=/dev/zero bs=8k count=1280 of=/dev/asm-disk2
dd if=/dev/zero bs=8k count=1280 of=/dev/asm-disk3
dd if=/dev/zero bs=8k count=1280 of=/dev/asm-disk4