Site icon Silva Tech Solutions LLC

Oracle 12c Ubuntu Xen Server Setup

We’ve recently started on a new Research and Development project to try and compare Oracle 12c with another database system. Our preferred tools are usually Ubuntu and Citrix XenServer, so we decided to create a new UBUNTU with plenty of spindle, memory and CPU power on our Xen Server.

We found a great article from “Gems of Programming” (Article Here) that de-mystified much of the issues surrounding the install.

The biggest hurdle we faced is that Oracle requires an Xserver gui of some-sort to actually do the install process itself. We could NOT get X-server to work on XenCenter and following the trail of questions on the Internet essentially led to nowhere. We caught a break when we found was that someone had written step by step instructions on getting the x system to work via Tight VNC. Unfortunately the instructions came in the form of a Word Document and we could not find the original author which helped us to get TightVnc to work. (The Word document meta tags suggest the author is “RKON Technologies”. Thank you very much for this tip!).

After setting up all of the pre-requisites from “Gems of Programming”, the next step is to setup the GUI environment on the virtualized server.
Getting X Server to Work in a Virtualized Xen Server Host Via TightServer
(This has been tweaked specifically for the Oracle install. All should be run as privileged user)

  1. Install VNC Server – “sudo aptitude install tightvncserver”
  2. Run VNC Server for the first time – “vncserver”/Enter a 8 digit password when prompted.
  3. Create a VNC Server script – “sudo touch /etc/init.d/vncserver”/li>
  4. Add the following content to /etc/init.d/vncserver
    #!/bin/sh -e
    ### BEGIN INIT INFO
    # Provides:          vncserver
    # Required-Start:    networking
    # Default-Start:     3 4 5
    # Default-Stop:      0 6
    ### END INIT INFO
     
    PATH="$PATH:/usr/X11R6/bin/"
     
    # The Username:Group that will run VNC
    export USER="oracle"
    #${RUNAS}
     
    # The display that VNC will use
    DISPLAY="1"
     
    # Color depth (between 8 and 32)
    DEPTH="16"
     
    # The Desktop geometry to use.
    #GEOMETRY="<WIDTH>x<HEIGHT>"
    #GEOMETRY="800x600"
    GEOMETRY="1024x768"
    #GEOMETRY="1280x1024"
     
    # The name that the VNC Desktop will have.
    NAME="my-vnc-server"
     
    OPTIONS="-name ${NAME} -depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"
     
    . /lib/lsb/init-functions
     
    case "$1" in
    start)
    log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
    su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
    ;;
     
    stop)
    log_action_begin_msg "Stoping vncserver for user '${USER}' on localhost:${DISPLAY}"
    su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
    ;;
     
    restart)
    $0 stop
    $0 start
    ;;
    esac
     
    exit 0

    #!/bin/sh -e
    ### BEGIN INIT INFO
    # Provides: vncserver
    # Required-Start: networking
    # Default-Start: 3 4 5
    # Default-Stop: 0 6
    ### END INIT INFO
    PATH=”$PATH:/usr/X11R6/bin/”
    # The Username:Group that will run VNC
    export USER=”oracle”
    #${RUNAS}
    # The display that VNC will use
    DISPLAY=”1″
    # Color depth (between 8 and 32)
    DEPTH=”16″
    # The Desktop geometry to use.
    #GEOMETRY=”<WIDTH>x<HEIGHT>”
    #GEOMETRY=”800×600″
    GEOMETRY=”1024×768″
    #GEOMETRY=”1280×1024″
    # The name that the VNC Desktop will have.
    NAME=”my-vnc-server”
    OPTIONS=”-name ${NAME} -depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}”
    . /lib/lsb/init-functions
    case “$1” in
    start)
    log_action_begin_msg “Starting vncserver for user ‘${USER}’ on localhost:${DISPLAY}”
    su ${USER} -c “/usr/bin/vncserver ${OPTIONS}”
    ;;
    stop)
    log_action_begin_msg “Stoping vncserver for user ‘${USER}’ on localhost:${DISPLAY}”
    su ${USER} -c “/usr/bin/vncserver -kill :${DISPLAY}”
    ;;
    restart)
    $0 stop
    $0 start
    ;;
    esac
    exit 0

  5. Make the script executable – “sudo chmod +x /etc/init.d/vncserver”
  6. Run the following command to create the symlinks for vncserver – “sudo update-rc.d vncserver defaults”
  7. Start/Restart VNC Server – “sudo /etc/init.d/vncserver start/restart”
  8. Open VNC client ( We like tightviewer) to IPAddress:0 or IPAddress:1 depending upon which was the default instance created

Once you are logged into your VNC session, open up a shell and start the “installer” process, per the “Gems of Programming” article. In a few seconds you should get a red popup saying “ORACLE Database” and you are off to the races.

Have any Research and Development Projects that you need an experienced engineer to tackle?
Do hesitate to Contact Us!

Exit mobile version