<?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>Svetoslav Gyurov Oracle blog</title>
	<atom:link href="http://sve.to/feed/" rel="self" type="application/rss+xml" />
	<link>http://sve.to</link>
	<description>Unix &#38; Oracle stories</description>
	<lastBuildDate>Thu, 04 Oct 2012 13:45:05 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Missing IPV6 address for local network interfaces causes service timeout</title>
		<link>http://sve.to/2012/10/04/missing-ipv6-address-for-local-network-interfaces-causes-service-timeout/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=missing-ipv6-address-for-local-network-interfaces-causes-service-timeout</link>
		<comments>http://sve.to/2012/10/04/missing-ipv6-address-for-local-network-interfaces-causes-service-timeout/#comments</comments>
		<pubDate>Thu, 04 Oct 2012 08:56:45 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[weblogic]]></category>

		<guid isPermaLink="false">http://sve.to/?p=963</guid>
		<description><![CDATA[Year ago I installed Weblogic server + Oralce database server for a customer. Few months later my colleagues asked me whether something has changed in the environment or if something happened at the data center, because they started to see Java exceptions for unknown hostname for a web service they were calling and this was [...]]]></description>
				<content:encoded><![CDATA[<p>Year ago I installed Weblogic server + Oralce database server for a customer. Few months later my colleagues asked me whether something has changed in the environment or if something happened at the data center, because they started to see Java exceptions for unknown hostname for a web service they were calling and this was happening only from time to time. We&#8217;ve checked the firewall rules, DNS and all the stuff, but everything seemed to be working fine. The only solution by that time they came out was to add the hostname to the hosts file of the Weblogic server. These were versions of the software:<br />
Oracle Enterprise Linux 6.2 (64bit)<br />
Weblogic Server 10.3.5<br />
JDK 1.6.0_31</p>
<p>Then six months later, problem showed up again. The new version of the application was calling another web service, which obviously was missing from the hosts file and this time I decided to investigate the problem and find out what&#8217;s really happening. After I received the email I immediately logged in to the server and fired several nslookups and ping requests to the host that was causing problems, both were successful and returned correct result.  I&#8217;ve double checked hosts file, nsswitch.conf file and all the network settings, everything was correct. Meanwhile the Weblogic server log kept getting java.net.UnknownHostException for the very same host.</p>
<p>Obviously the problem required different approach. I&#8217;ve found useful Java procedure to call the function getByName and in some way simulate the application behavior, webservice hostname was intentionally changed,  this is the procedure:</p>
<pre class="brush: plain; title: ; notranslate">[root@srv tmp]# cd /tmp/
cat &gt; DomainResolutionTest.java
java.net.InetAddress;
import java.net.UnknownHostException;
import java.io.PrintWriter;
import java.io.StringWriter;

public class DomainResolutionTest {

public static void main(String[] args) {
if (args.length == 0) args = new String[] { &quot;sve.to&quot; };

try {
InetAddress ip = InetAddress.getByName(args[0]);
System.out.println(ip.toString());
}catch (UnknownHostException uhx) {
System.out.println(&quot;ERROR: &quot; + uhx.getMessage() + &quot;\n&quot; + getStackTrace(uhx));
Throwable cause = uhx.getCause();
if (cause != null) System.out.println(&quot;CAUSE: &quot; + cause.getMessage());
}

}

public static String getStackTrace(Throwable t)
{
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw, true);
t.printStackTrace(pw);
pw.flush();
sw.flush();
return sw.toString();
}

}</pre>
<p>Then just compile the procedure and execute it:</p>
<pre class="brush: plain; title: ; notranslate">[root@srv tmp]# javac DomainResolutionTest.java
[root@srv tmp]# java DomainResolutionTest
sve.to/95.154.250.125
[root@srv tmp]# java DomainResolutionTest
sve.to/95.154.250.125</pre>
<p>Running the procedure several times returned the correct address and no error occurred, but looping the procedure for some time returned the exception I was looking for:</p>
<pre class="brush: plain; title: ; notranslate">while 1&gt;0; do java DomainResolutionTest; done &gt; 1
^C
[root@srv tmp]# wc -l 2
2648 2
[root@srv tmp]# grep Unknown 2
java.net.UnknownHostException: sve.to
[root@srv tmp]# less 2
......
sve.to/95.154.250.125
ERROR: sve.to
java.net.UnknownHostException: sve.to
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:849)
at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1202)
at java.net.InetAddress.getAllByName0(InetAddress.java:1153)
at java.net.InetAddress.getAllByName(InetAddress.java:1083)
at java.net.InetAddress.getAllByName(InetAddress.java:1019)
at java.net.InetAddress.getByName(InetAddress.java:969)
at DomainResolutionTest.main(DomainResolutionTest.java:12)

sve.to/95.154.250.125
....</pre>
<p>From what I understand is that Java process is trying to lookup the IP address of the requested host, but first it takes all IP address of the local interfaces (eth0 and lo) including their default IPV6 address and then try to resolve these IP addresses to hostnames. Although I didn&#8217;t configured IPV6 addresses for the interfaces, they already had default ones. This is because the OS had IPV6 enabled by default and respectively the interfaces got default IPV6 addresses. During the installation I removed localhost6 (::1) record from hosts file, which later caused this error and also missing record for eth0 IP address.</p>
<p>The problem may be that the JVM performs both IPv6 and IPv4 queries and if the DNS server is not configured to handle IPv6 queries, the application might issue an unknown host exception. If the DNS is not configured to handle IPv6 queries properly, the application must wait for the IPv6 query to time out.  The workaround for this is to make Java use only IPV4 stack and run Java process with <em>-Djava.net.preferIPv4Stack=true</em> parameter. This will make Java process to prefer running in IPV4, thus avoiding the error for IPV6 look up.  Unfortunately running the above Java procedure with this parameter again returned UnknownHostException.</p>
<p>It looks like genuine bug with IPv6 in Java, I also saw few bugs opened at Sun regarding this Java behavior, but there was no solution. Finally after adding hostname for local interface&#8217;s IPV6 addresses in host file, the exceptions disappeared:</p>
<pre class="brush: plain; title: ; notranslate">::1                                          localhost6
fe80::20c:29ff:fe36:4144                     srv6</pre>
<p>So for the future installations I&#8217;ll be explicitly disabling IPV6 on the installed systems. The easiest way to do that is like this:</p>
<pre class="brush: plain; title: ; notranslate">cat &gt;&gt; /etc/sysctl.conf
#disable all ipv6 capabilities on a kernel level
sysctl net.ipv6.conf.all.disable_ipv6 = 1</pre>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2012/10/04/missing-ipv6-address-for-local-network-interfaces-causes-service-timeout/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to run standalone Oracle APEX Listener 2.0 with Oracle 11g XE and APEX 4.1.1</title>
		<link>http://sve.to/2012/08/23/how-to-run-standalone-oracle-apex-listener-2-0-with-oracle-11g-xe-and-apex-4-1-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-run-standalone-oracle-apex-listener-2-0-with-oracle-11g-xe-and-apex-4-1-1</link>
		<comments>http://sve.to/2012/08/23/how-to-run-standalone-oracle-apex-listener-2-0-with-oracle-11g-xe-and-apex-4-1-1/#comments</comments>
		<pubDate>Thu, 23 Aug 2012 12:20:51 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[11.2]]></category>
		<category><![CDATA[apex]]></category>

		<guid isPermaLink="false">http://sve.to/?p=936</guid>
		<description><![CDATA[This is short guide on how to run standalone Oracle APEX Listener 2.0 beta with Oracle 11g XE. I’m using Oracle Enterprise Linux 5.7 for running Oracle APEX Listener and Oracle Database 11g XE with APEX 4.1.1. Although running APEX Listener standalone is not supported I&#8217;m using it to run several internal applications for company [...]]]></description>
				<content:encoded><![CDATA[<p>This is short guide on how to run standalone Oracle APEX Listener 2.0 beta with Oracle 11g XE. I’m using Oracle Enterprise Linux 5.7 for running Oracle APEX Listener and Oracle Database 11g XE with APEX 4.1.1. Although running APEX Listener standalone is not supported I&#8217;m using it to run several internal applications for company needs.</p>
<p>When using APEX Listener with Oracle XE, APEX won&#8217;t work properly and white screen appears when APEX is open. This is because the APEX images are stored in the XML DB repository, but APEX Listener have to be run with parameter &#8211;apex-images pointing to directory containing the images at the filesystem. To solve this I downloaded the latest patch of APEX and copied the images from the patch.</p>
<p>If you have <span style="text-decoration: underline;">another database</span> running on the same machine, keep in mind <a href="http://sve.to/2012/05/15/oracle-11g-xe-listener-does-not-start-when-there-is-another-database-running/">this</a>.</p>
<p>&nbsp;</p>
<p><strong><span style="font-size: medium;">Install Oracle 11g XE and update Oracle APEX to latest version:</span></strong></p>
<p>1. <a href="http://www.oracle.com/technetwork/products/express-edition/downloads/index.html">Download Oracle Database Express Edition 11g Release 2 for Linux x64</a></p>
<p>2. Install Oracle 11g XE:<br />
rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm</p>
<p>3. Configure Express Edition:<br />
/etc/init.d/oracle-xe configure<br />
Port: 1522<br />
Password: secret</p>
<p>4. Update APEX to 4.1</p>
<p><a href="http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html"> Download APEX 4.1</a><br />
cd /tmp<br />
unzip -q apex_4.1.zip<br />
cd apex<br />
sqlplus / as sysdba<br />
@apexins SYSAUX SYSAUX TEMP /i/<br />
@apxldimg.sql /tmp/apex</p>
<p>5. Update APEX to version 4.1.1<br />
Download patch set <a href="https://support.oracle.com/epmos/faces/PatchDetail?patchId=13331096">13331096</a> from MOS</p>
<p>Disable Oracle XML DB HTTP server:</p>
<p>SQL&gt; EXEC DBMS_XDB.SETHTTPPORT(0);<br />
PL/SQL procedure successfully completed.</p>
<p>SQL&gt; COMMIT;<br />
Commit complete.</p>
<p>SQL&gt; SELECT DBMS_XDB.GETHTTPPORT FROM DUAL;<br />
GETHTTPPORT<br />
&#8212;&#8212;&#8212;&#8211;<br />
0</p>
<p>Run apxpatch.sql to patch the system:</p>
<p>SQL&gt; @apxpatch.sql</p>
<p>Update the Images Directory When Running the Embedded PL/SQL Gateway:</p>
<p>@apxldimg.sql /tmp/patch</p>
<p>Commit complete.</p>
<p>Once the update finished <strong>do not enable</strong> Oracle XML DB HTTP server, because we’ll be using Oracle APEX Listener, which will setup next.</p>
<p>&nbsp;</p>
<p><strong><span style="font-size: medium;">Install APEX Listener 2.0.0</span></strong></p>
<p>1. <a href="http://www.oracle.com/technetwork/developer-tools/apex-listener/downloads/listener-beta-1727062.html">Download Oracle APEX Listener 2.0.0 beta</a></p>
<p>2. <a href="http://www.oracle.com/technetwork/java/javase/downloads/jre6-downloads-1637595.html">Download and install latest JRE 1.6 version, currently latest version is 1.6.34</a></p>
<p>Unpack to /opt/jre1.6.0_34</p>
<p>3. Unlock and set password for apex_public_user at the Oracle XE database:<br />
alter user APEX_PUBLIC_USER account unlock;<br />
alter user APEX_PUBLIC_USER identified by secret;</p>
<p>4. Patch Oracle APEX to support RESTful  Services:<br />
cd /oracle/apxlsnr/apex_patch/<br />
sqlplus / as sysdba @catpatch.sql</p>
<p>Set passwords for both users APEX_LISTENER and APEX_REST_PUBLIC_USER.</p>
<p>5. Install Oracle APEX Listener:<br />
mkdir /oracle/apxlsnr/<br />
cd /oracle/apxlsnr/<br />
unzip apex_listener.2.0.0.215.16.35.zip</p>
<p><strong>Now this is tricky</strong>, for XE edition the images are kept in the XML DB repository, so images have to be copied from the patch to the listener home:<br />
cp /tmp/patch/images .</p>
<p>6. Configure Oracle APEX Listener:<br />
export JAVA_HOME=/opt/jre1.6.0_34<br />
export PATH=$JAVA_HOME/bin:$PATH</p>
<p>Set APEX listener config dir:<br />
java -jar apex.war configdir $PWD/config</p>
<p>Configure the listener:<br />
java -jar apex.war</p>
<p>Once configuration is complete, listener is started. It has to be stopped and run with appropriate parameters, use Ctrl-C to stop it.</p>
<p>7. Finally start the listener:<br />
java -jar apex.war standalone &#8211;apex-images /oracle/apxlsnr/images</p>
<p>In case you want to run it in background here’s how to do it:<br />
nohup java -jar apex.war standalone &#8211;apex-images /oracle/apxlsnr/images &gt; apxlsnr.log &amp;</p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;">Periodically I was seeing exceptions like these:</span><br />
ConnectionPoolException [error=BAD_CONFIGURATION]<br />
&#8230;<br />
Caused by: oracle.ucp.UniversalConnectionPoolException: Universal Connection Pool already exists in the Universal Connection Pool Manager. Universal Connection Pool cannot be added to the Universal Connection Pool Manager</p>
<p>I found that if APEX Listener is not configured with RESTful Services then these messages appeared in the log and could be safety ignored.</p>
<p>&nbsp;</p>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2012/08/23/how-to-run-standalone-oracle-apex-listener-2-0-with-oracle-11g-xe-and-apex-4-1-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How I run Oracle VM 2.2 guests with custom network configuration</title>
		<link>http://sve.to/2012/08/15/how-i-run-oracle-vm-2-2-guests-with-custom-network-configuration/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-i-run-oracle-vm-2-2-guests-with-custom-network-configuration</link>
		<comments>http://sve.to/2012/08/15/how-i-run-oracle-vm-2-2-guests-with-custom-network-configuration/#comments</comments>
		<pubDate>Wed, 15 Aug 2012 07:37:33 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[oraclevm]]></category>
		<category><![CDATA[rac]]></category>

		<guid isPermaLink="false">http://sve.to/?p=902</guid>
		<description><![CDATA[Recently I was given three virtual machines running Oracle Enterprise Linux 5 and Oracle 11gR2 RAC on Oracle VM 2.2.1, copied straight from /OVS/running_pool/. I had to get these machines up and running at my lab environment, but I found hard to setup the network. I’ve spent half day in debugging without success, but finally [...]]]></description>
				<content:encoded><![CDATA[<p>Recently I was given three virtual machines running Oracle Enterprise Linux 5 and Oracle 11gR2 RAC on Oracle VM 2.2.1, copied straight from /OVS/running_pool/. I had to get these machines up and running at my lab environment, but I found hard to setup the network. I’ve spent half day in debugging without success, but finally found a workaround, which I’ll explain here.</p>
<p>Just a little technical notes – Oracle VM (xen) has three main setup configurations within /etc/xen/xend-config.sxp:</p>
<p><strong>Bridge Networking</strong> – this configuration is configured by default and it’s simplest to configure. Using this type of networking means that the VM guest should have IP from the same network as the VM host. Another thing is that the VM guest could take advantage of DHCP, if any. The following lines should be uncommented in /etc/xen/xend-config.sxp:<strong><br />
</strong>(network-script network-bridge)<br />
(vif-script vif-bridge)</p>
<p><strong>Routed Networking with NAT</strong> – this configuration is most common where a private LAN must be used, for example you have a VM host running  on your notebook and you can’t get another IP from corporate or lab network. For this you have to setup private LAN and NAT the VM guests so they can access the rest of the network. The following lines should be uncommented in /etc/xen/xend-config.sxp:<strong><br />
</strong> (network-script network-nat)<br />
(vif-script vif-nat)</p>
<p><strong>Two-way Routed Network</strong> – this configuration requires more manual steps, but offers greater flexibility. This one is exactly the same at the second one, except the fact that VM guests are exposed on the external network. For example when VM guest make connection to external machine, its original IP is seen. The following lines should be uncommented in /etc/xen/xend-config.sxp:<strong><br />
</strong>(network-script network-route)<br />
(vif-script vif-route)</p>
<p>Typically only one of the above can be used at one time and selection and choice depends on the network setup. For second and third configurations to work, a “route” must be added to the Default Gateway. For example if my Oracle VM host has an IP address 192.168.143.10, then on the default gateway (192.168.143.1) a route has to be added to explicitly route all connection requests to my VM guests through my VM host. Something like that:<br />
route add -net 10.0.1.0 netmask 255.255.255.0 gw 192.168.143.10</p>
<p>Now back to the case itself. Each of the RAC nodes had two NICs – one for the public connections and one for the private, which is used by GI an RAC. The public network was 10.0.1.X and private 192.168.1.X. What I wanted was to run the VM guests at my lab and access them directly with IP addresses from the lab network, which was 192.168.143.X. As we know the default network configuration is to use bridged networking so I went with this one. Having the vm guests config files all I had to do was to change the first address of every guest:</p>
<p><span style="text-decoration: underline;">From:</span><br />
vif = ['mac=00:16:3e:22:0d:04, ip=10.0.1.11, bridge=xenbr0', 'mac=00:16:3e:22:0d:14, ip=192.168.1.11',]</p>
<p><span style="text-decoration: underline;">To:</span><br />
vif = ['mac=00:16:3e:22:0d:04, ip=192.168.143.151, bridge=xenbr0', 'mac=00:16:3e:22:0d:14, ip=192.168.1.11',]</p>
<p>This turned to be real nightmare, I’ve spent half a day looking why my VM gusts doesn’t have access to the lab network. They had access to VM host, but not to the outside world. Maybe because I’m running Oracle VM on top of VMWare, but finally I  gave up this configuration.</p>
<p>Thus I had to use one of the other two network configurations &#8211; Routed Networking with NAT OR Two-way Routed Network. Either case I didn’t have access to the default gateway and would not be able to put static route to my VM guests.</p>
<p><strong>Here is how I solved this</strong> &#8211; to run three nodes RAC on Oracle VM Server 2.2.1, keep their original network configuration and access them with IP address from my lab network (192.168.143.X). I’ve put logical IP’s of the VM guests on the VM host using ip (ifconfig could also be used) and then using iptables change packet destination to the VM guests themselves (10.0.1.X).</p>
<p>1. Change Oracle VM configuration to <strong>Two-way Routed Network, </strong>comment the lines for default bridge configuration and remove comments for routed networking:<br />
(network-script network-route)<br />
(vif-script vif-route)</p>
<p>2. Configure VM host itself for forwarding:<br />
echo 1 &gt; /proc/sys/net/ipv4/conf/all/proxy_arp<br />
iptables -t nat -A POSTROUTING -s 10.0.1.0 -j MASQUERADE<span style="font-family: Calibri;"><br />
</span></p>
<p>3. Set network alias with the IP address that you want to use for the VM guests:<br />
ip addr add 192.168.143.151/32 dev eth0:1<br />
ip addr add 192.168.143.152/32 dev eth0:2<br />
ip addr add 192.168.143.153/32 dev eth0:3</p>
<p>4. Create iptables rules in PREROUTING chain that will redirect the request to VM guests original IPs once it receive it on the lab network IP:<br />
iptables -t nat -A PREROUTING -d 192.168.143.151 -i eth0 -j DNAT &#8211;to-destination 10.0.1.11<br />
iptables -t nat -A PREROUTING -d 192.168.143.152 -i eth0 -j DNAT &#8211;to-destination 10.0.1.12<br />
iptables -t nat -A PREROUTING -d 192.168.143.153 -i eth0 -j DNAT &#8211;to-destination 10.0.1.13</p>
<p>5. Just untar the VM guest in /OVS/running_pool/</p>
<p>[root@ovm22 running_pool]# ls -al /OVS/running_pool/dbnode1/<br />
total 26358330<br />
drwxr-xr-x 2 root root        3896 Aug  6 17:27 .<br />
drwxrwxrwx 6 root root        3896 Aug  3 11:18 ..<br />
-rw-r&#8211;r&#8211; 1 root root  2294367596 May 16  17:27 swap.img<br />
-rw-r&#8211;r&#8211; 1 root root  4589434792 May 16  17:27 system.img<br />
-rw-r&#8211;r&#8211; 1 root root 20107128360 May 16  17:27 u01.img<br />
-rw-r&#8211;r&#8211; 1 root root         436 Aug 6 11:20 vm.cfg</p>
<p>6. Run the guest:<br />
xm create /OVS/running_pool/dbnode1/vm.cfg</p>
<p>Now I have a three node RAC, nodes have their original public IPs and I can access them using my lab network IPs. The mapping is like this:</p>
<p>Request to 192.168.143.151 –&gt; the IP address is up on the VM host –&gt; on the VM host iptables takes action –&gt; packet destination IP address is changed to 10.0.1.11 –&gt; static route is already in place at VM host routing packet to the vif interface of the VM guest.</p>
<p>Now I can access my dbnode1 (10.0.1.11) directly with its lab network IP 192.168.143.151.</p>
<p>Useful links:<br />
<a title="http://wiki.kartbuilding.net/index.php/Xen_Networking" href="http://wiki.kartbuilding.net/index.php/Xen_Networking">http://wiki.kartbuilding.net/index.php/Xen_Networking</a><br />
<a title="http://wiki.xensource.com/xenwiki/XenNetworking" href="http://wiki.xensource.com/xenwiki/XenNetworking">http://wiki.xensource.com/xenwiki/XenNetworking</a></p>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2012/08/15/how-i-run-oracle-vm-2-2-guests-with-custom-network-configuration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Failed creating physical standby database</title>
		<link>http://sve.to/2012/06/05/failed-creating-physical-standby-database/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=failed-creating-physical-standby-database</link>
		<comments>http://sve.to/2012/06/05/failed-creating-physical-standby-database/#comments</comments>
		<pubDate>Tue, 05 Jun 2012 14:05:31 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[10.2]]></category>
		<category><![CDATA[dba]]></category>
		<category><![CDATA[rman]]></category>

		<guid isPermaLink="false">http://sve.to/?p=882</guid>
		<description><![CDATA[These days I&#8217;m implementing Oracle Dataguard for two Oracle databases 10.2 as part of disaster recovery project, one of them is around 1.7TB, not yet production. As part of the DG setup backups have to be available for both primary and standby. I preferred to use ASM and was able to negotiate with the storage [...]]]></description>
				<content:encoded><![CDATA[<p>These days I&#8217;m implementing Oracle Dataguard for two Oracle databases 10.2 as part of disaster recovery project, one of them is around 1.7TB, not yet production. As part of the DG setup backups have to be available for both primary and standby. I preferred to use ASM and was able to negotiate with the storage admin to run storage replication for the FRA disks during the backup. This way I would have the same structure and files, locally at the disaster site immediately after the backup of the primary database is completed.</p>
<p>Unfortunately two weeks passed and by the time (this morning) I had to start with the DG setup the FRA (2TB big) got exhausted, because of too many archivelogs. When I saw this the first thing it came to my mind was to delete the backup as it was too big and I already had it at the disaster site!?. Deleting archivelogs was not an option as I need these archivelogs so the standby could catch up with the primary. So what I&#8217;ve done was to delete the backup without thinking and then moved on to duplicate the primary database for standby.</p>
<p>I&#8217;ve setup the standby instance and when issued &#8220;<em>DUPLICATE TARGET DATABASE FOR STANDBY NOFILENAMECHECK DORECOVER;</em>&#8221; I got the following errors:</p>
<pre class="brush: plain; title: ; notranslate">RMAN-03002: failure of Duplicate Db command at 06/05/2012 11:12:04
RMAN-03015: error occurred in stored script Memory Script
RMAN-06136: ORACLE error from auxiliary database: ORA-01180: can not create datafile 1
ORA-01110: data file 1: '+DATA/orcl/datafile/system.347.666704609'</pre>
<p>I was surprised by this error and started thinking if there wasn&#8217;t a problem with the storage (it happened twice before to have read only disks), but this was not the case. Once the diskgroup is mounted it means that ASM can read/write to its disks.</p>
<p>It&#8217;s obvious what my mistake is, but it took me a while until I realize what I&#8217;ve done. Deleting backup at the primary database means that it no longer knows for my backup and for that reason I could not clone the primary database. That&#8217;s why I got error that datafile 1 could not be created, simply it has no backups to restore it from. Thinking now what if the backup was located at NFS share, then I would definitely not delete it, but maybe move the archivelogs and manually register them later on the standby.</p>
<p>So now I started a new backup, waiting for it to finish and got replicated to the disaster site.</p>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2012/06/05/failed-creating-physical-standby-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle Database 10.2 datapump job fails because of invalid queue</title>
		<link>http://sve.to/2012/06/04/oracle-database-10-2-datapump-job-fails-because-of-invalid-queue/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=oracle-database-10-2-datapump-job-fails-because-of-invalid-queue</link>
		<comments>http://sve.to/2012/06/04/oracle-database-10-2-datapump-job-fails-because-of-invalid-queue/#comments</comments>
		<pubDate>Mon, 04 Jun 2012 07:16:02 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[10.2]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[expdp]]></category>
		<category><![CDATA[impdp]]></category>

		<guid isPermaLink="false">http://sve.to/?p=861</guid>
		<description><![CDATA[Recently I had to clone one schema from Oracle Database 10.2.0.3 on HP-UX to 10.2.0.4 on Linux. The first problem came when I tried to export it and got the following errors: &#160; These gave me no sign of what could be the problem, but when I tried to export only the metadata I got [...]]]></description>
				<content:encoded><![CDATA[<p>Recently I had to clone one schema from Oracle Database 10.2.0.3 on HP-UX to 10.2.0.4 on Linux. The first problem came when I tried to export it and got the following errors:</p>
<pre class="brush: plain; title: ; notranslate">UDE-00008: operation generated ORACLE error 31623
ORA-31623: a job is not attached to this session via the specified handle
ORA-06512: at &quot;SYS.DBMS_DATAPUMP&quot;, line 2315
ORA-06512: at &quot;SYS.DBMS_DATAPUMP&quot;, line 3185
ORA-06512: at line 1</pre>
<p>&nbsp;</p>
<p>These gave me no sign of what could be the problem, but when I tried to export only the metadata I got ORA-00600 which helped me finding the solution:</p>
<pre class="brush: plain; title: ; notranslate">Tue May 29 12:21:13 2012
Errors in file /oracle/admin/brego/udump/brego_ora_21785.trc:
ORA-00600: internal error code, arguments: [kwqbgqc: bad state], [1], [1], [], [], [], [], []
Tue May 29 12:22:01 2012
kwqiclode Warning : 600 happened during Queue                         load</pre>
<p>The error was caused by invalid DataPump queue, refer to the following MOS notes to resolve the error:<br />
DataPump Import (IMPDP) Fails With Errors UDI-8 OCI-22303 ORA-600 [kwqbgqc: bad state] [ID 1086334.1]<br />
Errors ORA-31623 And ORA-600 [kwqbgqc: bad state] During DataPump Export Or Import [ID 754401.1]</p>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2012/06/04/oracle-database-10-2-datapump-job-fails-because-of-invalid-queue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle 11g XE listener does not start when there is another database running</title>
		<link>http://sve.to/2012/05/15/oracle-11g-xe-listener-does-not-start-when-there-is-another-database-running/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=oracle-11g-xe-listener-does-not-start-when-there-is-another-database-running</link>
		<comments>http://sve.to/2012/05/15/oracle-11g-xe-listener-does-not-start-when-there-is-another-database-running/#comments</comments>
		<pubDate>Tue, 15 May 2012 12:13:59 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[11.2]]></category>
		<category><![CDATA[apex]]></category>

		<guid isPermaLink="false">http://sve.to/?p=832</guid>
		<description><![CDATA[If for any reason you have a two databases running on the same server and one of them is Oracle 11g Express Edition then you will get surprised that listener of XE is not started automatically during boot if there is another listener already running. Debugging the startup script I found that this happens because [...]]]></description>
				<content:encoded><![CDATA[<p>If for any reason you have a two databases running on the same server and one of them is Oracle 11g Express Edition then you will get surprised that listener of XE is not started automatically during boot if there is another listener already running. Debugging the startup script I found that this happens because of a bug in the code, which assumes that XE listener is running if it finds the word LISTENER within the processes list.</p>
<p>In file /etc/init.d/oracle-xe, at line 556 the code is failing:</p>
<pre class="brush: plain; title: ; toolbar: false; notranslate">+ status='oracle 2889 1 0 May13 ? 00:00:05 /oracle/ora112se/bin/tnslsnr LISTENER -inherit'
+ '[' 'oracle 2889 1 0 May13 ? 00:00:05 /oracle/ora112se/bin/tnslsnr LISTENER -inherit' == '' ']'</pre>
<p>As you can see I have another database running and because of the XE startup script found the keyword LISTENER it&#8217;s supposing that the XE LISTENER is already running.</p>
<p>Simply changing line 556 from:</p>
<pre class="brush: plain; title: ; toolbar: false; notranslate">status=`ps -ef | grep tns | grep oracle`</pre>
<p>To:</p>
<pre class="brush: plain; title: ; toolbar: false; notranslate">status=`ps -ef | grep tns | grep oracle | grep xe`</pre>
<p>is fixing the error and now XE listener is started automatically during boot.</p>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2012/05/15/oracle-11g-xe-listener-does-not-start-when-there-is-another-database-running/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Not able to update Web service process in APEX 4.1</title>
		<link>http://sve.to/2012/03/21/not-able-to-update-web-service-process-in-apex-4-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=not-able-to-update-web-service-process-in-apex-4-1</link>
		<comments>http://sve.to/2012/03/21/not-able-to-update-web-service-process-in-apex-4-1/#comments</comments>
		<pubDate>Wed, 21 Mar 2012 12:10:31 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[11.2]]></category>
		<category><![CDATA[apex]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[patch]]></category>
		<category><![CDATA[patchset]]></category>

		<guid isPermaLink="false">http://sve.to/?p=809</guid>
		<description><![CDATA[Last month I created a simple APEX application with enabled mobile support and latest version of jQuery, which integrates with HP Service Manager through web services. The purpose was to give option for company engineers to open and update incidents through mobile in few easy steps. The first step was to create form and report [...]]]></description>
				<content:encoded><![CDATA[<p>Last month I created a simple APEX application with enabled mobile support and latest version of jQuery, which integrates with HP Service Manager through web services. The purpose was to give option for company engineers to open and update incidents through mobile in few easy steps.</p>
<p>The first step was to create form and report by using the web service. At this point web service request process is created where authentication and input parameter are described. The problem appears if you try to change any parameter and update the web service process. This is the error:</p>
<pre class="brush: plain; title: ; notranslate"> Error error updating web service parameters
ORA-01403: no data found</pre>
<p>To fix this, one option is to apply patch <a href="https://updates.oracle.com/Orion/PatchDetails/process_form?aru=14077830">12934733</a> on top of APEX 4.1. The other option is to apply latest patch set for APEX version 4.1.1, patch number <a href="https://updates.oracle.com/Orion/PatchDetails/process_form?aru=14596535">13331096</a>.</p>
<p>At the time I got the error patch set wasn&#8217;t released yet and I went with the patch only to fix this issue. Later I&#8217;ve decided to update the APEX to latest version 4.1.1 and I&#8217;ll review the update process at glance.</p>
<p>To upgrade to APEX 4.1.1 make sure first to review the release notes <a href="http://www.oracle.com/technetwork/developer-tools/apex/application-express/411-patchset-notes-1528994.html">here</a>. The process is really simple and takes few minutes.</p>
<p>Before applying the patch make sure to prevent access to the APEX. In my case I&#8217;m using Oracle Database 11g Express Edition and I&#8217;m using Embedded PL/SQL gateway. Then apply the patch using apxpatch.sql and update the images directory. Because I&#8217;m using Express Edition, my images are stored in the XML DB repository and script apxldimg.sql has to be used to upload the new images within the repository.</p>
<p>&nbsp;</p>
<p><strong>Disabling Oracle XML DB HTTP Server:</strong></p>
<pre class="brush: plain; title: ; notranslate">SQL&gt; SELECT DBMS_XDB.GETHTTPPORT FROM DUAL;

GETHTTPPORT
-----------
 0

SQL&gt; EXEC DBMS_XDB.SETHTTPPORT(0);

PL/SQL procedure successfully completed.

SQL&gt; COMMIT;

Commit complete.

SQL&gt; SELECT DBMS_XDB.GETHTTPPORT FROM DUAL;

GETHTTPPORT
-----------
 0</pre>
<p>&nbsp;</p>
<p><strong>Run apxpatch.sql to patch the system:</strong></p>
<pre class="brush: plain; title: ; notranslate">SQL&gt; @apxpatch.sql

.......

timing for: Complete Patch
Elapsed: 00:06:25.48</pre>
<p>&nbsp;</p>
<p><strong>Updating the Images Directory When Running the Embedded PL/SQL Gateway:</strong></p>
<pre class="brush: plain; title: ; notranslate">@apxldimg.sql /tmp/patch

.......

Commit complete.

timing for: Load Images
Elapsed: 00:04:12.56

Directory dropped.</pre>
<p>&nbsp;</p>
<p><strong>Enabling Oracle XML DB HTTP Server:</strong></p>
<pre class="brush: plain; title: ; notranslate">SQL&gt; EXEC DBMS_XDB.SETHTTPPORT(8080);

PL/SQL procedure successfully completed.

SQL&gt; COMMIT;

Commit complete.</pre>
<p>&nbsp;</p>
<p>APEX is now updated to version 4.1.1</p>
<p>&nbsp;</p>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2012/03/21/not-able-to-update-web-service-process-in-apex-4-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatically backup Oracle APEX applications to Subversion</title>
		<link>http://sve.to/2012/03/12/automatically-backup-oracle-apex-applications-to-subversion/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=automatically-backup-oracle-apex-applications-to-subversion</link>
		<comments>http://sve.to/2012/03/12/automatically-backup-oracle-apex-applications-to-subversion/#comments</comments>
		<pubDate>Mon, 12 Mar 2012 09:21:42 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[apex]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://sve.to/?p=761</guid>
		<description><![CDATA[In continue of my previous posts about APEX and Subversion I made a short script using APEXExport utility to automate and backup APEX to Subversion repository. I&#8217;m using Oracle Express Edition 11.2, which by default doesn&#8217;t have the APEXExport utility. That&#8217;s why you need first to create the directory holding it and then copy the [...]]]></description>
				<content:encoded><![CDATA[<p>In continue of my previous posts about APEX and Subversion I made a short script using APEXExport utility to automate and backup APEX to Subversion repository.</p>
<p>I&#8217;m using Oracle Express Edition 11.2, which by default doesn&#8217;t have the APEXExport utility. That&#8217;s why you need first to create the directory holding it and then copy the utility there.</p>
<p>&nbsp;</p>
<p>Create destination directory holding the utility and copy APEXExport.class there:</p>
<pre class="brush: plain; title: ; notranslate">mkdir -p $ORACLE_HOME/utilities/oracle/apex</pre>
<p>&nbsp;</p>
<p>Create backup directory in the SVN project for holding the backup files:</p>
<pre class="brush: plain; title: ; notranslate">[oracle@dbsrv ~]$ svn mkdir -m &quot;Making a backup dir.&quot; http://192.168.8.34/svn/oracle/Corporate_Portal/trunk/Apex/Backup

Committed revision 33.</pre>
<p>At this point you&#8217;ll be asked for password which must be cached in order the automated backup to work correctly. The password itself is written (I assume you&#8217;re logged in with oracle user) in file in this directory: /home/oracle/.subversion/auth/svn.simple/</p>
<p>&nbsp;</p>
<p>Finally you need to decide where the backup directory will be checked out. This will be used to store all the APEX backups, which will be committed to the SVN repository:</p>
<pre class="brush: plain; title: ; notranslate">cd /oracle
svn checkout http://192.168.8.34/svn/oracle/Corporate_Portal/trunk/Apex/Backup</pre>
<p>&nbsp;</p>
<p>This is the script for automating the backup of APEX applications, because the formatting is not correct <a href="http://sve.to/wp-content/uploads/2012/03/apex_backup_v1.sh">here</a> is download link for the script:</p>
<pre class="brush: bash; title: ; notranslate">#!/bin/bash

### Automated APEX applications backup to Subversion (SVN), v1
### 2012-03-07
### Svetoslav Gyurov, http://sve.to

# Environment settings for Oracle database and Java
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export JAVA_HOME=/oracle/ora112ee/jdk

export PATH=$ORACLE_HOME/bin:$PATH
export CLASSPATH=$ORACLE_HOME/jdbc/lib/ojdbc5.jar:$ORACLE_HOME/utilities

# How many days/backups should be kept back
export RETENTION=7
export COMPRESS=0

# SVN directory for Oracle APEX
SVN_DIR=/oracle/Backup

# Get current date and oldest backup
DATE=`date +%Y%m%d`
OLDEST_BACKUP=`date --date=&quot;-${RETENTION} days&quot; +%Y%m%d`


# Change to SVN directory and export data
cd $SVN_DIR
$JAVA_HOME/bin/java oracle.apex.APEXExport -db 192.168.8.34:1522:XE -user sve -password secret -applicationid 100

exitValue=$?

# If APEXExport is successfully continue, otherwise fail with message
if [ $exitValue -eq 0 ];
then
svn update

for i in `ls -1 f*.sql`
do
if [ $COMPRESS -eq 1 ];
then
gzip $i
mv $i.gz ${DATE}_$i.gz
svn add ${DATE}_$i.gz

if [ -f ${OLDEST_BACKUP}_$i.gz ];
then
rm ${OLDEST_BACKUP}_$i.gz
svn remove ${OLDEST_BACKUP}_$i.gz
fi
else
mv $i ${DATE}_$i
svn add ${DATE}_$i

if [ -f ${OLDEST_BACKUP}_$i ];
then
rm ${OLDEST_BACKUP}_$i
svn remove ${OLDEST_BACKUP}_$i
fi
fi
done

svn commit -m &quot;Daily APEX backup completed and committed.&quot;

echo Daily APEX backup completed.

else
echo &quot;APEX applications could not be exported&quot;
fi</pre>
<p>Of course there are few parameters which need to be set. These are ORACLE_HOME, JAVA_HOME, RETENTION period defines how many backups to be kept back and COMPRESS defines whether the exported applications be compressed with gzip. Also don&#8217;t forget to change the application id, you could also put the whole workspace to be backed up.</p>
<p>&nbsp;</p>
<p>Finally put the script at the crontab:</p>
<pre class="brush: plain; title: ; notranslate">31 1 * * * /home/oracle/apex_backup.sh &gt; /dev/null 2&gt;&amp;1</pre>
<p>&nbsp;</p>
<p>To check whether the backup was successful run svn info or svn log within the backup directory or just browse the repository:</p>
<pre class="brush: plain; title: ; notranslate">cd /oracle/Backup
[oracle@dbsvn Backup]$ svn info
Path: .
URL: http://192.168.8.34/svn/oracle/Corporate_Portal/trunk/Apex/Backup
Repository Root: http://192.168.8.34/svn/oracle
Repository UUID: 40fb9d41-50a5-4b10-b803-b133fb623816
Revision: 59
Node Kind: directory
Schedule: normal
Last Changed Author: oracle
Last Changed Rev: 59
Last Changed Date: 2012-03-07 01:31:07 +0200 (Wed, 07 Mar 2012)

[oracle@dbsrv Backup]$ svn log
------------------------------------------------------------------------
r59 | oracle | 2012-03-07 01:31:07 +0200 (Wed, 07 Mar 2012) | 1 line

Daily APEX backup completed and commited.
------------------------------------------------------------------------</pre>
<p>&nbsp;</p>
<p>Feel free to modify the script for your own needs.</p>
<p>&nbsp;</p>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2012/03/12/automatically-backup-oracle-apex-applications-to-subversion/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ASM diskgroup unable to mount because of duplicate disk</title>
		<link>http://sve.to/2012/03/06/asm-diskgroup-unable-to-mount-because-of-duplicate-disk/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=asm-diskgroup-unable-to-mount-because-of-duplicate-disk</link>
		<comments>http://sve.to/2012/03/06/asm-diskgroup-unable-to-mount-because-of-duplicate-disk/#comments</comments>
		<pubDate>Tue, 06 Mar 2012 08:44:20 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[10.2]]></category>
		<category><![CDATA[asm]]></category>
		<category><![CDATA[dba]]></category>

		<guid isPermaLink="false">http://sve.to/?p=752</guid>
		<description><![CDATA[This is something I would like to share for a long time, but for one or another reason I didn&#8217;t. The error is nothing special, but then I run into very interesting case. This happen when I had to shutdown one server for maintenance and then boot it again. Once the OS started I notice [...]]]></description>
				<content:encoded><![CDATA[<p>This is something I would like to share for a long time, but for one or another reason I didn&#8217;t. The error is nothing special, but then I run into very interesting case.</p>
<p>This happen when I had to shutdown one server for maintenance and then boot it again. Once the OS started I notice that the database didn&#8217;t ran automatically. When I try to run it manually I got the following error:</p>
<pre class="brush: plain; title: ; notranslate">SQL&gt; startup
 ORA-01078: failure in processing system parameters
 ORA-01565: error in identifying file '+DATA/orcl/spfileorcl.ora'
 ORA-17503: ksfdopn:2 Failed to open file +DATA/orcl/spfileorcl.ora
 ORA-15077: could not locate ASM instance serving a required diskgroup</pre>
<p>The reason for this was that the ASM diskgroup wasn&#8217;t mounted, again I tried to mount it manually, when I got this error:</p>
<pre class="brush: plain; title: ; notranslate">SQL&gt; alter diskgroup data mount;
 alter diskgroup data mount
 *
 ERROR at line 1:
 ORA-15032: not all alterations performed
 ORA-15024: discovered duplicately numbered ASM disk 29</pre>
<p>So how could this happen as I didn&#8217;t change any of the parameter and configuration, the database was started for just three months. Running quick script with kfed:</p>
<pre class="brush: plain; title: ; notranslate">ls -1 /dev/oracle/*for i in `ls -1 /dev/oracle/*`; do echo /dev/oracle/$i; kfed read /dec/oracle/$i | grep kfdhdb.dskname; done</pre>
<p>showed me that I there are really two duplicate disks. ASM does not support disks with the same disk names, even if this is the same disk, but accessed by different path. The duplicate disk was an old disk, which wasn&#8217;t removed at the time of the change, only its filename was changed so once ASM discovers disks in the future this one would be excluded.</p>
<p>Looking at the asm_diskstring I found that it has changed to &#8216;/dev/oracle/*&#8217; and should be &#8216;/dev/oracle/orcl*&#8217; and that&#8217;s why ASM was scanning all the disks. This made me think what could happen for the time database was running and why this happen.</p>
<p>After looking at the logs and made few tests I had a conclusion. At some point when the DBA added new disks to ASM he done it through the dbca and he changed the discovery string for unknown reason. What happens in background is that dbca, implicitly is recreating the ASM parameter file with the new discovery string entered by the DBA. This is why ASM started with wrong discovery string when I rebooted the server and it discovered more disks.</p>
<p>The database ran at 26 March and a month later at 29 April new disks were added to the ASM and its parameter was recreated, almost two months later at 7 July I turned it back with correct values:</p>
<pre class="brush: plain; title: ; notranslate">-rw-r----- 1 oracle oinstall 1336 Jul 7 18:42 init.ora
-rw-r----- 1 oracle oinstall 1327 Apr 29 11:32 init.ora.662011221038</pre>
<p>Regards,<br />
Sve<span style="color: #000000; font-family: Arial; font-size: x-small;"><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2012/03/06/asm-diskgroup-unable-to-mount-because-of-duplicate-disk/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Unable to create ASM disk under OEL 6.x</title>
		<link>http://sve.to/2012/02/22/unable-to-create-asm-disk-under-oel-6-x/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=unable-to-create-asm-disk-under-oel-6-x</link>
		<comments>http://sve.to/2012/02/22/unable-to-create-asm-disk-under-oel-6-x/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 09:48:34 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[11.2]]></category>
		<category><![CDATA[asm]]></category>

		<guid isPermaLink="false">http://sve.to/?p=737</guid>
		<description><![CDATA[It was busy month and I&#8217;m behind with my blog posts. First of all Happy New Year to all of you and wish you all the best through the new year! This is a short note for installing Oracle Database with ASM under Oracle Enterprise Linux 6.x, which is not certified YET! If you are [...]]]></description>
				<content:encoded><![CDATA[<p>It was busy month and I&#8217;m behind with my blog posts. First of all Happy New Year to all of you and wish you all the best through the new year!</p>
<p>This is a short note for installing Oracle Database with ASM under Oracle Enterprise Linux 6.x,<strong> which is not certified YET</strong>!</p>
<p>If you are running ASM with ASMLib you may get the following error when try to create ASM disk:</p>
<pre class="brush: plain; title: ; notranslate">[root@db-app2 ~]# oracleasm createdisk DISK01 /dev/mapper/data01
Writing disk header: done
Instantiating disk: failed
Clearing disk header: done</pre>
<p>&nbsp;</p>
<p>Writing the header on the disk fails without obvious reason. Well, it turned out that Security Linux was blocking the access to the disk. Because configuration of SELinux is not part of the startup configuration any more I just forgot it.</p>
<p>To disable the SELinux edit file <code>/etc/selinux/config</code> and configure <code>SELINUX=disabled</code>. Then reboot your system and run getenforce to confirm that SELinux is disabled:</p>
<pre class="brush: plain; title: ; notranslate">[root@db-app2 ~]# /usr/sbin/getenforce
Disabled</pre>
<p>&nbsp;</p>
<p>The ASM disk is created successfully this time:</p>
<pre class="brush: plain; title: ; notranslate">[root@db-app2 ~]# oracleasm createdisk DISK01 /dev/mapper/data01
Writing disk header: done
Instantiating disk: done</pre>
<p>&nbsp;</p>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2012/02/22/unable-to-create-asm-disk-under-oel-6-x/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Database 11.2 bug causes huge number of alert log entries</title>
		<link>http://sve.to/2011/12/22/database-11-2-bug-causes-huge-number-of-alert-log-entries/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=database-11-2-bug-causes-huge-number-of-alert-log-entries</link>
		<comments>http://sve.to/2011/12/22/database-11-2-bug-causes-huge-number-of-alert-log-entries/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 09:25:15 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[11.2]]></category>
		<category><![CDATA[bug]]></category>

		<guid isPermaLink="false">http://sve.to/?p=725</guid>
		<description><![CDATA[Few days ago I received a call from customer about problem with their EM console and messages about file system full. They run DB 11.2.0.2 on OEL 5.7 and had only binaries installation at that file system and the database itself was using ASM. I quickly logged on to find out the file system was [...]]]></description>
				<content:encoded><![CDATA[<p>Few days ago I received a call from customer about problem with their EM console and messages about file system full. They run DB 11.2.0.2 on OEL 5.7 and had only binaries installation at that file system and the database itself was using ASM. I quickly logged on to find out the file system was really full and after looking around I figure out that all the free space was eaten by alert and trace diagnostic directories. The trace directory was full of 10MB files and the alertlog file was quick growing with following messages:</p>
<pre class="brush: plain; title: ; notranslate"> WARNING: failed to read mirror side 1 of virtual extent 2917 logical extent 0 of file 271 in group [1.2242406296] from disk DATA_0000 allocation unit 24394 reason error; if possible,will try another mirror side
Errors in file /oracle/app/oracle/diag/rdbms/baandb/baandb/trace/baandb_ora_17785.trc:
WARNING: Read Failed. group:1 disk:0 AU:24394 offset:1007616 size:8192
WARNING: failed to read mirror side 1 of virtual extent 2917 logical extent 0 of file 271 in group [1.2242406296] from disk DATA_0000 allocation unit 24394 reason error; if possible,will try another mirror side
Errors in file /oracle/app/oracle/diag/rdbms/baandb/baandb/trace/baandb_ora_17785.trc: </pre>
<p>At first I though there is a storage problem, but looking at the ASM views everything seemed to be all right and these seemed to be false messages. I deleted all the trace files, but then few minutes later the file system became again full. It turned out that generated log per minute were more than 60MBor around 7GB for two hours, because of this huge number of messages the machine was already loaded.</p>
<p>Then after quick MOS search I found that this is a <em>Bug 10422126: FAILED TO READ MORROR SIDE 1 </em>and there is a 70KB patch for 11.2.0.2.</p>
<p>The following MOS notes are also useful:<br />
WARNING: &#8216;Failed To Read Mirror Side 1&#8242; continuously reported in the alert log [ID 1289905.1]<br />
Huge number of alert log entries: &#8216;WARNING: IO Failed&#8230;&#8217; &#8216;WARNING: failed to read mirror side 1 of virtual extent &#8230;&#8217; [ID 1274852.1]</p>
<p>After applying the patch everything became normal and no more false messages appeared in the logs. The bug is fixed in 11.2.0.3.</p>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2011/12/22/database-11-2-bug-causes-huge-number-of-alert-log-entries/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Troubleshooting ASM 11.2 disk discovery</title>
		<link>http://sve.to/2011/12/14/troubleshooting-asm-11-2-disk-discovery/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=troubleshooting-asm-11-2-disk-discovery</link>
		<comments>http://sve.to/2011/12/14/troubleshooting-asm-11-2-disk-discovery/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 10:23:08 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[hp-ux]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[asm]]></category>
		<category><![CDATA[lvm]]></category>

		<guid isPermaLink="false">http://sve.to/?p=665</guid>
		<description><![CDATA[I was doing some installation at customer site when they asked if there anything specific to run GI 11.2 on HP-UX as this was their first interaction with 11g. Of course I replied that there is nothing specific, just to make sure the ownership of the raw disk is correct and had a correct ASM [...]]]></description>
				<content:encoded><![CDATA[<p>I was doing some installation at customer site when they asked if there anything specific to run GI 11.2 on HP-UX as this was their first interaction with 11g. Of course I replied that there is nothing specific, just to make sure the ownership of the raw disk is correct and had a correct ASM discovery string. They said that this is all done as it&#8217;s written in the documentation, but disks could not be discovered. This made me curious and asked them to log me in the system so I could have a look.</p>
<p>The system was running latest HP-UX 11.31 and we were going to install Oracle GI 11.2.0.2, the LUN was presented from HP EVA storage.</p>
<p>I couldn&#8217;t believe what they are saying and wanted them to show me what exactly they are doing. Unfortunately they were correct, after installing GI 11.2.0.2 software only, we tried to create an asm instance with <em>asmca</em>, but no disks were discovered although everything looked correct.</p>
<p>While I was looking around I remembered that the disk owner patch in HP-UX is a mandatory and it should be installed as the installation guide says this explicitly. I asked the customer and he said that all the required patches are installed, but when I checked the patch wasn&#8217;t  installed. The patch number as per installation guide is PHCO_41479, but the latest version is PHCO_41903. Also running kfed against disk on system on which the patch is not installed shows following:</p>
<pre class="brush: plain; gutter: false; title: ; toolbar: false; notranslate">KFED-00322: Invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0]</pre>
<p>I installed the patch and double checked everything and thought that this could be the reason why we are not seeing the disk, so I try to discover the disk, but again without success. The disk couldn&#8217;t be seen at ASM so I had to go deeper and see what <em>asmca</em> was actually doing. For the purpose I had to trace the system calls and for HP-UX the utility capable of doing this was <a href="http://hpux.connect.org.uk/hppd/hpux/Sysadmin/tusc-8.1/">tusc</a>. There is MOS note describing how to trace systems call and what utilities should be used with different unix distributions [ ID 110888.1].</p>
<p>I run asmca and then using tusc got attached to its process, then changed the discovery string, pointing exactly to the disk I would like to use (in my case /dev/rdisk/disk3). So this is the paragraph which makes sense to me:</p>
<pre class="brush: plain; highlight: [9,13]; title: ; notranslate">
access(&quot;/dev/rdisk/disk3&quot;, W_OK|R_OK) ........................................................................... = 0
.......
open(&quot;/dev/rdisk/disk3&quot;, O_RDONLY|O_NDELAY|0x800, 0) ............................................................ = 7
lseek(7, 8192, SEEK_SET) ........................................................................................ = 8192
read(7, &quot;L V M R E C 0 1 \r/ % aeN e2\va0&quot;.., 1024) ............................................................. = 1024
lseek(7, 73728, SEEK_SET) ....................................................................................... = 73728
read(7, &quot;L V M R E C 0 1 \r/ % aeN e2\va0&quot;.., 1024) ............................................................. = 1024
close(7) ........................................................................................................ = 0
</pre>
<p>The disk is first successfully tested for read and write access and it&#8217;s opened for read-only in non-blocking mode. Then first 1024 bytes are read from offset 8192 from /dev/rdisk/disk3. This looked like a LVM header, AHA! So it seems that the disk was once used as LVM Physical Volume. Although the disk is not part of any volume group it has a LVM header and that&#8217;s why asmca it not showing this disk as CANDIDATE. It turned out that storage admins did not recreate the virtual disk on the storage, but the LUN was once used for LVM on another server.</p>
<p>After doing dd on the disk now the header looks better and disk could be seen as CANDIDATE:</p>
<pre class="brush: bash; gutter: false; title: ; toolbar: false; notranslate">oracle@vm:/$ dd if=/dev/zero of=/dev/rdisk/disk3 bs=1024k count=10</pre>
<p>Now tusc output shows that header is filled with zeros:</p>
<pre class="brush: plain; gutter: false; title: ; toolbar: false; notranslate">
read(7, &quot;&#92;&#48;&#92;&#48;&#92;&#48;&#92;&#48;&#92;&#48;&#92;&#48;&#92;&#48;&#92;&#48;&#92;&#48;&#92;&#48;&#92;&#48;&#92;&#48;&#92;&#48;&#92;&#48;&#92;&#48;&#92;&#48;&quot;.., 1024) ........................................................ = 1024
</pre>
<p>Just for troubleshooting purpose I try to read the disk header with kfed, before and after showed the same error:</p>
<pre class="brush: plain; gutter: false; title: ; toolbar: false; notranslate">
KFED-00322: file not found; arguments: [kfbtTraverseBlock] [Invalid OSM block type] [] [0]
</pre>
<p>If you are not sure whether the disk contains valuable information you could import the physical volume and activate the volume group. In my case I was sure that the disk should be deleted and simple dd do the job.</p>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2011/12/14/troubleshooting-asm-11-2-disk-discovery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>BGOUG starts tomorrow</title>
		<link>http://sve.to/2011/11/17/bgoug-starts-tomorrow/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bgoug-starts-tomorrow</link>
		<comments>http://sve.to/2011/11/17/bgoug-starts-tomorrow/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 15:55:01 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[bgoug]]></category>

		<guid isPermaLink="false">http://sve.to/?p=659</guid>
		<description><![CDATA[It&#8217;s less than a day, tomorrow starts the Bulgarian Oracle User Group (BGOUG) conference. I&#8217;ve been looking for so long for this conference as I missed OOW this year. The conference will took place at Hisarya (near Plovdiv) for three days where there are session only at Friday and Saturday. We are proud that the [...]]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s less than a day, tomorrow starts the Bulgarian Oracle User Group (BGOUG) conference. I&#8217;ve been looking for so long for this conference as I missed OOW this year. The conference will took place at Hisarya (near Plovdiv) for three days where there are session only at Friday and Saturday. We are proud that the conference will host seven Oracle ACE Directors and two Oracle ACEs.</p>
<p>I&#8217;m looking forward to meet and have a chat with these great people, of course with a lot of friends and have a nice and relaxing weekend.</p>
<p>This is the <a href="http://www.bgoug.org/en/events/details/86.html">link</a> to the conference event.</p>
<p>See you there <img src='http://sve.to/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2011/11/17/bgoug-starts-tomorrow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuring PHP with Oracle support on Oracle Enterprise Linux</title>
		<link>http://sve.to/2011/11/17/configuring-php-with-oracle-support-on-oracle-enterprise-linux/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=configuring-php-with-oracle-support-on-oracle-enterprise-linux</link>
		<comments>http://sve.to/2011/11/17/configuring-php-with-oracle-support-on-oracle-enterprise-linux/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 08:02:10 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[apache]]></category>

		<guid isPermaLink="false">http://sve.to/?p=638</guid>
		<description><![CDATA[In case you need to run PHP with Oracle support this is how to do it with Oracle Enterprise Linux 5.x. I assume that Apache and PHP are already installed. First you need to download the source of latest version of oci8 driver, here. Also you need to download and install the latest version of [...]]]></description>
				<content:encoded><![CDATA[<p>In case you need to run PHP with Oracle support this is how to do it with Oracle Enterprise Linux 5.x. I assume that Apache and PHP are already installed.</p>
<p>First you need to download the source of latest version of oci8 driver, <a href="http://pecl.php.net/package/oci8">here</a>. Also you need to download and install the latest version of Oracle Instant Client Packages &#8211; Basic and SDK, <a href="http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html">here</a>.</p>
<p>The next step is to install both packages on the system:</p>
<pre>rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm</pre>
<p>&nbsp;</p>
<p>After installing the instant client, you have to build the oci8:</p>
<pre>tar xfzv oci8-1.4.6.tgz
cd oci8-1.4.6
phpize
./configure -with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib
make install</pre>
<p>Module will be installed in PHP modules directory, which is /usr/lib64/php/modules/.</p>
<p>Edit php.init and add the following line to make oci8 driver to be loaded by PHP:<br />
extension=oci8.so</p>
<p>After restarting the web server,  you now have Oracle support enabled in PHP. Oracle support could be tested from command line without restarting the web server, with this simple script:</p>
<p>cat &gt; /tmp/oracle.php</p>
<pre>&lt;?php
$username = "scott";
$passwd = "tiger";
$db="(DESCRIPTION=
           (ADDRESS_LIST=
             (ADDRESS=(PROTOCOL=TCP)
               (HOST=192.168.8.36)(PORT=1521)
             )
           )
             (CONNECT_DATA=(SERVICE_NAME=orcl))
      )";
$conn = OCILogon($username,$passwd,$db);
if (!$conn)
{
    echo "Connection failed";
    echo "Error Message: [" . OCIError($conn) . "]";
    exit;
}
else
{
    echo "Connected!";
}</pre>
<p>&nbsp;</p>
<p>Running the script shows that it is connecting successfully to the database:</p>
<pre>[root@app tmp]# php oracle.php
Connected!</pre>
<p>&nbsp;</p>
<p>There is also manual at PHP for installation and configuration of OCI8, which could be found <a href="http://php.net/manual/en/oci8.installation.php">here</a>.</p>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2011/11/17/configuring-php-with-oracle-support-on-oracle-enterprise-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to integrate Oracle SQL Data Modeler with Subversion</title>
		<link>http://sve.to/2011/11/15/how-to-integrate-oracle-sql-data-modeler-with-subversion/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-integrate-oracle-sql-data-modeler-with-subversion</link>
		<comments>http://sve.to/2011/11/15/how-to-integrate-oracle-sql-data-modeler-with-subversion/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 16:50:52 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://sve.to/?p=630</guid>
		<description><![CDATA[It&#8217;s not necessary to work on a big project to use SVN. Keeping your design into SVN repository is very useful and good practice. By doing so you could easily see what changes you&#8217;ve made to the design and in case of accident you could restore any older version and correct the problem. After you [...]]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s not necessary to work on a big project to use SVN. Keeping your design into SVN repository is very useful and good practice. By doing so you could easily see what changes you&#8217;ve made to the design and in case of accident you could restore any older version and correct the problem.</p>
<p>After you successfully setup Subversion (<a href="http://sve.to/2011/11/01/setup-subversion-on-oracle-enterprise-linux/">here</a>) it&#8217;s time to start integrating tools with SVN. Integration of Oracle SQL Data Modeler is really easy and it&#8217;s done in few simple steps:</p>
<p>1. Integrated Oracle SQL Data Modeler with SVN:<br />
Start Oracle SQL Data Modeler<br />
Go to View -&gt; Team -&gt; Versioning Navigator<br />
At the Versioning Navigator window, right click on Subversion and then New Repository Connection.<br />
Populate the fileds at new window Create Subversion Connection with repository URL, username, password and name for the repository.</p>
<p>2. Import files to the repository:<br />
Once configured you have to import all the files on which you are working, including the database design to the repository. For this purpose you could use Data Modeler itself, but I prefer <a href="http://tortoisesvn.net/">TortoiseSVN</a> to create the repository structure and then import all the files in it. As I mention in preventions <a href="http://sve.to/2011/11/01/setup-subversion-on-oracle-enterprise-linux/">post</a>, the best practice is to create three directories trunk, branch and tags and then import your working directories to trunk.</p>
<p>When these files are imported you should delete them from your hard drive and checkout the same files from the repository so you have a working copy.</p>
<p>3. Start using Oracle SQL Data Modeler and SVN:<br />
Checking out from the repository could be done by TortoiseSVN or by Oracle SQL Data Modeler -&gt; Versioning menu -&gt; Checkout. Once you have a working copy you could open the design and start working on it.</p>
<p>Next time you make a change and save the design you&#8217;ll be able to commit these changes to the repository, again by going to Versioning menu and then Commit. Using comments is also good idea so you could easily track when and what changes you&#8217;ve made to the design.</p>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2011/11/15/how-to-integrate-oracle-sql-data-modeler-with-subversion/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Cannot apply BP10 to Oracle Database 11.2.0.2 on Windows Server 2008 R2</title>
		<link>http://sve.to/2011/11/09/cannot-apply-bp10-to-oracle-database-11-2-0-2-on-windows-server-2008-r2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cannot-apply-bp10-to-oracle-database-11-2-0-2-on-windows-server-2008-r2</link>
		<comments>http://sve.to/2011/11/09/cannot-apply-bp10-to-oracle-database-11-2-0-2-on-windows-server-2008-r2/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 12:25:10 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[11.2]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://sve.to/?p=440</guid>
		<description><![CDATA[This happened to be when I tryed to apply Bundle Patch 10 of Oracle Database 11.2.0.2 on Windows 2008, but I guess it could happen to any 11.x database version. I decided to apply this patch after I stepped the bug in which the heap memory is exhausted because of an CVU health checks (I [...]]]></description>
				<content:encoded><![CDATA[<p>This happened to be when I tryed to apply Bundle Patch 10 of Oracle Database 11.2.0.2 on Windows 2008, but I guess it could happen to any 11.x database version. I decided to apply this patch after I stepped the bug in which the heap memory is exhausted because of an CVU health checks (I described it <a href="http://sve.to/?p=448">here</a>).</p>
<p><strong>After running opatch apply I got that the following files are still active:</strong><br />
d:\app\11.2.0\grid\bin\oraclient11.dll<br />
d:\app\11.2.0\grid\bin\orageneric11.dll<br />
d:\app\11.2.0\grid\bin\orapls11.dll<br />
d:\app\11.2.0\grid\bin\oracommon11.dll<br />
d:\app\11.2.0\grid\bin\oci.dll<br />
d:\app\11.2.0\grid\bin\orahasgen11.dll<br />
d:\app\11.2.0\grid\bin\oraocr11.dll<br />
d:\app\11.2.0\grid\bin\oraocrb11.dll<br />
d:\app\11.2.0\grid\bin\oraocrutl11.dll<br />
d:\app\11.2.0\grid\bin\mDNSResponder.exe<br />
d:\app\11.2.0\grid\bin\ocssd.exe<br />
d:\app\11.2.0\grid\bin\cssdagent.exe<br />
d:\app\11.2.0\grid\bin\cssdmonitor.exe<br />
d:\app\11.2.0\grid\bin\evmd.exe<br />
d:\app\11.2.0\grid\bin\evmlogger.exe<br />
d:\app\11.2.0\grid\bin\gipcd.exe<br />
d:\app\11.2.0\grid\bin\gpnpd.exe<br />
d:\app\11.2.0\grid\bin\octssd.exe</p>
<p>It&#8217;s unlikely to have something running, because I have stopped all GI processes. Again to find out which is the process holding the dll&#8217;s I&#8217;ve used <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">ProcessExplorer</a>. It seemed that process WmiPrvSE.exe had the dlls open:</p>
<p><a href="http://sve.to/wp-content/uploads/2011/09/2011090705.png"><img class="alignnone size-full wp-image-515" title="wmiprvse process to lock oracle dlls" src="http://sve.to/wp-content/uploads/2011/09/2011090705.png" alt="" width="746" height="467" /></a></p>
<p>Description of WMI:<br />
<em>The wmiprvse.exe file is otherwise known as Windows Management Instrumentation. It is a Microsoft Windows-based component that provides control and information about management in an enterprise environment. Developers use the wmiprvse.exe file in order to develop applications used for monitoring purposes</em>.</p>
<p>For some reason WMI is holding the CRS dlls. Stop the WMI service or kill the process and this should release the lock on the drivers and allow the opatch to proceed.</p>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2011/11/09/cannot-apply-bp10-to-oracle-database-11-2-0-2-on-windows-server-2008-r2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setup Subversion on Oracle Enterprise Linux</title>
		<link>http://sve.to/2011/11/01/setup-subversion-on-oracle-enterprise-linux/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=setup-subversion-on-oracle-enterprise-linux</link>
		<comments>http://sve.to/2011/11/01/setup-subversion-on-oracle-enterprise-linux/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 09:39:04 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[apex]]></category>
		<category><![CDATA[dba]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://sve.to/?p=589</guid>
		<description><![CDATA[As I mentioned in my previous post I&#8217;m using Subversion to keep my SQL design, APEX application and all application serving files. Concurrent Versions System are not something new and they are must for big projects. Although I&#8217;m single person, I&#8217;m finding SVN very useful for many reasons: All my files are kept at one [...]]]></description>
				<content:encoded><![CDATA[<p>As I mentioned in my previous post I&#8217;m using Subversion to keep my SQL design, APEX application and all application serving files. Concurrent Versions System are not something new and they are must for big projects. Although I&#8217;m single person, I&#8217;m finding SVN very useful for many reasons:</p>
<ul>
<li>All my files are kept at one place. At any time I could checkout the whole application and deploy it on different server.</li>
<li>I have a history (revisions) of my changes. If I know something worked yesterday I could just checkout the file from yesterday and get it working.</li>
<li>Using APEXExport I&#8217;m doing daily backups of my applications.</li>
<li>Oracle SQL Developer and SQL Data Modeler are easy to integrate with SVN.</li>
<li>When the time comes, I&#8217;ll create a branch, stable version of my application, by doing so I&#8217;ll have at any time a working and stable copy of my application.</li>
<li>Having branches I could still develop and improve the application itself, if a bug appears I&#8217;ll be fixing it in the branch not in the main version (trunk).</li>
<li>At any time more people could join the project and this would not stop the development process.</li>
</ul>
<p>Just saw today, that <a href="http://awads.net/wp/">Eddie Award</a> retweeted <a title="Permanent Link to Subversion Best Practices: Repository Structure" href="http://blogs.wandisco.com/2011/10/24/subversion-best-practices-repository-structure/" rel="bookmark">Subversion Best Practices: Repository Structure</a>, so I recommend you to get familiar with SVN first, before start using it.</p>
<p>Usually I&#8217;m using Debian for CVS systems, but in this case I&#8217;m installing Subversion on OEL 5.6, the procedure is the same for OEL 6.x.</p>
<p>First of all you need to install web server and svn packages. Assuming you have a configured repository, this is how to installed the packages:<br />
yum install httpd mod_dav_svn subversion</p>
<p>If you want to change specific parameters you could edit Apache configuration file /etc/httpd/conf.d/httpd.conf, otherwise it&#8217;s not necessary.</p>
<p>Next you configure the SVN repository and authentication, the repository itself will be created next.</p>
<p><strong>Edit file vi /etc/httpd/conf.d/subversion.conf and paste following:</strong><br />
&lt;Location /svn&gt;<br />
DAV svn<br />
SVNParentPath /var/www/svn<br />
SVNListParentPath on<br />
SVNIndexXSLT &#8220;/repos-web/view/repos.xsl&#8221;<br />
AuthType Basic<br />
AuthName &#8220;Oracle Repository authentication required&#8221;<br />
AuthUserFile /etc/httpd/conf.d/svn.users<br />
Require valid-user<br />
&lt;/Location&gt;</p>
<p><strong>Create users who can access the repository:</strong><br />
htpasswd -cm /etc/httpd/conf.d/svn.users oracle<br />
New password:<br />
Re-type new password:<br />
Adding password for user oracle<br />
[root@db ~]# cat /etc/httpd/conf.d/svn.users<br />
oracle:$apr1$9t19J&#8230;$hCF2GJTlizZfnPjKyk9rk/</p>
<p><strong>Create the SVN repository:</strong><br />
mkdir /var/www/svn/<br />
cd /var/www/svn/<br />
svnadmin create oracle<br />
chown -R apache:apache oracle</p>
<p><strong>Finally restart apache and make sure it starts after reboot:</strong><br />
/etc/init.d/httpd restart<br />
chkconfig httpd on</p>
<p><strong>Troubleshooting:</strong><br />
In case you see the following error then most probably you&#8217;ve omitted the SVNListParentPath parameter:<br />
Could not fetch resource information.  [403, #0]<br />
(2)No such file or directory: The URI does not contain the name of a repository.  [403, #190001]</p>
<p>These is also an issue if you use SVNListParentPath and AuthzSVNAccessFile, bug description and workaround could be found <a href="http://subversion.tigris.org/issues/show_bug.cgi?id=2753">here.</a></p>
<p><strong>Conclusion:</strong><br />
Now you are ready to create you&#8217;re first project and start using SVN to maintain the source code of your applications. Given the example, the access URL would be <em>http://hostname/svn/oracle</em> or locally <em>svn info file:///var/www/svn/oracle/</em>. For maintaining the code you could use <a href="http://tortoisesvn.net/">TortoiseSVN</a>, which is excellent client for Windows.</p>
<p>The parameter I specified early SVNIndexXSLT will define the repository style once opened in a web browser. In my case I used a package called repo-style, which could be found <a href="http://reposstyle.com/">here</a>.</p>
<p>This is how my repository looks like:</p>
<p><a href="http://sve.to/wp-content/uploads/2011/11/2011110103.png"><img class="alignnone size-full wp-image-616" title="Accessing repository through the web" src="http://sve.to/wp-content/uploads/2011/11/2011110103.png" alt="" width="612" height="215" /></a></p>
<p>plus the repository history looks really cool <img src='http://sve.to/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://sve.to/wp-content/uploads/2011/11/2011110104.png"><img class="alignnone size-full wp-image-617" title="SVN repository history" src="http://sve.to/wp-content/uploads/2011/11/2011110104.png" alt="" width="612" height="215" /></a></p>
<p>It&#8217;s much better than the default one:</p>
<p><a href="http://sve.to/wp-content/uploads/2011/11/2011110102.png"><img class="alignnone size-full wp-image-618" title="SVN Repository for Oracle without style" src="http://sve.to/wp-content/uploads/2011/11/2011110102.png" alt="" width="612" height="215" /></a></p>
<p>&nbsp;</p>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2011/11/01/setup-subversion-on-oracle-enterprise-linux/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Why I like Oracle Application Express</title>
		<link>http://sve.to/2011/10/27/why-i-like-oracle-application-express/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=why-i-like-oracle-application-express</link>
		<comments>http://sve.to/2011/10/27/why-i-like-oracle-application-express/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 12:23:26 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[apex]]></category>
		<category><![CDATA[dba]]></category>

		<guid isPermaLink="false">http://sve.to/?p=577</guid>
		<description><![CDATA[Few years ago when I was Linux system administrator I already knew PHP and I used it to create monitoring scripts for the servers and services that I was responsible for. They were really simple application which I kept open in a browser window and integrated javascript to alert me in case some service goes [...]]]></description>
				<content:encoded><![CDATA[<p>Few years ago when I was Linux system administrator I already knew PHP and I used it to create monitoring scripts for the servers and services that I was responsible for. They were really simple application which I kept open in a browser window and integrated javascript to alert me in case some service goes down. The web design wasn&#8217;t my strong side, I guess people are born with it, but for my applications these were enough, although they were not as fancy and beautiful as I wanted to be. Then I start coding ASNI C (as a SA this is a must), created some client-server applications, loading data in MySQL and displaying it with PHP. Both PHP/C are much similar and programming in one of them clearly sets your mind of thinking in a way that it&#8217;s very easy to start the other. As system administrator I really liked using Bash, PHP, C for my daily duties. Writing applications, automating few process and protectively monitoring the systems, these kept my brain busy, made me think for new ideas and approaches and especially learned new things, I felt really positive and useful.</p>
<p>Now I&#8217;m an Oracle DBA, although I still do some SA and apart from my daily duties, I wanted to feel the same way. To create something that will be useful and make me satisfied, to learn new things. During the six years within this company, I saw a lot of things and found the company is missing a centralised tool for managing company assets, car park, people contacts details, certificates and more. I felt that this could be a chance to be useful and create let&#8217;s say corporate portal, integrate it with AD and have people use it.  I thought that Oracle APEX is the perfect fit for this case and perfect for me to learn APEX.</p>
<p>I&#8217;m pretty sure there are a lot of brilliant developers out there and I do not tend to call myself developer, but personally I feel like APEX is the development tool for me as an Oracle DBA. The very first moment I created and run my first application in APEX, I felt the same was as I was feeling back when I was writing PHP/C applications, I wanted to learn more. I got few books, read forums and online docs, but I think that the main progress I made with APEX was because I had an idea to follow.</p>
<p>Now, few months later I feel prepared to start developing corporate portal for the company needs. I&#8217;ve created SVN repo for this project, integrated SQL Data Modeler with SVN, created backup script with APEXExport and SVN, integrated APEX with Microsoft AD (both auth and load users from it), integrated it with Jasper for PDF reports, put some fancy jQuery for pulling data and at after all APEX is using Oracle Database. As I said, I do not tend to call myself developer, but as an Oracle DBA, I feel great and thankful that I can use APEX to create and support company applications.</p>
<p>That&#8217;s why I like Oracle APEX.</p>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2011/10/27/why-i-like-oracle-application-express/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Installing Oracle Enterprise Manager Cloud Control 12 on OEL 6.1</title>
		<link>http://sve.to/2011/10/07/installing-oracle-enterprise-manager-cloud-control-12-on-oel-6-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=installing-oracle-enterprise-manager-cloud-control-12-on-oel-6-1</link>
		<comments>http://sve.to/2011/10/07/installing-oracle-enterprise-manager-cloud-control-12-on-oel-6-1/#comments</comments>
		<pubDate>Fri, 07 Oct 2011 14:34:04 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[11.2]]></category>
		<category><![CDATA[em12c]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://sve.to/?p=548</guid>
		<description><![CDATA[Few days ago Oracle announced the release of Oracle Enterprise Manager Cloud Control 12c. I tried to summarize most of the information in my post so I&#8217;ll not discuss any details here, but I&#8217;ll go only with few details regarding EM12c installation. For the purpose I have setup a VMWare virtual machine with 2 CPUs, [...]]]></description>
				<content:encoded><![CDATA[<p>Few days ago Oracle announced the release of Oracle Enterprise Manager Cloud Control 12c. I tried to summarize most of the information in my <a href="http://sve.to/2011/10/04/oracle-announces-enterprise-manager-12c/">post</a> so I&#8217;ll not discuss any details here, but I&#8217;ll go only with few details regarding EM12c installation.</p>
<p>For the purpose I have setup a VMWare virtual machine with 2 CPUs, 4GB RAM and 32 GB HDD, one network interface. Installed Oracle Enterprise Linux 6.1 (64 bit) with following parameters:</p>
<ul>
<li>Perform custom disk layout, I dedicated 4GB for swap and the rest for the root (/) file system and formatted it with ext4.</li>
<li>Perform default installation, needed packages will be installed later.</li>
<li>Set hostname, timezone and root password.</li>
<li>After installation disable the firewall and most of some of the services, like IPV6.</li>
</ul>
<p>After installation the network adapter won&#8217;t be available that why you have to install several packages and then compile the VMWare tools. Insert the installation DVD/ISO and install the following packages:</p>
<pre>mount /dev/cdrom /mnt
rpm -ivh -ivh gcc-4.4.5-6.el6.x86_64.rpm cloog-ppl-0.15.7-1.2.el6.x86_64.rpm cpp-4.4.5-6.el6.x86_64.rpm glibc-devel-2.12-1.25.el6.x86_64.rpm
glibc-headers-2.12-1.25.el6.x86_64.rpm kernel-uek-headers-2.6.32-100.34.1.el6uek.x86_64.rpm ppl-0.10.2-11.el6.x86_64.rpm
mpfr-2.4.1-6.el6.x86_64.rpm kernel-uek-devel-2.6.32-100.34.1.el6uek.x86_64.rpm
umount /dev/cdrom</pre>
<p>Then disconnect the drive and from the console go to VM-&gt;Guest-&gt;Install/Upgrade VMWare Tools, then install the guest additions:</p>
<pre>cp /mnt/VMwareTools-8.3.2-257589.tar.gz /tmp
umount /mnt
cd /tmp
tar xfz VMwareTools-8.3.2-257589.tar.gz
cd vmware-tools-distrib
./vmware-install.pl</pre>
<p>At this point you should be able to configure the network interfaces.</p>
<p>Before starting the installation, download the packages from <a href="http://www.oracle.com/technetwork/oem/grid-control/downloads/index.html">OTN</a> and transfer them to the server. The installation consist of two zip packages, which are 5.5GB total, but this includes Oracle Weblogic Server 10.3.5, which is installed by default from the wizard.</p>
<p>&nbsp;</p>
<h5>Oracle Enterprise Manager Cloud Control 12c installation prerequisites</h5>
<p>For the installation of Enterprise Manager Cloud Control I&#8217;m following the documentation:<br />
<a title="http://download.oracle.com/docs/cd/E24628_01/install.121/e22624/toc.htm" href="http://download.oracle.com/docs/cd/E24628_01/install.121/e22624/toc.htm" rel="nofollow">Oracle® Enterprise Manager Cloud Control Basic Installation Guide 12c Release 1 (12.1.0.1)</a></p>
<p>1. From Oracle Database 10.2.0.5 onwards, all versions are certified for Management Repository. The last two releases 11.2.0.2 and 11.2.0.3 do not need additional patches for it to be configured successfully. For the rest of the version additional patches are needed, refer to MOS for more information.</p>
<p>Except the support for Management Repository few more parameters are needed to be set. They could be set before or after the installation. For setting database initialization parameters refer to <a href="http://download.oracle.com/docs/cd/E24628_01/install.121/e22624/appdx_about_emprereqkit.htm#CIHHBGFD">Table-6</a> or <a href="http://download.oracle.com/docs/cd/E24628_01/install.121/e22624/appdx_about_emprereqkit.htm#CIHJHBGH">Table-7</a> from Appendix A at the documentation.</p>
<p>Once you are ready you could run the <a href="http://download.oracle.com/docs/cd/E24628_01/install.121/e22624/appdx_about_emprereqkit.htm#CIHDHCDF">EM Prerequisite Kit</a> which is run by the wizard during the installation.</p>
<p>2. According to the Oracle <a href="http://download.oracle.com/docs/cd/E24628_01/install.121/e22624/preinstall_req_hw.htm#BACDDAAC">documentation</a> for small environment, you need following servers parameters:<br />
For the OMS: 2 CPUs, 4 GB RAM and 7 GB space excluding the installation which is 5.5 GB.<br />
For the Management Repository: 2 CPUs, 2 GB RAM and 50 GB space.</p>
<p>3. Packages and kernel parameters required for OMS:<br />
The following packages should be installer, either from ISO or from public yum server:</p>
<p>yum install make.x86_64 binutils.x86_64 libaio.x86_64 glibc-common.x86_64 libstdc++.x86_64 sysstat.x86_64 glibc-devel.i686 glibc-devel.x86_64</p>
<p>The shmmax kernel parameter should be set to value bigger than 4GB. In OEL 6.1 this parameter is far beyond and it&#8217;s set to 64GB. Its current value could be retrieved by following command:</p>
<p><code>cat /proc/sys/kernel/shmmax</code></p>
<p>4. Create group and user for the installation of Enterprise Manager 12c<br />
The installation could not be done by root and oracle user has to be created. I&#8217;m using the same group id and user id as they would be created by oracle-validated package (which is not yet available for OEL 6.x).</p>
<p>groupadd -g 54321 oinstall<br />
useradd -u 54321 -g oinstall -s /bin/bash -d /home/oracle -m oracle<br />
passwd oracle</p>
<p>5. Configure limits.conf file:<br />
The following two parameter has to be set in /etc/security/limits.conf file<br />
oracle soft nofile 4096<br />
oracle hard nofile 4096</p>
<p>&nbsp;</p>
<h5>Oracle Enterprise Manager Cloud Control 12c installation</h5>
<p>Proceed with default installation and following the installation wizard.</p>
<p>If the wizard gives you warning at &#8220;Checking whether required GLIBC installed on system&#8221; although you have installed all the prerequisites you could ignore the warning. The installer is checking whether the package glibc-devel.i386 is installed, but you have already installed glibc-devel.<strong>i686</strong>.</p>
<p>Supply the repository details and please be sure to check whether the database control doesn&#8217;t exists. Otherwise you&#8217;ll get an error after supplying the database credentials to drop the database control of the repository database:<br />
$ORACLE_HOME/bin/emca -deconfig dbcontrol db -repos drop -SYS_PWD &lt;sys_password&gt; -SYSMAN_PWD &lt;sysman_password&gt;</p>
<p>Once the installation is complete you&#8217;ll get a screen with installation summary and details how to access the console.</p>
<p>Then you could login and select default home page. This is how the console look like:</p>
<p><a href="http://sve.to/wp-content/uploads/2011/10/2011100432.png"><img class="alignnone size-full wp-image-563" title="Oracle Enterprise Manager 12c" src="http://sve.to/wp-content/uploads/2011/10/2011100432.png" alt="" width="691" height="432" /></a></p>
<p>&nbsp;</p>
<p>Meanwhile I just saw two useful installation guides:</p>
<ul>
<li><a href="http://martincarstenbach.wordpress.com/2011/10/07/installing-oracle-enterprise-manager-12c-on-ol-5-7/">Installing Oracle Enterprise Manager 12c on OL 5.7</a> by Martin Bach</li>
<li><a href="http://www.gokhanatil.com/2011/10/howto-install-oracle-enterprise-manager.html">How to Install Oracle Enterprise Manager Cloud Control 12c</a> by Gokhan Atil</li>
</ul>
<p>&nbsp;</p>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2011/10/07/installing-oracle-enterprise-manager-cloud-control-12-on-oel-6-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle announces Enterprise Manager Cloud Control 12c</title>
		<link>http://sve.to/2011/10/04/oracle-announces-enterprise-manager-12c/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=oracle-announces-enterprise-manager-12c</link>
		<comments>http://sve.to/2011/10/04/oracle-announces-enterprise-manager-12c/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 08:19:22 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[em12c]]></category>
		<category><![CDATA[oow]]></category>

		<guid isPermaLink="false">http://sve.to/?p=537</guid>
		<description><![CDATA[Yesterday at Open World, Oracle announced the release of Enterprise Manager Cloud Control 12c release 1 (version 12.1.0.1), where c stand for cloud. EM12c is a management solution providing centralised monitoring, administration, and lifecycle management functionality for the complete IT infrastructure. A lot of organisations deploy private cloud environments to offer great flexibility to business [...]]]></description>
				<content:encoded><![CDATA[<p>Yesterday at Open World, Oracle announced the release of Enterprise Manager Cloud Control 12c release 1 (version 12.1.0.1), where c stand for cloud. EM12c is a management solution providing centralised monitoring, administration, and lifecycle management functionality for the complete IT infrastructure.</p>
<p>A lot of organisations deploy private cloud environments to offer great flexibility to business users and meet SLAs and security requirements. The Oracle response to these demands is Oracle Enterprise Manager Cloud Control 12c which offers complete life cycle cloud management &#8211; setup, deliver and manage clouds.</p>
<p>Once deployed IT must first setup the cloud infrastructure by defining share storage pools and compute resources. Administrators could also design a catalogue of virtual machines, assemblies, databases and applications and publish it.</p>
<p>It allows administrators to monitor usage, setup metering and chargeback for users, manage deployed applications, manage assets, link applications to MOS. It also allows quick to identify, diagnose and resolve incidents from a single console.</p>
<p><strong> Keynotes:</strong></p>
<ul>
<li>The <a href="http://www.oracle.com/us/corporate/press/512064">press</a> release, Oracle Unveils Oracle Enterprise Manager 12c.</li>
<li>Short flash <a href="http://www.oracle.com/pls/ebn/swf_viewer.load?p_shows_id=10937925#enterprise-manager?iframe=true&amp;width=900&amp;height=675">presentation</a> of Cloud Management with Oracle Enterprise Manager.</li>
<li>Oracle Enterprise Manager Cloud Control 12c Video Series are available <a href="https://apex.oracle.com/pls/apex/f?p=44785:2:1721752463032972:FORCE_QUERY::2,RIR,CIR:P2_SEARCH:EM12c%20Solution">here</a>.</li>
<li>Meanwhile Oracle Learning is adding more videos to YouTube and they could be found <a href="http://www.youtube.com/user/OracleLearning#p/c/F45DBCDF595F1D1D">here</a>.</li>
<li>The full installer (OMS, Agent and Repository) is available for Linux x86-64 (64-bit) and could be download from <a href="http://www.oracle.com/technetwork/oem/grid-control/downloads/index.html">here</a>.</li>
<li>The Oracle Management Agent software can be downloaded using the Self Update feature within the Enterprise Manager Cloud Control console or use Self Update feature in offline mode then manually download the sar files available <a href="http://www.oracle.com/technetwork/oem/grid-control/downloads/agentsoft-090381.html">here</a>.</li>
<li>Documentation is available <a href="http://download.oracle.com/docs/cd/E24628_01/index.htm">here</a>, thanks to <a href="http://www.gokhanatil.com/">Gokhan Atil</a> for the link.</li>
<li>Installation requires Oracle Weblogic Server 10.3.5, which is already included in the package and installed by default.</li>
<li>Installation requires certified  Oracle Database on which Oracle Management Repository will be configured. The certified versions of Oracle Database are from 10.2.0.5 onwards. The EM12c itself could manage databases from 9.2.0.8 onwards.</li>
<li>You could upgrade your EM 10g GC Release 5 (10.2.0.5.0) or EM 11g GC Release 1 (11.1.0.1.0) to Enterprise Manager Cloud Control 12c (12.1.0.1).</li>
<li>I&#8217;m still unable to find any MOS notes regarding EM12c &#8211; few notes already appeared at MOS, refer to last update for more information.</li>
</ul>
<p>&nbsp;</p>
<p><em>UPDATE 1:</em></p>
<ul>
<li>What&#8217;s New in Enterprise Manager 12c Install, <a href="http://www.oracle.com/technetwork/oem/pdf/512044.pdf">here</a>.</li>
<li>Documentation library is now available <a href="http://download.oracle.com/docs/cd/E24628_01/index.htm">here</a>.</li>
</ul>
<p><em> UPDATE 2:</em></p>
<ul>
<li>Enterprise Manager Grid Control and Database Control Certification with 11g R2 Database [ID 1266977.1]</li>
<li>If repository database is less than 11.2.0.2, additional packages has to be applied. Refer at MOS Certification for more information.</li>
</ul>
<p>UPDATE 3:</p>
<ul>
<li>How to Install Enterprise Manager Cloud Control 12.1.0.1 (12c) [ID 1359176.1]</li>
<li>EM12c: How to install Enterprise Manager Cloud Control 12c Agent [ID 1360183.1]</li>
<li>Master Index for Cloud Control Agent Installation, Upgrade and Patching [ID 1363767.1]</li>
<li>FAQ: Enterprise Manager Cloud Control 12c Install / Upgrade Frequently Asked Questions [ID 1363863.1]</li>
<li>Master Index for Cloud Control Oracle Management Service (OMS) and Repository Installation, Upgrade and Patching [ID 1363769.1]</li>
</ul>
<p>Regards,<br />
Sve</p>
<p><span style="font-family: helvetica;"><strong>Master Index for Cloud Control Oracle Management Service (OMS) and Repository Installation, Upgrade and Patching [ID 1363769.1]</strong></span></p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2011/10/04/oracle-announces-enterprise-manager-12c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SIOUG Conference</title>
		<link>http://sve.to/2011/09/30/sioug-conference/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sioug-conference</link>
		<comments>http://sve.to/2011/09/30/sioug-conference/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 20:41:19 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[sioug]]></category>

		<guid isPermaLink="false">http://sve.to/?p=524</guid>
		<description><![CDATA[More than a week after the SIOUG (Slovenian Oracle User Group) I wanted to say thanks to Joze Senegacnik for inviting me and for being very hospitable. I&#8217;ve been many times in Slovenia, but It&#8217;s my first time being at the SIOUG and I really liked it. There were a lot of people, the hotel [...]]]></description>
				<content:encoded><![CDATA[<p>More than a week after the SIOUG (Slovenian Oracle User Group) I wanted to say thanks to Joze Senegacnik for inviting me and for being very hospitable.</p>
<p>I&#8217;ve been many times in Slovenia, but It&#8217;s my first time being at the SIOUG and I really liked it. There were a lot of people, the hotel was at the sea side and Croatia was just on the other side of the sea, just a few kilometres away. Speaking about Croatia I met Vladimir and Davor from HROUG.</p>
<p>I also met Doug Burns and Debra Lilley and they are really cool people.</p>
<p>Oracle Open World starts in two days. Although I won&#8217;t be able to attend it this year I&#8217;m pretty excited about the new products and announcements.</p>
<p>Regards,<br />
Sve</p>
<p>p.s. I met <a href="http://sve.to/?attachment_id=527">Stanley</a> in a cave where The Human Fish lives, wonder what was he doing there.</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2011/09/30/sioug-conference/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Exhaust of Windows 2008 heap memory with Oracle Database 11.2.0.2</title>
		<link>http://sve.to/2011/09/29/exhaust-of-windows-2008-heap-memory-with-oracle-database-11-2-0-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=exhaust-of-windows-2008-heap-memory-with-oracle-database-11-2-0-2</link>
		<comments>http://sve.to/2011/09/29/exhaust-of-windows-2008-heap-memory-with-oracle-database-11-2-0-2/#comments</comments>
		<pubDate>Thu, 29 Sep 2011 07:51:34 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[crs]]></category>
		<category><![CDATA[patch]]></category>
		<category><![CDATA[psu]]></category>

		<guid isPermaLink="false">http://sve.to/?p=448</guid>
		<description><![CDATA[Recently I had an interesting setup for one of our customers. Because they got Oracle Standard Edition and Windows 2008 Server R2 Standard Edition licenses I was asked to create HA database installation. After looking around I found few docs about installing Standard Edition with Clusterware and I had some ideas. Finally I installed Grid Infrastructure [...]]]></description>
				<content:encoded><![CDATA[<p>Recently I had an interesting setup for one of our customers. Because they got Oracle Standard Edition and Windows 2008 Server R2 Standard Edition licenses I was asked to create HA database installation. After looking around I found few docs about installing Standard Edition with Clusterware and I had some ideas. Finally I installed Grid Infrastructure on both servers and Oracle Database binaries. Then created single instance database on the second server and replicated the configuration to the first one. Currently the relocation of the database is done manually, but one could create a start/stop/monitor scripts and integrate these with GI. Once the database starts it&#8217;s registering at the scan listener so in theory it&#8217;s running in HA (just the relocation is manual) <img src='http://sve.to/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So during the weekend I received mail from my colleagues above error messages they received from the database: <em>connect error, Socket read timed out</em>. It wasn&#8217;t a rush as the database is not yet in production, but it&#8217;s ahead and this was the first task for the Monday. Next day I looked around and everything was up and running, except that I wasn&#8217;t able to login through the listener and I also wasn&#8217;t able to stop or relocate it. Looking at the logs I found at some point the following message: <em>TNS-12531: TNS:cannot allocate memory</em> which explains the previous message.</p>
<p>That was weird, the server on which error appeared was the first one and had only GI running and SCAN LISTENER. This really looked like a memory leak, it&#8217;s a Windows so maybe that was obvious. I decided to look around the processes using the Resource Monitor when I found a lot of many cmd.exe processes. To confirm the problem I used <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653">Process Explorer </a>which is a very nice tool for Windows. As could be seen below I&#8217;ve got plenty of cmd processes which were spawned, but not (obviously) closed after completion:</p>
<p><a href="http://sve.to/wp-content/uploads/2011/09/2011090702.png"><img class="alignnone size-full wp-image-449" title="Multiple cmd processes" src="http://sve.to/wp-content/uploads/2011/09/2011090702.png" alt="" width="793" height="496" /></a></p>
<p>It turned out that this is a bug for 11.2.0.2 and Windows (64 bit). The Oracle CVU resource (ora.cvu), which by default is started on the first node in the cluster (this makes sense now) it&#8217;s doing checks on every six hours (CHECK_INTERVAL=21600) and leaves process open. Because of this the heap memory is exhausted and that&#8217;s the reason why the SCAN LISTENER is failing and giving the error message <em>TNS-12531: TNS:cannot allocate memory</em></p>
<p>&nbsp;</p>
<p>The following errors could be seen in Windows Eventlog, once the patch is applied the errors disappeared:<br />
Faulting application lsnrctl.exe, version 11.2.0.2, time stamp 0x4cea8f55, faulting module kernel32.dll, version 6.0.6001.18538, time stamp 0x4cb73957, exception code 0xc0000142, fault offset 0x00000000000b1b48, process id 0x1eac, application start time 0x01cc6ab588f992c0.</p>
<p>Faulting application cmd.exe, version 6.0.6001.18000, time stamp 0x47918bde, faulting module kernel32.dll, version 6.0.6001.18538, time stamp 0x4cb733e1, exception code 0xc0000142, fault offset 0x0006f1e7, process id 0&#215;1004, application start time 0x01cc6af0fa982500.</p>
<p>Faulting application sclsspawn.exe, version 0.0.0.0, time stamp 0x4ce622a7, faulting module kernel32.dll, version 6.0.6001.18538, time stamp 0x4cb73957, exception code 0xc0000142, fault offset 0x00000000000b1b48, process id 0x1ca0, application start time 0x01cc6c0e5efd5380.</p>
<p>This is the bug at MOS:<br />
Bug 12529945: CVU HEALTH CHECKS EXHAUST WINDOWS HEAP MEMORY</p>
<p>The bug should have been fixed in BP8, but I applied the latest one BP10:<br />
Patch 12849789: ORACLE 11G 11.2.0.2 PATCH 10 BUG FOR WINDOWS (64-BIT AMD64 AND INTEL EM64)</p>
<p>&nbsp;</p>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2011/09/29/exhaust-of-windows-2008-heap-memory-with-oracle-database-11-2-0-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to setup virtual iLO Remote Console</title>
		<link>http://sve.to/2011/09/19/how-to-setup-virtual-ilo-remote-console/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-setup-virtual-ilo-remote-console</link>
		<comments>http://sve.to/2011/09/19/how-to-setup-virtual-ilo-remote-console/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 12:32:51 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[hp-ux]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[hpvm]]></category>
		<category><![CDATA[itanium]]></category>

		<guid isPermaLink="false">http://sve.to/?p=501</guid>
		<description><![CDATA[In the new release of HP Integrity Virtual Machines 4.30, HP added a new feature which allows you to access the guest console by logging into a specific IP address. This feature is called virtual iLO Remote Console and should be configured with hpvmmodify. Looking at the guest status (hpvmstatus -p) the following is observed: [...]]]></description>
				<content:encoded><![CDATA[<p>In the new release of HP Integrity Virtual Machines 4.30, HP added a new feature which allows you to access the guest console by logging into a specific IP address. This feature is called virtual iLO Remote Console and should be configured with hpvmmodify.</p>
<p>Looking at the guest status (hpvmstatus -p) the following is observed:<br />
[Remote Console]<br />
Remote Console not configured</p>
<p>This is how to configure the IP address of the virtual iLO Remote Console:<br />
root@vmhost1:/# hpvmmodify -p 1 -K 192.168.11.193 -L 255.255.255.0</p>
<p>What the command does is configuring IP alias as could be seen in netstat:<br />
lan0:110  1500 192.168.11.0    192.168.11.193  0                  0     0                  0     0</p>
<p>Running again hpvmstatus we see that the Remote Console is now configured:<br />
[Remote Console]<br />
Remote Console Ip Address:      192.168.11.193<br />
Remote Console Net Mask:        255.255.255.0</p>
<p>Now about the users, by default the root user of the host is able login to all virtual consoles, although it’s not listed in following section:<br />
[Authorized Administrators]<br />
Oper Groups             :<br />
Admin Groups            :<br />
Oper Users              :<br />
Admin Users             :</p>
<p>Let’s create a dedicated user for the first guest and then login:<br />
root@vmhost1:/root# useradd -d /var/opt/hpvm/guests/vm01 -c ‘vm01 console’ adminvm1<br />
root@vmhost1:/root# passwd adminvm1<br />
root@vmhost1:/root# hpvmmodify -p 1 -u adminvm1:admin</p>
<p>Running status again we can see that the user is added to the administrators:<br />
[Authorized Administrators]<br />
Oper Groups             :<br />
Admin Groups            :<br />
Oper Users              :<br />
Admin Users             : adminvm1</p>
<p>Let’s try now to login with our newly created user:<br />
sve@angmar:~$ ssh adminvm1@192.168.11.193<br />
Password:</p>
<p>vMP MAIN MENU</p>
<p>CO: Console<br />
CM: Command Menu<br />
CL: Console Log<br />
SL: Show Event Logs<br />
VM: Virtual Machine Menu<br />
HE: Main Help Menu<br />
X: Exit Connection</p>
<p>[vm01] vMP&gt;</p>
<p>Voila, it’s working!</p>
<p>&nbsp;</p>
<p>To enable access to the virtual iLO Remote Console through telnet (which by default is not supported) these two patches has to be applied on the host: PHCO_41595 and PHNE_41452. Two more considerations should be taken into consideration: The virtual iLO Remote Console’s SSH server host keys can change as it uses the host system’s SSH server host keys. If the guest is migrated to another system then these host keys will change. Another one is that guest administrator accounts are not migrated during Online VM Migration.</p>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2011/09/19/how-to-setup-virtual-ilo-remote-console/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to mount an ISO image under HP-UX 11iv3</title>
		<link>http://sve.to/2011/09/12/how-to-mount-an-iso-image-under-hp-ux-11iv3-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-mount-an-iso-image-under-hp-ux-11iv3-2</link>
		<comments>http://sve.to/2011/09/12/how-to-mount-an-iso-image-under-hp-ux-11iv3-2/#comments</comments>
		<pubDate>Mon, 12 Sep 2011 18:10:49 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[hp-ux]]></category>
		<category><![CDATA[itanium]]></category>

		<guid isPermaLink="false">http://sve.to/?p=497</guid>
		<description><![CDATA[So what do I do if I want to mount an iso image under HP-UX. Previously I had to create a logical volume, copy the content of the ISO on in and then mount the logical volume, like this one: root@vmhost1:/# ll /tmp/test.iso -rw-r--r--   1 root       sys        105906176 Sep  8 11:57 /tmp/test.iso root@vmhost1:/# lvcreate -L [...]]]></description>
				<content:encoded><![CDATA[<p>So what do I do if I want to mount an iso image under HP-UX.</p>
<p>Previously I had to create a logical volume, copy the content of the ISO on in and then mount the logical volume, like this one:</p>
<pre>root@vmhost1:/# ll /tmp/test.iso
-rw-r--r--   1 root       sys        105906176 Sep  8 11:57 /tmp/test.iso
root@vmhost1:/# lvcreate -L 102 -n lvtest vg00
Warning: rounding up logical volume size to extent boundary at size "128" MB.
Logical volume "/dev/vg00/lvtest" has been successfully created with
character device "/dev/vg00/rlvtest".
Logical volume "/dev/vg00/lvtest" has been successfully extended.
Volume Group configuration for /dev/vg00 has been saved in /etc/lvmconf/vg00.conf
root@vmhost1:/# dd if=/tmp/test.iso of=/dev/vg00/rlvtest bs=1024k
101+0 records in
101+0 records out
root@vmhost1:/# mount /dev/vg00/lvtest /mnt
root@vmhost1:/# bdf /mnt
/dev/vg00/lvtest    102888  102888       0  100% /mnt</pre>
<p>&nbsp;</p>
<p>With the enhancement of ISOIMAGE-ENH, now you’re able to mount and umount iso images (like in Linux):</p>
<pre>root@vmhost1:/# kcmodule fspd=loaded
root@vmhost1:/# mount -F cdfs /tmp/test.iso /mnt
root@vmhost1:/# bdf /mnt
/dev/fspd1          102888  102888       0  100% /mnt</pre>
<p>&nbsp;</p>
<p>If you get an error like this one:<br />
<em>mount: /tmp/test.iso is an invalid operand</em><br />
then most probably you’ve forgotten to load the fspd module.</p>
<p>The package could be installed during installation or downloaded from Software Depot home, <a href="https://h20392.www2.hp.com/portal/swdepot/displayProductInfo.do?productNumber=ISOIMAGE-ENH" target="_blank">here</a> and it’s available only for HP-UX 11iv3.</p>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2011/09/12/how-to-mount-an-iso-image-under-hp-ux-11iv3-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HP EVA4400/6400/8400 now ship with XCS v10000000</title>
		<link>http://sve.to/2011/09/07/hp-eva440064008400-now-ship-with-xcs-v10000000/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hp-eva440064008400-now-ship-with-xcs-v10000000</link>
		<comments>http://sve.to/2011/09/07/hp-eva440064008400-now-ship-with-xcs-v10000000/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 13:08:25 +0000</pubDate>
		<dc:creator>Svetoslav Gyurov</dc:creator>
				<category><![CDATA[hp-ux]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[firmware]]></category>

		<guid isPermaLink="false">http://sve.to/?p=433</guid>
		<description><![CDATA[Two months ago HP released a new firmware for the EVA family including 4400/6400/8400/P6300 and P6500, version XCS 10000000. As I blogged previously the EVA4400 could not compare with the midrange storage system from other vendors. It introduced few new features, which turned out not to be complete and some other features wasn&#8217;t even included. [...]]]></description>
				<content:encoded><![CDATA[<p>Two months ago HP released a new firmware for the EVA family including 4400/6400/8400/P6300 and P6500, version XCS 10000000. As I blogged <a title="HP EVA4400 support for big LUNs, no thanks" href="http://sve.to/2011/05/11/hp-eva4400-support-for-big-luns-no-thanks/">previously </a>the EVA4400 could not compare with the midrange storage system from other vendors. It introduced few new features, which turned out not to be complete and some other features wasn&#8217;t even included. Now except the re-branding of the EVA family to HP P6000 EVA, they also introduced a lot of new features with the new release. Some of the really useful features in this release:</p>
<ul>
<li>Thin provisioning &#8211; It&#8217;s something the other vendors had for long time, it was about time to have such a feature on the EVA. This feature dynamically increases the space allocated to a virtual disk.</li>
<li>Large LUN support &#8211; Because this feature was missing, last year I&#8217;ve spent one month for migrating data from several big disks to another diskgroup with LVM. This will support snapshot replication of LUNs greater than 2 TB, expanding and shrinking of the large LUNs is also supported.</li>
<li>Online virtual disk migration (change Vraid or disk group) &#8211; Another &#8216;must have&#8217; feature, change a virtual disk&#8217;s redundancy level or disk group membership without impacting host I/O. Previously one has to create another virtual disk in required level and move data from the other.</li>
</ul>
<p>There are also a lot of fixes included in this release and some of them sounds really scary. For more information refer to the <a title="HP P6000 Enterprise Virtual Array release notes (XCS 10000000)" href="http://h20000.www2.hp.com/bizsupport/TechSupport/CoreRedirect.jsp?redirectReason=DocIndexPDF&amp;prodSeriesId=3664763&amp;targetPage=http%3A%2F%2Fbizsupport1.austin.hp.com%2Fbc%2Fdocs%2Fsupport%2FSupportManual%2Fc02858437%2Fc02858437.pdf">release notes</a>.</p>
<p>Regards,<br />
Sve</p>
]]></content:encoded>
			<wfw:commentRss>http://sve.to/2011/09/07/hp-eva440064008400-now-ship-with-xcs-v10000000/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
