<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: How To Set Up Oracle ASM on Ubuntu Gutsy Gibbon</title>
	<link>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon</link>
	<description>News and views from Pythian DBAs</description>
	<pubDate>Sat, 22 Nov 2008 09:08:09 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.2</generator>
		<item>
		<title>By: oldbarrel</title>
		<link>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon#comment-287015</link>
		<dc:creator>oldbarrel</dc:creator>
		<pubDate>Mon, 06 Oct 2008 10:23:53 +0000</pubDate>
		<guid>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon#comment-287015</guid>
		<description>Greg/Gil, 
you guys are amazing.</description>
		<content:encoded><![CDATA[<p>Greg/Gil,<br />
you guys are amazing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gilbert Standen</title>
		<link>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon#comment-240143</link>
		<dc:creator>Gilbert Standen</dc:creator>
		<pubDate>Sun, 20 Jul 2008 18:07:22 +0000</pubDate>
		<guid>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon#comment-240143</guid>
		<description>I may have to retract the comment about the time synch on Ubuntu - it seems to be ok now.  The nodes have been up several hours and they are within about 1 second of each other - within the time it takes to actually check them.  But I'd still like to learn more inter-node RAC clock synch tips and tricks since clocking has been one of the nagging problems I've run into with RAC installs and deployments.</description>
		<content:encoded><![CDATA[<p>I may have to retract the comment about the time synch on Ubuntu - it seems to be ok now.  The nodes have been up several hours and they are within about 1 second of each other - within the time it takes to actually check them.  But I&#8217;d still like to learn more inter-node RAC clock synch tips and tricks since clocking has been one of the nagging problems I&#8217;ve run into with RAC installs and deployments.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gilbert Standen</title>
		<link>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon#comment-240137</link>
		<dc:creator>Gilbert Standen</dc:creator>
		<pubDate>Sun, 20 Jul 2008 17:40:51 +0000</pubDate>
		<guid>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon#comment-240137</guid>
		<description>The main trick (although there is of course alot more to it than this) is to install Ubuntu 7.10, then go over to a CentOS 5 (or similar Red Hat) and create a cpio archive of the CentOS/RedHat kernel, then install that kernel on the Ubuntu system and then run the Ubuntu under the CentOS/RedHat kernel - this will cause all kinds of key markers (such as /proc/version) to display CentOS/RedHat markers/versions, which goes a long long way to make the Oracle Installer feel more "comfortable" with your Ubuntu distro - effectively allows Ubuntu to "masquerade" as RedHat.  Then you do the install (you have to manually install some packages - which involves converting them from RPM to .deb packages with alien) and once you have all the packages it wants, you get an "almost" clean "pre-install" (and also runcluvfy.sh will now work -with one little tweak to a configurationfile).  The install then runs very cleanly.  Once the install is done, you take away the RedHat kernel, and go back to booting the 2.6.22-14 Ubuntu kernel.  It's not quite that easy because you have to put some rawdevice startups in /etc/event.d and (in the rudimentary configuration I am running) you have to run some things from rc.local - I'm looking to improve and make this more elegant.  But the sum total is that at the end of it all it appears to be a stable system.  crsctl check crs comes back clean, ASM comes up normally, etc.  I'm letting it run for a few days to see if it still has any problems.  One problem that Ubuntu seems to have (at least in vm) is that the linux clocking isn't as compatible with the host as is CentOS (which keeps very good inter-node time synch) wheras the ubuntu node clocks drift apart quite quickly - even with all the tweaks and even with ntp running.  I haven't found a good fix for this yet.  I think this clock problem can eventually bring the RAC nodes down but I'm not sure how tolerant the RAC is of widely out-of-synch linux system clocks.

I got the idea for the kernel bait-and-switch trick from Ingvar Hagelund.  See:  http://users.linpro.no/ingvar/rpm.html
This successful RAC 11g install on Ubuntu could not have been accomplished without the help of this webpage, and I emailed Ingvar and he helped step me through some problems I ran into embedding the Red Hat kernel in the Ubuntu system.</description>
		<content:encoded><![CDATA[<p>The main trick (although there is of course alot more to it than this) is to install Ubuntu 7.10, then go over to a CentOS 5 (or similar Red Hat) and create a cpio archive of the CentOS/RedHat kernel, then install that kernel on the Ubuntu system and then run the Ubuntu under the CentOS/RedHat kernel - this will cause all kinds of key markers (such as /proc/version) to display CentOS/RedHat markers/versions, which goes a long long way to make the Oracle Installer feel more &#8220;comfortable&#8221; with your Ubuntu distro - effectively allows Ubuntu to &#8220;masquerade&#8221; as RedHat.  Then you do the install (you have to manually install some packages - which involves converting them from RPM to .deb packages with alien) and once you have all the packages it wants, you get an &#8220;almost&#8221; clean &#8220;pre-install&#8221; (and also runcluvfy.sh will now work -with one little tweak to a configurationfile).  The install then runs very cleanly.  Once the install is done, you take away the RedHat kernel, and go back to booting the 2.6.22-14 Ubuntu kernel.  It&#8217;s not quite that easy because you have to put some rawdevice startups in /etc/event.d and (in the rudimentary configuration I am running) you have to run some things from rc.local - I&#8217;m looking to improve and make this more elegant.  But the sum total is that at the end of it all it appears to be a stable system.  crsctl check crs comes back clean, ASM comes up normally, etc.  I&#8217;m letting it run for a few days to see if it still has any problems.  One problem that Ubuntu seems to have (at least in vm) is that the linux clocking isn&#8217;t as compatible with the host as is CentOS (which keeps very good inter-node time synch) wheras the ubuntu node clocks drift apart quite quickly - even with all the tweaks and even with ntp running.  I haven&#8217;t found a good fix for this yet.  I think this clock problem can eventually bring the RAC nodes down but I&#8217;m not sure how tolerant the RAC is of widely out-of-synch linux system clocks.</p>
<p>I got the idea for the kernel bait-and-switch trick from Ingvar Hagelund.  See:  <a href="http://users.linpro.no/ingvar/rpm.html" rel="nofollow">http://users.linpro.no/ingvar/rpm.html</a><br />
This successful RAC 11g install on Ubuntu could not have been accomplished without the help of this webpage, and I emailed Ingvar and he helped step me through some problems I ran into embedding the Red Hat kernel in the Ubuntu system.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Grégory</title>
		<link>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon#comment-239816</link>
		<dc:creator>Grégory</dc:creator>
		<pubDate>Sun, 20 Jul 2008 03:12:02 +0000</pubDate>
		<guid>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon#comment-239816</guid>
		<description>Kudos! I'm impressed and I'm looking forward to learning how you've done that.</description>
		<content:encoded><![CDATA[<p>Kudos! I&#8217;m impressed and I&#8217;m looking forward to learning how you&#8217;ve done that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Gorbachev</title>
		<link>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon#comment-239790</link>
		<dc:creator>Alex Gorbachev</dc:creator>
		<pubDate>Sun, 20 Jul 2008 02:02:57 +0000</pubDate>
		<guid>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon#comment-239790</guid>
		<description>&lt;i&gt;Can a stable 11g RAC cluster be run on Ubuntu 7.10? Yes, it can!&lt;/i&gt;

It depends on the definition of stable.
Anyway, any sensible DBA will *not* run Oracle RAC on Ubuntu in *production*. For test and development -- maybe. On the other hand, why would one want to make your test and development environments to look different?

IMHO, it's only usable for some personal tests and research. I personally installed it earlier this year only because Ubuntu consumed less resources so that I could run more virtual machine and have 3 nodes RAC demo.</description>
		<content:encoded><![CDATA[<p><i>Can a stable 11g RAC cluster be run on Ubuntu 7.10? Yes, it can!</i></p>
<p>It depends on the definition of stable.<br />
Anyway, any sensible DBA will *not* run Oracle RAC on Ubuntu in *production*. For test and development &#8212; maybe. On the other hand, why would one want to make your test and development environments to look different?</p>
<p>IMHO, it&#8217;s only usable for some personal tests and research. I personally installed it earlier this year only because Ubuntu consumed less resources so that I could run more virtual machine and have 3 nodes RAC demo.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gilbert Standen</title>
		<link>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon#comment-239780</link>
		<dc:creator>Gilbert Standen</dc:creator>
		<pubDate>Sun, 20 Jul 2008 01:10:31 +0000</pubDate>
		<guid>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon#comment-239780</guid>
		<description>Ok sportsfans, I think we have a first.  I'm pleased to announce I've got a running Oracle 11g 11.1.0.6.0 2-node RAC cluster running on Ubuntu 7.10 Linux.  Installed 100% clean, runs beautifully.  Remember, you heard it first here!  My starting point was the work by Augusto Bott and Gregory Guillou and then I just kept at it until the secret was found.  Can a stable 11g RAC cluster be run on Ubuntu 7.10?  Yes, it can!</description>
		<content:encoded><![CDATA[<p>Ok sportsfans, I think we have a first.  I&#8217;m pleased to announce I&#8217;ve got a running Oracle 11g 11.1.0.6.0 2-node RAC cluster running on Ubuntu 7.10 Linux.  Installed 100% clean, runs beautifully.  Remember, you heard it first here!  My starting point was the work by Augusto Bott and Gregory Guillou and then I just kept at it until the secret was found.  Can a stable 11g RAC cluster be run on Ubuntu 7.10?  Yes, it can!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: How to Rename a Copied or Cloned ASM Disk Group</title>
		<link>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon#comment-166438</link>
		<dc:creator>How to Rename a Copied or Cloned ASM Disk Group</dc:creator>
		<pubDate>Fri, 29 Feb 2008 04:52:54 +0000</pubDate>
		<guid>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon#comment-166438</guid>
		<description>[...] tested the whole process with Oracle 11.1.0.6 on Ubuntu Gutsy Gibbon, based on a previous post I made on this blog. In order to copy the ASM disks, I&#8217;ve used the dd command, but it should not make any [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] tested the whole process with Oracle 11.1.0.6 on Ubuntu Gutsy Gibbon, based on a previous post I made on this blog. In order to copy the ASM disks, I&#8217;ve used the dd command, but it should not make any [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gilbert Standen</title>
		<link>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon#comment-164687</link>
		<dc:creator>Gilbert Standen</dc:creator>
		<pubDate>Fri, 22 Feb 2008 23:06:31 +0000</pubDate>
		<guid>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon#comment-164687</guid>
		<description>Gregory,  thank YOU very much.  Without your great article I'd have been completely lost!</description>
		<content:encoded><![CDATA[<p>Gregory,  thank YOU very much.  Without your great article I&#8217;d have been completely lost!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Grégory</title>
		<link>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon#comment-164665</link>
		<dc:creator>Grégory</dc:creator>
		<pubDate>Fri, 22 Feb 2008 20:12:30 +0000</pubDate>
		<guid>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon#comment-164665</guid>
		<description>Gil,

Awesome comment. Actually up to now I was re-running the following command after rebooting :
/u01/app/oracle/product/11.1.0/db_1/bin/localconfig reset
I'll set that up asap.

Regarding the MEMORY_TARGET parameter, actually it works fine on Ubuntu. The problem I guess comes from the fact it check the available memory before using it. The message says the feature is not available but actually, it will be... If you free your memory.

Thank you very much.</description>
		<content:encoded><![CDATA[<p>Gil,</p>
<p>Awesome comment. Actually up to now I was re-running the following command after rebooting :<br />
/u01/app/oracle/product/11.1.0/db_1/bin/localconfig reset<br />
I&#8217;ll set that up asap.</p>
<p>Regarding the MEMORY_TARGET parameter, actually it works fine on Ubuntu. The problem I guess comes from the fact it check the available memory before using it. The message says the feature is not available but actually, it will be&#8230; If you free your memory.</p>
<p>Thank you very much.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gilbert Standen</title>
		<link>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon#comment-164614</link>
		<dc:creator>Gilbert Standen</dc:creator>
		<pubDate>Fri, 22 Feb 2008 11:47:56 +0000</pubDate>
		<guid>http://www.pythian.com/blogs/810/howto-set-up-oracle-asm-on-ubuntu-gutsy-gibbon#comment-164614</guid>
		<description>Hello Gregory,
Thank you is hardly adequate to express my profound gratitude for your pioneering effort in documenting setup of ASM on ubuntu Gutsy Gibbon.  Here is my contribution and extension of your great work:  It would seem that I have developed a way to get a clean and "normal" start of the Cluster Synchronization Service (CSS) Daemon on our Gutsy Gibbon.  This was developed by coordinating many diverse reference materials on various aspects of teh problem from the web at many many diverse sources and a bit of luck was involved too.  Give this recipe a try and let me know if it works for you also.
Gil Standen

Procedure to Reliably spawn ocssd.bin during bootup:

I am running Ubuntu 7.10  Gutsy Gibbon on vmware 1.0.3 on a Dell Latitude D820 Laptop.  I run it with between 512-788Mb which is sufficent to support my linux and my ASM instance.  Here are the steps which hopefully folks will try out to get a textbook startup of ASM CSS on Gutsy Gibbon so that I can get some feedback if this is working generally for folks.  Also, this can probably be simplified and improved I would imagine.  Here it is:

Step 1.  
Go to /etc and edit the "inittab" file there and change the part 
"h1:35:respawn..." to 
"h1:23:respawn..."
This change is needed because active runlevels are 23 (the Debian/Ubuntu defaults) instead of 35 (the Red Hat and Suse defaults).  For more information on this change, see these references: 
https://help.ubuntu.com/community/Oracle10gBreezy
http://translate.google.com/translate?u=http%3A%2F%2Fblog.chinaunix.net%2Fu%2F7667%2Fshowart_146276.html&#038;langpair=zh%7Cen&#038;hl=en&#038;ie=UTF8

[ Note 1, I actually first got hip to this at the second link (from a China source) so I'd like to say thanks to "blue_stone" who says of himself at his website:  "I blue_stone, a drift of the oracle engineers in Beijing".  Thanks, blue_stone.]

[Note 2:  *A useful side note which I humbly suggest at this point, for people struggling with remedying the issues with Oracle on Ubuntu:  Debian was the distribution of Linux from which Ubuntu originally was forked.  When looking for solutions to Ubuntu problems, also google on "Debian" because many of the old Debian fixes for Oracle will work for Ubuntu also.]

[Note 3:  There is also a copy of the inittab in the directory 
$ ORACLE_HOME/css/admin/inittab_local where you *may* or *may not* want to make this change as well (changing "h1:35:respawn..." to "h1:23:respawn..."] but I think that the change has to be made here as well because I think that this may be used as a template when oracle creates /etc/inittab so it has to have the correction to ""23" as well so that the templating will be correct if "localconfig reset" is ever used (which I *guess* overwrites /etc/inittab).


Step 2
When the Oracle installer runs on Ubuntu, it creates the symlinks in the /etc/rcX.d directories; however,  it omits the symlink for init.cssd in rc2.d (again, the runlevels issue due to Debian/Ubuntu vs. RedHat/Suse runlevels).  Since the default runlevel for Ubuntu is level 2, we need that symlink in /etc/rc2.d.  Create it as follows:

ln -s /etc/init.d/init.cssd   /etc/rc2.d/S96init.cssd

[note, you should also create the following link at this time if it does not exist already:

ln -s /etc/init.d/init.cssd   /etc/rc2.d/K96init.cssd

so that css will exit cleanly at reboot or shutdown time].

This information about this was also found at the link:
https://help.ubuntu.com/community/Oracle10gBreezy
Note however, that when I attempted to implement the changes described there, I found that this command did not work as described:  

update-rc.d init.cssd defaults 96

Basically when I did what was described there, (i.e. the "rm" commands for the symlinks in /etc/rc[2,3,5].d worked great, but the update-rc.d didn't create anything to replace them.  However, I believe that only the link described above in /etc/rc2.d is needed.  But my advice would be to skip the rm's that are described at that reference, and just create the needed link in /etc/rc2.d as described above.

[ Note: You can also get a listing of what Oracle puts out in the /etc/rcX.d directories by default when installing from this link:

http://translate.google.com/translate?u=http%3A%2F%2Fwww.sql.ru%2Fforum%2Factualthread.aspx&#038;langpair=ru%7Cen&#038;hl=en&#038;ie=UTF8


it looks to me like Oracle does install the / etc/rc3.d/S01init.cssd -&#62; .. /init.d/init.cssd link and that it only forgets the startup link described above.]

Step 3
As noted in the original article Gregory pointed out that Ubuntu by default in Gutsy Gibbon does not use inittab anymore.  This has been replaced by something called "Upstart" which is described at the following webpage as "...an event-based replacement for the /sbin/init daemon which handles starting of tasks and services during boot...".  

Now my install of Ubuntu 7.10 apparently ended up with upstart configured and running when I installed Ubuntu.  I installed my Ubuntu according to the other Pythian article "Installing Oracle 11g on Ubuntu Linux 7.10 (Gutsy Gibbon) November 6th, 2007 - by Augusto Bott" so I'm guessing if you follow Augusto's article for your Oracle install and then move on to Gregory's article for your ASM configuration on Gutsy, you will probably have "Upstart" running as well and so should not have to take any action to make use of it.

You can test to see if Upstart is running ok by creating this file /etc/event.d/event.d.echo and then rebooting your Ubuntu:

#---------------------------------------
# this is a test of upstart

description "Upstart Echo"

start on startup
exec echo "Special Startups for Oracle/ASM/Cluster Support..."
console output

#----------------------------------

Then reboot your Ubuntu 7.10 and see if you see that echo'd message appear during startup.  If it appears, and if you created the "event.d.echo" file correctly, that phase will jump out at you during bootup.

If upstart is working, then we can move on to the final piece of this method to "startup ASM cleanly on Gutsy" procedure.  If it isn't then go to this link to find out how to get upstart installed and configured:

http://upstart.ubuntu.com/getting-started.html

Once upstart is working, we put in the last piece of the puzzle.  Create a file  /etc/event.d/event.d.cssd  and put this in the file:

#-------------------------------------
# This service maintains the CSS Daemon for ASM
# from the point the system is started until it is shutdown.

description "CSS Daemon"

start on startup
stop on shutdown

script
sleep 45
nohup /etc/init.d/init.cssd run &#62;/dev/null 2&#62;&#38;1 &#60;/dev/null &#38;
end script

#-------------------------------------------------

[ Note1:  I don't know if the sleep 45 is needed or not or if the timing matters.  I haven't had a chance to play around with the setup to see how changes affect the startup of ocssd.bin at boot time.  This setup is working perfectly for me as is. ]

[ Note2:  You'll notice this command comes right out of Gregory's procedure here for starting ASM from Gregory's "Question #3" (see original article) which is where I got this command from to plug in to this upstart script ]

[ Note3:  General note about init.cssd vs. ocssd.bin from Metalink:  In a normal environment, init spawns init.cssd, which in turn spawns OCSSD as a child.  Also, it's worth noting the following additional info from Metalink:  In a non-RAC environment, the ocssd.bin process is used for communication between a database instance and the ASM (Automatic Storage Management) instance. Even if you are not using ASM this process will be run out of the inittab.  These two nuggets of background info come from Metalink docs 311647.1 and one other doc which I can't recall at the moment, but it's just general background info which helped me understand the difference between init.cssd and ocssd.bin ]

So now, if your Gutsy setup digests these changes the same way mine did, you end up with a Gutsy that will reliably spawn ocssd.bin first time every time at bootup.  I rebooted 5 or  6 times to test to be sure it was working always, and it was.  I hope I didn't leave out any steps.  The script in event.d.cssd is needed.

Also, I'd like to say hi to Babette Turner-Underwood who I met while attending AUSOUG 2007 at Perth and Melbourne, at which conference we both had the honor of giving presentations.  I'd also like to say that Pythian just keeps coming up with one hit after another pushing the envelope of what is possible with Oracle!!  I am so grateful to you that words cannot express for this really superb work you have done showing how to use Ubuntu Gutsy with Oracle!! THANKS!

PS I've got some more goodies I've worked out with a starting point from Gregory's article so if anyone finds this post useful, let me know and I'll cough up some more discoveries of ASM on Ubuntu, including how to automate setup of your raw devices and how to use dbca to create your ASM instance, and in particular how to fix the problem which pops up during dbca creation of ASM regarding "MEMORY_TARGET" error ORA-00845 MEMORY_TARGET not supported on this system.  There is a fix for that as well!

Gil Standen
mail@consultingcommandos.com</description>
		<content:encoded><![CDATA[<p>Hello Gregory,<br />
Thank you is hardly adequate to express my profound gratitude for your pioneering effort in documenting setup of ASM on ubuntu Gutsy Gibbon.  Here is my contribution and extension of your great work:  It would seem that I have developed a way to get a clean and &#8220;normal&#8221; start of the Cluster Synchronization Service (CSS) Daemon on our Gutsy Gibbon.  This was developed by coordinating many diverse reference materials on various aspects of teh problem from the web at many many diverse sources and a bit of luck was involved too.  Give this recipe a try and let me know if it works for you also.<br />
Gil Standen</p>
<p>Procedure to Reliably spawn ocssd.bin during bootup:</p>
<p>I am running Ubuntu 7.10  Gutsy Gibbon on vmware 1.0.3 on a Dell Latitude D820 Laptop.  I run it with between 512-788Mb which is sufficent to support my linux and my ASM instance.  Here are the steps which hopefully folks will try out to get a textbook startup of ASM CSS on Gutsy Gibbon so that I can get some feedback if this is working generally for folks.  Also, this can probably be simplified and improved I would imagine.  Here it is:</p>
<p>Step 1.<br />
Go to /etc and edit the &#8220;inittab&#8221; file there and change the part<br />
&#8220;h1:35:respawn&#8230;&#8221; to<br />
&#8220;h1:23:respawn&#8230;&#8221;<br />
This change is needed because active runlevels are 23 (the Debian/Ubuntu defaults) instead of 35 (the Red Hat and Suse defaults).  For more information on this change, see these references:<br />
<a href="https://help.ubuntu.com/community/Oracle10gBreezy" rel="nofollow">https://help.ubuntu.com/community/Oracle10gBreezy</a><br />
<a href="http://translate.google.com/translate?u=http%3A%2F%2Fblog.chinaunix.net%2Fu%2F7667%2Fshowart_146276.html&#038;langpair=zh%7Cen&#038;hl=en&#038;ie=UTF8" rel="nofollow">http://translate.google.com/translate?u=http%3A%2F%2Fblog.chinaunix.net%2Fu%2F7667%2Fshowart_146276.html&#038;langpair=zh%7Cen&#038;hl=en&#038;ie=UTF8</a></p>
<p>[ Note 1, I actually first got hip to this at the second link (from a China source) so I&#8217;d like to say thanks to &#8220;blue_stone&#8221; who says of himself at his website:  &#8220;I blue_stone, a drift of the oracle engineers in Beijing&#8221;.  Thanks, blue_stone.]</p>
<p>[Note 2:  *A useful side note which I humbly suggest at this point, for people struggling with remedying the issues with Oracle on Ubuntu:  Debian was the distribution of Linux from which Ubuntu originally was forked.  When looking for solutions to Ubuntu problems, also google on &#8220;Debian&#8221; because many of the old Debian fixes for Oracle will work for Ubuntu also.]</p>
<p>[Note 3:  There is also a copy of the inittab in the directory<br />
$ ORACLE_HOME/css/admin/inittab_local where you *may* or *may not* want to make this change as well (changing &#8220;h1:35:respawn&#8230;&#8221; to &#8220;h1:23:respawn&#8230;&#8221;] but I think that the change has to be made here as well because I think that this may be used as a template when oracle creates /etc/inittab so it has to have the correction to &#8220;&#8221;23&#8243; as well so that the templating will be correct if &#8220;localconfig reset&#8221; is ever used (which I *guess* overwrites /etc/inittab).</p>
<p>Step 2<br />
When the Oracle installer runs on Ubuntu, it creates the symlinks in the /etc/rcX.d directories; however,  it omits the symlink for init.cssd in rc2.d (again, the runlevels issue due to Debian/Ubuntu vs. RedHat/Suse runlevels).  Since the default runlevel for Ubuntu is level 2, we need that symlink in /etc/rc2.d.  Create it as follows:</p>
<p>ln -s /etc/init.d/init.cssd   /etc/rc2.d/S96init.cssd</p>
<p>[note, you should also create the following link at this time if it does not exist already:</p>
<p>ln -s /etc/init.d/init.cssd   /etc/rc2.d/K96init.cssd</p>
<p>so that css will exit cleanly at reboot or shutdown time].</p>
<p>This information about this was also found at the link:<br />
<a href="https://help.ubuntu.com/community/Oracle10gBreezy" rel="nofollow">https://help.ubuntu.com/community/Oracle10gBreezy</a><br />
Note however, that when I attempted to implement the changes described there, I found that this command did not work as described:  </p>
<p>update-rc.d init.cssd defaults 96</p>
<p>Basically when I did what was described there, (i.e. the &#8220;rm&#8221; commands for the symlinks in /etc/rc[2,3,5].d worked great, but the update-rc.d didn&#8217;t create anything to replace them.  However, I believe that only the link described above in /etc/rc2.d is needed.  But my advice would be to skip the rm&#8217;s that are described at that reference, and just create the needed link in /etc/rc2.d as described above.</p>
<p>[ Note: You can also get a listing of what Oracle puts out in the /etc/rcX.d directories by default when installing from this link:</p>
<p><a href="http://translate.google.com/translate?u=http%3A%2F%2Fwww.sql.ru%2Fforum%2Factualthread.aspx&#038;langpair=ru%7Cen&#038;hl=en&#038;ie=UTF8" rel="nofollow">http://translate.google.com/translate?u=http%3A%2F%2Fwww.sql.ru%2Fforum%2Factualthread.aspx&#038;langpair=ru%7Cen&#038;hl=en&#038;ie=UTF8</a></p>
<p>it looks to me like Oracle does install the / etc/rc3.d/S01init.cssd -&gt; .. /init.d/init.cssd link and that it only forgets the startup link described above.]</p>
<p>Step 3<br />
As noted in the original article Gregory pointed out that Ubuntu by default in Gutsy Gibbon does not use inittab anymore.  This has been replaced by something called &#8220;Upstart&#8221; which is described at the following webpage as &#8220;&#8230;an event-based replacement for the /sbin/init daemon which handles starting of tasks and services during boot&#8230;&#8221;.  </p>
<p>Now my install of Ubuntu 7.10 apparently ended up with upstart configured and running when I installed Ubuntu.  I installed my Ubuntu according to the other Pythian article &#8220;Installing Oracle 11g on Ubuntu Linux 7.10 (Gutsy Gibbon) November 6th, 2007 - by Augusto Bott&#8221; so I&#8217;m guessing if you follow Augusto&#8217;s article for your Oracle install and then move on to Gregory&#8217;s article for your ASM configuration on Gutsy, you will probably have &#8220;Upstart&#8221; running as well and so should not have to take any action to make use of it.</p>
<p>You can test to see if Upstart is running ok by creating this file /etc/event.d/event.d.echo and then rebooting your Ubuntu:</p>
<p>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
# this is a test of upstart</p>
<p>description &#8220;Upstart Echo&#8221;</p>
<p>start on startup<br />
exec echo &#8220;Special Startups for Oracle/ASM/Cluster Support&#8230;&#8221;<br />
console output</p>
<p>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Then reboot your Ubuntu 7.10 and see if you see that echo&#8217;d message appear during startup.  If it appears, and if you created the &#8220;event.d.echo&#8221; file correctly, that phase will jump out at you during bootup.</p>
<p>If upstart is working, then we can move on to the final piece of this method to &#8220;startup ASM cleanly on Gutsy&#8221; procedure.  If it isn&#8217;t then go to this link to find out how to get upstart installed and configured:</p>
<p><a href="http://upstart.ubuntu.com/getting-started.html" rel="nofollow">http://upstart.ubuntu.com/getting-started.html</a></p>
<p>Once upstart is working, we put in the last piece of the puzzle.  Create a file  /etc/event.d/event.d.cssd  and put this in the file:</p>
<p>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
# This service maintains the CSS Daemon for ASM<br />
# from the point the system is started until it is shutdown.</p>
<p>description &#8220;CSS Daemon&#8221;</p>
<p>start on startup<br />
stop on shutdown</p>
<p>script<br />
sleep 45<br />
nohup /etc/init.d/init.cssd run &gt;/dev/null 2&gt;&amp;1 &lt;/dev/null &amp;<br />
end script</p>
<p>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>[ Note1:  I don&#8217;t know if the sleep 45 is needed or not or if the timing matters.  I haven&#8217;t had a chance to play around with the setup to see how changes affect the startup of ocssd.bin at boot time.  This setup is working perfectly for me as is. ]</p>
<p>[ Note2:  You&#8217;ll notice this command comes right out of Gregory&#8217;s procedure here for starting ASM from Gregory&#8217;s &#8220;Question #3&#8243; (see original article) which is where I got this command from to plug in to this upstart script ]</p>
<p>[ Note3:  General note about init.cssd vs. ocssd.bin from Metalink:  In a normal environment, init spawns init.cssd, which in turn spawns OCSSD as a child.  Also, it&#8217;s worth noting the following additional info from Metalink:  In a non-RAC environment, the ocssd.bin process is used for communication between a database instance and the ASM (Automatic Storage Management) instance. Even if you are not using ASM this process will be run out of the inittab.  These two nuggets of background info come from Metalink docs 311647.1 and one other doc which I can&#8217;t recall at the moment, but it&#8217;s just general background info which helped me understand the difference between init.cssd and ocssd.bin ]</p>
<p>So now, if your Gutsy setup digests these changes the same way mine did, you end up with a Gutsy that will reliably spawn ocssd.bin first time every time at bootup.  I rebooted 5 or  6 times to test to be sure it was working always, and it was.  I hope I didn&#8217;t leave out any steps.  The script in event.d.cssd is needed.</p>
<p>Also, I&#8217;d like to say hi to Babette Turner-Underwood who I met while attending AUSOUG 2007 at Perth and Melbourne, at which conference we both had the honor of giving presentations.  I&#8217;d also like to say that Pythian just keeps coming up with one hit after another pushing the envelope of what is possible with Oracle!!  I am so grateful to you that words cannot express for this really superb work you have done showing how to use Ubuntu Gutsy with Oracle!! THANKS!</p>
<p>PS I&#8217;ve got some more goodies I&#8217;ve worked out with a starting point from Gregory&#8217;s article so if anyone finds this post useful, let me know and I&#8217;ll cough up some more discoveries of ASM on Ubuntu, including how to automate setup of your raw devices and how to use dbca to create your ASM instance, and in particular how to fix the problem which pops up during dbca creation of ASM regarding &#8220;MEMORY_TARGET&#8221; error ORA-00845 MEMORY_TARGET not supported on this system.  There is a fix for that as well!</p>
<p>Gil Standen<br />
<a href="mailto:mail@consultingcommandos.com">mail@consultingcommandos.com</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>
