Build an E-Business Suite 12.1.3 Sandbox In VirtualBox in One Hour

Nov 29, 2012 / By John Piwowar

Tags: , ,

Self-directed learning about a product as complex as Oracle E-Business Suite can be challenging. Oracle helpfully provides a pre-built environment (called ‘Vision’) for training purposes. Configuring a viable training or “sandbox” environment on a workstation can be pretty daunting, however, considering:

  1. The memory and storage resources required to run a “small” Vision instance
  2. The need to install and configure the OS and a list of pre-requisite patches and packages
  3. Learning about the installer itself, which is straightforward but can be a little quirky, especially without careful attention to item #2!
  4. Learning enough about basic EBS administration to turn the darn thing on and start playing

Over time, improved specs for workstations have made item #1 less of a problem. There is ample documentation to cover items 2-4, and several people (including yours truly) have written basic bootstrap guides to help people get up and running quickly. Then, Oracle went a step further and released Oracle VM templates for EBS (and updated them earlier this year), which eliminate the need for all of the fiddly stuff in steps 2-3, except for one small detail: They only run in Oracle VM Server, and maintaining an Oracle VM environment is a resource-intensive endeavor by itself.

This blog post aims to change all that. Are you ready to learn how to deploy the Oracle VM templates in Oracle VirtualBox so you can run them on your own workstation without the need to run Oracle VM Server? I hope you are, because let me tell you, I’ve done a lot of typing. Whew.

Oh, and that “One hour of work” line in the title is not a mere advertising gimmick! There are long steps at the beginning, but they’re mostly hands-free (downloading and converting the OVM templates, steps 1-3 below). After you’ve gone through that, you really can have a working EBS 12.1.3 Vision instance up and running in a little over an hour. Let’s begin…

Ingredients

You will need:

  1. At least 3.5 GB of free memory (2 GB for the database server, 1.5 for the application server). You may be O.K. to use 1.5 GB and 1 GB, respectively, but I have not done rigorous testing on usable lower limits. Bottom line: If you have 4 GB of RAM in your workstation, this may still work, but it will be a tight fit.
  2. A recent version of Oracle VirtualBox. Virtualbox installation instructions are beyond the scope of this post, but it’s a straightforward install.
  3. A lot of storage, for reasons that will become clear later. ~700GB. Fortunately, 1TB USB drives are pretty cheap these days, and you can reclaim some of the space when you’re done with this exercise.
  4. A Linux install ISO image (or physical CD, if you’re into that sort of thing). I used Oracle Enterprise Linux 5, Update 6, but any relatively recent OEL or RHEL install image should do the job here. [Update, 22-May-2013: A few readers have mentioned in the comments that they've had problems when attempting to use OEL6 ISOs for the rescue boot disk. Unless you have an appetite for additional hackery beyond the contents of this post, I strongly recommend using OEL5u6]
  5. An understanding of some basic Linux systems administration tasks.
  6. Familiarity with configuring storage and network options in Virtualbox.
  7. Familiarity with the EBS Rapid Clone (adcfgclone) utility, or willingness to blindly follow instructions and cross your fingers. :)
  8. Patience. There are large downloads involved, and then operations on some pretty big files.

Important notes

Nothing you’re about to read in this post is supported by anyone. Not me, not Pythian, and certainly not Oracle. If you’re thinking about using the techniques described here for any sort of production or QA deployment, please stop and question your sanity. Then call a few colleagues over to your desk and ask them to question your sanity.

Please be mindful of your licensing and support status for Oracle E-Business Suite when experimenting with your “sandbox” E-Business Suite instances. EBS is subject to a far more restrictive evaluation license than the more-familiar OTN development license.

Presumably, the basic method described in this post could be applied to convert other OVM templates. I haven’t tried this yet, but there is no EBS-specific magic here. For that matter, with a bit of adjustment, one should also be able to deploy these and other OVM templates under VMware workstation products.

As with many things you’ll find on the intertubes, this is not an original idea. I took my inspiration from the following blog posts, and am grateful to their authors for sharing:

Finally, you’ll note a Unix-y bias to my instructions. :) I’ve done my VirtualBox work on OS X, but all the principles are the same for Windows and Linux hosts. You’ll need to be able to concatenate and uncompress some files, have an ssh client to connect to your VMs, and use a command-line utility that comes with your VirtualBox install (VBoxManage). That’s about it from the host (workstation) side. The guests (VMs) are all Linux, of course. There’s no getting around that!

HOW-TO: The short version

Here are the basic steps, so you know what you’re in for. This may actually be enough to get some readers 95% of the way there, but there are a few tweaks required along the way. I advise checking the more detailed instructions below as well, particularly steps 6, 9, 11, and 14.

  1. Download the OVM EBS 12.1 Vision database and app tier templates from the Oracle Software Cloud thingy (formerly E-Delivery).
  2. Unzip all the zip files and unzip those contents as well.
  3. Convert the disk image files from the two VM templates to .vdi format.
  4. Boot the database server from the Linux ISO in rescue mode and install a non-Xen version of the Linux kernel.
  5. Reboot and configure the EBS database.
  6. Boot the application server from the Linux ISO in rescue mode and install a non-Xen version of the Linux kernel.
  7. Reboot and configure the EBS application server.
  8. Play on!

HOW-TO: The long version (with screenshots and everything!)

    1. Download the software:
      Connect to Oracle’s Software Delivery Cloud and download the files listed under Oracle VM Templates for Oracle E-Business Suite Release 12.1.3 Vision Media Pack for x86 (64 bit). You’ll need all 11 files (V25323-1.zip through V25333-01.zip). I also recommend clicking the “View Digest ” button near the top of the download page, and running md5sum on each of the downloaded zip files to make sure the checksums match that list.
    2. Extract the templates:
      Note: If you’re using Windows and don’t have a Unix-like shell environment like Cygwin available, you may have to translate some of these steps to their Windows-y equivalents. Since we’re just concatenating and uncompressing files, I will assume you can do that. :-)

      • Unzip all the files you just downloaded (unzip 'V25*.zip'). This will produce two sets of files: OVM_OL5U6_X86_64_EBIZ12.1.3_DB_VIS_PVM.tgz.[0-7] (database tier template) and OVM_OL5U6_X86_64_EBIZ12.1.3_APPS_VIS_PVM.tgz.[0-2] (apps tier template).
      • Concatenate and uncompress the two sets of files:
        zathras:OVM jpiwowar$ time cat /Volumes/Software/OVM1213Templ/OVM_OL5U6_X86_64_EBIZ12.1.3_DB_VIS_PVM.tgz.* | tar xvz
        x OVM_OL5U6_X86_64_EBIZ12.1.3_DB_VIS_PVM/
        x OVM_OL5U6_X86_64_EBIZ12.1.3_DB_VIS_PVM/ebs1211db.img
        x OVM_OL5U6_X86_64_EBIZ12.1.3_DB_VIS_PVM/System.img
        x OVM_OL5U6_X86_64_EBIZ12.1.3_DB_VIS_PVM/vm.cfg
        x OVM_OL5U6_X86_64_EBIZ12.1.3_DB_VIS_PVM/README.txt
        
        real	84m53.974s
        user	12m44.096s
        sys	5m13.680s
        zathras:OVM jpiwowar$ time cat /Volumes/Software/OVM1213Templ/OVM_OL5U6_X86_64_EBIZ12.1.3_APPS_VIS_PVM.tgz.* | tar xvz
        x OVM_OL5U6_X86_64_EBIZ12.1.3_APPS_VIS_PVM/
        x OVM_OL5U6_X86_64_EBIZ12.1.3_APPS_VIS_PVM/vm.cfg
        x OVM_OL5U6_X86_64_EBIZ12.1.3_APPS_VIS_PVM/ebs1211apps.img
        x OVM_OL5U6_X86_64_EBIZ12.1.3_APPS_VIS_PVM/README.txt
        x OVM_OL5U6_X86_64_EBIZ12.1.3_APPS_VIS_PVM/System.img
        
        real	16m11.327s
        user	2m42.887s
        sys	1m11.960s
      • When complete, you should have two directories:
        zathras:Valen jpiwowar$ ls -lh OVM_OL5U6_X86_64_EBIZ12.1.3_*
        OVM_OL5U6_X86_64_EBIZ12.1.3_APPS_VIS_PVM:
        total 105194496
        -rwxrwxrwx  1 jpiwowar  jpiwowar    20K Nov  4 19:44 README.txt
        -rwxrwxrwx  1 jpiwowar  jpiwowar   5.2G Nov  4 19:47 System.img
        -rwxrwxrwx  1 jpiwowar  jpiwowar    45G Nov  4 19:44 ebs1211apps.img
        -rwxrwxrwx  1 jpiwowar  jpiwowar   448B Nov  4 19:15 vm.cfg
        
        OVM_OL5U6_X86_64_EBIZ12.1.3_DB_VIS_PVM:
        total 514145024
        -rwxrwxrwx  1 jpiwowar  jpiwowar    20K Nov  4 22:28 README.txt
        -rwxrwxrwx  1 jpiwowar  jpiwowar   5.2G Nov 13 02:59 System.img
        -rwxrwxrwx  1 jpiwowar  jpiwowar   240G Nov  4 22:24 ebs1211db.img
        -rwxrwxrwx  1 jpiwowar  jpiwowar   434B Nov  4 22:28 vm.cfg

        Incidentally, the README files contain a few interesting tidbits about the environment you’re building. I recommend reviewing them while waiting for Step 3 to complete. :)

    3. Convert the disk images to .vdi format:
      Open a command/terminal window and use the VBoxManage utility to convert the raw disk images (.img) to vdi files. The utility is installed with VirtualBox. You may need to find the utility first and add it to your path (location varies by host platform). Timings listed in the examples below are provided to set expectations for how long you’ll need to wait for the conversion to complete. Note that I was doing this on a slow 5400rpm drive on my laptop; you may get better performance. To save yourself some confusion later when attaching the converted disks to your VMs, I strongly recommend changing the name of ‘System’ image files to something uniquely identifiable, as shown below. Note: I’m running VirtualBox on OS X, and the installer dropped VBoxManage into /usr/bin for me, so it’s already in my path. Presumably, you’ll find a similar situation in Linux. If you’re on Windows, and haven’t customized your install, you should be able to find VBoxManage.exe in Program Files/Oracle/VirtualBox.

      • zathras:OVM_OL5U6_X86_64_EBIZ12.1.3_APPS_VIS_PVM jpiwowar$ time VBoxManage convertfromraw /Volumes/Io/OVM/OVM_OL5U6_X86_64_EBIZ12.1.3_APPS_VIS_PVM/System.img EBS121AppRoot.vdi; time VBoxManage convertfromraw /Volumes/Io/OVM/OVM_OL5U6_X86_64_EBIZ12.1.3_APPS_VIS_PVM/ebs1211apps.img ebs1211apps.vdi
        Converting from raw image file="/Volumes/Io/OVM/OVM_OL5U6_X86_64_EBIZ12.1.3_APPS_VIS_PVM/System.img" to file="EBS121AppRoot.vdi"...
        Creating dynamic image with size 5535613440 bytes (5280MB)...
        
        real	3m39.852s
        user	0m1.814s
        sys	0m7.244s
        Converting from raw image file="/Volumes/Io/OVM/OVM_OL5U6_X86_64_EBIZ12.1.3_APPS_VIS_PVM/ebs1211apps.img" to file="ebs1211apps.vdi"...
        Creating dynamic image with size 48323520000 bytes (46085MB)...
        
        real	32m22.239s
        user	0m14.037s
        sys	1m22.806s
        
        zathras:OVM_OL5U6_X86_64_EBIZ12.1.3_DB_VIS_PVM jpiwowar$ time VBoxManage convertfromraw /Volumes/Io/OVM/OVM_OL5U6_X86_64_EBIZ12.1.3_DB_VIS_PVM/System.img EBS121DBRoot.vdi; time VBoxManage convertfromraw /Volumes/Io/OVM/OVM_OL5U6_X86_64_EBIZ12.1.3_DB_VIS_PVM/ebs1211db.img ebs1211db.img.vdi
        Converting from raw image file="/Volumes/Io/OVM/OVM_OL5U6_X86_64_EBIZ12.1.3_DB_VIS_PVM/System.img" to file="EBS121DBRoot.vdi"...
        Creating dynamic image with size 5535613440 bytes (5280MB)...
        
        real	3m54.990s
        user	0m1.561s
        sys	0m7.082s
        Converting from raw image file="/Volumes/Io/OVM/OVM_OL5U6_X86_64_EBIZ12.1.3_DB_VIS_PVM/ebs1211db.img" to file="ebs1211db.img.vdi"...
        Creating dynamic image with size 257706247680 bytes (245768MB)...
        
        real	193m12.402s
        user	1m10.258s
        sys	10m15.028s
      • Create two new Virtualbox VMs:
        You’ll need one VM for the apps server and one for the database server. I’m assuming you know how to create VMs in Virtualbox already, so I will not go into excruciating, screenshot-laden detail. Here are the requirements for each VM…

        • OS: Oracle Linux, 64-bit
        • CPUs: 1
        • Device boot order: CD-ROM, Hard Disk
        • Memory: 2GB for db server, 1GB for app server
        • Storage: Attach Linux installation ISO to CD/DVD drive on the IDE controller and attach the two vdi files to the SATA controller.
        • Network: Two network interfaces – 1 host-only (vboxnet0), and 1 NAT. I set this up to allow the VMs to communicate between themselves and get out to the Internet for patches and updates. If you have a preferred configuration for your VMs that also achieves these goals, please feel free to use that instead. :)

        The screenshots below illustrate the final configurations of the db and app servers:

    4. Boot the database server VM in rescue mode from the install CD: Enter “linux rescue” at the the boot: prompt to enter rescue mode:

      Select the keyboard and language preferences that suit you, and enable both network interfaces (For now, just select “use IPv4″ and “DHCP” when configuring eth0 and eth1, unless you have strong opinions. These settings are temporary.):

      (Repeat the steps above for the second interface, eth1.) After setting up the network interfaces, progress through the menus (“Continue” and “OK” in my case) until you get to a linux prompt, and switch to the root volume as instructed: # chroot /mnt/sysimage
      Optional step: Start the sshd service and connect to the VM from your host via ssh, instead of performing the next few steps from the console of the VM. Use ‘ifconfig eth0′ to find the IP address to use. (Note: As listed in the README in the template directory, the root password for both VMs is ‘ovsroot’.)
      # service sshd start

      • Update configuration files:
        The kernel modules that are loaded to support the Xen kernel are not going to work with the non-Xen kernel, so we need to update modprobe.conf to match our target kernel version:

        [root@localhost ~]# cp /etc/modprobe.conf /etc/modprobe.conf.xen
        [root@localhost ~]# cat /etc/modprobe.conf
        alias eth0 xennet
        alias scsi_hostadapter xenblk
        [root@localhost ~]# vi /etc/modprobe.conf
        "/etc/modprobe.conf" 3L, 78C written
        [root@localhost ~]# diff /etc/modprobe.conf /etc/modprobe.conf.xen
        1,3c1,2
        < alias eth0 e1000
        < alias scsi_hostadapter ata_piix
        < alias scsi_hostadapter1 ahci
        ---
        > alias eth0 xennet
        > alias scsi_hostadapter xenblk
        [root@localhost ~]# cat /etc/modprobe.conf
        alias eth0 e1000
        alias scsi_hostadapter ata_piix
        alias scsi_hostadapter1 ahci

        Update /etc/fstab to disable automatic fsck on /u01, or you’ll be sitting for a little while at boot time:

        [root@localhost ~]# vi /etc/fstab
        "/etc/fstab" 8L, 608C written
        [root@localhost ~]# grep /u01 /etc/fstab
        LABEL=ebs1211db         /u01                    ext3    defaults        1 0

        Finally, edit /etc/sysconfig/oraclevm-template to disable template configuration at boot time. Otherwise, you’ll have to run through all these steps on the console, no matter what else happens at boot time, and that’s annoying.

        [root@localhost ~]# vi /etc/sysconfig/oraclevm-template
        "/etc/sysconfig/oraclevm-template" 27L, 929C written
        [root@localhost ~]# grep RUN_ /etc/sysconfig/oraclevm-template
        #RUN_TEMPLATE_CONF=YES
        RUN_TEMPLATE_CONF=NO
      • Install a new kernel: (This isn’t as scary as it sounds… We’re not the late 90′s anymore!)Virtualbox can’t boot the Xen kernel that supports para-virtualized operation under OVM, so we need to replace it with a standard kernel of the same version. One way to do this is to install the correct kernel version from the install media. However, just in case you’re using media that isn’t the same as what’s installed in the OVM template (OEL5 update 6), we’ll use the Oracle public yum server instead. (That’s why we’ve configured and activated the NAT interface):
        [root@localhost etc]# cd /etc/yum.repos.d
        
        [root@localhost yum.repos.d]# wget http://public-yum.oracle.com/public-yum-el5.repo
        --2012-11-15 00:25:26--  http://public-yum.oracle.com/public-yum-el5.repo
        Resolving public-yum.oracle.com... 141.146.44.34
        Connecting to public-yum.oracle.com|141.146.44.34|:80... connected.
        HTTP request sent, awaiting response... 200 OK
        Length: 3974 (3.9K) 
        Saving to: `public-yum-el5.repo'
        
        100%[==========================================================================================> 3,974       --.-K/s   in 0s     
        
        2012-11-15 00:25:26 (316 MB/s) - `public-yum-el5.repo' saved [3974/3974]

        Update the public-yum-el5.repo file and set enabled=0 for every source except ol5_u6_base:

        [root@localhost yum.repos.d]# vi public-yum-el5.repo    
        "public-yum-el5.repo" 111L, 3974C written
        [root@localhost yum.repos.d]# grep -B5 'enabled=1' public-yum-el5.repo | grep ']'
        [ol5_u6_base]

        Install the OEL5 update 6 (2.6.18-238) kernel form the Oracle public yum server:

        [root@localhost yum.repos.d]# yum install kernel-2.6.18-238.el5
        ol5_u6_base                                                                                                  | 1.1 kB     00:00    
        ol5_u6_base/primary                                                                                          | 1.5 MB     00:02    
        ol5_u6_base                                                                                                               4551/4551
        Setting up Install Process
        Resolving Dependencies
        --> Running transaction check
        ---> Package kernel.x86_64 0:2.6.18-238.el5 set to be installed
        --> Finished Dependency Resolution
        
        Dependencies Resolved
        
        ====================================================================================================================================
         Package                     Arch                        Version                             Repository                        Size
        ====================================================================================================================================
        Installing:
         kernel                      x86_64                      2.6.18-238.el5                      ol5_u6_base                       19 M
        
        Transaction Summary
        ====================================================================================================================================
        Install       1 Package(s)
        Upgrade       0 Package(s)
        
        Total download size: 19 M
        Is this ok [y/N]: y
        Downloading Packages:
        kernel-2.6.18-238.el5.x86_64.rpm                                                                             |  19 MB     00:23    
        Running rpm_check_debug
        Running Transaction Test
        Finished Transaction Test
        Transaction Test Succeeded
        Running Transaction
          Installing     : kernel                                                                                                       1/1
        
        Installed:
          kernel.x86_64 0:2.6.18-238.el5                                                                                                   
        
        Complete!

        Create an initrd for the new kernel; this should also add a new stanza to grub.conf:

        [root@localhost yum.repos.d]# mkinitrd -v -f /boot/initrd-2.6.18-238.el5.img 2.6.18-238.el5
        Creating initramfs
        Looking for deps of module ehci-hcd
        Looking for deps of module ohci-hcd
        Looking for deps of module uhci-hcd
        Looking for deps of module ext3: jbd
        Looking for deps of module jbd
        Found root device sda2 for LABEL=/
        Looking for driver for device sda2
        Looking for deps of module pci:v00008086d00002829sv00000000sd00000000bc01sc06i01: scsi_mod libata ahci scsi_mod libata ahci
        Looking for deps of module scsi_mod
        Looking for deps of module sd_mod: scsi_mod
        Looking for deps of module libata: scsi_mod
        Looking for deps of module ahci: scsi_mod libata
        Looking for driver for device sda3
        Looking for deps of module pci:v00008086d00002829sv00000000sd00000000bc01sc06i01: scsi_mod libata ahci scsi_mod libata ahci
        Looking for deps of module ata_piix: scsi_mod libata
        Looking for deps of module ide-disk
        Looking for deps of module dm-mem-cache
        Looking for deps of module dm-region_hash: dm-mod dm-log
        Looking for deps of module dm-mod
        Looking for deps of module dm-log: dm-mod
        Looking for deps of module dm-message
        Looking for deps of module dm-raid45: dm-message dm-mod dm-mem-cache dm-log dm-region_hash
        Using modules:  /lib/modules/2.6.18-238.el5/kernel/drivers/usb/host/ehci-hcd.ko /lib/modules/2.6.18-238.el5/kernel/drivers/usb/host/ohci-hcd.ko /lib/modules/2.6.18-238.el5/kernel/drivers/usb/host/uhci-hcd.ko /lib/modules/2.6.18-238.el5/kernel/fs/jbd/jbd.ko /lib/modules/2.6.18-238.el5/kernel/fs/ext3/ext3.ko /lib/modules/2.6.18-238.el5/kernel/drivers/scsi/scsi_mod.ko /lib/modules/2.6.18-238.el5/kernel/drivers/scsi/sd_mod.ko /lib/modules/2.6.18-238.el5/kernel/drivers/ata/libata.ko /lib/modules/2.6.18-238.el5/kernel/drivers/ata/ahci.ko /lib/modules/2.6.18-238.el5/kernel/drivers/ata/ata_piix.ko /lib/modules/2.6.18-238.el5/kernel/drivers/md/dm-mem-cache.ko /lib/modules/2.6.18-238.el5/kernel/drivers/md/dm-mod.ko /lib/modules/2.6.18-238.el5/kernel/drivers/md/dm-log.ko /lib/modules/2.6.18-238.el5/kernel/drivers/md/dm-region_hash.ko /lib/modules/2.6.18-238.el5/kernel/drivers/md/dm-message.ko /lib/modules/2.6.18-238.el5/kernel/drivers/md/dm-raid45.ko
        /sbin/nash -> /tmp/initrd.TY1796/bin/nash
        /sbin/insmod.static -> /tmp/initrd.TY1796/bin/insmod
        /etc/udev/rules.d/05-udev-early.rules -> /tmp/initrd.TY1796/etc/udev/rules.d/05-udev-early.rules
        /sbin/firmware_helper.static -> /tmp/initrd.TY1796/sbin/firmware_helper
        /sbin/udevd.static -> /tmp/initrd.TY1796/sbin/udevd
        copy from `/lib/modules/2.6.18-238.el5/kernel/drivers/usb/host/ehci-hcd.ko' [elf64-x86-64] to `/tmp/initrd.TY1796/lib/ehci-hcd.ko' [elf64-x86-64]
        copy from `/lib/modules/2.6.18-238.el5/kernel/drivers/usb/host/ohci-hcd.ko' [elf64-x86-64] to `/tmp/initrd.TY1796/lib/ohci-hcd.ko' [elf64-x86-64]
        copy from `/lib/modules/2.6.18-238.el5/kernel/drivers/usb/host/uhci-hcd.ko' [elf64-x86-64] to `/tmp/initrd.TY1796/lib/uhci-hcd.ko' [elf64-x86-64]
        copy from `/lib/modules/2.6.18-238.el5/kernel/fs/jbd/jbd.ko' [elf64-x86-64] to `/tmp/initrd.TY1796/lib/jbd.ko' [elf64-x86-64]
        copy from `/lib/modules/2.6.18-238.el5/kernel/fs/ext3/ext3.ko' [elf64-x86-64] to `/tmp/initrd.TY1796/lib/ext3.ko' [elf64-x86-64]
        copy from `/lib/modules/2.6.18-238.el5/kernel/drivers/scsi/scsi_mod.ko' [elf64-x86-64] to `/tmp/initrd.TY1796/lib/scsi_mod.ko' [elf64-x86-64]
        copy from `/lib/modules/2.6.18-238.el5/kernel/drivers/scsi/sd_mod.ko' [elf64-x86-64] to `/tmp/initrd.TY1796/lib/sd_mod.ko' [elf64-x86-64]
        copy from `/lib/modules/2.6.18-238.el5/kernel/drivers/ata/libata.ko' [elf64-x86-64] to `/tmp/initrd.TY1796/lib/libata.ko' [elf64-x86-64]
        copy from `/lib/modules/2.6.18-238.el5/kernel/drivers/ata/ahci.ko' [elf64-x86-64] to `/tmp/initrd.TY1796/lib/ahci.ko' [elf64-x86-64]
        copy from `/lib/modules/2.6.18-238.el5/kernel/drivers/ata/ata_piix.ko' [elf64-x86-64] to `/tmp/initrd.TY1796/lib/ata_piix.ko' [elf64-x86-64]
        copy from `/lib/modules/2.6.18-238.el5/kernel/drivers/md/dm-mem-cache.ko' [elf64-x86-64] to `/tmp/initrd.TY1796/lib/dm-mem-cache.ko' [elf64-x86-64]
        copy from `/lib/modules/2.6.18-238.el5/kernel/drivers/md/dm-mod.ko' [elf64-x86-64] to `/tmp/initrd.TY1796/lib/dm-mod.ko' [elf64-x86-64]
        copy from `/lib/modules/2.6.18-238.el5/kernel/drivers/md/dm-log.ko' [elf64-x86-64] to `/tmp/initrd.TY1796/lib/dm-log.ko' [elf64-x86-64]
        copy from `/lib/modules/2.6.18-238.el5/kernel/drivers/md/dm-region_hash.ko' [elf64-x86-64] to `/tmp/initrd.TY1796/lib/dm-region_hash.ko' [elf64-x86-64]
        copy from `/lib/modules/2.6.18-238.el5/kernel/drivers/md/dm-message.ko' [elf64-x86-64] to `/tmp/initrd.TY1796/lib/dm-message.ko' [elf64-x86-64]
        copy from `/lib/modules/2.6.18-238.el5/kernel/drivers/md/dm-raid45.ko' [elf64-x86-64] to `/tmp/initrd.TY1796/lib/dm-raid45.ko' [elf64-x86-64]
        /sbin/dmraid.static -> /tmp/initrd.TY1796/bin/dmraid
        /sbin/kpartx.static -> /tmp/initrd.TY1796/bin/kpartx
        Adding module ehci-hcd
        Adding module ohci-hcd
        Adding module uhci-hcd
        Adding module jbd
        Adding module ext3
        Adding module scsi_mod
        Adding module sd_mod
        Adding module libata
        Adding module ahci
        Adding module ata_piix
        Adding module dm-mem-cache
        Adding module dm-mod
        Adding module dm-log
        Adding module dm-region_hash
        Adding module dm-message
        Adding module dm-raid45
        
        [root@localhost yum.repos.d]# cat /boot/grub/grub.conf
        # grub.conf generated by anaconda
        #
        # Note that you do not have to rerun grub after making changes to this file
        # NOTICE:  You have a /boot partition.  This means that
        #          all kernel and initrd paths are relative to /boot/, eg.
        #          root (hd0,0)
        #          kernel /vmlinuz-version ro root=/dev/xvda2
        #          initrd /initrd-version.img
        #boot=/dev/xvda
        timeout=5
        splashimage=(hd0,0)/grub/splash.xpm.gz
        hiddenmenu
        default=0
        title Oracle Linux Server (2.6.18-238.el5)
             root (hd0,0)
             kernel /vmlinuz-2.6.18-238.el5 ro root=LABEL=/ numa=off
             initrd /initrd-2.6.18-238.el5.img
        title Oracle Linux Server (2.6.18-238.0.0.0.1.el5xen)
             root (hd0,0)
             kernel /vmlinuz-2.6.18-238.0.0.0.1.el5xen ro root=LABEL=/ numa=off
             initrd /initrd-2.6.18-238.0.0.0.1.el5xen.img
        title Oracle Linux Server (2.6.32-100.26.2.el5)
             root (hd0,0)
             kernel /vmlinuz-2.6.32-100.26.2.el5 ro root=LABEL=/ numa=off
             initrd /initrd-2.6.32-100.26.2.el5.img
        title Enterprise Linux Enterprise Linux Server (2.6.32-100.0.19.el5)
             root (hd0,0)
             kernel /vmlinuz-2.6.32-100.0.19.el5 ro root=LABEL=/ numa=off
             initrd /initrd-2.6.32-100.0.19.el5.img
        title Enterprise Linux Enterprise Linux Server (2.6.18-128.0.0.0.2.el5xen)
             root (hd0,0)
             kernel /vmlinuz-2.6.18-128.0.0.0.2.el5xen ro root=LABEL=/ numa=off
             initrd /initrd-2.6.18-128.0.0.0.2.el5xen.img

        Side note: Astute readers will notice (by inspection of grub.conf or by running rpm -q) that there are a number of other kernels already installed in this VM, including some “vanilla” OEL6/UEK kernels and an earlier OEL5 Xen kernel. I chose to stick with OEL 5.6 because it matches the version of the template’s Xen kernel, and therefore best fits the most recent configuration of the VM. Besides, at the time of writing this, there are still some components of E-Business Suite that are not yet supported under OEL6/RHEL6 (see “Unsupported Products” in My Oracle Support Note 761566.1).

        [root@localhost ~]# rpm -qa | grep kernel
        kernel-uek-headers-2.6.32-100.26.2.el5
        kernel-xen-2.6.18-128.0.0.0.2.el5
        kernel-2.6.32-100.0.19.el5
        kernel-xen-2.6.18-238.0.0.0.1.el5
        kernel-firmware-2.6.32-100.0.19.el5
        kernel-uek-firmware-2.6.32-100.26.2.el5
        kernel-uek-2.6.32-100.26.2.el5
    5. Reboot and prepare for next steps:
      • Detach the boot ISO from the CD drive of the database server VM. (Devices menu -> Remove disk from virtual drive)
      • Reboot the database server VM.
      • Connect as the root user. (The password, as listed in the template README file, is ‘ovsroot’.)
        • Configure the Vision database tier:
          Oracle provides a helpful script that, when run as root, will configure your network interfaces and the E-Business Suite Vision database tier. It should need to be run only once. First, we need to re-enable the script before we invoke it, by setting RUN_TEMPLATE_CONF=YES in /etc/sysconfig/oraclevm-template:
      [root@localhost ~]# vi /etc/sysconfig/oraclevm-template
      "/etc/sysconfig/oraclevm-template" 26L, 907C written
      [root@localhost ~]# grep RUN_ /etc/sysconfig/oraclevm-template
      RUN_TEMPLATE_CONF=YES

      Now start the config script. The first part will help you configure networking. For my setup of the first network interface (eth0), I chose an IP address that was unused in the range supported by my host-only network, and was also not part of the range of DHCP addresses for the host-only network. Pick anything you like for the hostname, as long as it follows the three-part ‘host.domain.com’ scheme required by the configuration script. The sometimes-popular host.localdomain format won’t work in this case. For DNS server, choose one that will work for you. I like Google’s; it’s easy to remember. :) Note that the script also picked my NAT interface to use as a gateway. This didn’t cause me any problems so far, so I’m living with it. Warning: This script stops and restarts network interfaces! To minimize risk of failure, run these steps from the console of your VM. If you choose to connect to the VM via ssh, I recommend using ‘screen’ before running the oraclevm-template script, to insulate yourself from dropped network connections.

      [root@localhost ~]# /etc/init.d/oraclevm-template start
      Starting oraclevm-template...
      Regenerating SSH host keys.
      Stopping sshd:                                             [  OK  ]
      Generating SSH1 RSA host key:                              [  OK  ]
      Generating SSH2 RSA host key:                              [  OK  ]
      Generating SSH2 DSA host key:                              [  OK  ]
      Starting sshd:                                             [  OK  ]
      Setting Oracle validated configuration parameters.
      Configuring Oracle E-Business Suite...
      
      Configuring network interface.
        Network device: eth0
        Hardware address: 08:00:27:5A:17:F4
      
      Enter static IP address: 192.168.56.42
      Enter netmask: [255.255.255.0] <ENTER to take default&gt
      Enter gateway: 192.168.56.1
      Enter DNS server: 8.8.8.8
      
      Shutting down interface eth0:                              [  OK  ]
      Shutting down interface eth1:                              [  OK  ]
      Shutting down loopback interface:                          [  OK  ]
      
      Configuring network settings.
        IP configuration: Static IP address
      
      Bringing up loopback interface:                            [  OK  ]
      Bringing up interface eth0:                                [  OK  ]
      Bringing up interface eth1: 
      Determining IP information for eth1... done.
                                                                 [  OK  ]
      
      Enter hostname (e.g, host.domain.com): gkar.local.org
      
      Network configuration changed successfully.
        IP configuration: Static IP address
        IP address:       192.168.56.42
        Netmask:          255.255.255.0
        Gateway:          10.0.3.2
        DNS server:       8.8.8.8
        Hostname:         gkar.local.org

      Once the network is set up, the script invokes the Rapid Clone utility to set up the EBS database tier. You can get valid values from the README file that came with the template or follow the example below.

                           Copyright (c) 2002 Oracle Corporation
                              Redwood Shores, California, USA
      
                              Oracle Applications Rapid Clone
      
                                       Version 12.0.0
      
                            adcfgclone Version 120.31.12010000.8
      
      Enter the APPS password : apps
      
      Running:
      /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/bin/../jre/bin/java -Xmx600M -cp /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/jlib/java:/u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/jlib/xmlparserv2.jar:/u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/jlib/ojdbc5.jar oracle.apps.ad.context.CloneContext -e /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/bin/../context/db/CTXORIG.xml -validate -pairsfile /tmp/adpairsfile_7558.lst -stage /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone  2> /tmp/adcfgclone_7558.err; echo $? > /tmp/adcfgclone_7558.res
      
      Log file located at /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/bin/CloneContext_1115072133.log
      
      Provide the values required for creation of the new Database Context file.
      
      Target System Hostname (virtual or normal) [gkar] : <ENTER to take default>
      
      Target Instance is RAC (y/n) [n] : <ENTER to take default>
      
      Target System Database SID : VIS 
      
      Target System Base Directory : /u01/E-BIZ
      
      Target System utl_file_dir Directory List : /usr/tmp
      
      Number of DATA_TOP's on the Target System [1] : <ENTER to take default>
      
      Target System DATA_TOP Directory 1 [/u01/E-BIZ/db/apps_st/data] : <ENTER to take default>
      
      Target System RDBMS ORACLE_HOME Directory [/u01/E-BIZ/db/tech_st/11.1.0] : /u01/E-BIZ/db/tech_st/11.2.0.2
      
      Do you want to preserve the Display [atgtxk05:0.0] (y/n)  : n
      
      Target System Display [gkar:0.0] : <ENTER to take default>
      
      Do you want the the target system to have the same port values as the source system (y/n) [y] ? : n
      
      Target System Port Pool [0-99] : 42
      
      Checking the port pool 42
      done: Port Pool 42 is free
      Report file located at /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/temp/portpool.lst
      Complete port information available at /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/temp/portpool.lst
      
      Creating the new Database Context file from :
        /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/template/adxdbctx.tmp
      
      The new database context file has been created :
        /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/VIS_gkar.xml
      
      Log file located at /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/bin/CloneContext_1115072133.log
      Check Clone Context logfile /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/bin/CloneContext_1115072133.log for details.
      
      Running Rapid Clone with command:
      perl /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/bin/adclone.pl java=/u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/bin/../jre mode=apply stage=/u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone component=dbTier method=CUSTOM dbctxtg=/u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/VIS_gkar.xml showProgress contextValidated=true
      Running:
      perl /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/bin/adclone.pl java=/u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/bin/../jre mode=apply stage=/u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone component=dbTier method=CUSTOM dbctxtg=/u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/VIS_gkar.xml showProgress contextValidated=true
      APPS Password :
      
      Beginning database tier Apply - Thu Nov 15 07:24:40 2012
      
      /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/bin/../jre/bin/java -Xmx600M -DCONTEXT_VALIDATED=true  -Doracle.installer.oui_loc=/u01/E-BIZ/db/tech_st/11.2.0.2/oui -classpath /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/jlib/xmlparserv2.jar:/u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/jlib/ojdbc5.jar:/u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/jlib/java:/u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/jlib/oui/OraInstaller.jar:/u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/jlib/oui/ewt3.jar:/u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/jlib/oui/share.jar:/u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/jlib/oui/srvm.jar:/u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/jlib/ojmisc.jar   oracle.apps.ad.clone.ApplyDBTier -e /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/VIS_gkar.xml -stage /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone   -showProgress
      APPS Password : Log file located at /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/log/VIS_gkar/ApplyDBTier_11150724.log
             15% completed      
      
      Completed Apply...
      Thu Nov 15 07:43:22 2012
      
      Starting database listener for VIS:
      Running:
      /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/scripts/VIS_gkar/addlnctl.sh start VIS
      Logfile: /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/log/VIS_gkar/addlnctl.txt
      
      You are running addlnctl.sh version 120.1.12010000.4
      
      Starting listener process VIS ...
      
      Listener VIS has already been started.
      
      addlnctl.sh: exiting with status 0
      
      addlnctl.sh: check the logfile /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/log/VIS_gkar/addlnctl.txt for more information ... 
      
      Template configuration disabled.
                                                                 [  OK  ]
      [root@localhost ~]# ps -ef | grep pmon
      oracle   14565     1  0 07:36 ?        00:00:00 ora_pmon_VIS
      root     15375  2319  0 07:45 pts/0    00:00:00 grep pmon

      Okay, we’re done with the first part! Keep the database server running (not optional, required), and let’s move on to the apps tier!

    6. Boot the app server VM in rescue mode from the install CD:
      Start the application server VM in rescue mode (“linux rescue” at the boot: prompt). Follow the same steps as for the database server, including enabling the network interfaces, and chroot /mnt/sysimage. I’ll spare you the screenshots this time.
    7. Update configuration files:
      As with the database server, adjust /etc/modprobe.conf, /etc/fstab, and /etc/sysconfig/oraclevm-template:

      [root@localhost ~]# cat /etc/modprobe.conf
      alias eth0 e1000
      alias scsi_hostadapter ata_piix
      alias scsi_hostadapter1 ahci
      
      [root@localhost ~]# grep ebs1211apps /etc/fstab
      LABEL=ebs1211apps       /u01                    ext3    defaults        1 0
      
      [root@localhost ~]# grep RUN /etc/sysconfig/oraclevm-template
      #RUN_TEMPLATE_CONF=YES
      RUN_TEMPLATE_CONF=NO
      • Install a new kernel:
        Same idea as before, with a few exceptions: The app server VM doesn’t have a nameserver entry in resolv.conf, so we need to add it before we reach out the to the yum server. We do not, however, need to download the repository config file:

        [root@localhost ~]# cd /etc/yum.repos.d 
        [root@localhost yum.repos.d]# cat /etc/resolv.conf
        cat: /etc/resolv.conf: No such file or directory
        [root@localhost yum.repos.d]# echo "nameserver 8.8.8.8" > /etc/resolv.conf
        [root@localhost yum.repos.d]# cat /etc/resolv.conf
        nameserver 8.8.8.8
        [root@localhost yum.repos.d]# nslookup public-yum.oracle.com
        Server:          8.8.8.8
        Address:     8.8.8.8#53
        
        Non-authoritative answer:
        public-yum.oracle.com     canonical name = bigip-public-yum.oracle.com.
        Name:     bigip-public-yum.oracle.com
        Address: 141.146.44.34
        
        [root@localhost yum.repos.d]# ls -l public-yum-el5.repo
        -rw-r--r-- 1 root root 2308 Feb  1  2011 public-yum-el5.repo
        "public-yum-el5.repo" 69L, 2308C written
        [root@localhost yum.repos.d]# vi public-yum-el5.repo
        [root@localhost yum.repos.d]# grep -B5 'enabled=1' public-yum-el5.repo | grep ']'
        [ol5_u6_base]
        [root@localhost yum.repos.d]# yum install kernel-2.6.18-238.el5
        ol5_u6_base                                                                                                  | 1.1 kB     00:00    
        ol5_u6_base/primary                                                                                          | 1.5 MB     00:02    
        ol5_u6_base                                                                                                               4551/4551
        Setting up Install Process
        Resolving Dependencies
        --> Running transaction check
        ---> Package kernel.x86_64 0:2.6.18-238.el5 set to be installed
        --> Finished Dependency Resolution
        
        Dependencies Resolved
        
        ====================================================================================================================================
         Package                     Arch                        Version                             Repository                        Size
        ====================================================================================================================================
        Installing:
         kernel                      x86_64                      2.6.18-238.el5                      ol5_u6_base                       19 M
        
        Transaction Summary
        ====================================================================================================================================
        Install       1 Package(s)
        Upgrade       0 Package(s)
        
        Total download size: 19 M
        Is this ok [y/N]: y
        Downloading Packages:
        kernel-2.6.18-238.el5.x86_64.rpm                                                                             |  19 MB     00:23    
        Running rpm_check_debug
        Running Transaction Test
        Finished Transaction Test
        Transaction Test Succeeded
        Running Transaction
          Installing     : kernel                                                                                                       1/1
        
        Installed:
          kernel.x86_64 0:2.6.18-238.el5                                                                                                   
        
        Complete!
        
        [root@localhost yum.repos.d]# mkinitrd -v -f /boot/initrd-2.6.18-238.el5.img 2.6.18-238.el5
        [mkinitrd output snipped this time.  You're welcome]
        [root@localhost yum.repos.d]# head -15 /boot/grub/grub.conf
        # grub.conf generated by anaconda
        #
        # Note that you do not have to rerun grub after making changes to this file
        # NOTICE:  You have a /boot partition.  This means that
        #          all kernel and initrd paths are relative to /boot/, eg.
        #          root (hd0,0)
        #          kernel /vmlinuz-version ro root=/dev/xvda2
        #          initrd /initrd-version.img
        #boot=/dev/xvda
        timeout=5
        splashimage=(hd0,0)/grub/splash.xpm.gz
        hiddenmenu
        default=0
        title Oracle Linux Server (2.6.18-238.el5)
             root (hd0,0)
      • Reboot and prepare for next steps:
        • Detach the boot ISO from the CD drive of the app server VM (Devices menu -> Remove disk from virtual drive)
        • Reboot the app server VM.
        • Connect as the root user. (The password, as listed in the template README file, is ‘ovsroot’.)
      • Configure the Vision applications tier:
        There are some important differences here from the database server setup. Please read carefully. The first part, however, is the same: Re-enable and run the oraclevm-template script, setting up the same network options as before (different IP/hostname for the app server, of course). As with the database server, make sure to run the config script in the VM console or in a screen session to avoid network interruptions!

        [root@localhost ~]# grep RUN /etc/sysconfig/oraclevm-template
        RUN_TEMPLATE_CONF=YES
        
        [root@localhost ~]# /etc/init.d/oraclevm-template start
        Starting oraclevm-template...
        Regenerating SSH host keys.
        Stopping sshd:                                             [  OK  ]
        Generating SSH1 RSA host key:                              [  OK  ]
        Generating SSH2 RSA host key:                              [  OK  ]
        Generating SSH2 DSA host key:                              [  OK  ]
        Starting sshd:                                             [  OK  ]
        Setting Oracle validated configuration parameters.
        Configuring Oracle E-Business Suite...
        
        Configuring network interface.
          Network device: eth0
          Hardware address: 08:00:27:3D:41:3B
        
        Enter static IP address: 192.168.56.43
        Enter netmask: [255.255.255.0] <ENTER to take default>
        Enter gateway: 192.168.56.1
        Enter DNS server: 8.8.8.8
        
        Shutting down interface eth0:                              [  OK  ]
        Shutting down interface eth1:                              [  OK  ]
        Shutting down loopback interface:                          [  OK  ]
        
        Configuring network settings.
          IP configuration: Static IP address
        
        Bringing up loopback interface:                            [  OK  ]
        Bringing up interface eth0:                                [  OK  ]
        Bringing up interface eth1: 
        Determining IP information for eth1... done.
                                                                   [  OK  ]
        
        Enter hostname (e.g, host.domain.com): natoth.local.org
        
        Network configuration changed successfully.
          IP configuration: Static IP address
          IP address:       192.168.56.43
          Netmask:          255.255.255.0
          Gateway:          10.0.3.2
          DNS server:       8.8.8.8
          Hostname:         natoth.local.org

        ***IMPORTANT*** AFTER network configuration, but BEFORE proceeding with any Rapid Clone steps, start a second session (do NOT interrupt the template configuration script) to add the IP and hostname for your database server to /etc/hosts. Otherwise, Rapid Clone won’t be able to find the db server to complete its configuration. It’s not helpful to try to “cheat forward” and make the /etc/hosts adjustments before starting the template configuration script, because the script overwrites /etc/hosts. So:

        root@192.168.56.43's password: [you should be able to access the VM via the IP you specified earlier]
        Last login: Tue Nov 20 21:51:13 2012 from 192.168.56.1
        [root@natoth ~]# cat /etc/hosts
        127.0.0.1       localhost.localdomain   localhost
        ::1     localhost6.localdomain6 localhost6
        192.168.56.43     natoth.local.org natoth
        [root@natoth ~]# echo "192.168.56.42 gkar.local.org gkar" >> /etc/hosts
        [root@natoth ~]# cat /etc/hosts
        127.0.0.1       localhost.localdomain   localhost
        ::1     localhost6.localdomain6 localhost6
        192.168.56.43     natoth.local.org natoth
        192.168.56.42 gkar.local.org gkar
        [root@natoth ~]# ping gkar [confirm that app server can see the database server]
        PING gkar.local.org (192.168.56.42) 56(84) bytes of data.
        64 bytes from gkar.local.org (192.168.56.42): icmp_seq=1 ttl=64 time=1.94 ms
        64 bytes from gkar.local.org (192.168.56.42): icmp_seq=2 ttl=64 time=0.505 ms
        
        --- gkar.local.org ping statistics ---

        ***RESUME Rapid Clone run in the first session*** (It should be waiting for you to enter the APPS user password.)

      •                      Copyright (c) 2002 Oracle Corporation
                                Redwood Shores, California, USA
        
                                Oracle Applications Rapid Clone
        
                                         Version 12.0.0
        
                              adcfgclone Version 120.31.12010000.8
        
        Enter the APPS password : apps
        
        Running:
        /u01/E-BIZ/apps/apps_st/comn/clone/bin/../jre/bin/java -Xmx600M -cp /u01/E-BIZ/apps/apps_st/comn/clone/jlib/java:/u01/E-BIZ/apps/apps_st/comn/clone/jlib/xmlparserv2.jar:/u01/E-BIZ/apps/apps_st/comn/clone/jlib/ojdbc14.jar oracle.apps.ad.context.CloneContext -e /u01/E-BIZ/apps/apps_st/comn/clone/bin/../context/apps/CTXORIG.xml -validate -pairsfile /tmp/adpairsfile_21022.lst -stage /u01/E-BIZ/apps/apps_st/comn/clone  2> /tmp/adcfgclone_21022.err; echo $? > /tmp/adcfgclone_21022.res
        
        Log file located at /u01/E-BIZ/apps/apps_st/comn/clone/bin/CloneContext_1120230342.log
        
        Provide the values required for creation of the new APPL_TOP Context file.
        
        Target System Hostname (virtual or normal) [natoth] : <ENTER to take default>
        
        Target System Database SID : VIS
        
        Target System Database Server Node [natoth] : gkar
        
        Target System Database Domain Name [local.org] : <ENTER to take default>
        
        Target System Base Directory : /u01/E-BIZ
        
        Target System Tools ORACLE_HOME Directory [/u01/E-BIZ/apps/tech_st/10.1.2] : <ENTER to take default>
        
        Target System Web ORACLE_HOME Directory [/u01/E-BIZ/apps/tech_st/10.1.3] : <ENTER to take default>
        
        Target System APPL_TOP Directory [/u01/E-BIZ/apps/apps_st/appl] : <ENTER to take default>
        
        Target System COMMON_TOP Directory [/u01/E-BIZ/apps/apps_st/comn] : <ENTER to take default>
        
        Target System Instance Home Directory [/u01/E-BIZ/inst] : <ENTER to take default>
        
        Target System Root Service [enabled] : <ENTER to take default>
        
        Target System Web Entry Point Services [enabled] : <ENTER to take default>
        
        Target System Web Application Services [enabled] : <ENTER to take default>
        
        Target System Batch Processing Services [enabled] : <ENTER to take default>
        
        Target System Other Services [disabled] : <ENTER to take default>
        
        Do you want to preserve the Display [atgtxk-09:0.0] (y/n)  : n
        
        Target System Display [natoth:0.0] : <ENTER to take default>
        
        Do you want the the target system to have the same port values as the source system (y/n) [y] ? : n
        
        Target System Port Pool [0-99] : 42
        
        Checking the port pool 42
        done: Port Pool 42 is free
        Report file located at /u01/E-BIZ/inst/apps/VIS_natoth/temp/portpool.lst
        Complete port information available at /u01/E-BIZ/inst/apps/VIS_natoth/temp/portpool.lst
        
        UTL_FILE_DIR on database tier consists of the following directories.
        
        1. /usr/tmp
        2. /usr/tmp
        3. /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/outbound/VIS_gkar
        4. /usr/tmp
        Choose a value which will be set as APPLPTMP value on the target node [1] : 1
        
        Backing up /u01/E-BIZ/inst/apps/VIS_natoth/appl/admin/VIS_natoth.xml to /u01/E-BIZ/inst/apps/VIS_natoth/appl/admin/VIS_natoth.xml.bak
        
        Creating the new APPL_TOP Context file from :
          /u01/E-BIZ/apps/apps_st/appl/ad/12.0.0/admin/template/adxmlctx.tmp
        
        The new APPL_TOP context file has been created :
          /u01/E-BIZ/inst/apps/VIS_natoth/appl/admin/VIS_natoth.xml
        
        Log file located at /u01/E-BIZ/apps/apps_st/comn/clone/bin/CloneContext_1120230342.log
        Check Clone Context logfile /u01/E-BIZ/apps/apps_st/comn/clone/bin/CloneContext_1120230342.log for details.
        
        Running Rapid Clone with command:
        perl /u01/E-BIZ/apps/apps_st/comn/clone/bin/adclone.pl java=/u01/E-BIZ/apps/apps_st/comn/clone/bin/../jre mode=apply stage=/u01/E-BIZ/apps/apps_st/comn/clone component=appsTier method=CUSTOM appctxtg=/u01/E-BIZ/inst/apps/VIS_natoth/appl/admin/VIS_natoth.xml showProgress contextValidated=true
        Running:
        perl /u01/E-BIZ/apps/apps_st/comn/clone/bin/adclone.pl java=/u01/E-BIZ/apps/apps_st/comn/clone/bin/../jre mode=apply stage=/u01/E-BIZ/apps/apps_st/comn/clone component=appsTier method=CUSTOM appctxtg=/u01/E-BIZ/inst/apps/VIS_natoth/appl/admin/VIS_natoth.xml showProgress contextValidated=true
        APPS Password :
        
        Beginning application tier Apply - Tue Nov 20 23:04:58 2012
        
        /u01/E-BIZ/apps/apps_st/comn/clone/bin/../jre/bin/java -Xmx600M -DCONTEXT_VALIDATED=true  -Doracle.installer.oui_loc=/oui -classpath /u01/E-BIZ/apps/apps_st/comn/clone/jlib/xmlparserv2.jar:/u01/E-BIZ/apps/apps_st/comn/clone/jlib/ojdbc14.jar:/u01/E-BIZ/apps/apps_st/comn/clone/jlib/java:/u01/E-BIZ/apps/apps_st/comn/clone/jlib/oui/OraInstaller.jar:/u01/E-BIZ/apps/apps_st/comn/clone/jlib/oui/ewt3.jar:/u01/E-BIZ/apps/apps_st/comn/clone/jlib/oui/share.jar:/u01/E-BIZ/apps/apps_st/comn/clone/jlib/oui/srvm.jar:/u01/E-BIZ/apps/apps_st/comn/clone/jlib/ojmisc.jar  oracle.apps.ad.clone.ApplyAppsTier -e /u01/E-BIZ/inst/apps/VIS_natoth/appl/admin/VIS_natoth.xml -stage /u01/E-BIZ/apps/apps_st/comn/clone    -showProgress
        APPS Password : Log file located at /u01/E-BIZ/inst/apps/VIS_natoth/admin/log/ApplyAppsTier_11202304.log
               73% completed      
        
        Completed Apply...
        Tue Nov 20 23:13:40 2012
        
        Do you want to startup the Application Services for VIS? (y/n) [y] : y
        
        Starting application Services for VIS:
        Running:
        /u01/E-BIZ/inst/apps/VIS_natoth/admin/scripts/adstrtal.sh -nopromptmsg
        
        You are running adstrtal.sh version 120.15.12010000.3
        
        The logfile for this session is located at /u01/E-BIZ/inst/apps/VIS_natoth/logs/appl/admin/log/adstrtal.log
        Executing service control script:
        /u01/E-BIZ/inst/apps/VIS_natoth/admin/scripts/adopmnctl.sh start
        script returned:
        ****************************************************
        
        You are running adopmnctl.sh version 120.6.12010000.5
        
        Starting Oracle Process Manager (OPMN) ...
        opmnctl: opmn started.
        
        adopmnctl.sh: exiting with status 0
        
        adopmnctl.sh: check the logfile /u01/E-BIZ/inst/apps/VIS_natoth/logs/appl/admin/log/adopmnctl.txt for more information ...  
        
        .end std out.
        
        .end err out.
        
        ****************************************************
        
        Executing service control script:
        /u01/E-BIZ/inst/apps/VIS_natoth/admin/scripts/adalnctl.sh start
        script returned:
        ****************************************************
        
        adalnctl.sh version 120.3
        
        Checking for FNDFS executable.
        Starting listener process APPS_VIS.
        
        adalnctl.sh: exiting with status 0
        
        adalnctl.sh: check the logfile /u01/E-BIZ/inst/apps/VIS_natoth/logs/appl/admin/log/adalnctl.txt for more information ...  
        
        .end std out.
        
        .end err out.
        
        ****************************************************
        
        Executing service control script:
        /u01/E-BIZ/inst/apps/VIS_natoth/admin/scripts/adapcctl.sh start
        script returned:
        ****************************************************
        
        You are running adapcctl.sh version 120.7.12010000.2
        
        Starting OPMN managed Oracle HTTP Server (OHS) instance ...
        opmnctl: opmn is already running.
        opmnctl: starting opmn managed processes...
        
        adapcctl.sh: exiting with status 0
        
        adapcctl.sh: check the logfile /u01/E-BIZ/inst/apps/VIS_natoth/logs/appl/admin/log/adapcctl.txt for more information ...  
        
        .end std out.
        
        .end err out.
        
        ****************************************************
        
        Executing service control script:
        /u01/E-BIZ/inst/apps/VIS_natoth/admin/scripts/adoacorectl.sh start
        script returned:
        ****************************************************
        
        You are running adoacorectl.sh version 120.13
        
        Starting OPMN managed OACORE OC4J instance  ...
        
        adoacorectl.sh: exiting with status 0
        
        adoacorectl.sh: check the logfile /u01/E-BIZ/inst/apps/VIS_natoth/logs/appl/admin/log/adoacorectl.txt for more information ...  
        
        .end std out.
        
        .end err out.
        
        ****************************************************
        
        Executing service control script:
        /u01/E-BIZ/inst/apps/VIS_natoth/admin/scripts/adformsctl.sh start
        script returned:
        ****************************************************
        
        You are running adformsctl.sh  version 120.16.12010000.3
        
        Starting OPMN managed FORMS OC4J instance  ...
        Calling txkChkFormsDeployment.pl to check whether latest FORMSAPP.EAR is deployed...
        Program : /u01/E-BIZ/apps/apps_st/appl/fnd/12.0.0/patch/115/bin/txkChkFormsDeployment.pl started @ Thu Nov 29 07:20:21 2012
        
        *** Log File = /u01/E-BIZ/inst/apps/VIS_natoth/logs/appl/rgf/TXK/txkChkFormsDeployment_Thu_Nov_29_07_20_20_2012/txkChkFormsDeployment_Thu_Nov_29_07_20_20_2012.log 
        
        File "/u01/E-BIZ/apps/tech_st/10.1.3/j2ee/forms/applications/forms/formsweb/WEB-INF/lib/frmsrv.jar" exists. Proceeding to check the size...
        
        =============================================
        *** Latest formsapp.ear has been deployed ***
        =============================================
        
        Program : /u01/E-BIZ/apps/apps_st/appl/fnd/12.0.0/patch/115/bin/txkChkFormsDeployment.pl completed @ Thu Nov 29 07:20:21 2012
        
        Perl script txkChkFormsDeployment.pl got executed successfully
        
        adformsctl.sh: exiting with status 0
        
        adformsctl.sh: check the logfile /u01/E-BIZ/inst/apps/VIS_natoth/logs/appl/admin/log/adformsctl.txt for more information ...  
        
        .end std out.
        *** ALL THE FOLLOWING FILES ARE REQUIRED FOR RESOLVING RUNTIME ERRORS
        *** Log File = /u01/E-BIZ/inst/apps/VIS_natoth/logs/appl/rgf/TXK/txkChkFormsDeployment_Thu_Nov_29_07_20_20_2012/txkChkFormsDeployment_Thu_Nov_29_07_20_20_2012.log 
        
        .end err out.
        
        ****************************************************
        
        Executing service control script:
        /u01/E-BIZ/inst/apps/VIS_natoth/admin/scripts/adoafmctl.sh start
        script returned:
        ****************************************************
        
        You are running adoafmctl.sh version 120.8
        
        Starting OPMN managed OAFM OC4J instance  ...
        
        adoafmctl.sh: exiting with status 0
        
        adoafmctl.sh: check the logfile /u01/E-BIZ/inst/apps/VIS_natoth/logs/appl/admin/log/adoafmctl.txt for more information ...  
        
        .end std out.
        
        .end err out.
        
        ****************************************************
        
        Executing service control script:
        /u01/E-BIZ/inst/apps/VIS_natoth/admin/scripts/adcmctl.sh start
        script returned:
        ****************************************************
        
        You are running adcmctl.sh version 120.17.12010000.5
        
        Starting concurrent manager for VIS ...
        Starting VIS_1129@VIS Internal Concurrent Manager
        Default printer is noprint
        
        adcmctl.sh: exiting with status 0
        
        adcmctl.sh: check the logfile /u01/E-BIZ/inst/apps/VIS_natoth/logs/appl/admin/log/adcmctl.txt for more information ...  
        
        .end std out.
        
        .end err out.
        
        ****************************************************
        
        Executing service control script:
        /u01/E-BIZ/inst/apps/VIS_natoth/admin/scripts/jtffmctl.sh start
        script returned:
        ****************************************************
        
        You are running jtffmctl.sh version 120.3
        
        Validating Fulfillment patch level via /u01/E-BIZ/apps/apps_st/comn/java/classes
        Fulfillment patch level validated.
        Starting Fulfillment Server for VIS on port 9342 ...
        
        jtffmctl.sh: exiting with status 0
        
        .end std out.
        
        .end err out.
        
        ****************************************************
        
        All enabled services for this node are started.
        
        adstrtal.sh: Exiting with status 0
        
        adstrtal.sh: check the logfile /u01/E-BIZ/inst/apps/VIS_natoth/logs/appl/admin/log/adstrtal.log for more information ...  
        
        Template configuration disabled.

        [Apps DBAs with experience running Vision might be a bit worried about this last step because of the number of services that can be started by default. I found that the version delivered with the template is reasonably trim, with only a handful of concurrent managers configured. It could probably still be pared down, but the default config won't make your VM choke and fall over.]

        That’s it! Almost…

        A few more notes to get you on your way:

        1. Access the front-end of your shiny new E-Business Suite Release 12.1.3 instance at http://your_hostname:80nn, where nn is the value of the port pool that you chose during the Rapid Clone run (http://natoth.local.org:8042 in my example). The login to use is sysadmin, and the password is the same (but they’re pronounced differently).
        2. If you have JRE 7 installed on your workstation, you are going to have problems when launching the Oracle Forms interface, but the web interface (“Self Service”) should work without issues. If you’re interested in giving the Forms interface a whirl, you will need to roll back to JRE 6.
        3. To start and stop the apps the “quick and easy” way, you can use the scripts found in /u01 on each server: startapps.sh and stopapps.sh on the app server, and startdb.shs and stopdb.sh on the database server. These scripts need to be run as the software owner (Oracle, in both cases), not root!
        4. The oracle user accounts are configured to prompt you to change default passwords whenever you log in:
          **************************ATTENTION**************************************
          This is the first time you are logging in to the system as oracle user   
          Oracle recommends that you change the default password for the oracle user
          Would you like to change the password now (YES/NO)?
          *************************************************************************
          
          Enter YES or NO :

          It’s not a bad idea to change the passwords, of course. If you’re happy with the defaults, however, then just answer NO to all the prompts, and issue the command touch /home/oracle/.passchanged to avoid being prompted on subsequent logins.

        5. To make sure that your environment variables are set correctly when connecting to the apps and db servers as Oracle, add the following lines to the .bash_profile:
          App server:
          echo ". /u01/E-BIZ/apps/apps_st/appl/APPSVIS_`hostname -s`.env" >> ~/.bash_profile
          DB Server:
          echo ". /u01/E-BIZ/db/tech_st/11.2.0.2/VIS_`hostname -s`.env" >> ~/.bash_profile
        6. More than likely, if you’re bothering to go through with all of this nonsense, you’re already somewhat familiar with E-Business Suite. If you’re new to the administrative side of EBS, however, I humbly recommend a review of Part 3 and Part 4 of the EBS install guide I wrote for oraclenerd.com a while back. It barely scratches the surface, but there’s enough there for some basic orientation. After that, you have lots of documentation reading ahead of you!
        7. Finally, if you aren’t going to use them in an Oracle VM server, and you’re satisfied with the state of your new Vision instance, you can now delete the original disk .img files and reclaim about 300GB of disk space. Just don’t delete the .vdi versions by mistake!

178 Responses to “Build an E-Business Suite 12.1.3 Sandbox In VirtualBox in One Hour”

  • Maris Elsins says:

    Great article, John! I’ll try the method very soon.

  • [...] Suite 12.1.3 sandbox in VirtualBox with one hour of work [I originally posted this over at the Pythian blog. If you're not following it, you should! Way more content, by far smarter people than lil ol' [...]

  • Naeem Qurashi says:

    Great article , I have created a sandbox and it is working like a charm.

  • [...] reviewing my blog post about running EBS OVM templates in VirtualBox, two of my teammates suggested that I work on something with potentially broader appeal. Their [...]

  • Ghulam says:

    Hi John,

    I couldn’t find any /etc/modprobe.conf file in my file system. I started system in rescue mode with Linux 5 update 6, as suggested by yourself.

    Can I carry on without touching that missing file?

    Many Thanks

    • John Piwowar says:

      Hi Ghulam,
      /etc/modprobe.conf should definitely be there, it’s on the template’s filesystem. Can you double-check to make sure that you mounted the the template’s root volume with ‘chroot /mnt/sysimage’ after booting in rescue mode? If you did not take this step, you will find modprobe.conf in /mnt/sysimage/etc instead of /etc .

      You do need to made the modifications to modprobe.conf; otherwise, the VM won’t boot, since it’s trying to load Xen kernel modules that aren’t appropriate for Virtualbox.

  • Ghulam says:

    Hi John,

    Thanks for coming back so shortly.

    I successfully followed the steps through 1 to 5. It prompted to run chroot command and I did as following.

    sh-3.2# chroot /mnt/sysimage

    After issuing ‘chroot’, I noticed your prompt suddenly changed from ‘sh-3.2#’ to ‘[root@localhost ~]#’. I think I am missing something here and it messed up the file system. I am copying back the VM disks (ebs1211db.img & EBS121DBRoot) to restart through step 1 again. I will try to follow your advice, as a moderate Linux User.

    Many Thanks

    • John Piwowar says:

      Hi Ghulam,
      The prompt changed because I was following the “optional step” I mentioned at the end of the rescue mode instructions:
      Optional step: start the sshd service and connect to the VM from your host via ssh, instead of performing the next few steps from the console of the VM. Use ‘ifconfig eth0? to find the IP address to use. (Note: as listed in the README in the template directory, the root password for both VMs is ‘ovsroot’)
      # service sshd start
      When I connected to the VM via ssh, the prompt for that session is set to root@localhost. I only did this because I prefer to use my normal terminal program instead of the VM console (and because it was easier to capture the command output for the blog post). It is not required.

      I hope I caught you before you convert the image files again; the database image is huge. :-)

  • Ghulam says:

    Hi John,

    Database tier went fine. It is up and running now.

    While deploying application tear, following error appeared after “Target System Port Pool [0-99] : 42″ above.

    I opened another session to configure the network settings before providing ‘apps’ password and it pinged fine to db server.

    ================================
    Error details:
    \ 73% completed

    ERROR while running apply….
    ERROR: Failed to execute /u01/E-BIZ/apps/apps_st/comm./clone/bin/adclone.pl
    Please check logfile
    Template configuration disabled
    ================================

    I am sure I am not following something in between properly. Frustrating part is that I did it twice and finally got nowhere to go.

    Many Thanks

    • John Piwowar says:

      Hi Ghulam,

      I think the answer may be here:
      ERROR: Failed to execute /u01/E-BIZ/apps/apps_st/comm./clone/bin/adclone.pl

      That should be /u01/E-BIZ/apps/apps_st/comn

      Please review your responses to the clone configuration script.

  • Ghulam says:

    Hi John,

    Finally I did it in fourth attempt. Actually the app user was locked by default and that was the reason failing over.

    I am still struggling to find a was to see the dream screen on my laptop (i.e http://natoth.local.org:8042). It didn’t work from host machine. Now I have created another VM with ip 192.168.56.45 (brown.local.org). Still no success. Will update this blog once go through.

    Finally that was a great blog and it went very smooth (if follow the instructions carefully). Many Thanks

  • Ghulam says:

    Hi,

    I completed all the deployment including client tier. Apps did not support Firefox but IE 7/8 is working fine. To achieve this, I created one more XP virtual machine and set it up with IP 192.168.56.45. Registered both the servers (gkar & natoth) in host file of xp. I did this because from Windows 7 host, it was taking much and I never wanted to ruin my new year eve.

    Once again a big thanks to John.

  • Steve Teale says:

    Thanks John for taking the time to do this. The guide worked a treat – very comprehensive. Having your very own virtual environment to try things out on (and to be able to bounce the app server to your hearts content ;) is a very valuable thing to have – especially when you get the time to try out things like Apex and ADF extensions in an eBiz context.

    I am running VirtualBox 4.2.6 and cannot get it to copy and paste between the host and guest environments (even after successfully applying the Guest Additions (shared folders working though)) but everything else is working well. I’m now trying out Gnome.

    All the best,
    Steve Teale

  • Pavel says:

    Mate, I owe you a beer for that.

  • harry says:

    Hi,

    I am trying to test the Oracle Ebusiness suite on Virtual box. I followed all the steps upto “Install a new kernel”. I am stuck at this point. There doesn’t seem to be a repo file to get. I tried Yum update and there are no updates available.

    I am using Oracle Linux 6 Update 3 and Oracle Ebusiness suite 12.1.3.

    Can you help me how to get this resolved.

    • Steve Teale says:

      Harry – the Yum update function found updates for OEL5 update 6 as per this guide – I thought of going with a slightly more up to date base level Kernel but in the end stayed cautious and went with the OEL5.6 as detailed here – worked as per the guide. I’ll defer to those with more knowledge of OS patching than me if you really need the Linux 6 kernel update.

    • John Piwowar says:

      Hi Harry,
      I tried to “keep it simple” for this guide and stay with the kernel that Oracle had originally targeted (OEL 5.6) when it built the VMs in the first place. There are a few other dependencies that you will need to satisfy if you want to upgrade the kernel to OEL6 in addition to all the other work being done to configure the EBS VMs.

      It’s also worth noting that some components of EBS are not yet supported under OEL6 (see “Unsupported products” in Note 761566.1 )

  • Jay says:

    Wonderful article John! ;)

    I followed all the steps here and I was able to access to EBS directly after the installation; the login page and all…

    The problem is, after a reboot of the APP VM, I have the following error at the step ‘Starting ebizapps’: /u01/E-BIZ/apps/apps_st/appl/APPSbydb_atgtxk02.env: line 31: /u01/E-BIZ/inst/apps/mydb_atgtxk02/ora/10.1.2/mydb/atgtxk02.env: No such file or directory

    Any idea about that?

    • Viktor says:

      Jay,

      I had the same issue. Basically the scripts supplied in /u01 for the APPS server refer to “. /u01/E-BIZ/apps/apps_st/appl/APPS*.env”. APPS*.env matches to APPSmydb_atgtxk02.env and APPSVIS_gkarapps.env. Hence the failure.

      Please change the line as “. /u01/E-BIZ/apps/apps_st/appl/APPSVIS*.env” in both startapps.sh and stopapps.sh.

      That should fix the issue.

      • John Piwowar says:

        Viktor, thanks very much for joining in to help out with this. :)

      • Raj says:

        Viktor,

        Thanks for the solution. I’m newbie to the EBS admin, trying to learn. Where stop apps.sh or startapps.sh located (directory)? Thanks

        • John Piwowar says:

          Hi Raj,

          You’ll find the startapps and stopapps scripts in /u01 on the application server VM.

          Just a note: Another way to get around the issue w/ the startapps.sh script is to remove the invalid environment files that are referenced in the error message. They’re not useful for us, since (as we’ve seen) they reference invalid paths and filenames:

          [oracle@natoth ~]$ cd /u01/E-BIZ/apps/apps_st/appl
          [oracle@natoth appl]$ rm *atgtxk02*

      • Don Safar says:

        I too had the same error and it was resolved by changes indicated. Now when I run startapps.sh, I get the following message – You are running adformsrvctl.sh version 120.15.12010000.3

        Forms Connect Mode is set to Servlet. Please Change Forms Mode to socket and then run this script.

        adformsrvctl.sh: exiting with status 1.

        Any suggestions on how to address this?

        • Don Safar says:

          I run the stopapps.sh script and then the startapps.sh script. I still got the message, but I was able to get the login screen now. Thanks for a great tutorial.

          • Ven says:

            Hi Don or John, I followed all the steps above. But once I stop and start the apps script, I am getting 500 HTTP Internal Error. Could you please help.

            Thank you
            Ven

    • John Piwowar says:

      Hi Jay, Sorry to leave you hanging for so long on this. An embarrassing email client failure on my part was causing me to lose comment notifications. :( Looks like Viktor has been able to help you out, though; that is indeed what needs to happen. I’ll work on updating the content of the post to reflect the additional requirement.

  • Sudeep Raj says:

    Excellent article John and thanks for taking the time to put this together. Instance is up and ready to rock and roll :)

  • Viktor says:

    John,

    Fantastic article. I had been trying to setup this by myself for quite a while but was not successful till now.

    I had setup the VM’s with the Host-only and NAT adapters and am able to access the internet from the VM’s. How do I access the application from outside the LAN?

    Best Regards.

    • John Piwowar says:

      Hi Viktor,
      Thanks! I’m glad these instructions worked out for you.

      Sorry for the delayed response. As I noted in an earlier comment, I missed a few email notifications. :( Regarding accessing the apps from your LAN (outside the host), that might be a bit tricky. I’m far from expert on Virtualbox networking, and I wanted to take the most simple route possible for my example. :)

      It might be possible to set up some port-forwarding rules on your host to redirect to the Forms and Web interfaces of the EBS app tier, but based on a quick review of VBox forums and Google, it sounds a bit more complicated in practice than in theory (see https://forums.virtualbox.org/viewtopic.php?f=7&t=40109 as an example of what people have tried).

      One other option is to set up Bridged networking for the middle tier VM, but as you can imagine, that will change the IP address of the interface. I can’t post contents of My Oracle Support notes here, but if you decide to try the Bridged network method, please review Note 751328.1 for instructions on what needs to happen when you change a middle tier’s IP address.

      If I get time to experiment with this myself, I’ll post my results. If you get to it before I do, I’d love to see a blog post from you about it so we can all learn!

  • Raj says:

    great step by step method.

    Please help me I stuck at following instruction:

    [root@localhost yum.repos.d]# wget http://public-yum.oracle.com/public-yum-el5.repo –2012-11-15 00:25:26–
    http://public-yum.oracle.com/public-yum-el5.repo Resolving public-yum.oracle.com… 141.146.44.34 Connecting to public-yum.oracle.com|141.146.44.34|:80… connected.
    HTTP request sent, awaiting response… 404 Not found.

    I have checked I’m able to access http://public-yum.oracle.com/public-yum-el5.repo from any browser outside of VIRTUALBOX .

    I checked my VIRTUALBOX setting which are same as presented in your screen shot , especially NAT.

    Your help is greatly appreciated.
    Thanks
    Raj

    • John Piwowar says:

      Hi Raj,
      That’s interesting. From the message you’ve posted, it’s clear that the VM is able to reach the public-yum server without a problem (the connection isn’t failing or timing out, the web server is just returning a 404). HAve you tried multiple times to retrieve the .repo file from inside the VM? it might have been a temporary failure on the repository webserver.

      Another option, since you can get the file on your host, is to just download the file to your host and transfer it from there to your VM.

  • Raj says:

    sorry, misstypes el5 as e15 Problem solved.

  • Raj says:

    Thank You John for your kind reply.

    Problem resolved.

    “However, when I installed app server , everything going well until as per your step:
    BIZ/inst/apps/VIS_natoth/appl/admin/VIS_natoth.xml -stage /u01/E-BIZ/apps/apps_st/comn/clone -showProgress APPS Password : Log file located at /u01/E-BIZ/inst/apps/VIS_natoth/admin/log/ApplyAppsTier_11202304.log
    \ 73% completed Completed
    Apply… Tue Nov 20 23:13:40 2012 ”

    at this stage,

    I got error messages:

    | 50% completed

    ERROR while running Apply.

    I have looked into the log file, it says

    SQLPLUS Executable: /u01/E-BIZ/apps/tech_st/10.1.2/bin/sqlplus

    SQL*Plus: Release 10.1.0.5.0 —————–blah—–
    ————– blah———-

    ORA-12541: TNS: no listener

    I have followed all the instruction (due diligently, I’m hoping) ..

    So I’m unable to complete the final few steps in APPS server.

    I too noticed, why oracle version 10 is mentioned here… any help is greatly appreciated.

    Thanks

    Raj

    • John Piwowar says:

      Hi Raj,
      Glad you got the other issue worked out. The error you’re getting from AutoConfig is because the apps tier can’t contact the database tier listener. Please make sure that the Apps database and listener are up in your first VM, and that you’ve supplied all the correct information when configuring the network interfaces for both machines.

      Regarding your other question: the Apps tier uses client version 10.1.0.5. Since all the application server components are version 10gAS 10.1.x, this isn’t unusual. :)

  • Russell H says:

    Hi,
    Great article. Am looking to follow these instructions, as I’ve previously installed R12.1.1 by installing Oracle Linux, then using the rapid install available on the e-cloud.
    I’ve noticed that you created a VM for the database and apps tier.
    Is it possible, using your method to only create the one VM, integrating the DB and Apps tier into one?

    Cheers,
    Russell H.

    • John Piwowar says:

      Hi Russell,

      I created two servers (1 db and 1 apps) because that’s the way the Vision templates are delivered, and I was trying to take the simplest possible approach. :) Using the templates as a starting point, it’s a little more complicated to get to a single-node instance than it is when installing from scratch using runInstaller. There are a couple of ways to accomplish what you’re asking, and none of them are particularly painful; they just would have made the “cookbook” version I’ve described here a bit more complicated. :) One of the easiest would be to stop after the db tier config, mount the disk containing the apps software on the db tier, and run Autoconfig manually to point to the additional disk.

      • Russell H says:

        Thank you for your response John. It’s greatly appreciated.
        I might have a go at your suggestion, by mounting both disks into the one VM and see how that goes.
        Again, thanks. Good work with the cookbook.

        Cheers,
        Russell H.

  • Mike S says:

    Hi,

    First off many thanks for this article. I am a baby when it comes to virtualbox and linux os, that said here’s my question:

    I’m nearing completion and have both my DB and APPS VM’s currently running (per your instructions for APP tier config)with the APPS tier awaiting me to enter the APPS password for the Rapid Clone. You mention the below:

    ***IMPORTANT*** AFTER network configuration, but BEFORE proceeding with any Rapid Clone steps, start a second session (do NOT interrupt the template configuration script) to add the IP and hostname for your database server to /etc/hosts. Otherwise, Rapid Clone won’t be able to find the db server to complete its configuration. It’s not helpful to try to “cheat forward” and make the /etc/hosts adjustments before starting the template configuration script, because the script overwrites /etc/hosts.

    This my be silly, but what does it meant to start a “second session”? I thought maybe it meant opening another instance of virtualbox, but doing so still shows both VMs running, sam as the first instance.

    Any help would be much appreciated…I feel so close :)

    Thanks!

    Mike

    • John Piwowar says:

      Hi Mike!

      Glad you’re finding the post to be useful. By “start a second session,” I mean, “connect to your app tier server in a second shell session.” The easiest way to do this is to ssh to your apps tier host (192.168.56.43 in our working example) as root. If you don’t have an ssh client available, you can also just hit alt-f2 in your vm window to get a second login prompt on the same machine. In that case, alt-f1 will get you back to the first session, where the main configuration script is running.

      Hope that helps; let me know if it doesn’t. :)

      • Robin says:

        Hi,
        Thanks for such a nice article.
        I’m not able to follow for this host configuration step… I used alt-f2 in vm window to get second screen, but it is not working, Please help.

        Thanks,

        • Robin says:

          I downloaded putty and through which i’m able to change host entries.

          Thanks once again. Issue resolved.

  • Mike S says:

    Hi John!

    Thanks so much for the quick reply. That certainly helped and did the trick! Rapid clone on the APPS completed (I think) I wasn’t there when it finished. I wasn’t able to get to the front end login via my host setups, but was using the ie9 from the host OS (don’t know if I need to create another VM to run the browser like Ghulam mentions in his 12/28/12 comment.

    I’ll poke around some more…..thanks again for the help!

    • John Piwowar says:

      Hey Mike,

      You shouldn’t need another VM to access the front-end, though you will need to have the hostname and IP address of your app VM in the local hosts file on your windows server. There might be some issues with IE9 and the version of the Java plugin that’s expected by the Vision instance (I haven’t checked, since I’m a Mac nerd), but that should not prevent you from reaching the login screen and initial Navigator interface for EBS, since that’s all normal HTML stuff, not Oracle Forms.

  • James Senior says:

    Hi John,
    Thanks for writing this article up though i feel its like pandora’s box :) It was through this article i found the pythian website and have spent a lot of time on it this last week.
    I’m currently working through this but have already made plans to look at the RAC setup in 1 hour and found my way onto the RAC Attack website. Keep up the great work.
    James

    • John Piwowar says:

      Hey James,
      Glad to know my post could serve as the “gateway” to the Pythian blog. There’s tons of good stuff here, and as you’ve already seen, most of it is not mine. :-) Enjoy the reading and experimenting!

  • Mike S says:

    Hey John,

    Get ready for another kudos…I reconfg’d both VMs and Tiers, updated my local host files, rolled back to JRE 6, and am now up and running Professional and OAF forms and all.

    I will be reading your recommended articles 3 and 4, and owe you a round of digital beers.

    Many thanks!

    Mike

  • narayana says:

    Hi,

    great article,I am able to install R12.1.3 successfully. i faced the same issues encountered by gulam and raj. i continued and found the dbport being used as 1531(connection manager port) ,updated the contextfile and ran autoconfig which got completed successfully.

    Thanks,

  • Matt Symes says:

    Many thanks John for your effort on this article. It’s magnificent and hugely useful and has enabled me to stand up a 12.1.3 instance after I had previously aborted on attempts to setup and manage the VM Manager / Server infrastructure – it’s just far too heavyweight for my requirements and available time!

    I’m trying to apply the same techniques now to enable me to stand up a Virtualbox VM from the Enterprise Manager 12c VM template available from eDelivery – but I’m struggling to know which kernel to download and install. I don’t suppose you have any pointers on that one???

    My goal is to get some experience using the E-Business Suite Grid control – particularly around the patching / release management functionality.

    Thanks again for the article,

    - Matt

    • John Piwowar says:

      Hi Matt,
      Thanks, glad you found the article to be useful. I haven’t delved into the 12c templates myself, but the general method should be the same: if you can get the root disk for the tmeplate mounted in rescue mode, you can find the kernel version in a few places (/etc/issue and /boot/grub.conf). There may be a bit more cleanup that you’ll need to do in various OS config files to get the disk devices to be recognized. See my post on RAC OVM templates, step 7 for examples, but bear in mind that the 12c Cloud Control templates may have their own differences.

  • Francisco says:

    Hi John,

    congrats for this article.

    I downloaded the kernel but after trying to create initrd i get:

    Dependencies Resolved

    ================================================================================
    Package Arch Version Repository Size
    ================================================================================
    Installing:
    kernel x86_64 2.6.18-238.el5 ol5_u6_base 19 M

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

    Total download size: 19 M
    Is this ok [y/N]: y
    Downloading Packages:
    kernel-2.6.18-238.el5.x86_64.rpm | 19 MB 01:17
    Running rpm_check_debug
    Running Transaction Test
    Finished Transaction Test
    Transaction Test Succeeded
    Running Transaction
    Installing : kernel 1/1

    Installed:
    kernel.x86_64 0:2.6.18-238.el5

    Complete!

    [root@localhost yum.repos.d]# mkinitrd -v -f /boot/initrd-2.6.18-238.el5.img 2.6.18-238.e15
    No modules available for kernel “2.6.18-238.e15″.

    any suggestion?

    Thanks

  • Francisco says:

    Accidentally I modified script /etc/init.d/oraclevm-template
    PLease, can you post or send to me content?
    Thanks!

    • John Piwowar says:

      Hi Francisco,
      Since you haven’t provided contact information, I can’t send the file to you, but there’s a pretty simple solution. Since the file is on the root disk of the VM, it only takes a few minutes to re-convert the System.img file to a new VDI disk. From there, it’s your choice: you can start over with the VM configuration, or just mount the converted disk temporarily to extract the file you need.

  • Sandip Kumar says:

    I’m following your guideline but running into a small issue.
    Before I run chroot /mnt/sysimage, I’m able to access the internet but when I give this command chroot /mnt/sysimage after that my ping stops working.
    SO, I’m unable to download wget etc.
    Could you suggest?
    I tried with my office network and even outside network.
    Nothing worked.
    Thanks
    Sandip Kumar

    • John Piwowar says:

      Hi Sandip,

      Only thing I can think of here is that there’s an issue with the NAT interface (eth1) on your VM. Can you confirm that you set up the second network adapter as a NAT interface, not host-only or some other type?

      • Mac says:

        Hi Sandip

        I have encountered exactly the same issue.
        The second network adapter is defined as NAT, the first Host-only.

        After I chroot to /mnt/sysimage, I also had no internet connectivity at all. Further trials appeared to indicate that only DNS resolution is failing (but I don’t know why ?)

        So I substituted
        wget http://public-yum.oracle.com/public-yum-el5.repo with
        wget http://141.146.44.34/public-yum-el5.repo
        which worked.

        I then editing public-yum-el5.repo so that [ol5_u6_base] also had
        http://141.146.44.34/ rather than http://public-yum.oracle.com/
        which also worked.

        Regards

        • John Piwowar says:

          That’s a good tip, Mac, thanks for sharing! As to why DNS resolution is failing; I’m not sure why that would be. On the app server setup, I had to add a nameserver entry to resolv.conf, but I did not have to do that for the database template. If the nameserver entry in the template (8.8.8.8) isn’t resolving, you might try using a nameserver that’s known to work for your host to see if that helps.

  • rajesh valluri says:

    John:
    Thanks for taking the time to share your knowledge, much appreciated. I am hoping you would help me with a very vexing issue that had me stumped.
    I followed your instructions to the letter, and at the last step, when I remove the disk from CD drive, and do a reboot, the image jsut wouldn’t boot. It keeps giving me the /dev/root not found, followed by a bunch of other not found errors and finally just hangs and sits there.

    Would you know of why this may be happening. It seems to me that the Linux image can’t see the file system.

    • John Piwowar says:

      Hi Rajesh,

      Without seeing the actual error messages, it’s difficult to be sure, but here is a guess: It sounds like your /etc/fstab file might not be set up correctly, and it doesn’t have an entry for the root device. Take a close look at this part of the instructions again:

      Update /etc/fstab to disable automatic fsck on /u01, or you’ll be sitting for a little while at boot time:
      [root@localhost ~]# vi /etc/fstab
      “/etc/fstab” 8L, 608C written
      [root@localhost ~]# grep /u01 /etc/fstab
      LABEL=ebs1211db /u01 ext3 defaults 1 0

      You should have multiple lines in /etc/fstab, not just one; in the instructions, I’m only showing the line that’s changed. :)

      Another possibility is that you missed saving your changes to modprobe.conf, and it still has entries for the old Xen devices under scsi_hostadapter1.

  • rajesh valluri says:

    Thanks for your response John. I have tried this a few more times without much success. The funny thing about this is when I copied a working image from a friend of mine ( who followed this very tutorial) and load it with my Virtualbox, it runs very smoothly. It leads me to believe I am missing something with the process.

    I have used windows explorer to unzip the original files. I then used Cygwin to tar the unzipped files. I then used Vboxmange to convert the images. Mind you , all of these steps were run on a windows 2008 16GB server.

    So, all said and done, I followed your instructions to the letter. I paid keen attention to the outputs to the commands, and here is where my results diverge from yours.

    Creating initramfs
    Looking for deps of module ehci-hcd
    Looking for deps of module ohci-hcd
    Looking for deps of module uhci-hcd
    Looking for deps of module ext3: jbd
    Looking for deps of module jbd
    Found root device sda2 for LABEL=/
    You see you have a “Found root device” message, I never got that. Mine says, “looking for” a dozen or so times, and says process finished.

    My suspicion is that the virtual disks being created are not detected by Virtualbox for whatever reason. Normally I would have let this go, and continued using my buddy’s image, but he has customised the image already so there is a lot of cleaning up to do before I can use it. Besides the Computer Engineer inside is taking it personally that there is “something” unknown causing this error and he is pissed. :-)

    • John Piwowar says:

      Hi Rajesh,

      Ok, with that info, I see two possible options:
      1) Your virtual disks are attached to a controller that doesn’t match the expected device type of the disks (ahci). This is unlikely, since you’ve been able to attach your colleague’s disks without issues. Still, just to be thorough, what’s the output of ‘VBoxManage showvminfo’ for your VM?
      2) Your /etc/fstab file is incomplete. Can you boot in rescue mode again, chroot /mnt/sysimage, and provide the output of ‘cat /etc/fstab’ and ‘cat /etc/modprobe.conf’?

      There may be something else askew here, but those two things seem to be the most likely.

  • rajesh valluri says:

    Showvminfo output
    Name: OVM1213DB
    Groups: /
    Guest OS: Oracle (64 bit)
    UUID: 43e19f82-926b-46f3-bc39-191875f813d0
    Config file: C:\Users\Administrator\VirtualBox VMs\OVM1213DB\OVM1213DB.vbox
    Snapshot folder: C:\Users\Administrator\VirtualBox VMs\OVM1213DB\Snapshots
    Log folder: C:\Users\Administrator\VirtualBox VMs\OVM1213DB\Logs
    Hardware UUID: 43e19f82-926b-46f3-bc39-191875f813d0
    Memory size: 512MB
    Page Fusion: off
    VRAM size: 12MB
    CPU exec cap: 100%
    HPET: off
    Chipset: piix3
    Firmware: BIOS
    Number of CPUs: 1
    Synthetic Cpu: off
    CPUID overrides: None
    Boot menu mode: message and menu
    Boot Device (1): Floppy
    Boot Device (2): DVD
    Boot Device (3): HardDisk
    Boot Device (4): Not Assigned
    ACPI: on
    IOAPIC: on
    PAE: on
    Time offset: 0ms
    RTC: UTC
    Hardw. virt.ext: on
    Hardw. virt.ext exclusive: off
    Nested Paging: on
    Large Pages: on
    VT-x VPID: on
    State: running (since 2013-05-07T04:20:27.719000000)
    Monitor count: 1
    3D Acceleration: off
    2D Video Acceleration: off
    Teleporter Enabled: off
    Teleporter Port: 0
    Teleporter Address:
    Teleporter Password:
    Tracing Enabled: off
    Allow Tracing to Access VM: off
    Tracing Configuration:
    Autostart Enabled: off
    Autostart Delay: 0
    Storage Controller Name (0): IDE
    Storage Controller Type (0): PIIX4
    Storage Controller Instance Number (0): 0
    Storage Controller Max Port Count (0): 2
    Storage Controller Port Count (0): 2
    Storage Controller Bootable (0): on
    Storage Controller Name (1): SATA
    Storage Controller Type (1): IntelAhci
    Storage Controller Instance Number (1): 0
    Storage Controller Max Port Count (1): 30
    Storage Controller Port Count (1): 2
    Storage Controller Bootable (1): on
    IDE (1, 0): G:\Virtual Machines\OracleLinux.iso (UUID: e558a991-c26e-40e1-b5be-2376849b5f5c)
    SATA (0, 0): G:\OracleApps\OVM_OL5U6_X86_64_EBIZ12.1.3_DB_VIS_PVM\EBS121DBRoot.vdi (UUID: cb3d701c-506f-4233-aebe-4a4ce7dac5a3)
    SATA (1, 0): G:\OracleApps\OVM_OL5U6_X86_64_EBIZ12.1.3_DB_VIS_PVM\ebs1211db.vdi (UUID: 05770f3f-a3bd-468b-87f6-07d21c5d3f32)
    NIC 1: MAC: 080027824743, Attachment: NAT, Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth group: none
    NIC 1 Settings: MTU: 0, Socket (send: 64, receive: 64), TCP Window (send:64, receive: 64)
    NIC 2: disabled
    NIC 3: disabled
    NIC 4: disabled
    NIC 5: disabled
    NIC 6: disabled
    NIC 7: disabled
    NIC 8: disabled
    Pointing Device: PS/2 Mouse
    Keyboard Device: PS/2 Keyboard
    UART 1: disabled
    UART 2: disabled
    LPT 1: disabled
    LPT 2: disabled
    Audio: enabled (Driver: DSOUND, Controller: AC97)
    Clipboard Mode: Bidirectional
    Drag’n’drop Mode: disabled
    Video mode: 720x400x0
    VRDE: disabled
    USB: enabled
    EHCI: disabled

    USB Device Filters:

    Available remote USB devices:

    Currently Attached USB Devices:

    Bandwidth groups:

    Shared folders:

    VRDE Connection: not active
    Clients so far: 0

    Guest:

    Configured memory balloon size: 0 MB
    OS type: Oracle_64
    Additions run level: 0

    Guest Facilities:

    No active facilities.

  • John:
    Thanks for your efforts to help. After my last comment, I looked at the modprobe, and fstab files and compared them with the ones from my buddy. They were identical. So, I was banging my head against the wall in frustration, and as any good IT guy would do, opened a bottle of scotch!!! :-)

    I decided to start over, from the get go, and downloaded the files again, check-summed them vigorously, and followed the steps with extra bit of caution. And yes, I did see a teeny bit of warning message I overlooked before.
    During the Yum install of the new kernel using “yum install kernel-2.6.18-238.el5″, there was this message “grubby fatal error unable to find a suitable template”. As to why I got this, I have no clue. I promptly googled the error message, and one guy on a linux forum advised to manually modify the grub.conf file. So I did, I used your grub.conf as a source, and manually added the required stanza to the file. I then crossed my fingers and rebooted the machine and viola…..it booted like a charm.
    The moral of the lesson is I could do with a little more in-depth knowledge of Linux DBA stuff, and would have picked it a lot sooner. But, a Linux DBA not being my day job, I think I did ok ( but for the 10 days of my life and my prized bottle of single malt… :-) ).

    All’s well now, and thanks for your original post and subsequent help. If we ever cross paths in the physical world, first round is on me.

  • dbrock says:

    This is a fantastic post. I am having one issue that I can’t seem to figure out, however, when I run the oraclevm-template on the EBS DB VM, and it is keeping my DB from creating correctly. After about 50% of my “database is applied” I see this…

    - 50% completed RC-50004: Fatal: Error occurred in ApplyDatabase: Control file creation failed

    ERROR while running Apply…
    Mon May 20 21:07:05 2013

    ERROR: Failed to execute /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/clone/bin/adclone.pl

    Please check log file.

    In the log file, I see the following error a few times…

    getConnectionUsingAppsJDBCConnector() –>
    APPS_JDBC_URL=’null’
    Trying to get connection using SID based connector descriptor getConnection() –>
    sDbHost : ebsdb
    sDbDomain : branchbird.com
    sDbPort : 1562
    sDbSid : VIS
    sDbUser : APPS
    Trying to connect using SID…
    getConnectionUsingSID() –>
    JDBC URL: jdbc:oracle:thin@ebsdb.branchbird.com:1562:VIS
    Exception occurred: java.sql.SQLException: ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    Linux-x86_64 Error: 2: No such file or directory

    Any ideas here? I feel like I am following the instructions verbatim. I only deviated on host name. Does that matter?

    In my /u01/E-BIZ/db/tech_st/11.2.0.2/appsutil/log/VIS_ebsdb/ApplyDBTier_05202017.log, I see the following error:

    • dbrock says:

      Ok. I figured out the issue. My initial linux ISO used to “rescue” the new VMs was OL6. I tried rebuilding both the db and app VM using OL5 update 6 ISO (as John did) and found no issues. During my initial attempt with OL6, I had the issue where the “stanza” for the ol5u6 kernel had to be added manually and, of course, some issues running the template. John, I would recommend stating explicitly to use OL5 ISO as ppl might be tempted to download the most recent from Oracle edelivery which is OL6. This is an amazing post. You’re saving people a lot of time, especially us Oracle VM Manager n00bs.
      Thanks,
      Dan

      • John Piwowar says:

        Hi Dan,

        Thanks a ton for the feedback. I’ve added a note updating the “Ingredients” section with an explicit recommendation to use OEL5 update 6 as the rescue ISO.

        • Rama says:

          Hi John,

          Sorry to bother you again!

          I have got the same error as above , i have downloaded the correct iso OEL5 update 6 ( file name Enterprise-R5-U6-Server-x86_64-dvd). Still i have got the same error.

          ERROR at line 1:
          ORA-01503: CREATE CONTROLFILE failed
          ORA-01565: error in identifying file ‘/u01/E-BIZ/db/apps_st/data/oss_sys01.dbf’
          ORA-27048: skgfifi: file header information is invalid
          Additional information: 13

          getConnectionUsingAppsJDBCConnector() –>
          APPS_JDBC_URL=’null’
          Trying to get connection using SID based connect descriptor
          getConnection() –>
          sDbHost : ebsdb
          sDbDomain : local.org
          sDbPort : 1563
          sDbSid : VIS
          sDbUser : APPS
          Trying to connect using SID…
          getConnectionUsingSID() –>
          JDBC URL: jdbc:oracle:thin:@ebsdb.local.org:1563:VIS
          Exception occurred: java.sql.SQLException: ORA-01034: ORACLE not available
          ORA-27101: shared memory realm does not exist
          Linux-x86_64 Error: 2: No such file or directory

          ——————-ADX Database Utility Finished—————

          RC-00118: Error occurred during creation of database
          Raised by oracle.apps.ad.clone.ApplyDatabase

          StackTrace:
          java.lang.Exception: Control file creation failed
          at oracle.apps.ad.clone.ApplyDatabase.doConf(ApplyDatabase.java:635)
          at oracle.apps.ad.clone.ApplyDatabase.doApply(ApplyDatabase.java:473)
          at oracle.apps.ad.clone.ApplyDatabase.(ApplyDatabase.java:366)
          at oracle.apps.ad.clone.ApplyDBTier.(ApplyDBTier.java:110)
          at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
          at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
          at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
          at java.lang.reflect.Constructor.newInstance(Constructor.java:501)
          at oracle.apps.ad.clone.util.CloneProcessor.run(CloneProcessor.java:67)
          at java.lang.Thread.run(Thread.java:595)

          Kernel Versions are

          [root@ebsdb yum.repos.d]# rpm -qa | grep kernel
          kernel-uek-headers-2.6.32-100.26.2.el5
          kernel-xen-2.6.18-128.0.0.0.2.el5
          kernel-2.6.32-100.0.19.el5
          kernel-xen-2.6.18-238.0.0.0.1.el5
          kernel-firmware-2.6.32-100.0.19.el5
          kernel-uek-firmware-2.6.32-100.26.2.el5
          kernel-uek-2.6.32-100.26.2.el5
          kernel-2.6.18-238.el5

          Regards,
          Ramakrishna.

          • John Piwowar says:

            Hi Rama,

            I’m not 100% sure what the cause of your problem is in this case, but I’m pretty sure it’s not an issue with the rescue disk. If you’ve come as far as running the clone utilities, you’re past the point where that choice was important. :)

            The error you’re getting tells the story:
            ORA-01565: error in identifying file ‘/u01/E-BIZ/db/apps_st/data/oss_sys01.dbf’
            ORA-27048: skgfifi: file header information is invalid
            Additional information: 13

            There’s a problem accessing this datafile, so the clone process cannot proceed. In this case, the “Additional information: 13″ likely refers to a permissions problem on the file. Are you running the oraclevm-template script as the correct user?

  • davidlopan says:

    Hi John,

    Not that you haven’t already helped out a great deal with this blog and your extremely timely responses, I was wondering if you might be able to ask one more favor of you :)

    I’ve got my Vision instance up and running (many thanks!) Would you happen to know of a good existing resource that could help aid in getting a SQL tool (I’m thinking SQL Developer since it’s free) up and running for this type of of virtualbox build?

    Don’t know if I would have to create another VM in virtualbox to host some Linux OS in order to communicate with the DB tier, or if I could install an Oracle client on my host OS and connect from there.

    Let me know if you can point me in the direction of some good existing resources on the web that might give some insight, and as always, THANK YOU!

    Mike

    • John Piwowar says:

      Hi Mike!

      This response is not as timely as some of my others; sorry about that. :-)

      It’s very easy to connect to your EBS database VM from your host with SQLDeveloper, or Toad, or command-line SQL*Plus…pick your poison :). You definitely do *not* have to create another VM. I’d recommend working with SQLDeveloper, since you can run it on most major platforms (and, as you’ve pointed out, it’s free).

      Just like the applications tier server, if you’ve followed the instructions in this post, you should be able to reach the database tier VM from the host machine without much difficulty. For the sake of simplicity, I’ll use the example values from my post; you might need to adjust if you changed the hostname or port pool of your VM.
      1) Add the hostname and IP of the database VM to the hosts file on your host workstation:
      192.168.56.42 gkar.local.org gkar
      2) Install SQL Developer
      3) To create a connection to the database, use gkar as the host, and 1563 (or 1521+your port pool value) as the listener port
      4) The VMs are shipped with default (and not terribly secure :-) ) passwords for database schema accounts. I don’t have mt VMs open at the moment, but the passwords should be in the OVM template README file.

      You can find SQLDeveloper on the OTN website, and if you’re looking for good tips and tricks, I highly recommend Jeff Smith’s blog: http://www.thatjeffsmith.com/. Jeff’s a Product Manager for SQL Developer, so he knows a thing or two about making it sit up and bark.

      Good luck! Let me know if I haven’t provided a necessary level of detail.

      • Mike says:

        Sorry for my delayed “Thank You” for the above. Followed your directions above and registered the DB tier host address in my host OS file. Installed SQLDeveloper and set it up using Host name alias (gkar in your example) as the host, port 1563, and SID = VIS. The default user name and password are both apps. The SID and Default passwords are actually in your spooled output from your installation tutorial above (had I thought to look there! :) ).

        As always,

        Many Thanks!

  • Raj says:

    Hi John-

    I missed the below steps.. is there a way to fix it or do i need to start from scratch. Thanks for your help!

    root@192.168.56.43‘s password: [you should be able to access the VM via the IP you specified earlier]
    Last login: Tue Nov 20 21:51:13 2012 from 192.168.56.1
    [root@natoth ~]# cat /etc/hosts
    127.0.0.1 localhost.localdomain localhost
    ::1 localhost6.localdomain6 localhost6
    192.168.56.43 natoth.local.org natoth
    [root@natoth ~]# echo “192.168.56.42 gkar.local.org gkar” >> /etc/hosts
    [root@natoth ~]# cat /etc/hosts
    127.0.0.1 localhost.localdomain localhost
    ::1 localhost6.localdomain6 localhost6
    192.168.56.43 natoth.local.org natoth
    192.168.56.42 gkar.local.org gkar
    [root@natoth ~]# ping gkar [confirm that app server can see the database server]
    PING gkar.local.org (192.168.56.42) 56(84) bytes of data.
    64 bytes from gkar.local.org (192.168.56.42): icmp_seq=1 ttl=64 time=1.94 ms
    64 bytes from gkar.local.org (192.168.56.42): icmp_seq=2 ttl=64 time=0.505 ms

    — gkar.local.org ping statistics –

    Thanks,
    Raj

    • John Piwowar says:

      Hi Raj,

      You’re in luck! You don’t have to start from scratch. :)

      You didn’t mention where you are in the setup steps for the app tier. I’ll make suggestions for two possible scenarios.

      #1: You are still answering Rapid Clone’s questions (directory locations, port info, etc), and the utility hasn’t started doing work yet. That is, you haven’t hit point where it states, “Beginning application tier Apply…”
      Solution: Easy. Just run through the missing steps in your comment, and return to the Rapid Clone session when you’re done.

      #2: Rapid clone exited with errors, complaining about being unable to find a database.
      Solution: Still easy, but more typing. :)
      First: execute the missing steps in your comment to set up the /etc/hosts file correctly.
      Next: Find the script ebiz_1211_reconfig.sh in /u01 on your app tier VM
      Comment out the lines that start with ‘ovm_configure_network’ and ‘ovm_disable_firewall’ in that script
      Finally: Run ebiz_1211_reconfig.sh on the app tier VM as root. This will re-execute Rapid Clone, and set up the rc scripts to stop and start apps automatically on reboot.

      • Raj says:

        John-

        Thanks for getting back to me so quickly.I am done with steps below “RESUME Rapid Clone run in the first session”. I completed all the steps successfully except the steps i stated above.

        Thanks,
        Raj

  • Raj says:

    John-

    Thanks for getting back to me so quickly.I am done with steps below “RESUME Rapid Clone run in the first session”. I completed all the steps successfully except the steps i stated above.

    Thanks,
    Raj

  • Mike says:

    John
    First off, awesome and detailed instructions. Thanks a lot!!
    I was able to follow all the instructions and was able to get the DB server running. On the Apps server, i got an error after 73% completion and when i looked in the logs, there were statements to the effect of ‘unable to connect to the database invalid username/password’.
    I can actually ping the database server from the apps server, so i dont think there is an issue with that.
    So a few questions
    1. Where can i change the password. Hope i didnt inadvertently add a carriage return or something.
    2. What is the script that i can re-run if i find errors or do I have to start from scratch all over again. By scratch i mean, starting from creating a new virtual machine. Can we do “ovtemplate clean” or something like that and do “ovmtemplate start”.

    Thanks for your help.

    • Mike says:

      Actually I re-ran ebiz_1211_reconfig.sh and it is all working now (i must have entered the password incorrectly the first time around). Thanks a lot for the detailed instructions and kudos to you John.
      A couple of things I had trouble with and others may benefit from
      1. I used NAT as the first interface and it seemed to have caused some issues in the VMs not being able to ping each other.(i am not 100% sure it matters but …)
      2. I saw errors in the log about account being locked. you can run “alter user apps account unlock” from sqlplus
      3. I also had an issue which another user had on how to launch a new session. Alt-F2 launches a new session and Alt-F1 toggles back as John has mentioned in an earlier post.

      • John Piwowar says:

        Hi Mike,

        Sorry for the delay in getting back to you; glad you got it all sorted out. A couple of comments on your comments. :)

        1) This is a limitation of NAT under VirtualBox: NAT interfaces can’t “see” other guests on the same host. If, like me, you come to Virtualbox from the world of VMWare Workstation (whose NAT concept is a bit different), this idea can take some adjustment. If you want your VMs to see each other, you need to use host-only (as in this guide) or bridged networking (where every VM gets an IP from your external DHCP server or DNS). Since I work on a laptop, it’s easier for me to deal with two network interfaces instead of using a bridged network: host-only so VMs can talk to each other, and NAT on the second interface so they can talk to the outside world.

        2) Thanks for bringing this up. If you inadvertently supply an incorrect password for the apps account, as you imply might have happened in your previous comment, AutoConfig will indeed merrily beat its head against a wall until the apps account is locked, and then it will error out as you’ve described. “alter user apps account unlock” is the way to go in this case.

        3) I didn’t call it out in the instructions, because I felt it would make things unnecessarily complicated/long, but another option for starting a second session is to connect to the guest from the host via the IP for the host-only interface (192.168.56.42 and .43 in my examples), using an ssh client (putty’s a popular free choice on Windows).

        • Mike says:

          John
          Thanks for your response. Kudos to do you for putting up such awesome documentation that works so perfectly. I admire your patience and you are definitely saving countless hours for a lot of people I suppose – you definitely have for me.

          Thanks

          • okeeman says:

            Elliotte: To get the vi text editor to work, go into editing (input) mode by pressing i. Change the file so that it as shown by John. Press Esc to return to command mode. Press :wq to write your changes and quit the editor. Use the cat command to see that the contents of the file are now correct and you will see the 3L, 78C.
            Thanks for this great blog post, John.

  • Mike says:

    When I launch the DB server, i just get a single console instead of the usual gnome window manager typically seen with a vanilla linux installation. How do i start/install the gnome desktop. Thanks in advance

    • John Piwowar says:

      Hi Mike,

      If the gnome window manager isn’t installed in the default template, it’s easy enough to grab with yum. If you can see that the rpms for the window manager are already installed, however, you might just need to set the runlevel of the server to 5 instead of 3.

      Sorry for the vague response, but I’m in the process of rebuilding my VMs for another project, so I don’t have a handy reference system. :)

  • mike says:

    Has anyone installed apex or got apex working on this OVM template. If so appreciate if you can share your experiences.

    • John Piwowar says:

      Haven’t done it myself, but if anyone out there reading has, I’d love to see the blog post. Once the server’s up and running, it’s just like any other Linux machine, so the usual installation instructions for Apex would apply.

  • Mohamed Ibrahim says:

    Thank you john, I wasn’t able to make second session to the Apps VM so I continue the Installation no Error stop me but when I execute adstrtal.sh start I found that adalnctl.sh failed I checked the Netwrk directory there are no Listner created How to create Listener in APPS VM.

    • John Piwowar says:

      Hi Mohamed,
      All of the software necessary to start the Apps listener is already present in the VM template, and the AutoConfig utility should have configured everything for you, if you followed the instructions here. If adstrtal.sh isn’t starting the Apps listener, then something must have gone wrong during the Autoconfig run; I recommend checking the log file from that process to see if there were any errors. Unfortunately, without a more detailed description, I can’t be of more help than that.

      • Mohamed Ibrahim says:

        Thank you John for your reply, after I complete Rapid Clone, I set gkar in /etc/host apps tier I faced the following ERROR: Failed to execute /u01/E-BIZ/apps/apps_st/comn/clone/bin/adclone.pl.

        • Mohamed Ibrahim says:

          log file say:
          AutoConfig is exiting with status 31
          RC-50014: Fatal: Execution of AutoConfig was failed
          Raised by oracle.apps.ad.clone.ApplyApplTop,

          Regards,
          Mohamed

  • Zachary Zimmerman says:

    This is a great write-up. Thank you!

  • Elliotte Lasley says:

    Hello John, and thanks for the breakdown. I’m on day five, and getting stopped at the same step. During the ‘linux rescue’ stage, when I get to the “vi /etc/modprobe.conf” command, once I enter that I get a screen like the one you have, except it never goes back to the sh-3.2# prompt, no error messages no anything. First I thought it was processing but left it for hours with nothing. Last thing I get is the “/etc/modprobe.conf” 3L, 78C written”(mine says 2L, 48c written) message with bunch of blue tilde characters above it, but no prompt. On the 8th, 9th try, and downloading everything multiple times, what am I missing?
    Specs
    Windows 8 pc
    Linux 5.6
    latest Oracle VM VirtualBox

    • okeeman says:

      Elliotte: To get the vi text editor to work, go into editing (input) mode by pressing i. Change the file so that it as shown by John. Press Esc to return to command mode. Press :wq to write your changes and quit the editor. Use the cat command to see that the contents of the file are now correct and you will see the 3L, 78C.
      Thanks for this great blog post, John.

  • Mohamed Ibrahim says:

    Thank you John for your reply, after I complete Rapid Clone, I set gkar in /etc/host apps tier I faced the following ERROR: Failed to execute /u01/E-BIZ/apps/apps_st/comn/clone/bin/adclone.pl.
    log file say:
    AutoConfig is exiting with status 31
    RC-50014: Fatal: Execution of AutoConfig was failed
    Raised by oracle.apps.ad.clone.ApplyApplTop,

    Regards,
    Mohamed

  • Shree says:

    Does it mean this installation remove windows OS and just have Linux ?

  • Yury says:

    Fantastic job John :) Just got my EBS test env up and running on my Windows 7 64 bit laptop.

    Forms works well (have jre 6 installed under 32 bits and jre 7 under 64 bits). Needed 7 for SQL Developer.

    For others. I had 2 stops (blame myself for those).
    A. I didn’t recognize that the kernel install command is “mkinitrd -v -f /boot/initrd-2.6.18-238.el5.img 2.6.18-238.el5″ not “mkinitrd -v -f /boot/initrd-2.6.18-238.el5.img” as WordPress cuts it.

    B. To enter to Linux rescue mode I had to press F5 on the initial screen then enter “linux rescue”

    As I said for both I blame myself. but some may not find it too obvious. Therefore mentioning those here.

    Great job man!

    Yury

    • karthikeyan Mohan says:

      I was able to get 12.1.3 up and running great step by step instructions.

      Only issue is it is able to access through my host machine not through any other machine in the network I think it is due to the ip not in the DHCP range any advise on that?

  • karthikeyan Mohan says:

    was able to get 12.1.3 up and running great step by step instructions. Only issue is it is able to access through my host machine not through any other machine in the network I think it is due to the ip not in the DHCP range any advise on that?

    • John Piwowar says:

      Hi Mohan,

      The network adapter I chose when writing these instructions use the “Host Only” network in Virtualbox, which means that access to the VM is restricted to the host on which it’s installed. To allow access from other hosts, you would either need to: (1) set up some port forwarding rules on your host, or (2) reconfigure the VM to use bridged networking, so it gets an IP address that can be reached by other clients on your network. Which option you choose depends on your level of comfort with each. ;) I’d personally lean toward option 2, but will note that if you change the IP address of the VM, you’ll need to make some configuration changes in the EBS environment as well.

      • Karthikeyan Mohan says:

        Do you know which files i need to change on the EBS is it going to be complex changes and will end up in endless digging or kind of running a script ;)

  • manoj says:

    Hi Jhon,
    Thanks for your detailed documentation .I need database node only because of my requirement is this database node is used for source system for oracle bi apps . i followed oracle cookbook as well as your documentation. i followed your steps 1 to 4 .At step 5.(Reboot and prepare for next steps). I safely removed boot iso but i am unable to reboot my database server on vitualbox on mac os.can you please suggest me rebooting step.

  • vijay says:

    Hi Jhon
    Excellent documentation .I followed your steps 1-4 successfully for database server .At 5th i detached iso but am not able to reboot the database server can you please suggest me how to reboot (i tried with “reboot” command but not succeed )
    regards
    vijay

    • windows7bugs says:

      You should use init 6 for rebooting the server, and please, you should shutdown the database prior a reboot (to avoid any sort of corruptions)
      If you are not familiar with Linux, please start learning the basics the earliest possible

  • DSmith says:

    When attempting to configure the DB tier, after running the command “ifconfig ech0″ I get the error message: “error fetching interface information: device not found” please can you point me in the right direction, I’ve been stuck on this for a couple days now so its taking a lot longer than 1hr to build this sandbox environment :)
    Thanks Smith

  • Nicolas Liu says:

    after everything, I succeeded login with sysadmin, but when loading form its giving error like below, anybody help me through?

    APP-FND-01630: cannot open file /d01/oracle/VIS/inst/apps/VIS_oracle/appl_fnd/12.0.0/secure/VIS.dbc

    Thanks a lot!

  • windows7bugs says:

    Hello John
    I am trying to setup the same, however, under pure Windows environment and I am managing the blog windows7bugs.wordpress.com
    With your permission, I would like to re-arrange few things with more screen-shots and other.
    Can I use the text available with your post and ping-back to your thread?

    Thanks

    raj

  • Chiedu says:

    Had problems with accessing the Internet from the VirtualBox.

    Changed the network from NAT to Bridged Adapter and it worked.

  • Sandip Kumar says:

    I followed this link and I’m able to successfully install DBServer and AppServer on VirtualBOX.
    But, I’m unable to connect from outside via IE (or other browser).
    I read the chain and it suggests me for port forwarding or changing the network adapter.
    Would you be able to specify the steps – what should be done (as you have mentioned for installation)
    My Host Operating system is Windows 7 Home
    I have VirtualBox installed on Windows 7 Home
    I have DBServer and AppServer within VirtualBox with Host-Only adapter and NAT

    Please advise.
    Thanks
    Sandip

    • Sandip Kumar says:

      I tried to change the network setting from NAT to Bridged but in both cases I continued to get the message:
      “remote device or resource wouldn’t accept the connection”

      Please help

      • John Piwowar says:

        Sandip,

        You shouldn’t need to do any port-forwarding to access the VMs from your host OS, as long as the IPs and hostnames of your VMs are in the local host file.

        If you are trying to access the EBS instance from another machine, I won’t be able to help very much with that configuration, unfortunately. I’m not a Windows guy, and if I tried to provide steps I’d probably do more harm than good. ;-) You don’t indicate where the error message “remote device or resource wouldn’t accept the connection” originates, but that might be a good place to start with searching for an answer.

  • john lang says:

    Hi – appreciate your thoughts on whether this will work for the 12.2.2 templates just released
    This would be my first foray into an install (as a mostly functional bloke) – and so would be following the instructions “blindly” (I note the 12.2.2 VM templates are OEL 5 u9)
    Cheers, John

    • John Piwowar says:

      Hi John,

      I’m still clearing the decks to have a look at the 12.2 templates (stay tuned! :-), but here’s what I can say with 99.9% certainty even without a look:

      These instructions, as written, won’t be enough of a match for anyone to follow step-by-step using the 12.2 templates. The principles will be the same, and probably only some minor tinkering will be required, but the VM resource requirements will be different (higher), and the kernel-fiddling steps will likely be different (less complicated), because newer OVM templates tend to be released with UEK kernels.

      • john lang says:

        Thanks John,
        As you say OEL 5U9 has a UEK kernel, and given that’s fairly meaningless to me :) it looks like i’ll have to sit tight! In the meantime i’ll pull down the templates and see if i can get as far as having the vdi files! Thanks for a great article and your prompt feedback
        John

      • john lang says:

        vdi files done and OEL downloaded and ready to go!!

      • john lang says:

        …. and in case you could oblige I was hoping to do the production DB rather than VISION!

        • John Piwowar says:

          Hi John!
          Sorry about the radio silence; I missed a few comment-update emails. :(
          Good news is that I’ve been able to get a 12.2 instance going using the OVM templates. Bad (ish) news is that it’s not a perfect fit for your requirements…I’ve been working on Vision instead of prod (I like to have pre-configured stuff to play with).

          I expect to have the related blog post up sometime in the next 2 weeks, once I’ve had a chance to vet my own instructions and do some writing. *Hopefully* this week.

          • john lang says:

            Hey John, don’t apologise for radio silence, you getting round to this at all is a great help to a lot of people. I’ll look forward to it!

            Do you think it would be straight-forward enough for me to “translate” the vision instructions to the prod DB vdi’s?

          • John Piwowar says:

            John, I think that the instructions should translate pretty easily to the prod templates. I just submitted my 12.2 post for internal review, so you should see it in a few days. I made a note at the end of the post outlining what I expect the differences to be for prod vs. Vision; they’re pretty minor. :)

  • Sandip Kumar says:

    John lang and John
    Are you able to do the same using R12.2.2 with OEL5.9?
    If yes then please let me know.
    Thanks
    Sandip Kumar

    • John Piwowar says:

      Sandip,

      It’s possible to do this with the 12.2.2 templates, with a few modifications to the process. I’ve actually created a single-node 12.2 Vision instance using the OVM templates. I expect to share the steps to do that soon (1-2 weeks, as I get time to write).

  • Sandip Kumar says:

    John,
    For R12.1.3, I’m trying to connect from the HOST machine where the VirtualBOX is installed and Apps and DB are installed within VB.
    Then I get this message.
    In addition, when I run the startapps.sh I get the message for adformssrvlet.sh
    Forms connect mode is set to servlet. Please set the mode to socket and then run the script.

    What should be done. Let me know.
    Thanks
    Sandip Kumar

  • Sandip Kumar says:

    John,
    Finally it worked and it works like great.
    Thank you for your good work. May be, it was my misunderstanding which took so long.

    Could you let me (if you have already tried) that the same process is applicable for R12.2.2?

    I’m totally confused because:
    1. Oracle suggests that DB Tier and Apps Tier both will take 283 + 33 GB (Total: 316 GB) for each tier). Hence the total diskspace needed is 632GB. Something WRONG somewhere
    2. Base OEL used is 5.9

    Could I use the same process to change the xen kernel?

    Thanks
    Sandip Kumar

    • John Piwowar says:

      Hi Sandip,

      I’m glad you got your issues worked out on the 12.1.3 side.

      The resource requirements for the 12.2 OVM templates are a bit high, it’s true. However, once you’ve converted the .img files to .vdi files, you’ll find that the overall footprint is much smaller, because the .vdi files are dynamically allocated disks, and they aren’t full. Once they’re converted to VDI, the footprint is is about 320G (slightly more after you’ve finished the configuration). Here’s what the newly-converted files look like on my system:

      zathras:OVM122blog jpiwowar$ ls -lh
      total 670594048
      -rwxrwxrwx 1 jpiwowar jpiwowar 11G Nov 28 21:09 AppRoot.vdi
      -rwxrwxrwx 1 jpiwowar jpiwowar 103G Nov 28 23:08 AppSoftware.vdi
      -rwxrwxrwx 1 jpiwowar jpiwowar 198G Nov 28 14:36 DBData.vdi
      -rwxrwxrwx 1 jpiwowar jpiwowar 7.5G Nov 19 22:42 DBRoot.vdi

      • Sandip Kumar says:

        Thanks John. This helps.

        Another quick question:
        How do I install kernel from CD media if I have the correct media OEL5.9 for R12.2.2 rather than yum install?
        Could you advise?
        Thanks
        Sandip Kumar

  • Fede says:

    Hi John,

    Rapid Clone won’t automatically start after successfully configuring the network details in Step 5. Is this a problem? Should I manually invoke Rapid Clone? How can I do that?.

    Thanks!

    Fede.

    • John Piwowar says:

      Hi Fede,

      It’s strange that Rapid Clone didn’t start after the network was configured. Did you get any error messages that you can share?

      If you want to try manually invoking Rapid Clone, that’s definitely possible; it’s not very complicated. The command (adcfgclone.pl) and its arguments should be in the template config script. I don’t have the correct HDD with the 12.1.3 VMs available to me right now, or I would spin it up and look up the expected commands for you. :)

  • Sandip Kumar says:

    when I do chroot /mnt/sysimage then I lose the internet connection and wget does not work.
    Any idea?
    Thanks
    Sandip Kumar

    • Sandip Kumar says:

      Never mind. I removed the existing lines from resolv.conf and kept it empty.
      I rebooted the VMVirtualBox and started the Linux rescue again. It started accessing the internet.
      But now, I don’t know the exact kernel version like yum install kernel-2.6.18-238.el5 for R12.2.2 OEL5.9? Any idea?

  • Sandip Kumar says:

    John,
    Another question
    Would it be possible to install kernel from boot CD in Linux rescue mode?
    I have OEL 5.9 DVD (downloaded from eDelivery) for changing xen kernel. I tried to install 2.6.39-400, 2.6.39-300 from public-yum.oracle.com but it was not found.
    But I have them in the install DVD.

    Could I do a yum localinstall from CD/DVD for this purpose? I’m unable to mount the boot CD when I get into chroot /mnt/sysimage side.

    Can you help (or someone who has run into this issue)?
    Thanks
    Sandip Kumar

    • John Piwowar says:

      Hi Sandip,

      I just submitted a blog post for internal review that covers deployment of the EBS 12.2.2 OVM templates in Virtualbox. I expect it to be released in the next few days (perhaps even Friday). I think it addresses most of the questions you’ve been asking recently, and if not, we’ll be able to discuss further in that post’s comments.

      You’ll also find that the kernel and network config steps are much more simple in the new post, which will hopefully make lots of people happy. ;)

  • Sandip Kumar says:

    John,
    That is great.
    Still waiting – unable to find.
    Do you have the link for that? if yes then please paste.
    Thanks
    Sandip

  • rama says:

    Great Article John !!

    I am technical consultant. First time i am trying to install R12.1.3 VM template in Host desktop with Windows8.1. I have following problems with my install , Could you please help me on this.

    Initially I have setup Host Only and NAT networks in virtual machine. But it not connecting to internet so, i have changed to Bridged Netwrok (I am using WIFI in desktop).

    When i try to download kernal using “wget http://public-yum.oracle.com/public-yum-el5.repo“, i have got the following error

    Resolving public-yum.oracle.com… 23.73.180.107, 23.73.180.114
    connecting to public-yum.oracle.com|23.73.180.107|:80… connected.
    HTTP request sent, awaiting response… 404 Not Found
    2013-12-22 12:10:22 ERROR 404: Not Found.

    Its connected to server , but got 404 Not Found error.

    So , i tried to create the file public-yum-el5.repo manually. Clipboard did not support for me. Then i have used the putty in host machine to create the file manually.

    After that i have ran the command “yum install kernel-2.6.18-238.e15″ again i have got the following. i can’t move forward from here.

    o15_u6_base | 1.1 kB 00:00
    o15_u6_base/primary | 1.1 kB 00:00
    015_u6_base 4551/4551
    Setting up install process
    No Package kernel-2.6.18-238.e15
    Nothing to do

  • Sandip Kumar says:

    Rama,
    You should be able to get it from wget (better way). Usually this error is due to el5 written as e15 (make sure that it is e (enterprise) l(Linux) 5 (number 5) and you should be OK.

  • Jagdish says:

    Hi John,

    Thanks for posting such a details guide. However I’m stuck at setting up the Apps VM. The DB server is setup and running fine but getting account locked error while doing autoconfig for Apps tier.

    I’ve posted the entire log file and the link below..
    https://community.oracle.com/thread/2615858

    Please help me solve this issue. I tried it 3-4 times and everytime I got stuck there…

    Please let me know if any other logs are required….

    Thanks

    • Jagdish says:

      Hi John and friends,

      The issue I faced earlier is resolved. I freshly installed Apps server but I’m still not able to load the login page.

      When I start the apps server; just before asking me to login, one of the services is failed. Please let me know at what path the startup log will be available. The autoconifg script had completed successfully and I didn’t find any errors in log. Infact when I tried to open the EBS link from my host machine it was redirecting but it suddenly stopped. After that I was never able to open this link.

      Sorry for my bad english and really sorry for posting here again and again, but I really need help. plzzzzzzzzzzzzzzz

      Regards
      Jagdish

      • John Piwowar says:

        Hi Jagdish,

        Which service is failed? What error are you getting that tells you about the failed service?

        • Jagdish says:

          Hi John,

          Thanks for replying. I tried all the steps again starting from unzipping the files and Apps server showed that error again.. :( I’m still not able to see the login screen, however it had worked for first time for sometime.

          I’m getting the following error while booting Apps Machine.

          “/u01/E-BIZ/apps/apps_st/appl/APPSmydb_atgtxk02.env: line 31″ /u01/E-BIZ/inst/apps/mydb_atgtxk02/ora/10.1.2/mydb_atgtxk02.env: No such file or directory” [FAILED]

          PFB screenshots of Apps installation screen and Booting screen.
          https://imagizer.imageshack.us/v2/566x341q90/855/lurc.png
          https://imagizer.imageshack.us/v2/734x477q90/21/4may.png

          In logs there is a file “jtffmctl.txt” in which below errors are mentioned.

          Starting Fulfillment Server for VIS on port 9342 …
          jtffmctl.sh: exiting with status 0
          INITIALIZING PROCESSOR …
          Setting Server ’5000.-1
          Start Time — –Sat Jan 11 05:23:13 EST 2014–less than 1 millisecond–

          — — thread:main
          (r0.0:p0)
          Time : –Sat Jan 11 05:23:15 EST 2014–1 second, 336 milliseconds–
          Note : processor cannot be started
          oracle.apps.jtf.fm.engine.processor.ProcessorException: unexpected error
          at oracle.apps.jtf.fm.engine.processor.Processor.initStoredConfiguration(Processor.java:517)
          at oracle.apps.jtf.fm.engine.processor.Processor.(Processor.java:253)
          at oracle.apps.jtf.fm.FulfillmentServer.startServer(FulfillmentServer.java:181)
          at oracle.apps.jtf.fm.FulfillmentServer.main(FulfillmentServer.java:249)

          — — thread:main
          oracle.apps.jtf.fm.engine.processor.ProcessorException: Unknown SMTP host: la5095.oracleads.com;
          nested exception is:
          java.net.UnknownHostException: la5095.oracleads.com
          at oracle.apps.jtf.fm.engine.processor.Processor.initStoredConfiguration(Processor.java:482)
          at oracle.apps.jtf.fm.engine.processor.Processor.(Processor.java:253)
          at oracle.apps.jtf.fm.FulfillmentServer.startServer(FulfillmentServer.java:181)
          at oracle.apps.jtf.fm.FulfillmentServer.main(FulfillmentServer.java:249)

          — — thread:main
          oracle.apps.jtf.fm.engine.pooling.TransportPoolExcp: Unknown SMTP host: la5095.oracleads.com;
          nested exception is:
          java.net.UnknownHostException: la5095.oracleads.com
          at oracle.apps.jtf.fm.engine.pooling.TransportPool.getInstance(TransportPool.java:204)
          at oracle.apps.jtf.fm.engine.processor.Processor.initStoredConfiguration(Processor.java:478)
          at oracle.apps.jtf.fm.engine.processor.Processor.(Processor.java:253)
          at oracle.apps.jtf.fm.FulfillmentServer.startServer(FulfillmentServer.java:181)
          at oracle.apps.jtf.fm.FulfillmentServer.main(FulfillmentServer.java:249)

          Please help me how to resolve this error.

          Thanks

          • Jagdish says:

            Just noticed this error when I started all the services again…


            01/11/14-06:53:48 :: You are running adalnctl.sh version 120.3

            LSNRCTL for Linux: Version 10.1.0.5.0 – Production on 11-JAN-2014 06:53:48

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

            Connecting to (ADDRESS=(PROTOCOL=TCP)(Host=jags)(Port=1668))
            TNS-12541: TNS:no listener
            TNS-12560: TNS:protocol adapter error
            TNS-00511: No listener
            Linux Error: 111: Connection refused

            01/11/14-06:53:48 :: adalnctl.sh: Starting listener process APPS_VIS.

            LSNRCTL for Linux: Version 10.1.0.5.0 – Production on 11-JAN-2014 06:53:48

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

            Starting /u01/E-BIZ/apps/tech_st/10.1.2/bin/tnslsnr: please wait…

            TNSLSNR for Linux: Version 10.1.0.5.0 – Production
            NL-00280: Message 280 not found; No message file for product=network, facility=NL [/u01/E-BIZ/inst/apps/VIS_jags/logs/ora/10.1.2/network/apps_vis.log]
            NL-00278: Message 278 not found; No message file for product=network, facility=NL
            SNL-00016: Mess

            Listener failed to start. See the error message(s) above…

          • John Piwowar says:

            Hi Jagdish,

            Try running the following on the app server and restarting:
            $ cd /u01/E-BIZ/apps/apps_st/appl
            $ rm *atgtxk02*

            That will clear up the errors you’re getting on server startup:
            “/u01/E-BIZ/apps/apps_st/appl/APPSmydb_atgtxk02.env: line 31″ /u01/E-BIZ/inst/apps/mydb_atgtxk02/ora/10.1.2/mydb_atgtxk02.env: No such file or directory” [FAILED]

            I notice from your screenshots that you’re trying to start the applications as root. This might be contributing to your other problems. You need to run the applications startup as oracle.

  • Jagdish says:

    Hi John,

    Many many thanks for helping me getting out of these issues. Everything is working fine now.

    btw screen is showing some error msgs like “type=1400 avc denied”. can we stop such error msgs or is it normal.

    Thanks

    • John Piwowar says:

      Hi Jagdish,

      Those messages, although they’re annoying, should not have an impact on the functioning of the apps. They’re usually (maybe always?, says the not-a-sysadmin DBA) related to SELinux, which should be disabled. Regardless, if you can start the database and apps, and access the apps, then you’re ready to start learning about EBS, and can ignore the “noise” of the avc messages.

  • Donald Davis says:

    Hi John;

    I am at the stage of carrying out configuration for APPS; but at the step for setting up the IP address for the database server, when I ping I get the message “destination host unreacheable” This maybe caused by my Networking settings in both the App server and Database server, which are: Adapter 1: Inter PRO/1000 MT Desktop (NAT), and Adapter 2: Interl PRO/1000 MT Desktop (Bridged Adapter, eth0). I could not implement Adapter 2 as Intel PRO/1000 MT DESKTOP (Bridge Adpter, eth0)?? Any suggestions? Any help will be greatly appreciated!

    • John Piwowar says:

      Hi Donald,

      Not 100% certain I have the correct picture, but I do know that you’ll have trouble if you try to use the IP of the NAT interface, because your apps and database tiers will not be able to communicate. What does the output of the ifconfig command look like on the database server? Which IP are you trying to ping, and from where?

  • manish says:

    its awesome buddy .. thanks so much :-)

  • Alok says:

    Hi All – I am not sure if this thread is still alive. I have been trying to install EBS for last 5-6 weeks with the help of different posts and was never able to reach to this extend. This is a great piece of information.

    I have installed both DB and APP servers however, I am not able to connect to http://natoth.local.org:8042

    When I checked the log files … I see following errors in APP server logs:

    ————————————————–
    [root@natoth log]# cat adalnctl.txt

    03/15/14-09:36:29 :: You are running adalnctl.sh version 120.3

    LSNRCTL for Linux: Version 10.1.0.5.0 – Production on 15-MAR-2014 09:36:29

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

    Connecting to (ADDRESS=(PROTOCOL=TCP)(Host=natoth)(Port=1668))
    TNS-12541: TNS:no listener
    TNS-12560: TNS:protocol adapter error
    TNS-00511: No listener
    Linux Error: 111: Connection refused

    03/15/14-09:36:29 :: adalnctl.sh: Starting listener process APPS_VIS.

    LSNRCTL for Linux: Version 10.1.0.5.0 – Production on 15-MAR-2014 09:36:29

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

    Starting /u01/E-BIZ/apps/tech_st/10.1.2/bin/tnslsnr: please wait…

    TNSLSNR for Linux: Version 10.1.0.5.0 – Production
    System parameter file is /u01/E-BIZ/inst/apps/VIS_natoth/ora/10.1.2/network/admin/listener.ora
    Log messages written to /u01/E-BIZ/inst/apps/VIS_natoth/logs/ora/10.1.2/network/apps_vis.log
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=natoth.local.org)(PORT=1668)))

    Connecting to (ADDRESS=(PROTOCOL=TCP)(Host=natoth)(Port=1668))
    STATUS of the LISTENER
    ————————
    Alias APPS_VIS
    Version TNSLSNR for Linux: Version 10.1.0.5.0 – Production
    Start Date 15-MAR-2014 09:36:29
    Uptime 0 days 0 hr. 0 min. 0 sec
    Trace Level off
    Security ON: Local OS Authentication
    SNMP OFF
    Listener Parameter File /u01/E-BIZ/inst/apps/VIS_natoth/ora/10.1.2/network/admin/listener.ora
    Listener Log File /u01/E-BIZ/inst/apps/VIS_natoth/logs/ora/10.1.2/network/apps_vis.log
    Listening Endpoints Summary…
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=natoth.local.org)(PORT=1668)))
    Services Summary…
    Service “FNDFS” has 1 instance(s).
    Instance “FNDFS”, status UNKNOWN, has 1 handler(s) for this service…
    Service “FNDSM” has 1 instance(s).
    Instance “FNDSM”, status UNKNOWN, has 1 handler(s) for this service…
    The command completed successfully

    —————————————

    I have installed this on
    MAC OSX—- Virtual box —- DB server and APP server

    I help around this would be greatly appreciated. After spending so many hrs, I cannot say no to this.

    Many thanks

    • John Piwowar says:

      Hi Alok,

      The log you’ve posted shouldn’t be the issue. The last part of it shows that the Apps listener is started and running.

      You don’t say what happens when you try to connect to the Apps URL; this would be more helpful. Have you added the IP address of the VM to your local host file? What kind of virtual network adapter are you using?

      • Alok says:

        Hi John,

        Thanks for your response. Here are the details …

        You don’t say what happens when you try to connect to the Apps URL
        — Safari can’t find the server

        Have you added the IP address of the VM to your local host file?
        — I think no, do I need to update that in .profile file? Please provide more details

        What kind of virtual network adapter are you using?
        — Host-only Adapter, vboxnet0 and NAT(for APP and DB both)

        - Thanks

        • John Piwowar says:

          Have you added the IP address of the VM to your local host file?
          I think no, do I need to update that in .profile file? Please provide more details

          This is most likely your problem. Your host (workstation) needs to know which IP to use to find your guest (VM). You will need to add the hostname and IP of the guest to the /etc/hosts file on your Mac.

  • Santosh says:

    Hi John,

    I am trying to downlaod the software “Oracle VM Templates for Oracle E-Business Suite Release 12.1.3 Vision Media Pack for x86 (64 bit). ” from edelivery.oracle.com but did not find the vm template for EBiz. Also the link provided in this post also not giving the template location. Could you please provide the link to download the file.

    Thanks,
    Santosh

  • Santosh says:

    Hi John,

    please ignore my above query. I got the link it was in oracle linux, I was looking in E-Biz. Thanks for great post.

    Regards,
    Santosh

  • Bill Reich says:

    Hello John
    First let me echo all the others and say WOW. This is great. Thank you.
    I ran into a problem that I do not see in any of the replies.
    Everything seems to have gone ok. Both database and application are running on the two tiers. I followed your directions exactly. The only difference is that I named my hosts: EBSAPPS.local.org and EBSDB.local.org.
    However, when I try to connect with Google Chrome, I get the message: “Oops! Google Chrome could not connect to ebsapps.local.org:8042”
    adstrtal exited with status 0. Opmn status show all up and alive.
    However, adocorect1.sh, run by adstrtal, exited with status 150. It contains the following text:
    03/26/14-03:13:24 :: adoacorectl.sh: Starting OPMN managed OACORE OC4J instance
    opmnctl: starting opmn managed processes…
    ================================================================================
    opmn id=EBSAPPS.local.org:6242
    no processes or applications matched this request
    03/26/14-03:13:24 :: adoacorectl.sh: exiting with status 150

    I have been looking at this for a couple of days and can’t see the problem. Can you suggest where to look?

    Thank you very much. And thank you again for this article. It is amazing.

    Bill Reich

  • sandy says:

    Hi John,

    I used your article several times and never fail me.
    But on my last setup i have one issue, not big issue, just curious.
    I followed every steps and everything works fine. I am able to access the application, java work flawless (initial setup).
    What make me curious? Database service start immediately after power up(reboot) the db tier machine, but not the application.
    Not a big issue because i able to start the application service manually.
    If you have any information about how to fix this that would be great.

    Thank you very much.

    • John Piwowar says:

      Hi Sandy,

      I don’t have my VMs started for reference, but here’s my best guess re: the apps not starting. Check /etc/init.d for the ‘ebiz’ start scripts, and make sure that the apps start script is pointing to the correct place. Then, check the startapps.sh/stopapps.sh scripts to make sure they aren’t sourcing incorrect environment files (a few people have mentioned this problem in the comment thread).

      Note that if you’re running a single-node instance, you won’t have apps start scripts in /etc/init.d, since those are created during the VM template config. This post assume a 2-node setup, though, so you should have /etc/init.d/ebizapps — or something like that, I’m guessing at the name since I’m away from my VMs. :)

  • Kevin says:

    Hi John. Great article. Thank you for taking the time to instruct!
    Hey, I’m having an issue similar to Rajesh(above), where when I attempt to reboot, after detaching the Linux ISO image, I’m getting a error, that no bootable medium is found. I just sit there.
    The output from my /etc/fstab is as follows:
    LABEL=/ / ext3 defaults 1 1
    LABEL=/boot /boot ext3 defaults 1 2
    tmpfs /dev/shm tmpfs defaults 0 0
    devpts /dev/pts devpts gid=5,mod=620 0 0
    sysfs /sys sysfs defaults 0 0
    proc /proc proc defaults 0 0
    LABEL=SWAP-VM /swap swap defaults 0 0
    LABEL=ebs1211db /u01 ext3 defaults 1 0

    Any assistance you can give would be appreciated..

  • Kevin says:

    John.. I solved my own issue. I had the .vdi disk order swithced on the VM. When I made my Root.vdi to be SATA port 0, then detached Linux .iso image, then rebooted, all went fine, and I’m able to boot right in.
    Again, great article!

  • Randy says:

    Got everything installed, and have it up and running with no problems. Only one question, how do i connect to the database with SQL Developer? I assume the sid is VIS, but what port is used for the database?

    Thanks

    • Russell H says:

      Hi Randy,
      That will depend on the port pool range. Default (or port pool 0) is 1561.
      Add the port pool number you selected onto that, and you’ll be able to log in.

      • John Piwowar says:

        Thanks, Russell! Just a quick note: the starting point for the listener port is 1521, not 1561. In my examples, I often use port pool 42, which would make the listener port 1521+42=1563.

  • Russell H says:

    Hi John,
    Quick question. Is it possible to just extract the two tier templates, and attach them to a fresh install of linux 5.6? And lastly, do you have to run the rapid clone? I’m assuming this is necessary to have the right environmental parameters set into Linux?
    Cheers,
    Russell H.

    • John Piwowar says:

      Hi Russell,

      I haven’t tried that, but as long as you’ve converted the disks to VDI format and configured the OS pre-reqs correctly, it should work. You would still need to run rapidclone to configure the apps.

      FWIW, the “as long as … you’ve configured the OS pre-reqs correctly” part is one of the reasons it’s useful to have the template in the first place. No mucking around with kernel parameters, package installs, etc. :)

Leave a Reply

  • (will not be published)

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>