<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>Simon&apos;s Tech Tips at Oracle</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/simonthorpe/" />
   <link rel="self" type="application/atom+xml" href="http://blogs.oracle.com/simonthorpe/xml/rss.xml" />
   <id>tag:blogs.oracle.com,2009:/simonthorpe//2101</id>
   <updated>2009-07-30T06:36:42Z</updated>
   <subtitle>Simon Thorpe, senior consultant at Oracle, blogs about simple and useful tips when working with Oracle technology.</subtitle>
   <generator uri="http://www.sixapart.com/movabletype/">Movable Type Enterprise 4.23-en</generator>


<entry>
   <title>Running OpenFiler 2.3 on Oracle VM (Would work in any Xen server)</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/simonthorpe/2009/07/running_openfiler_23_on_oracle.html" />
   <id>tag:blogs.oracle.com,2009:/simonthorpe//2101.13419</id>
   
   <published>2009-07-29T05:13:46Z</published>
   <updated>2009-07-30T06:36:42Z</updated>
   
   <summary> Well, now that my VMWare Server 2 environment is no more and I purchased 5 1TB disks for my RAID 5 array, Avi Miller had the excellent idea of using OpenFiler to manage access to the array. However I...</summary>
   <author>
      <name>Simon Thorpe</name>
      <uri>http://blogs.oracle.com/irm/about.html</uri>
   </author>
   
      <category term="Oracle VM" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="openfiler" label="openfiler" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="oraclevm" label="oracle vm" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="ovm" label="ovm" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/simonthorpe/">
      <![CDATA[<p><img alt="OpenFiler-Logo.gif" src="http://blogs.oracle.com/simonthorpe/images/OpenFiler-Logo.jpg" width="600" height="73" /></p>

<p>Well, now that my VMWare Server 2 environment is no more and I purchased 5 1TB disks for my RAID 5 array, Avi Miller had the excellent idea of using OpenFiler to manage access to the array. However I had some difficulty in finding the right information to set this up, but the helpful people on the internal mailing list and pulling together some pieces from other forums, IRC and such I was able to get this working. I must admit, I didn't take a very efficient route but it worked for me and well... thats all that matters. </p>

<p>I should also give credit to <a href="http://www.webangel.ie/" target="_blank">Belgarath</a> who was immense help in the #openfiler IRC channel on <a href="http://freenode.net/" target="_blank">freenode.net</a>. His understanding of both Xen and OpenFiler got me over quite a few bumps.</p>

<p>Before I go into my method of getting the environment working. I initially tried creating the image by building a .img from scratch, partitioning it, extracting the OpenFiler Xen tar into it and then copying in the boot files. I had problems doing this, most likely due to my lack of Linux knowledge. My second attempt was to build a base Oracle Enterprise Linux install, mount the .img via loopback devices, then extract the OpenFiler Xen tar onto that. This however partially worked, I had a log of errors like the following;<br />
<code><br />
/sbin/MAKEDEV: /lib/tls/libc.so.6: version 'GLIBC_2.4' not found (required by /lib/libselinux.so.1)<br />
</code><br />
The image did start, but I ran out of patience trying to understand the issue with these libraries, OpenFiler ships with 2.3.1 and obviously there were files from the underlying Enterprise Linux install that had 2.4 requirements. In the end I went down the following path, like I say, not quite best practice, but it actually had some nice advantages.</p>

<h2>Building an OpenFiler VMWare image</h2>
So I figured I would first build a VMWare image on my Windows workstation using VMWare Workstation. This let me very quickly get an instance of OpenFiler running and sort out networking, have a play with it before deciding to deploy to OVM. It was relatively simple;
<ul>
<li>Download the <a href="http://sourceforge.net/projects/openfiler/files/openfiler-distribution-iso-x86/openfiler-2.3-x86-disc1.iso" target="_blank">OpenFiler ISO</a> installer image.
<li>Create a new VMWare image with an 8GB SCSI single virtual file hard disk, 512MB RAM, single CPU and bridged network interface.
<li>Boot the VMWare guest and install OpenFiler
</ul>
Using VMWare I could now easily create a snapshot of the initial install and play with some of the settings without worry. 

<h2>Convert to Oracle VM (Xen) image</h2>
Once I was happy with the setup, I cloned it to give me a simple set of files with no snapshots to transfer over to the OVM server. I copied the directory over into my <strong>/OVS/running_pool/</strong> and using the Oracle VM Manager interface I was then able to import the image and convert to a Xen compatible image. The steps to doing the import are;
<table border="0" cellpadding="2" cellspacing="0"> 
<tbody><tr><td valign="top" align="left">
<ul>
<li>Copy the VMWare image files into <strong>/OVS/running_pool/openfiler</strong>
<li>Log into the Oracle VM Manager website and switch to the <strong>Resources</strong> tab.
<li>Select the <strong>Virtual Machine Images</strong> sub tab and hit the <strong>Import</strong> button.
<li>Choose <strong>Select from Server Pool (Discover and register)</strong>, this will look in the running_pool for images not already registered with the manager.
<li>On the next page select the pool the OVM server is a member of and should then be able to choose the VMWare image you've just copied over.
<li>For operating system choose <strong>other</strong>, enter a console password and click next where you can import the image.
<li>The imported image then next needs to be approved, select the image and hit approve. At this point Oracle VM server will convert this image from VMWare to a Xen based one plus a config file.
<li>Once converted, don't start the guest, we need to switch this to a paravirtualised guest first.
</ul>
</td><td valign="top"><br><img alt="OpenFiler-OVM01.gif" src="http://blogs.oracle.com/simonthorpe/images/OpenFiler-OVM01.gif" width="159" height="222" /></td></tr></tbody></table>

<h2>Modify image for running the Xen kernel</h2>
So after the conversion you'll notice that the vm.cfg file that has been created in the same dir the VMWare images are is setup to run the OpenFiler guest in <a href="http://en.wikipedia.org/wiki/Hardware_virtual_machine" target="_blank">HVM</a> mode. However OpenFiler have already compiled a kernel that supports <a href="http://en.wikipedia.org/wiki/Paravirtualization" target="_blank">paravirtualization (PVM)</a>. We need to mount the .img file so we can go in, add the files for this Xen PVM kernel and configure the OS to boot using this kernel.

<ul>
<li>First create a loopback device for the image. Note you may well get a different number for <strong>loop0</strong>.<br>
<code><br>
[root@ovm-big OPF_OpenFiler]# losetup -fv system.img<br>
Loop device is /dev/loop0
</code><br>
<li>Now expose the partitions on this device.<br>
<code>
[root@ovm-big openfiler]# kpartx -av /dev/loop0<br>
add map loop0p1 : 0 208782 linear /dev/loop0 63<br>
add map loop0p2 : 0 14474565 linear /dev/loop0 208845<br>
add map loop0p3 : 0 2088450 linear /dev/loop0 14683410<br>
</code><br>
<li>Now we need to mount these partitions so we can copy over the data from the Xen tar. You will need to now extract a copy of the <a href="http://www.rpath.org/rbuilder/downloadImage?fileId=26670" target="_blank">openfiler-2.3-x86.tar.gz</a> to the filesystem so we can get access to the files we need. Once you done this, mount the partitions like so.<br>
<code>
[root@ovm-big openfiler]# mkdir /mnt/of<br>
[root@ovm-big openfiler]# mount /dev/mapper/loop0p2 /mnt/of<br>
[root@ovm-big openfiler]# mount /dev/mapper/loop0p1 /mnt/of/boot<br>
</code><br>
<li>Now copy into the <strong>/mnt/of/boot</strong> folder the files for the Xen kernel from the extracted tar directory. I did a <strong>tar zxvf openfiler-2.3-x86.tar.gz -C /install/openfiler-2.3-x86</strong>.<br>
<code>
cp /install/openfiler-2.3-x86/boot/*.domU* /mnt/of/boot<br>
cp -Rv /install/openfiler-2.3-x86/lib/modules/2.6.21.7-3.20.smp.pae.gcc3.4.x86.i686.xen.domU /mnt/of/lib/modules<br>
</code><br>
<li>Finally we need to add an entry into the grub bootloader config.<br>
<code>
vi /mnt/of/boot/grub/grub.conf
</code><br>
And add the folllowing lines to the end of the file.
<code>
title OpenFiler NSA Xen (2.6.21.7-3.20.smp.pae.gcc3.4.x86.i686.xen.domU)<br>
&nbsp;&nbsp;&nbsp;root (hd0,0)<br>
&nbsp;&nbsp;&nbsp;kernel /vmlinuz-2.6.21.7-3.20.smp.pae.gcc3.4.x86.i686.xen.domU ro root=LABEL=/ quiet<br>
&nbsp;&nbsp;&nbsp;initrd /initrd-2.6.21.7-3.20.smp.pae.gcc3.4.x86.i686.xen.domU.img<br>
</code><br>
Also change the line <strong>default=0</strong> to <strong>default=1</strong> so that it boots automatically into the Xen kernel. Save out the file and now we need to unmount this image so we can start it up.<br><br>
<li>Run the following to unmount all the pieces of the image.<br>
<code>
[root@ovm-big /]# umount /mnt/of/boot<br>
[root@ovm-big /]# umount /mnt/of<br>
[root@ovm-big /]# kpartx -d /dev/loop0<br>
[root@ovm-big /]# losetup -d /dev/loop0<br>
</code><br>
</ul>
<h2>Prepare space for use via OpenFiler</h2>
Now that we have OpenFiler working, we need to setup some space to expose to the VM. I have my3 terrabyte array and two single 500gb disks which will be used. First create valid partitions on all three;<br><br>
<code>
Disk /dev/sdb: 500.1 GB, 500107862016 bytes<br>
255 heads, 63 sectors/track, 60801 cylinders<br>
Units = cylinders of 16065 * 512 = 8225280 bytes<br><br>
   Device Boot      Start         End      Blocks   Id  System<br>
/dev/sdb1               1       60801   488384001   8e  Linux LVM<br><br>
Disk /dev/sdc: 500.1 GB, 500107862016 bytes<br>
255 heads, 63 sectors/track, 60801 cylinders<br>
Units = cylinders of 16065 * 512 = 8225280 bytes<br><br>
   Device Boot      Start         End      Blocks   Id  System<br>
/dev/sdc1               1       60801   488384001   8e  Linux LVM<br><br>
WARNING: GPT (GUID Partition Table) detected on '/dev/sdd'! The util fdisk doesn't support GPT. Use GNU Parted.<br><br>
Disk /dev/sdd: 2999.9 GB, 2999967547392 bytes<br>
255 heads, 63 sectors/track, 364725 cylinders<br>
Units = cylinders of 16065 * 512 = 8225280 bytes<br><br>
   Device Boot      Start         End      Blocks   Id  System<br>
/dev/sdd1               1      267350  2147483647+  ee  EFI GPT<br><br>
</code>
Note that for the 3TB array you must used <a href="http://www.cyberciti.biz/tips/fdisk-unable-to-create-partition-greater-2tb.html" target="_blank"><strong>parted</strong></a> using a <A href="http://en.wikipedia.org/wiki/GUID_Partition_Table" target="_blank">GPT</a> partition table and not <strong>fdisk</strong> due to limitations with the msdos partition type. Now create a physical and then a logical volume on each partition. Below you can see the output of me doing this with one of the 500GB drives.<br><br><code>
[root@ovm-big ~]# pvcreate /dev/sdb1<br>
  Physical volume "/dev/sdb1" successfully created<br>
[root@ovm-big ~]# vgcreate -s 16M Data0 /dev/sdb1<br>
  Volume group "Data0" successfully created<br>
[root@ovm-big 103_contentserver]# vgchange -a z<br>
  1 logical volume(s) in volume group "Data0" now active
</code>

<h2>Configure space in OpenFiler</h2>
The final step is to configure the volumes in OpenFiler. First make sure the guest is not running, we need to edit the vm.cfg to expose these new volumes to the OpenFiler guest.
<ul>
<li>In your shell change to the directory where the OpenFiler guest lives, <em>cd /OVS/running_pool/openfiler/</em>
<li>vi vm.cfg and edit the <strong>disk</strong> setting so it looks something like.<br>
<code>
disk = ['file:/OVS/running_pool/openfiler/OpenFiler.img,hda,w',<br>
'phy:/dev/sdd1,sdb1,w',<br>
'phy:/dev/sdb1,sdb2,w',<br>
'phy:/dev/sdc1,sdb3,w',]<br>
</code>
<li>Save the file.
</ul>

<p>Now unfortunately even though we have converted the HVM guest to PVM, Oracle VM Manager doesn't realise this. So to startup the image we have to use the command line.<br />
<code><br />
[root@ovm-big /]# cd /OVS/running_pool/openfiler/<br />
[root@ovm-big openfiler]# xm create vm.cfg<br />
Using config file "./vm.cfg".<br />
Started domain openfiler<br />
</code></p>

<p><img alt="OpenFiler-OVM02.gif" src="http://blogs.oracle.com/simonthorpe/images/OpenFiler-OVM02.gif" width="600" height="183" /></p>

<p>OpenFiler should now be running! First I checked this by VNC'ing to the console of the guest. This let me watch OpenFiler boot. Once it was up I could login as root, with no password (unless you changed this during the VM build). I changed the root pass which enabled me to then SSH in remotely and check everything was ok. Finally it was time to load up the web based UI. This is accessed via <strong>https://filer.host.name:446</strong> and the default username and password is <strong>openfiler</strong> and <strong>password</strong>. From here I could continue configuring the volumes, add shares etc. Once I have my OID and OVD install up and running, that will serve as the LDAP server behind this system for authentication...</p>]]>
      
   </content>
</entry>

<entry>
   <title>Using SES web services in Eclipse/Workshop for WebLogic</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/simonthorpe/2009/07/using_ses_web_services_in_ecli.html" />
   <id>tag:blogs.oracle.com,2009:/simonthorpe//2101.13524</id>
   
   <published>2009-07-28T00:26:42Z</published>
   <updated>2009-07-28T20:00:56Z</updated>
   
   <summary>A customer wanted to know how to expose functionality from Oracle&apos;s Secure Enterprise Search in WebLogic Portal. A simple solution would be to simply iFrame up the standard SES search page but it is nice to be able to have...</summary>
   <author>
      <name>Simon Thorpe</name>
      <uri>http://blogs.oracle.com/irm/about.html</uri>
   </author>
   
      <category term="Oracle Secure Enterprise Search" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="secureenterprisesearch" label="secure enterprise search" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="ses" label="ses" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="webservices" label="web services" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/simonthorpe/">
      <![CDATA[<p>A customer wanted to know how to expose functionality from Oracle's Secure Enterprise Search in WebLogic Portal. A simple solution would be to simply iFrame up the standard SES search page but it is nice to be able to have a more integrated solution using custom code. Turning down the web services road I built some simple JSP pages to demonstrate functionality from SES. However my initial attempt was to try and create valid Java stubs using Axis/Axis2 libraries. The WSDL exposed from SES wasn't easily consumed in Workshop for WebLogic (basically Eclipse with a LOT of Oracle WebLogic and Portal plugins). SES has a hosted page with all the service descriptions and there is a pre-built <strong>jar</strong> referenced from this page. Always the way isn't it? You spend hours trying the difficult route for a simple solution to be right under your nose.</p>

<p>So the challenge was to get a JSP page running in WebLogic server, exposed via WebLogic Portal communicating with Oracle's Secure Enterprise Search. Once I had actually got the right way to do it sorted, the process was pretty simple. First a few useful URLs;</p>

<p>This is the end point for all web service requests and also exposes some nice test pages and links to the client jar.<br />
<code><br />
http://ses.server.com:7777/search/query/OracleSearch<br />
</code></p>

<p>From here you can get access to the WSDL by clicking on the <strong>Service Description</strong> link, e.g.<br />
<code><br />
http://ses.server.com:7777/search/query/OracleSearch?WSDL<br />
</code></p>

<h2>Preparing your project with the right libraries</h2>
I started with a blank <em>Dynamic Web Project</em> in Workshop. I needed to collect the right <em>jar</em> files for me to be able to communicate to the SES server. The following files are found on the SES server, the main set of jars are located in;

<p><code><br />
%ORACLE_HOME$\ses1\oc4j\webservices\lib<br />
-rw-rw-r-- 1 oracle oinstall   38015 Oct 21  2008 commons-logging.jar<br />
-rw-rw-r-- 1 oracle oinstall    4033 Oct 21  2008 futils.jar<br />
-rw-rw-r-- 1 oracle oinstall   30154 Oct 21  2008 jaxr-api.jar<br />
-rw-rw-r-- 1 oracle oinstall   28655 Oct 21  2008 jaxrpc-api.jar<br />
-rw-rw-r-- 1 oracle oinstall   28288 Oct 21  2008 JMXSoapAdapterShared.jar<br />
-rw-rw-r-- 1 oracle oinstall    8521 Oct 21  2008 jws-api.jar<br />
-rw-rw-r-- 1 oracle oinstall  166913 Oct 21  2008 mdds.jar<br />
-rw-rw-r-- 1 oracle oinstall  837178 Oct 21  2008 orajaxr.jar<br />
-rw-rw-r-- 1 oracle oinstall  240434 Oct 21  2008 orasaaj.jar<br />
-rw-rw-r-- 1 oracle oinstall  314362 Oct 21  2008 orawsdl.jar<br />
-rw-rw-r-- 1 oracle oinstall   53448 Oct 21  2008 orawsmetadata.jar<br />
-rw-rw-r-- 1 oracle oinstall  187083 Oct 21  2008 orawsrm.jar<br />
-rw-rw-r-- 1 oracle oinstall   19255 Oct 21  2008 relaxngDatatype.jar<br />
-rw-rw-r-- 1 oracle oinstall   16691 Oct 21  2008 saaj-api.jar<br />
-rw-rw-r-- 1 oracle oinstall  345421 Oct 21  2008 soap.jar<br />
-rw-rw-r-- 1 oracle oinstall  174290 Oct 21  2008 testpage.jar<br />
-rw-rw-r-- 1 oracle oinstall   66659 Oct 21  2008 WebServicesAssembler.jar<br />
-rw-rw-r-- 1 oracle oinstall  797326 Oct 21  2008 wsa.jar<br />
-rw-rw-r-- 1 oracle oinstall 2337820 Oct 21  2008 wsclient.jar<br />
-rw-rw-r-- 1 oracle oinstall     594 Oct 21  2008 wsdl2ejb.jar<br />
-rw-rw-r-- 1 oracle oinstall  143102 Oct 21  2008 wsdl.jar<br />
-rw-rw-r-- 1 oracle oinstall  404222 Oct 21  2008 wsif.jar<br />
-rw-rw-r-- 1 oracle oinstall    2233 Oct 21  2008 wsil-ias.ear<br />
-rw-rw-r-- 1 oracle oinstall    2053 Oct 21  2008 wsil-ias_jsso.ear<br />
-rw-rw-r-- 1 oracle oinstall    2618 Oct 21  2008 wsil-install.xml<br />
-rw-rw-r-- 1 oracle oinstall    1414 Oct 21  2008 wsil-standalone.ear<br />
-rw-rw-r-- 1 oracle oinstall    4662 Oct 21  2008 ws-jaxrpc-shlib-patch.xml<br />
-rw-rw-r-- 1 oracle oinstall    7870 Oct 21  2008 wsm-handler.jar<br />
-rw-rw-r-- 1 oracle oinstall  310377 Oct 21  2008 wssecurity.jar<br />
-rw-rw-r-- 1 oracle oinstall  866934 Oct 21  2008 wsserver.jar<br />
-rw-rw-r-- 1 oracle oinstall  242055 Oct 21  2008 xsdlib.jar<br />
</code><br />
There is one more file I need for the project, <strong>http_client.jar</strong> located in;<br />
<code><br />
/oracle/ses1/oc4j/j2ee/home/lib<br />
-rw-rw-r-- 1 oracle oinstall  336666 Oct 21  2008 http_client.jar<br />
</code><br />
I was working purely in a project that was for SES and so I was able to copy all the above jars into my <em>WebContent\WEB-INF\lib</em> folder. You might need to hand pick specifically some of the Oracle libs if you have some of these libraries already.</p>

<p>The last jar we need is the OracleSearch.jar client itself. You access this from the service descriptions page described above, the URL would be;<br />
<code><br />
http://ses.server.com:7777/search/query/OracleSearch?proxy_jar<br />
</code><br />
<h2>Simple SES search using web services</h2><br />
Now that we have all the libraries in the project, we can write a little bit of code to do a search. I ripped some code from the SES documentation and then made appropriate JSP changes.</p>

<p>The main piece of code of interest is;<br />
<code><br />
//<br />
    // Create the Oracle SES Web Services client proxy<br />
    //<br />
    OracleSearchServiceProxy proxy = new OracleSearchServiceProxy();<br />
    proxy._setSoapURL("http://ses.server.com:7777/search/query/OracleSearch");<br />
    <br />
    //<br />
    // Get the search result by calling OracleSearchService.doOracleSearch()<br />
    //<br />
    OracleSearchResult result = proxy.doOracleSearch(searchTerm,<br />
                            new Integer(1),<br />
                            new Integer(10),<br />
                            Boolean.TRUE,<br />
                            Boolean.TRUE,<br />
                            null,<br />
                            "en",<br />
                            "en",<br />
                            Boolean.TRUE,<br />
                            null,<br />
                            null,<br />
                            null);<br />
    //<br />
    // Get the estimated hit count by calling OracleSearchResult.getEstimatedHitCount()<br />
    //<br />
    estimatedHitCount = result.getEstimatedHitCount();<br />
 <br />
    // Get the search results<br />
    resElemArray = result.getResultElements();<br />
</code></p>]]>
      
   </content>
</entry>

<entry>
   <title>Migrating a VMWare Server 2 Windows 2003 guest to Oracle VM</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/simonthorpe/2009/07/migrating_a_vmware_server_2_wi.html" />
   <id>tag:blogs.oracle.com,2009:/simonthorpe//2101.13388</id>
   
   <published>2009-07-17T05:43:02Z</published>
   <updated>2009-07-20T17:01:54Z</updated>
   
   <summary>Currently I have my dual core, 8GB RAM, 3TB RAID 5 array, server running Windows Server 2003 Enterprise and VMWare Server 2 with a Windows 2003 guest. I&apos;m in the process of converting this to Oracle VM and I need...</summary>
   <author>
      <name>Simon Thorpe</name>
      <uri>http://blogs.oracle.com/irm/about.html</uri>
   </author>
   
      <category term="Oracle VM" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="oraclevm" label="oracle vm" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="ovm" label="ovm" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="vmware" label="vmware" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/simonthorpe/">
      <![CDATA[<p>Currently I have my dual core, 8GB RAM, 3TB RAID 5 array, server running Windows Server 2003 Enterprise and VMWare Server 2 with a Windows 2003 guest. I'm in the process of converting this to Oracle VM and I need to migrate the guest server to running in my existing OVM server pool.</p>

<h2>Pre migration tasks</h2>
<h3>Stopping VMWare tools</h3>
There is a good <a href="http://www.oracle.com/technologies/virtualization/docs/p2v-whitepaper.pdf" target="_blank">whitepaper</a> on converting physical and VMWare images which mentions that if you have the VMWare tools installed on the guest, disable that service and then completely remove the tools post migration.

<p><img alt="Stopping VMWare tools" src="http://blogs.oracle.com/simonthorpe/images/VMWare-Tools-Stop.png" width="440" height="78" /></p>

<h3>Enabling IDE drivers</h3>
Reading <a href="http://ian.blenke.com/vmware/vmdk/xen/hvm/qemu" target="_blank">advice on migrating VMWare images to Xen</a> (Oracle VM uses Xen) I found that my VMWare Server image used a SCSI virtual disk and not IDE. Therefore I needed to install the IDE drivers for Xen use. So I followed the instructions to import the registry data and extract/copy the files in this Microsoft support <a href="http://support.microsoft.com/kb/314082/" target="_blank">kb314082</a>. I rebooted the machine just to ensure this change didn't affect the running of the server before I moved it.

<h3>Installing PV drivers</h3>
In the past I tried running guest servers as pure HVM and found the performance a bit painful. Therefore I want my VMWare image to use Paravirtualisation where possible. Oracle VM provides a set of drivers, "<strong>Paravirtualized Drivers for Windows Guests (XP/2003/2008/Vista) 1.0.8 - 32bit/64bit</strong>" on <a href="http://edelivery.oracle.com/oraclevm" target="_blank">edelivery</a>. When installing these drivers answer yes to all the questions about the drivers being uncertified. After these are installed, again I rebooted the machine to verify everything still worked as expected. 

<h3>Converting VMWare virtual disk from multiple 2GB files to one and preparing for OVM import</h3>
<table cellpadding="2" cellspacing="0" border="0"> 
<tr><td align="left" valign="top">This is where it got a little tricky. VMWare server had created my virtual disk as a bunch of 2GB files and I need to create one single image before I convert to the Xen format. Also VMWare Server 2 had often had problems when I tried to do a snapshot, so I had a lot of messy files in the VM directory. To the right is the list of the files and they needed a good cleanup, this is what I did to create a much simpler set of files.
<ul>
<li>Powered down the server running in VMWare Server 2 and copied the files shown right to my local Windows workstation.
<li>I had VMWare Workstation 6 installed which allowed me to power up the server. I switched the networking to host only mode so that it didn't clash with the other server which I had powered back up. Once booted I logged in and stopped some services (SQL Server, a monitoring tool and such), moved files around so that my machine only required one virtual hard disk.
<li>I had two disks associated with this image after moving around some files I detached the second data disk from the image so that only one remained.
</ul>
</td>
<td><img alt="VM-OVM01.gif" src="http://blogs.oracle.com/simonthorpe/images/VM-OVM01.gif" width="283" height="415" /></td></tr></table>
<ul>
<li>Powered down the server and ran the following command to create one single large virtual disk. Note that you need to do this on an NTFS partition due to a 2GB file limit in FAT32.<br>
<br>
<code>
D:\VM\ControlVM><strong>vmware-vdiskmanager -r "Windows Server 2003 Hard Disk-000001-cl1.vmdk" -t 0 win2k3.vmdk</strong><br>
Creating disk 'win2k3.vmdk'<br>
  Convert: 100% done.<br>
Virtual disk conversion successful.<br>
</code><br>
<li>Edited the VM image to use this new single disk as you can see below.
</ul>
<img alt="VM-OVM02.gif" src="http://blogs.oracle.com/simonthorpe/images/VM-OVM02.gif" width="596" height="319" />

<p>At this point I once again fired up the server to double check everything was running as expected.<br />
<h2>Migrating server to Oracle VM</h2><h3>Importing the image to the OVM server</h3>Nearly there! Next task is to copy the files over to the OVM server and import them. This process will convert the VMWare image to a Xen based file and create a config file so you can boot the machine in Oracle VM. Note that you must have at least twice as much space as the size of the importing VM free on the /OVS/ partition. Because OVM is going to create a new .img file based on the VMWare files, therefore roughly doubling space. Once again you should refer to the good <a href="http://www.oracle.com/technologies/virtualization/docs/p2v-whitepaper.pdf" target="_blank">whitepaper</a> from Oracle which contains information on migrating physical and virtual machines to OVM.<ul><li>Create a directory in <strong>/OVS/running_pool/</strong> on the OVM server and copy the VMWare files into it.<br />
<li>Login to Oracle VM Manager and switch to the <strong>Resources</strong> tab and select <strong>Virtual Machine Images</strong> from the sub tab.<br />
<li>Hit the <strong>import</strong> button and choose <strong>Select from Server Pool (Discover and register)</strong><br />
<li>You should now be able to choose your server pool and this will allow you to select the VM template. Note the name will be the same as the directory you created.<br />
<li>You can then continue to import the new image, this is going to take a while !<br />
<li>Finally you should be able to switch to the <strong>Virtual Machines</strong> tab and see that the VM is now listed. Select <strong>Power On</strong> and fingers crossed the image will start and power up.<br />
</ul><br />
<img alt="VM-OVM03.jpg" src="http://blogs.oracle.com/simonthorpe/images/VM-OVM03.jpg" width="607" height="291" /></p>

<h3>Installing drivers for the new Xen hardware</h3>
Hoping that your image boots, mine did first time, you should be able to login either via VNC provided by OVM or direct to the server using RDP. Because the paravirtual driver software has been installed, Windows will now be able to actually install and load the drivers for the devices that OVM has made available to Windows. You will start seeing a set of dialogs like the ones below. The following list of devices were detected and installed.
<ul>
<li>Xen PCI Device Driver
<li>Xen Stub Device Driver
<li>Xen Block Device Driver
<li>Xen Enum Device Driver
</ul>
<img alt="VM-OVM04.gif" src="http://blogs.oracle.com/simonthorpe/images/VM-OVM04.gif" width="503" height="385" />
<img alt="VM-OVM05.gif" src="http://blogs.oracle.com/simonthorpe/images/VM-OVM05.gif" width="503" height="385" />
<img alt="VM-OVM06.gif" src="http://blogs.oracle.com/simonthorpe/images/VM-OVM06.gif" width="503" height="385" />

<p>One final reboot then after these devices have all installed and I was up and running! Now I have finally moved all the dependancies from my VMWare Server 2 environment and it is time to rebuild that server as another OVM server...</p>

<p>Useful references for migrating from VMWare to Xen based virtual machines.<br />
<a href="http://www.virtualbox.org/wiki/Migrate_Windows">http://www.virtualbox.org/wiki/Migrate_Windows</a><br />
<a href="http://ian.blenke.com/vmware/vmdk/xen/hvm/qemu">http://ian.blenke.com/vmware/vmdk/xen/hvm/qemu</a></p>]]>
      
   </content>
</entry>

<entry>
   <title>Upgrading Oracle VM from 2.1.2 to 2.1.5</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/simonthorpe/2009/07/upgrading_oracle_vm_from_212_t.html" />
   <id>tag:blogs.oracle.com,2009:/simonthorpe//2101.13387</id>
   
   <published>2009-07-17T05:22:33Z</published>
   <updated>2009-07-17T18:59:57Z</updated>
   
   <summary>I&apos;m nearly ready to rebuild my final Windows based VMWare environment to Oracle VM. I have just one virtual machine now running in VMWare that I need to migrate over to OVM and it&apos;s a Windows 2003 server. Before I...</summary>
   <author>
      <name>Simon Thorpe</name>
      <uri>http://blogs.oracle.com/irm/about.html</uri>
   </author>
   
      <category term="Oracle VM" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="oraclevm" label="oracle vm" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="ovm" label="ovm" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/simonthorpe/">
      <![CDATA[<p>I'm nearly ready to rebuild my final Windows based VMWare environment to Oracle VM. I have just one virtual machine now running in VMWare that I need to migrate over to OVM and it's a Windows 2003 server. Before I do any of this I was advised to upgrade to the latest versions of OVM, 2.1.5.</p>

<h2>Upgrading the Oracle VM Manager</h2>
First download the Oracle VM Manager ISO from <a href="http://edelivery.oracle.com/oraclevm" target="_blank">edelivery</a> and copy it somewhere onto the file system where your Oracle VM Manager is running. I actually extracted the ISO to a folder, but you could just as easily mount it.

<p><code>mount -o ro,loop OracleVM-Manager-2.1.5.iso /mnt/</code></p>

<p>Then logging in as root, switch to the directory you just extracted and run <strong>./runInstaller.sh</strong>. It asks you if you want to install, uninstall or upgrade. I selected upgrade...<br />
<code><br />
Backup the database before upgrade is highly recommended, to backup the database now, choose 'N' and run:<br />
/opt/ovs-manager-2.1/bin/backup.sh<br />
</code> <br />
A wise idea, so...<br />
<code><br />
[root@portal opt]# cd /opt/ovs-manager-2.1/bin<br />
[root@portal bin]# ./backup.sh <br />
Welcome to Oracle VM Manager</p>

<p>Please enter the choice: [1|2]<br />
1. Back up Oracle VM Manager<br />
2. Restore Oracle VM Manager<br />
1</p>

<p>Back up data now ...<br />
Please enter the password for database account 'OVS': <br />
Please enter the path and filename for the dump file (eg /tmp/ovs.dmp):/oracle/backup/ovs.dmp<br />
Please enter the path and filename for the log file (eg /tmp/ovs.log):/oracle/backup/ovs.log<br />
...<br />
</code><br />
This ran and gave me a backup of the manager. I went back and ran the <strong>./runInstaller</strong> script and selected upgrade. It asked me if I want to upgrade from 2.1.2 to 2.1.5 which I did and after entering in passwords for both OVS and oc4jadmin it went through the upgrade process. I had the manager running at the time and it didn't seem to mind doing the upgrade with everything running. The upgrade went smoothly and ended with;<br />
<code><br />
Upgrade Oracle VM Manager successfully.<br />
Please check the log /var/log/ovm-manager/upgrade_2.1.2_2.1.5.log for more information.</p>

<p>To access the Oracle VM Manager 2.1.5 home page go to:<br />
  http://127.0.0.1:8888/OVS</p>

<p>To access the Oracle VM Manager web services WSDL page go to:<br />
  http://127.0.0.1:8888/OVSWS/LifecycleService.wsdl<br />
  http://127.0.0.1:8888/OVSWS/ResourceService.wsdl<br />
  http://127.0.0.1:8888/OVSWS/PluginService.wsdl<br />
  http://127.0.0.1:8888/OVSWS/ServerPoolService.wsdl<br />
  http://127.0.0.1:8888/OVSWS/VirtualMachineService.wsdl<br />
  http://127.0.0.1:8888/OVSWS/AdminService.wsdl</p>

<p>To access the Oracle VM Manager help page go to:<br />
  http://127.0.0.1:8888/help/help<br />
</code></p>

<h2>Upgrading the OVM Server</h2>
Burning a copy of the OVM 2.1.5 ISO from edelivery I booted up my server from the CD. Pressing enter at the start I was able to choose my existing 2.1.2 install and it failed to continue due to an inability to mount a partition. I had been attaching drives to this machine whilst copying off data from the array I was soon to rebuild, I had entries in my <strong>/etc/fstab</strong> that were no longer valid. So I had to reboot into the 2.1.2 install, remove the incorrect entries from the fstab and then boot back through the install process.

<p>Finally after once again choosing my 2.1.2 install to upgrade, I was asked if I wanted to update the boot loader config. I selected "Update boot loader configuration" and left "Skip boot loader updating" unchecked. The installer continued with the upgrade and everything worked pretty darn smoothly. Box rebooted and I was able to start one of my VM's without issue.<br />
</p>]]>
      
   </content>
</entry>

<entry>
   <title>Installing Oracle SES on Oracle Enterprise Linux 5 and patching to 10.1.8.4</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/simonthorpe/2009/07/installing_oracle_secure_enter.html" />
   <id>tag:blogs.oracle.com,2009:/simonthorpe//2101.13271</id>
   
   <published>2009-07-10T01:09:02Z</published>
   <updated>2009-07-10T07:33:19Z</updated>
   
   <summary>I had a customer POC this week and needed to make sure my SES skills were up to scratch. Some of the requirements for this POC required that we used the very latest version of SES (10.1.8.4) and therefore I...</summary>
   <author>
      <name>Simon Thorpe</name>
      <uri>http://blogs.oracle.com/irm/about.html</uri>
   </author>
   
      <category term="Oracle Enterprise Linux" scheme="http://www.sixapart.com/ns/types#category" />
   
      <category term="Oracle Secure Enterprise Search" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="oracleenterpriselinux" label="oracle enterprise linux" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="oraclesecureenterprisesearch" label="oracle secure enterprise search" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="ses" label="ses" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/simonthorpe/">
      <![CDATA[<p>I had a customer POC this week and needed to make sure my SES skills were up to scratch. Some of the requirements for this POC required that we used the very latest version of SES (10.1.8.4) and therefore I thought I would write up my experience installing this on OEL5.</p>

<h2>Preparing Oracle Enterprise Linux 5 update 3</h2>
I first downloaded the installer for SES 10.1.8.2 from the <a href="http://www.oracle.com/technology/software/products/search/htdocs/linuxsoft.html" target="_blank">Oracle website</a>. I also needed to get the patch sets to take SES from .2 to .3 and then .4. The documentation for 10.1.8.4 says you can go from .2 to .4 direct but I had advice which said a safer route was to go via the .3 patch first. The following are patch numbers you need to download from metalink. Note you obviously need a valid Oracle metalink account to download the following.<ul>
<li><a href="http://updates.oracle.com/ARULink/Download/process_form/p6848445_101830_LINUX.zip?file_id=22457846&aru=10022323&patch_file=p6848445_101830_LINUX.zip" target="_blank">6848445</a>
<li><a href="http://updates.oracle.com/ARULink/Download/process_form/p7514463_101840_LINUX.zip?file_id=25425197&aru=10634423&patch_file=p7514463_101840_LINUX.zip" target="_blank"> 7514463</a>
</ul>

<p>As per the SES <a href="http://download.oracle.com/docs/cd/E10502_01/doc/install.1018/e10463/toc.htm#CHDCFEHF" target="_blank">instructions</a>, I created my oracle user and the required groups, oinstall, dba and oracle. Now the <a href="http://download.oracle.com/docs/cd/E10502_01/doc/install.1018/e10463/toc.htm" target="_blank">documentation</a> currently for SES doesn't mention that release 5 of Oracle Enterprise Linux is certified, but even though it isn't <em> officially</em> supported one of the product managers did say he had installed it without issues. That was good enough for me and I took the package requirements from RedHat Enterprise Linux 4 as part of my pre installation tasks.<ul><li>glibc-2.3.4-2.9<br />
<li>make-3.80<br />
<li>binutils-2.15.92.0.2<br />
<li>openmotif-2.2.3-9.RHEL4.1<br />
<li>compat-db-4.1.25-9<br />
<li>setarch-1.6-1<br />
</ul></p>

<p>Make sure you also setup the right kernel parameters and shell limits. For reference I made the following changes to my system.</p>

<ul>
<li>Added the following lines to <strong>/etc/sysctl.conf</strong>.<br>
<code>
# Added for SES<br>
kernel.sem = 250 32000 100 128<br>
fs.file-max = 65536<br>
net.ipv4.ip_local_port_range = 1024 65000<br>
kernel.shmmni = 4096<br>
</code>
<li>Added the following lines to <strong>/etc/security/limits.conf</strong>.<br>
<code>
*       soft    nproc   16384<br>
*       hard    nproc   16384<br>
*       soft    nofile  1024<br>
*       hard    nofile  65536<br>
</code>
<li>Added the following to <strong>/etc/pam.d/login</strong>.<br>
<code>
session    required     /lib/security/pam_limits.so
</code>
<li>Added the following to <strong>/etc/profile</strong>.<br>
<code>
if [ $USER = "oracle" ]; then<br>
&nbsp;&nbsp;&nbsp;if [ $SHELL = "/bin/ksh" ]; then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ulimit -p 16384<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ulimit -n 65536<br>
&nbsp;&nbsp;&nbsp;else<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ulimit -u 16384 -n 65536<br>
&nbsp;&nbsp;&nbsp;fi<br>
fi<br>
</code>
</ul>

<p>I rebooted after these changes, logged into a <a href="http://blogs.oracle.com/simonthorpe/2009/06/running_vnc_server_on_oracle_e.html" target="_blank">VNC session</a> as the Oracle user and was set to do the installation.</p>

<h2>Installing SES 10.1.8.2</h2>
Logging into an X Windows session via VNC (yes, yes Avi, I will be installing <a href="http://www.nomachine.com/" target="_blank">NoMachine NX</a> soon) I started the installer, <strong>./runInstaller</strong>. 

<p>Go through the first few dialogs.<br />
<img alt="SES.10.8.1.2.install.01.gif" src="http://blogs.oracle.com/simonthorpe/images/SES.10.8.1.2.install.01.gif" width="647" height="505" /><br />
<img alt="SES.10.8.1.2.install.02.gif" src="http://blogs.oracle.com/simonthorpe/images/SES.10.8.1.2.install.02.gif" width="650" height="509" /></p>

<p>And then you will be asked to run this script as root.<br />
<img alt="SES.10.8.1.2.install.03.gif" src="http://blogs.oracle.com/simonthorpe/images/SES.10.8.1.2.install.03.gif" width="400" height="400" /></p>

<p>Then you'll find that it fails on some packages.<br />
<code><br />
Checking for compat-gcc-7.3-2.96.128; found Not found.  Failed <<<<<br />
Checking for compat-gcc-c++-7.3-2.96.128; found Not found.      Failed <<<<<br />
Checking for compat-libstdc++-7.3-2.96.128; found Not found.    Failed <<<<<br />
Checking for compat-libstdc++-devel-7.3-2.96.128; found Not found.      Failed <<<<<br />
</code><br />
Yet I do have versions installed that will suffice.<br />
<code><br />
[oracle@ses Desktop]$ rpm -qa compat\*<br />
compat-gcc-34-3.4.6-4<br />
compat-libgcc-296-2.96-138<br />
compat-libstdc++-33-3.2.3-61<br />
compat-db-4.2.52-5.1<br />
compat-libstdc++-296-2.96-138<br />
compat-gcc-34-c++-3.4.6-4<br />
</code><br />
So continue and accept the question that some of the checks have failed. The installer will then copying some files, then configure the embedded database and finally setup SES.<br />
<img alt="SES.10.8.1.2.install.04.gif" src="http://blogs.oracle.com/simonthorpe/images/SES.10.8.1.2.install.04.gif" width="650" height="508" /></p>

<p>The installation ends with the dialog giving you both URLs for the search page and the admin pages, they will be something like.<br />
<code><br />
http://ses:7777/search/query/search<br />
http://ses:7777/search/admin<br />
</code><br />
After a few minutes, all the services are installed and started and I was able to login to the admin pages, add a crawler to my gallery website and then search for some content. Before I attempt the upgrade I want to ensure that the system is working as expected. I rebooted the machine and after logging in as the oracle user, I ran the command from the %ORACLE_HOME%\bin directory.<br />
<code><br />
[oracle@ses bin]$ ./searchctl startall<br />
</code><br />
Again logging into both the query page and the admin pages confirms everything is working as expected.</p>

<h2>Upgrade to patch 10.1.8.3</h2>
Now that I have a valid SES installation, I need to move to the .3 version. First thing the readme asks is to login to <strong>sqlplus</strong>. What it doesn't explain is that the environment for the <strong>oracle</strong> user hasn't been setup and you'll need to do this yourself. I added the following to my <strong>/home/oracle/.bash_profile</strong> so that I could login to sqlplus easily. Note that my <strong>ORACLE_HOME</strong> and the <strong>ORACLE_SID</strong> is visible when the above <strong>startall</strong> command was run, like so.
<br>
<br>
<code>
... processed key-value:  action=startall<br>
... processed key-value:  oh=/oracle/ses1<br>
... processed key-value:  db_sid=ses<br>
</code>
<br>
So the following lines were added to my <strong>.bash_profile</strong>.<br>
<code>
# SES profile data<br>
ORACLE_BASE=/oracle<br>
ORACLE_HOME=$ORACLE_BASE/ses1<br>
ORACLE_SID=ses<br>
ORACLE_HOSTNAME=ses.mylocal.network<br>
PATH=$ORACLE_HOME/bin:$PATH<br>
<br>
export PATH<br>
export ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_HOSTNAME
</code>
<br><br>
I was then able to login to <em>sqlplus</em> and run the following.<br>
<code>
SQL> show parameter job_queue_processes<br>
<br>
NAME                                 TYPE        VALUE<br>
------------------------------------ ----------- ------------------------------<br>
job_queue_processes                  integer     10<br>
SQL> alter system set job_queue_processes=0;<br>
<br>
System altered.<br>
</code>
<br>
Then I could run the installer, <strong>runInstaller</strong> from the 10.1.8.3 patch install directory. The following dialog is displayed.
<img alt="SES.10.8.1.2.install.05.gif" src="http://blogs.oracle.com/simonthorpe/images/SES.10.8.1.2.install.05.gif" width="650" height="508" />
<br><br>Make sure you set the right destination otherwise the installer will report there are no patches that apply! If you setup the environment variables above you should be able to select the sid <strong>ses</strong> from the name drop down.
<img alt="SES.10.8.1.2.install.06.gif" src="http://blogs.oracle.com/simonthorpe/images/SES.10.8.1.2.install.06.gif" width="650" height="509" />
<br><br>After entering in the password and hitting next will give you a list of patches it will apply and clicking on Finish will start the process.

<p>Once all the steps have succeeded, it's time to reverse the SQL we ran at the start.<br />
<code><br />
SQL> alter system set job_queue_processes=10;</p>

<p>System altered.</p>

<p>SQL> show parameter job_queue_processes</p>

<p>NAME                                 TYPE        VALUE<br />
------------------------------------ ----------- ------------------------------<br />
job_queue_processes                  integer     10<br />
</code><br />
I also logged into the search query and admin pages just to check everything is working as expected.</p>

<h2>Upgrade to patch 10.1.8.4</h2>
The final step! This is exactly the same as the .3 upgrade. Login to sqlplus, change the <em>job_queue_processes</em> to 0, run the installer (remember to ensure the destination parameters are correct) and then after set the processes back to the original value.

<p>My main reason for doing this upgrade was to get some very nice new functionality regarding the customisation of the SES web pages. In 10.1.8.4 they have implemented the use of <a href="http://freemarker.org/" target="_blank">FreeMarker</a> templates. Once i've got the hang of making such customisations i'll post up another article.</p>]]>
      
   </content>
</entry>

<entry>
   <title>Using FreeRADIUS 2 on Oracle Enterprise Linux</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/simonthorpe/2009/06/using_freeradius_2_on_oracle_e.html" />
   <id>tag:blogs.oracle.com,2009:/simonthorpe//2101.12772</id>
   
   <published>2009-06-11T04:35:34Z</published>
   <updated>2009-06-11T19:23:22Z</updated>
   
   <summary>Another aspect of my home network is that I want to leverage as much of the Oracle security technologies as I can. Obviously IRM was one of the first services installed and now protects all my important documents. I also...</summary>
   <author>
      <name>Simon Thorpe</name>
      <uri>http://blogs.oracle.com/irm/about.html</uri>
   </author>
   
      <category term="Oracle Enterprise Linux" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="enterpriselinux" label="enterprise linux" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="freeradius" label="freeradius" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="idm" label="idm" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="oracleenterpriselinux" label="oracle enterprise linux" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="vpn" label="vpn" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/simonthorpe/">
      <![CDATA[<p>Another aspect of my home network is that I want to leverage as much of the Oracle security technologies as I can. Obviously <a href="http://blogs.oracle.com/irm/" target="_blank">IRM</a> was one of the first services installed and now protects all my important documents. I also want to use the Oracle Identity Management Suite (IDM) to centralize the administration of all my user accounts, roles and such. With all the services I have configured (<a href="http://www.oracle.com/technology/products/content-management/irm/index.html" target="_blank">IRM</a>, <a href="http://www.oracle.com/technology/products/content-management/ucm/index.html" target="_blank">UCM</a>, <a href="http://www.oracle.com/products/middleware/content-management/document-capture.html" target="_blank">ODC</a>, <a href="http://www.oracle.com/database/index.html" target="_blank">11gDB</a>, <a href="http://en.wikipedia.org/wiki/Active_directory" target="_blank">Active Directory</a>, <a href="http://doc.pfsense.org/index.php/VPN_Capability_PPTP" target="_blank">PPTP</a>), I sure do have a lot of accounts and passwords and roles to manage, even though there are only a handful of users!</p>

<p>I'm waiting for the 11g release of <a href="http://www.oracle.com/technology/products/oid/index.html" target="_blank">OID</a> and whilst I wait I want to get my systems prepared so I can be ready to slot OID behind everything that requires authorization. One of these first steps is to configure a radius server for the PPTP server on my firewall which I use to connect securely back to the network on my iPhone. I can configure my PPTP server to use radius for authentication, which in turn can use an LDAP repository, which will be OID.</p>

<h2>Installing <A href="http://freeradius.org/" target="_blank">FreeRADIUS</a> on Oracle Enterprise Linux 5</h2>
There is a very popular and well tested radius server in the open source community called <a href="http://freeradius.org/" target="_blank">FreeRADIUS</a>. The Oracle Enterprise Linux 5 DVD has a version of FreeRADIUS but it's old, version 1.x (<strong>freeradius-1.1.3-1.4.el5.i386.rpm</strong>). It seems that currently RedHat (upon which Oracle Enterprise Linux is based) do not ship FreeRADIUS 2 for the following reason;<br><br>
<code>
As of the time of this writing the version of FreeRADIUS in RHEL 5 is a rather old 1.1.3 version. RHEL has strict rules concerning package upgrades. In particular it is not permitted to upgrade a package with a newer version if they are not configuration compatible. FreeRADIUS 1.x and 2.x are NOT configuration compatible. It is also not permitted to remove a package from RHEL, customers may be running the 1.x version. Thus the version of FreeRADIUS in RHEL must stay at the 1.x level and must continue to use the package name "freeradius". However, many users 
want to install a current FreeRADIUS version on their RHEL5 system. The migration path to accomplish this is to introduce a new package called "freeradius2" into the RHEL5 update stream. It is anticipated this will occur in the RHEL 5.5 update. However to accommodate users wishing to install a current version on RHEL5 immediately a download site has been set up with pre-built FreeRADIUS 2.x packages on a tech preview basis. This will allow users to easily install a current version and to provide feedback on the tech preview in advance of the freeradius2 package becoming available in the RHEL5 update stream.

<p>It is important to note: The freeradius2 RPM's are not part of an official release therefore Red Hat customers with support contracts may not receive support on this version. These tech preview RPM's will be removed from the download site once freeradius2 enters the update stream, at that time the method to obtain the freeradius2 RPM's will be to utilize the normal software installation tools.<br />
</code><br />
The download site to get the RPM for version 2 is;<br />
<a href="http://people.redhat.com/jdennis/freeradius-rhel-centos/i386/" target="_blank">http://people.redhat.com/jdennis/freeradius-rhel-centos/i386/</a>. I downloaded the following files that I will need for my install.<br />
<code><br />
freeradius2-2.1.6-2.el5.i386.rpm<br />
freeradius2-devel-2.1.6-2.el5.i386.rpm<br />
freeradius2-libs-2.1.6-2.el5.i386.rpm<br />
freeradius2-utils-2.1.6-2.el5.i386.rpm<br />
</code><br />
Logged in as root I started to install the packages. First up is the libraries;<br />
<code><br />
[root@localhost install]# rpm -ivh freeradius2-libs-2.1.6-2.el5.i386.rpm<br />
Preparing...                ########################################### [100%]<br />
   1:freeradius2-libs       ########################################### [100%]<br />
</code><br />
Next I attempted to install <strong>freeradius2-2.1.6-2.el5.i386.rpm</strong> but it failed with a dependency.<br />
<code><br />
[root@localhost install]# rpm -ivh freeradius2-2.1.6-2.el5.i386.rpm<br />
error: Failed dependencies:<br />
        libltdl.so.3 is needed by freeradius2-2.1.6-2.el5.i386<br />
</code><br />
A quick search on <a href="http://rpmfind.net/linux/rpm2html/search.php?query=libltdl.so.3" target="_blank">rpmfind.net</a> details this library is part of libtool-libs. Looking on the DVD under the <em>Server</em> folder shows the following RPM's and querying the RPM install library I can see that I only have libtool installed, so I go ahead and install <strong>libtool-1.5.22-6.1.i386.rpm</strong><br />
<code><br />
[root@localhost install]# cd /mnt/cdrom/Server/<br />
[root@localhost Server]# ls libtool*<br />
libtool-1.5.22-6.1.i386.rpm<br />
libtool-ltdl-devel-1.5.22-6.1.i386.rpm<br />
libtool-ltdl-1.5.22-6.1.i386.rpm<br />
[root@localhost Server]# rpm -qa libtool\*<br />
libtool-1.5.22-6.1<br />
[root@localhost Server]# rpm -ivh libtool-ltdl-1.5.22-6.1.i386.rpm<br />
warning: libtool-ltdl-1.5.22-6.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159<br />
Preparing...                ########################################### [100%]<br />
   1:libtool-ltdl           ########################################### [100%]<br />
</code><br />
With this installed I can now go back and install the FreeRADIUS package.<br />
<code><br />
[root@localhost install]# rpm -ivh freeradius2-2.1.6-2.el5.i386.rpm<br />
Preparing...                ########################################### [100%]<br />
   1:freeradius2            ########################################### [100%]<br />
</code><br />
Awesome! <br />
<h2>Configuring FreeRADIUS 2 on Oracle Enterprise Linux</h2><br />
Now that we have all the packages installed we can do some simple configuration. A directory has been created in <em>/etc/raddb</em> which contains all the config files. The most important initially is the <strong>radiusd.conf</strong>. I found that most of this config file was good for my initial tests. What parameter I did change however was it to log the authentication requests so that I could verify my PPTP server talking to the server. I changed this section and saved <strong>radiusd.conf</strong>.</p>

<p><code><br />
#  Log authentication requests to the log file.<br />
#<br />
#  allowed values: {no, yes}<br />
#<br />
auth = yes<br />
</code><br />
We also want an initial test user while we get the server up and running, edit the file <em>/etc/raddb/users</em> and add the following line at the very bottom.<br />
<code><br />
testuser        Cleartext-password := "welcome1"<br />
</code><br />
Now its time to start the server for the first time, to check that everything is working and ensure the initial certificates get created simply run the server from the command line;<br />
<code><br />
radiusd -X<br />
</code><br />
This will then create keys and such, just sit back for a while and wait. Once its up it should start  listening on all addresses like so;<br />
<code><br />
Listening on authentication address * port 1812<br />
Listening on accounting address * port 1813<br />
Listening on command file /var/run/radiusd/radiusd.sock<br />
Listening on proxy address * port 1814<br />
Ready to process requests.<br />
</code><br />
<h2>Testing the FreeRADIUS server</h2>So at this point we have a vanilla radius server which is authenticating against the local <em>users</em> file. Nothing complicated and in my environment I was able to then configure my firewall's VPN to use this server. I needed to add a line to the <strong>clients.conf</strong> with a shared secret for the firewall to communicate. There is a nice little utility which allows you to do all sorts of client testing and it runs on both Linux and Windows. You can download it from  <a href="http://www.iea-software.com/products/radlogin4.cfm" target="_blank">IEA Software</a> and it runs a small HTTP server locally. Install, run the service, add a server and then radlogin using your test user. Here is the output from my radius server (which is still currently running as <strong>radiusd -X</strong> in a console) from a test request. Note how it tries different modules to find the user before matching the file. When I switch the back end to OID it will be using LDAP.</p>

<p><code><br />
rad_recv: Access-Request packet from host 127.0.0.1 port 16120, id=1, length=100<br />
        User-Name = "testuser"<br />
        Acct-Session-Id = "1244745822G1viy"<br />
        NAS-IP-Address = 127.0.0.1<br />
        NAS-Identifier = "Localhost"<br />
        NAS-Port = 0<br />
        Calling-Station-Id = "1115551212"<br />
        User-Password = "welcome1"<br />
+- entering group authorize {...}<br />
++[preprocess] returns ok<br />
++[chap] returns noop<br />
++[mschap] returns noop<br />
[suffix] No '@' in User-Name = "testuser", looking up realm NULL<br />
[suffix] No such realm "NULL"<br />
++[suffix] returns noop<br />
[eap] No EAP-Message, not doing EAP<br />
++[eap] returns noop<br />
++[unix] returns notfound<br />
[files] users: Matched entry testuser at line 204<br />
++[files] returns ok<br />
++[expiration] returns noop<br />
++[logintime] returns noop<br />
++[pap] returns updated<br />
Found Auth-Type = PAP<br />
+- entering group PAP {...}<br />
[pap] login attempt with password "welcome1"<br />
[pap] Using clear text password "welcome1"<br />
[pap] User authenticated successfully<br />
++[pap] returns ok<br />
Login OK: [testuser] (from client localhost port 0 cli 1115551212)<br />
+- entering group post-auth {...}<br />
++[exec] returns noop<br />
Sending Access-Accept of id 1 to 127.0.0.1 port 16120<br />
Finished request 0.<br />
Going to the next request<br />
Waking up in 4.9 seconds.<br />
Cleaning up request 0 ID 1 with timestamp +1755<br />
</code></p>

<h2>Making sure the radius server starts on boot</h2>
The last thing to setup was to ensure the service started after a reboot. The RPM installer nicely setup the correct init.d files. <strong>chkconfig --list | grep radius</strong> shows that for all runlevels the service is off. Ideally you want this running when the system comes up, therefore use chkconfig --level to change the status of the service for the same levels that have the network running. You can also start the service using <strong>service radiusd start</strong>. The output of my machine is below for reference.

<p><code><br />
[root@localhost init.d]# chkconfig --list | grep radius<br />
radiusd         0:off   1:off   2:off   3:off   4:off   5:off   6:off<br />
[root@localhost init.d]# chkconfig --level 2345 radiusd on<br />
[root@localhost init.d]# chkconfig --list | grep radius<br />
radiusd         0:off   1:off   2:on    3:on    4:on    5:on    6:off<br />
[root@localhost init.d]# service radiusd start<br />
Starting RADIUS server:                                    [  OK  ]<br />
</code> </p>

<p>And thats it! A very basic configuration of the radius server and as soon as I get OID installed/configured i'll come back to this and set it up so that it uses my central repository for authentication.</p>]]>
      
   </content>
</entry>

<entry>
   <title>Subversion source control in Oracle Enterprise Linux and Workshop for WebLogic</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/simonthorpe/2009/06/subversion_source_control_in_o.html" />
   <id>tag:blogs.oracle.com,2009:/simonthorpe//2101.12771</id>
   
   <published>2009-06-11T04:26:00Z</published>
   <updated>2009-06-10T23:30:31Z</updated>
   
   <summary>Part of my home network is an Oracle Enterprise Linux installation which hosts my WebLogic Portal environment. The development IDE of choice for the portal is Oracle Workshop for WebLogic which is essentially the Eclipse IDE with a bunch of...</summary>
   <author>
      <name>Simon Thorpe</name>
      <uri>http://blogs.oracle.com/irm/about.html</uri>
   </author>
   
      <category term="Oracle Enterprise Linux" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="enterpriselinux" label="enterprise linux" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="sourcecontrol" label="source control" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="subversion" label="subversion" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/simonthorpe/">
      <![CDATA[<p>Part of my home network is an Oracle Enterprise Linux installation which hosts my WebLogic Portal environment. The development IDE of choice for the portal is <a href="http://www.oracle.com/technology/products/workshop/index.html" target="_blank">Oracle Workshop for WebLogic</a> which is essentially the <A href="http://www.eclipse.org/" target="_blank">Eclipse IDE</a> with a bunch of Oracle addins. In building my portal I wanted to be able to get the code from various computers such as my desktop and laptop at home, but I also travel a lot with my work laptop and I want to be able to access code i've written at home whilst on the move. Open VPN provides the secure access to these resources, I just need a simple source control system to store the code in. </p>

<p>In the past <a href="http://en.wikipedia.org/wiki/Concurrent_Versions_System" target="_blank">CVS</a> has been the solid choice, although I had some experience in Microsoft's visual source safe, but that simply wasn't going to get a look in here. <a href="http://subversion.tigris.org/" target="_blank">Subversion</a> has been growing in popularity and it was an obvious decision.</p>

<h2>Installing and configuring subversion in Oracle Enterprise Linux</h2>
Oracle Enterprise Linux release 5 update 3 ships with a version of subversion, <em>subversion-1.4.2-4.0.1.el5.i386.rpm</em> but the latest release at time of writing this article is 1.6.x. So I obviously wanted to use the latest and the <a href="http://subversion.tigris.org/getting.html#redhat" target="_blank">subversion</a> website points to <a href="http://www.open.collab.net/downloads/subversion/redhat.html" target="_blank">CollabNet</a> for the RedHat binaries. You will need to <a href="http://www.open.collab.net/servlets/Join" target="_blank">register a free account</a> to get a copy of the latest RPM. Again at time of writing the latest is <em>CollabNetSubversion-server-1.6.2-1.i386.rpm</em>. The server also has a dependency on the client and I downloaded the extras RPM as well for good measure. So I was now ready to install the latest version.

<p>First I needed to uninstall the 1.4.x version already installed. The CollabNet version doesn't over write the already installed package and I wanted a clean system.<br />
<code><br />
rpm -e subversion-1.4.2-4.0.1.el5<br />
</code><br />
Then time to install the CollabNet version as per the <a href="http://www.open.collab.net/nonav/downloads/subversion/readme/svn1.6_server_client_redhat.html" target="_blank">readme</a>.<br />
<code><br />
[root@localhost oracle]# ll<br />
total 18180<br />
-rw-r--r-- 1 root root 11645262 Jun 10 11:30 CollabNetSubversion-client-1.6.2-1.i386.rpm<br />
-rw-r--r-- 1 root root  1907553 Jun 10 11:30 CollabNetSubversion-extras-1.6.2-1.i386.rpm<br />
-rw-r--r-- 1 root root  5011804 Jun 10 11:17 CollabNetSubversion-server-1.6.2-1.i386.rpm<br />
[root@localhost oracle]# rpm -i CollabNetSubversion-client-1.6.2-1.i386.rpm<br />
warning: CollabNetSubversion-client-1.6.2-1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 35bcca43<br />
[root@localhost oracle]# rpm -i CollabNetSubversion-server-1.6.2-1.i386.rpm<br />
warning: CollabNetSubversion-server-1.6.2-1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 35bcca43<br />
[root@localhost oracle]# rpm -i CollabNetSubversion-extras-1.6.2-1.i386.rpm<br />
warning: CollabNetSubversion-extras-1.6.2-1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 35bcca43<br />
</code><br />
It installs into the location <strong>/opt</strong> and therefore you need to add the subversion path to your PATH variable. To do this add the following line to the file <strong>/etc/profile</strong> and reboot.<br />
<code><br />
PATH=/opt/CollabNet_Subversion/bin:$PATH<br />
</code><br />
Once the server returns run the configure script for subversion, you should just be able to run the command <strong>Configure-CollabNet-Subversion</strong> from anywhere now that the path is in the profile. You can then walk through the configuration of the server. I decided not to use Apache because I wanted a relatively simple setup. I might change this later on. For testing I created a new repository called "TestCode" and a user, <em>simon</em>. At the end of the configure script it restarted the subversion server and then I would be able to access the URL via;<br />
<code><br />
svn://servername/TestCode<br />
</code></p>

<h2>Installing the subversion client for Workshop for Weblogic</h2>
Now that the server is up and running, I want to enable my development environment to use it. I have installed on my workstation the 10g release of <a href="http://www.oracle.com/technology/software/products/ias/bea_main.html#devtools" target="_blank">Workshop for Weblogic</a>. You have two choices for this environment, <a href="http://subclipse.tigris.org/" target="_blank">Subclipse</a> and <a href="http://community.polarion.com/index.php?page=overview&project=subversive" target"_blank">Subversive</a>. I decided on Subclipse for no other reason than it was listed first :)

<p>Before we do anything with Workshop, I actually ran into a <a href="http://forums.oracle.com/forums/thread.jspa?messageID=3162618&#3162618" target="_blank">bug</a> which limits the ability to install Subclipse via the "Software Updates" mechanism directly in the IDE. There is a workaround for this problem detailed below.</p>

<p><em>Comment out the com.* import lines in your %BEA_HOME%\wlportal_10.3\eclipse\features\com.bea.wlp_10.3.0\feature.xml, like this:</em><br />
<code><br />
&lt;requires&gt;<br />
&lt;import plugin=&quot;org.eclipse.core.runtime&quot; version=&quot;3.3&quot; match=&quot;compatible&quot;/&gt;<br />
&lt;import plugin=&quot;org.eclipse.ui&quot; version=&quot;3.3&quot; match=&quot;compatible&quot;/&gt;<br />
&lt;!--<br />
&lt;import feature=&quot;com.m7.nitrox&quot; version=&quot;1.0.20&quot; match=&quot;compatible&quot;/&gt;<br />
&lt;import feature=&quot;com.bea.workshop.cmdline.feature&quot; version=&quot;1.0.30&quot; match=&quot;compatible&quot;/&gt;<br />
&lt;import feature=&quot;com.bea.workshop.common.feature&quot; version=&quot;1.1.40&quot; match=&quot;compatible&quot;/&gt;<br />
&lt;import feature=&quot;com.bea.workshop.upgrade81.feature&quot; version=&quot;1.0.30&quot; match=&quot;compatible&quot;/&gt;<br />
&lt;import feature=&quot;com.bea.workshop.web.feature&quot; version=&quot;1.0.20&quot; match=&quot;compatible&quot;/&gt;<br />
&lt;import feature=&quot;com.bea.workshop.wls.feature&quot; version=&quot;1.1.30&quot; match=&quot;compatible&quot;/&gt;<br />
&lt;import feature=&quot;com.bea.workshop.xmlbeans.feature&quot; version=&quot;1.0.30&quot; match=&quot;compatible&quot;/&gt;<br />
--&gt;<br />
&lt;/requires&gt;<br />
</code><br />
<em>Then restart Workshop</em></p>

<p>Once you've done this follow these instructions to download and install the subversion client.<br />
Start Workshop for WebLogic and go to "Help > Software Updates > Find and Install..." then select <em>Search for new features to install</em>. Click on <em>New Remote Site</em> and enter;<ul><li>Name = <strong>subclipse 1.6</strong><br />
<li>URL = <strong>http://subclipse.tigris.org/update_1.6.x</strong><br />
</ul>Once added, ensure that this site is the only one checked in the sites to include in the search and hit <em>Finish</em>. You will be presented with a tree to choose the components, I selected the following;<br />
<img border="0" alt="workshop_subclipse01.gif" src="http://blogs.oracle.com/simonthorpe/images/workshop_subclipse01.gif" width="600" height="515" /><br />
<br>Agree to the licenses<br><br />
<img border="0" alt="workshop_subclipse02.gif" src="http://blogs.oracle.com/simonthorpe/images/workshop_subclipse02.gif" width="600" height="515" /><br />
<br>Accept the optional component;<br><br />
<img border="0" alt="workshop_subclipse03.gif" src="http://blogs.oracle.com/simonthorpe/images/workshop_subclipse03.gif" width="600" height="515" /><br />
<br>Finally hit finish to install everything. Note these are not signed packages so you'll need to agree also to install the unsigned components. At the end you'll be asked to restart Workshop.<br><br />
<img border="0" alt="workshop_subclipse04.gif" src="http://blogs.oracle.com/simonthorpe/images/workshop_subclipse04.gif" width="600" height="515" /></p>

<h2>Checkout test project from subversion in Workshop for WebLogic</h2>
Ok, nearly there. Now its time to checkout that test repository I created during the server setup.
In Workshop go to "File > New > Other" and in the resulting dialog find the SVN section and choose <em>Checkout Projects from SVN</em>.<br><br>
<img alt="workshop_subclipse05.gif" src="http://blogs.oracle.com/simonthorpe/images/workshop_subclipse05.gif" width="500" height="500" />
<br><br>Select <em>Create a new repository location</em>. It now asks for the URL to the server, remember this is in the format SVN://servername/respository my example is shown below. The client will attempt to connect after which you can select the URL to get to the <em>Check Out As</em> dialog.<br><br>
<img alt="workshop_subclipse06.gif" src="http://blogs.oracle.com/simonthorpe/images/workshop_subclipse06.gif" width="500" height="500" />
<br><br>The check out dialog now asks what you want to do with the project. If you want you can create a new project using the Workshop's wizard. However I just wanted to add a vanilla project so selected <em>Check out as a project in the workspace</em>, like below and hit <strong>Finish</strong>. It also warns me that i'm checking out the entire root which is fine for this test.<br><br>
<img alt="workshop_subclipse07.gif" src="http://blogs.oracle.com/simonthorpe/images/workshop_subclipse07.gif" width="500" height="500" /><br><br>
You will now have an empty project folder in Workshop. You can take a look at all the version control options now by right clicking on the project and selecting the <strong>Team</strong> menu. Here you have access to all the branching, merging etc features. 
<br>
For further information on subversion and use there is a great <a href="http://svnbook.red-bean.com/" target="_blank">book online</a>. As part of my IDM deployment later this year I plan to also use subversion with <a href="http://svnbook.red-bean.com/nightly/en/svn.serverconfig.svnserve.html#svn.serverconfig.svnserve.sasl" target="_blank">SASL</a> which is <a href="http://www.deakin.edu.au/its/dba/oracle-doco/9.0.4.1/9.0.4_doc_library/manage.904/b10461/orclapi.htm#741002" target="_blank">supported</a> in Oracle Internet Directory (<a href="http://www.oracle.com/technology/products/oid/index.html" target="_blank">OID</a>)]]>
      
   </content>
</entry>

<entry>
   <title>Configuring a D-Link DIR 655 as a pure access point</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/simonthorpe/2009/06/configuring_a_dlink_dir_655_as.html" />
   <id>tag:blogs.oracle.com,2009:/simonthorpe//2101.12791</id>
   
   <published>2009-06-07T15:39:25Z</published>
   <updated>2009-06-08T23:21:46Z</updated>
   
   <summary>Ok, so this hasn&apos;t really anything to do with any Oracle technology, but it&apos;s part of my ongoing network configuration and I couldn&apos;t find a real simple guide to do this. I have a D-Link DIR 655 wireless router which...</summary>
   <author>
      <name>Simon Thorpe</name>
      <uri>http://blogs.oracle.com/irm/about.html</uri>
   </author>
   
      <category term="Networking" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="dlink" label="d-link" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="router" label="router" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="wireless" label="wireless" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/simonthorpe/">
      <![CDATA[<p>Ok, so this hasn't really anything to do with any Oracle technology, but it's part of my ongoing network configuration and I couldn't find a real simple guide to do this. I have a <a href="http://www.dlink.com/products/?pid=530" target=_blank">D-Link DIR 655</a> wireless router which used to connect to the Comcast cable modem and handle all the traffic into and out of my local network. However i've since deployed <a href="http://www.pfsense.org/" target="_blank">pfSense</a> and <a href="http://www.untangle.com" target=_blank">untangle</a> leaving the DIR to only handle my wireless requirements.</p>

<p>So my requirement now was to have the DIR 655 only handle the wireless network and allow clients to connect to the LAN network, basically it becomes just an <a href="http://en.wikipedia.org/wiki/Access_point" target="_blank">access point</a>. This is simple to do and i've taken a few screen shots for clarity. There may be differences depending on your firmware, but the theory is the same and could also apply to other similar wireless routers.</p>

<p>Oh and one more thing, <strong>ALL</strong> network numbers and mac addresses on the screen shots have been changed for obvious reasons.</p>

<ul>First make sure you understand how to connect to the admin interface of the DIR when making changes. I've never bothered to connect via the USB port, instead I do everything via the web interface. This means that I have enabled remote administration so that I can access the router on either the LAN or WAN interface. For the total <a href="http://en.wikipedia.org/wiki/Newbie" target="_blank">newb</a>, I should explain the difference between the two interfaces.
<ul>
<li>WAN (<a href="http://en.wikipedia.org/wiki/Wide_area_network" target="_blank">Wide Area Network</a>) refers to the network beyond your home system. Typically this is the Internet and you connect to it via the WAN port on the router that connects to your internet provider. This takes the form of an <a href="http://en.wikipedia.org/wiki/Ethernet" target="_blank"> Ethernet </a> connection.
<li>LAN (<A href="http://en.wikipedia.org/wiki/Local_area_network" target=_blank">Local Area Network</a>) refers to your network of desktops and laptops that are local to you, i.e. the ones in my house. On the DIR 655 there are 4 LAN ports, again they are Ethernet connections.
</ul>
So the following is a screen shot of making sure that you can connect to the router via the WAN interface in case you need to.
<img border="0" alt="DIR655_remoteadmin.gif" src="http://blogs.oracle.com/simonthorpe/DIR655_remoteadmin.gif" width="562" height="236" />
<li>Next setup the WAN interface to a static address that doesn't really get used because we are not going to be connecting it to anything. 
<ol>
<li>Login to the router web interface as admin and click on SETUP
<li>Select "INTERNET" from the menu on the left
<li>Select "Manual Internet Connection Setup"
<li>Choose "Static IP" for "My Internet Connection is..."
<li>Enter in some non used network information like the screen shot below. I'm not sure if it matters if these values conflict with any numbers on your local network because nothing will be connected to the port anyway, but I play safe and have use a network that doesn't exist on my LAN.
</ol>
<img alt="DIR655_networksettings.gif" src="http://blogs.oracle.com/simonthorpe/images/DIR655_internetsettings.gif" width="563" height="545" />
<li>Next setup the LAN information. I use the <a href="http://en.wikipedia.org/wiki/Dhcp" target="_blank">DHCP</a> server on my pfSense device to configure the addressing for my clients and I only want the DIR to handle connecting wireless clients to my local subnet.
<ol>
<li> Login to the router web interface as admin and click on SETUP
<li>Select "NETWORK SETTINGS" from the menu on the left
<li>Deselect the "Enable DHCP Server" check box
<li>Now enter in the network values for your LAN. You will need to specify a "Router IP address" and this is what you will use to connect and administrate the router. There is a good chance this is already setup correctly. It is good practice to give this interface a number very high on the subnet. Again have a look at the screen shot below for what i've got setup.
</ol>
<img alt="DIR655_networksettings.gif" src="http://blogs.oracle.com/simonthorpe/images/DIR655_networksettings.gif" width="562" height="456" />
<li>Finally the most important piece, take an Ethernet cable from the LAN <a href="http://en.wikipedia.org/wiki/Network_switch" target="_blank">switch</a>/<a href="http://en.wikipedia.org/wiki/Network_hub" target="_blank">hub</a> (I hope people don't still use hubs!) and stick it into any one of the 4 LAN ports on the router. By doing this you have now made the wireless network and extension of your LAN network. Any <a href="http://en.wikipedia.org/wiki/Broadcast_packet" target=_blank">broadcast packets</a> will also reach onto the wireless network. So now any wireless client is going to get a DHCP address from my pfSense device and I can communicate using protocols such as <A href="http://en.wikipedia.org/wiki/Bonjour_(software)" target="_blank">Bonjour</a>.]]>
      
   </content>
</entry>

<entry>
   <title>Configuring Oracle ASM disks in Oracle Enterprise Linux r5u3</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/simonthorpe/2009/06/configuring_oracle_asm_disks_i.html" />
   <id>tag:blogs.oracle.com,2009:/simonthorpe//2101.12766</id>
   
   <published>2009-06-05T19:18:40Z</published>
   <updated>2009-06-13T19:07:40Z</updated>
   
   <summary>Well this was an hour well spent during lunch today! As part of my database install which will eventually be used to migrate all my Oracle UCM content that is currently file system hosted into the database, I wanted to...</summary>
   <author>
      <name>Simon Thorpe</name>
      <uri>http://blogs.oracle.com/irm/about.html</uri>
   </author>
   
      <category term="Oracle 11g DB" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="asm" label="asm" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="oracle11gdb" label="oracle 11g db" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/simonthorpe/">
      <![CDATA[<p>Well this was an hour well spent during lunch today! As part of my database install which will eventually be used to migrate all my Oracle UCM content that is currently file system hosted into the database, I wanted to use <a href="http://www.oracle.com/technology/products/database/asm/index.html" target="_blank">Automatic Storate Management</a> (ASM). This will let me mirror the database across two disks. I don't have the spare cash right now for the RAID array I would like, so this is a neat option in the interim. However it took some hunting to get the right information and drivers loaded, so here are the steps I eventually took to get Oracle ASM working for my 11g database.</p>

<p>Before starting the database installation you need to mark your disks as ASM. My environment is using a pretty vanilla installation of Oracle Enterprise Linux release 5 update 3.<ol><li>Ensure you have the disks configured correctly in Linux, I have <em>/dev/sdc</em> and <em>/dev/sdd</em> which are two 200GB IDE disks exposed to my OS from the Oracle VM Server that this guest is running on.<br />
<li>Install the ASM packages from the Enterprise Linux CD/DVD. The RPM's are in the "Server" directory in the root of the CD/DVD. I used a DVD so i'm not sure which CD the files are on, you'll need to hunt. The packages you need to first install are;<ul><li>oracleasm-2.6.18-128.el5-2.0.5-1.el5.i686.rpm<br />
<li>oracleasm-support-2.1.2-1.el5.i386.rpm<br />
</ul>So to install both, simply run<br><strong>rpm -ivh oracleasm-support-2.1.2-1.el5.i386.rpm</strong><br>and<br> <strong>rpm -ivh oracleasm-2.6.18-128.el5-2.0.5-1.el5.i686.rpm</strong>.<br />
<li>Now there are more RPM's you need to install, as detailed in <a href="http://download.oracle.com/docs/cd/B28359_01/install.111/b32002/pre_install.htm#CIHGBCDD" target="_blank">this document</a>. I downloaded the following from <a href="http://www.oracle.com/technology/tech/linux/asmlib/index.html" target="_blank">this location</a> on the Oracle Technology Website. I navigated to the <a href="http://www.oracle.com/technology/software/tech/linux/asmlib/rhel5.html" target="_blank">Red Hat Enterprise Linux 5 AS</a> section.<ul><li><a href="http://oss.oracle.com/projects/oracleasm-support/dist/files/RPMS/rhel5/x86/2.1.3/oracleasm-support-2.1.3-1.el5.i386.rpm">oracleasm-support-2.1.3-1.el5.i386.rpm</a></ul>There was also a newer version of <strong>oracleasm-support</strong> on the site which I didn't download and install at this time. I didn't need to download the drivers for my kernel because the RPMs on my install media were the right ones. So I installed this oracleasmlib as root using <strong>rpm - i oracleasmlib-2.0.4-1.el5.x86_64.rpm</strong><br />
<li>The next step was to configure ASM, you do this by running <strong>oracleasm configure</strong>. I got past a few of the first questions but it eventually failed and checking <em>/var/log/messages</em> I saw the error;<br><br />
<strong>Jun  5 12:35:55 database modprobe: FATAL: Module oracleasm not found.</strong><br><br />
A quick bit of googling and it seems that the driver isn't being loaded and has not been installed correctly.<br />
<li>My final step of configuration to get this working was to use oracleasm to update the driver itself and this seemed to sort itself all out! I ran the command <strong>oracleasm update-driver</strong> and you can see the result below.<br />
<code><br />
[root@database modules]# oracleasm update-driver<br />
Kernel:         2.6.18-128.el5xen i686<br />
Driver name:    oracleasm-2.6.18-128.el5xen<br />
Latest version: oracleasm-2.6.18-128.el5xen-2.0.5-1.el5.i686.rpm<br />
Installing driver... <br />
Preparing...                ########################################### [100%]<br />
   1:oracleasm-2.6.18-128.el########################################### [100%]<br />
Driver installed successfully<br />
</code><br />
<li>Now I could successfully run <strong>oracleasm configure</strong>. Again the output from this below;<br />
<code><br />
[root@database modules]# /etc/init.d/oracleasm configure<br />
Configuring the Oracle ASM library driver.<br><br>This will configure the on-boot properties of the Oracle ASM library<br />
driver.  The following questions will determine whether the driver is<br />
loaded on boot and what permissions it will have.  The current values<br />
will be shown in brackets ('[]').  Hitting &lt;ENTER&gt; without typing an<br />
answer will keep that current value.  Ctrl-C will abort.<br><br>Default user to own the driver interface [oracle]: <br />
Default group to own the driver interface [dba]: <br />
Start Oracle ASM library driver on boot (y/n) [y]: <br />
Scan for Oracle ASM disks on boot (y/n) [y]: <br />
Writing Oracle ASM library driver configuration: done<br />
Initializing the Oracle ASMLib driver: [  OK  ]<br />
Scanning the system for Oracle ASMLib disks: [  OK  ]<br />
</code><br />
<li>I was then able to mark my disks for ASM use, except I had already mounted these disks as part of my testing from earlier.<br />
<code><br />
[root@database modules]# oracleasm createdisk DATADISK1 /dev/sdc1<br />
Unable to open device "/dev/sdc1": Device or resource busy<br />
</code><br />
Duh, I quickly removed the references in <em>/etc/fstab</em> and unmounted the drives. This time I could run my command;<br />
<code><br />
[root@database modules]# oracleasm createdisk DATADISK1 /dev/sdc1<br />
Writing disk header: done<br />
Instantiating disk: done<br />
[root@database modules]# oracleasm createdisk DATADISK2 /dev/sdd1<br />
Writing disk header: done<br />
Instantiating disk: done<br />
</code><br />
<li>Finally, before I start my 11g database installation, just check that ASM can see my new disks;<br />
<code><br />
[root@database modules]# oracleasm scandisks<br />
Reloading disk partitions: done<br />
Cleaning any stale ASM disks...<br />
Scanning system for ASM disks...<br />
[root@database modules]# oracleasm listdisks<br />
DATADISK1<br />
DATADISK2<br />
</code><br />
</ol>I was then able to go through the 11g installation and the two disks were available at the ASM configuration section! Here's a screen shot of the ASM manager;<br><br />
<img alt="11gASMView.gif" border="0" src="http://blogs.oracle.com/simonthorpe/11gASMView.gif" width="600" height="398" /<br />
</p>]]>
      
   </content>
</entry>

<entry>
   <title>Exposing physical disks to guests in Oracle VM</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/simonthorpe/2009/06/exposing_physical_disks_to_gue.html" />
   <id>tag:blogs.oracle.com,2009:/simonthorpe//2101.12720</id>
   
   <published>2009-06-03T23:46:27Z</published>
   <updated>2009-06-05T20:49:26Z</updated>
   
   <summary>So my plan is to have a reliable Oracle VM hosted 11g database. I have a test machine which has limited resources but its the starting point for my learning of how to configure this correctly. I now have my...</summary>
   <author>
      <name>Simon Thorpe</name>
      <uri>http://blogs.oracle.com/irm/about.html</uri>
   </author>
   
      <category term="Oracle VM" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="oracleenterpriselinux" label="oracle enterprise linux" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="oraclevm" label="oracle vm" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/simonthorpe/">
      <![CDATA[<p>So my plan is to have a reliable Oracle VM hosted 11g database. I have a test machine which has limited resources but its the starting point for my learning of how to configure this correctly. I now have my Oracle VM server running and installed Oracle Enterprise Linux release 5 update 3 and before I walk through my database installation I want to prepare the data disks. I have two 200GB IDE drives and I want to use <a href="http://www.oracle.com/technology/asm/index.html" target="_blank">ASM</a> to store the database across these disks. In the future when I can I intend to migrate the entire system to a much more beefy host with more RAM and better disks. But the configuration shouldn't change a great deal.</p>

<p>So one challenge was how do I have my virtual machine have access to data drives in the most effective manner. There are several steps to getting this working correctly.</p>

<ol>
<li>First make sure on the Oracle VM server the disks are correctly setup.
<ul>
<li>Ensure the drives are correctly configured in the physical machine and recognized in the BIOS/controller card. I'm using just IDE drives here which are seen in Linux as /dev/hdc and /dev/hdd
<li>Setup valid partitions on these disks using fdisk. e.g.<br><br>
<strong>fdisk /dev/hdc</strong><br>
Then hit <strong>p</strong> for a new partition, enter 1 for the first primary partition.<br>Accept the defaults for start and end and then hit <strong>w</strong> to write this config to the partition table. This will create the partition /dev/hdc1. I did the same for /dev/hdd.
<li>Create a filesystem on the partitions, do a <strong>mkfs -t ext3 /dev/hdc1</strong> and obviously for hdd as well.
</ul>
<li>Now with valid disks configured on the host, we need to setup the config file for my virtual machine to expose these two new disk partitions to the guest. Make sure your guest machine is shutdown and then edit the vm.cfg. This is found in /OVS/running_pool/<i>nameofyourvm</i>. In my case this file is <i>/OVS/running_pool/50_OELr5r3/vm.cfg</i>. Edit this file (nano vm.cfg) and locate the line starting with "<strong>disk =</strong>". It will currently point to the .img file which is your guest OS main virtual disk. Something like<br><br><strong>disk = ['file:/OVS/running_pool/50_OELr5r3/System.img,xvda,w']</strong><br><br>You need to add two new sections to this line which point to the disks you've just setup... The new line looks like this;<br><br><strong>disk = ['file:/OVS/running_pool/50_OELr5r3/System.img,xvda,w',<br>'phy:/dev/hdc,sdc,w',<br>'phy:/dev/hdd,sdd,w',<br>]</strong><br><br>Notice each definition is seperated by a comma. Now save the file...
<li>Start the virtual machine from Oracle VM Manager and once it's booted login via ssh. If you now do an <strong>fdisk -l</strong> you can see those partitions are now available for mounting! Here's my system;<br><br>
<code>
Disk /dev/hdc: 200.0 GB, 200049647616 bytes
255 heads, 63 sectors/track, 24321 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

<p>   Device Boot      Start         End      Blocks   Id  System<br />
/dev/hdc1               1       24321   195358401   83  Linux</p>

<p>Disk /dev/hdd: 200.0 GB, 200049647616 bytes<br />
255 heads, 63 sectors/track, 24321 cylinders<br />
Units = cylinders of 16065 * 512 = 8225280 bytes</p>

<p>   Device Boot      Start         End      Blocks   Id  System<br />
/dev/hdd1               1       24321   195358401   83  Linux<br />
</code></ol></p>]]>
      
   </content>
</entry>

<entry>
   <title>Installing Enterprise Linux on an Oracle VM 2.1.2 server</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/simonthorpe/2009/06/installing_enterprise_linux_on.html" />
   <id>tag:blogs.oracle.com,2009:/simonthorpe//2101.12709</id>
   
   <published>2009-06-03T23:07:33Z</published>
   <updated>2009-06-04T05:03:49Z</updated>
   
   <summary>I recently built on a spare machine at home an instance of Oracle VM 2.1.2. The machine isn&apos;t the most ideal, a Celeron 2.4ghz Dell Desktop with 1.5 GB RAM. But its enough to get me up and running before...</summary>
   <author>
      <name>Simon Thorpe</name>
      <uri>http://blogs.oracle.com/irm/about.html</uri>
   </author>
   
      <category term="Oracle VM" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="enterpriselinux" label="enterprise linux" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="oraclevm" label="oracle vm" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/simonthorpe/">
      <![CDATA[<p>I recently built on a spare machine at home an instance of Oracle VM 2.1.2. The machine isn't the most ideal, a Celeron 2.4ghz Dell Desktop with 1.5 GB RAM. But its enough to get me up and running before I get a more powerful machine to host the images. I'm very familiar with the VMWare server virtualization, i've been using VMWare server 1 and 2 for a few years on my server machine (Dual CPU, 8GB RAM, 2.5TB of RAID5 disk.) but Oracle VM was very new.</p>

<p>I went initially down the road of using a template to create my virtual machine, however there are just too many install time decisions that I would have to go back and change that I thought I would install a new OS from scratch using an ISO.</p>

<p>Oracle VM is different in the way VMWare seems to work, it actually modifies the OS somewhat and therefore building a new OS from the install kits isn't quite as simple. Firstly Oracle VM's run in two <a href="http://download.oracle.com/docs/cd/E11081_01/doc/doc.21/e10901/vm.htm#CACEFBGH" target=_blank">modes</a>;<br />
<ul><br />
<li><strong>Fully Virtualized</strong> Also known as hardware virtualized machines (HVM's), the unmodified guest operating system runs on the virtual machine. It traps and emulates every I/O and hardware instruction. To apply the fully virtualized mode, you must have either an Intel processor with Virtualization Technology (VT) extension, or an AMD processor with Secure Virtual Machine (SVM) extension (also called AMD-V) available on the host.<br />
<li><strong>Paravirtualized (PV)</strong> The guest operating system is recompiled before being installed on a virtual machine. Also, the virtual machine does not need to trap privileged instructions. Trapping is a method used to handle unexpected, or unallowable conditions, which is time-consuming and can impact operating system performance. Without trapping privileged instructions, the paravirtualized operating system runs at near native speed.<br />
</ul></p>

<p>Now i'm using only a Celeron so my only option is PV mode. I chose to download the .ISO for Enterprise Linux release 5 update 3 and Oracle VM needs to access the files via a mount. BY default the documentation talks about using NFS. So the steps to getting the NFS share working were;<br />
<ol><br />
<li>Copy the .iso into the /OVS/iso_pool/ directory on the Oracle VM server. I did this by placing the ISO file on a web server on my network and getting using wget, e.g. <strong>wget http://webserver/ovm/oel_r5u3.iso</strong><br />
<li>Create a directory in which to mount the ISO, <strong>mkdir /OVS/iso_pool/oelr5u3</strong><br />
<li>Mount the ISO into that directory, <strong>mount -o loop,ro /OVS/iso_pool/oel_r5u3.iso /OVS/iso_pool/oelr5u3</strong><br />
<li>Then export this mount to NFS, <strong>exportfs *:/OVS/iso_pool/oelr5u3</strong><br />
<li>NFS server also needs to be started! <strong>service nfs start</strong><br />
</ol></p>

<p>Now I had also installed Oracle VM Manager on my VMWare hosted Enterprise Linux server which hosts my WebLogic Server and Portal environment. From here I then created my virtual machine.</p>

<ol>
<li>Selected <strong>Create from installation media</strong>
<li>Chose my server pool and then selected "Paravirtualized" which then required the path to the NFS mount which in my instance is, <strong>nfs:ovm:/OVS/iso_pool/oelr5u3</strong>
<li>Then I could setup my VM parameters, name, OS, cores, RAM etc. Due to my poor little desktop I only gave the VM 512mb RAM which should be enough to get the OS installed and configured. Hopefully more RAM will be available soon when I find a better platform.
</ol>
I then created the VM and the next step was to walk through the installation process. Here is where I got a little stuck. Oracle VM uses VNC to allow you to remotely access the console which was currently sat waiting for me to install Linux. There are two main options to doing this;
<ol>
<li>Access the console locally using Firefox on the Linux machine that Oracle VM Manager is running on. To do this you need to install the ovm-console RPM.
<ul>
<li>Download the console RPM from <a href="http://oss.oracle.com/oraclevm/manager/RPMS/" target="_blank">http://oss.oracle.com/oraclevm/manager/RPMS/</a>.
<li>Install this RPM as root on the Oracle VM Manager server. <strong>rpm -ivh ovm-console-1.0.0-2.i386.rpm</strong>
<li>Restart Firefox and navigate to to your newly created virtual machine and select the "console" icon, this should launch a window with VNC running so you can now connect.
</ul>
<li>The other method is to access remotely using IE on Windows. This requires you install a TightVNC package.
<ul>
<li>Again head to <a href="http://oss.oracle.com/oraclevm/manager/RPMS/" target="_blank">http://oss.oracle.com/oraclevm/manager/RPMS/</a> and download the TightVNC RPM.
<li>Install as root on the machine running Oracle VM Manager, <strong>rpm -ivh tightvnc-java-1.3.9-3.noarch.rpm</strong>
<li>Now access Oracle VM Manager remotely using IE and you can launch the console
</ul>
</ol>
After all this I then realized that I bet I could just access that VNC service using a regular VNC client, so I fired up vncviewer on my Windows machine and gave the Oracle VM Server hostname. I didn't specify a port nor a desktop number, but just the host. Fantastic! This for me was a simple way to remotely connect to the server.

<p>The last hurdle was right after I had selected the keyboard layout, the Linux installer complained of being unable to access the NFS share for the install files. Unsure what was causing this I stopped the firewall running on the Oracle VM Server;</p>

<p><strong>service iptables stop</strong></p>

<p>And went back to the installer via VNC and it continued fine and I was able to install Linux! My next step is to now install the database on this VM, there is an excellent guide <a href="http://www.oracle.com/technology/obe/ovm/ovmel5pvmdb11gr1/ovmel5pvmdb11gr1.htm" target="_blank">here</a> for both Oracle VM, Enterprise Linux and the DB. I'll be following this and I might blog up some comments if I struggle on anything. I intend to expose 2 IDE disks from the Oracle VM server through to the guest OS and have the database ASM use them as a mirror of disks for storing the DB... fingers crossed!</p>]]>
      
   </content>
</entry>

<entry>
   <title>Running VNC Server on Oracle Enterprise Linux 5</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/simonthorpe/2009/06/running_vnc_server_on_oracle_e.html" />
   <id>tag:blogs.oracle.com,2009:/simonthorpe//2101.12712</id>
   
   <published>2009-06-03T23:06:57Z</published>
   <updated>2009-06-04T00:14:37Z</updated>
   
   <summary>VNC is an excellent way to remotely access an X Windows desktop on your Linux server. Many Oracle technologies have a nice GUI installer and using VNC to remote into the machine is the simplest way to walk through new...</summary>
   <author>
      <name>Simon Thorpe</name>
      <uri>http://blogs.oracle.com/irm/about.html</uri>
   </author>
   
      <category term="Oracle Enterprise Linux" scheme="http://www.sixapart.com/ns/types#category" />
   
      <category term="Quick Tips" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="oracleenterpriselinux" label="oracle enterprise linux" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="vnc" label="vnc" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/simonthorpe/">
      <![CDATA[<p>VNC is an excellent way to remotely access an X Windows desktop on your Linux server. Many Oracle technologies have a nice GUI installer and using VNC to remote into the machine is the simplest way to walk through new software installations. Here are a few notes on how I get VNC running quickly.</p>

<ul>
<li>Oracle Enterprise Linux ships with a VNC Server. If you find it is not installed, you can deploy the package thats part of the install CD/DVD. Just <i>cd</i> to the "Server" directory and run <strong>yum install vnc-server-4.1.2-14.el5.i386</strong>. Note the version of VNC server may be different depending on the release of Linux you have.
<li>Now login as the user you want the server to run under and start a console/command prompt. You can also <a href="http://en.wikipedia.org/wiki/Su_(Unix)" target="
_blank">su</a> to any user once in a console.
<li>Run <strong>vncserver</strong> and it's going to create the configuration files and also ask you for a password which will be entered when accessing the VNC server remotely.
<li>Once the server has started, you really want it to start with your desktop manager of choice. Oracle Enterprise Linux ships with 2 managers, KDE and Gnome. First you need to stop the current running server. Run <strong>vncserver -kill :1</strong>
<li>Now you want to edit the VNC server startup script, edit this for the current logged in user. Nano is my editor of choice in Linux.
<ol>
<li><strong>nano $HOME/.vnc/xstartup</strong>
<li>Once open uncomment the two following lines;<br>unset SESSION_MANAGER<br>exec /etc/X11/xinit/xinitrc
</ol>
<li>Now you need to start the server, simply type <strong>vncserver</strong> from the command line and up it runs.
<li>Finally you can now connect remotely. Download and install a VNC client onto your machine and then connect using <i>hostname:1</i> and enter the password.
</ul>]]>
      
   </content>
</entry>

<entry>
   <title>Tiny tips to troubleshooting Technology at Oracle</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/simonthorpe/2009/06/tiny_tips_to_troubleshooting_t.html" />
   <id>tag:blogs.oracle.com,2009:/simonthorpe//2101.12687</id>
   
   <published>2009-06-03T22:51:54Z</published>
   <updated>2009-06-03T23:06:32Z</updated>
   
   <summary>Welcome to my new blog! The idea of this site is simply to share some of the technlogy tips and challenges i&apos;ve had with installing, configuring and using many of Oracle&apos;s technologies. Sometimes there is a subtlety in configuration i&apos;ve...</summary>
   <author>
      <name>Simon Thorpe</name>
      <uri>http://blogs.oracle.com/irm/about.html</uri>
   </author>
   
      <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/simonthorpe/">
      <![CDATA[<p>Welcome to my new blog! The idea of this site is simply to share some of the technlogy tips and challenges i've had with installing, configuring and using many of Oracle's technologies. Sometimes there is a subtlety in configuration i've not been able to find in the documentation or i've run into a problem that was answered by some of the experts internally to the company. So instead of keeping this valuable information in my head I thought I would document it here, on the wider web of knowledge.</p>

<p>This blog is going to cover all sorts of areas from <a href="http://www.oracle.com/technologies/virtualization/index.html" target="_blank">Oracle VM</a>, to <a href="http://www.oracle.com/technologies/linux/index.html" target="_blank">Oracle Enterprise Linux</a>, <a href="http://www.oracle.com/technology/products/weblogic/index.html" target="_blank">WebLogic Server</a>, <a href="http://www.oracle.com/goto/irm/" target=_blank">Information Rights Management</a> (for which I already run a very specific <a href="http://blogs.oracle.com/irm/" target="_blank">blog</a>) and other technologies.</p>

<p>I don't expect to have any regular update to the blog, but when I do something that I think is worth sharing, i'll spend some time making it public here. Hopefully other people having similar issues will end up at these articles and find an easy and in clear English path to fixing or understanding their issue. If not, leave comments on the blog and i'll try and help!</p>]]>
      
   </content>
</entry>

</feed>
