Wednesday Aug 07, 2013

Oracle VM templates for Database 12c 12.1.0.1.0 both single instance and rac

Today we made available a few new Oracle VM templates on edelivery. A set of VM templates for database 12c and another set for database 11g 11.2.0.3.7.

You can find more information on the otn pages here.

A very important new feature added is the ability to deploy single instance database. In the past the database templates were focused on RAC deployments (Real Application Cluster) but because of popular demand, we also added support for Single Instance. With Single Instance you can really create a new VM with the database up and running in a matter of a few (very few) minutes, and with a very simple config file.

Example config file for single instance :

$ cat netconfig.ini 
NODE1=dbsingle1
NODE1IP=192.168.1.72
PUBADAP=eth0
PUBMASK=255.255.255.0
PUBGW=192.168.1.1
DOMAINNAME=wimmekes.net  # May be blank
DNSIP=8.8.8.8  # Starting from 2013 Templates allows multi value
CLONE_SINGLEINSTANCE=yes  # Setup Single Instance

That's literally it. You don't need to do anything other than run a few Oracle VM CLI or UI commands and run deploycluster and you're all set. After a few minutes, the VM will be pingable and you can run sqlplus against the database running inside the VM.

If you use the CLI, here is a sample workflow :

  • import the template
  • - importtemplate repository name=[reponame] url=[http://myurl/template.tbz] server=[servername]
  • create vm from template
  • - clone vm name=[templatename] destType=Vm destName=[vmname] serverpool=[serverpoolname]
  • Create new vnic
  • - create vnic name=[macaddress] network=[network] (list network, will show you the various networks)
  • remove old vnics (you could rename one or alter one but to simplify I just remove the old vnics of the cloned vm and add the newly created
  • - remove vnic name=[macaddr] from vm name=[vmname]
    - show vm name=[vmname] to see the attached vnics

    And that's it, now you can use that netconfig.ini example, edit it for your environment and run deploycluster:

    On top of single instance, the templates also expose or give you the ability to easily configure and enable many of the new rdbms 12c functionality :

    - Oracle Flex Cluster and/or Flex ASM, Hub/Leaf nodes
    - Container Database with x number of pluggable databases
    - Database Express
    - ACFS filesystem
    - Oracle Restart (single instance database with HA)
    - local or shared filesystem installs, including OCFS2 and ACFS
    - Admin Managed or Policy managed database creation with serverpools
    - OS kernel updated to the latest uek 2 version 2.6.39-400

    And all of the above are simple parameters in the config files. This can be 100% automated, 100% reproducible and you don't need to know how to configure them all yourself. As always, high quality work by Saar Maoz.

    Production ready, not trial, not using a random OS, all ready to go. Production-ready virtual appliances.

    Sunday Jun 03, 2012

    Oracle VM RAC template - what it took

    In my previous posting I introduced the latest Oracle Real Application Cluster / Oracle VM template. I mentioned how easy it is to deploy a complete Oracle RAC cluster with Oracle VM. In fact, you don't need any prior knowledge at all to get a complete production-ready setup going.

    Here is an example... I built a 4 node RAC cluster, completely configured in just over 40 minutes - starting from import template into Oracle VM, create VMs to fully up and running Oracle RAC. And what was needed? 1 textfile with some hostnames and ip addresses and deploycluster.py.

    The setup is a 4 node cluster where each VM has 8GB of RAM and 4 vCPUs. The shared ASM storage in this case is 100GB, 5 x 20GB volumes. The VM names are racovm.0-racovm.3. The deploycluster script starts the VMs, verifies the configuration and sends the database cluster configuration info through Oracle VM Manager to the 4 node VMs. Once the VMs are up and running, the first VM starts the actual Oracle RAC setup inside and talks to the 3 other VMs. I did not log into any VM until after everything was completed. In fact, I connected to the database remotely before logging in at all.

    # ./deploycluster.py -u admin -H localhost --vms racovm.0,racovm.1,racovm.2,racovm.3 --netconfig ./netconfig.ini

    Oracle RAC OneCommand (v1.1.0) for Oracle VM - deploy cluster - (c) 2011-2012 Oracle 
    Corporation (com: 26700:v1.1.0, lib: 126247:v1.1.0, var: 1100:v1.1.0) - v2.4.3 - wopr8.wimmekes.net
    (x86_64) Invoked as root at Sat Jun 2 17:31:29 2012 (size: 37500, mtime: Wed May 16 00:13:19 2012) Using: ./deploycluster.py -u admin -H localhost --vms racovm.0,racovm.1,racovm.2,racovm.3
    --netconfig ./netconfig.ini INFO: Login password to Oracle VM Manager not supplied on command line or environment
    (DEPLOYCLUSTER_MGR_PASSWORD), prompting... Password: INFO: Attempting to connect to Oracle VM Manager... INFO: Oracle VM Client (3.1.1.305) protocol (1.8) CONNECTED (tcp) to Oracle VM Manager (3.1.1.336) protocol (1.8) IP (192.168.1.40)
    UUID (0004fb0000010000cbce8a3181569a3e) INFO: Inspecting /root/rac/deploycluster/netconfig.ini for number of nodes defined... INFO: Detected 4 nodes in: /root/rac/deploycluster/netconfig.ini INFO: Located a total of (4) VMs; 4 VMs with a simple name of: ['racovm.0', 'racovm.1', 'racovm.2', 'racovm.3'] INFO: Verifying all (4) VMs are in Running state INFO: VM with a simple name of "racovm.0" is in a Stopped state, attempting to start it...
    OK. INFO: VM with a simple name of "racovm.1" is in a Stopped state, attempting to start it...
    OK. INFO: VM with a simple name of "racovm.2" is in a Stopped state, attempting to start it...
    OK. INFO: VM with a simple name of "racovm.3" is in a Stopped state, attempting to start it...
    OK. INFO: Detected that all (4) VMs specified on command have (5) common shared disks between
    them (ASM_MIN_DISKS=5) INFO: The (4) VMs passed basic sanity checks and in Running state, sending cluster details
    as follows: netconfig.ini (Network setup): /root/rac/deploycluster/netconfig.ini buildcluster: yes INFO: Starting to send cluster details to all (4) VM(s)....... INFO: Sending to VM with a simple name of "racovm.0".... INFO: Sending to VM with a simple name of "racovm.1"..... INFO: Sending to VM with a simple name of "racovm.2"..... INFO: Sending to VM with a simple name of "racovm.3"...... INFO: Cluster details sent to (4) VMs... Check log (default location /u01/racovm/buildcluster.log) on build VM (racovm.0)... INFO: deploycluster.py completed successfully at 17:32:02 in 33.2 seconds (00m:33s) Logfile at: /root/rac/deploycluster/deploycluster2.log
    my netconfig.ini
    # Node specific information
    NODE1=db11rac1
    NODE1VIP=db11rac1-vip
    NODE1PRIV=db11rac1-priv
    NODE1IP=192.168.1.56
    NODE1VIPIP=192.168.1.65
    NODE1PRIVIP=192.168.2.2
    NODE2=db11rac2
    NODE2VIP=db11rac2-vip
    NODE2PRIV=db11rac2-priv
    NODE2IP=192.168.1.58
    NODE2VIPIP=192.168.1.66
    NODE2PRIVIP=192.168.2.3
    NODE3=db11rac3
    NODE3VIP=db11rac3-vip
    NODE3PRIV=db11rac3-priv
    NODE3IP=192.168.1.173
    NODE3VIPIP=192.168.1.174
    NODE3PRIVIP=192.168.2.4
    NODE4=db11rac4
    NODE4VIP=db11rac4-vip
    NODE4PRIV=db11rac4-priv
    NODE4IP=192.168.1.175
    NODE4VIPIP=192.168.1.176
    NODE4PRIVIP=192.168.2.5
    # Common data
    PUBADAP=eth0
    PUBMASK=255.255.255.0
    PUBGW=192.168.1.1
    PRIVADAP=eth1
    PRIVMASK=255.255.255.0
    RACCLUSTERNAME=raccluster
    DOMAINNAME=wimmekes.net
    DNSIP=
    # Device used to transfer network information to second node
    # in interview mode
    NETCONFIG_DEV=/dev/xvdc
    # 11gR2 specific data
    SCANNAME=db11vip
    SCANIP=192.168.1.57
    

    last few lines of the in-VM log file :

    2012-06-02 14:01:40:[clusterstate:Time :db11rac1] Completed successfully in 2 seconds 
    (0h:00m:02s) 2012-06-02 14:01:40:[buildcluster:Done :db11rac1] Build 11gR2 RAC Cluster 2012-06-02 14:01:40:[buildcluster:Time :db11rac1] Completed successfully in 1779 seconds
    (0h:29m:39s)

    From start_vm to completely configured : 29m:39s. The other 10m was the import template and create 4 VMs from template along with the shared storage configuration.

    This consists of a complete Oracle 11gR2 RAC database with ASM, CRS and the RDBMS up and running on all 4 nodes. Simply connect and use. Production ready.

    Oracle on Oracle.

    Tuesday May 29, 2012

    New Oracles VM RAC template with support for oracle vm 3 built-in

    The RAC team did it again (thanks Saar!) - another awesome set of Oracle VM templates published and uploaded to My Oracle Support.

    You can find the main page here.

    What's special about the latest version of DeployCluster is that it integrates tightly with Oracle VM 3 manager. It basically is an Oracle VM frontend that helps start VMs, pass arguments down automatically and there is absolutely no need to log into the Oracle VM servers or the guests. Once it completes, you have an entire Oracle RAC database setup ready to go.

    Here's a short summary of the steps :

  • Set up an Oracle VM 3 server pool
  • Download the Oracle VM RAC template from oracle.com
  • Import the template into Oracle VM using Oracle VM Manager repository -> import
  • Create a public and private network in Oracle VM Manager in the network tab
  • Configure the template with the right public and private virtual networks
  • Create a set of shared disks (physical or virtual) to assign to the VMs you want to create (for ASM/at least 5)
  • Clone a set of VMs from the template (as many RAC nodes as you plan to configure)
  • With Oracle VM 3.1 you can clone with a number so one clone command for, say 8 VMs is easy.
  • Assign the shared devices/disks to the cloned VMs
  • Create a netconfig.ini file on your manager node or a client where you plan to run DeployCluster
  • This little text file just contains the IP addresses, hostnames etc for your cluster. It is a very simple small textfile.
  • Run deploycluster.py with the VM names as argument
  • Done.

    At this point, the tool will connect to Oracle VM Manager, start the VMs and configure each one,

  • Configure the OS (Oracle Linux)
  • Configure the disks with ASM
  • Configure the clusterware (CRS)
  • Configure ASM
  • Create database instances on each node.
  • Now you are ready to log in, and use your x node database cluster. x No need to download various products from various websites, click on trial licenses for the OS, go to a Virtual Machine store with sample and test versions only - this is production ready and supported.

    Software. Complete.

    example netconfig.ini :

    # Node specific information
    NODE1=racnode1
    NODE1VIP=racnode1-vip
    NODE1PRIV=racnode1-priv
    NODE1IP=192.168.1.2
    NODE1VIPIP=192.168.1.22
    NODE1PRIVIP=10.0.0.22
    NODE2=racnode2
    NODE2VIP=racnode2-vip
    NODE2PRIV=racnode2-priv
    NODE2IP=192.168.1.3
    NODE2VIPIP=192.168.1.23
    NODE2PRIVIP=10.0.0.23
    # Common data
    PUBADAP=eth0
    PUBMASK=255.255.255.0
    PUBGW=192.168.1.1
    PRIVADAP=eth1
    PRIVMASK=255.255.255.0
    RACCLUSTERNAME=raccluster
    DOMAINNAME=mydomain.com
    DNSIP=
    # Device used to transfer network information to second node
    # in interview mode
    NETCONFIG_DEV=/dev/xvdc
    # 11gR2 specific data
    SCANNAME=racnode12-scan
    SCANIP=192.168.1.50
    
    About

    Wim Coekaerts is the Senior Vice President of Linux and Virtualization Engineering for Oracle. He is responsible for Oracle's complete desktop to data center virtualization product line and the Oracle Linux support program.

    You can follow him on Twitter at @wimcoekaerts

    Search

    Categories
    Archives
    « April 2014
    SunMonTueWedThuFriSat
      
    1
    2
    3
    4
    5
    6
    7
    9
    10
    11
    12
    13
    14
    15
    16
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
       
           
    Today