<?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>ORATraining Blog &#187; Oracle Database</title>
	<atom:link href="http://www.oratraining.com/blog/category/oracle/database/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.oratraining.com/blog</link>
	<description>Not just another Oracle Blog</description>
	<lastBuildDate>Tue, 07 Feb 2012 06:27:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Configuring Oracle Identity and Access Management components</title>
		<link>http://www.oratraining.com/blog/2012/02/configuring-oracle-identity-and-access-management-components/</link>
		<comments>http://www.oratraining.com/blog/2012/02/configuring-oracle-identity-and-access-management-components/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 09:30:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Fusion Applications Provisioning]]></category>
		<category><![CDATA[Fusion Middleware]]></category>
		<category><![CDATA[HTTP Server]]></category>
		<category><![CDATA[Identity Management]]></category>
		<category><![CDATA[Installing Oracle Applications]]></category>
		<category><![CDATA[Linux/Unix/Solaris]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle Applications]]></category>
		<category><![CDATA[Oracle Applications DBA]]></category>
		<category><![CDATA[Oracle DBA]]></category>
		<category><![CDATA[Oracle Fusion Applications]]></category>
		<category><![CDATA[Oracle Internet Directory]]></category>
		<category><![CDATA[Webgate]]></category>
		<category><![CDATA[access manager]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[fusion 11g]]></category>
		<category><![CDATA[fusion applications installation]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[HTTP server]]></category>
		<category><![CDATA[identity management]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[installing]]></category>
		<category><![CDATA[installing oracle fusion applications]]></category>
		<category><![CDATA[oracle applications]]></category>
		<category><![CDATA[oracle apps]]></category>
		<category><![CDATA[oracle directory service]]></category>
		<category><![CDATA[Oracle fusion applications]]></category>
		<category><![CDATA[oracle internet directory]]></category>
		<category><![CDATA[virtual directory]]></category>
		<category><![CDATA[webgate]]></category>

		<guid isPermaLink="false">http://www.oratraining.com/blog/?p=878</guid>
		<description><![CDATA[Tweet Oracle Fusion Applications Installation: Configuring Oracle Identity and Access Management components Previous: Installing Oracle Identity and Access Management Components Configuring Oracle Identity Management components&#8221; can be divided into following tasks. Configuring the Web Tier Create Weblogic Domain for Identity Management Extending the Domain with Oracle Internet Directory Extending the Domain with Oracle Directory Service Manager [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.oratraining.com%2Fblog%2F2012%2F02%2Fconfiguring-oracle-identity-and-access-management-components%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.oratraining.com/blog/2012/02/configuring-oracle-identity-and-access-management-components/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.oratraining.com/blog/2012/02/configuring-oracle-identity-and-access-management-components/"  data-text="Configuring Oracle Identity and Access Management components" data-count="horizontal">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://www.oratraining.com/blog/2012/02/configuring-oracle-identity-and-access-management-components/" data-counter="right"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p style="background: white;"><span style="color: #404040; font-size: 13pt;"><span style="text-decoration: underline;">Oracle Fusion Applications Installation</span><strong>: Configuring Oracle Identity and Access Management components<br />
</strong></span></p>
<p style="background: white;">Previous: <strong><a title="Installing Oracle Identity and Access Management components" href="http://www.oratraining.com/blog/2012/02/installing-oracle-identity-and-access-management-components/">Installing Oracle Identity and Access Management Components</a></strong></p>
<p style="background: white;">Configuring Oracle Identity Management components&#8221; can be divided into following tasks.</p>
<ol>
<li>Configuring the Web Tier</li>
<li>Create Weblogic Domain for Identity Management</li>
<li>Extending the Domain with Oracle Internet Directory</li>
<li>Extending the Domain with Oracle Directory Service Manager (ODSM)</li>
<li>Extending the Domain with Oracle Virtual Directory</li>
<li>Extending the Domain with Oracle Access Manager</li>
<li>Extending the Domain to Configure Oracle Identity Manager and Oracle SOA Suite</li>
<li>Installing and Configuring WebGate</li>
</ol>
<p><span style="color: red; background-color: white;">Please note that this post is going to be long so allow time to load all images.</span></p>
<p style="background: white;"><span style="color: #632423; font-size: 14pt; text-decoration: underline;"><strong>Configuring the Web Tier<br />
</strong></span></p>
<p>Start the configuration from <strong>&lt;Web_Home&gt;/bin<br />
</strong></p>
<blockquote><p>[oracle@fusion bin]$ <strong>cd /app/fusion/bea_default/Oracle_WT1/bin</strong></p>
<p>[oracle@fusion bin]$ <strong>./config.sh</strong></p></blockquote>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring1.png" alt="" /></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring2.png" alt="" /></p>
<p>Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring3.png" alt="" /></p>
<p>Select &#8220;<strong>Oracle HTTP Server</strong>&#8221; and click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring4.png" alt="" /></p>
<p>For Instance location enter &#8220;/app/fusion/bea_default/instances&#8221; since we will keep all instances in this location. Provide any appropriate Instance name and OHS component name. We will go for the defaults. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring5.png" alt="" /></p>
<p>Select &#8220;<strong>Specify Ports using Configuration File</strong>&#8221; and enter file name as <strong>/home/oracle/staticports.ini<br />
</strong></p>
<p>Now we will copy staticports.ini default file from &lt;repository_location&gt;/installers/webtier/Disk1/stage/Response to home directory /home/oracle</p>
<blockquote><p><strong>cp /mnt/fusion/installers/webtier/Disk1/stage/Response/staticports.ini ~/staticports.ini<br />
</strong></p></blockquote>
<p>Now click on &#8220;<strong>View/Edit File</strong>&#8221; to edit this file.</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring6.png" alt="" /></p>
<p>Uncomment and set the following values. Click <strong>Save</strong></p>
<p><strong>OPMN Local Port = 6700<br />
</strong></p>
<p><strong>OHS Port = 7777<br />
</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring7.png" alt="" /></p>
<p>Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring8.png" alt="" /></p>
<p>Deselect email notification and click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring9.png" alt="" /></p>
<p>Save summary if needed and click <strong>Configure</strong> to start configuration.</p>
<blockquote><p><strong>Important Note:</strong> If SELinux is enabled in your Linux operating System then it will throw an error. Since we already disabled it during installation, we will not see that error here.</p></blockquote>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring10.png" alt="" /></p>
<p>Once installation finishes, click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring11.png" alt="" /></p>
<p>Save installation summary if needed and click <strong>Finish</strong> to complete the installation.</p>
<p>It would have already started HTTP server now. We can verify the same.</p>
<blockquote><p>[oracle@fusion instances]$ ps -ef | grep http</p>
<p><span style="font-size: 10pt;">oracle 3521 3491 0 10:06 ? 00:00:00 /app/fusion/bea_default/Oracle_WT1/ohs/bin/httpd.worker -DSSL<br />
</span></p>
<p><span style="font-size: 10pt;">oracle 3547 3521 0 10:06 ? 00:00:00 /app/fusion/bea_default/Oracle_WT1/ohs/bin/httpd.worker -DSSL<br />
</span></p>
<p><span style="font-size: 10pt;">oracle 3548 3521 0 10:06 ? 00:00:00 /app/fusion/bea_default/Oracle_WT1/ohs/bin/httpd.worker -DSSL<br />
</span></p>
<p><span style="font-size: 10pt;">oracle 3549 3521 0 10:06 ? 00:00:00 /app/fusion/bea_default/Oracle_WT1/ohs/bin/httpd.worker -DSSL<br />
</span></p></blockquote>
<p>Check /app/fusion/bea_default/Oracle_WT1/instances/instance1/config/OHS/ohs1/httpd.conf to make sure it reflects correct user and group name</p>
<p><strong>User oracle</strong></p>
<p><strong>Group oinstall<br />
</strong></p>
<p>We can launch <span style="color: red;">http://fusion:7777</span> (Homepage of Oracle HTTP server) now. It will look as follows.</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring12.png" alt="" /></p>
<p><span style="color: #632423; font-size: 15pt; text-decoration: underline;"><strong>Create Weblogic Domain for Identity Management<br />
</strong></span></p>
<p>&nbsp;</p>
<p>Start the configuration from <strong>&lt;Middleware Home&gt;/oracle_common/commin/bin</strong></p>
<blockquote><p>[oracle@fusion bin]$ /app/fusion/bea_default/oracle_common/common/bin/config.sh</p></blockquote>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring13.png" alt="" /><strong><br />
</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring14.png" alt="" /><strong><br />
</strong></p>
<p>Select &#8220;Create a new Weblogic domain&#8221; and click<strong> Next<br />
</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring15.png" alt="" /><strong><br />
</strong></p>
<p>Select &#8220;<strong>Oracle Enterprise Manager – 11.1.1.0 [oracle_common]</strong>&#8221; and &#8220;<strong>Oracle JRF – 11.1.1.0 [oracle_common]</strong>&#8221; and click <strong>Next<br />
</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring16.png" alt="" /></p>
<p>Enter details as above or accept default values and click <strong>Next.<br />
</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring17.png" alt="" /><strong><br />
</strong></p>
<p>Since it accepts minimum 8 characters set password again to<strong><br />
</strong>oracle123. Please note that you can also change username from weblogic but in future whenever we refer to weblogic user you must enter the new user which selected. We will go for default &#8220;weblogic&#8221; username</p>
<p><strong><a href="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring18.png"><img class="alignnone size-full wp-image-882" title="020612_0626_Configuring18" src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring18.png" alt="" width="628" height="474" /></a><br />
</strong></p>
<p>You would see option of Oracle JRockit here. So select that JDK in this list.</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring19.png" alt="" /><strong><br />
</strong></p>
<p>Select &#8220;Administration Server&#8221; and &#8220;Managed Servers, Clusters and Machines&#8221;. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring20.png" alt="" /><strong><br />
</strong></p>
<p>Keep defaults but make a note of the port since this will be widely used during next part of installation. Click <strong>Next<br />
</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring21.png" alt="" /><strong><br />
</strong></p>
<p>Just click <strong>Next<br />
</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring22.png" alt="" /><strong><br />
</strong></p>
<p>Click <strong>Next</strong> again</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring23.png" alt="" /><strong><br />
</strong></p>
<p>Select Second Tab &#8220;<strong>Unix Machine</strong>&#8221; and enter the hostname as above. Click <strong>Next<br />
</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring24.png" alt="" /><strong><br />
</strong></p>
<p>Click on <strong>AdminServer</strong> and Click right arrow. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring25.png" alt="" /><strong><br />
</strong></p>
<p>It will now look as above. Click <strong>Next<br />
</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring26.png" alt="" /><strong><br />
</strong></p>
<p>On Summary page click <strong>Create<br />
</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring27.png" alt="" /><strong><br />
</strong></p>
<p>Once installation finishes, click <strong>Done<br />
</strong></p>
<p>Make sure that the encrypted username and password values are already in boot.properties</p>
<blockquote><p>[oracle@fusion security]$ <span style="color: red;"><strong>more /app/fusion/bea_default/user_projects/domains/IDM_domain/servers/AdminServer/security/boot.properties</strong><br />
</span></p>
<p># Generated by Configuration Wizard on Mon Jan 23 10:59:07 GST 2012</p>
<p>username={AES}zaXc3+4y2KGuxnK6WkI7ehKcliQDeandkjdTdu0vpuY=</p>
<p>password={AES}WZ6Zo+j6aGoCyE2nQmCCdboEkA8TDGRlagdSqFGRedo=</p></blockquote>
<p>&nbsp;</p>
<p>Set StartScriptEnabled=true in nodemanager.properties by running following script</p>
<blockquote><p><strong>[oracle@fusion bin]$ <span style="color: red;">cd /app/fusion/bea_default/oracle_common/common/bin</span></strong></p>
<p><strong> [oracle@fusion bin]$ <span style="color: red;">./setNMProps.sh</span><br />
</strong></p>
<p>Appending required nodemanager.properties</p></blockquote>
<p>Verify the change.</p>
<blockquote><p><strong>[oracle@fusion bin]$ <span style="color: red;">tail -f /app/fusion/bea_default/wlserver_10.3/common/nodemanager/nodemanager.properties<br />
</span></strong></p>
<p>#Required NM Property overrides (append to existing nodemanager.properties)</p>
<p>StartScriptEnabled=true</p></blockquote>
<p>&nbsp;</p>
<p><span style="font-size: 13pt;"><strong>Start Node manager<br />
</strong></span></p>
<blockquote><p><strong>[oracle@fusion bin]$ <span style="color: red;">cd /app/fusion/bea_default/wlserver_10.3/server/bin<br />
</span></strong></p>
<p><strong>[oracle@fusion bin]$ <span style="color: red;">nohup ./startNodeManager.sh &amp;</span><br />
</strong></p>
<p><strong>…<br />
</strong></p>
<p>IDM_domain -&gt; /app/fusion/bea_default/user_projects/domains/IDM_domain</p>
<p>…</p>
<p>INFO: Secure socket listener started on port 5556</p></blockquote>
<p>&nbsp;</p>
<p><span style="font-size: 12pt;"><strong>Start Weblogic AdminServer<br />
</strong></span></p>
<blockquote><p>[oracle@fusion bin]$ <span style="color: red;"><strong>nohup</strong></span><br />
<span style="color: red;"><strong>/app/fusion/bea_default/user_projects/domains/IDM_domain/bin/startWebLogic.sh &amp;<br />
</strong></span></p></blockquote>
<p>tail nohup.out file until it shows following message.</p>
<p><strong>&lt;Jan 23, 2012 11:55:21 AM GST&gt; &lt;Notice&gt; &lt;WebLogicServer&gt; &lt;BEA-000360&gt; &lt;Server started in RUNNING mode&gt;</strong></p>
<p>&nbsp;</p>
<p><span style="font-size: 12pt;"><strong>Open Weblogic Admin Console<br />
</strong></span></p>
<p>Launch Weblogic Admin console through<strong><br />
<a href="http://fusion:7001/console">http://fusion:7001/console</a><br />
</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring28.png" alt="" /></p>
<p>Login with weblogic/oracle123</p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring29.png" alt="" /><strong><br />
</strong></p>
<p>&nbsp;</p>
<p>Note: Go to preferences and change &#8220;automatic acquire lock&#8221; settings to avoid accidental changes since we are in development mode.</p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring30.png" alt="" /><strong><br />
</strong></p>
<p>&nbsp;</p>
<p><span style="color: #632423;"><strong><span style="font-size: 13pt;">Configuring HTTP server for the Administration Server</span><span style="font-size: 14pt;"><br />
</span></strong></span></p>
<p>&nbsp;</p>
<p>Create a new file admin.conf as follows.</p>
<p>&nbsp;</p>
<blockquote><p>[oracle@fusion moduleconf]$ <strong>more /app/fusion/bea_default/Oracle_WT1/instances/<span style="color: red;">instance1/config/OHS/ohs1/moduleconf/admin.conf</span><br />
</strong></p>
<p>&lt;VirtualHost *:7777&gt;</p>
<p>ServerName fusion:80</p>
<p>ServerAdmin you@your.address</p>
<p>RewriteEngine On</p>
<p>RewriteOptions inherit</p>
<p>RewriteRule ^/console/jsp/common/logout.jsp /oamsso/logout.html [PT]</p>
<p>RewriteRule ^/em/targetauth/emaslogout.jsp /oamsso/logout.html [PT]</p>
<p># Admin Server and EM</p>
<p>&lt;Location /console&gt;</p>
<p>SetHandler weblogic-handler</p>
<p>WebLogicHost fusion</p>
<p>WeblogicPort 7001</p>
<p>&lt;/Location&gt;</p>
<p>&lt;Location /consolehelp&gt;</p>
<p>SetHandler weblogic-handler</p>
<p>WebLogicHost fusion</p>
<p>WeblogicPort 7001</p>
<p>&lt;/Location&gt;</p>
<p>&lt;Location /em&gt;</p>
<p>SetHandler weblogic-handler</p>
<p>WebLogicHost fusion</p>
<p>WeblogicPort 7001</p>
<p>&lt;/Location&gt;</p>
<p>&lt;/VirtualHost&gt;</p></blockquote>
<p>&nbsp;</p>
<p><strong style="font-size: 12pt;">Restart http server.</strong></p>
<blockquote><p>ORACLE_HOME=/app/fusion/bea_default/Oracle_WT1</p>
<p>export ORACLE_HOME</p>
<p>ORACLE_INSTANCE=/app/fusion/bea_default/Oracle_WT1/instances/instance1</p>
<p>export ORACLE_INSTANCE</p>
<p>PATH=$ORACLE_HOME/opmn/bin:$PATH</p>
<p>export PATH</p>
<p>&nbsp;</p>
<p>opmnctl stopall</p>
<p>opmnctl startall</p></blockquote>
<p>&nbsp;</p>
<p><span style="font-size: 12pt;"><strong>Now we need to Register HTTP server with Weblogic Server so that Enterprise Manager can monitor the instance.<br />
</strong></span></p>
<blockquote><p>[oracle@fusion ~]$ <span style="color: red;"><strong>opmnctl registerinstance -adminHost fusion -adminport 7001 -adminUsername weblogic</strong></span></p>
<p>Command requires login to weblogic admin server (fusion):</p>
<p>Username: weblogic</p>
<p>Password:</p>
<p>…</p>
<p>Done</p>
<p>Registering instance</p>
<p>Command succeeded.</p></blockquote>
<p>Note: We will not enable load-balancer access since we have skipped load-balancing in this single node installation guide.</p>
<p>&nbsp;</p>
<p><span style="font-size: 12pt; background-color: white;"><strong>Enable Weblogic Plugin<br />
</strong></span></p>
<p><span style="background-color: white;">Log in the Oracle Weblogic Server Administration and click on Lock and Edit. Click on IDMDomain and Click on Configuration tab and then select the Web Applications tab.</span></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring31.png" alt="" /></p>
<p>&nbsp;</p>
<p><span style="color: #444444;"><strong>Scroll down and enable &#8220;Weblogic Plug-in Enabled&#8221;.<br />
</strong></span></p>
<p><a href="http://bloggingaboutoracleapplications.org/wp-content/uploads/431.png"><span style="text-decoration: underline;"><br />
</span></a>Click on Save and Activate the Changes.</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring32.png" alt="" /></p>
<p><strong>Restart the Weblogic Administration Server.<br />
</strong></p>
<p>&nbsp;</p>
<h2><span style="color: #632423; text-decoration: underline;">Extending the Domain with Oracle Internet Directory<br />
</span></h2>
<p>Start the configuration from <strong>&lt;IDM Oracle Home/bin</strong></p>
<blockquote><p>[oracle@fusion bin]$ cd /app/fusion/bea_default/Oracle_IDM1/bin</p>
<p>[oracle@fusion bin]$ ./config.sh &amp;</p></blockquote>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring33.png" alt="" /></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring34.png" alt="" /></p>
<p>Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring35.png" alt="" /></p>
<p>Select &#8220;<strong>Configure Without A Domain</strong>&#8221; and click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring36.png" alt="" /></p>
<p>Make sure to select any directory inside MW_HOME/instances. You can accept default for Instance Name. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring37.png" alt="" /></p>
<p>Deselect email notification and click <strong>Next</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring38.png" alt="" /></p>
<p>Select only &#8220;<strong>Oracle Internet Directory</strong>&#8221; and click <strong>Next</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring39.png" alt="" /></p>
<p>Select &#8220;<strong>Specify Ports using Configuration File</strong>&#8221; and enter file name as <strong>/home/oracle/staticports.ini<br />
</strong></p>
<p>In another terminal window copy the staticports.ini file to home directory.</p>
<blockquote><p>[oracle@fusion bin]$ cp /app/fusion/provisioning/idm/idm/Disk1/stage/Response/staticports.ini ~/</p></blockquote>
<p>Click on View/Edit file</p>
<p>&nbsp;</p>
<blockquote><p><span style="color: red;"><strong>VERY IMPORTANT:<br />
</strong></span></p>
<p>As per Oracle Manual we should Change it to as follows.</p>
<p style="background: white;"><span style="color: #002060;">#The Non-SSL port for OID<br />
</span></p>
<p style="background: white;"><span style="color: #002060;">Oracle Internet Directory Port No = 389<br />
</span></p>
<p style="background: white;"><span style="color: #002060;">#The SSL port for OID<br />
</span></p>
<p style="background: white;"><span style="color: #002060;">Oracle Internet Directory (SSL) Port No = 636<br />
</span></p>
<p>&nbsp;</p>
<p>But OID fails to configure and start at the end of installation with these values so we will stick to the OID values for 11g in the staticports.ini and just remove the comments.</p>
<p>&nbsp;</p>
<p style="background: white;"><span style="color: #002060;">#The Non-SSL port for OID<br />
</span></p>
<p style="background: white;"><span style="color: #002060;">Oracle Internet Directory Port No = 3060<br />
</span></p>
<p style="background: white;"><span style="color: #002060;">#The SSL port for OID<br />
</span></p>
<p style="background: white;"><span style="color: #002060;">Oracle Internet Directory (SSL) Port No = 3061<br />
</span></p>
</blockquote>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring40.png" alt="" /></p>
<p>Click <strong>Save</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring41.png" alt="" /></p>
<p>Once saved, click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring42.png" alt="" /></p>
<p>Enter oracle123 or any suitable password. If you are using different passwords then please make a note of all of them. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring43.png" alt="" /></p>
<p>Since we are not using any domains as such but as we have added an entry in our hosts file for fusion.localdomain, we will add &#8220;<strong>dc=localdomain</strong>&#8221; for Realm. Enter oracle123 or any suitable password. Click <strong>Next</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring44.png" alt="" /></p>
<p>Save summary if needed and click <strong>Configure</strong> to start configuration.</p>
<p><strong><a href="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring46.png"><img class="alignnone size-full wp-image-881" title="020612_0626_Configuring46" src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring46.png" alt="" width="627" height="506" /></a></strong></p>
<p>Once installation finishes, click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring47.png" alt="" /><strong><br />
</strong></p>
<p>Save installation summary if needed and click <strong>Finish</strong> to complete the installation.</p>
<p>&nbsp;</p>
<p><strong>Validate the OID installation<br />
</strong></p>
<blockquote><p>[oracle@fusion ~]$ <span style="color: red;"><strong>export ORACLE_HOME=/app/fusion/bea_default/Oracle_IDM1<br />
</strong></span></p>
<p>[oracle@fusion ~]$ <span style="color: red;"><strong>export ORACLE_INSTANCE=/app/fusion/bea_default/instances/oid_inst1<br />
</strong></span></p>
<p>[oracle@fusion ~]$ <span style="color: red;"><strong>export PATH=$ORACLE_HOME/opmn/bin:$ORACLE_HOME/bin:$ORACLE_HOME/ldap/bin:$ORACLE_HOME/ldap/admin:$PATH<br />
</strong></span></p>
<p>[oracle@fusion ~]$ <span style="color: red;"><strong>ldapbind -h fusion -p 3060 -D &#8220;cn=orcladmin&#8221; -q<br />
</strong></span></p>
<p>Please enter bind password:</p>
<p>bind successful</p>
<p>[oracle@fusion ~]$ <span style="color: red;"><strong>ldapbind -h fusion -p 3061 -D &#8220;cn=orcladmin&#8221; -q -U 1</strong></span></p>
<p>Please enter bind password:</p>
<p>bind successful</p>
<p>[oracle@fusion ~]$ <span style="color: red;"><strong>opmnctl status</strong></span></p>
<p>Processes in Instance: oid_inst1</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;</p>
<p>ias-component | process-type | pid | status</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;</p>
<p>oid1 | oidldapd | 19810 | Alive</p>
<p>oid1 | oidldapd | 19798 | Alive</p>
<p>oid1 | oidmon | 19785 | Alive</p>
<p>EMAGENT | EMAGENT | 19325 | Alive</p></blockquote>
<p>&nbsp;</p>
<p><span style="color: #632423;"><strong><span style="font-size: 13pt;">Registering Oracle Internet Directory with the WebLogic Server Domain</span><span style="font-size: 14pt;"><br />
</span></strong></span></p>
<blockquote><p>[oracle@fusion ~]$ <span style="color: red;"><strong>echo $ORACLE_HOME</strong></span></p>
<p>/app/fusion/bea_default/Oracle_IDM1</p>
<p>[oracle@fusion ~]$ <span style="color: red;"><strong>echo $ORACLE_INSTANCE</strong></span></p>
<p>/app/fusion/bea_default/instances/oid_inst1</p>
<p>[oracle@fusion ~]$ <span style="color: red;"><strong>opmnctl registerinstance -adminHost fusion -adminPort 7001 -adminUsername weblogic<br />
</strong></span></p>
<p>Command requires login to weblogic admin server (fusion):</p>
<p>Username: weblogic</p>
<p>Password:</p>
<p>Registering instance</p>
<p>Command succeeded.</p></blockquote>
<p>&nbsp;</p>
<p><strong>Note:</strong> We have skipped next steps related to SSL since we are setting up non-SSL connections here.</p>
<p>&nbsp;</p>
<p><span style="color: black; font-size: 12pt; background-color: white;"><strong>Update the Enterprise Manager Repository URL</strong><br />
</span></p>
<p><span style="color: black; background-color: white;">Next we will update the Enterprise Manager Repository URL using the emctl utility with the <strong>switchOMS</strong> flag. The emctl utility is located under the <em>ORACLE_INSTANCE</em><span style="font-family: Courier New; font-size: 10pt;">/EMAGENT/EMAGENT/bin </span>directory.<br />
</span></p>
<blockquote><p>[oracle@fusion ~]$ <span style="color: red;"><strong>cd /app/fusion/bea_default/instances/oid_inst1/EMAGENT/EMAGENT/bin</strong></span></p>
<p>[oracle@fusion bin]$ <span style="color: red;"><strong>./emctl switchOMS http://fusion:7001/em/upload<br />
</strong></span></p>
<p>Oracle Enterprise Manager 10g Release 5 Grid Control 10.2.0.5.0.</p>
<p>Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved.</p>
<p>SwitchOMS succeeded.</p></blockquote>
<p>&nbsp;</p>
<p>We can now verify whether this instance is registered for monitoring agent.</p>
<p>Login to <strong>http://fusion:7001/em</strong></p>
<p>Click on <strong>Farm-&gt;Agent monitored targets.</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring48.png" alt="" /><strong><br />
</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring49.png" alt="" /><strong><br />
</strong></p>
<p>You should be able to see the OID instance under this. Make sure that the Agent URL is showing up fine. If the status shows as &#8220;Need Configuration&#8221; then click on Configure and then in next screen enter weblogic user credentials. It should now show the correct Agent URL.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="background: white;"><span style="color: #632423; font-size: 15pt; text-decoration: underline;"><strong>Extending the Domain with Oracle Directory Service Manager (ODSM)<br />
</strong></span></p>
<p>Start the configuration from <strong>&lt;IDM Oracle Home&gt;/bin</strong></p>
<blockquote><p>[oracle@fusion bin]$ cd /app/fusion/bea_default/Oracle_IDM1/bin</p>
<p>[oracle@fusion bin]$ <span style="color: red;"><strong>./config.sh &amp;</strong></span></p></blockquote>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring50.png" alt="" /><strong><br />
</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring51.png" alt="" /><strong><br />
</strong></p>
<p>Click<strong> Next<br />
</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring52.png" alt="" /><strong><br />
</strong></p>
<p>Select &#8220;<strong>Extend Existing Domain</strong>&#8221; and enter details of existing weblogic Server and AdminServer port. Click <strong>Next</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring53.png" alt="" /><strong><br />
</strong></p>
<p>You can ignore this error since we created this domain using the Identity Management installer. Click <strong>Yes</strong> to ignore.</p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring54.png" alt="" /><strong><br />
</strong></p>
<p>Verify that the weblogic server directory shown is correct as per previous steps. Specify name and path for Oracle Directory Service instance. Make sure to keep the instance in same parent directory as previous instances. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring55.png" alt="" /></p>
<p>Deselect email notification and click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring56.png" alt="" /></p>
<p>Select Oracle &#8220;<strong>Directory Service Manager</strong>&#8221; and click <strong>Next</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring57.png" alt="" /></p>
<p>Select &#8220;<strong>Specify Ports using Configuration File</strong>&#8221; and enter file name as <strong>/home/oracle/staticports.ini</strong></p>
<p>Meanwhile in another terminal window copy the <strong>staticports.ini</strong> to home directory.</p>
<blockquote><p>[oracle@fusion bin]$ cp -p /app/fusion/provisioning/idm/idm/Disk1/stage/Response/staticports.ini ~/</p></blockquote>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring58.png" alt="" /></p>
<p>Uncomment the ODS Server Port and keep it default 7006. Click Save.</p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring59.png" alt="" /></p>
<p>Once Saved click Next.</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring60.png" alt="" /></p>
<p>Save summary if needed and click <strong>Configure</strong> to start configuration.</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring61.png" alt="" /></p>
<p>Once installation finishes, click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring62.png" alt="" /></p>
<p>Save installation summary if needed and click <strong>Finish</strong> to complete the installation.</p>
<p>&nbsp;</p>
<p><span style="font-size: 12pt;"><strong>Password-less startup for ODS<br />
</strong></span></p>
<blockquote><p>cd /app/fusion/bea_default/user_projects/domains/IDM_domain/servers/wls_ods1/security</p>
<p>cp ../../AdminServer/security/boot.properties .</p>
<p>cd /app/fusion/bea_default/user_projects/domains/IDM_domain/bin</p>
<p>nohup ./startManagedWebLogic.sh wls_ods1<strong><br />
</strong></p></blockquote>
<p>&nbsp;</p>
<p>Now you can access ODS homepage at <a href="http://fusion:7006/odsm/faces/odsm.jspx">http://fusion:7006/odsm/faces/odsm.jspx</a> (as per the above post-installation summary screen)</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring63.png" alt="" /></p>
<p>&nbsp;</p>
<p><span style="font-size: 12pt;"><strong>Register ODS with OID<br />
</strong></span></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring64.png" alt="" /></p>
<p>Click on <strong>Connect to a directory</strong> -&gt; <strong>Create A New Connection</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring65.png" alt="" /></p>
<p>Enter the details for OID.</p>
<p>Name: <strong>fusion-oid</strong></p>
<p>Server: <strong>fusion</strong></p>
<p>SSL Enabled: <strong>Unchecked</strong></p>
<p>User Name: <strong>cn=orcladmin</strong></p>
<p>Password: <strong>oracel123</strong></p>
<p>Start Page: <strong>Home</strong></p>
<p>Click <strong>Connect</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring66.png" alt="" /></p>
<p>Once connection is successful, you should be able to see OID page.<img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring67.png" alt="" /></p>
<p>You can randomly check whether you are able to see details of any user, for example <strong>cn=orcladmin</strong></p>
<p>&nbsp;</p>
<p><span style="color: #632423; font-size: 13pt;"><strong>Configuring Oracle HTTP Servers to Access the ODSM Console<br />
</strong></span></p>
<blockquote><p>[oracle@fusion moduleconf]$ cd /app/fusion/bea_default/Oracle_WT1/instances/instance1/config/OHS/ohs1/moduleconf</p>
<p>[oracle@fusion moduleconf]$ vi admin.conf</p>
<p><strong># Append following lines in admin.conf</strong></p>
<p><span style="color: red;"> &lt;Location /odsm&gt;<br />
</span></p>
<p><span style="color: red;"> SetHandler weblogic-handler<br />
</span></p>
<p><span style="color: red;"> WebLogicCluster fusion:7006<br />
</span></p>
<p><span style="color: red;"> &lt;/Location&gt;<br />
</span></p></blockquote>
<p>&nbsp;</p>
<p><strong>Restart HTTP server.<br />
</strong></p>
<p>Now we can access ODSM through <a href="http://fusion:7777/odsm/faces/odsm.jspx">http://fusion:7777/odsm/faces/odsm.jspx</a></p>
<p>&nbsp;</p>
<p><span style="text-decoration: underline;"><strong style="color: #632423;"><span style="font-size: 15pt;">Extending the Domain with Oracle Virtual Directory</span></strong></span></p>
<p>Start the configuration from <strong>&lt;IDM Oracle Home&gt;/bin</strong></p>
<blockquote><p>[oracle@fusion ~]$ cd /app/fusion/bea_default/Oracle_IDM1/bin/</p>
<p>[oracle@fusion bin]$ ./config.sh &amp;</p></blockquote>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring68.png" alt="" /></p>
<p>Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring69.png" alt="" /></p>
<p>Select &#8220;<strong>Configure Without A Domain</strong>&#8220;. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring70.png" alt="" /></p>
<p>Provide values for Oracle Virtual Directory (OVD) instance. You can accept default values. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring71.png" alt="" /></p>
<p>Deselect email notification and click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring72.png" alt="" /></p>
<p>Select &#8220;<strong>Oracle Virtual Directory</strong>&#8221; and click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring73.png" alt="" /></p>
<p>Select &#8220;<strong>Specify Ports using Configuration File</strong>&#8221; and enter file name as <strong>/home/oracle/staticports.ini</strong></p>
<p>Open a separate terminal/putty window and copy <strong>staticports.ini</strong> file to home directory.</p>
<blockquote><p>[oracle@fusion ~]$ cp /app/fusion/provisioning/idm/idm/Disk1/stage/Response/staticports.ini ~/</p></blockquote>
<p>Click on <strong>View/Edit</strong>.</p>
<p style="background: white;"><span style="color: black;">Edit the staticports.ini file to assign ports 6501 and 7501, as follows.<br />
</span></p>
<blockquote>
<p style="background: white;"><span style="color: black;"># The non-SSL port for Oracle Virtual Directory<br />
</span></p>
<p style="background: white;"><span style="color: black;">Oracle Virtual Directory port = 6501<br />
</span></p>
<p style="background: white;"><span style="color: black;"># The SSL port for Oracle Virtual Directory<br />
</span></p>
<p style="background: white;"><span style="color: black;">Oracle Virtual Directory (SSL) port = 7501<br />
</span></p>
</blockquote>
<p style="background: white;"><span style="color: black;">Click <strong>Save</strong> and then <strong>Next<br />
</strong></span></p>
<p style="background: white;"><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring74.png" alt="" /><span style="color: black;"><br />
</span></p>
<p style="background: white;"><span style="color: black;">Provide OID login details.<br />
</span></p>
<p style="background: white;"><span style="color: black;">Uncheck &#8220;Configure Administrative Server in secure mode&#8221; since we are not using SSL anywhere in this installation. Click <strong>Next</strong><br />
</span></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring75.png" alt="" /></p>
<p>Click <strong>Ok<br />
</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring76.png" alt="" /></p>
<p>Save summary if needed and click <strong>Configure</strong> to start configuration.</p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring77.png" alt="" /></p>
<p>Once installation finishes, click <strong>Next</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring78.png" alt="" /></p>
<p>Save installation summary if needed and click <strong>Finish</strong> to complete the installation.</p>
<p>&nbsp;</p>
<p><span style="font-size: 13pt;"><strong>Registering OVD with the Oracle WebLogic Server Domain<br />
</strong></span></p>
<blockquote><p>[oracle@fusion bin]$ cd /app/fusion/bea_default/instances/ovd_inst1/bin</p>
<p>[oracle@fusion bin]$ <span style="color: red;"><strong>./opmnctl registerinstance -adminHost fusion -adminPort 7001 -adminUsername</strong></span> weblogic</p>
<p>Command requires login to weblogic admin server (fusion):</p>
<p>Username: weblogic</p>
<p>Password:</p>
<p>Registering instance</p>
<p>Command succeeded.</p></blockquote>
<p>&nbsp;</p>
<p><span style="color: black; background-color: white;"><strong>Update the Enterprise Manager Repository URL using the emctl utility with the switchOMS flag.</strong><br />
</span></p>
<p><span style="color: black; background-color: white;">The emctl utility is located under the <em>ORACLE_INSTANCE</em><span style="font-family: Courier New; font-size: 10pt;">/EMAGENT/EMAGENT/bin </span>directory.<br />
</span></p>
<blockquote><p>[oracle@fusion bin]$ cd /app/fusion/bea_default/instances/ovd_inst1/EMAGENT/EMAGENT/bin</p>
<p>[oracle@fusion bin]$ <span style="color: red;"><strong>./emctl switchOMS http://fusion:7001/em/upload</strong></span></p>
<p>Oracle Enterprise Manager 10g Release 5 Grid Control 10.2.0.5.0.</p>
<p>Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved.</p>
<p>SwitchOMS succeeded.</p></blockquote>
<p>&nbsp;</p>
<p>We can now verify whether this instance is registered for monitoring agent.</p>
<p>Login to <strong>http://fusion:7001/em</strong></p>
<p>Click on <strong>Farm-&gt;Agent monitored targets.</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring79.png" alt="" /><br />
<img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring80.png" alt="" /><br />
<img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring81.png" alt="" /><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring82.png" alt="" /></p>
<p>You should be able to see the OID and OVD instances under this. Make sure that the Agent URL is showing up fine. If the status shows as &#8220;Need Configuration&#8221; then click on Configure and then in next screen enter weblogic user credentials. It should now show the correct Agent URL.</p>
<p>&nbsp;</p>
<p><span style="font-size: 13pt;"><strong>Validate the Oracle Virtual Directory Instances<br />
</strong></span></p>
<blockquote><p>[oracle@fusion ~]$ <span style="color: red;"><strong>export ORACLE_HOME=/app/fusion/bea_default/Oracle_IDM1<br />
</strong></span></p>
<p>[oracle@fusion ~]$ <span style="color: red;"><strong>export ORACLE_INSTANCE=/app/fusion/bea_default/instances/ovd_inst1<br />
</strong></span></p>
<p>[oracle@fusion ~]$ <span style="color: red;"><strong>export PATH=$ORACLE_HOME/opmn/bin:$ORACLE_HOME/bin:$ORACLE_HOME/ldap/bin:$ORACLE_HOME/ldap/admin:$PATH<br />
</strong></span></p>
<p>[oracle@fusion bin]$ <span style="color: red;"><strong>ldapbind -h fusion -p 6501 -D &#8220;cn=orcladmin&#8221; –q</strong></span></p>
<p>Please enter bind password:</p>
<p>bind successful</p>
<p>[oracle@fusion bin]$ <span style="color: red;"><strong>ldapbind -h fusion -p 7501 -D &#8220;cn=orcladmin&#8221; -q -U 1<br />
</strong></span></p>
<p>Please enter bind password:</p>
<p>SSL handshake failed</p>
<p><span style="color: red;">This is fine since we did not configure SSL mode.</span></p></blockquote>
<p>&nbsp;</p>
<p><span style="color: #632423; font-size: 13pt;"><strong>Creating ODSM connections to Oracle Virtual Directory<br />
</strong></span></p>
<p>Open <a href="http://fusion:7777/odsm/faces/odsm.jspx">http://fusion:7777/odsm/faces/odsm.jspx</a></p>
<p>Click <strong>Connect to a directory</strong> -&gt; <strong>Create a new connection</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring83.png" alt="" /></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring84.png" alt="" /></p>
<p>Enter details of OVD here.</p>
<p>Name: <strong>fusion-ovd</strong></p>
<p>Host: <strong>fusion</strong></p>
<p>Port: <strong>8899</strong></p>
<p>SSL Enabled: <strong>Unchecked</strong></p>
<p>User Name: <strong>cn=orcladmin</strong></p>
<p>Password: <strong>oracle123</strong></p>
<p>Start Page: <strong>Home</strong></p>
<p>Click <strong>Connect</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring85.png" alt="" /></p>
<p>It will display OVD home page.</p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring86.png" alt="" /></p>
<p>Note: We are skipping the adapter creation for now. We will create them later once needed.</p>
<p>&nbsp;</p>
<p><span style="color: #632423; font-size: 15pt; text-decoration: underline;"><strong>Extending the Domain with Oracle Access Manager<br />
</strong></span></p>
<p>&nbsp;</p>
<p>Start the configuration from <strong>&lt;Middleware Home/oracle_common/commin/bin</strong></p>
<blockquote><p>[oracle@fusion bin]$ cd /app/fusion/bea_default/oracle_common/common/bin</p>
<p>[oracle@fusion bin]$ <span style="color: red;"><strong>./config.sh</strong></span></p></blockquote>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring87.png" alt="" /></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring88.png" alt="" /></p>
<p>Click &#8220;Extend an existing WebLogic domain&#8221; and click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring89.png" alt="" /></p>
<p>Scroll down and select <strong>user_projects-&gt;domains-&gt;IDM_domain</strong>. Click <strong>Next<br />
</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring90.png" alt="" /></p>
<p style="background: white;">Select only &#8220;<strong>Oracle Access Manager with Database Policy Store&#8221;</strong> and click on Next.</p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring91.png" alt="" /></p>
<p>Here you need to provide the database connection details and choose schema owner username. You can keep the name default but make sure to keep a note of it since you will need this later. Choose a password for example oracle123. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring92.png" alt="" /></p>
<p>Now it will test the database connectivity through JDBC.</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring93.png" alt="" /></p>
<p>Once successful, click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring94.png" alt="" /></p>
<p>Select &#8220;Managed Servers, Clusters and Machines&#8221; only and click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring95.png" alt="" /></p>
<p>The first row was from previous configuration of ODS and now there will be another row for OAM. Keep the default port and make a note of it. Enter wls_oam1 for the instance name (or whichever you chose while creating instance) and click <strong>Next</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring96.png" alt="" /></p>
<p>Just click <strong>Next</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring97.png" alt="" /></p>
<p>On the &#8220;<strong>Machines</strong>&#8221; tab make sure that correct hostname is entered. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring98.png" alt="" /></p>
<p>Select <strong>wls_oam1</strong> and click the right arrow.</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring99.png" alt="" /></p>
<p>Now it should look as above. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring100.png" alt="" /></p>
<p>On the summary page Click <strong>Extend</strong>.</p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring101.png" alt="" /></p>
<p>Click <strong>OK</strong> Since we are aware that these are correct ports being used by AdminServer and wls_ods1 instance.</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring102.png" alt="" /></p>
<p>Once configuration finishes, click <strong>Done</strong>.</p>
<p>You can start the managed server by using following command.</p>
<blockquote><p>[oracle@fusion bin]$ <span style="color: red;"><strong>cd /app/fusion/bea_default/user_projects/domains/IDM_domain/bin</strong></span></p>
<p>[oracle@fusion bin]$ .<span style="color: red;"><strong>/startManagedWebLogic.sh wls_oam1</strong></span></p></blockquote>
<p>This will create the directory <strong>/app/fusion/bea_default/user_projects/domains/IDM_domain/servers/wls_oam1</strong></p>
<p>Press CTRL+C to stop the process since we will need to configure startup without password prompt.</p>
<blockquote><p>[oracle@fusion wls_oam1]$ <span style="color: red;"><strong>cd /app/fusion/bea_default/user_projects/domains/IDM_domain/servers/wls_oam1</strong></span></p>
<p>[oracle@fusion wls_oam1]$ <span style="color: red;"><strong>cp ../wls_ods1/security/ boot.properties .</strong></span></p></blockquote>
<p>&nbsp;</p>
<p>Now we can start the managed server without prompting for password.</p>
<blockquote><p>[oracle@fusion bin]$ <span style="color: red;"><strong>cd /app/fusion/bea_default/user_projects/domains/IDM_domain/bin</strong></span></p>
<p>[oracle@fusion bin]$ <span style="color: red;"><strong>nohup ./startManagedWebLogic.sh wls_oam1 &amp;</strong></span></p></blockquote>
<p>&nbsp;</p>
<p><span style="color: #632423; font-size: 13pt;"><strong>Configuring Oracle HTTP Servers to Display Login Page and Oracle Access Manager Console</strong><br />
</span></p>
<p><strong>Append</strong> following entries in /app/fusion/bea_default/Oracle_WT1/instances/<strong>instance1/config/OHS/ohs1/moduleconf/admin.conf</strong></p>
<blockquote><p> <span style="color: red;">&lt;Location /oam&gt;</span></p>
<p><span style="color: red;"> SetHandler weblogic-handler<br />
</span></p>
<p><span style="color: red;"> WebLogicCluster fusion:14100<br />
</span></p>
<p><span style="color: red;"> &lt;/Location&gt;<br />
</span></p>
<p>&nbsp;</p>
<p><span style="color: red;"> &lt;Location /oamconsole&gt;<br />
</span></p>
<p><span style="color: red;"> SetHandler weblogic-handler<br />
</span></p>
<p><span style="color: red;"> WebLogicHost fusion<br />
</span></p>
<p><span style="color: red;"> WebLogicPort 7001<br />
</span></p>
<p><span style="color: red;"> &lt;/Location&gt;<br />
</span></p></blockquote>
<p>&nbsp;</p>
<p><strong>Restart HTTP Server</strong> to bring this to effect.</p>
<p><strong>Note: </strong>There are few other steps as well as per Oracle documentation but we will skip them for now.</p>
<p>&nbsp;</p>
<p><span style="color: #632423; font-size: 15pt; text-decoration: underline;"><strong>Extending the Domain to Configure Oracle Identity Manager and Oracle SOA Suite<br />
</strong></span></p>
<p>&nbsp;</p>
<p>Start the configuration from <strong>&lt;Middleware Home/oracle_common/common/bin</strong></p>
<blockquote><p>[oracle@fusion bin]$ <span style="color: red;"><strong>cd /app/fusion/bea_default/oracle_common/common/bin</strong></span></p>
<p>[oracle@fusion bin]$ <span style="color: red;"><strong>./config.sh &amp;<br />
</strong></span></p></blockquote>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring103.png" alt="" /></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring104.png" alt="" /></p>
<p>Select &#8220;<strong>Extend an existing WebLogic domain</strong>&#8221; and click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring105.png" alt="" /></p>
<p>Scroll down and select <strong>user_projects-&gt;domains-&gt;IDM_domain</strong> and click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring106.png" alt="" /></p>
<p>Select <strong>Oracle Identity Manager</strong>. It will automatically select <strong>Oracle SOA Suite</strong> and <strong>Oracle WSM</strong>. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring107.png" alt="" /></p>
<p>Check all to modify all entries together. Provide database connect details and select a password for all. Accept default value for Schema owner names. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring108.png" alt="" /></p>
<p>Now it will test the database connectivity through JDBC.</p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring109.png" alt="" /></p>
<p>Once JDBC test is successful, click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring110.png" alt="" /></p>
<p>Select only &#8220;<strong>Managed Servers, Clusters and Machines</strong>&#8221; and click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring111.png" alt="" /></p>
<p>Add entries for <strong>soa_server1</strong> and <strong>oim_server1</strong>. As per Oracle documentation you can change them to <strong>wls_soa1</strong> and <strong>wls_oim1</strong> as well. But here we have kept them as default.<strong><br />
</strong></p>
<p>Note the ports and click <strong>Next. </strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring112.png" alt="" /></p>
<p>Just click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring113.png" alt="" /></p>
<p>Since we are using Linux/Unix machine, <strong>delete</strong> entry from above screen. And proceed to <strong>Unix Machine</strong> tab.</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring114.png" alt="" /></p>
<p>Make sure correct hostname is entered here. Click <strong>Next</strong></p>
<p><a href="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring115.png"><img class="alignnone size-full wp-image-880" title="020612_0626_Configuring115" src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring115.png" alt="" width="628" height="472" /></a></p>
<p>Select <strong>oim_server1</strong> and <strong>soa_server1</strong> and click right arrow. (if you had renamed them to <strong>wls_oim1</strong> and <strong>wls_soa1</strong> then you will see those entries instead of this)</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring116.png" alt="" /><strong><br />
</strong></p>
<p>The screen will now look like above. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring117.png" alt="" /><strong><br />
</strong></p>
<p>On Summary screen click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring118.png" alt="" /><strong><br />
</strong></p>
<p>Click<strong> OK</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring119.png" alt="" /><strong><br />
</strong></p>
<p>Once configuration finishes, click <strong>Done<br />
</strong></p>
<p>&nbsp;</p>
<p><span style="color: #632423; font-size: 14pt;"><strong>Configuring Oracle Identity Manager<br />
</strong></span></p>
<p>Now we will configure the Identity Manager from<strong> &lt;IAM Oracle Home&gt;/bin</strong></p>
<blockquote><p>[oracle@fusion bin]$ <strong><span style="color: red;">cd /app/fusion/bea_default/Oracle_IAM/bin</span><br />
</strong></p>
<p>[oracle@fusion bin]$ <span style="color: red;"><strong>./config.sh &amp;</strong></span></p></blockquote>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring120.png" alt="" /><strong><br />
</strong></p>
<p>Click<strong> Next<br />
</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring121.png" alt="" /><strong><br />
</strong></p>
<p>Select only OIM Server and click <strong>Next</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring122.png" alt="" /><strong><br />
</strong></p>
<p>Enter database details in shown format &#8220;<strong>fusion:1521:fusiondb</strong>&#8220;. Select Schema names (keep default) and enter password (oracle123). Make sure to keep a note of these schema names <strong>DEV_OIM</strong> and <strong>DEV_MDS</strong>. We will need these later during provisioning plan. Click <strong>Next<br />
</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring123.png" alt="" /><strong><br />
</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring124.png" alt="" /><strong><br />
</strong></p>
<p>Enter AdminServer details in <strong>t3://&lt;hostname&gt;:&lt;port&gt; </strong>format. Here<strong> t3://fusion:7001<br />
</strong></p>
<p>&nbsp;</p>
<blockquote><p><strong>Important Note: </strong>Before clicking next make sure that AdminServer is running otherwise it may throw following error on next page. Start or restart AdminServer if you see this error.<strong><br />
</strong></p>
<p><span style="color: red;">INST-6180: Error while retrieving OIM Managed Server URL from the domain.</span></p></blockquote>
<p>&nbsp;</p>
<p>Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring125.png" alt="" /><strong><br />
</strong></p>
<p>Enter passwords as follows and keep a note of them since we will require them in provisioning wizard.</p>
<p>OIM Admin password: Oracle123</p>
<p>Keystore Password: oracle123</p>
<p>Enter OIM HTTP URL as <a href="http://fusion:14000">http://fusion:14000</a> (based on port value in previous configuration step). Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring126.png" alt="" /><strong><br />
</strong></p>
<p>Deselect both and click <strong>Next<br />
</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring127.png" alt="" /><strong><br />
</strong></p>
<p>Save the summary if required and click <strong>Configure.<br />
</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring128.png" alt="" /><strong><br />
</strong></p>
<p>Once configuration finishes click <strong>Next<br />
</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring129.png" alt="" /><strong><br />
</strong></p>
<p>Save the configuration summary if needed and click <strong>Finish</strong> to complete the configuration.</p>
<p>&nbsp;</p>
<p><span style="color: #632423; font-size: 15pt; text-decoration: underline;"><strong>Installing and Configuring WebGate<br />
</strong></span></p>
<p>Start Webgate 10g installation from <strong>&lt;repository_location&gt;/installers/webgate</strong></p>
<blockquote><p>[oracle@fusion webgate]$ <span style="color: red;"><strong>cd /mnt/fusion/installers/webgate</strong></span></p>
<p>[oracle@fusion webgate]$ <span style="color: red;"><strong>./Oracle_Access_Manager10_1_4_3_0_linux64_OHS11g_WebGate –gui<br />
</strong></span></p></blockquote>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring130.png" alt="" /></p>
<p>Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring131.png" alt="" /></p>
<p>Enter the OS oracle user details. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring132.png" alt="" /></p>
<p>Select a path where you want to install webgate. We have selected <strong>/app/fusion/webgate</strong>. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring133.png" alt="" /></p>
<p>Click <strong>Next</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring134.png" alt="" /></p>
<p>Open a new terminal/putty window and execute following commands. Once done enter the location /app/fusion/oam_lib in this screen and click <strong>Next</strong> to start the installation.<strong><br />
</strong></p>
<p>&nbsp;</p>
<blockquote><p>[oracle@fusion oam_lib]$ <strong>mkdir /app/fusion/oam_lib</strong></p>
<p>[oracle@fusion oam_lib]$ <strong>ln -s /usr/lib64/libstdc++.so.5 /app/fusion/oam_lib/libstdc++.so.5<br />
</strong></p>
<p>[oracle@fusion oam_lib]$ <strong>ln -s /lib64/libgcc_s.so.1 /app/fusion/oam_lib/libgcc_s.so.1</strong></p></blockquote>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring135.png" alt="" /></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring136.png" alt="" /></p>
<p>Now WebGate Configuration will start. Select &#8220;<strong>Open Mode</strong>&#8221; and click <strong>Next</strong></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring137.png" alt="" /></p>
<p>&nbsp;</p>
<p>Since this screen requires WebGate ID from Access Manager. We need to first create a Webgate Agent in Access Manager. So keep this Java window open and open Oracle Access Manager Console in browser by entering <a href="http://fusion/oamconsole">http://fusion/oamconsole</a> or <a href="http://fusion:7777/oamconsole">http://fusion:7777/oamconsole</a></p>
<p>&nbsp;</p>
<p>Note: We could have done this before starting Webgate installation as well but keeping it here in the guide gives you an idea where we are going to this configuration. Next time when you install, you can do this step before itself.</p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring138.png" alt="" /></p>
<p>Login with weblogic admin user.</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring139.png" alt="" /></p>
<p>Once logged under SSO Agents, click on New &#8220;<strong>OAM 10g Webgate</strong>&#8221; (since we are installing 10g webgate).</p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring140.png" alt="" /></p>
<p>Enter name: <strong>Webgate_sso</strong> or any name</p>
<p>Base URL: <strong>http://fusion:7777<br />
</strong></p>
<p>Host Identifier: <strong>Webgate_sso</strong></p>
<p>Security: <strong>Open</strong></p>
<p>Uncheck all 3 options on right.</p>
<p><strong>Click Apply</strong></p>
<p>&nbsp;</p>
<p>Now <strong>Edit</strong> the same Webgate Agent again. It will show following screen.</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring141.png" alt="" /></p>
<p>&nbsp;</p>
<p>We did not put <span style="text-decoration: underline;">domain</span> since we are using only <a href="http://fusion">http://fusion</a></p>
<p><span style="text-decoration: underline;">Change Max Connections</span> to <strong>4</strong></p>
<p><span style="text-decoration: underline;">Logout URL:</span> Enter following values.</p>
<p><strong>/oamconsole/logout.html<br />
</strong></p>
<p><strong>/console/jsp/common/logout.jsp<br />
</strong></p>
<p><strong>/em/targetauth/eamlogout.jsp<br />
</strong></p>
<p>&nbsp;</p>
<p>Click <strong>Apply<br />
</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020612_0626_Configuring142.png" alt="" /></p>
<p>Once webgate Agent is created in OAM, go back to the already open configuration window and enter following details and click Next to finish the configuration. In case if the configuration window was closed, you can also launch the configuration from command prompt.</p>
<blockquote><p>[oracle@fusion webgate]$ <span style="color: red;"><strong>/app/fusion/webgate/access/oblix/tools/configureWebGate/start_configureWebGate -i /app/fusion/webgate/access -t WebGate</strong></span></p>
<p>Please enter the Mode in which you want the Web Gate to run : 1(Open) 2(Simple) 3(Cert) : <strong>1</strong></p>
<p>Please enter the Web Gate ID : <strong>Webgate_sso</strong></p>
<p>Please enter the Password for this Web Gate : &lt;enter oracle123 or any password here. Make note of it&gt;</p>
<p>Please enter the Access Server ID : <strong>wls_oam1</strong></p>
<p>Please enter the Access Server Host Machine Name : <strong>fusion</strong></p>
<p>Please enter the Access Server Port : <strong>5575</strong></p>
<p>Preparing to connect to Access Server. Please wait.</p>
<p>Web Gate installed Successfully.</p>
<p>Press enter key to continue &#8230;</p></blockquote>
<p>&nbsp;</p>
<p>As per Oracle documentation there are a few steps to use the Webgate and validate but we will skip them for now.</p>
<p>Next step is to prepare Identity and Policy Stores by creating necessary users and groups for provisioning Fusion Applications.</p>
<p>Next: <strong><a title="Preparing Identity and Policy Stores" href="http://www.oratraining.com/blog/2012/02/preparing-identity-and-policy-stores/">Preparing Identity and Policy Stores</a></strong></p>
<p><strong><a title="Oracle Fusion Applications installation – Step by step guide" href="http://www.oratraining.com/blog/2012/02/oracle-fusion-applications-installation-step-by-step-guide/">Installing Oracle Fusion Applications – steps</a></strong></p>
<ol>
<li><strong><a title="Installing Fusion Applications Provisioning Framework" href="http://www.oratraining.com/blog/2012/02/installing-fusion-applications-provisioning-framework/">Installing Fusion Applications Provisioning Framework</a><br />
</strong></li>
<li><strong><a title="Installing Transactional Database" href="http://www.oratraining.com/blog/2012/02/installing-transactional-database/">Installing Oracle 11g Database (Applications Transactional Database)</a><br />
</strong></li>
<li><strong><a title="Running Fusion Applications RCU" href="http://www.oratraining.com/blog/2012/02/running-fusion-applications-rcu/">Running Oracle Fusion Applications Repository Creation Utility (Applications RCU)<br />
</a></strong></li>
<li><strong>Creating another database for Oracle  <strong>Identity Management Infrastructure </strong>(optional)<br />
</strong></li>
<li><strong><a title="Running Repository Creation Utility for Oracle Identity Management components" href="http://www.oratraining.com/blog/2012/02/running-repository-creation-utility-for-oracle-identity-management-components/">Running Repository Creation Utility (RCU) for Oracle Identity Management components</a></strong></li>
<li><strong><a title="Installing Oracle Identity and Access Management components" href="http://www.oratraining.com/blog/2012/02/installing-oracle-identity-and-access-management-components/">Installing Oracle Identity and Access Management Components</a><br />
</strong></li>
<li><strong><a title="Configuring Oracle Identity and Access Management components" href="http://www.oratraining.com/blog/2012/02/configuring-oracle-identity-and-access-management-components/">Configuring Oracle Identity and Access Management components</a><br />
</strong></li>
<li><strong><a title="Preparing Identity and Policy Stores" href="http://www.oratraining.com/blog/2012/02/preparing-identity-and-policy-stores/">Preparing Identity and Policy Stores</a><br />
</strong></li>
<li><strong><a title="Creating a new Provisioning Plan" href="http://www.oratraining.com/blog/2012/02/creating-a-new-provisioning-plan/">Creating a New Provisioning Plan</a><br />
</strong></li>
<li><strong>Provisioning an Applications Environment</strong></li>
</ol>
<div class="printfriendly alignleft"><a href="http://www.oratraining.com/blog/2012/02/configuring-oracle-identity-and-access-management-components/?pfstyle=wp" rel="nofollow" ><img src="//cdn.printfriendly.com/pf-button-both.gif" alt="Print Friendly" /></a></div><div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Configuring+Oracle+Identity+and+Access+Management+components+http%3A%2F%2Foratraining.com%2Fblog%2F%3Fp%3D878" title="Post to Twitter"><img class="nothumb" src="http://www.oratraining.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://digg.com/submit?url=http://www.oratraining.com/blog/2012/02/configuring-oracle-identity-and-access-management-components/&amp;title=Configuring+Oracle+Identity+and+Access+Management+components" title="Post to Digg"><img class="nothumb" src="http://www.oratraining.com/blog/wp-content/plugins/tweet-this/icons/en/digg/tt-digg-big4.png" alt="Post to Digg" /></a></p></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.oratraining.com%2Fblog%2F2012%2F02%2Fconfiguring-oracle-identity-and-access-management-components%2F&amp;title=Configuring%20Oracle%20Identity%20and%20Access%20Management%20components" id="wpa2a_2"><img src="http://www.oratraining.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.oratraining.com/blog/2012/02/configuring-oracle-identity-and-access-management-components/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Creating a new Provisioning Plan</title>
		<link>http://www.oratraining.com/blog/2012/02/creating-a-new-provisioning-plan/</link>
		<comments>http://www.oratraining.com/blog/2012/02/creating-a-new-provisioning-plan/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 19:16:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Application server]]></category>
		<category><![CDATA[Fusion Applications Provisioning]]></category>
		<category><![CDATA[Installing Oracle Applications]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle Applications]]></category>
		<category><![CDATA[Oracle Applications DBA]]></category>
		<category><![CDATA[Oracle DBA]]></category>
		<category><![CDATA[Oracle Fusion Applications]]></category>
		<category><![CDATA[fusion 11g]]></category>
		<category><![CDATA[fusion applications installation]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[installing]]></category>
		<category><![CDATA[oracle applications]]></category>
		<category><![CDATA[oracle apps]]></category>
		<category><![CDATA[Oracle fusion applications]]></category>
		<category><![CDATA[provisioning]]></category>
		<category><![CDATA[provisioning plan]]></category>

		<guid isPermaLink="false">http://www.oratraining.com/blog/?p=617</guid>
		<description><![CDATA[Tweet Oracle Fusion Applications Installation: Creating a new Provisioning Plan Previous: Preparing Identity and Policy Store In order to create a new fusion applications provisioning plan we should launch the provisioning wizard again from &#60;framework_location&#62;/provisioning/bin &#60;framework_location&#62; is same what we mentioned in previous post. i.e. /app/fusion [oracle@fusion $ cd /app/fusion/provisioning/bin [oracle@fusion bin]$ ./provisioningWizard.sh &#160; On Welcome screen, click Next &#160; Select [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.oratraining.com%2Fblog%2F2012%2F02%2Fcreating-a-new-provisioning-plan%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.oratraining.com/blog/2012/02/creating-a-new-provisioning-plan/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.oratraining.com/blog/2012/02/creating-a-new-provisioning-plan/"  data-text="Creating a new Provisioning Plan" data-count="horizontal">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://www.oratraining.com/blog/2012/02/creating-a-new-provisioning-plan/" data-counter="right"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p><span style="font-size: 13pt;"><span style="text-decoration: underline;">Oracle Fusion Applications Installation</span>: <strong>Creating a new Provisioning Plan<br />
</strong></span></p>
<p>Previous: <strong><a title="Preparing Identity and Policy Stores" href="http://www.oratraining.com/blog/2012/02/preparing-identity-and-policy-stores/">Preparing Identity and Policy Store</a></strong></p>
<p>In order to create a new fusion applications provisioning plan we should launch the provisioning wizard again <span style="color: #333333;">from <strong>&lt;<em>framework_location&gt;/provisioning/bin</em></strong></span></p>
<p><span style="color: #333333;"><em>&lt;framework_location&gt; </em>is same what we mentioned in previous post. i.e.<em><strong> /app/fusion</strong></em></span></p>
<p><span style="color: #333333;">[oracle@fusion $ <strong>cd /app/fusion/provisioning/bin</strong><br />
</span></p>
<p><span style="color: #333333;">[oracle@fusion bin]$ <strong>./provisioningWizard.sh</strong><br />
</span></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane1.png" alt="" /></p>
<p>On Welcome screen, click <strong>Next</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane2.png" alt="" /></p>
<p>Select &#8220;Create a New Applications Environment Provisioning Plan&#8221; and click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane3.png" alt="" /></p>
<p>Deselect Security updates notification and click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane4.png" alt="" /></p>
<p>Please note that in Fusion Applications each Applications will include multiple Weblogic Managed Servers, admin servers etc and since our Virtual Machine is not having sufficient capacity to host all these applications, we selected &#8220;Oracle Human Capital Management&#8221;. You can select any product which you wish to configure first. Click <strong>Details </strong>to see the topology details for the selected module.</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane5.png" alt="" /></p>
<p>Click <strong>Close</strong> and then <strong>Next</strong> on configurations screen.</p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane6.png" alt="" /></p>
<p>In this screen provide any name to this provisioning plan. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane7.png" alt="" /><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane8.png" alt="" /></p>
<p>Since we entered &#8220;<strong>weblogic</strong>&#8221; as Node Manager login earlier, provide its credentials.</p>
<p>Installers Directory Location: The stage or repository location. In our case <strong>/mnt/fusion</strong></p>
<p>Oracle Fusion Applications Home: Provide base location for the installation. <strong>/app/fusion</strong></p>
<p>Enter <strong>/app/fusion/instance</strong> for Application Configuration Directory.</p>
<p>As we have noted the location for Webgate Library earlier in Previous post, enter <strong>/app/fusion/oam_lib</strong></p>
<p>We had created IDM Properties file <span style="color: red;"><strong>/app/fusion/bea_default/Oracle_IAM/idmtools/bin/idmDomainConfig.param</strong></span> in previous post.</p>
<p>RDP Password: oracle123</p>
<p>Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane9.png" alt="" /></p>
<p>Accept default values. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane10.png" alt="" /></p>
<p>Enter database details in this screen. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane11.png" alt="" /></p>
<p>Enter same password. Lets&#8217; keep oracle123 again <span style="font-family: Wingdings;">J</span></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane12.png" alt="" /></p>
<p>This will only accept earlier entered ODI Supervisor password. In our case, nothing to worry since we have all passwords as oracle123</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane13.png" alt="" /></p>
<p>Password: oracle (it validated this password)</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane14.png" alt="" /></p>
<p>We are going to have single host for all domains. Enter our hostname &#8220;fusion&#8221; and click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane15.png" alt="" /></p>
<p>Deselect DMZ, enter host as fusion, domain as fusion.local. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane16.png" alt="" /></p>
<p>Change at least the internal names as above to keep it simple. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane17.png" alt="" /></p>
<p>Since we are going to have the simplest installation, deselect Load Balancing. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane18.png" alt="" /></p>
<p>Deselect Proxy. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane19.png" alt="" /></p>
<p>Entered following values only, remaining were populated from <strong>idmDomainConfig.param</strong> file</p>
<p>Super User Name: orcladmin</p>
<p>Checked &#8220;Create Administrators Group&#8221;, &#8220;Create Monitors Group&#8221;, &#8220;Create Operators Group&#8221;</p>
<p>Entered oracle123 in both password fields</p>
<p>Unchecked &#8220;Identity Store Enabled SSL&#8221;, &#8220;OIM Endpoint Enabled SSL&#8221;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane20.png" alt="" /></p>
<p>OIM Administrator User Name: xelsysadmin</p>
<p>OIM Administrator Password: oracle123</p>
<p>OIM Managed Server port: 7004</p>
<p>OIM Endpoint Host: fusion (this is because we did not configure load balancing)</p>
<p>OIM Endpoint Port: 7777 (again because we didn&#8217;t configure load balancing)</p>
<p>IDM Keystore file: Create a dummy file anywhere on Linux and enter its path here.</p>
<p>[oracle@fusion]$ touch /app/fusion/provisioining/dummy</p>
<p>IDM KeyStore Password: Enter any value</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane21.png" alt="" /></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane22.png" alt="" /></p>
<p>OAM Administrator User Name: oamadmin</p>
<p>OAM Administrator Password: oracle123 (as defined earlier)</p>
<p>OAM AAA Server Host: fusion</p>
<p>OAM AAA Server Port: 5575 (Default and also defined earlier)</p>
<p>Access Server Identifier: wls_oam1</p>
<p>Unchecked OPSS Policy Store SSL Enabled<strong><br />
</strong></p>
<p>Deselect Secondary OAM.</p>
<p>OAM Security Mode: <strong>Open</strong></p>
<p>Webgate password: oracle123 (as entered earlier in previous post)</p>
<p>Remaining fields already poputed due to <strong>idmDomainConfig.param </strong>file. Deselect last 2 options. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane23.png" alt="" /></p>
<p>Enter Database Details. Also enter <strong>DEV_MDS</strong> and password (defined earlier during installation in previous post). Click <strong>Next<br />
</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane24.png" alt="" /></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1912_Creatingane25.png" alt="" /></p>
<p>Click Finish to complete creating the plan.</p>
<p>Next: <strong>Provisioning an Applications Environment</strong></p>
<p><strong><a title="Oracle Fusion Applications installation – Step by step guide" href="http://www.oratraining.com/blog/2012/02/oracle-fusion-applications-installation-step-by-step-guide/">Installing Oracle Fusion Applications &#8211; steps</a></strong></p>
<ol>
<li><strong><a title="Installing Fusion Applications Provisioning Framework" href="http://www.oratraining.com/blog/2012/02/installing-fusion-applications-provisioning-framework/">Installing Fusion Applications Provisioning Framework</a><br />
</strong></li>
<li><strong><a title="Installing Transactional Database" href="http://www.oratraining.com/blog/2012/02/installing-transactional-database/">Installing Oracle 11g Database (Applications Transactional Database)</a><br />
</strong></li>
<li><strong><a title="Running Fusion Applications RCU" href="http://www.oratraining.com/blog/2012/02/running-fusion-applications-rcu/">Running Oracle Fusion Applications Repository Creation Utility (Applications RCU)<br />
</a></strong></li>
<li><strong>Creating another database for Oracle  <strong>Identity Management Infrastructure </strong>(optional)<br />
</strong></li>
<li><strong><a title="Running Repository Creation Utility for Oracle Identity Management components" href="http://www.oratraining.com/blog/2012/02/running-repository-creation-utility-for-oracle-identity-management-components/">Running Repository Creation Utility (RCU) for Oracle Identity Management components</a></strong></li>
<li><strong><a title="Installing Oracle Identity and Access Management components" href="http://www.oratraining.com/blog/2012/02/installing-oracle-identity-and-access-management-components/">Installing Oracle Identity and Access Management Components</a><br />
</strong></li>
<li><strong><a title="Configuring Oracle Identity and Access Management components" href="http://www.oratraining.com/blog/2012/02/configuring-oracle-identity-and-access-management-components/">Configuring Oracle Identity and Access Management components</a><br />
</strong></li>
<li><strong><a title="Preparing Identity and Policy Stores" href="http://www.oratraining.com/blog/2012/02/preparing-identity-and-policy-stores/">Preparing Identity and Policy Stores</a><br />
</strong></li>
<li><strong><a title="Creating a new Provisioning Plan" href="http://www.oratraining.com/blog/2012/02/creating-a-new-provisioning-plan/">Creating a New Provisioning Plan</a><br />
</strong></li>
<li><strong>Provisioning an Applications Environment</strong></li>
</ol>
<p><strong><br />
</strong></p>
<div class="printfriendly alignleft"><a href="http://www.oratraining.com/blog/2012/02/creating-a-new-provisioning-plan/?pfstyle=wp" rel="nofollow" ><img src="//cdn.printfriendly.com/pf-button-both.gif" alt="Print Friendly" /></a></div><div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Creating+a+new+Provisioning+Plan+http%3A%2F%2Foratraining.com%2Fblog%2F%3Fp%3D617" title="Post to Twitter"><img class="nothumb" src="http://www.oratraining.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://digg.com/submit?url=http://www.oratraining.com/blog/2012/02/creating-a-new-provisioning-plan/&amp;title=Creating+a+new+Provisioning+Plan" title="Post to Digg"><img class="nothumb" src="http://www.oratraining.com/blog/wp-content/plugins/tweet-this/icons/en/digg/tt-digg-big4.png" alt="Post to Digg" /></a></p></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.oratraining.com%2Fblog%2F2012%2F02%2Fcreating-a-new-provisioning-plan%2F&amp;title=Creating%20a%20new%20Provisioning%20Plan" id="wpa2a_4"><img src="http://www.oratraining.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.oratraining.com/blog/2012/02/creating-a-new-provisioning-plan/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Running Repository Creation Utility for Oracle Identity Management components</title>
		<link>http://www.oratraining.com/blog/2012/02/running-repository-creation-utility-for-oracle-identity-management-components/</link>
		<comments>http://www.oratraining.com/blog/2012/02/running-repository-creation-utility-for-oracle-identity-management-components/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 11:48:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Application server]]></category>
		<category><![CDATA[Fusion Applications Provisioning]]></category>
		<category><![CDATA[Installing Oracle Applications]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle Applications]]></category>
		<category><![CDATA[Oracle Applications DBA]]></category>
		<category><![CDATA[Oracle DBA]]></category>
		<category><![CDATA[Oracle Fusion Applications]]></category>
		<category><![CDATA[Repository Creation Utilitiy]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[fusion 11g]]></category>
		<category><![CDATA[fusion applications installation]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[installing]]></category>
		<category><![CDATA[installing oracle fusion applications]]></category>
		<category><![CDATA[oracle applications]]></category>
		<category><![CDATA[oracle apps]]></category>
		<category><![CDATA[rcu]]></category>
		<category><![CDATA[repository creation utility]]></category>

		<guid isPermaLink="false">http://www.oratraining.com/blog/?p=581</guid>
		<description><![CDATA[Tweet Oracle Fusion Applications installation: Running Repository Creation Utility (RCU) for Oracle Identity Management Components Previous: Running Oracle Fusion Applications Repository Creation Utility (Applications RCU) Important Note: We are NOT creating a separate database to host Oracle Identity Management schemas. Instead we will create these schemas in our Fusion Database (fusiondb) itself since the schema names [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.oratraining.com%2Fblog%2F2012%2F02%2Frunning-repository-creation-utility-for-oracle-identity-management-components%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.oratraining.com/blog/2012/02/running-repository-creation-utility-for-oracle-identity-management-components/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.oratraining.com/blog/2012/02/running-repository-creation-utility-for-oracle-identity-management-components/"  data-text="Running Repository Creation Utility for Oracle Identity Management components" data-count="horizontal">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://www.oratraining.com/blog/2012/02/running-repository-creation-utility-for-oracle-identity-management-components/" data-counter="right"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p><span style="font-size: 13pt;"><span style="text-decoration: underline;">Oracle Fusion Applications installation</span>:<strong> Running Repository Creation Utility (RCU) for Oracle Identity Management Components</strong></span></p>
<p>Previous: <strong><a href="http://www.oratraining.com/blog/2012/02/installing-transactional-database/running-fusion-applications-rcu">Running Oracle Fusion Applications Repository Creation Utility (Applications RCU)</a></strong></p>
<blockquote><p><span style="color: red;"><strong>Important Note:</strong></span> We are NOT creating a separate database to host Oracle Identity Management schemas. Instead we will create these schemas in our Fusion Database (fusiondb) itself since the schema names are distinct compared to Fusion Application schemas. We will save a lot of Memory for our Virtual Machine.</p>
<p>In order to run RCU for Identity Management on same database, we must set the open_cursors parameter to 800.</p>
<p>Open a new database session and set following values.</p>
<p>SQL&gt; show parameter open_cursors</p>
<p>NAME TYPE VALUE</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>open_cursors integer 500</p>
<p>SQL&gt; alter system set open_cursors=800 scope=both sid=&#8217;*';</p>
<p>System altered.</p></blockquote>
<p>Launch Repository Creation Utility for Oracle Identity Management from <strong>&lt;Framework_location&gt;/fmw_rcu/bin</strong> location</p>
<p>[oracle@fusion bin]$ /app/fusion/provisioning/fmw_rcu/bin/rcu &amp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1144_RunningRepo1.png" alt="" /></p>
<p>Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1144_RunningRepo2.png" alt="" /></p>
<p>Select <strong>Create</strong> and click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1144_RunningRepo3.png" alt="" /></p>
<p>Enter the database information (for same <strong>fusiondb</strong> database as entered earlier. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1144_RunningRepo4.png" alt="" /></p>
<p>Next it will check for required prerequisites. Upon successful check click <strong>OK</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1144_RunningRepo5.png" alt="" /></p>
<p>Click Idnentity Management. It will select few other required components also automatically. Click <strong>Next</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1144_RunningRepo6.png" alt="" /></p>
<p>Again it will check prerequisites for the selected components. Upon successful check click <strong>OK<br />
</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1144_RunningRepo7.png" alt="" /></p>
<p>Enter same password oracle123 for ease of remembering. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1144_RunningRepo8.png" alt="" /></p>
<p>No need to change anything in this screen. Click <strong>Next</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1144_RunningRepo9.png" alt="" /></p>
<p>Click <strong>OK</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1144_RunningRepo10.png" alt="" /></p>
<p>It will create the required tablespaces. Once finished click <strong>OK</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1144_RunningRepo11.png" alt="" /></p>
<p>On this summary screen click <strong>Create</strong> to create required schemas and load data.</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1144_RunningRepo12.png" alt="" /></p>
<p>This will be quicker than earlier RCU. Once finished proceed to next screen.</p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_1144_RunningRepo13.png" alt="" /></p>
<p>Finally it will display Completion Summary. Clock <strong>Close</strong></p>
<p>Next: <strong>Installing Oracle Identity and Access Management Components</strong></p>
<p><strong><a title="Oracle Fusion Applications installation – Step by step guide" href="http://www.oratraining.com/blog/2012/02/oracle-fusion-applications-installation-step-by-step-guide/">Installing Oracle Fusion Applications &#8211; steps</a></strong></p>
<ol>
<li><strong><a title="Installing Fusion Applications Provisioning Framework" href="http://www.oratraining.com/blog/2012/02/installing-fusion-applications-provisioning-framework/">Installing Fusion Applications Provisioning Framework</a><br />
</strong></li>
<li><strong><a title="Installing Transactional Database" href="http://www.oratraining.com/blog/2012/02/installing-transactional-database/">Installing Oracle 11g Database (Applications Transactional Database)</a><br />
</strong></li>
<li><strong><a title="Running Fusion Applications RCU" href="http://www.oratraining.com/blog/2012/02/running-fusion-applications-rcu/">Running Oracle Fusion Applications Repository Creation Utility (Applications RCU)<br />
</a></strong></li>
<li><strong>Creating another database for Oracle  <strong>Identity Management Infrastructure </strong>(optional)<br />
</strong></li>
<li><strong><a title="Running Repository Creation Utility for Oracle Identity Management components" href="http://www.oratraining.com/blog/2012/02/running-repository-creation-utility-for-oracle-identity-management-components/">Running Repository Creation Utility (RCU) for Oracle Identity Management components</a></strong></li>
<li><strong><a title="Installing Oracle Identity and Access Management components" href="http://www.oratraining.com/blog/2012/02/installing-oracle-identity-and-access-management-components/">Installing Oracle Identity and Access Management Components</a><br />
</strong></li>
<li><strong><a title="Configuring Oracle Identity and Access Management components" href="http://www.oratraining.com/blog/2012/02/configuring-oracle-identity-and-access-management-components/">Configuring Oracle Identity and Access Management components</a><br />
</strong></li>
<li><strong><a title="Preparing Identity and Policy Stores" href="http://www.oratraining.com/blog/2012/02/preparing-identity-and-policy-stores/">Preparing Identity and Policy Stores</a><br />
</strong></li>
<li><strong><a title="Creating a new Provisioning Plan" href="http://www.oratraining.com/blog/2012/02/creating-a-new-provisioning-plan/">Creating a New Provisioning Plan</a><br />
</strong></li>
<li><strong>Provisioning an Applications Environment</strong></li>
</ol>
<div class="printfriendly alignleft"><a href="http://www.oratraining.com/blog/2012/02/running-repository-creation-utility-for-oracle-identity-management-components/?pfstyle=wp" rel="nofollow" ><img src="//cdn.printfriendly.com/pf-button-both.gif" alt="Print Friendly" /></a></div><div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Running+Repository+Creation+Utility+for+Oracle+Identity+Management+components+http%3A%2F%2Foratraining.com%2Fblog%2F%3Fp%3D581" title="Post to Twitter"><img class="nothumb" src="http://www.oratraining.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://digg.com/submit?url=http://www.oratraining.com/blog/2012/02/running-repository-creation-utility-for-oracle-identity-management-components/&amp;title=Running+Repository+Creation+Utility+for+Oracle+Identity+Management+components" title="Post to Digg"><img class="nothumb" src="http://www.oratraining.com/blog/wp-content/plugins/tweet-this/icons/en/digg/tt-digg-big4.png" alt="Post to Digg" /></a></p></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.oratraining.com%2Fblog%2F2012%2F02%2Frunning-repository-creation-utility-for-oracle-identity-management-components%2F&amp;title=Running%20Repository%20Creation%20Utility%20for%20Oracle%20Identity%20Management%20components" id="wpa2a_6"><img src="http://www.oratraining.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.oratraining.com/blog/2012/02/running-repository-creation-utility-for-oracle-identity-management-components/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Running Fusion Applications RCU</title>
		<link>http://www.oratraining.com/blog/2012/02/running-fusion-applications-rcu/</link>
		<comments>http://www.oratraining.com/blog/2012/02/running-fusion-applications-rcu/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 08:43:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Installing Oracle Applications]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle Applications]]></category>
		<category><![CDATA[Oracle Applications DBA]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Oracle DBA]]></category>
		<category><![CDATA[Oracle Fusion Applications]]></category>
		<category><![CDATA[Repository Creation Utilitiy]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[applications transactional database]]></category>
		<category><![CDATA[install oracle fusion applications]]></category>
		<category><![CDATA[installing fusion]]></category>
		<category><![CDATA[oracle applications]]></category>
		<category><![CDATA[oracle apps]]></category>
		<category><![CDATA[Oracle database]]></category>
		<category><![CDATA[Oracle fusion applications]]></category>
		<category><![CDATA[rcu]]></category>
		<category><![CDATA[repository creation utility]]></category>

		<guid isPermaLink="false">http://www.oratraining.com/blog/?p=548</guid>
		<description><![CDATA[Tweet Oracle Fusion Applications Installation: Running Fusion Applications Repository Creation Utility (Apps RCU) Previous: Installing Oracle 11g Database (Applications Transactional Database) Create a directory on physical partition and call it APPS_RCU_HOME [oracle@fusion linux]$ mkdir /app/fusion/provisioning/apps_rcu &#160; Go to repository_location/installers/apps_rcu and locate the rcuHome_fusionapps_dbinstall.zip file. This file was staged when you created the installer repository. &#160; Extract [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.oratraining.com%2Fblog%2F2012%2F02%2Frunning-fusion-applications-rcu%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.oratraining.com/blog/2012/02/running-fusion-applications-rcu/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.oratraining.com/blog/2012/02/running-fusion-applications-rcu/"  data-text="Running Fusion Applications RCU" data-count="horizontal">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://www.oratraining.com/blog/2012/02/running-fusion-applications-rcu/" data-counter="right"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p><span style="color: #404040; font-size: 13pt;"><span style="text-decoration: underline;">Oracle Fusion Applications Installation</span>:<strong> Running Fusion Applications Repository Creation Utility (Apps RCU)<br />
</strong></span></p>
<p>Previous: <strong><a title="Installing Transactional Database" href="http://www.oratraining.com/blog/2012/02/installing-transactional-database/">Installing Oracle 11g Database (Applications Transactional Database)</a></strong></p>
<p>Create a directory on physical partition and call it <span style="font-family: Courier New; font-size: 10pt;"><em>APPS_RCU_HOME</em></span></p>
<p><span style="color: red;">[oracle@fusion linux]$ mkdir /app/fusion/provisioning/apps_rcu<br />
</span></p>
<p>&nbsp;</p>
<p>Go to <em>repository_location</em>/installers/apps_rcu and locate the rcuHome_fusionapps_dbinstall.zip file. This file was staged when you created the installer repository.</p>
<p>&nbsp;</p>
<p>Extract the contents of rcuHome_fusionapps_dbinstall.zip to a directory (APPS_RCU_HOME) on the database server. All dependent components that Applications RCU needs are included in this zipped file.</p>
<p>&nbsp;</p>
<p><span style="color: red;">[oracle@fusion apps_rcu]$ cd /app/fusion/provisioning/apps_rcu<br />
</span></p>
<p><span style="color: red;">[oracle@fusion apps_rcu]$ unzip /mnt/fusion/installers/apps_rcu/linux/rcuHome_fusionapps_linux.zip<br />
</span></p>
<p>&nbsp;</p>
<p><span style="color: black;">Create a temporary directory on the database server. Make a note of the location.<br />
</span></p>
<p><span style="color: black;">You will need to enter this location when you specify a value for <strong>FUSIONAPPS_DBINSTALL_DP_DIR</strong><br />
</span></p>
<p>&nbsp;</p>
<p><span style="color: red;">[oracle@fusion apps_rcu]$ mkdir <strong>/app/fusion/provisioning/apps_rcu/dp_dir</strong><br />
</span></p>
<p>&nbsp;</p>
<p><span style="color: black;">Locate and copy APPS_RCU_HOME/rcu/integration/fusionapps/export_<br />
</span></p>
<p><span style="color: black;">fusionapps_dbinstall.zip to the directory you specified for FUSIONAPPS_<br />
</span></p>
<p><span style="color: black;">DBINSTALL_DP_DIR.<br />
</span></p>
<p>&nbsp;</p>
<p><span style="color: black;">Unzip export_fusionapps_dbinstall.zip to FUSIONAPPS_DBINSTALL_DP_DIR.<br />
</span></p>
<p>&nbsp;</p>
<p><span style="color: red;">[oracle@fusion dp_dir]$ cd /app/fusion/provisioning/apps_rcu/dp_dir<br />
</span></p>
<p><span style="color: red;">[oracle@fusion dp_dir]$ unzip /app/fusion/provisioning/apps_rcu/rcu/integration/fusionapps/export_fusionapps_dbinstall.zip<br />
</span></p>
<p>&nbsp;</p>
<p><span style="font-size: 10pt;"><span style="font-family: Times New Roman;">Go to </span><span style="font-family: Courier New;">APPS_RCU_HOME/rcu/integration/biapps/schema </span><span style="font-family: Times New Roman;">and locate the<br />
</span></span></p>
<p><span style="font-family: Times New Roman; font-size: 10pt;">otbi.dmp file.<br />
</span></p>
<p><span style="font-size: 10pt;"><span style="font-family: Times New Roman;">Copy otbi.dmp to </span><span style="font-family: Courier New;">FUSIONAPPS_DBINSTALL_DP_DIR </span><span style="font-family: Times New Roman;">(where you unzipped the<br />
</span></span></p>
<p><span style="font-family: Times New Roman; font-size: 10pt;">contents of export_fusionapps_dbinstall.zip).<br />
</span></p>
<p>&nbsp;</p>
<p><span style="color: red;">[oracle@fusion dp_dir]$ cp -p ../rcu/integration/biapps/schema/otbi.dmp /app/fusion/provisioning/apps_rcu/dp_dir/<br />
</span></p>
<p>&nbsp;</p>
<p><strong>Launch Repository Creation Utility (RCU)<br />
</strong></p>
<p>&nbsp;</p>
<p><span style="color: red;">[oracle@fusion bin]$ cd /app/fusion/provisioning/apps_rcu/bin<br />
</span></p>
<p><span style="color: red;">[oracle@fusion bin]$ ./rcu<br />
</span></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0837_RunningFusi1.png" alt="" /></p>
<p>Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0837_RunningFusi2.png" alt="" /></p>
<p>Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0837_RunningFusi3.png" alt="" /></p>
<p>Enter same details as entered while creating the database in previous step. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0837_RunningFusi4.png" alt="" /></p>
<p>This screen will check pre-requisites. Click <strong>Ok</strong> once successful.</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0837_RunningFusi5.png" alt="" /></p>
<p>Select all components in this Window.</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0837_RunningFusi6.png" alt="" /></p>
<p>It will look as above when you collapse all parent values. Click <strong>Next</strong></p>
<p>&nbsp;</p>
<blockquote><p><span style="color: #ff0000;"><strong>Important Note:</strong></span> If you had reduced SGA and PGA size after DB installation then this prerequisites check may fail with following error.</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0837_RunningFusi7.png" alt="" /></p>
<p>RCU-6083:Failed &#8211; Check prerequisites requirement for selected component:FUSIONAPPS</p>
<p>RCU-6107:DB Init Param Prerequisite failure for: pga_aggregate_target</p>
<p>Current Value is 2147483648. It should be greater than or equal to 4294967296.</p>
<p>RCU-6107:DB Init Param Prerequisite failure for: sga_target</p>
<p>Current Value is 2147483648. It should be greater than or equal to 9663676416.</p>
<p>&nbsp;</p>
<p>To fix this issue, we need to modify the minimum requirement of SGA and PGA in installer pre-requisite config file located at /app/fusion/provisioning/<strong>apps_rcu/rcu/integration/fusionapps/fusionapps.xml</strong></p>
<p>&nbsp;</p>
<p>Change these values as follows.</p>
<p><span style="font-size: 9pt;"> &lt;DBPrerequisite COMPARE_OPERATOR=&#8221;GE&#8221; DATA_TYPE=&#8221;NUMBER&#8221; PREREQ_TYPE=&#8221;InitParameter&#8221;&gt;<br />
</span></p>
<p><span style="font-size: 9pt;"> &lt;ValidIf DBTYPE=&#8221;ORACLE&#8221;/&gt;<br />
</span></p>
<p><span style="font-size: 9pt;"> &lt;PrereqIdentifier&gt;sga_target&lt;/PrereqIdentifier&gt;<br />
</span></p>
<p><span style="font-size: 9pt;"> &lt;PrereqValue&gt;<span style="color: red;"><strong>2147483648</strong></span>&lt;/PrereqValue&gt;<br />
</span></p>
<p><span style="font-size: 9pt;"> &lt;/DBPrerequisite&gt;<br />
</span></p>
<p><span style="font-size: 9pt;">…<br />
</span></p>
<p><span style="font-size: 9pt;"> &lt;DBPrerequisite COMPARE_OPERATOR=&#8221;GE&#8221; DATA_TYPE=&#8221;NUMBER&#8221; PREREQ_TYPE=&#8221;InitParameter&#8221;&gt;<br />
</span></p>
<p><span style="font-size: 9pt;"> &lt;ValidIf DBTYPE=&#8221;ORACLE&#8221;/&gt;<br />
</span></p>
<p><span style="font-size: 9pt;"> &lt;PrereqIdentifier&gt;pga_aggregate_target&lt;/PrereqIdentifier&gt;<br />
</span></p>
<p><span style="font-size: 9pt;"> &lt;PrereqValue&gt;<span style="color: red;"><strong>2147483648</strong></span>&lt;/PrereqValue&gt;<br />
</span></p>
<p><span style="font-size: 9pt;"> &lt;/DBPrerequisite&gt;<br />
</span></p></blockquote>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0837_RunningFusi8.png" alt="" /><span style="font-size: 9pt;"><br />
</span></p>
<p>The prerequisites check should finish successfully. Click <strong>Ok</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0837_RunningFusi9.png" alt="" /><span style="font-size: 9pt;"><br />
</span></p>
<p>Enter same password for keeping it simplefor now. Click <strong>Next</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0837_RunningFusi10.png" alt="" /><span style="font-size: 9pt;"><br />
</span></p>
<p>Open another terminal window. Create following directories for custom environment variables.</p>
<p>[oracle@fusion database]$ mkdir <span style="color: red;"><strong>/app/fusion/database/applcp</strong></span></p>
<p>[oracle@fusion database]$ mkdir <span style="color: red;"><strong>/app/fusion/database/appllog</strong></span></p>
<p>[oracle@fusion database]$ mkdir <span style="color: red;"><strong>/app/fusion/database/keyflexcombfilter</strong></span></p>
<p>[oracle@fusion database]$ mkdir <span style="color: red;"><strong>/app/fusion/database/obieebkp</strong></span></p>
<p>&nbsp;</p>
<p>Specify these following values in the same screen under <strong>Fusion Applications Component</strong> (expect first value which is the temporary DP directory created before <span style="color: red;"><strong>/app/fusion/provisioning/apps_rcu/dp_dir</strong></span>)</p>
<p>&nbsp;</p>
<p><strong>Supervisor Password</strong>: You must enter the same password you set up as ODI SUPERVISOR in Applications RCU. Since we kept all passwords as oracle123, nothing much to remember. Enter the same password.</p>
<p><strong>Work Repository Password</strong>: Default = None. You must enter the same password set up as ODI SUPERVISOR in Applications RCU.</p>
<p><strong>Oracle Transactional BI<br />
</strong></p>
<p>Directory on the database server where Oracle Transactional Business Intelligence import and export files are stored. Enter <span style="color: red;"><strong>/app/fusion/provisioning/apps_rcu/dp_dir</strong></span> again.<span style="font-size: 9pt;"><br />
</span></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0837_RunningFusi11.png" alt="" /><span style="font-size: 9pt;"><br />
</span></p>
<p>Change nothing in this page. Click <strong>Next<br />
</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0837_RunningFusi12.png" alt="" /><span style="font-size: 9pt;"><br />
</span></p>
<p>Click <strong>OK</strong></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0837_RunningFusi13.png" alt="" /><span style="font-size: 9pt;"><br />
</span></p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0837_RunningFusi14.png" alt="" /><span style="font-size: 9pt;"><br />
</span></p>
<p>Now it will create the required tablespaces. Click <strong>OK</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0837_RunningFusi15.png" alt="" /><span style="font-size: 9pt;"><br />
</span></p>
<p>Once Tablespaces are created, next Summary screen will appear for creating the required Schemas. Click <strong>Create</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0837_RunningFusi16.png" alt="" /><span style="font-size: 9pt;"><br />
</span></p>
<p>It may take a couple of hours or even more based on the available memory and CPU for the VM and host machine.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0837_RunningFusi17.png" alt="" /><span style="font-size: 9pt;"><br />
</span></p>
<p>&nbsp;</p>
<p>Once finished, a completion summary screen will appear. It will show details for each components and completion states. Click <strong>Close</strong></p>
<p>Next: <strong><a title="Running Repository Creation Utility for Oracle Identity Management components" href="http://www.oratraining.com/blog/2012/02/running-repository-creation-utility-for-oracle-identity-management-components/">Running Repository Creation Utility (RCU) for Oracle Identity Management components</a></strong></p>
<p><strong><a title="Oracle Fusion Applications installation – Step by step guide" href="http://www.oratraining.com/blog/2012/02/oracle-fusion-applications-installation-step-by-step-guide/">Installing Oracle Fusion Applications &#8211; steps</a></strong></p>
<ol>
<li><strong><a title="Installing Fusion Applications Provisioning Framework" href="http://www.oratraining.com/blog/2012/02/installing-fusion-applications-provisioning-framework/">Installing Fusion Applications Provisioning Framework</a><br />
</strong></li>
<li><strong><a title="Installing Transactional Database" href="http://www.oratraining.com/blog/2012/02/installing-transactional-database/">Installing Oracle 11g Database (Applications Transactional Database)</a><br />
</strong></li>
<li><strong><a title="Running Fusion Applications RCU" href="http://www.oratraining.com/blog/2012/02/running-fusion-applications-rcu/">Running Oracle Fusion Applications Repository Creation Utility (Applications RCU)<br />
</a></strong></li>
<li><strong>Creating another database for Oracle  <strong>Identity Management Infrastructure </strong>(optional)<br />
</strong></li>
<li><strong><a title="Running Repository Creation Utility for Oracle Identity Management components" href="http://www.oratraining.com/blog/2012/02/running-repository-creation-utility-for-oracle-identity-management-components/">Running Repository Creation Utility (RCU) for Oracle Identity Management components</a></strong></li>
<li><strong><a title="Installing Oracle Identity and Access Management components" href="http://www.oratraining.com/blog/2012/02/installing-oracle-identity-and-access-management-components/">Installing Oracle Identity and Access Management Components</a><br />
</strong></li>
<li><strong><a title="Configuring Oracle Identity and Access Management components" href="http://www.oratraining.com/blog/2012/02/configuring-oracle-identity-and-access-management-components/">Configuring Oracle Identity and Access Management components</a><br />
</strong></li>
<li><strong><a title="Preparing Identity and Policy Stores" href="http://www.oratraining.com/blog/2012/02/preparing-identity-and-policy-stores/">Preparing Identity and Policy Stores</a><br />
</strong></li>
<li><strong><a title="Creating a new Provisioning Plan" href="http://www.oratraining.com/blog/2012/02/creating-a-new-provisioning-plan/">Creating a New Provisioning Plan</a><br />
</strong></li>
<li><strong>Provisioning an Applications Environment</strong></li>
</ol>
<div class="printfriendly alignleft"><a href="http://www.oratraining.com/blog/2012/02/running-fusion-applications-rcu/?pfstyle=wp" rel="nofollow" ><img src="//cdn.printfriendly.com/pf-button-both.gif" alt="Print Friendly" /></a></div><div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Running+Fusion+Applications+RCU+http%3A%2F%2Foratraining.com%2Fblog%2F%3Fp%3D548" title="Post to Twitter"><img class="nothumb" src="http://www.oratraining.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://digg.com/submit?url=http://www.oratraining.com/blog/2012/02/running-fusion-applications-rcu/&amp;title=Running+Fusion+Applications+RCU" title="Post to Digg"><img class="nothumb" src="http://www.oratraining.com/blog/wp-content/plugins/tweet-this/icons/en/digg/tt-digg-big4.png" alt="Post to Digg" /></a></p></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.oratraining.com%2Fblog%2F2012%2F02%2Frunning-fusion-applications-rcu%2F&amp;title=Running%20Fusion%20Applications%20RCU" id="wpa2a_8"><img src="http://www.oratraining.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.oratraining.com/blog/2012/02/running-fusion-applications-rcu/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Installing Transactional Database</title>
		<link>http://www.oratraining.com/blog/2012/02/installing-transactional-database/</link>
		<comments>http://www.oratraining.com/blog/2012/02/installing-transactional-database/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 05:32:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Fusion Applications Provisioning]]></category>
		<category><![CDATA[Installing Oracle Applications]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle Applications]]></category>
		<category><![CDATA[Oracle Applications DBA]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Oracle DBA]]></category>
		<category><![CDATA[Oracle Fusion Applications]]></category>
		<category><![CDATA[Oracle RAC]]></category>
		<category><![CDATA[11g]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[applications transactional database]]></category>
		<category><![CDATA[fusion 11g]]></category>
		<category><![CDATA[install oracle database]]></category>
		<category><![CDATA[installing oracle database]]></category>
		<category><![CDATA[installing oracle fusion applications]]></category>
		<category><![CDATA[oracle 11g]]></category>
		<category><![CDATA[oracle applications]]></category>
		<category><![CDATA[oracle apps]]></category>
		<category><![CDATA[Oracle database]]></category>
		<category><![CDATA[Oracle fusion applications]]></category>
		<category><![CDATA[RAC]]></category>
		<category><![CDATA[transactional database]]></category>

		<guid isPermaLink="false">http://www.oratraining.com/blog/?p=524</guid>
		<description><![CDATA[Tweet Oracle Fusion Applications Installation: Installing Transactional Database Previous: Installing Fusion Applications Provisioning Framework To install Applications Transactional Database we need to run Oracle Fusion Applications Provisioning Wizard from &#60;framework_location&#62;/provisioning/bin &#60;framework_location&#62; is same what we mentioned in previous post. i.e. /app/fusion [oracle@fusion $ cd /app/fusion/provisioning/bin We need to temporarily set JAVA_HOME to jdk6 directory shipped [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.oratraining.com%2Fblog%2F2012%2F02%2Finstalling-transactional-database%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.oratraining.com/blog/2012/02/installing-transactional-database/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.oratraining.com/blog/2012/02/installing-transactional-database/"  data-text="Installing Transactional Database" data-count="horizontal">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://www.oratraining.com/blog/2012/02/installing-transactional-database/" data-counter="right"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p><span style="color: #404040; font-size: 13pt;"><span style="text-decoration: underline;">Oracle Fusion Applications Installation</span>:<strong> Installing Transactional Database<br />
</strong></span></p>
<p>Previous: <strong><a href="http://www.oratraining.com/blog/2012/02/creating-oracle-virtualbox-virtual-machine-with-oracle-linux/installing-fusion-applications-provisioning-framework">Installing Fusion Applications Provisioning Framework</a></strong></p>
<p>To install Applications Transactional Database we need to run <strong>Oracle Fusion Applications Provisioning Wizard</strong> from <strong>&lt;<em>framework_location&gt;/provisioning/bin</em></strong><em><br />
</em></p>
<p><em>&lt;framework_location&gt; </em>is same what we mentioned in previous post. i.e.<em> /app/fusion</em></p>
<p>[oracle@fusion $ <strong>cd /app/fusion/provisioning/bin</strong></p>
<p>We need to temporarily set JAVA_HOME to jdk6 directory shipped with the installation media</p>
<p>[oracle@fusion bin]$ <strong>export JAVA_HOME=/mnt/fusion/jdk6</strong></p>
<p>[oracle@fusion bin]$ <strong>./provisioningWizard.sh</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0528_InstallingT1.png" alt="" /></p>
<p>Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0528_InstallingT2.png" alt="" /></p>
<p>Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0528_InstallingT3.png" alt="" /></p>
<p>Deselect security updates notification. Click <strong>Next</strong><br />
<img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0528_InstallingT4.png" alt="" /></p>
<p>Provide database listener port (default is 1521, if you change this port please note to enter the new port in future screens where we have mentioned 1521)</p>
<p>Installer directory location will be the same as you created the stage setup or provisioning repository.</p>
<p>Provide a location for Oracle Base. Press TAB, next values should automatically be populated, if not, go back and click next again.</p>
<p>Enter <strong>dba</strong> as OSDBA group.</p>
<p>We have specified &#8220;<strong>fusiondb</strong>&#8221; as our database name. please note that if you are using any other name then don&#8217;t forget to change it in further screens whenever we have mentioned fusiondb.</p>
<p>You can keep simple password like &#8220;oracle&#8221; also but try to keep something like &#8220;<strong>oracle123</strong>&#8221; for all passwords so that it will follow requirements for all further passwords and it will be easier for you to remember all passwords in further installations.</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0528_InstallingT5.png" alt="" /></p>
<p>Next it will finish the pre-requisite checks. Click <strong>Next</strong></p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0528_InstallingT6.png" alt="" /></p>
<p>On next page, you can <strong>Save</strong> the summary. Click <strong>Install</strong> to start the installation.</p>
<p>Note: This will install the software as well as create a database named &#8220;fusiondb&#8221; which we provided earlier.</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0528_InstallingT7.png" alt="" /></p>
<p>At this point it will prompt for running root.sh as root user.</p>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0528_InstallingT8.png" alt="" /></p>
<p>Do not press Ok until run the following as root user in separate terminal window. Once following is executed, press <strong>Ok </strong>to continue.</p>
<p>&nbsp;</p>
<blockquote><p>[root@fusion ~]# /app/fusion/database/product/11.2.0/dbhome_1/root.sh</p>
<p>Check /app/fusion/database/product/11.2.0/dbhome_1/install/root_fusion_2012-01-1 5_12-29-28.log for the output of root script</p>
<p>[root@fusion ~]# tail -f /app/fusion/database/product/11.2.0/dbhome_1/install/root_fusion_2012-01-15_12-29-28.log</p>
<p>The following environment variables are set as:</p>
<p>ORACLE_OWNER= oracle</p>
<p>ORACLE_HOME= /app/fusion/database/product/11.2.0/dbhome_1</p>
<p>&nbsp;</p>
<p>Creating /etc/oratab file&#8230;</p>
<p>Entries will be added to the /etc/oratab file as needed by</p>
<p>Database Configuration Assistant when a database is created</p>
<p>Finished running generic part of root script.</p>
<p>Now product-specific root actions will be performed.</p>
<p>Finished product-specific root actions.</p></blockquote>
<p>&nbsp;</p>
<p><img src="http://www.oratraining.com/blog/wp-content/uploads/2012/02/020212_0528_InstallingT9.png" alt="" /><strong><br />
</strong></p>
<p>It may take a few hours (at least on a non-high end host machine) and then installation will finish.</p>
<blockquote><p><strong style="color: red;">Important Note: </strong><span style="color: red;">After installation is finished we reduced the SGA and PGA (from 10GB to 2GB). We are doing this since we are running on a VM and have allocated total 2.5 or 3 GB RAM only. This is not recommended for production installation but since this is only a demo/development installation, you can safely do this. If you wish to keep it 10GB you can do it but this will increase the swap usage exponentially.</span></p>
<p><span style="color: red;">Since we are reducing the size of SGA and PGA, next step (RCU) may fail in pre-requisite check. So we will need to change the pre-req check xml file to look for lower value. We will explain this in next post.</span></p></blockquote>
<p>Next:  <strong><a href="running-fusion-applications-rcu">Running Oracle Fusion Applications Repository Creation Utility (Applications RCU)</a></strong></p>
<p><strong><a title="Oracle Fusion Applications installation – Step by step guide" href="http://www.oratraining.com/blog/2012/02/oracle-fusion-applications-installation-step-by-step-guide/">Installing Oracle Fusion Applications &#8211; steps</a></strong></p>
<ol>
<li><strong><a title="Installing Fusion Applications Provisioning Framework" href="http://www.oratraining.com/blog/2012/02/installing-fusion-applications-provisioning-framework/">Installing Fusion Applications Provisioning Framework</a><br />
</strong></li>
<li><strong><a title="Installing Transactional Database" href="http://www.oratraining.com/blog/2012/02/installing-transactional-database/">Installing Oracle 11g Database (Applications Transactional Database)</a><br />
</strong></li>
<li><strong><a title="Running Fusion Applications RCU" href="http://www.oratraining.com/blog/2012/02/running-fusion-applications-rcu/">Running Oracle Fusion Applications Repository Creation Utility (Applications RCU)<br />
</a></strong></li>
<li><strong>Creating another database for Oracle  <strong>Identity Management Infrastructure </strong>(optional)<br />
</strong></li>
<li><strong><a title="Running Repository Creation Utility for Oracle Identity Management components" href="http://www.oratraining.com/blog/2012/02/running-repository-creation-utility-for-oracle-identity-management-components/">Running Repository Creation Utility (RCU) for Oracle Identity Management components</a></strong></li>
<li><strong><a title="Installing Oracle Identity and Access Management components" href="http://www.oratraining.com/blog/2012/02/installing-oracle-identity-and-access-management-components/">Installing Oracle Identity and Access Management Components</a><br />
</strong></li>
<li><strong><a title="Configuring Oracle Identity and Access Management components" href="http://www.oratraining.com/blog/2012/02/configuring-oracle-identity-and-access-management-components/">Configuring Oracle Identity and Access Management components</a><br />
</strong></li>
<li><strong><a title="Preparing Identity and Policy Stores" href="http://www.oratraining.com/blog/2012/02/preparing-identity-and-policy-stores/">Preparing Identity and Policy Stores</a><br />
</strong></li>
<li><strong><a title="Creating a new Provisioning Plan" href="http://www.oratraining.com/blog/2012/02/creating-a-new-provisioning-plan/">Creating a New Provisioning Plan</a><br />
</strong></li>
<li><strong>Provisioning an Applications Environment</strong></li>
</ol>
<p><strong><br />
</strong></p>
<div class="printfriendly alignleft"><a href="http://www.oratraining.com/blog/2012/02/installing-transactional-database/?pfstyle=wp" rel="nofollow" ><img src="//cdn.printfriendly.com/pf-button-both.gif" alt="Print Friendly" /></a></div><div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Installing+Transactional+Database+http%3A%2F%2Foratraining.com%2Fblog%2F%3Fp%3D524" title="Post to Twitter"><img class="nothumb" src="http://www.oratraining.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://digg.com/submit?url=http://www.oratraining.com/blog/2012/02/installing-transactional-database/&amp;title=Installing+Transactional+Database" title="Post to Digg"><img class="nothumb" src="http://www.oratraining.com/blog/wp-content/plugins/tweet-this/icons/en/digg/tt-digg-big4.png" alt="Post to Digg" /></a></p></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.oratraining.com%2Fblog%2F2012%2F02%2Finstalling-transactional-database%2F&amp;title=Installing%20Transactional%20Database" id="wpa2a_10"><img src="http://www.oratraining.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.oratraining.com/blog/2012/02/installing-transactional-database/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Operating Systems Endian formats for migrating databases across platforms</title>
		<link>http://www.oratraining.com/blog/2010/04/operating-systems-endian-formats-for-migrating-databases-across-platforms/</link>
		<comments>http://www.oratraining.com/blog/2010/04/operating-systems-endian-formats-for-migrating-databases-across-platforms/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 05:22:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Oracle Database cloning]]></category>
		<category><![CDATA[Oracle DBA]]></category>
		<category><![CDATA[cross-platform transportable tablespace]]></category>
		<category><![CDATA[database migration]]></category>
		<category><![CDATA[endian formats]]></category>
		<category><![CDATA[transportable tablespace]]></category>

		<guid isPermaLink="false">http://www.oratraining.com/blog/?p=249</guid>
		<description><![CDATA[Tweet Nowadays DBAs face requirements for migrating databases across different platforms like from Windows to Linux or Solaris or vice versa. While doing this we would require to use transportable tablespaces or cross-platform transportable tablespaces. In order to decide whether the migration would be simple or will involve file conversion, following command is used to [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.oratraining.com%2Fblog%2F2010%2F04%2Foperating-systems-endian-formats-for-migrating-databases-across-platforms%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.oratraining.com/blog/2010/04/operating-systems-endian-formats-for-migrating-databases-across-platforms/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.oratraining.com/blog/2010/04/operating-systems-endian-formats-for-migrating-databases-across-platforms/"  data-text="Operating Systems Endian formats for migrating databases across platforms" data-count="horizontal">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://www.oratraining.com/blog/2010/04/operating-systems-endian-formats-for-migrating-databases-across-platforms/" data-counter="right"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Nowadays DBAs face requirements for migrating databases across different platforms like from Windows to Linux or Solaris or vice versa. While doing this we would require to use transportable tablespaces or cross-platform transportable tablespaces. In order to decide whether the migration would be simple or will involve file conversion, following command is used to identify platform endian format. If the endian formats are same then the process pretty straightforward.</p>
<blockquote>
<div id="_mcePaste"><span style="font-size: small;"><span style="line-height: normal;"><span style="color: #993300;">SQL&gt; select * from v$transportable_platform order by platform_id;</span></p>
<p><span style="color: #993300;"> </span></p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="103" valign="top"><span style="color: #993300;"><strong>PLATFORM_ID</strong></span></td>
<td width="258" valign="top"><span style="color: #993300;"><strong>PLATFORM_NAME</strong></span></td>
<td width="132" valign="top"><span style="color: #993300;"><strong>ENDIAN_FORMAT</strong></span></td>
</tr>
<tr>
<td width="103" valign="top"><span style="color: #993300;">1</span></td>
<td width="258" valign="top"><span style="color: #993300;">Solaris[tm] OE (32-bit)</span></td>
<td width="132" valign="top"><span style="color: #993300;">Big</span></td>
</tr>
<tr>
<td width="103" valign="top"><span style="color: #993300;">2</span></td>
<td width="258" valign="top"><span style="color: #993300;">Solaris[tm] OE (64-bit)</span></td>
<td width="132" valign="top"><span style="color: #993300;">Big</span></td>
</tr>
<tr>
<td width="103" valign="top"><span style="color: #993300;">3</span></td>
<td width="258" valign="top"><span style="color: #993300;">HP-UX (64-bit)</span></td>
<td width="132" valign="top"><span style="color: #993300;">Big</span></td>
</tr>
<tr>
<td width="103" valign="top"><span style="color: #993300;">4</span></td>
<td width="258" valign="top"><span style="color: #993300;">HP-UX IA (64-bit)</span></td>
<td width="132" valign="top"><span style="color: #993300;">Big</span></td>
</tr>
<tr>
<td width="103" valign="top"><span style="color: #993300;">5</span></td>
<td width="258" valign="top"><span style="color: #993300;">HP Tru64 UNIX</span></td>
<td width="132" valign="top"><span style="color: #993300;">Little</span></td>
</tr>
<tr>
<td width="103" valign="top"><span style="color: #993300;">6</span></td>
<td width="258" valign="top"><span style="color: #993300;">AIX-Based Systems (64-bit)</span></td>
<td width="132" valign="top"><span style="color: #993300;">Big</span></td>
</tr>
<tr>
<td width="103" valign="top"><span style="color: #993300;">7</span></td>
<td width="258" valign="top"><span style="color: #993300;">Microsoft Windows IA (32-bit)</span></td>
<td width="132" valign="top"><span style="color: #993300;">Little</span></td>
</tr>
<tr>
<td width="103" valign="top"><span style="color: #993300;">8</span></td>
<td width="258" valign="top"><span style="color: #993300;">Microsoft Windows IA (64-bit)</span></td>
<td width="132" valign="top"><span style="color: #993300;">Little</span></td>
</tr>
<tr>
<td width="103" valign="top"><span style="color: #993300;">9</span></td>
<td width="258" valign="top"><span style="color: #993300;">IBM zSeries Based Linux</span></td>
<td width="132" valign="top"><span style="color: #993300;">Big</span></td>
</tr>
<tr>
<td width="103" valign="top"><span style="color: #993300;">10</span></td>
<td width="258" valign="top"><span style="color: #993300;">Linux IA (32-bit)</span></td>
<td width="132" valign="top"><span style="color: #993300;">Little</span></td>
</tr>
<tr>
<td width="103" valign="top"><span style="color: #993300;">11</span></td>
<td width="258" valign="top"><span style="color: #993300;">Linux IA (64-bit)</span></td>
<td width="132" valign="top"><span style="color: #993300;">Little</span></td>
</tr>
<tr>
<td width="103" valign="top"><span style="color: #993300;">12</span></td>
<td width="258" valign="top"><span style="color: #993300;">Microsoft Windows 64-bit for AMD</span></td>
<td width="132" valign="top"><span style="color: #993300;">Little</span></td>
</tr>
<tr>
<td width="103" valign="top"><span style="color: #993300;">13</span></td>
<td width="258" valign="top"><span style="color: #993300;">Linux 64-bit for AMD</span></td>
<td width="132" valign="top"><span style="color: #993300;">Little</span></td>
</tr>
<tr>
<td width="103" valign="top"><span style="color: #993300;">14</span></td>
<td width="258" valign="top"><span style="color: #993300;">HP Open VMS</span></td>
<td width="132" valign="top"><span style="color: #993300;">Little</span></td>
</tr>
<tr>
<td width="103" valign="top"><span style="color: #993300;">15</span></td>
<td width="258" valign="top"><span style="color: #993300;">Apple Mac OS</span></td>
<td width="132" valign="top"><span style="color: #993300;">Big</span></td>
</tr>
</tbody>
</table>
<p></span></span></div>
</blockquote>
<div class="printfriendly alignleft"><a href="http://www.oratraining.com/blog/2010/04/operating-systems-endian-formats-for-migrating-databases-across-platforms/?pfstyle=wp" rel="nofollow" ><img src="//cdn.printfriendly.com/pf-button-both.gif" alt="Print Friendly" /></a></div><div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Operating+Systems+Endian+formats+for+migrating+databases+across+platforms+http%3A%2F%2Foratraining.com%2Fblog%2F%3Fp%3D249" title="Post to Twitter"><img class="nothumb" src="http://www.oratraining.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://digg.com/submit?url=http://www.oratraining.com/blog/2010/04/operating-systems-endian-formats-for-migrating-databases-across-platforms/&amp;title=Operating+Systems+Endian+formats+for+migrating+databases+across+platforms" title="Post to Digg"><img class="nothumb" src="http://www.oratraining.com/blog/wp-content/plugins/tweet-this/icons/en/digg/tt-digg-big4.png" alt="Post to Digg" /></a></p></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.oratraining.com%2Fblog%2F2010%2F04%2Foperating-systems-endian-formats-for-migrating-databases-across-platforms%2F&amp;title=Operating%20Systems%20Endian%20formats%20for%20migrating%20databases%20across%20platforms" id="wpa2a_12"><img src="http://www.oratraining.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.oratraining.com/blog/2010/04/operating-systems-endian-formats-for-migrating-databases-across-platforms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fix for &#8220;Internet explorer has closed this webpage to help protect your computer&#8221;</title>
		<link>http://www.oratraining.com/blog/2010/04/internet-explorer-has-closed-this-webpage-to-help-protect-your-computer/</link>
		<comments>http://www.oratraining.com/blog/2010/04/internet-explorer-has-closed-this-webpage-to-help-protect-your-computer/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 11:01:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Application server]]></category>
		<category><![CDATA[Browser issues]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle Applications]]></category>
		<category><![CDATA[Oracle Applications issues]]></category>
		<category><![CDATA[Oracle developers]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows Clients]]></category>
		<category><![CDATA[Windows issues]]></category>
		<category><![CDATA[crash]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[jvm.dll]]></category>
		<category><![CDATA[oracle applications]]></category>

		<guid isPermaLink="false">http://www.oratraining.com/blog/?p=227</guid>
		<description><![CDATA[Tweet Many users face issue running Oracle forms on Microsoft Internet Explorer 8 (IE8) which causes the page to redirect to following url res://ieframe.dll/acr_depnx_error.htm#&#60;domain&#62;,http://&#60;server&#62;:&#60;port&#62;/forms/frmservlet?config=&#60;config&#62; It displays following error. Internet explorer has closed this webpage to help protect your computer A malfunctioning or malicious add-on has caused Internet Explorer to close this webpage. Solution: Goto Internet [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.oratraining.com%2Fblog%2F2010%2F04%2Finternet-explorer-has-closed-this-webpage-to-help-protect-your-computer%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.oratraining.com/blog/2010/04/internet-explorer-has-closed-this-webpage-to-help-protect-your-computer/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.oratraining.com/blog/2010/04/internet-explorer-has-closed-this-webpage-to-help-protect-your-computer/"  data-text="Fix for &#8220;Internet explorer has closed this webpage to help protect your computer&#8221;" data-count="horizontal">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://www.oratraining.com/blog/2010/04/internet-explorer-has-closed-this-webpage-to-help-protect-your-computer/" data-counter="right"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Many users face issue running Oracle forms on Microsoft Internet Explorer 8 (IE8) which causes the page to redirect to following url</p>
<p>res://ieframe.dll/acr_depnx_error.htm#&lt;domain&gt;,http://&lt;server&gt;:&lt;port&gt;/forms/frmservlet?config=&lt;config&gt;</p>
<p>It displays following error.</p>
<p><strong>Internet explorer has closed this webpage to help protect your computer</strong></p>
<p><strong><span style="font-weight: normal; font-size: 15px;">A malfunctioning or malicious add-on has caused Internet  Explorer to close this webpage.</span></strong></p>
<p><strong><span style="font-weight: normal; font-size: 15px;"><a href="http://www.oratraining.com/blog/wp-content/uploads/2010/04/IE-error22.jpg"><img class="alignnone size-full wp-image-352" title="Internet explorer has closed this webpage to help protect your computer" src="http://www.oratraining.com/blog/wp-content/uploads/2010/04/IE-error22.jpg" alt="" width="539" height="343" /></a></span></strong></p>
<p><span style="font-weight: normal;"> </span></p>
<p><strong><span style="color: #ff0000;">Solution:</span></strong></p>
<p>Goto Internet Explorer -&gt; Tools -&gt; Internet Options -&gt; Advanced -&gt; Scroll down to Security -&gt; Uncheck &#8220;Enable memory protection to help mitigate online attacks*&#8221;</p>
<p>Close all browser windows and restart the browser. The issue should have been fixed <img src='http://www.oratraining.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a href="http://www.oratraining.com/blog/wp-content/uploads/2010/04/IE-fix22.jpg"><img class="alignnone size-full wp-image-351" title="Uncheck Enable memory protection to help mitigate online attacks" src="http://www.oratraining.com/blog/wp-content/uploads/2010/04/IE-fix22.jpg" alt="" width="289" height="374" /></a></p>
<p><strong>Edit: </strong>Alternatively you can use either of following 2 alternate solutions.</p>
<p><strong><span style="color: #ff0000;">Alternate 2:</span></strong></p>
<p>Open registry using start-&gt;Run-&gt;regedit-&gt;ok</p>
<p>Go to <strong>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main</strong></p>
<p>On the right hand side you will see a DWORD key called <strong>DEPOff. </strong>IF this is set to value 0, just <strong>change it to 1</strong> and close registry editor.</p>
<p><a href="http://www.oratraining.com/blog/wp-content/uploads/2010/04/IE-DEP1.jpg"><img class="alignnone size-full wp-image-349" title="REGEDIT Turn Data Execution Prevention Off" src="http://www.oratraining.com/blog/wp-content/uploads/2010/04/IE-DEP1.jpg" alt="" width="683" height="349" /></a></p>
<p>Restart Internet Explorer and check if the problem has been fixed or not.</p>
<p><strong><span style="color: #ff0000;">Alternate 3:</span></strong></p>
<p>Right click on My Computer-&gt;Properties (or start-&gt;Run-&gt;<strong>sysdm.cpl</strong>-&gt;ok)</p>
<p>Click on &#8220;<strong>Advanced</strong>&#8221; Tab. Click on &#8220;<strong>Settings</strong>&#8221; button next to Performance.</p>
<p>Click on last tab &#8220;<strong>Data Execution Prevention</strong>&#8221;</p>
<p>Select Second option and then select &#8220;Internet Explorer&#8221; from the bottom pan.</p>
<p>(If &#8220;Internet Explorer&#8221; is not already present there then just click on &#8220;Add&#8221; and then select &#8220;c:\Program Files\Internet Explorer\iexplore.exe&#8221;)</p>
<p><a href="http://www.oratraining.com/blog/wp-content/uploads/2010/04/IE-DEP2.gif"><img class="alignnone size-full wp-image-353" title="Turn Data Execution Prevention Off for Internet Explorer" src="http://www.oratraining.com/blog/wp-content/uploads/2010/04/IE-DEP2.gif" alt="" width="547" height="372" /></a></p>
<p>Click OK and restart internet explorer. The problem should have been fixed.</p>
<div class="printfriendly alignleft"><a href="http://www.oratraining.com/blog/2010/04/internet-explorer-has-closed-this-webpage-to-help-protect-your-computer/?pfstyle=wp" rel="nofollow" ><img src="//cdn.printfriendly.com/pf-button-both.gif" alt="Print Friendly" /></a></div><div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Fix+for+%E2%80%9CInternet+explorer+has+closed+this+webpage+to+help+protect+your+computer%E2%80%9D+http%3A%2F%2Foratraining.com%2Fblog%2F%3Fp%3D227" title="Post to Twitter"><img class="nothumb" src="http://www.oratraining.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://digg.com/submit?url=http://www.oratraining.com/blog/2010/04/internet-explorer-has-closed-this-webpage-to-help-protect-your-computer/&amp;title=Fix+for+%E2%80%9CInternet+explorer+has+closed+this+webpage+to+help+protect+your+computer%E2%80%9D" title="Post to Digg"><img class="nothumb" src="http://www.oratraining.com/blog/wp-content/plugins/tweet-this/icons/en/digg/tt-digg-big4.png" alt="Post to Digg" /></a></p></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.oratraining.com%2Fblog%2F2010%2F04%2Finternet-explorer-has-closed-this-webpage-to-help-protect-your-computer%2F&amp;title=Fix%20for%20%26%238220%3BInternet%20explorer%20has%20closed%20this%20webpage%20to%20help%20protect%20your%20computer%26%238221%3B" id="wpa2a_14"><img src="http://www.oratraining.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.oratraining.com/blog/2010/04/internet-explorer-has-closed-this-webpage-to-help-protect-your-computer/feed/</wfw:commentRss>
		<slash:comments>66</slash:comments>
		</item>
		<item>
		<title>PL/SQL quick reference</title>
		<link>http://www.oratraining.com/blog/2009/06/plsql-quick-reference/</link>
		<comments>http://www.oratraining.com/blog/2009/06/plsql-quick-reference/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 05:48:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Database programming]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Oracle developers]]></category>
		<category><![CDATA[Oracle PL/SQL]]></category>
		<category><![CDATA[commands]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[pl/sql]]></category>
		<category><![CDATA[quick reference]]></category>
		<category><![CDATA[reference]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[sqlplus]]></category>
		<category><![CDATA[syntax]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.oratraining.com/blog/?p=185</guid>
		<description><![CDATA[Tweet Oracle PL/SQL Quick Reference   PL/SQL Block Structure DECLARE --Optional   --Variables, Cursors, User-defined exceptions BEGIN --Mandatory   --SQL statements   --PL/SQL statements EXCEPTION --Optional   --Actions to perform when errors occur END; --Mandatory   PL/SQL Block Type Anonymous               Procedure               Function [DECLARE]               PROCEDURE name          FUNCTION name [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.oratraining.com%2Fblog%2F2009%2F06%2Fplsql-quick-reference%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.oratraining.com/blog/2009/06/plsql-quick-reference/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.oratraining.com/blog/2009/06/plsql-quick-reference/"  data-text="PL/SQL quick reference" data-count="horizontal">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://www.oratraining.com/blog/2009/06/plsql-quick-reference/" data-counter="right"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><pre>
<h2><strong>Oracle PL/SQL Quick Reference</strong></h2>

<strong> </strong>
<h3>PL/SQL Block Structure</h3>

DECLARE --Optional

  --Variables, Cursors, User-defined exceptions

BEGIN --Mandatory

  --SQL statements

  --PL/SQL statements

EXCEPTION --Optional

  --Actions to perform when errors occur

END; --Mandatory

<span id="more-185"></span> 

<strong>PL/SQL Block Type</strong>

<strong>Anonymous               Procedure               Function</strong>

[DECLARE]               PROCEDURE name          FUNCTION name

                        IS                      RETURN datatype                                                         IS

BEGIN                   BEGIN                   BEGIN

  --statements            --statements            --statements

                                                  RETURN value;

[EXCEPTION]             [EXCEPTION]             [EXCEPTION]

END ;                   END ;                   END ;

<strong> </strong>

<strong>Declaring PL/SQL Variables</strong>

identifier [CONSTANT] datatype [NOT NULL]

   [:=|DEFAULT expr];

<strong> </strong>

<strong>Assigning Values to Variables</strong>

identifier := expr;

<strong>Types of Variables</strong>

<strong>PL/SQL variables:</strong>
<ul type="disc">
<li>Scalar</li>
<li>Composite</li>
<li>Reference</li>
<li>LOB(<strong>L</strong>arge <strong>OB</strong>jects)</li>
</ul>

<strong>Non-PL/SQL variables:</strong> Bind or host variables
<ul type="disc">
<li>Used to pass run time values out of the PL/SQL block back to the Host environment</li>
</ul>

<strong> </strong>

<strong>Base Scalar Datatypes</strong>

VARCHAR2(maximum_length)      BOOLEAN           CHAR[(maximum_length)]

DATE                         LONG              LONG RAW    

BINARY_INTEGER                PLS_INTEGER       NUMBER(precision,scale)

TIMESTAMP

<strong>The %TYPE Attribute</strong>

Identifier Table_name.column_name%TYPE ;

Identifier Variable_name%TYPE ;

<strong> </strong>

<strong>Composite Datatypes</strong>

INDEX BY TABLE          RECORD      NESTED TABLE      VARRAY

<strong> </strong>

<strong>LOB Datatypes</strong>

CLOB        BLOB        BFILE             NCLOB

<strong> </strong>

<strong>Creating Bind Variables</strong>

VARIABLE variable_name dataype

<strong> </strong>

<strong>Displaying Bind Variables</strong>

PRINT [variable_name]

<em>NOTE: To reference a bind variable in PL/SQL, you must prefix it's name with colon (:)</em>

<strong>Commenting Code</strong>

--prefix single-line comments with two dashes

/* Place muti-line comment between the symbols */

<strong> </strong>

<strong>SELECT Statements in PL/SQL</strong>

SELECT {column_list|*}

INTO {variable_name[,variable_name]...

      |record_name}

FROM table

[WHERE condition];

<em>NOTE: The INTO clause is must and queries must return one and only one row. A CURSOR can be used to retrieve more than one row.</em>

<em> </em>

<strong>Implicit Cursor Attributes for DML statements</strong>

SQL%ROWCOUNT

SQL%FOUND

SQL%NOTFOUND

SQL%ISOPEN

<strong> </strong>

<strong>Control Structures</strong>

<strong>IF Statement                              Basic Loop</strong>

IF condition THEN                         LOOP

   statements;                               statements;

[ELSIF condition THEN                        ...

   statements;]                              EXIT [WHEN condition];

[ELSE                                     END LOOP;

   statements;]

END IF;

<strong> </strong>

<strong>FOR Loop                                  WHILE Loop</strong>

FOR counter IN [REVERSE]                  WHILE condition LOOP

   Lower_bound..upper_bound LOOP             statement1;

   statement1;                               statement2;

   statement2;                               ...

   ...                                    END LOOP;

END LOOP;

<strong> </strong>

<strong>CASE</strong>

CASE selector

   WHEN expression1 THEN result1

   WHEN expression2 THEN result2

   ...

   WHEN expressionN THEN resultN

   [ELSE resultN+1]

END;

<strong>Creating a PL/SQL Record</strong>

TYPE type_name IS RECORD

(field_declaration[,field_declaration]...) ;

identifier type_name ;

<strong> </strong>

<strong>Where field_declaration is:</strong>

field_name {field_type|variable%TYPE|

table.column%TYPE|table%ROWTYPE}

[[NOT NULL] {:=|DEFAULT} expr]

<strong> </strong>

<strong>Referencing Fields in the Record</strong>

record_name.field_name

<strong> </strong>

<strong>Declaring Records with the %ROWTYPE Attribute</strong>

DECLARE

record_name       reference%ROWTYPE

<strong> </strong>

<strong>Creating a PL/SQL Table (INDEX BY Table)</strong>

TYPE type_name IS TABLE OF

{column_type|variable%TYPE|table.column%TYPE

|variable%ROWTYPE} [NOT NULL]

[INDEX BY BINARY_INTEGER];

identifier type_name ;

<strong> </strong>

<strong>Referencing a PL/SQL table</strong>

pl_sql_table_name(primary_key_value)

<strong>Using PL/SQL Table Method</strong>

table_name.method_name[(parameters)]

<strong> </strong>

<strong>PL/SQL Table Methods</strong>

EXITS(n)    COUNT       FIRST       LAST        PRIOR(n)

NEXT(n)     EXTEND(n,i)             TRIM        DELETE

<strong>PL/SQL Table of Records</strong>

TYPE table_name_type IS TABLE OF table_name%ROWTYPE

INDEX BY BINARY_INTEGER ;

table_name table_name_type ;

<strong> </strong>

<strong>Referencing a Table of Records</strong>

table_name(index).field

<strong> </strong>

<strong>Cursor</strong>

<strong>Declaring the Cursor in Declaration Section</strong>

CURSOR cursor_name IS select_statement ;

record_name cursor_name%ROWTYPE ;

<strong> </strong>

<strong>Opening and Closing the Cursor</strong>

OPEN cursor_name ;

CLOSE cursor_name ;

<strong> </strong>

<strong>Fetching Data from the Cursor</strong>

FETCH cursor_name

INTO [variable1(,variable2,...)

    |record_name] ;

<strong> </strong>

<strong>Explicit Cusor Attributes</strong>

cursor_name%ISOPEN

cursor_name%NOTFOUND

cursor_name%FOUND

cursor_name%ROWCOUNT

<strong> </strong>

<strong>Cursor FOR Loops</strong>

FOR record_name IN cursor_name LOOP

   statement1;

   statement2;

   ...

END LOOP;

<strong> </strong>

<strong>Cursor FOR Loops Using Subqueries</strong>

FOR record_name IN (subqueries) LOOP

statement1

...

END LOOP ;

<strong> </strong>

<strong>Cursors with Parameters</strong>

CURSOR cursor_name [(cursor_parameter_name datatype

[,...])]

IS select_statement

[FOR UPDATE [OF column_reference][NOWAIT]];

<strong> </strong>

<strong>Parameter Name</strong>

cursor_parameter_name [IN] datatype [{:=|DEFAULT}expr]

<strong> </strong>

<strong>Openning with Parameters</strong>

OPEN cursor_name(cursor_parameter_name[,...]);

<strong> </strong>

<strong>Cursor FOR Loops with parameters</strong>

FOR record_name IN cursor_name(cursor_parameter_name

[,...]) LOOP

   statement1;

   statement2;

   ...

END LOOP;

<strong> </strong>

<strong>WHERE CURRENT OF clause</strong>

UPDATE|DELETE ... WHERE CURRENT OF cursor_name ;

<strong> </strong>

<strong>Predefined Exceptions</strong>

NO_DATA_FOUND

TOO_MANY_ROWS

INVALID_CURSOR

ZERO_DIVIDE

DUP_VAL_ON_INDEX

<strong> </strong>

<strong>Exception</strong>

<strong>Trapping Exceptions</strong>

EXCEPTION

   WHEN exception1 [OR exception2 ...] THEN

statement1 ;

statement2 ;

...

   [WHEN exception3 [OR exception4 ...] THEN

statement1 ;

statement2 ;

...]

   [WHEN OTHERS THEN

statement1 ;

statement2 ;

...]

<strong> </strong>

<strong>Declaring Non-Predefined Oracle Sever Exception</strong>

DECLARE

   exception EXCEPTION ;

   PRAGMA EXCEPTION_INIT(exception, error_number) ;

<strong> </strong>

<strong>Referencing the declared Non-predefined execption</strong>

BEGIN

   ...

EXCEPTION

   WHEN exception THEN

statement1 ;

...

END ;

<strong>Trapping User-Defined Exceptions</strong>

DECLARE

   exception EXCEPTION ;

BEGIN

   ...

   IF SQL%NOTFOUND THEN

RAISE exception ;

   END IF ;

   ...

EXCEPTION

   WHEN exception THEN

statement1 ;

...

END ;

<strong>Functions for Trapping Exceptions</strong>

SQLCODE           return error code

SQLERRM           return error message

<strong> </strong>

<strong>RAISE_APPLICATION_ERROR</strong><strong> procedure(Executable/Exception</strong>

<strong>Section)</strong>

RAISE_APPLICATION_ERROR ( error_number,

  message [, {TRUE|FALSE}]) ;

error_number      between -20000 to -20999

message           string up to 2,048 bytes long

TRUE              placed on the stack of previous errors.

FALSE             replaces all previous errors

<strong> </strong></pre>
<div class="printfriendly alignleft"><a href="http://www.oratraining.com/blog/2009/06/plsql-quick-reference/?pfstyle=wp" rel="nofollow" ><img src="//cdn.printfriendly.com/pf-button-both.gif" alt="Print Friendly" /></a></div><div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=PL%2FSQL+quick+reference+http%3A%2F%2Foratraining.com%2Fblog%2F%3Fp%3D185" title="Post to Twitter"><img class="nothumb" src="http://www.oratraining.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://digg.com/submit?url=http://www.oratraining.com/blog/2009/06/plsql-quick-reference/&amp;title=PL%2FSQL+quick+reference" title="Post to Digg"><img class="nothumb" src="http://www.oratraining.com/blog/wp-content/plugins/tweet-this/icons/en/digg/tt-digg-big4.png" alt="Post to Digg" /></a></p></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.oratraining.com%2Fblog%2F2009%2F06%2Fplsql-quick-reference%2F&amp;title=PL%2FSQL%20quick%20reference" id="wpa2a_16"><img src="http://www.oratraining.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.oratraining.com/blog/2009/06/plsql-quick-reference/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Oracle SQL Quick reference</title>
		<link>http://www.oratraining.com/blog/2009/06/sq-quick-referenence/</link>
		<comments>http://www.oratraining.com/blog/2009/06/sq-quick-referenence/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 05:44:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle SQL]]></category>
		<category><![CDATA[commands]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[pl/sql]]></category>
		<category><![CDATA[quick reference]]></category>
		<category><![CDATA[reference]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[sqlplus]]></category>
		<category><![CDATA[syntax]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.oratraining.com/blog/?p=182</guid>
		<description><![CDATA[Tweet Oracle SQL Quick Reference SELECT Query Statement SELECT [DISTINCT] {*, column [alias],&#8230;} FROM table WHERE condition(s)] ORDER BY {column, exp, alias} [ASC&#124;DESC]] NOTE: Avoid using DISTINCT with large table as it first does sorting of all the rows and then eliminates duplicate rows, so need a full table scan and thus it&#8217;s very slow. [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.oratraining.com%2Fblog%2F2009%2F06%2Fsq-quick-referenence%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.oratraining.com/blog/2009/06/sq-quick-referenence/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.oratraining.com/blog/2009/06/sq-quick-referenence/"  data-text="Oracle SQL Quick reference" data-count="horizontal">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://www.oratraining.com/blog/2009/06/sq-quick-referenence/" data-counter="right"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p><strong>Oracle SQL Quick Reference</strong><strong> </strong></p>
<p><strong>SELECT Query Statement</strong></p>
<p>SELECT [DISTINCT] {*, column [alias],&#8230;}</p>
<p>FROM table</p>
<p>WHERE condition(s)]</p>
<p>ORDER BY {column, exp, alias} [ASC|DESC]]</p>
<p><strong><em>NOTE:</em></strong><em> </em></p>
<p><em>Avoid using DISTINCT with large table as it first does sorting of all the rows and then eliminates duplicate rows, so need a full table scan and thus it&#8217;s very slow.</em></p>
<p><em> </em></p>
<p><em>ORDER BY is the last clause to get executed and thus could see all the column aliases; You can sort by a columns that is not in SELECT list; Default sorting order is Ascending (ASC)</em></p>
<p><span id="more-182"></span></p>
<p><strong>Joins</strong></p>
<p><strong>Oracle proprietary syntax for version 8i and earlier</strong></p>
<p><strong>Cartesian Product</strong></p>
<p>SELECT table1.*, table2.*,[...]</p>
<p>FROM table1,table2[,...]</p>
<p><strong> </strong></p>
<p><strong>Equijoin(Simple joins or inner join)</strong></p>
<p>SELECT table1.*,table2.*</p>
<p>FROM table1,table2</p>
<p>WHERE table1.column = table2.column</p>
<p><strong> </strong></p>
<p><strong>Non-Equijoin</strong></p>
<p>SELECT table1.*, table2.*</p>
<p>FROM table1, table2</p>
<p>WHERE table1.column</p>
<p>BETWEEN table2.column1 AND table2.column2</p>
<p><strong> </strong></p>
<p><strong>Outer join</strong></p>
<p>SELECT table1.*,table2.*</p>
<p>FROM table1,table2</p>
<p>WHERE table1.column(+) = table2.column</p>
<p>SELECT table1.*,table2.*</p>
<p>FROM table1,table2</p>
<p>WHERE table1.column = table2.column(+)</p>
<p><strong> </strong></p>
<p><strong>Self join</strong></p>
<p>SELECT alias1.*,alias2.*</p>
<p>FROM table1 alias1,table1 alias2</p>
<p>WHERE alias1.column = alias2.column</p>
<p><strong>SQL: 1999 compliant syntax for version 9i</strong></p>
<p>SELECT table1.column, table2.column</p>
<p>FROM table1</p>
<p>[<strong>CROSS JOIN</strong> table2] |</p>
<p>[<strong>NATURAL JOIN</strong> table2] |</p>
<p>[<strong>JOIN</strong> table2 <strong>USING</strong> (column_name)] |</p>
<p>[<strong>JOIN</strong> table2</p>
<p><strong>ON</strong> (table1.column_name=table2.column_name)] |</p>
<p>[<strong>LEFT</strong>|<strong>RIGHT</strong>|<strong>FULL</strong> <strong>OUTER</strong> <strong>JOIN</strong> table2</p>
<p><strong>ON</strong> (table1.column_name=table2.column_name)];</p>
<p><strong> </strong></p>
<p><strong>Aggregation Selecting</strong></p>
<p>SELECT [column,] group_function(column),&#8230;</p>
<p>FROM table</p>
<p>[WHERE condition]</p>
<p>[GROUP BY group_by_expression]</p>
<p>[HAVING group_condition]</p>
<p>[ORDER BY column];</p>
<p><strong> </strong></p>
<p><strong>Group function</strong></p>
<p>AVG([DISTINCT|ALL]n)</p>
<p>COUNT(*|[DISTINCT|ALL]expr)</p>
<p>MAX([DISTINCT|ALL]expr)</p>
<p>MIN([DISTINCT|ALL]expr)</p>
<p>STDDEV([DISTINCT|ALL]n)</p>
<p>SUM([DISTINCT|ALL]n)</p>
<p>VARIANCE([DISTINCT|ALL]n)</p>
<p><strong> </strong></p>
<p><strong>NOTE:</strong></p>
<p><em>All columns in the SELECT list that are not in group functions must be in the GROUP BY clause; but GROUP BY column does not have to be in the SELECT list.</em></p>
<p><em> </em></p>
<p><em>You can not use group functions in the WHERE clause;You use the HAVING clause to restrict groups.</em></p>
<p><em>All group functions except count(*) ignores null values. The NVL function forces group functions to include null values.</em></p>
<p><strong> </strong></p>
<p><strong>Subquery</strong></p>
<p>SELECT select_list</p>
<p>FROM table</p>
<p>WHERE expr operator(SELECT    select_list</p>
<p>FROM      table);</p>
<p><strong>NOTE:</strong></p>
<p><em>The subquery(inner query) executes once before the main query</em></p>
<p><em> </em></p>
<p><em>The result of the subquery is used by the main query(outer query)</em></p>
<p><em> </em></p>
<p><em>The ORDER BY clause in the subquery is not needed unless you are performing TOP-N analysis.</em></p>
<p><strong>single-row comparison operators: </strong>Return only one row</p>
<p>=        &gt;     &gt;=    &lt;     &lt;=    &lt;&gt;</p>
<p><strong>multiple-row comparison operators: </strong>Return more than one row</p>
<p>IN         ANY             ALL</p>
<p><strong> </strong></p>
<p><strong>Multiple-column Subqueries</strong></p>
<p>SELECT column, column, &#8230;</p>
<p>FROM table</p>
<p>WHERE (column, column, &#8230;) IN</p>
<p>(SELECT column, column, &#8230;</p>
<p>FROM table</p>
<p>WHERE condition);</p>
<p><strong>Data Manipulation Statements (DML)</strong></p>
<p><strong>INSERT Statement(one row)</strong></p>
<p>INSERT INTO table [ (column [,column...])]</p>
<p>VALUES (value [,value...]);</p>
<p><strong> </strong></p>
<p><strong>INSERT Statement with Subquery</strong></p>
<p>INSERT INTO table [ column(, column) ]</p>
<p>subquery;</p>
<p><strong> </strong></p>
<p><strong>UPDATE Statement</strong></p>
<p>UPDATE table</p>
<p>SET column = value [, column = value,...]</p>
<p>[WHERE condition];</p>
<p><strong> </strong></p>
<p><strong>Updating with Multiple-column Subquery</strong></p>
<p>UPDATE table</p>
<p>SET (column, column,&#8230;) =</p>
<p>(SELECT column, column,&#8230;</p>
<p>FROM table</p>
<p>WHERE condition)</p>
<p>WHERE condition;</p>
<p><strong> </strong></p>
<p><strong>Deleting Rows with DELETE Statement</strong></p>
<p>DELETE [FROM] table</p>
<p>[WHERE condition];</p>
<p><strong> </strong></p>
<p><strong>Deleting Rows Based on Another Table</strong></p>
<p>DELETE FROM table</p>
<p>WHERE column = (SELECT column</p>
<p>FROM table</p>
<p>WHERE condition);</p>
<p><strong>MERGE statement</strong></p>
<p>MERGE INTO table_name table_aliase</p>
<p>USING (table|view|sub_query) alias</p>
<p>ON (join condition)</p>
<p>WHEN MATCHED THEN</p>
<p>UPDATE SET</p>
<p>col1 = col1_val,</p>
<p>col2 = col2_val</p>
<p>WHEN NOT MATCHED THEN</p>
<p>INSERT (column_list)</p>
<p>VALUES (column_values);</p>
<p><strong>NOTE:</strong></p>
<p>MERGE provides ability to conditionally update or insert data into a database table. It is useful in data warehousing applications. It avoids separate updates; increase performance and ease of use</p>
<p><strong> </strong></p>
<p><strong>Transaction Control Statements (TCL)</strong></p>
<p>COMMIT;</p>
<p>SAVEPOINT name;</p>
<p>ROLLBACK [TO SAVEPOINT name];</p>
<p><strong> </strong></p>
<p><strong>Displaying table structure</strong></p>
<p>DESC[RIBE] tablename</p>
<p><strong>Data Definition Statemetns (DDL)</strong></p>
<p><strong>CREATE TABLE Statement</strong></p>
<p>CREATE TABLE [schema.]table</p>
<p>(column datatype [DEFAULT expr] [,...]);</p>
<p><strong> </strong></p>
<p><strong>CREATE TABLE Statement with Subquery</strong></p>
<p>CREATE TABLE [schema.]table</p>
<p>[(column, column...)]</p>
<p>AS subquery;</p>
<p><strong>NOTE: </strong></p>
<p><em>When a table is created using existing table except &#8220;NOT NULL&#8221; constraint, no other constraints are copied. If condition satisfied even rows are copied.</em></p>
<p><em> </em></p>
<p><strong> </strong></p>
<p><strong>Datatype</strong></p>
<p>VARCHAR2(size)    CHAR(size)        NUMBER(p,s)       DATE</p>
<p>LONG              CLOB              RAW               LONG RAW</p>
<p>BLOB              BFILE             ROWID</p>
<p><strong> </strong></p>
<p><strong>ALTER TABLE Statement </strong></p>
<p><strong>Adding columns</strong></p>
<p>ALTER TABLE table_name</p>
<p>ADD (column datatype [DEFAULT expr]</p>
<p>[, column datatype]&#8230;);</p>
<p><strong> </strong></p>
<p><strong>Changing a column&#8217;s type, size and default value of a Table</strong></p>
<p>ALTER TABLE table_name</p>
<p>MODIFY (column datatype [DEFAULT expr]</p>
<p>[, column datatype]&#8230;);</p>
<p><strong>RENAMING table column: </strong>Supported by 9.2 and higher version only<strong> </strong></p>
<p>ALTER TABLE table_name</p>
<p>RENAME column_name to new_column_name;</p>
<p><strong> </strong></p>
<p><strong>Dropping a column</strong></p>
<p>ALTER TABLE table_name</p>
<p>DROP (column);</p>
<p><strong> </strong></p>
<p><strong>Dropping a Table</strong></p>
<p>DROP TABLE table_name;</p>
<p><strong> </strong></p>
<p><strong>Changing the Name of an Object</strong></p>
<p>RENAME old_name TO new_name;</p>
<p><strong> </strong></p>
<p><strong>Trancating a Table</strong></p>
<p>TRUNCATE TABLE table_name;</p>
<p><strong> </strong></p>
<p><strong>Adding Comments to a Table</strong></p>
<p>COMMENT ON TABLE table_name | COLUMN table.column</p>
<p>IS &#8216;text&#8217;;</p>
<p><strong> </strong></p>
<p><strong>Dropping a comment from a table</strong></p>
<p>COMMENT ON TABLE table_name | COLUMN table.column IS &#8221; ;</p>
<p><strong> </strong></p>
<p><strong>Data Dictionary</strong></p>
<p>ALL_OBJECTS       USER_OBJECTS</p>
<p>ALL_TABLES        USER_TABLES</p>
<p>ALL_CATALOG       USER_CATALOG or CAT</p>
<p>ALL_COL_COMMENTS USER_COL_COMMENTS</p>
<p>ALL_TAB_COMMENTS USER_TAB_COMMENTS</p>
<p><strong> </strong></p>
<p><strong>Defining Constraints</strong></p>
<p>CREATE TABLE [schema.]table</p>
<p>column datatype [DEFAULT expr][NOT NULL]</p>
<p>[column_constraint],&#8230;</p>
<p>[table_constraint][,...]);</p>
<p><strong> </strong></p>
<p><strong>Column constraint level</strong></p>
<p>column [CONSTRAINT constraint_name] constraint_type,</p>
<p><strong> </strong></p>
<p><strong>Constraint_type</strong></p>
<p>PRIMARY KEY REFERENCES table(column) UNIQUE</p>
<p>CHECK (condition)</p>
<p><strong> </strong></p>
<p><strong>Table constraint level</strong>(except NOT NULL)</p>
<p>column,&#8230;,[CONSTRAINT constraint_name]</p>
<p>constraint_type (column,&#8230;),</p>
<p><strong> </strong></p>
<p><strong>NOT NULL Constraint (Only Column Level)</strong></p>
<p>CONSTRAINT table[_column...]_nn NOT NULL &#8230;</p>
<p><strong> </strong></p>
<p><strong>UNIQUE Key Constraint</strong></p>
<p>CONSTRAINT table[_column..]_uk UNIQUE (column[,...])</p>
<p><strong> </strong></p>
<p><strong>PRIMARY Key Constraint</strong></p>
<p>CONSTRAINT table[_column..]_pk PRIMARY (column[,...])</p>
<p><strong> </strong></p>
<p><strong>NOTE: </strong></p>
<p><em>PRIMARY Key defined on more than column called &#8216;Composite Primary Key&#8217; and to define composite primary key you need table level constraint as two columns are involved.</em></p>
<p><strong> </strong></p>
<p><strong>FOREIGN Key Constraint</strong></p>
<p>CONSTRAINT table[_column..]_fk</p>
<p>FOREIGN KEY (column[,...])</p>
<p>REFERENCES table (column[,...])[ON DELETE CASCADE]</p>
<p>[ON DELETE SET NULL];</p>
<p><strong> </strong></p>
<p><strong>CHECK constraint</strong></p>
<p>CONSTRAINT table[_column..]_ck CHECK (condition)</p>
<p><strong> </strong></p>
<p><strong>Adding a Constraint</strong>(except NOT NULL)</p>
<p>ALTER TABLE table_name</p>
<p>ADD [CONSTRAINT constraint_name ] type (column);</p>
<p><strong> </strong></p>
<p><strong>Adding a NOT NULL constraint</strong></p>
<p>ALTER TABLE table_name</p>
<p>MODIFY (column datatype [DEFAULT expr]</p>
<p>[CONSTRAINT constraint_name_nn] NOT NULL);</p>
<p><strong> </strong></p>
<p><strong>Dropping a Constraint</strong></p>
<p>ALTER TABLE table_name</p>
<p>DROP CONSTRAINT constraint_name;</p>
<p>ALTER TABLE table_name</p>
<p>DROP PRIMARY KEY | UNIQUE (column) |</p>
<p>CONSTRAINT constraint_name [CASCADE];</p>
<p><strong> </strong></p>
<p><strong>Disabling Constraints</strong></p>
<p>ALTER TABLE table_name</p>
<p>DISABLE CONSTRAINT constraint_name [CASCADE];</p>
<p><strong> </strong></p>
<p><strong>Enabling Constraints</strong></p>
<p>ALTER TABLE table_name</p>
<p>ENABLE CONSTRAINT constraint_name;</p>
<p><strong>NOTE:</strong></p>
<p><em>A UNIQUE or PRIMARY KEY index is automatically created if you enable a UNIQUE key or PRIMARY KEY constraint.</em></p>
<p><strong> </strong></p>
<p><strong>Data Dictionary</strong></p>
<p>ALL_CONSTRAINTS        USER_CONSTRAINTS</p>
<p>ALL_CONS_COLUMNS        USER_CONS_COLUMNS</p>
<p><strong> </strong></p>
<p><strong>View</strong></p>
<p><strong>Creating or Modifying a View</strong></p>
<p>CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view</p>
<p>[(alias[, alias]&#8230;)]</p>
<p>AS subquery</p>
<p>[WITH CHECK OPTION [CONSTRAINT constraint_name]]</p>
<p>[WITH READ ONLY [CONSTRAINT constraint_name]];</p>
<p><strong>Top-N Analysis</strong></p>
<p>SELECT [column_list], ROWNUM</p>
<p>FROM  (SELECT [column_list]</p>
<p>FROM table_name</p>
<p>ORDER BY Top-N_column)</p>
<p>WHERE ROWNUM &lt;= N;</p>
<p><em> </em></p>
<p><strong>Removing a View</strong></p>
<p>DROP VIEW view;</p>
<p><strong>SEQUENCE</strong></p>
<p><strong>CREATE SEQUENCE Statement</strong></p>
<p>CREATE SEQUENCE sequence</p>
<p>[INCREMENT BY n]</p>
<p>[START WITH n]</p>
<p>[{MAXVALUE n| NOMAXVALUE}]</p>
<p>[{MINVALUE n| NOMINVALUE}]</p>
<p>[{CYCLE | NOCYCLE}]</p>
<p>[{CACHE [n|20]| NOCACHE}];</p>
<p><strong> </strong></p>
<p><strong>Pseudocolumns</strong></p>
<p>sequence.NEXTVAL        sequence.CURRVAL</p>
<p><strong> </strong></p>
<p><strong>Modifying a Sequence (No START WITH option)</strong></p>
<p>ALTER SEQUENCE sequence</p>
<p>[INCREMENT BY n]</p>
<p>[{MAXVALUE n| NOMAXVALUE}]</p>
<p>[{MINVALUE n| NOMINVALUE}]</p>
<p>[{CYCLE | NOCYCLE}]</p>
<p>[{CACHE [n|20]| NOCACHE}];</p>
<p><strong> </strong></p>
<p><strong>Removing a Sequence</strong></p>
<p>DROP SEQUENCE sequence;</p>
<p><strong> </strong></p>
<p><strong>Index</strong></p>
<p><strong>Creating an Index</strong></p>
<p>CREATE INDEX index</p>
<p>ON TABLE (column[,column]&#8230;);</p>
<p><strong> </strong></p>
<p><strong>Removing an Index</strong></p>
<p>DROP INDEX index;</p>
<p><strong> </strong></p>
<p><strong>Synoym</strong></p>
<p>CREATE [PUBLIC] SYNONYM synonym</p>
<p>FOR object;</p>
<p><strong>Removing Synonyms</strong></p>
<p>DROP SYNONYM synonym;</p>
<p><strong> </strong></p>
<p><strong>Data Dictionary</strong></p>
<p>ALL_VIEWS                     USER_VIEWS</p>
<p>ALL_SEQUENCES                 USER_SEQUENCES</p>
<p>ALL_INDEXES                   USER_INDEXES</p>
<p>ALL_IND_COLUMNS               USER_IND_COLUMNS</p>
<p><strong> </strong></p>
<p><strong>System Privileges (DBA)       User System Privileges</strong></p>
<p>CREATE USER                   CREATE SESION</p>
<p>DROP USER                     CREATE TABLE</p>
<p>DROP ANY TABLE                CREATE SEQUENCE</p>
<p>BACKUP ANY TABLE              CREATE VIEW</p>
<p>CREATE PROCEDURE</p>
<p><strong>Creating Users</strong></p>
<p>CREATE USER user</p>
<p>IDENTIFIED BY password;</p>
<p><strong> </strong></p>
<p><strong>Creating Roles</strong></p>
<p>CREATE ROLE role;</p>
<p><strong>Granting System Privileges</strong></p>
<p>GRANT privelges[,...] TO user[,...];</p>
<p>GRANT privelges TO role;</p>
<p>GRANT role TO user[,...];</p>
<p><strong> </strong></p>
<p><strong>Changing Password</strong></p>
<p>ALTER USER user IDENTIFIED BY new_password;</p>
<p><strong> </strong></p>
<p><strong>Dropping Users</strong></p>
<p>DROP USER user [CASCADE];</p>
<p><strong> </strong></p>
<p><strong>Dropping Roles</strong></p>
<p>DROP ROLE role;</p>
<p><strong> </strong></p>
<p><strong>Object Privileges</strong></p>
<p>Object      Table       View        Sequence          Procedure</p>
<p>ALTER         X                        X</p>
<p>DELETE        X          X</p>
<p>EXECUTE                                                  X</p>
<p>INDEX         X</p>
<p>INSERT        X          X</p>
<p>REFERENCES   X</p>
<p>SELECT        X          X             X</p>
<p>UPDATE        X          X</p>
<p><strong> </strong></p>
<p><strong>Object Privileges</strong></p>
<p>GRAND object_priv [(column)]</p>
<p>ON object</p>
<p>TO {user|role|PUBLIC}</p>
<p>[WITH GRANT OPTION];</p>
<p><strong> </strong></p>
<p><strong>Revoking Object Privileges</strong></p>
<p>REVOKE {privilege [,privilege...] | ALL}</p>
<p>ON object</p>
<p>FROM {user[,user...]|role|PUBLIC}</p>
<p>[CASCADE CONSTRAINTS];</p>
<p><strong> </strong></p>
<p><strong>Data Dictionary</strong></p>
<p>ROLE_SYS_PRIVS</p>
<p>ROLE_TAB_PRIVS                USER_ROLE_PRIVS</p>
<p>USER_TAB_PRIVS_MADE           USER_TAB_PRIVS_RECD</p>
<p>USER_COL_PRIVS_MADE           USER_COL_PRIVS_RECD</p>
<p><strong> </strong></p>
<p><strong>Database Links</strong></p>
<p>CREATE [PUBLIC] DATABASE LINK link_name</p>
<p>[CONNECT TO user_name IDENTIFIED BY password]</p>
<p>USING connection_string;</p>
<p><strong> </strong></p>
<p><strong>Single-Row Functions</strong></p>
<p><strong>Character Functions</strong></p>
<p>LOWER(column|expression)</p>
<p>UPPER(column|expression)</p>
<p>INITCAP(column|expression)</p>
<p>INSTR(column|expression,m)</p>
<p>CONCAT(column1|expression1,column2|expression2}</p>
<p>SUBSTR(column|expression,m,[n])</p>
<p>LENGTH(column|expression)</p>
<p>LPAD(column|expression,n,&#8217;string&#8217;)</p>
<p>RPAD(column|expression,n,&#8217;string&#8217;)</p>
<p>TRIM(&#8216;character&#8217; FROM column|expression)</p>
<p>REPLACE(&#8216;string1&#8242;, &#8216;string_to_replace&#8217;,[replacement_string])</p>
<p><strong> </strong></p>
<p><strong>Number Functions</strong></p>
<p>MOD(m,n)</p>
<p>ROUND(column|expression,n)</p>
<p>TRUNC(column|expression,n)</p>
<p><strong> </strong></p>
<p><strong>Date Functions</strong></p>
<p>MONTHS_BETWEEN(date1,date2)</p>
<p>ADD_MONTHS(date,n)</p>
<p>NEXT_DAY(date,&#8217;char&#8217;)</p>
<p>LAST_DAY(date)</p>
<p>ROUND(date[,'fmt'])</p>
<p>TRUNC(date[,'fmt'])</p>
<p><em>Arithmetic with Dates</em></p>
<ul type="disc">
<li>Add or subtract a number to or from a date for a resultant date value</li>
<li>Subtract two dates to find the number of days between those dates</li>
<li>Add hours to a date by dividing the number of hours by 24</li>
</ul>
<p><strong> </strong></p>
<p><strong>Conversion Functions</strong></p>
<p>TO_CHAR(number|date[,'fmt'])</p>
<p>TO_NUMBER(char[,'fmt'])</p>
<p>TO_DATE(char[,'fmt'])</p>
<p>NVL(expr1,expr2)</p>
<p>NVL2(expr1,expr2,expr3)</p>
<p>NULLIF(expr1,expr2)</p>
<p>COALESCE(expr1,expr2,&#8230;,exprn)</p>
<p><strong>Conditional Expressions: </strong>Provide the use of IF-THEN-ELSE logic within a SQL statement.</p>
<p>DECODE(col|expr,search1,result1</p>
<p>[,search2,result2,...,]</p>
<p>[,default])</p>
<p>CASE expr WHEN comparision_expr1 THEN return_expr1</p>
<p>[WHEN comparision_expr2 THEN return_expr2</p>
<p>WHEN comparision_exprn THEN return_exprn</p>
<p>ELSE else_expr]</p>
<p>END</p>
<p><em>Nesting Functions</em></p>
<ul>
<li>Single-row functions can be nested to any level</li>
<li>Nested functions are evaluated from deepest level to the least deep level</li>
<li>In below example, functions F1, F2 and then F3 gets executed</li>
</ul>
<p>F3(F2(F1(col,arg1),arg2),arg3)</p>
<p><strong>Operators</strong></p>
<p>Arithmetic        *     /     +     -</p>
<p>Comparison        =     &gt;     &gt;=    &lt;     &lt;=    &lt;&gt; or ^= or ~= or !=</p>
<p>BETWEEN&#8230;AND&#8230;, IN(set), LIKE, IS NULL</p>
<p>Concatenation     ||</p>
<p>Logical           AND   OR    NOT</p>
<p><strong>Rules of Precedence</strong></p>
<p>Order Evaluated         Operator</p>
<ul>
<li>1 Arithmetic operators &#8211; multiplication and division(* /)</li>
<li>2 Arithmetic operators &#8211; Addition, subtraction and Concatenation operator ( + &#8211; || )</li>
<li>3 Comparison conditions</li>
<li>4 IS [NOT] NULL, LIKE, [NOT] IN</li>
<li>5 [NOT] BETWEEN</li>
<li>6 NOT logical condition; ** Exponentiation</li>
<li>7 AND logical condition</li>
<li>8 OR logical condition</li>
</ul>
<p><strong>Notes</strong></p>
<ul>
<li>1) Use <strong>ESCAPE</strong> identifier to search for the actual % and _ symbols (Here, % denotes zero or many characters and _ denotes one character in search condition )</li>
</ul>
<p>Example: Get employee list having underscore (_) in last_name string</p>
<p>SELECT last_name</p>
<p>FROM EMPLOYEE</p>
<p>WHERE last_name LIKE &#8216;%\_%&#8217; ESCAPE &#8216;\&#8217;;</p>
<ul>
<li>2) <strong>DUAL</strong> is a dummy table you can use to view results from functions and calculations</li>
<li>3) <strong>SYSDATE</strong> is a function that returns: Date and Time</li>
<li>4) Inline view is a subquery with an alias that you can use within a SQL statement. A named subquery in the FROM clause of the main query is an example of an inline view. It is not a schema object.</li>
</ul>
<div class="printfriendly alignleft"><a href="http://www.oratraining.com/blog/2009/06/sq-quick-referenence/?pfstyle=wp" rel="nofollow" ><img src="//cdn.printfriendly.com/pf-button-both.gif" alt="Print Friendly" /></a></div><div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Oracle+SQL+Quick+reference+http%3A%2F%2Foratraining.com%2Fblog%2F%3Fp%3D182" title="Post to Twitter"><img class="nothumb" src="http://www.oratraining.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://digg.com/submit?url=http://www.oratraining.com/blog/2009/06/sq-quick-referenence/&amp;title=Oracle+SQL+Quick+reference" title="Post to Digg"><img class="nothumb" src="http://www.oratraining.com/blog/wp-content/plugins/tweet-this/icons/en/digg/tt-digg-big4.png" alt="Post to Digg" /></a></p></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.oratraining.com%2Fblog%2F2009%2F06%2Fsq-quick-referenence%2F&amp;title=Oracle%20SQL%20Quick%20reference" id="wpa2a_18"><img src="http://www.oratraining.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.oratraining.com/blog/2009/06/sq-quick-referenence/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Oracle SQL tuning tips</title>
		<link>http://www.oratraining.com/blog/2009/06/oracle-sql-tuning-tips/</link>
		<comments>http://www.oratraining.com/blog/2009/06/oracle-sql-tuning-tips/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 05:21:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Database Performance Tuning]]></category>
		<category><![CDATA[Database programming]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Oracle DBA]]></category>
		<category><![CDATA[Oracle developers]]></category>
		<category><![CDATA[Oracle PL/SQL]]></category>
		<category><![CDATA[commands]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[performance tuning]]></category>
		<category><![CDATA[pl/sql]]></category>
		<category><![CDATA[reference]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQL tuning]]></category>
		<category><![CDATA[sqlplus]]></category>
		<category><![CDATA[syntax]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tuning]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.oratraining.com/blog/?p=176</guid>
		<description><![CDATA[Tweet Oracle SQL Tuning Tips consideration when writing an SQL statement is that it returns a correct result. The second is that it be the most efficient for a given situation.  You can use many different SQL statements to achieve the same result. It is often the case that only one statement will be the [...]]]></description>
			<content:encoded><![CDATA[<div class="bottomcontainerBox" style="background-color:#F0F4F9;">
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.oratraining.com%2Fblog%2F2009%2F06%2Foracle-sql-tuning-tips%2F&amp;layout=button_count&amp;show_faces=false&amp;width=85&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=85px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:80px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://www.oratraining.com/blog/2009/06/oracle-sql-tuning-tips/"></g:plusone>
			</div>
			<div style="float:left; width:95px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.oratraining.com/blog/2009/06/oracle-sql-tuning-tips/"  data-text="Oracle SQL tuning tips" data-count="horizontal">Tweet</a>
			</div><div style="float:left; width:105px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;"><script type="in/share" data-url="http://www.oratraining.com/blog/2009/06/oracle-sql-tuning-tips/" data-counter="right"></script></div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><h2>Oracle SQL Tuning Tips</h2>
<p>consideration when writing an SQL statement is that it returns a correct result. The second is that it be the most efficient for a given situation.  You can use many different SQL statements to achieve the same result. It is often the case that only one statement will be the most efficient choice in a given situation.</p>
<p>Remember that processing SQL is a sequence of Parse (syntax check and object resolution), Execution (required reads and writes), and Fetch (row results retrieved, listed, sorted, and returned). SQL &#8220;tuning&#8221; consists, quite simply, of reducing one or more of them.</p>
<p>Note: generally Parse is the greatest time and resource hog. Parse overhead can be minimized by the use of Procedures, Functions, Packages, Views, etc.</p>
<p>Inadequate performance can have a significant cost impact on your business. A poor performing system and application can result in customer dissatisfaction, reduced productivity, and high costs. It is absolutely critical that the system&#8217;s performance is operating at its peak levels.</p>
<p>Following are some general tips that often increase SQL statement efficiency. Being general they may not apply to a particular scenario.<span id="more-176"></span></p>
<ul>
<li>Tuning SQL should only be done after your code is working correctly. Be aware that there is an inevitable tug-of-war between writing efficient SQL and understandable SQL.</li>
<li>Ensure repeated SQL statements are written<em>absolutely identically</em>to facilitate efficient reuse: re-parsing can often be avoided for each subsequent use of an identical statement.<br />
Writing best practices: all SQL verbs in upper-case i.e. SELECT; separate all words with a single space; all SQL verbs begin on a new line; SQL verbs aligned right or left within the initial verb; set and maintain a table alias standard; use table aliases and when a query involves more than one table prefix all column names with their aliases. Whatever you do, be consistent.</li>
<li>o Use bind variables: The values of bind variables do not need to be the same for two statements to be considered identical. Bind variables are not substituted until a statement has been successfully parsed.</li>
<li>o Use standard approach to table aliases. If two identical SQL statements vary because an identical table has two different aliases, then the SQL is different and will not be re-use or shared.</li>
<li>o Use table aliases and prefix all column names by their aliases when more than one table is involved in a query. This reduces parse time and prevents future syntax errors if someone adds a column to one of the tables with same name as a column in another table. (ORA-00918: COLUMN AMBIGUOUSLY DEFINED)</li>
<li>Code the query as simply as possible i.e. no unnecessary columns are selected, no unnecessary GROUP BY or ORDER BY.<br />
It is the same or faster to SELECT by actual column name(s). The larger the table the more likely the savings.<br />
<em>Use:</em><br />
<em>SELECT customer_id, last_name, first_name, street, city FROM customer;<br />
Rather than, </em><em><br />
SELECT * FROM customer;</em></li>
<li>Beware of WHERE clauses which do not use indexes at all. Even if there is an index over a column that is referenced by a WHERE clause included in this section, Oracle will ignore the index. All these WHERE clause can be re-written to use an index while returning the same values. In other words, Do not perform operations on database objects referenced in the WHERE clause:<br />
<em>Use:<br />
</em><em>SELECT client, date, amount FROM sales WHERE amount <strong>&gt; 0;</strong></em><em><br />
Rather than:<br />
</em><em>SELECT client, date, amount FROM sales WHERE amount <strong>!= 0;<br />
</strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Use:<br />
SELECT account_name, trans_date, amount FROM transaction WHERE account_name <strong>LIKE &#8216;CAPITAL%&#8217;;</strong><br />
</em><em>Rather than:</em><em><br />
SELECT account_name, trans_date, amount FROM transaction WHERE <strong>SUBSTR(account_name,1,7)=</strong>&#8216;CAPITAL&#8217;;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Use:<br />
SELECT account_name, trans_date, amount FROM transaction WHERE amount <strong>&gt; 0;<br />
</strong></em><em>Rather than:<br />
</em><em>SELECT account_name, trans_date, amount FROM transaction WHERE amount <strong>NOT=0;<br />
</strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<strong><br />
</strong>Use:<br />
SELECT account_name, trans_date, amount FROM transaction WHERE<strong> amount &lt; 2000;<br />
</strong>Rather than:<br />
SELECT account_name, trans_date, amount FROM transaction WHERE <strong>amount + 3000 </strong>&lt; 5000;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Use:<br />
SELECT account_name, trans_date, amount FROM transaction WHERE <strong>account_name = &#8216;AMEX&#8217; AND account_type = &#8216;A&#8217;;<br />
</strong>Rather than:<br />
SELECT account_name, trans_date, amount FROM transaction WHERE <strong>account_name|| account_type=</strong>&#8216;AMEXA&#8217;; </em></li>
<li>Don&#8217;t forget to tune views. Views are SELECT statements and can be tuned in just the same way as any other type of SLECT statement can be. All tuning applicable to any SQL statement are equally applicable to views.</li>
<li>Avoid including a HAVING clause in SELECT statements. The HAVING clause filters selected rows only after all rows have been fetched. Using a WHERE clause helps reduce overheads in sorting, summing, etc. HAVING clauses should only be used when columns with summary operations applied to them are restricted by the clause.<br />
<em>Use:</em><br />
<em>SELECT city FROM country <strong>WHERE</strong> city!= &#8216;Vancouver&#8217; AND city!= &#8216;Toronto&#8217;; GROUP BY city;</em><em><br />
Rather than:<br />
</em><em>SELECT city FROM country GROUP BY city <strong>HAVING</strong> city!= &#8216;Vancouver&#8217; AND city!= &#8216;Toronto&#8217;;</em></li>
<li>Minimize the number of table lookups (subquery blocks) in queries, particularly if our statements include subquery SELECTs or multicolumn UPDATEs.<br />
<em>Use:<br />
SELECT emp_name FROM emp WHERE <strong>(emp_cat, sal_range</strong>) = (<strong>SELECT</strong> MAX(category), MAX(sal_range) FROM emp_categories) AND emp_dept = 0020;<br />
Rather than:<br />
SELECT emp_name FROM emp WHERE <strong>emp_cat</strong>=(<strong>SELECT</strong> MAX(category) FROM emp_categories) AND <strong>emp_range</strong> = (<strong>SELECT</strong> MAX(sal_range) FROM emp_categories) AND emp_dept = 0020;</em></li>
<li>When writing a sub-query (a SELECT statement within the WHERE or HAVING clause of another SQL statement):</li>
<li>o Use a correlated (refers to at least one value from the outer query) sub-query when the return is relatively small and/or other criteria are efficient i.e. if the tables within the sub-query have efficient indexes.</li>
<li>o Use a non-correlated (does not refer to the outer query) sub-query when dealing with large tables from which you expect a large return (many rows) and/or if the tables within the sub-query do not have efficient indexes.</li>
<li>o Ensure that multiple sub-queries are in the most efficient order.</li>
<li>o Remember that rewriting a sub-query as a join can sometimes increase efficiency.</li>
<li>When doing multiple table joins consider the benefits/costs for each of EXISTS, IN, and table joins. Depending on your data one or another may be faster.<br />
Note: IN is usually the slowest.<br />
Note: When most of the filter criteria are in the sub-query IN may be more efficient; when most of the filter criteria are in the parent-query EXISTS may be more efficient.<em><br />
The following queries return the employee names from each department in department category &#8216;A&#8217;:</em><br />
<em>SELECT emp_name FROM emp E WHERE <strong>EXISTS </strong>(SELECT &#8216;X&#8217; FROM dept WHERE dept_no = E.dept_no AND dept_cat = &#8216;A&#8217;);</em><br />
<em>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</em><em><br />
SELECT emp_name FROM emp E WHERE dept_no <strong>IN </strong>(SELECT dept_no FROM dept WHERE dept_no = E.dept_no AND dept_Cat = &#8216;A&#8217;);<br />
</em><em>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</em><em><br />
SELECT emp_name FROM dept D, emp E WHERE E.dept_no = D.dept_no AND D.dept_cat = &#8216;A&#8217;;</em></li>
<li>Where possible use EXISTS rather than DISTINCT, to avoid full table scan as DISTINCT operator causes Oracle to fetch all rows satisfying the table join and then sort and filter out duplicate values. EXISTS is a faster alternative, because the Oracle optimizer realizes when the subquery has been satisfied once, there is no need to proceed further and the next matching row can be fetched.<br />
<em>Use:<br />
SELECT S.id, S.description FROM small_table S WHERE <strong>EXISTS </strong>(SELECT NULL FROM big_table B WHERE B.id = S.id);<br />
Rather than:<br />
SELECT <strong>DISTINCT S.id, S.description</strong> FROM small_table S, big_table B<br />
WHERE S.id = B.id;</em></li>
<li>Where possible use a non-column expression (putting the column on one side of the operator and all the other values on the other). Non-column expressions are often processed earlier thereby speeding the query.<br />
<em>Use:<br />
</em><em>WHERE SALES &lt; 1000/(1 + n);</em><em><br />
Rather than:<br />
</em><em>WHERE SALES + (n * SALES) &lt; 1000;</em></li>
<li>Where possible use UNION ALL rather than using UNION. The UNION clause forces all rows retuned by each portion of the UNION to be sorted and merged and duplicates to be filtered out before the first row is returned. A UNION ALL simply returns all rows including duplicates and does not have to perform any sort, merge or filter. If your tables are mutually exclusive(include no duplicate records), or you don&#8217;t care if duplicates are returned, the UNION ALL is much more efficient.<br />
<em>USE:</em><br />
<em>SELECT acct_num, balance_amt FROM debit_transactions WHERE tran_date = &#8217;31-DEC-95&#8242;<br />
<strong>UNION ALL</strong><br />
SELECT acct_num, balance_amt FROM credit_transactions WHERE tran_date = &#8217;31-DE -95&#8242;;<br />
Rather than:<br />
SELECT acct_num, balance_amt FROM debit_transactions WHERE tran_date = &#8217;31-DEC-95&#8242;<br />
<strong>UNION</strong><br />
SELECT acct_num, balance_amt FROM credit_transactions WHERE tran_date = &#8217;31-DE -95&#8242;;</em></li>
<li>Consider using DECODE to avoid having to scan the same rows repetitively or join the same table repetitively. Note, DECODE is not necessarily faster as it depends on your data and the complexity of the resulting query. Also, using DECODE requires you t change your code when new values are allowed in the field.<br />
<em>USE:<br />
SELECT COUNT(<strong>DECODE</strong>(status,&#8217;Y',&#8217;X',NULL)) Y_count,<br />
COUNT(<strong>DECODE</strong>(status,&#8217;N',&#8217;X',NULL)) N_count<br />
FROM emp WHERE emp_name LIKE &#8216;SMITH%&#8217;;<br />
Raher than:<br />
SELECT COUNT(*) FROM emp WHERE status = &#8216;Y&#8217; AND emp_name LIKE &#8216;SMITH%&#8217;;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
SELECT COUNT(*) FROM emp WHERE status = &#8216;N&#8217; AND emp_name LIKE &#8216;SMITH%&#8217;;</em></li>
<li>Oracle automatically performs simple column type conversions(or casting) when it compares columns of different types. Depending on the type of conversion, indexes may not be used. Make sure you declare your program variables as the same type as your Oracle columns, if the type is supported in the programming language you are using.<br />
<em>Use:<br />
SELECT emp_no, emp_name, sal FROM emp WHERE emp_no = &#8217;123&#8242;;<br />
HERE if emp_no indexed numeric, then after implicit conversion query will be:<br />
SELECT emp_no, emp_name, sal FROM emp WHERE emp_no = <strong>TO_NUMBER</strong>(&#8217;123&#8242;); </em><br />
<em>Thus, index is used in this case.<br />
Don&#8217;t use:<br />
SELECT emp_no, emp_name, sal FROM emp WHERE emp_type = 123;<br />
HERE if emp_type is indexed varchar2, then after implicit conversion query will be:</em><br />
<em>SELECT emp_no, emp_name, sal FROM emp WHERE TO_NUMBER(emp_type) = 123;</em><br />
<em>Thus, index will not be used in this case.</em></li>
<li>The most efficient method for storing large binary objects, i.e. multimedia objects, is to place them in the file system and place a pointer in the DB.</li>
<li>B-Tree Indexes do not store entries for NULL, so IS NULL is not indexable, but IS NOT NULL is indexable and thus if a huge table contains very few not null values then you should go for B-Tree indexes. On the other hand bitmap indexes support IS NULL condition.<br />
<em>SELECT * FROM big WHERE status IS NOT NULL; (Use B-tree index in this case)</em></li>
<li>Avoid using functions on indexed columns unless a function-based index is created; as it leads to full table scan even though index exists on the column.</li>
</ul>
<p><strong>Avoid using the following:</strong></p>
<ul type="disc">
<li>Boolean operators &gt;, &lt;, &gt;=, &lt;=, IS NULL, IS NOT NULL</li>
<li>NOT IN, !=</li>
<li>Like &#8216;%pattern&#8217;, not exists</li>
<li>Calculations on unindexed columns or (use union instead)</li>
<li>Having (use a WHERE clause instead when appropriate)</li>
</ul>
<p><strong> </strong><strong>Do use the following:</strong></p>
<ul type="disc">
<li>Enable aliases to prefix all columns</li>
<li>Place indexed columns higher in the WHERE clause</li>
<li>Use SQL Joins instead of using sub-queries</li>
<li>Make the table with the least number of rows, the driving table, by making it first in the FROM clause</li>
</ul>
<p><strong>Other important points for SQL Tuning</strong></p>
<ul type="disc">
<li>Establish a tuning environment that reflects your production database</li>
<li>Establish performance expectations before you begin</li>
<li>Always Design and develop with performance in mind</li>
<li>Create Indexes to support selective WHERE clauses and join conditions</li>
<li>Use concatenated indexes where appropriate</li>
<li>Consider indexing more than you think you should, to avoid table lookups</li>
<li>Pick the best join method</li>
<li>Nested loops joins are best for indexed joins of subsets</li>
<li>Hash joins are usually the best choice for &#8220;big&#8221; joins</li>
<li>Pick the best join order</li>
<li>Pick the best &#8220;driving&#8221; table</li>
<li>Eliminate rows as early as possible in the join order</li>
<li>Use bind variables. Bind variables are key to application scalability</li>
<li>Use Oracle hints where appropriate</li>
<li>Compare performance between alternative syntax for your SQL statement</li>
<li>Consider utilizing PL/SQL to overcome difficult SQL tuning issues</li>
<li>Consider using third party tools to make the job of SQL tuning easier</li>
</ul>
<p>Performing these steps is easy and provides a tremendous benefit and performance boost. Follow these simple steps and you can increase your system performance.</p>
<div class="printfriendly alignleft"><a href="http://www.oratraining.com/blog/2009/06/oracle-sql-tuning-tips/?pfstyle=wp" rel="nofollow" ><img src="//cdn.printfriendly.com/pf-button-both.gif" alt="Print Friendly" /></a></div><div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Oracle+SQL+tuning+tips+http%3A%2F%2Foratraining.com%2Fblog%2F%3Fp%3D176" title="Post to Twitter"><img class="nothumb" src="http://www.oratraining.com/blog/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter-big3.png" alt="Post to Twitter" /></a> <a class="tt" href="http://digg.com/submit?url=http://www.oratraining.com/blog/2009/06/oracle-sql-tuning-tips/&amp;title=Oracle+SQL+tuning+tips" title="Post to Digg"><img class="nothumb" src="http://www.oratraining.com/blog/wp-content/plugins/tweet-this/icons/en/digg/tt-digg-big4.png" alt="Post to Digg" /></a></p></div><p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.oratraining.com%2Fblog%2F2009%2F06%2Foracle-sql-tuning-tips%2F&amp;title=Oracle%20SQL%20tuning%20tips" id="wpa2a_20"><img src="http://www.oratraining.com/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.oratraining.com/blog/2009/06/oracle-sql-tuning-tips/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

