<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Oracle Applications DBA Blog</title>
    <link rel="alternate" type="text/html" href="http://www.appsdbablog.com/" />
    <link rel="self" type="application/atom+xml" href="http://www.appsdbablog.com/atom.xml" />
   <id>tag:www.appsdbablog.com,2007://1</id>
    <link rel="service.post" type="application/atom+xml" href="http://www.appsdbablog.com/blog-mt/mt-atom.cgi/weblog/blog_id=1" title="Oracle Applications DBA Blog" />
    <updated>2007-10-17T16:55:48Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.2ysb5-20051201</generator>
 
<entry>
    <title>Oracle Critical Patch Update October 2007 for 11i (11.5.10.2)</title>
    <link rel="alternate" type="text/html" href="http://appsdbablog.com/blog/2007/10/oracle_critical_patch_update_o.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.appsdbablog.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=82" title="Oracle Critical Patch Update October 2007 for 11i (11.5.10.2)" />
    <id>tag:www.appsdbablog.com,2007://1.82</id>
    
    <published>2007-10-17T16:53:52Z</published>
    <updated>2007-10-17T16:55:48Z</updated>
    
    <summary>Oracle Critical Patch Update October 2007 for 11i (11.5.10.2)Oracle yesterday released the Critical Patch Update (CPU) for October 2007.As with the case of CPUs, the Oracle Database and Oracle Application Server are cumulative whereas CPU for Oracle eBusiness Suite are...</summary>
    <author>
        <name>Sam</name>
        <uri>www.appsdbablog.com</uri>
    </author>
            <category term="Patching" />
    
    <content type="html" xml:lang="en" xml:base="http://www.appsdbablog.com/">
        <![CDATA[<p><strong>Oracle Critical Patch Update October 2007 for 11i (11.5.10.2)</strong><br /><br />Oracle yesterday released the Critical Patch Update (CPU) for October 2007.<br /><br />As with the case of CPUs, the Oracle Database and Oracle Application Server are cumulative whereas CPU for Oracle eBusiness Suite are not cumulative.<br /><br />Oracle ebusiness suite CPU are broadly categorized into<br /><br /></p><ul><li>Oracle Database CPU.</li><li>Oracle HTTP Server CPU.</li><li>Oracle Developer CPU.</li><li>JInitiator Patches</li></ul><p>This write up focuses on for UNIX /Linux environments running Oracle Applications 11i<br /><br /><strong>Applications Database</strong><br />For Oracle Applications 11i instance you must have your database upgraded to at least 9.2.0.8 to be able to apply this CPU.<br />11i instances running on 9i database you need to apply patch&nbsp; 6395038 (UNIX).<br />For 10g Release 1 apply patch 6395024<br />For 10g Release 2 apply patch 6395024<br /><br /><strong>Applications HTTP Server</strong><br />The Oracle HTTP Server does not have any additional patches released in the CPU Oct 2007.<br /><br /><strong>Applications Developer Suite</strong><br />You must upgrade to patchset 18 as a part of this CPU release and also apply patch 5687261 to the 8.0.6 Oracle home. This is a shell script (.sh) patch.<br /><br /><strong>Oracle JInitiator</strong><br />For JInitiator Oracle recommends to be upgraded to 1.3.1.26 or higher the latest version available however is 1.3.1.28.You can do this update via patch 5882294.<br /><br /><strong>Oracle Application patches</strong><br />You need to apply the following applications patches<br />5485003<br />4897479<br />4514856<br /><br />If you have already applied ATG Rollup 5 you can omit patch 5485003.<br /></p>]]>
        
    </content>
</entry>
<entry>
    <title>Behind the Oracle HTTP Server - OHS</title>
    <link rel="alternate" type="text/html" href="http://appsdbablog.com/blog/2007/10/behind_the_oracle_http_server.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.appsdbablog.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=81" title="Behind the Oracle HTTP Server - OHS" />
    <id>tag:www.appsdbablog.com,2007://1.81</id>
    
    <published>2007-10-01T22:51:02Z</published>
    <updated>2007-10-01T22:54:56Z</updated>
    
    <summary>Behind the Oracle HTTP Server - OHSThe OHS is the abbreviation for the Oracle HTTP Server. This is the core component for the client facing interface of Oracle Applications. Much of how Oracle Applications behaves is controlled from the OHS.The...</summary>
    <author>
        <name>Sam</name>
        <uri>www.appsdbablog.com</uri>
    </author>
            <category term="Application Server" />
    
    <content type="html" xml:lang="en" xml:base="http://www.appsdbablog.com/">
        <![CDATA[<strong>Behind the Oracle HTTP Server - OHS</strong><br /><br />The OHS is the abbreviation for the Oracle HTTP Server. This is the core component for the client facing interface of Oracle Applications. Much of how Oracle Applications behaves is controlled from the OHS.<br /><br />The OHS is built upon the Apache Server project. The Oracle Application server in Oracle Applications 11i (11.5.10.2) is based on Apache 1.3.<br /><br />Oracle Application Server 10g Release2 is based on Apache 2.Though we do not have 10g release 2 application server by default&nbsp; in 11i, we can choose to implement the 10g applications server with 11i.<br /><br />You can find out the current version of OHS by the command httpd -version <br /><em>$ httpd -version<br />Server version: Oracle HTTP Server Powered by Apache/1.3.19 (Unix)<br />Server built:&nbsp;&nbsp; Apr&nbsp; 5 2004 16:17:45 (iAS 1.0.2.2.2 rollup 4)<br /><br /></em>There are some core files which control the behavior of the Oracle HTTP Server. Again most of these files are autoconfig&nbsp; managed , so changes to them should be via the Oracle Applications Manager and autoconfig must be run to propagate these changes to the respective config files.<br /><br /><strong>httpd.conf</strong><br />This is manin config file for the Apache based OHS. It contains all vital configuration information for the OHS like the port on which the server is running, the portocol used etc.A detailed list of derivates supported by the httpd.conf file can be found in the apache documentation. Again as mentioned before this file is also autoconfig managed.<br /><br /><strong>httpds.conf</strong><br />The httpds.conf file is similar to the httpd.conf. The httpds.conf filers comes into use when apache runs in the Secure Sockets Layer implementation(SSL).Another way make sure if httpds.conf is being used in your environment or not is to open up the apachectl file in the Apache/bin directory and check if the httpds executable is being used along with the httpd executale. something similar to below<br /><br /><em>HTTPD=/d01/sam/samsora/iAS/Apache/Apache/bin/httpds<br /></em><br /><strong>access.conf</strong><br />The access.conf file is natively used to specify the acess control files for the HTTP server. But in Oracle Implementation of&nbsp; Apache server this file is essentially kept empty and instead the AccessConfig directive in httpd.conf is used.<br /><br /><strong>url_fw.conf</strong><br />The URL firewall or the url_fw.conf file implementation is used to provide an additional layer of security on the external&nbsp; tier.This file comes into play once you define a node as external. After this is enabled only the urls specified in the&nbsp; url_fw.conf files will be accessible through the external tier in a DMZ architecture.Once enabled the httpd.conf file will have a link to include this file.<br /><br /><strong>security.conf</strong><br />This file contains the security configuration for the OHS.It has information regarding security auditing and also location of the security audit log file location.<br /><br /><strong>oracle-apache.conf</strong><br />This a file that stores the configuration information for various supported modules in Oracle applications like imeeting , OEM etc.It will contain entries to include these configuration files. These module specific configuration file like the imeeting.conf will also reside in the Apache/conf directory on the application server.<br />]]>
        
    </content>
</entry>
<entry>
    <title>Archiving Oracle Applications</title>
    <link rel="alternate" type="text/html" href="http://appsdbablog.com/blog/2007/08/archiving_oracle_applications.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.appsdbablog.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=80" title="Archiving Oracle Applications" />
    <id>tag:www.appsdbablog.com,2007://1.80</id>
    
    <published>2007-08-27T21:31:57Z</published>
    <updated>2007-08-27T21:39:15Z</updated>
    
    <summary>Archiving Oracle ApplicationsIn my current post i will be touching upon one of the least talked about but extremely vital topic of data archiving in Oracle Applications. This post will talk about the need to archive and the pit falls...</summary>
    <author>
        <name>Sam</name>
        <uri>www.appsdbablog.com</uri>
    </author>
            <category term="Archiving" />
    
    <content type="html" xml:lang="en" xml:base="http://www.appsdbablog.com/">
        <![CDATA[<p><strong>Archiving Oracle Applications</strong><br /><br />In my current post i will be touching upon one of the least talked about but extremely vital topic of data archiving in Oracle Applications. This post will talk about the need to archive and the pit falls of not archiving a production environment.<br />We will also briefly touch upon the various methods available to implement a effective archival policy for oracle applications.<br /><br /><strong>Why Archive?</strong><br />After an implementation of Oracle Application which has been around from some years, you would see a substantial growth in the database size.<br />As your Oracle Application continues to grow and upgrade the database also grows with it. A lot of data which resides in this database would no longer be needed to be updated and a significat amount of this data would rarely be used for any kind of Reporting. Nevertheless we cannot simply go ahead and purge or trash this data for obvious compliance and regulatory reasons. Another added advantage of archiving is that you can implement data masking in your non production environment while in the process of archiving, this reduces the risks from exposing your production data after subsequent clones.<br /><br />There are many challenges associated with a large growing database like</p><ul><li>Increase in storage costs.</li><li>Decrease in system responsiveness.</li><li>Increase in times taken to complete cloning cycles.</li><li>Increase in recovery times in cases of system failures.</li></ul><p><br /><strong>What to archive ?</strong><br />This is the most difficult when it came to implement an archive policy. Fortunately most of the archive solutions available in the market came with an out of box solution for Oracle Applications which made sure to preserve the referential integrity of the data. since data in an application is in its normalized form its important to ensure that the archived data is valid enough to be reported from when required. To ensure this a meta data repository is bundled along with the solution which&nbsp; defines the rules for archiving and the associated constraints.<br /><br /><strong>Archiving Options</strong><br />when it came to archiving options available with the ebusiness suite. these were quite a few of them available. Most of these solutions adopted a similar approach to archiving.<br />After going through the popular ones solutions available i can categorize them in the following groups.<br /><br /></p><ul><li>Proprietary File Type Based Solutions.</li><li>Archive Database Based Solutions.</li></ul><p><strong>Proprietary File Type Based Solutions</strong><br />Under these kinds of archiving solution the data is archived from Oracle Applications and stored in a flat file system which is generally in a proprietary format. The main and the biggest advantage of adopting such kind of the solution is that the&nbsp; need to maintain a large database is reduced. Also the archived data in the file system can be further compressed further to &nbsp;<br />shrink the size.<br />The major disadvantage of this approach is that you loose the capacity to do a seemless reporting from within your application. That is in order to be able to report from your archived data you would need to be depended on the proprietary reporting tool, rather than being able to do so from with oracle applications.<br /><br /><strong>Archive Database&nbsp; Solutions</strong><br />In the archive database based solutions, the archived data is stored in a separate database as opposed to a file system. This archive database could reside on a low cost second tire storage system. The main advantage in this structure is that you have&nbsp; the ability to a get to your archive data from within the application itself, in other words you do not need any third party &nbsp;<br />tools to access your data.<br />One of the disadvantages of this approach is that, this would result in atleast one more database to maintain apart from the production system despite of the fact that this database would be on a lost cost second tier storage.<br /><br /><strong>Limitations.</strong><br />One of the main limitations that most of these archiving solutions had that, although most of them were able to archive the data from your application they failed to do a database reorg.<br />After the archiving cycle the database would need to be reorged manually to reclaim the space and see an increase in the&nbsp; system performance.<br />Also in the even of applications upgrade when the structure of your database tables changed the process of propagating the changes in the archives, though available was a complex process.</p>]]>
        
    </content>
</entry>
<entry>
    <title>Implementing SSL for Discoverer 10g</title>
    <link rel="alternate" type="text/html" href="http://appsdbablog.com/blog/2007/08/implementing_ssl_for_discovere.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.appsdbablog.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=79" title="Implementing SSL for Discoverer 10g" />
    <id>tag:www.appsdbablog.com,2007://1.79</id>
    
    <published>2007-08-09T23:00:54Z</published>
    <updated>2007-08-09T23:10:43Z</updated>
    
    <summary>Implementing SSL for Discoverer 10gOne of the things that you would require to do after an SSL implementation in Oracle Applications is to implement SSL in your Discoverer instance as well.To use discoverer with Oracle Applications, you must integrate discoverer...</summary>
    <author>
        <name>Sam</name>
        <uri>www.appsdbablog.com</uri>
    </author>
            <category term="Application Server" />
            <category term="Discoverer" />
            <category term="SSL" />
    
    <content type="html" xml:lang="en" xml:base="http://www.appsdbablog.com/">
        <![CDATA[<p><strong>Implementing SSL for Discoverer 10g</strong><br /><br />One of the things that you would require to do after an SSL implementation in Oracle Applications is to implement SSL in your Discoverer instance as well.<br />To use discoverer with Oracle Applications, you must integrate discoverer 10g wihch comes bundled with the 10 g application server.<br /><br /><strong>Middle Tier SSL Only</strong><br />As mentioned in my earlier posts the 10 application server comes with the infrastructure Tier and middle tier products. The&nbsp; discoverer is a part of the middle tier products. While implementing SSL with Discoverer it is not required to implement SSL on the infrastructure also. Its sufficient to have SSL implementation in your middle tier.in other word infrastructure SSL is <br />optional.<br /><br /><strong>Current Architecture</strong><br />Oracle Applications 11.5.10.2 with SSL<br />Oracle Applications Server 10g<br />Oracle Discoverer 10g Integrated With Oracle Applications<br />Operating System Sun Solaris 5.8 64 bit <br /><br /><strong>Oracle Wallet and Certificate Provisioning</strong><br />To implement the SSL on the middle tier we would need an Oracle Wallet. You have the option to use the default wallet or&nbsp; create your own wallet. Here we choose to create a new wallet.<br /><br />To implement SSL for the discoverer you can either provision new certificates or you can use the certificates from our Oracle&nbsp; Applications instance.<br />In the current scenario we will be using the existing certificate from the Oracle Applications.<br /><br /><strong>Set you environment to the 10g middle tier</strong><br />export ORACLE_HOME=/d01/sam/Mid10g<br />export PATH=$ORACLE_HOME/bin:$PATH<br />export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib<br /><br /><strong>Create a wallet dir in your ORACLE_HOME</strong><br />cd $ORACLE_HOME<br />mkdir wallet<br /><br /><strong>Copy Certificate from your Oracle Applications </strong><br />Copy the following cert files from your application tier to your wallet directory (in my case it was a same server you might have to do a binary FTP)<br />cp $COMMON_TOP/admin/certs/apache/certs/apache/ssl.crt/server.crt /d01/sam/Mid10g/wallet/<br />cp $COMMON_TOP/admin/certs/apache/certs/apache/ssl.crt/ca.crt /d01/sam/Mid10g/wallet/<br />cp $COMMON_TOP/admin/certs/apache/certs/apache/ssl.crt/server.key /d01/sam/Mid10g/wallet/<br /><br /><strong>Convert Certificates</strong><br />Execute the follwoing from the wallet directory to convert the certificates<br />$ORACLE_HOME/Apache/Apache/bin/ssl2ossl -cert ./server.crt -key ./server.key -cafile ./ca.crt -wallet . -ssowallet yes<br /><br />This will create two new files in your wallet<br />-rw-r--r--&nbsp;&nbsp; 1 sammid&nbsp; dba&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6697 Aug&nbsp; 6 10:57 ewallet.p12<br />-rw-------&nbsp;&nbsp; 1 sammid&nbsp; dba&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7441 Aug&nbsp; 6 10:57 cwallet.sso<br /><br /><strong>Run SSL Config</strong><br />Run the SSL config tool to configure SSL for your middle tier discoverer<br /><br />SSLConfigTool -config_w_default -secure_admin -opwd &lt;orcladmin password&gt; -ptl_inv_pwd &lt;password&gt;<br /><br /><strong>ssl.conf Change</strong><br />You must set the Listen and Port directives manually to be the same as this does not get updated as a part of the SSLConfigTool.<br /><br /><strong>Update the repository for DCM</strong><br />Update the distributed cluster repository using<br />$ORACLE_HOME/dcm/bin/dcmctl updateConfig -v -d<br /><br /><strong>Set up Secure Tunneling Communication</strong><br />Log on to the Enterprise Manager IAS Console and navigate to<br />Server-&gt;Discoverer-&gt;Discoverer Plus-&gt;Communication Protocol and choose 'Secure Tunneling' option.<br /><br /><img border="0" src="http://www.appsdbablog.com/images/ssld/dis.GIF" /><br /><br /><strong>Oracle Applications Profile Options.</strong><br />Make sure the following profile options in Oracle Application reffer to the correct port and protocol (HTTPS)<br />ICX_DISCOVERER_LAUNCHER<br />ICX_DISCOVERER_VIEWER_LAUNCHER<br />ICX_DISCOVERER_PARAMETERS<br /><br /></p>]]>
        
    </content>
</entry>
<entry>
    <title>A Year Old Today - Thank You</title>
    <link rel="alternate" type="text/html" href="http://appsdbablog.com/blog/2007/08/a_year_old_today_thank_you.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.appsdbablog.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=78" title="A Year Old Today - Thank You" />
    <id>tag:www.appsdbablog.com,2007://1.78</id>
    
    <published>2007-08-01T19:14:04Z</published>
    <updated>2007-08-01T19:16:59Z</updated>
    
    <summary>A Year Old Today - Thank YouThe AppsDbaBlog is a year old today. Would like to take this opprutunity to thank my readers whose comments have been the single most important factor to keep this site up and running.When i...</summary>
    <author>
        <name>Sam</name>
        <uri>www.appsdbablog.com</uri>
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://www.appsdbablog.com/">
        <![CDATA[<strong>A Year Old Today - Thank You<br /><br /><br /><img width="350" height="155" border="0" src="http://www.appsdbablog.com/images/FBD/first-birthday-red.jpg" /></strong><br /><br />The AppsDbaBlog is a year old today. Would like to take this opprutunity to thank my readers whose comments have been the single most important factor to keep this site up and running.<br /><br />When i start out this blog a year and 75 posts ago i of course did not realize it would be have such a long and exciting journey. A journey during which i met many new bloggers and made some kool friends.<br />All thought out this time i am glad that i was able to keep the promises i made of keeping the blog simple clean and advert free.<br /><br />Also would like to <a href="http://blogs.oracle.com/schan">Steven</a> and the <a href="http://blogs.oracle.com">Oracle Blogs</a> team for linking up the AppsDbaBlog.<br /><br />So keep your comments coming and i promise to keep posting whatever I find exciting interesting or new (and of course somethings weird) in the Oracle Applications DBA world.<br /><br />A Big Thank You &amp; Cheers!!<br /><br />Sam]]>
        
    </content>
</entry>
<entry>
    <title>Release 12 Installation on Sun Solaris</title>
    <link rel="alternate" type="text/html" href="http://appsdbablog.com/blog/2007/07/release_12_installation_on_sun.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.appsdbablog.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=77" title="Release 12 Installation on Sun Solaris" />
    <id>tag:www.appsdbablog.com,2007://1.77</id>
    
    <published>2007-07-30T20:26:27Z</published>
    <updated>2007-07-30T20:39:12Z</updated>
    
    <summary>Release 12 Installation on Sun SolarisEver since the release of Oracle Applications release 12 i have been waiting do a post on the installation but never did get the chance. Now finally here it is.The current post is a step...</summary>
    <author>
        <name>Sam</name>
        <uri>www.appsdbablog.com</uri>
    </author>
            <category term="Installation" />
            <category term="Release 12" />
    
    <content type="html" xml:lang="en" xml:base="http://www.appsdbablog.com/">
        <![CDATA[<strong>Release 12 Installation on Sun Solaris</strong><br /><br />Ever since the release of Oracle Applications release 12 i have been waiting do a post on the installation but never did get the chance. Now finally here it is.<br />The current post is a step by step documentation of install ting Oracle Applications Release 12 on Sun Solaris 8, 64 bit.<br /><br />Before you begin the installation make you have staged your software. If you are staging from the DVD pack you can use the <em><strong>adautostg.pl</strong></em> script.<br />If you have downloaded from edelivery you can just unzip the various parts.<br /><br />The staged directory structure should look something similar.<br />oraAS/<br />oraAppDB/<br />oraApps/<br />oraDB/<br />startCD/<br /><br /><strong>Creating OS Users</strong><br />The next step is to create two OS users for the database and the primary application tier.<br /><br />useradd -g dba -d /home/applsam applsam<br />useradd -g dba -d /home/applsam orasam<br /><br /><strong>Oracle Inventory.</strong><br />Next i will set up my global inventory to a different location. It better to have this specially when you have multiple instances of different versions on the same box.<br /><br />cd /var/opt/oracle/<br />vi oraInst.loc<br />inventory_loc=/d01/rel12/rel12inv<br />inst_group=dba<br /><br /><strong>Pre requisite Patches and Packages</strong><br />Make sure you have all the pre requisite patches and the packages for your OS platform. <br />You can find the list in the metalink note <strong>402312.1<br /></strong>also you will need an approximate of 140GB to complete a VISION installation of Release 12.More Detailed space requirements can be found in the above mentioned release notes.<br /><br /><strong>Starting The installation.<br /></strong>You can start the installation by setting the appropriate DISPLAY and the running rapidwiz. In a multi user installation you must start the installation from root<br /><br />/startCD/Disk1/rapidwiz<br />./rapidwiz<br /><br />The first screen is the rapid install welcome screen <br /><br /><img border="0" src="http://www.appsdbablog.com/images/rel12i/Rel01.GIF" /><br /><br />Next you will be asked to select the type of installation you want to go ahead with. You can choose a standard or an express install. you can also choose to upgrade you oracle applications.<br /><br /><img border="0" src="http://www.appsdbablog.com/images/rel12i/Rel02.GIF" /><br /><br />Release 12 comes bundled with <strong>Oracle Configuration Manager(OCM)</strong>.OCM is a tool which allows oracle to gather system information about your instances to help provide support. In case you are planning to install OCM make sure the user through which the installation is&nbsp; is being done is access to crontab.<br /><br /><img border="0" src="http://www.appsdbablog.com/images/rel12i/Rel03.GIF" /><br /><br />If you have chosen to install OCM you will be provided with a screen to enter your CSI number and metalink account name.&nbsp; Also your proxy details to connect to the internet.<br /><br /><img border="0" src="http://www.appsdbablog.com/images/rel12i/Rel04.GIF" /><br /><br />If you have an existing configuration file yo can choose that here or choose to create a new config file for your installation.<br /><br /><img border="0" src="http://www.appsdbablog.com/images/rel12i/Rel05.GIF" /><br /><br />Next you specify the port pool for your instance.<br /><br /><img border="0" src="http://www.appsdbablog.com/images/rel12i/Rel06.GIF" /><br /><br />The Next screen allows you to specify your Database tier configuration details.<br /><br /><img border="0" src="http://www.appsdbablog.com/images/rel12i/Rel07.GIF" /><br /><br />Now you specify the configuration details of your primary application tier.<br /><br /><img border="0" src="http://www.appsdbablog.com/images/rel12i/Rel08.GIF" /><br /><br />The following screen shows your nodes and configuration, it also allows you to add a new server to this configuration.<br /><br /><img border="0" src="http://www.appsdbablog.com/images/rel12i/Rel09.GIF" /><br /><br />After this a quick pre installation validation check is done,<br /><br /><img border="0" src="http://www.appsdbablog.com/images/rel12i/Rel10.GIF" /><br /><br />The next screen allows you to review the components you are about to install.<br /><br /><img border="0" src="http://www.appsdbablog.com/images/rel12i/Rel11.GIF" /><br /><br />The installation now begins.<br /><br /><img border="0" src="http://www.appsdbablog.com/images/rel12i/Rel12.GIF" /><br /><br /><br />After the installation a post validation similar to 11.5.10 is done and you can log on into the instance.<br />]]>
        
    </content>
</entry>
<entry>
    <title>Something Weird .. Somewhere?</title>
    <link rel="alternate" type="text/html" href="http://appsdbablog.com/blog/2007/07/something_weird_somewhere.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.appsdbablog.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=76" title="Something Weird .. Somewhere?" />
    <id>tag:www.appsdbablog.com,2007://1.76</id>
    
    <published>2007-07-20T20:53:29Z</published>
    <updated>2007-07-20T20:55:42Z</updated>
    
    <summary>Something Weird .. Somewhere?Sometime ago we had implemented a DMZ configuration at one of our clients. This was a simple configuration which involved configuring an external tier in the DMZ.Now as a part of this DMZ configuration we had disabled...</summary>
    <author>
        <name>Sam</name>
        <uri>www.appsdbablog.com</uri>
    </author>
            <category term="SSL" />
    
    <content type="html" xml:lang="en" xml:base="http://www.appsdbablog.com/">
        <![CDATA[<strong>Something Weird .. Somewhere?</strong><br /><br />Sometime ago we had implemented a DMZ configuration at one of our clients. This was a simple configuration which involved configuring an external tier in the DMZ.<br />Now as a part of this DMZ configuration we had disabled all the services on this tier except the Web service.<br /><br />There was this requirement to implement SSL on the internal tier first, this was done after converting the forms to servlet mode first. This went off quite smoothly as expected.<br />Now the next logical step was to implement SSL on the external tier, that is the tier on the DMZ to secure the external tier.<br /><br />Obviously a more secure option would have been to put up a couple of secure reverse proxys in front of the external tier. But since this particular client had his own application before the external tier we decided to go ahead and implement SSL on the external tier which we had configured.<br /><br />The method that i choose to implement SSL was through the command line using the txkrun.pl as most of the services including GCS were not enabled on this external node.<br /><br />To my surprise the validation part of the SSL script failed with the error that currently i did not have forms servlet enabled in my external tier and neither did i use a forms wallet so implementation will not be secure.<br />Now practically i do not have a forms server running on the external node so it made me wonder the need to forms servlet on this node.<br /><br />Now not sure how to proceed further we decided to run the forms servlet enabling script anyways to see if it helped in someway. Maybe the SSL script looked for some values in the XML file wrt to the forms servlet which it did not find and hence resulted in the failed validation. So we ran the servlet conversion script first and then run the SSL conversion script.<br /><br />Alas! it failed again with the same message. This was really not expected.<br />Finally we decided to enable all the forms services on this external node temporarily and then run the SSL conversion script on the external node.<br /><br />The result: IT WORKED.<br /><br />So after SSL was successfully implemented on the external node we again went back and disabled our forms services.<br /><br />Now the whole process of enabling the forms services on the external node and then enabling forms servlets on the external node just for the sake of SSL validation can pass through seemed a bit weird to me.<br /><br />So it still makes me wonder Something Weird .. Somewhere? did we miss something? <br /><br />Do drop in a comment as i would like to here your views on this..<br />]]>
        
    </content>
</entry>
<entry>
    <title>AppsDbaBlog Search Plug-in for Firefox and IE7</title>
    <link rel="alternate" type="text/html" href="http://appsdbablog.com/blog/2007/07/appsdbablog_search_plugin_for.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.appsdbablog.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=75" title="AppsDbaBlog Search Plug-in for Firefox and IE7" />
    <id>tag:www.appsdbablog.com,2007://1.75</id>
    
    <published>2007-07-13T21:46:02Z</published>
    <updated>2007-07-13T21:56:06Z</updated>
    
    <summary>AppsDbaBlog Search Plug-in for Firefox and IE7Few days back i was going through a interesting post about the metalink search plug-in post at the AppsLabBlog(through Steven Chan&apos;s Post).That got me kicking into making a search plug-in for this blog.Once added...</summary>
    <author>
        <name>Sam</name>
        <uri>www.appsdbablog.com</uri>
    </author>
            <category term="Search Plug-in" />
    
    <content type="html" xml:lang="en" xml:base="http://www.appsdbablog.com/">
        <![CDATA[<strong>AppsDbaBlog Search Plug-in for Firefox and IE7</strong><br /><br />Few days back i was going through a interesting post about the metalink search plug-in post at the <a href="http://oracleappslab.com/" target="_blank">AppsLabBlog</a>(through Steven Chan's Post).That got me kicking into making a search plug-in for this blog.<br />Once added this search plug-in will allow you to lookup the AppsDbaBlog.com form the search box in your top right conner of your browser.<br /><br />The functionality currently works with Firefox and IE7 only.<br /><img width="252" height="55" border="0" align="left" src="http://www.appsdbablog.com/images/ops/firefox-title.gif" />&nbsp; <br />&nbsp;&nbsp;&nbsp; <img border="0" src="http://www.appsdbablog.com/images/ops/icon_ie7.gif" /><br /><br /><br />On <strong>Firefox</strong>, while you are reading this post locate the Quick Search box on the top right side of your browser, In the drop down list click on the <strong>Add &quot;AppsDbaBlog.com&quot;</strong> to add it in your quick search list.<br /><br /><img border="0" src="http://www.appsdbablog.com/images/ops/ops04.GIF" /><br /><br />After this you should be able to see the search along with your existing search providers<br /><br /><img border="0" src="http://www.appsdbablog.com/images/ops/ops05.GIF" /><br /><br /><br />In case of <strong>IE7</strong> choose the &quot;<strong>Add Search Provider</strong>&quot; from the quick search drop down list<br /><br /><img width="356" height="326" border="0" src="http://www.appsdbablog.com/images/ops/ops01.GIF" /><br /><br /><br />You would get a dialog confirming your selection<br /><br /><img border="0" src="http://www.appsdbablog.com/images/ops/ops02.GIF" /><br /><br />After this the AppsDbaBlog.com search will be there in your quick search box and you can look up for anything on this blog without actually having&nbsp; to go to it first.<br />]]>
        
    </content>
</entry>
<entry>
    <title>Of Versions and Figuring Them Out</title>
    <link rel="alternate" type="text/html" href="http://appsdbablog.com/blog/2007/07/of_versions_and_figuring_them.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.appsdbablog.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=74" title="Of Versions and Figuring Them Out" />
    <id>tag:www.appsdbablog.com,2007://1.74</id>
    
    <published>2007-07-06T19:48:22Z</published>
    <updated>2007-07-06T19:57:04Z</updated>
    
    <summary>Of Versions and Figuring Them OutOne of the things that you come across quite frequently when you work with oracle support is to need to tell them the product versions or the platform versions which run your oracle applications.since it...</summary>
    <author>
        <name>Sam</name>
        <uri>www.appsdbablog.com</uri>
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://www.appsdbablog.com/">
        <![CDATA[<p><strong>Of Versions and Figuring Them Out</strong><br /><br />One of the things that you come across quite frequently when you work with oracle support is to need to tell them the product versions or the platform versions which run your oracle applications.<br />since it is possible for Oracle to simulate your environment completely or not aat all in most cases its vital that you feed them with as accurate information about your environment as possible.<br /><br />The current post focuses on getting the version information which are commonly asked by during a service request.<br /><br />I am categorizing this post into three sections</p><ul><li>Oracle Applications Components</li><li>Oracle Database Components</li><li>Operating System and Utilities</li></ul><p><br /><strong>Oracle Applications Components</strong><br /><br /><strong>Oracle Applications version.</strong><br />You may never need this but in case you are looking at a new environment then the simplest way to figure out your application version is by navigating to <br />Help-&gt; About Oracle Applications from any of the forms sessions.<br /><br /><strong>Version of a Oracle Applications Form (fmx) or report</strong><br />To find the version of any oracle applications files<br />strings -a ICQTYED.fmx | grep Header&nbsp; &nbsp;<br />alternatively you can also use the <strong>adident</strong> command<br /><br /><strong>Version of a Java class File</strong><br />To find the version of a java class file<br />$ strings &lt;enter class file&gt; | grep '$Header'<br /><br /><strong>JDBC version</strong><br />In your middle tier, edit the jserv.properties file located in the iAS_ ORACLE_HOME/Apache/Jserv/etc directory<br />- Locate the wrapper.classpath that is pointing to the jdbc zip file <br />/u01/applsam/samcomn/java/jdbc14.zip<br /><br /><strong>How to find the Apache version?</strong><br />Go to the $iAS/Apache/Apache/bin directory and enter the following command:<br />$ httpd -version<br /><br /><strong>Version Of The OA Framework</strong><br />To find out the version of your Oracle appplication Framework<br />http://[host].[domain]:[portnumber]/OA_HTML/OAInfo.jsp<br />OA Framework Version Information<br />OA Framework Version 11.5.10.2CU. <br />MDS Version 9.0.5.4.81 (build 481) <br />UIX Version 2.2.18 <br />BC4J Version 9.0.3.13.51 <br /><br /><strong>Oracle Application Product Version or Patch Set Level.</strong><br />One of the most common things you will asked by your support engineer is the version or commonly known as the patch set level of your Oracle Applications product, while or after raising your service request. You can query this by logging on to your application database as the apss user.<br />select patch_level from fnd_product_installations where patch_level like '%AD%';<br /><br /><strong>OJSP Version</strong><br />Log in to the application server as the applmgr user<br />cd $OA_HTML<br />edit the jtflogin.jsp file to add the following line<br />OJSP Version: &lt;%= application.getAttribute(&quot;oracle.jsp.versionNumber&quot;) %&gt; <br />clear your cache and bounce your apache server<br />soruce the jtflogin.jsp from your browser<br />http://hcslnx03.satyam.com:8002/OA_HTML/jtflogin.jsp<br />OJSP Version: 1.1.3.5.2 <br /><br /><strong>XML Parser Version</strong><br />You can find out the version of your XML Parser using the following query<br />SQL&gt; select WF_EVENT_XML.XMLVersion() XML_VERSION<br />&nbsp; 2&nbsp; from sys.dual;<br />XML_VERSION<br />--------------------------------------------------------------------------------<br />Oracle XDK Java&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9.0.4.0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Production<br /><br /><strong>XML Publisher Version</strong><br />To check weather XML publisher is installed or not you can query the FND_PRODUCT_INSTALLATIONS table or you can lookup the &nbsp;<br />reports in Oracle Applications Manager. You can find out the version for your XML publisher from the output of your report or&nbsp; from MetaInfo.class file.<br />$OA_JAVA/oracle/apps/xdo/common/MetaInfo.class.<br /><br /><strong>WorkFlow Version</strong><br />You can find out the version of your workflow using the following query<br />SQL&gt; select TEXT Version from WF_RESOURCES<br />&nbsp; 2&nbsp; where&nbsp; TYPE = 'WFTKN' and NAME = 'WF_VERSION';<br />VERSION<br />--------------------------------------------------------------------------------<br />2.6.0<br /><br /><strong>Oracle Database Components</strong><br /><br /><strong>Oracle RDBMS Version</strong><br />You can query the version of your database user the dynamic view V$VERSION<br />SQL&gt; SELECT * FROM V$VERSION;<br />BANNER<br />----------------------------------------------------------------<br />Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production<br />PL/SQL Release 9.2.0.6.0 - Production<br />CORE&nbsp;&nbsp;&nbsp; 9.2.0.6.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Production<br />TNS for Solaris: Version 9.2.0.6.0 - Production<br />NLSRTL Version 9.2.0.6.0 - Production<br /><br /><strong>Version of OPATCH</strong><br />$ perl $ORACLE_HOME/OPatch/opatch.pl version<br />/oracle/product/v9.2.0.6_doeb10s/OPatch/opatch.pl version: 1.0.0.0.51<br /><br /><strong>Listener Version</strong><br />$ lsnrctl version<br />LSNRCTL for Solaris: Version 9.2.0.6.0 - Production on 06-JUL-2007 09:34:53<br />Copyright (c) 1991, 2002, Oracle Corporation.&nbsp; All rights reserved.<br />Connecting to (ADDRESS=(PROTOCOL=TCP)(HOST=samsolx)(PORT=1527))<br />TNSLSNR for Solaris: Version 9.2.0.6.0 - Production<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TNS for Solaris: Version 9.2.0.6.0 - Production<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Unix Domain Socket IPC NT Protocol Adaptor for Solaris: Version 9.2.0.6.0 - Production<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Oracle Bequeath NT Protocol Adapter for Solaris: Version 9.2.0.6.0 - Production<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TCP/IP NT Protocol Adapter for Solaris: Version 9.2.0.6.0 - Production,,<br />The command completed successfully<br /><br /><strong>Operating Systems and Utilities</strong><br /><br /><strong>Sun Solaris Version</strong><br />To check the version of you Solaris you can use the following file.<br />$ cat /etc/release<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Solaris 8 2/02 Fujitsu_3 s28s_u7fjsv3wos_04 SPARC<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Copyright 2002 Sun Microsystems, Inc.&nbsp; All Rights Reserved.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Assembled 08 December 2002<br /><br /><strong>RedHat Linux Version</strong><br />You can check the version and release of Linux from the following file<br />view /etc/redhat-release<br />Red Hat Enterprise Linux AS release 4 (Nahant Update 2)<br /><br /><strong>Perl Version</strong><br />You can use the perl -v or the perl - version command to find out the version of perl on your environment.<br />$ perl -version<br />This is perl, version 5.005_03 built for sun4-solaris<br />Copyright 1987-1999, Larry Wall<br /><br /><strong>Java Version</strong><br />To fine the version of Java used<br />$ java -version<br />java version &quot;1.4.2_04&quot;<br />Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05)<br />Java HotSpot(TM) Client VM (build 1.4.2_04-b05, mixed mode)<br /><br /><strong>Version of Installed packages on Solaris</strong><br />To find the version of the packages on Solaris<br />$ pkginfo -i|grep perl<br />application MCperl584&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PERL 5.8.4 with Modules 64bit with Threads<br />optional&nbsp;&nbsp;&nbsp; VRTSperl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Perl 5.8.6 for VERITAS<br /><br /><strong>Version of Installed packages on Linux</strong><br />To find the version of the packages on linux <br />rpm -qa|grep &lt;package name&gt;<br /><br /><strong>Kernel Version of Unix</strong><br />You can find the version of your kernel on UNIX by the following command<br />uname -a<br /><br /><strong>Bit of Operating System</strong><br />You can check the bit size of your OS by using the following command<br />$ isainfo -b<br />64<br /><br /><strong>Bit of your Oracle Software</strong><br />To check if your Oracle Binary is 32 bit or 64 bit you can use the file command on any of the oracle executables like<br />$ file $ORACLE_HOME/bin/oracle<br />/oracle/product/v9.2.0.6_doeb10s/bin/oracle:&nbsp;&nbsp;&nbsp; ELF 32-bit MSB executable SPARC Version 1, dynamically linked, not stripped<br /><br /></p>]]>
        
    </content>
</entry>
<entry>
    <title>DMZ Configuration with 11i</title>
    <link rel="alternate" type="text/html" href="http://appsdbablog.com/blog/2007/06/dmz_configuration_with_11i.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.appsdbablog.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=73" title="DMZ Configuration with 11i" />
    <id>tag:www.appsdbablog.com,2007://1.73</id>
    
    <published>2007-06-19T19:18:49Z</published>
    <updated>2007-06-19T19:28:57Z</updated>
    
    <summary>DMZ Configuration with 11iA DMZ configuration refers to a Demilitarized Zone implementation of Oracle Applications. This kind of architecture is typically usefully when you wish to open up your applications outside your corporate network or your militarized zone.The ebusiness suite...</summary>
    <author>
        <name>Sam</name>
        <uri>www.appsdbablog.com</uri>
    </author>
            <category term="Advanced Configurations" />
            <category term="DMZ" />
    
    <content type="html" xml:lang="en" xml:base="http://www.appsdbablog.com/">
        <![CDATA[<p><strong>DMZ Configuration with 11i<br /><br /></strong>A DMZ configuration refers to a Demilitarized Zone implementation of Oracle Applications. This kind of architecture is typically usefully when you wish to open up your applications outside your corporate network or your militarized zone.<br /><br />The ebusiness suite 11.5.10.2 allows you to have various options ranging from the simple one to the more complex and tightly&nbsp; secure architectures in a relatively simple out of the box solutions.<br /><br />Typically Ebusiness Suite supports the following topologies in a DMZ architecture</p><ul><li>Using Reverse Proxies in DMZ</li><li>Using Separate Oracle E-Business Suite 11i Web Tier in DMZ</li><li>Using HTTP Hardware Load Balancers in DMZ</li><li>Using Reverse Proxies only in DMZ</li></ul><p><br />You can find more details on the supported methodologies with the DMZ architecture in the following metalink note<br /><a href="https://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&amp;p_id=287176.1">DMZ Configuration with Oracle E-Business Suite 11i</a><br /><br />In the current post i will discuss on a less complex case where we are using an ebusiness suite application tier as the external tier for our DMZ architecture. The below diagram depicts this architecture in simplistic form.<br /><br /><img border="0" src="http://www.appsdbablog.com/images/ext/exta.GIF" /><br /><br />As discussed earlier we will build a second application server for Oracle Applications using adclone which will be used as the external application for the instance.<br /><br /><strong>Current Configuration</strong><br />Oracle Applications 11.5.10.2<br />Dual Node <br />Operating System Sun Solaris<br /><br /><strong>DMZ Patches</strong><br />Ensure the following patches have been applied on the instance before proceeding ahead.<br />3942483 An autoconfig patch to suport your reverse proxy and DMZ configuration<br />5478710 An autoconfig template roll up.<br /><br /><strong>Pre Clone</strong><br />Shutdown the application tier services and run adpreclone.pl on the application tier of your instance.<br />#su - applsam<br />$cd samappl<br />$. ./APPSORA.env<br />$cd $COMMON_TOP/admin/scripts/SAM_SAMLXA<br />$perl adpreclone.pl appsTier<br /><br /><strong>Filesystem Copy</strong><br />After that copy across the application tier filesystem to the machine <br />tar -cf - applsam | ssh Node_B tar -xf - -C /u02/sam/<br /><br /><strong>Post Clone on the External Tier</strong><br />Now you must run your post clone (adcfgclone.pl) on the external tier&nbsp; and specify that it is your Web Server node only<br /># su - applsam<br />$ cd samcomn/clone/bin<br />$ perl adcfgclone.pl appsTier<br /><br /><strong>Run the txkChangeProfH.sql</strong><br />Run the txkChangeProfH.sql script to update your profile options default hirerchy to server<br />$ cd $FND_TOP/patch/115/sql/<br />$ sqlplus apps/xxxxxxxx&nbsp; @txkChangeProfH.sql SERVRESP<br /><br /><strong>Startup Services</strong><br />Startup the application services both on the internal and external tier and test the connectivity.<br /><br /><strong>Verify the Nodes</strong><br />Verify that the nodes have been registered as expected in the instance.<br />Navigate to<br />System Administrator-&gt;Install-&gt;Nodes<br /><br /><img border="0" src="http://www.appsdbablog.com/images/ext/ext00.GIF" /><br /><br /><strong>Update Node Trust Level</strong><br />Update the node trust level by identifying the node which you want to be as your external node.<br />Navigate to <br />System Administrator-&gt;Profile-&gt;System and query for 'Node Trust Level'<br />Set it as external for the external node at the server level only.<br /><br /><img border="0" src="http://www.appsdbablog.com/images/ext/ext01.GIF" /><br /><br /><strong>Update Responsibilities</strong><br />After updating the node trust level the user who come in from the external application server will be able to see only those responsibilities that have been marked as external.<br />Navigate to <br />System Administrator-&gt;Profile-&gt;System and query for 'Responsibility Trust Level'<br />Choose the responsibility that you want to be as external, in my case it was Isupplier Registration.<br /><br /><img border="0" src="http://www.appsdbablog.com/images/ext/ext02.GIF" /><br /><br /><strong>Update Home Page Mode</strong> <br />Lastly update the home page mode to framework only. <br />Navigate to <br />System Administrator-&gt;Profile-&gt;System and query for 'Self-Service Personal Home Page Mode' and set it to framework only.<br /><br /><img border="0" src="http://www.appsdbablog.com/images/ext/ext03.GIF" /><br /><br /><strong>Autoconfig</strong><br />Run autoconfig on both the nodes and restart the application tier services.<br /></p>]]>
        
    </content>
</entry>
<entry>
    <title>Concurrent Manager Troubleshooting Flowchart</title>
    <link rel="alternate" type="text/html" href="http://appsdbablog.com/blog/2007/06/concurrent_manager_troubleshoo.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.appsdbablog.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=72" title="Concurrent Manager Troubleshooting Flowchart" />
    <id>tag:www.appsdbablog.com,2007://1.72</id>
    
    <published>2007-06-08T16:45:55Z</published>
    <updated>2007-06-08T16:52:21Z</updated>
    
    <summary>Concurrent Manager Troubleshooting FlowchartThere have been some really good notes on concurrent managers. And also a couple on troubleshooting concurrent Managers.When it comes to troubleshooting concurrent managers in my case i used a flowchart based approach which always worked in...</summary>
    <author>
        <name>Sam</name>
        <uri>www.appsdbablog.com</uri>
    </author>
            <category term="Troubleshooting" />
    
    <content type="html" xml:lang="en" xml:base="http://www.appsdbablog.com/">
        <![CDATA[<p><strong>Concurrent Manager Troubleshooting Flowchart</strong><br /><br />There have been some really good notes on concurrent managers. And also a couple on troubleshooting concurrent Managers.<br /><br />When it comes to troubleshooting concurrent managers in my case i used a flowchart based approach which always worked in most cases.<br />I made this one based on a similar one for workflow which i had seen sometime back.I believe that most you guys would already be following a similar approach. I just found it easier to put it up in a flow chart format to help me out.<br /><br /><br /><br /><img border="0" src="http://www.appsdbablog.com/images/cmt/CMT.JPG" /><br /><br />In case you found that confusing or messy here is an explanation of the approach.<br /><br /></p><ul><li>Submit a Standard Concurrent Report and check if it completes successfully.</li><li>Check if you are able to view the log/output file if not check if your APPS listener is running.</li><li>If your concurrent report fails check the log report or request log file.</li><li>Check if your standard manager is running from the front end.</li><li>Check if the internal concurrent manager is up and running.</li><li>Check the UNIX background process of your concurrent manager<br />ps -ef|grep FNDLIBR.</li><li>Check your Concurrent Manager log files at $APPLCSF/$APPLLOG.</li><li>If the managers are failing due a problematic request try running cmclean.sql or use the recover concurrent manager option from Oracle Applications Manager.</li><li>In case your concurrent managers are not able to start due to failing to accuire locks, try clearing up the locks from the database.</li><li>If you are still having trouble with your concurrent managers you can try re creating the concurrent manager views using<br />FNDLIBR&nbsp; FND&nbsp; FNDCPBWV&nbsp; apps/&lt;passwd&gt;&nbsp; SYSADMIN&nbsp; 'System Administrator'&nbsp; SYSADMIN<br /></li></ul>]]>
        
    </content>
</entry>
<entry>
    <title>The Case.. The Mess up and The Quick Fix or Re Creating APPS Synonyms without using ADADMIN</title>
    <link rel="alternate" type="text/html" href="http://appsdbablog.com/blog/2007/05/the_case_the_mess_up_and_the_q.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.appsdbablog.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=71" title="The Case.. The Mess up and The Quick Fix or Re Creating APPS Synonyms without using ADADMIN" />
    <id>tag:www.appsdbablog.com,2007://1.71</id>
    
    <published>2007-05-25T20:52:07Z</published>
    <updated>2007-05-25T21:00:52Z</updated>
    
    <summary>The Case.. The Mess up and The Quick Fix or Re Creating APPS Synonyms without using ADADMINMy current post(or a story rather) deals about a real life mess up and the quck solution we did to fix it with the...</summary>
    <author>
        <name>Sam</name>
        <uri>www.appsdbablog.com</uri>
    </author>
    
    <content type="html" xml:lang="en" xml:base="http://www.appsdbablog.com/">
        <![CDATA[<strong>The Case.. The Mess up and The Quick Fix or Re Creating APPS Synonyms without using ADADMIN</strong><br /><br />My current post(or a story rather) deals about a real life mess up and the quck solution we did to fix it with the least possible down time.<br />The content in this post is scritly for informational purposes only. DO NOT try this method even on your TEST or Development environment.<br /><br /><strong>The Case</strong><br />We all know that the APPS schema in Oracle Applications does not really hold many objects but holds synonyms to all the application objects in various schemas.<br />Also it is a common practice for the development environment to have a schema similar to the apps schema in Oracle Applications with only read access.<br />Some of these synonyms had gone invalid after a cloning process and were giving a synonym translation invalid error. It was&nbsp; decided to drop and recreate all the synonyms for the READ ONLY schema.<br /><br />A dynamic script was crated for dropping all the synonyms form this schema.<br /><br /><em>spool /tmp/dropsynonym.sql<br />select 'drop synonym '||SYNONYM_NAME ||';' from user_synonyms;<br />spool off<br /></em><br />This was supposed to be executed in the <strong>READ ONLY</strong> schema.<br /><br />After this the synonyms were to be recreated again using another script<br /><br /><em>spool /tmp/synonym.sql<br />select distinct 'create synonym &quot;'||object_name||'&quot; for '||owner||'.&quot;'||object_n<br />ame||'&quot;;' from dba_objects where owner = 'APPS' ;<br />spool off<br /></em><br />The above process worked fine always and seemed like a fairly tale.. until one fine day..<br /><br /><strong>The Mess up</strong><br />It all looked OK that day until a poor soul did this.<br /><br />The drop synonym script was executed from the APPS schema instead of the APPS read only schema. The result.. All the&nbsp; synonyms from the APPS user got knocked off. Everything in Oracle Applications came crashing down.<br /><br />(This is the part where my pager starts beeping..)<br /><br />After we realized what had happened the first thought to strike my mind was to run <strong>adadmin</strong> and re create the grants and&nbsp; synonyms. But as expected adadmin also refused to work in the absence of the apps synonyms. Classic!!<br /><br /><strong>The Quick Fix</strong><br />We did have multiple environments of oracle applications at this particular client so we just made up a script to create all the synonyms again from a working similar instance. We this script in the APPS schema of the working environment.<br /><br /><em>spool fixsynonym.sql<br />select 'create synonym &quot;'||synonym_name||'&quot; for '||table_owner||'.&quot;'||table_name||'&quot;;' from user_synonyms;<br />spool off<br /><br /></em>Next we ran the fixsynonym.sql from the apps schema of the environment which had all its synonyms deleted.<br />Once done we were able to get back almost all of our synonyms and atleast were able to get adadmin working back again.<br /><br />Next we ran <strong>adadmin</strong> and selected to <strong>recreate the grants and sysnonyms for the APPS Schema</strong>.<br />We did a clean shutdown of the instance and then brought it up again.. and it was back to perfect.<br />]]>
        
    </content>
</entry>
<entry>
    <title>RMAN for an APPS DBA</title>
    <link rel="alternate" type="text/html" href="http://appsdbablog.com/blog/2007/05/rman_for_an_apps_dba.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.appsdbablog.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=70" title="RMAN for an APPS DBA" />
    <id>tag:www.appsdbablog.com,2007://1.70</id>
    
    <published>2007-05-10T18:03:49Z</published>
    <updated>2007-05-10T18:19:46Z</updated>
    
    <summary>RMAN for an APPS DBAIts been long since i but up a post here. But have been tied up with a new project lately, i also apologize that i could not get back to your comments in time but will...</summary>
    <author>
        <name>Sam</name>
        <uri>www.appsdbablog.com</uri>
    </author>
            <category term="RMAN" />
    
    <content type="html" xml:lang="en" xml:base="http://www.appsdbablog.com/">
        <![CDATA[<p><strong>RMAN for an APPS DBA</strong><br /><br />Its been long since i but up a post here. But have been tied up with a new project lately, i also apologize that i could not get back to your comments in time but will have them answered as soon as possible.<br />Also lately i have been working with RMAN, and found out that it has a steep learning curve but once you are through with the initial startup it actually is fun to use. <strong>RMAN or the Oracle Recovery Manager</strong> is a vast topic so i am just touching up the day to day commands that you might probably use and need to understand to get going.<br /><br /><strong>Connecting to RMAN</strong>.<br />You can connect to the RMAN with or without the recovery catalog. there are multiple ways for connecting to RAMN.You can get the rman prompt by simply typing RMAN<br /><em><strong><br />RMAN&gt;<br /></strong></em><br />you can connect to the target database either by using a username and password or with supplying the username and password as the database owner.<br /><br /><em><strong>RMAN&gt; connect target username/password@string<br />RMAN&gt; connect target /<br /></strong></em><br />If you wish to connect to the rman catalog you can use the connect catalog command<br /><br /><em><strong>RMAN&gt; connect catalog username/password@string</strong></em><br /><br />To connect to an AUXILIARY database (maostly used for duplicating a database for cloning) use the CONNECT AUXILIARY command<br /><br /><em><strong>RMAN&gt; connect AUXILIARY username/password@string</strong></em><br /><br />again if you wish to connect as the owner of the AUXILIARY database you could use a '/'<br /><br /><strong><em>RMAN&gt; connect AUXILIARY /</em></strong><br /><br /><br /><strong>RMAN CHANNELS</strong><br /><br />The <strong>ALLOCATE CHANNEL</strong> command is used to establish a channel between the RMAN and the database instance. You can either allocate a single channel for your whole backup job or specify multiple channels, once RMAN finishes the job with a&nbsp; particular channel it releases that channel. The allocate channel is specified within the run braces.<br /><br />Additionally you can use the <strong>DEVICE TYPE</strong> clause to&nbsp; specify either a DISK to the channel or a TAPE.<br /><br /><em><strong>RUN<br />{<br />&nbsp; ALLOCATE CHANNEL c1 DEVICE TYPE sbt;<br />&nbsp; ....................................<br /><br />}<br /></strong></em><br />In the above case a channel is allocated for RAMN and the device type is TAPE.<br /><br />Along with the ALLOCATE CHANNEL command you can also specify the <strong>PRAMS</strong> command to use the media management library of your media manager.<br /><br /><em><strong>allocate channel ch1 type 'sbt_tape' parms<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin/tdpo.samdb)';<br /></strong></em><br />The above example shows the prams parameter for a Tivoli Storage Media.<br /><br /><strong>BACKUP using RMAN</strong><br />You can use the backup command to backup your database,tablespace, datafile , control file , SPFILE, archived log, or backup set.<br /><br />To backup the database<br /><br /><em><strong>RMAN&gt;BACKUP DATABASE;</strong></em><br /><br />To backup individual tablespaces use the command<br /><br /><strong><em>RMAN&gt;BACKUP TABLESPACE GLD, GLX;</em></strong><br /><br />To backup database along with the archivelogs<br /><br /><em><strong>RMAN&gt;BACKUP DATABASE PLUS ARCHIVELOG;</strong></em><br /><br />To backup the SPFILE of the target database.<br /><br /><em><strong>RMAN&gt;BACKUP SPFILE:</strong></em><br /><br />To backup your controlfile<br /><br /><em><strong>RMAN&gt;BACKUP CURRENT CONTROLFILE;</strong></em><br /><br />You can also use the <em><strong>INCLUDE CONTROLFILE</strong></em> option to include the backup of your current control file along with any other backups you may perform.<br /><br /><em><strong>RMAN&gt;BACKUP DATABASE PLUS ARCHIVELOG INCLUDE CURRENT CONTROLFILE;</strong></em><br /><br />This backups your database, archive logs and also a copy of your current control file.<br /><br />You could also <strong>TAG</strong> your backups by adding the TAG clause along with your BACKUP command.<br /><br /><em><strong>RMAN&gt;BACKUP DATABASE TAG = 'HOT SAMDB 050107 BACKUP'</strong></em><br /><br /><strong>Incremental Backups</strong><br />You can have RMAN backup only the blocks that have changed after the last backup. There are two levels of incremental backups in RMAN.<br /><br /><strong>Level 0 and Level 1</strong><br /><br />The Level 0 backup is almost similar to a full database backup. All subsequent incremental backups will be based on this backup.<br /><br />The Level 1 backup is again categorized into types<br /><br /><strong>Differential</strong> - This backs up all the blocks that have changed between the most recent level 1 or Level 0 backup<br /><strong>Cumulative</strong> - This backups all the blocks that have changed between the most recent level 0 backup.<br /><br />By default incremental backups are differential<br /><br />You must have Level 0 backup before you can use incremental backups.<br /><br /><em><strong>RMAN&gt;BACKUP INCREMENTAL LEVEL 0 DATABASE;</strong></em><br /><br />This creates a level 0 incremental backup of your database.<br /><br /><em><strong>RMAN&gt;BACKUP INCREMENTAL LEVEL 1 DATABASE;</strong></em><br /><br />This command will backup all the blocks that have changed since the last Level 0 or Level 1 backup.<br /><br /><strong>Listing RMAN Backups</strong><br /><br />The <strong>LIST</strong> command is used for listing the backups taken from RMAN.<br /><br />To list the backup of the database<br /><br /><strong><em>RMAN&gt;LIST BACKUP OF DATABASE;</em></strong><br /><br />To list a copy of a datafile<br /><br /><em><strong>RMAN&gt;LIST COPY OF DATAFILE 'sam/oradata/system01.dbf'; </strong></em><br /><br />To list a backup of a database taken between two dates <br /><br /><em><strong>RMAN&gt;LIST BACKUP OF DATABASE COMPLETED BETWEEN '01-APR-2007' AND '08-MAY-2007';</strong></em><br /><br />you can also use the completed clause to list backup copies of datafiles between two dates.<br /><br />To list backups by tag use<br /><br /><em><strong>RMAN&gt;LIST BACKUP TAG 'HOT SAMDB 050107 BACKUP';</strong></em><br /><br /><strong>REPORT<br /></strong><br />You can use the REPORT command to determine which are the files that need to be backed.<br /><br />RMAN&gt;REPORT NEED BACKUP;<br /><br />This lists the files that need to be backed up based on the retention policy in place.<br /><br /><strong>RMAN RESTORE</strong><br /><br />The <strong>RESTORE</strong> command can be used to restore backups from RMAN, you can restore a database, tablespace,&nbsp; datafile , control file,SPFILE or archived log.<br /><br />You can either allocate or configure channels for your restore operation or let RMAN allocate channels manually for the restore.<br /><br />The following example shows a simple, complete database restore and recovery<br /><br /><em><strong>RUN<br />{<br />&nbsp; RESTORE DATABASE;<br />&nbsp; RECOVER DATABASE;<br />}<br /></strong></em><br /><br />This example show restoring a SPFILE<br /><br /><em><strong>RMAN&gt;RESTORE SPFILE</strong></em><br /><br />This will restore in the default location<br /><br /><em><strong>RMAN&gt;RESTORE SPFILE TO '/tmp/spfileTEMP.ora'</strong></em><br /><br />This will restore in a location other than the default.<br /><br /><strong>Cloning with RMAN</strong><br /><br />If you are doing a hot cloning of your instance you can use RMAN do to the database cloning and then run adcfgclone with the DBTechStack option, as a part of your Oracle Applications cloning.<br /><br />To clone an database using RMAN you must<br />Connect to the target (Source instance)<br />Connect to the recovery catalog<br />Connect to the auxiliary (to be cloned instance)<br /><br />To restore the dbf files in the new server you cane use the <strong>SET NEWNAME FOR DATAFILE</strong> command within the RUN braces as below <br /><br /><em><strong>run {<br />set newname for datafile 1 to '/u01/sam//oradata/sys01.dbf';<br />set newname for datafile 2 to ..............................<br /><br /></strong></em>likewise for all your database files.<br /><br />In the end use the <strong>DUPLICATE</strong> command to clone the database.<br /><br /><em><strong>RMAN&gt;duplicate target database to samcldb;</strong></em><br /><br /></p>]]>
        
    </content>
</entry>
<entry>
    <title>Pro actively Monitoring your E-Business Suite using Oracle Applications Manager.</title>
    <link rel="alternate" type="text/html" href="http://appsdbablog.com/blog/2007/04/pro_actively_monitoring_your_e.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.appsdbablog.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=69" title="Pro actively Monitoring your E-Business Suite using Oracle Applications Manager." />
    <id>tag:www.appsdbablog.com,2007://1.69</id>
    
    <published>2007-04-27T20:01:09Z</published>
    <updated>2007-04-27T20:31:51Z</updated>
    
    <summary>Pro actively Monitoring your E-Business Suite using Oracle Applications Manager.As DBA i would not need to emphasize on the importance of pro active monitoring. This is all the more useful if you involved in supporting an existing system. The Oracle...</summary>
    <author>
        <name>Sam</name>
        <uri>www.appsdbablog.com</uri>
    </author>
            <category term="Oracle Applications Manager" />
    
    <content type="html" xml:lang="en" xml:base="http://www.appsdbablog.com/">
        <![CDATA[<p><strong>Pro actively Monitoring your E-Business Suite using Oracle Applications Manager.<br /><br /></strong>As DBA i would not need to emphasize on the importance of pro active monitoring. This is all the more useful if you involved in supporting an existing system. The <strong>Oracle Applications Manager (OAM)</strong> provides some nice tools which allow the&nbsp;your to monitor your instance pro actively.<br /><br />The first page when you log on into OAM also know as the Applications dash board give you a general over view of your system,&nbsp;something that you should really visit every morning. i will break up this page into further pats to discuss each of them&nbsp; separately<br /><br /><img src="http://www.appsdbablog.com/images/pm/pm01.GIF" border="0" /><br /><br />The first section above shows the over all system status of your instances including the number of servers there are and&nbsp; what are the components each of these have on them. It also show the status of each of these components. for example in the above screenshot you can see that there is some problem in your concurrent processing tier.</p><p><img src="http://www.appsdbablog.com/images/pm/pm02.GIF" border="0" /><br /><br />This section displays the system generated alerts and the alerts that have been initiated by the users. A user initiated alert&nbsp; happens when the user identified a problem and reports it via the support cart.<br /><br /><img src="http://www.appsdbablog.com/images/pm/pm03.GIF" border="0" /><br /><br />This section gives us information on the changes that have happened to the system in the past 24 hours which include new&nbsp;patches applied, profile option changes and context file edition.<br /><br />Just below this section you can also check the status of your web components. This i will discuss later on.<br /><br />The monitoring for Oracle Application via the OAM can be classified under</p><ul><li>Database</li><li>Forms Server</li><li>JVM</li><li>Concurrent Managers</li><li>Workflow</li><li>Web Components</li></ul><p><strong>Database Monitoring<br /></strong>This is the next section available in the availability section. This again has a nice detailed information about your Current&nbsp; Database status. The navigation for this is <br /><strong>OAM-&gt;Site Map-&gt;Monitoring-&gt;Availability-&gt; Database<br /><br /><img src="http://www.appsdbablog.com/images/pm/pm04.GIF" border="0" /></strong></p><p>This section of the database status show the general DB information like DB name host name etc.<br /><br /><img src="http://www.appsdbablog.com/images/pm/pm05.GIF" border="0" /><br /><br />This section shows the wait events of your database and the memory usage by your SGA etc.<br /><br /><img src="http://www.appsdbablog.com/images/pm/pm06.GIF" border="0" /><br /><br />The next section shows the all the information of your tablespaces<br /><br /><img src="http://www.appsdbablog.com/images/pm/pm07.GIF" border="0" /></p><p>The section below shows the status of your rollback segments</p><p>Additionally you can also get information on your database sessions and invalid objects in your instance through the&nbsp;following reports<br /><br /><strong>OAM-&gt;Site Map-&gt;Monitoring-&gt;Current Activity-&gt; Database Sessions<br />OAM-&gt;Site Map-&gt;Monitoring-&gt;Current Activity-&gt; Invalid Objects.</strong></p><p><img src="http://www.appsdbablog.com/images/pm/pm08.GIF" border="0" /><br /><br />You can get a report based on a date range.<br /><br />You can also get the <strong>SQL activity</strong> happing in your database from OAM. The place where you can find this is<br /><strong>OAM-&gt;Site Map-&gt;Monitoring-&gt;Performance-&gt;SQL Activity<br /><br /></strong><img src="http://www.appsdbablog.com/images/pm/pm09.GIF" border="0" /><br /><br />The information here can be used to perform any database tuning activity on your instance and the information is generated&nbsp;using the <strong>afamsact.sql</strong> script.<br /><br />Also available is the <strong>init.ora</strong> settings for your Oracle Applications database. You can get to this by the following&nbsp;navigation.<br /><strong>OAM-&gt;Site Map-&gt;Monitoring-&gt;System Configuration-&gt;Database Init.ora Setting</strong></p><p><img src="http://www.appsdbablog.com/images/pm/pm10.GIF" border="0" /></p><p>Apart from showing the current settings it also shows the recommended setting for your instance.</p><p><strong>Forms Server Monitoring<br /></strong>The Forms section in the availably section show the status of your forms listener. This happens only if your forms listener is being monitored using <strong>Generic Service Management (GSM)</strong>.The navigation for this report is.<br /><strong>OAM-&gt;Site Map-&gt;Monitoring-&gt;Availability-&gt;Forms.<br /><br /><img src="http://www.appsdbablog.com/images/pm/pm11.GIF" border="0" /><br /></strong><br />Additionally you can also see your forms runtime process and forms sessions using the following navigation paths.<br /><strong>OAM-&gt;Site Map-&gt;Monitoring-&gt;Current Activity-&gt;Forms Runtime Processes<br />OAM-&gt;Site Map-&gt;Monitoring-&gt;Current Activity-&gt;Forms Sessions<br /></strong>This report will be available only if you have set your Sing-On Audit Level to FORM in your system profiles.<br /><br /><strong>Java Virtual Machine Monitoring<br /></strong>You can also get a detailed report of the jserv usage from OAM.<br />Navigation <strong>OAM-&gt;Site Map-&gt;Monotoring-&gt;Performance-&gt;Jserv<br /><br /><img src="http://www.appsdbablog.com/images/pm/pm12.GIF" border="0" /></strong></p><p>If you want a detailed and a more cosmetic way to monitor your jserv you can try to do this using <strong>jconsole</strong> from sun.<br /><br /><strong>Concurrent Managers Monitoring<br /></strong>There are various reports in the concurrent managers sections which provide your information on the concurrent processing of&nbsp;your instance.<br /><br /><strong>Internal Concurrent Manager</strong><br />The internal concurrent manager sections shows the status&nbsp; of the ICM. You can use the following navigation for this<br /><strong>OAM-&gt;Site Map-&gt;Monitoring-&gt;Availability-&gt;Internal Concurrent Manager.<br /><br /><img src="http://www.appsdbablog.com/images/pm/pm13.GIF" border="0" /><br />Request Processing Mangers<br /></strong>This section allows you to view and monitor alll the your concurrent managers along with your standard manager. You can also&nbsp;start stop restart and deactivate your concurrent managers from this screen.<br /><strong>OAM-&gt;Site Map-&gt;Monitoring-&gt;Availability-&gt;request Processing Manager.</strong></p><p><strong>Transaction Managers.<br /></strong>As the name implies here you can view the status of your transaction managers.as with the above to screen you can start&nbsp;restart stop abort and deactivate your transaction managers from here also.<br /><strong>OAM-&gt;Site Map-&gt;Monitoring-&gt;Availability-&gt;Transaction Manager.<br /><br />Concurrent Requests charts.<br /></strong>You can also have various graphical presentations of your concurrent requets through OAM. You can navigate to <br /><strong>OAM-&gt;Site Map-&gt;Monitoring-&gt;Performance-&gt;Concurrent Processing Charts.<br /></strong>Here&nbsp;you can get various reports like<br />Top Running Requests by CPU<br />Top Running Requests by PGA<br />Longest Running Requests<br />Requests Waiting on Locks<br /><br /><img src="http://www.appsdbablog.com/images/pm/pm14.GIF" border="0" /><br /><br /><strong>Concurrent Request Reports<br /></strong>You can also get a detailed reports regarding your concurrent requests. These reports can be grouped by username, program or&nbsp; usage statistics. Navigation path is <br /><strong>OAM-&gt;Site Map-&gt;Monitoring-&gt;Usage-&gt;Concurrent Processing Reports</strong></p><p><strong>Workflows Monitoring<br /></strong>The status of your workflow components can also be monitored using OAM. This screen here shows the status of your workflow&nbsp;components which include notification mailers, agent listeners and service components. You can also drill down each of these&nbsp;components to get a detailed listing.<br />Navigation Path <strong>OAM-&gt;Site Map-&gt;Monitoring-&gt;Availability-&gt;Workflow<br /><br /><img src="http://www.appsdbablog.com/images/pm/pm15.GIF" border="0" /><br /><br />Web Components Monitoring<br /></strong>The web components part shows the status of the web components as discussed eralier in the applications dash board.<br />Navigation Path is <strong>OAM-&gt;Site Map-&gt;Monitoring-&gt;Availability-&gt;Web Components<br /><br /></strong>The web components report shows the status of your<br />PL/SQL Agent <br />Servlet Agent<br />JSP Agent <br />JTF<br />Discoverer<br />Personal homepage<br />TCF</p>]]>
        
    </content>
</entry>
<entry>
    <title>Cache invalidation in Oracle Applications</title>
    <link rel="alternate" type="text/html" href="http://appsdbablog.com/blog/2007/04/cache_invalidation_in_oracle_a.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.appsdbablog.com/blog-mt/mt-atom.cgi/weblog/blog_id=1/entry_id=68" title="Cache invalidation in Oracle Applications" />
    <id>tag:www.appsdbablog.com,2007://1.68</id>
    
    <published>2007-04-17T21:41:44Z</published>
    <updated>2007-04-17T21:46:31Z</updated>
    
    <summary>Cache invalidation in Oracle ApplicationsWith the extended usage of Self Service Web Applications(SSWA) in Oracle Applications, the mechanism of cache invalidation assumes significant importance. In the process of supporting Oracle Application i am sure most of you would have already...</summary>
    <author>
        <name>Sam</name>
        <uri>www.appsdbablog.com</uri>
    </author>
            <category term="Application Server" />
    
    <content type="html" xml:lang="en" xml:base="http://www.appsdbablog.com/">
        <![CDATA[<p><strong>Cache invalidation in Oracle Applications<br /></strong><br />With the extended usage of <strong>Self Service Web Applications(SSWA)</strong> in Oracle Applications, the mechanism of cache invalidation assumes significant importance. In the process of supporting Oracle Application i am sure most of you would have already come across the cache invalidation mechanism and problems associated with it in Oracle Applications.<br /><br /><strong>What do you mean by cache Invalidation?</strong><br />The main purpose of the web cache is to cache frequently used data and reduce application response time for the end user. However in order to maintain the relevance of the cached data it is important that the old is flushed out or invalidated and new data is cached again. This process is referred to as cache invalidation. All the web server which support web cache have different mechanisms to deal with the invalidation process. These may be time based date based etc.Also invalidation maybe either automatic that is triggered by the application /Server itself or it may be manual like from the console or a simple deletion from the backend.<br /><br /><strong>Cache Invalidation In Oracle Applications</strong><br />The core web server of Oracle Applications is the apache based Oracle Application Server. The Oracle application Server Web Cache has the ability to cache both <strong>static and dynamic data</strong>.<br /><br />The different methods of Invalidation supported by the Oracle Application Server Web Cache are</p><ul><li>Manual Invalidation through Web Server Console</li><li>Manual invalidation through a telnet to the web server.</li><li>Invalidation using PL/SQL,this is available via the wxvutil.sql scriptthe which can be obtained from http://otn.oracle.com/software/products/ias/web_cache/files/api_plsql.zip</li><li>Invalidation from a JSP using the jesi:invalidation tag</li></ul><p><br />Based on the circumstances encountered Oracle Applications also uses these mechanisms to perform cache invalidation to render the most relevant information when using self service web applications.<br /><br />Oracle Applications implements a <strong>Cache Framework</strong> to effectively handle the caching mechanisms in E-Business Suite. This framework primarily includes</p><ul><li>Cache Manager: The cache manager is responsible for interacting between the business APIs and the cache components. The business APis request data from the cache via this manager.</li><li>Cache Components: The actual data is stored in the form of cache components. The data is distributed in various cache components based of the attributes.</li><li>Cache Class Loader: Each of the cache components are associated with a cache calss loader. when the data is requested by the business APIs via the cache manager to the cache component, if the object is present it is given back and in case of a miss (also referred as a cache miss) the cache class loader is responsible for fetching the data from the database and loading it into the cache component.</li></ul><p><br />A common case of improper of cache invalidation is when you add a self service responsibility to a user and the user is not able to see that responsibility immediately. A work around is that you manually&nbsp; clear the cache or bounce your web server after which the change is reflected (as it does a force invalidation of your cache).However if you have applied your latest patches and roll ups you would not see this problem.<br /><br />The Oracle Application cache Framework supports the following features</p><ul><li>Preloading: Preloading allows certain objects to be preloaded in the cache component along with the startup of the JVM. This increases performance by eliminating the need to lod the objects via the class loader.</li><li>Distribution: In case of multiple JVMs in use the caching framework ensures that cache changes and invalidations are propogated in all the caches.</li><li>Dadatabse Invalidation. the caching framework in applications also provides for an invalidation request to be originated from the database level. This means the database cahnges to the cached objects are sent as invalidation requests to the cache. To enable this feature you must however make sure that the Workflow Java Deferred Agent Listener is started in your instance.</li><li>Event Support: Also supported by the applications cache framework is the support for events. This ensures that there is synchronization between inter dependent data in the cache. For this purpose event handlers are registered within the cache components.</li></ul><p>You can run diagnostic test on your cache by going to the <br />http://&lt;hostname&gt;:&lt;port&gt;/OA_HTML/jtflogin.jsp<br /><br />Another mechanism adopted by the web cache along with invalidation is <strong>Expiration</strong>. Expiration happens when the objects in the web cache are marked as invalid after a certain period of time. While invalidation is used for randomly changing objects the expiration method is adopted for objects which do not change so frequently.</p>]]>
        
    </content>
</entry>

</feed> 

