<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2.2" -->
<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/"
	>

<channel>
	<title>DavidYahalom.com - Oracle, Databases, SQL, news, views, articles and in-depth analysis</title>
	<link>http://www.davidyahalom.com</link>
	<description>Innovative Integration</description>
	<pubDate>Wed, 30 Sep 2009 16:19:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.2</generator>
	<language>en</language>
			<item>
		<title>What will happen to ASM when the disk path changes in Linux?</title>
		<link>http://www.davidyahalom.com/index.php/what-will-happen-to-asm-when-the-disk-path-changes-in-linux/</link>
		<comments>http://www.davidyahalom.com/index.php/what-will-happen-to-asm-when-the-disk-path-changes-in-linux/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 16:04:04 +0000</pubDate>
		<dc:creator>David Yahalom</dc:creator>
		
		<category><![CDATA[Storage]]></category>

		<category><![CDATA[ASM]]></category>

		<category><![CDATA[RAC]]></category>

		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.davidyahalom.com/index.php/what-will-happen-to-asm-when-the-disk-path-changes-in-linux/</guid>
		<description><![CDATA[


Have you even wondered what happens if disk device names and/or major-minor numbers changes at the operating system level? Will this cause any problems for ASM as it tires to access the drives even when the drive path has changed?
Well, no ! This will cause absolutely no problem what so ever to ASM. In fact, [...]]]></description>
			<content:encoded><![CDATA[<p style="float: right;margin: 4px;"><script type="text/javascript"><!--
google_ad_client = "pub-9114199345290687";
/* Side ads */
google_ad_slot = "6290004767";
google_ad_width = 120;
google_ad_height = 240;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 16px; margin-left: 0px; line-height: 20px; font: normal normal normal 16px/normal ">Have you even wondered what happens if disk device names and/or major-minor numbers changes at the operating system level? Will this cause any problems for ASM as it tires to access the drives even when the drive path has changed?</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 16px; margin-left: 0px; line-height: 20px; font: normal normal normal 16px/normal "><strong>Well, no !</strong> This will cause <strong>absolutely no problem what so ever to ASM.</strong> In fact, its one of ASMs best features.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 16px; margin-left: 0px; line-height: 20px; font: normal normal normal 16px/normal ">You see, ASM only cares about the <strong>LOGICAL</strong> disk names and not the <strong>PHYSICAL</strong> drive paths or numbers. Changing the drive paths or major-minor numbers in the O/S is no problem for ASM. This is because ASM scans the disks based on what is defined in <strong><em>asm_diskstring</em></strong> - so during boot, all drives that have a valid ASM header will be automatically added to ASM.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 16px; margin-left: 0px; line-height: 20px; font: normal normal normal 16px/normal ">These devices are opened with system calls (like fopen, etc.) so paths and/or major numbers are not even used.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 16px; margin-left: 0px; line-height: 20px; font: normal normal normal 16px/normal ">The disk paths, names and major-minor numbers are not persistently recorded in any of the ASM metadata. Each ASM disk has a disk header which contains the disk name and diskgroup stamped in it.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 16px; margin-left: 0px; line-height: 20px; font: normal normal normal 16px/normal ">If ASM discovery finds the required number of disks for a given diskgroup then it will be able to mount the diskgroup. The ASM metadata header will contain the fixed and persistent logical disk name (for example - ORCL_DATA_DISK1). On boot, ASM will scan all disks for one with the above name in its header.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 16px; margin-left: 0px; line-height: 20px; font: normal normal normal 16px/normal ">Once it finds that disk it will make the connection between the current (again, not persistent) disk path and the logical disk name.</p>
<p></p>]]></content:encoded>
			<wfw:commentRss>http://www.davidyahalom.com/index.php/what-will-happen-to-asm-when-the-disk-path-changes-in-linux/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The relation between an Oracle instance and memory in Windows</title>
		<link>http://www.davidyahalom.com/index.php/the-relation-between-an-oracle-instance-and-memory-in-windows/</link>
		<comments>http://www.davidyahalom.com/index.php/the-relation-between-an-oracle-instance-and-memory-in-windows/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 14:23:28 +0000</pubDate>
		<dc:creator>David Yahalom</dc:creator>
		
		<category><![CDATA[Windows]]></category>

		<category><![CDATA[Hardware]]></category>

		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.davidyahalom.com/index.php/the-relation-between-an-oracle-instance-and-memory-in-windows/</guid>
		<description><![CDATA[


The Oracle instance memory allocation works differently in Windows then it does in UNIX-Linux like operating systems.
In Windows environments, on starting up the Oracle instance all global memory pages are committed (like the buffer cache, redo log buffer and the library cache). However, and this is an important difference compared to POSIX operating systems, only [...]]]></description>
			<content:encoded><![CDATA[<p>The Oracle instance memory allocation works differently in Windows then it does in UNIX-Linux like operating systems.</p>
<p>In Windows environments, on starting up the Oracle instance all global memory pages are committed (like the buffer cache, redo log buffer and the library cache). However, and this is an important difference compared to POSIX operating systems, only a small number of these memory pages are actually cached in memory upon instance startup causing most of the SGA not to be part of  Oracle&#8217;s active working set.</p>
<p>This forces Oracle to compete on equal grounds with other processes. The O/S might swap certain pages from Oracle&#8217;s working set in memory to disk during periods of increased activity or when other processes are paging more and compete for RAM. Windows pages according to activity using an MRU-like mechanism, so when paging is going-on system-wide, Windows will try to reserve RAM pages to the most active process, the one that is <strong>paging</strong> the most.</p>
<p>If Windows decides to swap the database instance to disk, this will cause a severe performance degradation for the Oracle Database and might even grind the instance to a complete halt.</p>
<p>There are two registry parameters that exist and allow us to manipulate the working set of the Oracle process. These are:</p>
<ul>
<li>  <strong>ORA_WORKINGSETMIN or ORA_%SID%_WORKINGSETMIN: </strong><br />
Minimum working set for the ORACLE.EXE process (units = MB)</li>
<li><strong>ORA_WORKINGSETMAX or ORA_%SID%_WORKINGSETMAX</strong>:<br />
Maximum working set for the ORACLE.EXE process (units = MB)</li>
</ul>
<p>You can set these parameters under:</p>
<ul>
<li><strong>For single ORACLE_HOME installations: </strong>HKEY_LOCAL_MACHINE -&gt; SOFTWARE -&gt; ORACLE</li>
<li><strong>For multiple ORACLE_HOME installations:</strong> HKEY_LOCAL_MACHINE -&gt; SOFTWARE -&gt; ORACLE -&gt; HOMEx (for multiple homes)</li>
</ul>
<p>ORA_WORKINGSETMIN can be used to prevent the pages allocated to the Oracle process from dropping below the defined threshold (in MB) until the instance is shutdown.</p>
<p>The biggest benefit of setting these parameters will be in an environment where Oracle coexists with other applications. Although it can be beneficial in other scenraios as well, such as when production and test instances are running on the same physical machine.</p>
<p>Another very useful parameter that exist in the Win32/64 platform is: PRE_PAGE_SGA. This parameter causes Oracle will force Oracle to allocate all SGA pages upon instance startup thus bringing all of them to memory as the working set of the Oracle executable.</p>
<p>This will allow the instance to reach maximum performance more quickly rather than through an incremental build up as pages are loaded on a need-to basis.</p>
<p>Combining ORA_WORKINGSETMIN  with PRE_PAGE_SGA will force the Oracle instance to start above the minimum threshold and not drop below. Using ORA_WORKINGSETMIN in isolation will cause the Oracle working set rises above the threshold it will not drop below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidyahalom.com/index.php/the-relation-between-an-oracle-instance-and-memory-in-windows/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Blog has been renamed!</title>
		<link>http://www.davidyahalom.com/index.php/blog-has-been-renamed/</link>
		<comments>http://www.davidyahalom.com/index.php/blog-has-been-renamed/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 23:15:22 +0000</pubDate>
		<dc:creator>David Yahalom</dc:creator>
		
		<category><![CDATA[General IT]]></category>

		<guid isPermaLink="false">http://www.davidyahalom.com/index.php/blog-has-been-renamed/</guid>
		<description><![CDATA[As you probably noticed I&#8217;ve changed my blog&#8217;s name and URL to www.davidyahalom.com instead of www.authoritybase.com. After doing some thinking I&#8217;ve decided that it is more appropriate for my blog at its current stage to reflect my name instead of using something more original. You can still access it by typing www.authoritybase.com, but all new [...]]]></description>
			<content:encoded><![CDATA[<p>As you probably noticed I&#8217;ve changed my blog&#8217;s name and URL to <a href="http://www.davidyahalom.com">www.davidyahalom.com</a> instead of <a href="http://www.authoritybase.com">www.authoritybase.com</a>. After doing some thinking I&#8217;ve decided that it is more appropriate for my blog at its current stage to reflect my name instead of using something more original. You can still access it by typing www.authoritybase.com, but all new articles and views will be published under the <a href="http://www.davidyahalom.com">www.davidyahalom.com</a> domain.</p>
<p>I&#8217;ve also created a new logo for my blog, one that better reflects the database related content on this site.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidyahalom.com/index.php/blog-has-been-renamed/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cloud Oracle Storage: how to make ASM even better, the NAS way.</title>
		<link>http://www.davidyahalom.com/index.php/cloud-oracle-storage-how-to-make-asm-even-better-the-nas-way/</link>
		<comments>http://www.davidyahalom.com/index.php/cloud-oracle-storage-how-to-make-asm-even-better-the-nas-way/#comments</comments>
		<pubDate>Wed, 28 Jan 2009 08:04:05 +0000</pubDate>
		<dc:creator>David Yahalom</dc:creator>
		
		<category><![CDATA[ASM]]></category>

		<category><![CDATA[RAC]]></category>

		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.authoritybase.com/index.php/cloud-oracle-storage-how-to-make-asm-even-better-the-nas-way/</guid>
		<description><![CDATA[No one can argue about the merits of Oracle ASM. Having a transparent, easy to use and high performance LVM built using the same fundamentals of the Oracle database is a great technology for Oracle DBAs. ASM is a relatively new technology that have gained popularity fast. I&#8217;m using ASM on a daily basis and [...]]]></description>
			<content:encoded><![CDATA[<p>No one can argue about the merits of Oracle ASM. Having a transparent, easy to use and high performance LVM built using the same fundamentals of the Oracle database is a great technology for Oracle DBAs. ASM is a relatively new technology that have gained popularity fast. I&#8217;m using ASM on a daily basis and I&#8217;m sure many of  you do as well. But it could be even better.</p>
<p>Imagine how wonderful it would be if Oracle took ASM even furthur and made ASM an enterprise-wide network-based unified database storage solution, allowing many remote Oracle DB Instances access a unified &#8220;cloud like&#8221; storage layer via the network.</p>
<p>Currently using ASM, we need to start an ASM instance for every physical server running an Oracle DB instance. Why not have ASM act as a network-based LVM as well? Let us be able to start an ASM instance on one server having all other Oracle databases, even those running on remote  machines, access that ASM instance over the network.</p>
<p>That would be like exposing our storage as a NAS solution - no matter the vendor.</p>
<p>The benefits this technology would have over regular NAS (Network Attached Storage - such as using NFS mounts for storing Oracle Data Files)  would be having a unified storage deployment strategy for our organization and potentially enjoying database-specific performance benefits that are not available with generic NAS.</p>
<p>It&#8217;s no secret that I&#8217;m a big fan of deploying Oracle over NFS using fast networks (which can even perform better than fiber), the problem with NFS is that it isn&#8217;t database-centric in its roots. First, you need support at both the storage level and the client level: you need to run a NetAPP filler (NFS on EMC isn&#8217;t as good) and have Linux as the operating system for optimal performance. Second, tuning NAS for Oracle, while doable, isn&#8217;t easy. Oracle made great progress in 11g with the DirectNFS client but it is a Liunx/NETAPP only solution.</p>
<p>Most organizations have a mix of Linux/Unix/Windows servers with both EMC and Netapp equipment in the storage layer. Using Network ASM could really make the storage layer transparent from the database prospective. Think of it as Cloud Storage for Oracle Databases. All databases would have a single, redundant, POC for storage. Your Oracle Instance could access both EMC and NetAPP machines easily and transparently over the network. All the benefits of regular ASM would apply here as well - being able to add disks, remove disks, strip and load-balance on the fly.</p>
<p><strong>COS - </strong>Cloud-computing Oracle Storage or<strong> N-ASM - </strong>Netowrked ASM.</p>
<p><strong>Remember where you heard it first!</strong> <img src='http://www.davidyahalom.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidyahalom.com/index.php/cloud-oracle-storage-how-to-make-asm-even-better-the-nas-way/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ORA-600: Oracle process has no purpose in life!</title>
		<link>http://www.davidyahalom.com/index.php/ora-600-oracle-process-has-no-purpose-in-life/</link>
		<comments>http://www.davidyahalom.com/index.php/ora-600-oracle-process-has-no-purpose-in-life/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 14:09:01 +0000</pubDate>
		<dc:creator>David Yahalom</dc:creator>
		
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.authoritybase.com/index.php/ora-600-oracle-process-has-no-purpose-in-life/</guid>
		<description><![CDATA[Yes, that&#8217;s an actual error. Or more precisely: ORA-600 [12235] &#8220;Oracle process has no purpose in life !&#8221;.
Actually, This error shows up when Oracle detects a defunct Oracle process. You see, when an Oracle server process starts it reads certain data from the SGA that sets various parameters for that process (and defines its existence [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, that&#8217;s an actual error. Or more precisely: ORA-600 [12235] &#8220;Oracle process has no purpose in life !&#8221;.</p>
<p>Actually, This error shows up when Oracle detects a defunct Oracle process. You see, when an Oracle server process starts it reads certain data from the SGA that sets various parameters for that process (and defines its existence so to speak) .<br />
If the process does not locate any valid customization data, it will report back with this error.</p>
<p>The funniest Oracle ORA error I&#8217;ve ever came across.</p>
<p>You can read about this in<em><strong> metalink note 33174.1.<br />
</strong></em><br />
Btw, an easy way to recreate this would be to type &#8220;oracle&#8221; at the O/S prompt. Try it for yourself.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidyahalom.com/index.php/ora-600-oracle-process-has-no-purpose-in-life/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Proactive monitoring with Oracle Grid Control</title>
		<link>http://www.davidyahalom.com/index.php/proactive-monitoring-with-oracle-grid-control/</link>
		<comments>http://www.davidyahalom.com/index.php/proactive-monitoring-with-oracle-grid-control/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 08:35:02 +0000</pubDate>
		<dc:creator>David Yahalom</dc:creator>
		
		<category><![CDATA[ITIL]]></category>

		<category><![CDATA[Grid Control]]></category>

		<category><![CDATA[Monitoring]]></category>

		<category><![CDATA[General IT]]></category>

		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.authoritybase.com/index.php/proactive-monitoring-with-oracle-grid-control/</guid>
		<description><![CDATA[ 	 	
 	 	
Using GridControl for ITIL compliance
This last section of the article can be crucial to some of you looking for ITIL compliance. ITIL stands for IT Infrastructure Library - a widely accepted approach and methodologies to IT service management providing a complete and comprehensive set of best practice guidebooks supported by a [...]]]></description>
			<content:encoded><![CDATA[<p><meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" /> 	<title></title> 	<meta name="GENERATOR" content="OpenOffice.org 3.0  (Linux)" /></p>
<style type="text/css"> 	<!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } 	--</style>
<p><font face="Arial, sans-serif">Data centers today are becoming more and more complex. There is a real need to provide 24/7, always-on, high SLA services.</font><font face="Arial, sans-serif"><br />
</font></p>
<p><font face="Arial, sans-serif">If that&#8217;s not enough, enterprise systems are also becoming much more complex to manage, maintain, develop and troubleshoot. </font><font face="Arial, sans-serif">Large clusters of mixed UNIX/Linux/Windows systems, tens of terabytes of storage, hundreds if not thousands of servers, super fast networks and an application mess that consist of web servers, application servers and database servers from several vendors working in tandem is the reality for more and more businesses nowadays. </font><font face="Arial, sans-serif">The sheer maintenance alone of such complex environments can be a daunting task for any IT staff.</font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">As the complexity of systems increase, the need for better, more comprehensive, monitoring solutions rises. The monitoring tools and methodologies that were once considered good-enough just don&#8217;t cut it anymore. Knowing that servers are up and running and that the backups have finished successfully isn&#8217;t enough. Complex systems require complex monitoring methodologies taking into account complex SLAs scenarios that usually span dozens of servers and tens of connected systems.</font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">There are two methodologies for troubleshooting system performance. You can be </font><font face="Arial, sans-serif"><strong>reactive</strong></font><font face="Arial, sans-serif"> – wait for the problems to happen and then do your best to solve them as fast as you can or be </font><font face="Arial, sans-serif"><strong>proactive</strong></font><font face="Arial, sans-serif"> – learn of potential problems and bottlenecks before they become critical and affect your business.<br />
</font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">Many if not most of the organizations I consult are still pretty much </font><font face="Arial, sans-serif"><strong>reactive</strong></font><font face="Arial, sans-serif">-only. Reactive DBAs usually have their day start with a phone call having an angry developer on the other side complaining users are calling about slow response time in the application. The DBA team will spend a considerable amount of time trying to pinpoint the exact source of the problem. Is it the database server? Nope – the load seems okay. Maybe the application servers are acting up? Doesn&#8217;t look like it - there are very few requests per second. So maybe the web server is the root of the problem? Or perhaps it is an isolated problem with the specific user? Or network lag? </font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">Time wasted. When you are </font><font face="Arial, sans-serif"><strong>reactive</strong></font><font face="Arial, sans-serif">, you try to address problems only after they have already caused damage/loss/downtime for you and your company. The </font><font face="Arial, sans-serif"><strong>proactive approach</strong></font><font face="Arial, sans-serif"> however, is derived from identifying problems </font><font face="Arial, sans-serif"><strong>before they</strong></font><font face="Arial, sans-serif"> happen and addressing them </font><font face="Arial, sans-serif"><strong>before they</strong></font><font face="Arial, sans-serif"> become a problem for your company. You can define a set of rules which will be defined as a baseline SLA indicator for the application. </font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">This can be anything from &#8220;page load time&#8221; to system-oriented tests such as CPU load or blocking sessions. If you have an application in which a certain key page takes on average three seconds to load and the threshold for when users will start noticing performance degradation and complain is ten seconds, when thinking </font><font face="Arial, sans-serif"><strong>proactive</strong></font><font face="Arial, sans-serif"> you define a metric that will alert you once the page load time passed five seconds so that you will nip the problem in the bud - before it has fully manifested itself.</font></p>
<p><em><strong><font face="Arial, sans-serif"> So how does Oracle Grid Control fit into all of this?</font></strong></em></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">Grid Control is Oracle&#8217;s high-end, fully fledged, enterprise-wide, monitoring and management solution. Grid Control is a single, integrated solution for administering, operating and monitoring applications and systems.</font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">Grid Control can monitor and manage many types of software applications and hardware solutions and is not limited to monitoring only Oracle databases as many believe. Grid Control support includes: </font><font face="Arial, sans-serif">Linux, Unix, NetAPP storage, EMC storage, VMWARE ESX servers, SQL Server, Active Directory servers, BizTalk servers, DB2 servers, JBoss servers, IIS servers, Exchange servers, Apache/TomCat servers, F5 network products and Checkpoint network equipment).</font><font face="Arial, sans-serif"> </font></p>
<p><font face="Arial, sans-serif">Oracle Grid Control&#8217;s provides the following capabilities and features out of the box:</font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">1) Application Management.<br />
2) Database Management.<br />
3) Middleware management.<br />
4) Real User Experience insight.<br />
5) Host / Server management.<br />
6) SOA management.<br />
7) Identity management.</font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">Each of these features consist of both predefined metrics for evaluating system performance and availability plus the ability to create custom metrics handing over control on what specifically Grid Control monitors to you. You have the capability to group several key systems together and define a service group that is dependent on the availability and performance of all the targets belonging to that service group. </font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">This gives us the ability to evolve our monitoring beyond the specific system or server and monitor a complete &#8220;service&#8221; – emulating the experience of the end user.</font></p>
<p><font face="Arial, sans-serif"><strong>Deploying Grid Control</strong> in your environment is very easy. You&#8217;ll need to install a server that will run the Oracle Management Services (OMS – the &#8220;brain&#8221; of Grid Control) and an Oracle Database repository to hold monitoring data such as metrics thresholds, past alerts, monitoring history etc. On most monitored targets you&#8217;ll need to install a Grid Control agent that will communicate with the OMS server. Some monitoring targets, such as NetApp storage filers, can be monitored without the need of installing any agent of any kind.</font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif"><strong>ROI out of the box</strong> - </font><font face="Arial, sans-serif">Grid Control is very powerful and complete solution giving us benefits immediately after the installation. Preloaded with best practice performance and availability metrics, giving you a head start on enterprise-level monitoring with minimal work. We can also define our own set of user-defined metrics based on SQL queries or running shell scripts, perform corrective actions straight via Grid Control and, of course, track the SLA levels you are providing your customers.</font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">We can view the current and historical status of almost any system in your organization and drill down to pretty much any performance and availability metric that is relevant for us.</font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">Monitoring NetApp filers? Using Grid Control you can view current and past performance indicators in graphical format such as: disk I/O, CPU utilization, NFS calls per second, CIFS calls per second, NetWork I/O, space used and more.</font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">Monitoring a Linux server? Using Grid Control you can view, in a graphical format, current and past: CPU load, network load, Disk I/O utilization, </font><font face="Arial, sans-serif">mange security violations</font><font face="Arial, sans-serif">, manage configuration data and perform remote administration.</font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">While Grid Control can be used to monitor a very extensive list of products maybe the single biggest advantage of deploying Grid Control is what it can do for your </font><font face="Arial, sans-serif">Oracle</font><font face="Arial, sans-serif"> </font><font face="Arial, sans-serif">databases</font><font face="Arial, sans-serif">. Grid Control allows for self-tuned and self managed databases, automation of complex or routine manual tasks which are often error-prone, rapid root cause analysis through established standards and complete compliance enforcement.</font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">Using the combination of Grid Control and Oracle 10g&#8217;s ADDM feature you can periodically examines the state of the database, automatically identify potential bottlenecks and have Grid Control recommend corrective actions. Oracle Enterprise Manager presents ADDM findings and recommendations in a convenient and intuitive fashion and guides administrators in step-by-step process to quickly resolve performance problems by implementing ADDM recommendations. ADDM runs automatically to coincide with the snapshots taken by the Automatic Workload Repository (AWR) and begins its analysis by focusing on the most time-consuming database activities. ADDM then presents a drill down using a sophisticated problem classification tree to determine the root of the problems. </font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">Grid Control also offers a large array of compliance assessments (with out-of-box included policies), security violation reports, patch advisories, multiple-target deployment and of course – alerts. You can have Grid Control notify you of potential problems both via email, SMS text messages and SNMP traps.</font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif"><u><strong>Let&#8217;s get physical</strong></u></font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">Getting around Grid Control is easy.</font><font face="Arial, sans-serif"> After logging into Grid Control web console, you are presented with an aggregated view giving you a one-glance overview of the status of your enterprise IT systems. The metrics displayed consist of a graphical status representation of your enterprise systems, a summery of all alerts currently triggered on all targets being monitored divided into severity levels, security violation summery and several other key indicators. </font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">Everything on this page is a link so you can easily perform drill down operations on all data being displayed (for example, viewing all alerts with critical severity or all targets that are currently down).</font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">Selecting the &#8220;targets&#8221; tab from the header navigation menu takes us to the real action. Here we see all of the targets being monitored by Grid Control divided into logical categories. We see hosts (O/S monitoring), Databases, Application Servers, Web Applications, Services, Systems and groups. </font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">Clicking on each of these links will give us a quick overview of all targets that belong to the selected category. Providing information regarding version numbers, summery of all alerts, security violations and several other useful statistics. Clicking an instance name takes us to a much more detailed view of that system.</font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">The front page is a one-glance view of the system status. We can see the load, active sessions (divided to CPU time, I/O time and wait time) plus an aggregated summery of space violations on the machine (such as user objects stored in the System Tablespace), a list of recent errors and instance recovery times.</font></p>
<p><font face="Arial, sans-serif">This is just a small fraction of the options available trough Grid Control and just a quick taste of the interface. There’s much more waiting for you to discover by yourself.</font></p>
<p><meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8" /> 	<title></title> 	<meta name="GENERATOR" content="OpenOffice.org 3.0  (Linux)" /></p>
<style type="text/css"> 	<!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } 	--> 	</style>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif"><u><strong>Using GridControl for ITIL compliance</strong></u></font></p>
<p><font face="Arial, sans-serif">This last section of the article can be crucial to some of you looking for ITIL compliance. ITIL stands for IT Infrastructure Library - a widely accepted approach and methodologies to IT service management providing a complete and comprehensive set of best practice guidebooks supported by a qualifications scheme, training and implementation and assessment tools. ITIL was designed to promote the quality of computer services in the organization and provides management with a template framework for best practices to achieve quality IT services and overcome difficulties associated with the growth of IT systems. ITIL is divided into a set of text books, qualification programs, software tools and user groups slicing the services expected from an IT department:</font></p>
<p><font face="Arial, sans-serif">1. Service support.<br />
2. Service delivery.<br />
3. Managerial.<br />
4. Software support.<br />
5. Computer operations.<br />
6. Security management.<br />
7. Environmental</font></p>
<p><font face="Arial, sans-serif">So how exactly can Grid Control help you become ITIL certified?</font></p>
<p><font face="Arial, sans-serif">Since Grid Control can essentially monitor everything in your DataCenter it can better help you align business aspects with your IT aspects.</font></p>
<ul>
<li>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif"><strong>ITIL 	configuration management</strong></font></p>
</li>
</ul>
<p style="margin-left: 0.5in; margin-bottom: 0in" align="left"><font face="Arial, sans-serif">The basic process defined by ITIL is that of configuration management. This is essential for both service support and service delivery.<br />
Configuration management means tracking all of the individual hardware components supporting your business IT infrastructure and all of the changes these components undertake. Grid Control tracks all of these changes in a build-in Configuration Management DB (or CMDB for short) which keeps all history data easily accessible using Grid Control&#8217;s interface. </font></p>
<p style="margin-left: 0.5in; margin-bottom: 0in" align="left"><font face="Arial, sans-serif">Each one of these Configuration Items is linkable to other Configuration Items in your infrastructure. You can define a connection between servers X,Y,Z and the organization HR system. Grid Control also has the ability to automatically identify the relation between separate configuration items and greatly reduce the overhead with manually documenting and linking individual configuration items.</font></p>
<p><font face="Arial, sans-serif">This allows the developer to notify the system administrator that ever since he replaced the network card in the production server the entire application is running slower than usual. Identify the change that caused the problem.</font></p>
<ul>
<li>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif"><strong>ITIL 	Problem management<br />
</strong>Another key ITIL process is the diagnostic 	of reoccurring problems and failures. Reoccurring errors are usually 	a sign of problems that were poorly handled when they first 	occurred. Grid Control allows us to identify the error when it 	happens by using <strong>root cause analysis,</strong> helping us identify the 	underlying problematic configuration item thus greatly simplifying 	troubleshooting. </font></li>
</ul>
<ul>
<li>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif"><strong>ITIL 	Change management</strong></font></p>
</li>
</ul>
<p style="margin-left: 0.5in; margin-bottom: 0in" align="left"><font face="Arial, sans-serif">Change management in complex IT environments is all about they way your IT staff can coordinate changes in your infrastructure so that they can easily identify which systems are being affected by the proposed change. Grid Control automatically documents any change made in your business IT infrastructure. By creating &#8220;baseline snapshots&#8221; using Grid Control you can later compare your infrastructure configuration to a given point in time.</font></p>
<p><font face="Arial, sans-serif">Grid Control also supports Change Automation allowing us to schedule automatic deployment of Oracle patches.</font></p>
<ul>
<li>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif"><strong>ITIL 	Release Management<br />
</strong>ITIL release management is the ability to 	release <strong>final</strong>, <strong>production-grade</strong> synchronized versions 	of your IT system along with all of its configuration items 	corresponding to the various installation procedures and regulations 	in place.</font></p>
<p><font face="Arial, sans-serif">This gives us the ability to keep 	a &#8220;closed&#8221; version of our configuration management 	(combination of hardware, O/S choice, DB version…) as a standby 	baseline and use this baseline to easily make future copies. Grid 	Control fully supports ITIL release management by allowing us to 	automate our deployment procedures of the entire system from the 	bare-metal upwards. </font></li>
</ul>
<ul>
<li>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif"><strong>ITIL 	Capacity Management<br />
</strong>Since both system load and capacity play 	critical roles in the availability and performance of your business 	systems, ITIL defines a process to easily manage and quantify your 	systems capacities. In order to predict the capacity required to 	support future workloads, Grid Control tracks the system performance 	over a period of time allowing you to slice the performance by 	various indicators such as user activity.</font></li>
</ul>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">This is just a quick tour of Grid Control and really, only a drop in the sea in terms of capabilities and options at your disposal. We strongly recommend that you install Grid Control for yourself and explore the world of proactive, smart IT infrastructure monitoring and management.</font></p>
<p style="margin-bottom: 0in" align="left"><font face="Arial, sans-serif">And remember…. Once you go Grid, you’ll never go back!</font></p>
<p style="margin-bottom: 0in" align="left"><em>Special thanks to <a href="http://www.linkedin.com/pub/2/1b3/7b2">Liat Sabag</a>, one of the most talented DBAs I&#8217;ve known. </em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidyahalom.com/index.php/proactive-monitoring-with-oracle-grid-control/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hashing strings in Oracle 8i,9i,10g</title>
		<link>http://www.davidyahalom.com/index.php/hashing-strings-in-oracle-8i9i10g/</link>
		<comments>http://www.davidyahalom.com/index.php/hashing-strings-in-oracle-8i9i10g/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 13:47:14 +0000</pubDate>
		<dc:creator>David Yahalom</dc:creator>
		
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.authoritybase.com/index.php/hashing-strings-in-oracle-8i9i10g/</guid>
		<description><![CDATA[There&#8217;s an easy way to hash strings in Oracle 8i,9i,10g.
In Oracle 10g you can use the ORA_HASH function which computes a hash value for any given expression. It recieves three arguments:

expr - determines the data for which you want Oracle Database to compute a hash value. You can go wild on the length of this [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s an easy way to hash strings in Oracle 8i,9i,10g.</p>
<p>In Oracle 10g you can use the <strong>ORA_HASH</strong> function which computes a hash value for any given expression. It recieves three arguments:</p>
<ul>
<li><strong>expr</strong> - determines the data for which you want Oracle Database to compute a hash value. You can go wild on the length of this string there isn&#8217;t any restriction on this.</li>
<li><strong>max_bucket</strong> (optional) - determines the maximum bucket value returned by the hash function. You can specify any value between 0 and 4294967295. The default is 4294967295.</li>
<li><strong>seed_value argument</strong> (optional) - enables Oracle to produce many different results for the same set of data. Oracle applies the hash function to the combination of expr and seed_value. You can specify any value between 0 and 4294967295. The default is 0.</li>
</ul>
<pre class="syntax-highlight:sql">

SQL&gt; select ora_hash('hello world') from dual;

ORA_HASH('HELLOWORLD')
----------------------
1896528268

SQL&gt;
</pre>
<p>In Oralce 8i and 9i there is not ORA_HASH function. What we can use instead is the <a href="http://download-west.oracle.com/docs/cd/B14117_01/appdev.101/b10802/d_util.htm#1003647">DBMS_UTILITY.GET_HASH_VALUE</a> function. It is similar yet different from ORA_HASH .</p>
<p>The GET_HASH_VALUE function takes three mandatory parameters:</p>
<ul>
<li><strong>name</strong> - The string we want converted from string to integer via hash.</li>
<li><strong>base</strong> - The base value for the integer used in the hashing algorithm.</li>
<li><strong>hash_size</strong> - This is the size of the hash table. The total number of values that are available to the hashing algorithm as conversions from the string inputs. It is recommended that this will be the power of two.</li>
</ul>
<p>For example, to get a hash value on a string where the hash value should be between 1000 and 3047, use 1000 as the base value and 2048 as the <code>hash_size</code> value.</p>
<pre class="syntax-highlight:sql">
SQL&gt; select DBMS_UTILITY.GET_HASH_VALUE('hello world1', 2,1048576) from dual;

DBMS_UTILITY.GET_HASH_VALUE('HELLOWORLD1',2,1048576)
----------------------------------------------------
113894

SQL&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.davidyahalom.com/index.php/hashing-strings-in-oracle-8i9i10g/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Started a new job!</title>
		<link>http://www.davidyahalom.com/index.php/started-a-new-job/</link>
		<comments>http://www.davidyahalom.com/index.php/started-a-new-job/#comments</comments>
		<pubDate>Sat, 01 Nov 2008 02:00:48 +0000</pubDate>
		<dc:creator>David Yahalom</dc:creator>
		
		<category><![CDATA[General IT]]></category>

		<guid isPermaLink="false">http://www.authoritybase.com/index.php/started-a-new-job/</guid>
		<description><![CDATA[Pop up the champagne bottles people!

I have started a new job as a Senior Project Manager at the Veracity Group , the leading Oracle Consulting group in Israel. Veracity is the only Oracle certified Value Added Distributor (VAD) in Israel and part of a very small and exclusive list of Oracle VADs around the world. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Pop up the champagne bottles people!</strong></p>
<p><a href="http://www.veracity-group.com"><img src="http://www.veracity-group.com/images/logo.jpg" title="Veracity Logo" alt="Veracity Logo" border="0" width="233" height="74" /></a></p>
<p>I have started a new job as a <strong><em>Senior Project Manager </em></strong>at the <strong><a href="http://www.veracity-group.com/">Veracity Group</a></strong> , the leading Oracle Consulting group in Israel. Veracity is the only<strong> Oracle certified Value Added Distributor</strong> (VAD) in Israel and part of a very small and exclusive list of Oracle VADs around the world. Our customers benefit from the unique advantage we offer of both directly licensing and selling Oracle products as well as having an outstanding expert Professional Services team. We&#8217;re Simply the best in our field, trust me. As part of my new job at Veracity, I&#8217;m also holding the CTO title of a very special group in the Oracle Database development business, but more on this later.</p>
<p>I&#8217;ve been able to accomplish a great deal in the last six years as a database consultant, especially during my time at Xpert-One1 which was a very rewarding experience. For some time now I&#8217;ve been looking into getting a more managerial position and when the opportunity presented itself, I simply couldn&#8217;t resist. My new position puts me directly in the middle decision making process about all things technological - so I think this would make a great learning experience for me. I&#8217;m still (and always will be) a bits and bytes kind of guy so I&#8217;m looking forward combining my deep passion for technology with having a managerial position. Any tips on how to exactly accomplish this from all you veterans out there are welcome! <img src='http://www.davidyahalom.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidyahalom.com/index.php/started-a-new-job/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Migrating from SPARC to x86</title>
		<link>http://www.davidyahalom.com/index.php/migrating-from-sparc-to-x86/</link>
		<comments>http://www.davidyahalom.com/index.php/migrating-from-sparc-to-x86/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 10:11:38 +0000</pubDate>
		<dc:creator>David Yahalom</dc:creator>
		
		<category><![CDATA[RAC]]></category>

		<category><![CDATA[Hardware]]></category>

		<category><![CDATA[Solaris]]></category>

		<category><![CDATA[Unix]]></category>

		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.authoritybase.com/index.php/migrating-from-sparc-to-x86/</guid>
		<description><![CDATA[Remember the SPARC Vs. x86 post I made some time ago? I&#8217;ve talked about sizing old SPARC hardware compared to new x86 based servers.
Well, I have just finished a rather big project migrating several single-instance Oracle 8i databases running on old(ish) SPARC machines to a state of the art Oracle 10g RAC on commodity x86 [...]]]></description>
			<content:encoded><![CDATA[<p>Remember the <a href="http://www.authoritybase.com/index.php/ultrasparc-vs-x86-servers-which-one-runs-oracle-faster/">SPARC Vs. x86</a> post I made some time ago? I&#8217;ve talked about sizing old SPARC hardware compared to new x86 based servers.</p>
<p>Well, I have just finished a rather big project migrating several single-instance Oracle 8i databases running on old(ish) SPARC machines to a state of the art Oracle 10g RAC on commodity x86 Linux servers.</p>
<p>I have migrated my client from this:</p>
<p><strong>Two: 4 X UltraSparc III+ 1GHZ CPUs, 8GB RAM.<br />
Two: 3X UltraSparc II 300Mhz CPUs, 4GB RAM.</strong></p>
<p>To this:</p>
<p><strong> Two HP DL580G5: 2X Intel QuadCore Xeon X7350@2.93GHz, 16GB RAM (list price: $15,000).<br />
One HP DL380G5: 2X Intel QuadCore Xeon E5345@2.33GHz, 8GB RAM (list price: $8,000).</strong></p>
<p>The workload remained the same. The old config had several different unique schemas on each physical server. Each applications running connected to a different schema on a different physical server. No shared data between servers. This was done to spread the workload across several machines. Five years ago they (client) considered it a poor man&#8217;s cluster. <img src='http://www.davidyahalom.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>When installing and configuration the RAC cluster, I have combines all of the different schemas under a single database.</p>
<p>I&#8217;ll try and published more detailed performance benchmarks later on, but now all I can say is this: in terms of raw CPU power (taking storage I/O and memory restrictions out of the function) the RAC cluster <strong>smokes</strong>, <strong>obliterates </strong>and <strong>completely destroys</strong> all of the older SPARC servers combined.</p>
<p>The RAC cluster consist a total of 6 CPUs, each with 4 cores (a total of 24 cores).  The average load on each node is around the 2.0-2.2 mark. Meaning a combined load of ~6/24 or roughly 25%.  Given the same workload,  the old SPARC machines reached well above 100%. For example, one of the &#8220;more powerful&#8221; Ultrasparc III+ 1Ghz machines (total of 4 CPUs) reached load ranges of above 20!</p>
<p>The workload is a mixed multi-million user, multi-session web application with short, cached queries and transactions plus several single-threaded very cpu-intensive financial applications that perform thousands of logical DML operations per second. One of these DML intensive processes caused a 4XUltraSprac III+ 1Ghz machine to reach average loads of 15-20. The same process running on the same data barely tickles the QuadCore Xeon.</p>
<p>Now, please keep in mind two things:<br />
1) <strong>This isn&#8217;t scientific, far from it.</strong> At least not yet. I have also performed more concrete benchmarks, but until I&#8217;ll have time to arrange all the data into user-readable format you&#8217;ll just have to take my word on it. <img src='http://www.davidyahalom.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>2) You might say that comparing 4 year old SPARC hardware to brand new x86 machines might not be fair. <strong>And I&#8217;ll agree. It isn&#8217;t.</strong> But what&#8217;s important is to take the general sizing figures from this post and try to adapt them to occasions where you have a site &#8220;suck&#8221; with old SPARC hardware and you want sizing information to decide how exactly SPARC Mhz translates to x86 Mhz.</p>
<p>The bottom line is this: don&#8217;t be afraid to migrate old SPARC machines to modern Linux x86 hardware. It will usually be allot faster.<br />
And&#8230;. you can achieve great performance when using cheap, x86 servers in a RAC cluster and very high ROI.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidyahalom.com/index.php/migrating-from-sparc-to-x86/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Show full process name / path / string in Solaris using ps</title>
		<link>http://www.davidyahalom.com/index.php/show-full-process-name-path-string-in-solaris-using-ps/</link>
		<comments>http://www.davidyahalom.com/index.php/show-full-process-name-path-string-in-solaris-using-ps/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 13:42:41 +0000</pubDate>
		<dc:creator>David Yahalom</dc:creator>
		
		<category><![CDATA[Solaris]]></category>

		<guid isPermaLink="false">http://www.authoritybase.com/index.php/show-full-process-name-path-string-in-solaris-using-ps/</guid>
		<description><![CDATA[Let&#8217;s say you have a JAVA process running on an old Sun Solaris machine. You want to see the full path of the process running including any run-time variables that were passed to it.
Using ps -eaf &#124; grep -i java gives us this:


[root@hostname ~]# which ps
/bin/ps

[root@hostname ~]# ps -eaf &#124; grep -i java

nobody  4589  4588   [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s say you have a JAVA process running on an old Sun Solaris machine. You want to see the full path of the process running including any run-time variables that were passed to it.</p>
<p>Using ps -eaf | grep -i java gives us this:</p>
<pre class="syntax-highlight:sql">

[root@hostname ~]# which ps
/bin/ps

[root@hostname ~]# ps -eaf | grep -i java

nobody  4589  4588   0 14:26:35 ?           0:21 /usr/java1.4/bin/java -Djava.awt.headless=true -Xms200m -Xmx300m org.apache.jse
</pre>
<p>As you can see the process name is trimmed and you can&#8217;t see all parameters passed to Java. No matter what parameters or scripting you&#8217;ll try and do, using /bin/ps (default) will crop your process name.</p>
<p>There is, however, an entriely different ps program we can use. <img src='http://www.davidyahalom.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre class="syntax-highlight:sql">
[root@hostname ~]#/usr/ucb/ps -auxwww | grep -i java

nobody    4589  0.1  4.228480842528 ?        S 14:26:35  0:21 /usr/java1.4/bin/java -Djava.awt.headless=true -Xms200m -Xmx300m org.apache.jserv.JServ /jserv/etc/jserv.properties
</pre>
<p>Fantastic!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidyahalom.com/index.php/show-full-process-name-path-string-in-solaris-using-ps/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
