<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ronny Egners Blog &#187; Ronny Egner</title>
	<atom:link href="http://blog.ronnyegner-consulting.de/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ronnyegner-consulting.de</link>
	<description>Ronny Egners Blog about Oracle, UNIX and EMC / Legato Networker</description>
	<lastBuildDate>Sun, 04 Dec 2011 12:10:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>PRVF-5300: Failed to retrieve active version for CRS on this node when installing 11.2.0.2 DB on 11.2.0.3.0 Grid Infrastructure</title>
		<link>http://blog.ronnyegner-consulting.de/2011/10/13/prvf-5300-failed-to-retrieve-active-cluster-version-for-crs-on-this-node-when-installing-11-2-0-2-db-on-11-2-0-3-0-grid-infrastructure/</link>
		<comments>http://blog.ronnyegner-consulting.de/2011/10/13/prvf-5300-failed-to-retrieve-active-cluster-version-for-crs-on-this-node-when-installing-11-2-0-2-db-on-11-2-0-3-0-grid-infrastructure/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 12:31:12 +0000</pubDate>
		<dc:creator>Ronny Egner</dc:creator>
				<category><![CDATA[Oracle in general]]></category>

		<guid isPermaLink="false">http://blog.ronnyegner-consulting.de/?p=2395</guid>
		<description><![CDATA[I just played with 11.2.0.3.0 patchset on Linux x86_64 (in my testcase Oracle Enterprise Linux 5.6) and tried to install a 11.2.0.2.0 database on it. It fails with: PRVF-5300: Failed to retrieve active version for CRS on this node The error stack in the installation log is: ID: oracle.install.commons.util.exception.DefaultErrorAdvisor:745 oracle.cluster.verification.VerificationException: An internal error occurred within [...]]]></description>
			<content:encoded><![CDATA[<p>I just played with 11.2.0.3.0 patchset on Linux x86_64 (in my testcase Oracle Enterprise Linux 5.6) and tried to install a 11.2.0.2.0 database on it. It fails with:</p>
<pre>PRVF-5300: Failed to retrieve active version for CRS on this node</pre>
<p><a href="http://blog.ronnyegner-consulting.de/wp-content/uploads/error_112020_on_112030.png"><img class="aligncenter size-full wp-image-2398" title="error_112020_on_112030" src="http://blog.ronnyegner-consulting.de/wp-content/uploads/error_112020_on_112030.png" alt="" width="558" height="196" /></a><br />
The error stack in the installation log is:</p>
<pre>ID: oracle.install.commons.util.exception.DefaultErrorAdvisor:745
oracle.cluster.verification.VerificationException: An internal error occurred within cluster
verification framework

ERRORMSG(linux): PRVF-5300 : Failed to retrieve active version for CRS on this node
        at oracle.cluster.verification.ClusterVerification.getPreReqTasksForSIDBInst(ClusterVerification.java:615)
        at oracle.install.ivw.db.action.PrereqAction.getProductVerificationTasks(PrereqAction.java:111)
        at oracle.install.commons.base.interview.common.action.AbstractPrereqAction.execute
        (AbstractPrereqAction.java:86)
        at oracle.install.commons.flow.AbstractFlowExecutor.startAction(AbstractFlowExecutor.java:358)
        at oracle.install.commons.flow.AbstractFlowExecutor.enterVertex(AbstractFlowExecutor.java:571)
        at oracle.install.commons.flow.AbstractFlowExecutor.transition(AbstractFlowExecutor.java:333)
        at oracle.install.commons.flow.AbstractFlowExecutor.nextState(AbstractFlowExecutor.java:268)
        at oracle.install.commons.flow.AbstractFlowExecutor.nextViewState(AbstractFlowExecutor.java:227)
        at oracle.install.commons.flow.DefaultFlowNavigator.goForward(DefaultFlowNavigator.java:58)
        at oracle.install.commons.flow.jewt.FlowWizard$1.run(FlowWizard.java:125)
        at oracle.install.commons.flow.jewt.FlowWizard$TransitionManager$1.run(FlowWizard.java:101)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
        at java.util.concurrent.FutureTask.run(FutureTask.java:123)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
        at java.lang.Thread.run(Thread.java:595)</pre>
<h2>The problem</h2>
<p>I started the installer with debug enabled just add &#8220;-debug -logLevel finest &gt;inst1.out 2&gt;inst2.out&#8221;). The log files gave some insight:</p>
<pre>[Version.getVersion:497]  version String is 11.2.0.3.0
[Version.getVersion:498]  new Version().toString is 11.2.0.2.0
[VerificationUtil.getSIHAReleaseVersionObj:4986]  Configuration Exception:
PRKC-1137 : Unable to find Version object with string value 11.2.0.3.0
[VerificationUtil.getCRSUser:1362]  Active Version = null</pre>
<p>The related query command is</p>
<pre>"GI_HOME/bin/crsctl query has releaseversion"</pre>
<p>Obviously 11.2.0.2.0 installer has problems with the string &#8220;11.2.0.3.0&#8243;.</p>
<h2>Solution</h2>
<p>One simple approach was to created a wrapper around crsctl to report a version of 11.2.0.2.0 when querying releaseversion:</p>
<pre>cd $GRID_HOME /bin</pre>
<pre>mv crsctl crsctl.orig</pre>
<p>Now create a script &#8220;crsctl&#8221; with the following contents:</p>
<pre>EXEC=/u01/app/oragrid/product/11.2.0.3.0/bin/crsctl.orig
case $1 in
query)
 echo "Oracle High Availability Services release version on the local node is [11.2.0.2.0]"
;;
*)
        $EXEC $*
;;
esac</pre>
<p>&nbsp;</p>
<p>You can start the database installation. During the verification steps the installer might report the Oracle Restart Registry as invalid. Just ignore it. The installation should now run fine.</p>
<p>Note that this bug is NOT related to OEL 5.6. It is the installer which cannot deal with the version string of the newer grid infrastructure. So you will face this error on OEL 6, RedHat and SuSE as well.</p>
<p><strong>Dont forget to revert the changes after the installation!</strong></p>
<p>After installation finished i was able to create a database using ASM without any problems. Registering the database into Oracle Restart also worked fine.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ronnyegner-consulting.de/2011/10/13/prvf-5300-failed-to-retrieve-active-cluster-version-for-crs-on-this-node-when-installing-11-2-0-2-db-on-11-2-0-3-0-grid-infrastructure/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>INFO: task  blocked for more than 120 seconds.</title>
		<link>http://blog.ronnyegner-consulting.de/2011/10/13/info-task-blocked-for-more-than-120-seconds/</link>
		<comments>http://blog.ronnyegner-consulting.de/2011/10/13/info-task-blocked-for-more-than-120-seconds/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 05:53:06 +0000</pubDate>
		<dc:creator>Ronny Egner</dc:creator>
				<category><![CDATA[Oracle in general]]></category>

		<guid isPermaLink="false">http://blog.ronnyegner-consulting.de/?p=2390</guid>
		<description><![CDATA[When running some high workloads on UEK kernels on systems with a lot of memory you might see the following errors in /var/log/messages: &#160; INFO: task bonnie++:31785 blocked for more than 120 seconds. "echo 0 &#62; /proc/sys/kernel/hung_task_timeout_secs" disables this message. bonnie++      D ffff810009004420     0 31785  11051               11096 (NOTLB) ffff81021c771aa8 0000000000000082 ffff81103e62ccc0 ffffffff88031cb3 ffff810ac94cd6c0 0000000000000007 ffff810220347820 [...]]]></description>
			<content:encoded><![CDATA[<p>When running some high workloads on UEK kernels on systems with a lot of memory you might see the following errors in /var/log/messages:</p>
<p>&nbsp;</p>
<pre>INFO: task bonnie++:31785 blocked for more than 120 seconds.
"echo 0 &gt; /proc/sys/kernel/hung_task_timeout_secs" disables this message.
bonnie++      D ffff810009004420     0 31785  11051               11096 (NOTLB)
ffff81021c771aa8 0000000000000082 ffff81103e62ccc0 ffffffff88031cb3
ffff810ac94cd6c0 0000000000000007 ffff810220347820 ffffffff80310b60
00016803dfd77991 00000000001312ee ffff810220347a08 0000000000000001
Call Trace:
[&lt;ffffffff88031cb3&gt;] :jbd:do_get_write_access+0x4f9/0x530
[&lt;ffffffff800ce675&gt;] zone_statistics+0x3e/0x6d
[&lt;ffffffff88032002&gt;] :jbd:start_this_handle+0x2e5/0x36c
[&lt;ffffffff800a28b4&gt;] autoremove_wake_function+0x0/0x2e
[&lt;ffffffff88032152&gt;] :jbd:journal_start+0xc9/0x100
[&lt;ffffffff88050362&gt;] :ext3:ext3_write_begin+0x9a/0x1cc
[&lt;ffffffff8000fda3&gt;] generic_file_buffered_write+0x14b/0x675
[&lt;ffffffff80016679&gt;] __generic_file_aio_write_nolock+0x369/0x3b6
[&lt;ffffffff80021850&gt;] generic_file_aio_write+0x65/0xc1
[&lt;ffffffff8804c1b6&gt;] :ext3:ext3_file_write+0x16/0x91
[&lt;ffffffff800182df&gt;] do_sync_write+0xc7/0x104
[&lt;ffffffff800a28b4&gt;] autoremove_wake_function+0x0/0x2e
[&lt;ffffffff80062ff0&gt;] thread_return+0x62/0xfe
[&lt;ffffffff80016a81&gt;] vfs_write+0xce/0x174
[&lt;ffffffff80017339&gt;] sys_write+0x45/0x6e
[&lt;ffffffff8005d28d&gt;] tracesys+0xd5/0xe0</pre>
<p>This is a know bug. By default Linux uses up to 40% of the available memory for file system caching. After this mark has been reached the file system flushes all outstanding data to disk causing all following IOs going synchronous. For flushing out this data to disk this there is a time limit of 120 seconds by default. In the case here the IO subsystem is not fast enough to flush the data withing 120 seconds. This especially happens on systems with a lof of memory.</p>
<p>The problem is solved in later kernels and there is not &#8220;fix&#8221; from Oracle. I fixed this by lowering the mark for flushing the cache from 40% to 10% by setting &#8220;vm.dirty_ratio=10&#8243; in /etc/sysctl.conf. This setting does not influence overall database performance since you hopefully use Direct IO and bypass the file system cache completely.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ronnyegner-consulting.de/2011/10/13/info-task-blocked-for-more-than-120-seconds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>11.2.0.3.0 is out</title>
		<link>http://blog.ronnyegner-consulting.de/2011/10/13/11-2-0-3-0-is-out/</link>
		<comments>http://blog.ronnyegner-consulting.de/2011/10/13/11-2-0-3-0-is-out/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 05:46:32 +0000</pubDate>
		<dc:creator>Ronny Egner</dc:creator>
				<category><![CDATA[Oracle in general]]></category>

		<guid isPermaLink="false">http://blog.ronnyegner-consulting.de/?p=2386</guid>
		<description><![CDATA[Since almost two week Oracle released Oracle database patchset 11.2.0.3.0. &#160; I am a little bit late with this news. Martin Bach already  posted a lot of stuff about this so let me link to his guides: - Release Accouncement - Installation 11.2.0.3.0 on Oracle Linux 6.1 with UEK Kernel At the moment 11.2.0.3.0 is [...]]]></description>
			<content:encoded><![CDATA[<p>Since almost two week Oracle released Oracle database patchset 11.2.0.3.0.</p>
<p>&nbsp;</p>
<p>I am a little bit late with this news. Martin Bach already  posted a lot of stuff about this so let me link to his guides:</p>
<ul>
<li>- <a href="http://martincarstenbach.wordpress.com/2011/09/23/oracle-11-2-0-3-cant-be-long-now/" target="_blank">Release Accouncement</a></li>
<li>- <a href="http://martincarstenbach.wordpress.com/2011/09/24/installing-grid-infrastructure-11-2-0-3-on-oracle-linux-6-1-with-kernel-uek/" target="_blank">Installation 11.2.0.3.0 on Oracle Linux 6.1 with UEK Kernel</a></li>
</ul>
<p>At the moment 11.2.0.3.0 is available for Linux (32/64 bit) and Solaris SPARC.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ronnyegner-consulting.de/2011/10/13/11-2-0-3-0-is-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ext4 file systems and the 16 TB limit &#8211; how to *solve* it</title>
		<link>http://blog.ronnyegner-consulting.de/2011/08/18/ext4-and-the-16-tb-limit-now-solved/</link>
		<comments>http://blog.ronnyegner-consulting.de/2011/08/18/ext4-and-the-16-tb-limit-now-solved/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 13:35:04 +0000</pubDate>
		<dc:creator>Ronny Egner</dc:creator>
				<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://blog.ronnyegner-consulting.de/?p=2340</guid>
		<description><![CDATA[creating and handling ext4 file systems larger > 16 TB]]></description>
			<content:encoded><![CDATA[<p>File systems do have limits. Thats no surprise. ext3 had a limit at 16 TB file system size. If you needed more space you´d have to use another file system for instance XFS or JFS or spilt the capacity into multiple mount points.</p>
<p>ext4 was designed to allow far more larger file systems than ext3. According to <a href="http://en.wikipedia.org/wiki/Ext4">wikipedia </a>ext4 has a maximum file system size of 1 EiB (approx. one exabyte or 1024 TB).</p>
<p>Now if you´d try to create one single large file system with ext4 on <strong>every</strong> linux distribution out there (including OEL 6.1; as of 18th August 2011) you will end up with:</p>
<pre>[root@localhost ~]# mkfs.ext4 /dev/iscsi/test mke4fs 1.41.9 (22-Aug-2009)
mkfs.ext4: Size of device /dev/iscsi/test too big to be expressed in 32 bit susing a blocksize of 4096.</pre>
<p>This post is about how to solve the issue.</p>
<p><span id="more-2340"></span></p>
<h2>The demo system</h2>
<p>My demo system consists of one large LUNof 18 TB encapsulated in LVM with a logical volume of 17 TB on a Oracle Enterprise Linux (OEL 5.5):</p>
<pre>[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.18-194.el5 #1 SMP Mon Mar 29 22:10:29 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux</pre>
<pre>[root@localhost ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 5.5 (Tikanga)</pre>
<pre>[root@localhost ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 19791.2 GB, 19791209299968 bytes
255 heads, 63 sectors/track, 2406144 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table 

[root@localhost ~]# vgdisplay iscsi
--- Volume group ---
VG Name               iscsi
System ID
Format                lvm2
Metadata Areas        1
Metadata Sequence No  2
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                1
Open LV               0
Max PV                0
Cur PV                1
Act PV                1
VG Size               18.00 TB
PE Size               4.00 MB
Total PE              4718591
Alloc PE / Size       4456448 / 17.00 TB
Free  PE / Size       262143 / 1024.00 GB
VG UUID               tdi4f2-3ZYr-c1P0-NuSl-i3w2-5qQl-K75guj</pre>
<pre>[root@localhost ~]# lvdisplay iscsi
--- Logical volume ---
LV Name                /dev/iscsi/test
VG Name                iscsi
LV UUID                8q1UrT-ludC-FEkT-NExO-4Gzd-cn5H-FYJcB1
LV Write Access        read/write
LV Status              available
# open                 0
LV Size                17.00 TB
Current LE             4456448
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           253:2</pre>
<h2>Creating file systems  larger than 16TB with ext4:</h2>
<p>If you try to create a ext4 file system on the 17 TB logical volume:</p>
<pre>[root@localhost ~]# mkfs.ext4 /dev/iscsi/test mke4fs 1.41.9 (22-Aug-2009)
mkfs.ext4: Size of device /dev/iscsi/test too big to be expressed in 32 bit susing a blocksize of 4096.</pre>
<p>OK. Maybe with ext4dev:</p>
<pre>[root@localhost ~]# mkfs.ext4dev /dev/iscsi/test mke4fs 1.41.9 (22-Aug-2009)
mkfs.ext4dev: Size of device /dev/iscsi/test too big to be expressed in 32 bits using a blocksize of 4096.</pre>
<p>Nope &#8211; no success. The reason behind that are the e2fsprogs (or how they are called on OEL: e4fsprogs) are not able to deal with file systems larger than ~ 16 TB.</p>
<p><strong>To be specific: Even with the most recent e2fsprogs 1.41.14 there is no way to create file systems larger than 16 TB.</strong></p>
<p>But: According to <a href="http://permalink.gmane.org/gmane.comp.file-systems.ext4/19565">this </a>post it should work since June:</p>
<blockquote><p>It&#8217;s taken way too long, but I&#8217;ve finally finished integrating the 64-bit patches into e2fsprogs&#8217;s mainline repository. All of the necessary patches should now be in the master branch for e2fsprogs. The big change from before is that I replaced Val&#8217;s changes for fixing up how mke2fs picked the correct fs-type profile from mke2fs.conf with something that I think works much better and leaves the code much cleaner. With this change you need to add the following to your /etc/mke2fs.conf file if you want to enable the 64-bit feature flag automatically for a big disk:</p>
<p>[fs_types] ext4 = {<br />
features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize<br />
auto_64-bit_support = 1 # &lt;&#8212;- add this line<br />
inode_size = 256<br />
}</p>
<p>Alternatively you can change the features line to include the feature &#8220;64bit&#8221;; this will force the use of the 64-bit fields, and double the size of the block group descriptors, even for smaller file systems that don&#8217;t require the 64-bit support. (This was one of my problems with Val&#8217;s implementation; it forced the mke2fs.conf file to always enable the 64-bit feature flag, which would cause backwards compatibility issues.) This might be a good thing to do for debugging purposes, though, so this is an option which I left open, but the better way of doing things is to use the auto_64-bit-support flag.</p></blockquote>
<p>So the change must be there. A short look at the &#8216;WIP&#8217; (work-in-progress) branch of the e2fsprogrs confirmed the integration.</p>
<p>So i tried to build the most recent e2fsprogs (<strong>Remeber: This are *development* tools &#8211; use at your OWN RISK)</strong>:</p>
<pre>[root@vm-mkmoel ~] git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
[root@vm-mkmoel ~]# cd e2fsprogs
[root@vm-mkmoel e2fsprogs]# mkdir build ; cd build/
[root@vm-mkmoel build]# ../configure
[root@vm-mkmoel build]# make
[root@vm-mkmoel build]# make install</pre>
<p>So let´s try to create a file system:</p>
<pre>[root@vm-mkmoel misc]# ./mke2fs -O 64bit,has_journal,extents,huge_file,flex_bg, \
uninit_bg,dir_nlink,extra_isize -i 4194304 /dev/iscsi/test 

mke2fs 1.42-WIP (02-Jul-2011)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
4456448 inodes, 4563402752 blocks
228170137 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=6710886400
139264 block groups
32768 blocks per group, 32768 fragments per group
32 inodes per group</pre>
<pre>Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544, 1934917632,
2560000000, 3855122432
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 0 mounts or 0 days,
whichever comes first.  Use tune2fs -c or -i to override.</pre>
<p>OK. Seems to have worked. Lets check it:</p>
<pre>[root@vm-mkmoel misc]# mount /dev/iscsi/test /mnt</pre>
<pre>[root@vm-mkmoel misc]# df -h
Filesystem                          Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00     18G  2.6G   14G  16% /
/dev/sda1                           99M  13M  82M    14% /boot
tmpfs                               502M 0    502M   0% /dev/shm
/dev/mapper/iscsi-test              17T  229M   17T   1% /mnt</pre>
<pre>[root@vm-mkmoel misc]# mount | grep mnt
/dev/mapper/iscsi-test on /mnt type ext4 (rw)</pre>
<p>As you can see: With the most recent development e2fsprogrs it is possible to create ext4 file systems larger than 16 TB.</p>
<p>I even tried it with a 50 TB file system (because thats what i needed i my use case):</p>
<pre>[root@vm-mkmoel misc]# df -h
Filesystem                          Size Used Avail Use% Mounted on
/dev/mapper/iscsi-test              50T  237M   48T   1% /mnt</pre>
<h2><strong>Update:</strong></h2>
<p>Today i tested some more user space tools.</p>
<h3>fsck</h3>
<p>Maybe the most important tool in case the journaling fails. I copied some data to the file system (roughly about 2 TB) and had 73% of my 6.5 million inodes (one inode per 8 MB) allocated. Running fsck on my demo system with 1 GB memory yields:</p>
<pre>[root@vm-mkmoel ~]# fsck.ext4 -f /dev/iscsi/test
e2fsck 1.42-WIP (02-Jul-2011)
Pass 1: Checking inodes, blocks, and sizes
Error allocating block bitmap (4): Memory allocation failed</pre>
<p>fsck is some kind of messy with memory. Increasing the memory to 8 GB did it. While running fsck i noticed <strong>a memory consumption of up to 3.4 GB! </strong>So large file systems require a lot of memory for fscking. <strong>It requires even more memory with more inodes!</strong></p>
<h3>resize2fs</h3>
<p>After fscking my file system i tried to resize it:</p>
<pre>[root@localhost sbin]# lvresize -l +7199 /dev/iscsi/test
  Extending logical volume test to 50.00 TB
  Logical volume test successfully resized</pre>
<pre>[root@localhost sbin]# resize2fs /dev/iscsi/test
resize2fs 1.42-WIP (02-Jul-2011)
resize2fs: New size too large to be expressed in 32 bits</pre>
<p>As you can see resizing the file system is not yet supported/implemented. <strong>So it would be wise to create the file system with the final size from start since growing is NOT possible!</strong></p>
<h3>tune2fs</h3>
<p>tune2fs seems to work &#8211; at least it dumps the suberblock contents:</p>
<pre>[root@localhost sbin]# tune2fs -l /dev/iscsi/test
tune2fs 1.42-WIP (02-Jul-2011)
Filesystem volume name:   &lt;none&gt;
Last mounted on:          /mnt/mnt
Filesystem UUID:          a754e947-8b89-415d-909d-000e6c95c44a
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              6550000
Block count:              13414400000
Reserved block count:     670720000
Free blocks:              13394134177
Free inodes:              1484526
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      1024
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         16
Inode blocks per group:   1
Flex block group size:    16
Filesystem created:       Wed Oct 19 17:09:06 2011
Last mount time:          Wed Oct 19 18:45:47 2011
Last write time:          Wed Oct 19 18:45:47 2011
Mount count:              1
Maximum mount count:      20
Last checked:             Wed Oct 19 18:35:36 2011
Check interval:           0 (&lt;none&gt;)
Lifetime writes:          2511 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      ea117174-a04a-412e-a067-7972804f83d7
Journal backup:           inode blocks</pre>
<p>Setting properties works as well:</p>
<pre>[root@localhost sbin]# tune2fs -L test /dev/iscsi/test
tune2fs 1.42-WIP (02-Jul-2011)</pre>
<pre>[root@localhost sbin]# tune2fs -l /dev/iscsi/test | head -10
tune2fs 1.42-WIP (02-Jul-2011)
Filesystem volume name:   test
Last mounted on:          /mnt/mnt
[...]</pre>
<h3>e4defrag</h3>
<p>e4defrag is a new tool to defragment the ext4 file system. According to the man page:</p>
<blockquote><p>e4defrag  reduces  fragmentation of extent based file. The file targeted by e4defrag is created on ext4 filesystem made with &#8220;-O extent&#8221; option (see  mke2fs(8)).   The  targeted  file gets more contiguous blocks and improves the file access speed.</p></blockquote>
<p>I am not yet sure how this affects file systems used for oracle datafiles. All i can say is that e4defrag seems to work with &gt;16 TB file systems:</p>
<p>&nbsp;</p>
<pre>[root@localhost sbin]# e4defrag /mnt/
ext4 defragmentation for directory(/mnt/)
[....]
        Success:                        [ 4772040/5065465 ]
        Failure:                        [ 293425/5065465 ]</pre>
<p>The failures are from directories which cannot be defragmented.</p>
<p>&nbsp;</p>
<h3>Conclusion</h3>
<p>With the most recent e2fstools (1.42-WIP) it is possible to create ext4 file system larger than 16 TB.</p>
<p>If you do so remember the following:</p>
<ul>
<li><strong>the tool is still in development &#8211; use at your own risk!</strong></li>
<li>tune the values for autocheck (after x mounts / after y days)</li>
<li>adjust the &#8220;-i&#8221; switch which defnes the bytes/inode ratio; in the example above one inode is created for every 8 MB</li>
<li><strong>the more inodes you create the longer fsck takes and the more memory it needs</strong></li>
<li>Resizing the file system (growing / shrinking) is NOT possible at the moment</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.ronnyegner-consulting.de/2011/08/18/ext4-and-the-16-tb-limit-now-solved/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>When patching is not enough: Oracle 11g R2 on Solaris SPARC requires fresh base installation of Solaris 10 U6</title>
		<link>http://blog.ronnyegner-consulting.de/2011/06/15/when-patching-is-not-enough-oracle-11g-r2-on-solaris-sparc-requires-free-base-installation-of-solaris-10-u6/</link>
		<comments>http://blog.ronnyegner-consulting.de/2011/06/15/when-patching-is-not-enough-oracle-11g-r2-on-solaris-sparc-requires-free-base-installation-of-solaris-10-u6/#comments</comments>
		<pubDate>Wed, 15 Jun 2011 14:18:44 +0000</pubDate>
		<dc:creator>Ronny Egner</dc:creator>
				<category><![CDATA[Oracle in general]]></category>

		<guid isPermaLink="false">http://blog.ronnyegner-consulting.de/?p=2334</guid>
		<description><![CDATA[While checking MOS i found an interesting note (ID 964976.1) which states: Applying a kernel patch or a Solaris patch bundle is not the equivalent to installing the specific Solaris 10 "update 6" image. 11gR2 RDBMS software is only certified for a base install image of Solaris 10 update 6 or greater. There is a [...]]]></description>
			<content:encoded><![CDATA[<p>While checking MOS i found an interesting note (ID 964976.1) which states:</p>
<pre>Applying a kernel patch or a Solaris patch bundle is not the equivalent
to  installing the specific Solaris 10 "update 6" image. <strong>11gR2 RDBMS software
is  only certified for a base install image of Solaris 10 update 6 or greater.</strong></pre>
<p>There is a FAQ (ID 971464.1) on this problem. Here it states:</p>
<pre>Oracle/Sun has specifically started that "installing patches will not bring it  to Update 6".</pre>
<p>and</p>
<pre>It is only certified for a base install image of Solaris 10 Update 6  or greater, or an
upgraded image of an earlier Solaris 10 update to at least  Update 6 or greater. There are
only two methods to accomplish this " image".  Please see Question #9 for more details.</pre>
<p>So keep this in mind when installing 11g R2 on Solaris SPARC.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ronnyegner-consulting.de/2011/06/15/when-patching-is-not-enough-oracle-11g-r2-on-solaris-sparc-requires-free-base-installation-of-solaris-10-u6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing a paravirtualized guest using PXE and Kickstart on Oracle VM 2.2</title>
		<link>http://blog.ronnyegner-consulting.de/2011/06/10/installing-a-paravirtualized-guest-using-pxe-and-kickstart-on-oracle-vm-2-2/</link>
		<comments>http://blog.ronnyegner-consulting.de/2011/06/10/installing-a-paravirtualized-guest-using-pxe-and-kickstart-on-oracle-vm-2-2/#comments</comments>
		<pubDate>Fri, 10 Jun 2011 16:32:43 +0000</pubDate>
		<dc:creator>Ronny Egner</dc:creator>
				<category><![CDATA[Oracle VM 2.2]]></category>

		<guid isPermaLink="false">http://blog.ronnyegner-consulting.de/?p=2302</guid>
		<description><![CDATA[The past few days i started working on Oracle VM 2.2.1. The task i tried to accomplish was to install Oracle Enterprise Linux in a para-virtualized guest via PXE and Kickstart. Sounds not too complicated, does it? If you are familiar with VMWARE and know how easy it is to accomplish this task be advised: [...]]]></description>
			<content:encoded><![CDATA[<p>The past few days i started working on Oracle VM 2.2.1.</p>
<p>The task i tried to accomplish was to install Oracle Enterprise Linux in  a para-virtualized guest via PXE and Kickstart. Sounds not too  complicated, does it? If you are familiar with VMWARE and know how easy it is to accomplish this task be advised: With Oracle VM it is complicated.</p>
<p><span id="more-2302"></span>First of all: Oracle VM para-virtualized guests are not able to boot from ISO files (fully virtualized ones are). So for booting you need a boot image containing the kernel which is accessible either via NFS or HTTP:</p>
<h2>Task #1: Configure a NFS Server</h2>
<p>(Note: A HTTP Server will also do the trick; in my environment configuring a NFS server was faster)</p>
<ol>
<li>Copy the first CD or the whole DVD to a directory (or mount the ISO image); e.g. /export/oel</li>
<li>Export this directory via NFS by putting the following lines in /etx/exports/export/oel   *(ro)</li>
<li>Start the NFS server:/etc/init.d/nfs start</li>
</ol>
<p>You should now be able to mount the NFS directory on the OVM physical hosts.</p>
<h2>Task #2: Create a Kickstart-File</h2>
<p>This task is usually done by the Systems Administrators. The Kickstart file itself can be placed either locally, on an NFS share  or via on a HTTP server. In this example the kickstart file is downloaded from a HTTP server.</p>
<h2>Task #3: Install the guest</h2>
<p>The following assumptions apply here:</p>
<ul>
<li>Hostname: GUEST</li>
<li>Disk File Location: /var/ovs/mount/D5Elongid/running_pool/GUEST/system.img<br />
(Note: &#8220;D5Elongid&#8221; is just a placeholder for the full path pointing to the storage)</li>
<li>Size of the disk file: 90 GB</li>
</ul>
<p>Use the following command line to install the guest:</p>
<pre>virt-install -n GUEST -r 4096 --vcpus=1 \
-f /var/ovs/mount/D5Elongid/running_pool/GUEST/system.img \
-s 90 -l nfs:servername.domain:/export/oel \
-x "ks=http://192.168.1.1:80/ks.cfg" -p</pre>
<p>The following table explains the switches used:</p>

<table id="wp-table-reloaded-id-16-no-1" class="wp-table-reloaded wp-table-reloaded-id-16">
<thead>
	<tr class="row-1 odd">
		<th class="column-1">Switch</th><th class="column-2">Explanation</th>
	</tr>
</thead>
<tbody>
	<tr class="row-2 even">
		<td class="column-1">-n GUEST</td><td class="column-2">Name of the to-be-created guest, here: 'GUEST'</td>
	</tr>
	<tr class="row-3 odd">
		<td class="column-1">-r 4096</td><td class="column-2">Memory in MB; here: 4096 MB</td>
	</tr>
	<tr class="row-4 even">
		<td class="column-1">--vcpus=1</td><td class="column-2">Number of virtual CPUs assigned to the guest; here: 1</td>
	</tr>
	<tr class="row-5 odd">
		<td class="column-1">-f /var/ovs/mount/D5Elongid/running_pool/GUEST/system.img</td><td class="column-2">Full path to the (created) virtual disk</td>
	</tr>
	<tr class="row-6 even">
		<td class="column-1">-s 90</td><td class="column-2">Size of the virtual disk in GB; here: 90 GB</td>
	</tr>
	<tr class="row-7 odd">
		<td class="column-1">-l nfs:servername.domain:/export/oel</td><td class="column-2">Path (NFS/HTTP) containing the boot files; here: NFS Server named "servername.domain", NFS Directory: '/export/oel'</td>
	</tr>
	<tr class="row-8 even">
		<td class="column-1">-x "ks=http://192.168.1.1:80/ks.cfg"</td><td class="column-2">Location of Kickstart file</td>
	</tr>
	<tr class="row-9 odd">
		<td class="column-1">-p</td><td class="column-2">Create a para-virtualized host</td>
	</tr>
</tbody>
</table>

<h2>Task #4: Import the guest into OVM Manager</h2>
<ol>
<li>Locate the XEN config file in /etc/xen and move it to the guests directory (in this example: /var/ovs/mount/D5Elongid/running_pool/GUEST) AND rename it to &#8216;vm.cfg&#8217;</li>
<li>In OVM Manager navigate to: RESOURCES &#8211;&gt; VIRTUAL MACHINE IMAGES</li>
<li>Click Import</li>
<li>Choose &#8216;Select from Server Pool&#8217; and fill out the following form</li>
<li>After youre done the machine will be registered</li>
<li>Click approve to finally add the machine</li>
</ol>
<h1>Conclusion</h1>
<p>My current conclusion at the moment: Oracle VM 2.2.1 compared to e.g.  VMWARE is in terms of usability worse. Simple tasks can be easily  achieved GUI-wise; more complex tasks (e.g. booting via PXE or supplying  boot-arguments) can only be done at command level.</p>
<p>In addition to that the documentation is complete crap. Basic information on setting everything up and creating virtual machines in the GUI are documented. Detailed information on how to do the more complexer tasks are not.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ronnyegner-consulting.de/2011/06/10/installing-a-paravirtualized-guest-using-pxe-and-kickstart-on-oracle-vm-2-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>11.2.0.2: two critical bugs</title>
		<link>http://blog.ronnyegner-consulting.de/2011/05/27/11-2-0-2-two-critical-bugs/</link>
		<comments>http://blog.ronnyegner-consulting.de/2011/05/27/11-2-0-2-two-critical-bugs/#comments</comments>
		<pubDate>Fri, 27 May 2011 14:09:03 +0000</pubDate>
		<dc:creator>Ronny Egner</dc:creator>
				<category><![CDATA[Oracle in general]]></category>

		<guid isPermaLink="false">http://blog.ronnyegner-consulting.de/?p=2292</guid>
		<description><![CDATA[Just found two nice bugs in Metalink for 11.2.0.2.x: Bug #1 (10205230) [Note ID 1318986.1]: ORA-00600 or DATA CORRUPTION in RAC Environments when using shutdown mode "normal", "transactional" or "immediate" on 11.2.0.2.1 and 11.2.0.2.0. &#160; This Bug is fixed in 11.2.0.2 PSU 2. &#160; Now if you install 11.2.0.2 PSU 2 you might find the [...]]]></description>
			<content:encoded><![CDATA[<p>Just found two nice bugs in Metalink for 11.2.0.2.x:</p>
<pre>Bug #1 (10205230) [Note ID 1318986.1]: ORA-00600 or DATA CORRUPTION in RAC Environments
when using shutdown mode "normal", "transactional" or "immediate" on 11.2.0.2.1 and 11.2.0.2.0.</pre>
<p>&nbsp;</p>
<p>This Bug is fixed in 11.2.0.2 PSU 2.</p>
<p>&nbsp;</p>
<p>Now if you install 11.2.0.2 PSU 2 you might find the next major bug:</p>
<pre>Bug #2 (12431716): Mutex waits may cause higher CPU usage in 11.2.0.2.2 PSU / GI PSU [ID 12431716.8]
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.ronnyegner-consulting.de/2011/05/27/11-2-0-2-two-critical-bugs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Removing NFS Locks on Opensolaris / Nexenta (or handling ORA-27086: unable to lock file &#8211; already in use when using Oracle over NFS)</title>
		<link>http://blog.ronnyegner-consulting.de/2011/04/29/removing-nfs-locks-on-opensolaris-nexenta-or-handling-ora-27086-unable-to-lock-file-already-in-use-when-using-oracle-over-nfs/</link>
		<comments>http://blog.ronnyegner-consulting.de/2011/04/29/removing-nfs-locks-on-opensolaris-nexenta-or-handling-ora-27086-unable-to-lock-file-already-in-use-when-using-oracle-over-nfs/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 06:46:48 +0000</pubDate>
		<dc:creator>Ronny Egner</dc:creator>
				<category><![CDATA[Oracle in general]]></category>

		<guid isPermaLink="false">http://blog.ronnyegner-consulting.de/?p=2270</guid>
		<description><![CDATA[Facts Oracle running on Linux / Solaris Oracle data files and control file are stored on NFS NFS server used Opensolaris or Nexenta Symptom ORA-00205: error in identifying controlfile, check alert log for more info ORA-00210: cannot open the specified  control file ORA-00202: control file:: '/u02/oradata/ORA11P/control02.ctl' ORA-27086: unable to lock file - already in use [...]]]></description>
			<content:encoded><![CDATA[<h2>Facts</h2>
<ul>
<li>Oracle running on Linux / Solaris</li>
<li>Oracle data files and control file are stored on NFS</li>
<li>NFS server used Opensolaris or Nexenta</li>
</ul>
<h2>Symptom</h2>
<pre>ORA-00205: error in identifying controlfile, check alert log for more info
ORA-00210: cannot open the specified  control file
ORA-00202: control file:: '/u02/oradata/ORA11P/control02.ctl'
ORA-27086: unable to lock file - already in use
Linux-x86_64 Error: 11: Resource temporarily unavailable
Additional information: 8</pre>
<h2>Cause</h2>
<p>Due to a database crash or unclean shutdown NFS locks were not properly release on storage side. You have to clean them manually in order to be able to startup the database again.</p>
<h2>Solution</h2>
<h3>Step 1 &#8211; Remove NFS locks on Opensolaris / Nexenta side</h3>
<pre>root@nex2:/volumes# clear_locks oracle11
Clearing locks held for NFS client oracle11 on server nex2
clear of locks held for oracle11 on nex2 returned success</pre>
<p><strong>Note: It is NOT sufficient to enter the IP adress. You have to use the HOSTNAME here.</strong></p>
<h3>Step 2 &#8211; Mount &amp; Open the database</h3>
<pre>oracle@oracle11:/u02/oradata/LIMSTEST&gt; sqlplus / as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on Thu Apr 28 20:53:19 2011
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Release 11.2.0.2.0 - 64bit Production

SQL&gt; alter database mount;
Database altered.
SQL&gt; alter database open;
Database altered.</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.ronnyegner-consulting.de/2011/04/29/removing-nfs-locks-on-opensolaris-nexenta-or-handling-ora-27086-unable-to-lock-file-already-in-use-when-using-oracle-over-nfs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ORA-27154: post/wait create failed / ORA-27301: OS failure message: No space left on device when starting ASM or database instance</title>
		<link>http://blog.ronnyegner-consulting.de/2011/04/11/ora-27154-postwait-create-failed-ora-27301-os-failure-message-no-space-left-on-device-when-starting-asm-or-database-instance/</link>
		<comments>http://blog.ronnyegner-consulting.de/2011/04/11/ora-27154-postwait-create-failed-ora-27301-os-failure-message-no-space-left-on-device-when-starting-asm-or-database-instance/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 09:02:12 +0000</pubDate>
		<dc:creator>Ronny Egner</dc:creator>
				<category><![CDATA[Oracle in general]]></category>

		<guid isPermaLink="false">http://blog.ronnyegner-consulting.de/?p=2261</guid>
		<description><![CDATA[Today i came accross a very strange error. After rebooting one cluster node (which ran flawlessly before!) ASM instance came up fine but database instance failed with: ORA-27154: post/wait create failed ORA-27300: OS system dependent operation:semget failed with status: 28 ORA-27301: OS failure message: No space left on device ORA-27302: failure occurred at: sskgpsemsper It [...]]]></description>
			<content:encoded><![CDATA[<p>Today i came accross a very strange error. After rebooting one cluster node (which ran flawlessly before!) ASM instance came up fine but database instance failed with:</p>
<pre>ORA-27154: post/wait create failed
ORA-27300: OS system dependent operation:semget failed with status: 28
ORA-27301: OS failure message: No space left on device
ORA-27302: failure occurred at: sskgpsemsper</pre>
<p>It turned out the kernel settings were insufficent. The semaphore settings caused problems.</p>
<p>In /etc/sysctl.conf:</p>
<pre>kernel.sem = 250 32000 100 128</pre>
<p>This line needs to be changed to:</p>
<pre>kernel.sem = 250 32000 100 <strong>256</strong></pre>
<p>Note the change of the last number from 128 to 256. After that applying the settings is done as root with:</p>
<pre>sysctl -p</pre>
<p>After that all instances came up just fine.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ronnyegner-consulting.de/2011/04/11/ora-27154-postwait-create-failed-ora-27301-os-failure-message-no-space-left-on-device-when-starting-asm-or-database-instance/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PSU Bundle Patch 3 for 11.2.0.2.0</title>
		<link>http://blog.ronnyegner-consulting.de/2011/03/30/psu-bundle-patch-3-for-11-2-0-2-0/</link>
		<comments>http://blog.ronnyegner-consulting.de/2011/03/30/psu-bundle-patch-3-for-11-2-0-2-0/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 09:49:39 +0000</pubDate>
		<dc:creator>Ronny Egner</dc:creator>
				<category><![CDATA[Oracle in general]]></category>

		<guid isPermaLink="false">http://blog.ronnyegner-consulting.de/?p=2240</guid>
		<description><![CDATA[Bundle Patch 3 for Oracle 11.2.0.2.0 is available. For installation refer to these posts here and here. Patch number is: 10387939 If youre worried about the fact the patch says it is for Exadata read this post from Oracle. Money Quote: Officially this Bundle Patch for Oracle Database 11.2.0.2 is titled &#8220;Exadata Database recommended patch&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Bundle Patch 3 for Oracle 11.2.0.2.0 is available.</p>
<p>For installation refer to these posts <a href="https://martincarstenbach.wordpress.com/2011/02/02/11-2-0-2-bundled-patch-3-for-linux-x86-64bit/" target="_blank">here </a>and <a href="https://martincarstenbach.wordpress.com/2011/02/03/11-2-0-2-bundled-patch-3-for-linux-x86-64bit-take-2/" target="_blank">here</a>.</p>
<p>Patch number is: 10387939</p>
<p>If youre worried about the fact the patch says it is for Exadata read <a href="http://blogs.oracle.com/UPGRADE/2011/01/11202_bundled_patch_3_for_linu.html" target="_blank">this post from Oracle</a>.</p>
<p>Money Quote:</p>
<p style="padding-left: 30px;">Officially this Bundle Patch for Oracle Database 11.2.0.2 is titled &#8220;Exadata Database recommended patch&#8221; and got released yesterday. But I would recommend this one to all customers using 11.2.0.2 Grid Infrastructure, RAC and ASM.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ronnyegner-consulting.de/2011/03/30/psu-bundle-patch-3-for-11-2-0-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	<img style='margin:0;padding:0;border:0;' width='1px' height='1px' src="http://blog.ronnyegner-consulting.de/wp-content/plugins/mystat/mystat.php?act=time_load&id=668833&rnd=2063256590" /></channel>
</rss>

