<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CUIDQ3kzeyp7ImA9WhRRFEk.&quot;"><id>tag:blogger.com,1999:blog-26855951</id><updated>2011-11-27T17:26:12.783-08:00</updated><category term="performance improvement" /><category term="Oracle Application Server 10g" /><category term="Application Server" /><category term="10g new features" /><category term="oc4jadmin password" /><category term="oracle pl/sql 10g" /><category term="pl/sql new features" /><category term="compiler freedoms" /><category term="how to trace the session oracle" /><category term="tuning" /><category term="Oracle 10g" /><category term="pl/sql" /><category term="pl/sql compiler" /><category term="performance gain" /><category term="Oracle Database 10g" /><title>OracleFunda</title><subtitle type="html">Oracle Technology related articles and tips</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://oraclefunda.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://oraclefunda.blogspot.com/" /><author><name>Aalap</name><uri>http://www.blogger.com/profile/12821983173041145484</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Oraclefunda" /><feedburner:info uri="oraclefunda" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DEUASXo4cCp7ImA9WxdQGE0.&quot;"><id>tag:blogger.com,1999:blog-26855951.post-8407541659098690464</id><published>2008-06-18T09:02:00.000-07:00</published><updated>2008-06-18T09:24:08.438-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-18T09:24:08.438-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle 10g" /><category scheme="http://www.blogger.com/atom/ns#" term="tuning" /><category scheme="http://www.blogger.com/atom/ns#" term="pl/sql compiler" /><category scheme="http://www.blogger.com/atom/ns#" term="pl/sql" /><category scheme="http://www.blogger.com/atom/ns#" term="performance gain" /><category scheme="http://www.blogger.com/atom/ns#" term="pl/sql new features" /><category scheme="http://www.blogger.com/atom/ns#" term="compiler freedoms" /><category scheme="http://www.blogger.com/atom/ns#" term="10g new features" /><category scheme="http://www.blogger.com/atom/ns#" term="oracle pl/sql 10g" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Database 10g" /><category scheme="http://www.blogger.com/atom/ns#" term="performance improvement" /><title /><content type="html">&lt;p&gt;&lt;strong&gt;PL/SQL enhancements in Oracle database 10g&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Oracle 10g Database has a lot new things for everybody... May it be Database Administrators or the Developers. A lot of people have been discussing the DBA features that Oracle 10g Database provides, but a very few have said anything about PL/SQL features in 10g.&lt;/p&gt;&lt;p&gt;So, what’s New in PL/SQL in Oracle Database 10g?&lt;/p&gt;&lt;p&gt;Well, a lot of things are new in PL/SQL in 10g db. In this post we will just list some of them and in the next post:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;A. Changes in 10g PL/SQL compiler&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1. Freedom in order of evaluation of operands&lt;br /&gt;eg: operators of equal precedence a+b+c can be evaluated in any order like: a+b+c or a+c+b or a+c+b or any other combination that the compiler feels correct&lt;br /&gt;&lt;br /&gt;2. Freedom of not raising an exception&lt;br /&gt;eg: if some operation can be performed in two ways, 1 of which may raise and exception, the compiler can choose not to select that option.&lt;br /&gt;&lt;br /&gt;3. Freedom to raise the exception&lt;br /&gt;eg: if an operation raises two exceptions, compiler has freedom to choose which exception it wants to raise&lt;br /&gt;&lt;br /&gt;4. Freedom of computing correct result&lt;br /&gt;eg: A*null = null; no matter A is of any datatype&lt;br /&gt;&lt;br /&gt;.5 Takes care of the side effects&lt;br /&gt;eg: RANDOM + 1/BSD&lt;br /&gt;If RANDOM is a function call manipulating BSD, then sequence is taken care of&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;B. Freedom and Side Effects&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Though Oracle 10g Database gives the compiler a lot of freedoms, the DB has to take care of the side effects arising out of such freedoms:&lt;/p&gt;&lt;p&gt;1. PL/SQL Compiler will not reorder, add or remove explicit procedure, function or method calls appearing in sepereate statements&lt;br /&gt;2. PL/SQL Compiler has the freedom not to do an operation whose only effect is to raise and exception or to initialize a package&lt;br /&gt;3. IF a PL/SQL subprogram requires initialization of the package, then PL/SQL is free to perform the initialization at any time between the beginning of the call to the subprogram which immediately encloses the package element reference and the moment when the package element is actually used&lt;br /&gt;4. If the PL/SQL compiler can determine that a use of a package element does not require the initialization of the package, then PL/SQL is not required to initialize the package when the element is used&lt;br /&gt;5. If an operation may raise an exception when executed, but there is an alternate possible method of execution which will not raise that exception, the PL/SQL compiler is free to choose the alternate method&lt;br /&gt;6. The PL/SQL compiler may not introduce a computation as an alternate which may raise an exception which otherwise would not have been raised during the execution of a program&lt;br /&gt;&lt;br /&gt;Example 1:&lt;br /&gt;&lt;br /&gt;- A + B …&lt;br /&gt;-&lt;br /&gt;- A + B …&lt;br /&gt;&lt;br /&gt;can be changed to&lt;br /&gt;&lt;br /&gt;T := A + B;&lt;br /&gt;… T …&lt;br /&gt;…&lt;br /&gt;… T …&lt;br /&gt;&lt;br /&gt;Example 2:&lt;br /&gt;&lt;br /&gt;for i in 1 .. 10 loop&lt;br /&gt;A := B + C;&lt;br /&gt;…&lt;br /&gt;end loop;&lt;br /&gt;&lt;br /&gt;can be changed to&lt;br /&gt;A := B + C;&lt;br /&gt;for i in 1 .. 10 loop&lt;br /&gt;…&lt;br /&gt;end loop;&lt;br /&gt;&lt;br /&gt;Example 3:&lt;br /&gt;&lt;br /&gt;if pkg.A = null then null; end if;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;The entire if statement may be eliminated if A is not a procedure or method call because the PL/SQL compiler knows that the result of the comparison is always null.&lt;/p&gt;&lt;p&gt;These were some of the features/enhancements in PL/SQL compiler of Oracle 10g Database. So the next time you write a piece of code for Oracle database 10g, keep these things in mind and the database will give you the best output. In the subsequent post, we will try to debunk few performance myths in Oracle database 10g.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26855951-8407541659098690464?l=oraclefunda.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/srF-VG3HftzkOqbVRO9Qv73JcWY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/srF-VG3HftzkOqbVRO9Qv73JcWY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/srF-VG3HftzkOqbVRO9Qv73JcWY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/srF-VG3HftzkOqbVRO9Qv73JcWY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Oraclefunda/~4/nfHrvaqe2yA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://oraclefunda.blogspot.com/feeds/8407541659098690464/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26855951&amp;postID=8407541659098690464" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26855951/posts/default/8407541659098690464?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26855951/posts/default/8407541659098690464?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Oraclefunda/~3/nfHrvaqe2yA/oracle-10g-database-has-lot-new-things.html" title="" /><author><name>Aalap</name><uri>http://www.blogger.com/profile/12821983173041145484</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://oraclefunda.blogspot.com/2008/06/oracle-10g-database-has-lot-new-things.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMHRXs9eCp7ImA9WxdSE0U.&quot;"><id>tag:blogger.com,1999:blog-26855951.post-2888095523572311186</id><published>2008-05-21T09:06:00.000-07:00</published><updated>2008-05-21T09:13:54.560-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-21T09:13:54.560-07:00</app:edited><title /><content type="html">&lt;p&gt;&lt;strong&gt;Troubleshooting the dreaded "ORA-07445" and "ORA-00600" errors&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;ORA-07445 and ORA-00600 core dump errors are very generic and it does not give users any specific error message. It becomes the task of a DBA to find out the cause and the solution of the error.The million dollar question is how to find the cause of the error? There are no direct messages printed on the screen to start with. &lt;/p&gt;&lt;p&gt;In such case, we start with alert_SID.log file. Every ORA-07445 and ORA-00600 errors will get recorded in the alert_SID.log file with proper time and related trace file information.&lt;br /&gt;&lt;br /&gt;We will use the information in trace file to find out the actual cause of the error and the solution through &lt;a href="http://metalink.oracle.com/"&gt;metalink&lt;/a&gt;. Metalink provides a very useful "ORA-600/ORA-7445 Troubleshooter tool (Metalink Note:153788.1)"&lt;br /&gt;&lt;br /&gt;Login into the &lt;a href="http://metalink.oracle.com/"&gt;Metalink&lt;/a&gt; account and search for doc id "153788.1" in the Quick find search bar and open the document. Now navigate to the error in alert_SID.log file and find the related trace file from UDUMP directory.&lt;br /&gt;&lt;br /&gt;There are 2 ways to lookup the error: &lt;/p&gt;&lt;p&gt;1. Lookup by code &lt;/p&gt;&lt;p&gt;a. Select the correct Error code (ORA-00600 or ORA-07445)&lt;/p&gt;&lt;p&gt;b. Provide the first argument or failing function&lt;/p&gt;&lt;p&gt;c. Select the appropriate database version&lt;/p&gt;&lt;p&gt;d. Click Lookup Error button&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;2. Search Call Stack&lt;/p&gt;&lt;p&gt;a. Select the correct Error code (ORA-00600 or ORA-07445)&lt;/p&gt;&lt;p&gt;b. Select the appropriate database version &lt;/p&gt;&lt;p&gt;c. Enter the Call Stack info in the "Search Call Stack box"&lt;/p&gt;&lt;p&gt;d. Click Search Call Stack button&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Metalink will search it's database and will show all the possibilities that can cause the problem and also it's solutions. In case the error is not in the metalink database, they make a note of this new error too.&lt;br /&gt;&lt;br /&gt;This tool plays important role in identifying bugs in the database.&lt;/p&gt;&lt;p&gt;Aalap Sharma :)&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26855951-2888095523572311186?l=oraclefunda.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nmZNetN0GJ8tmlBli-dfl-Gl6NQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nmZNetN0GJ8tmlBli-dfl-Gl6NQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nmZNetN0GJ8tmlBli-dfl-Gl6NQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nmZNetN0GJ8tmlBli-dfl-Gl6NQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Oraclefunda/~4/nXEGJo4s1PY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://oraclefunda.blogspot.com/feeds/2888095523572311186/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26855951&amp;postID=2888095523572311186" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26855951/posts/default/2888095523572311186?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26855951/posts/default/2888095523572311186?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Oraclefunda/~3/nXEGJo4s1PY/troubleshooting-dreaded-ora-07445-and.html" title="" /><author><name>Aalap</name><uri>http://www.blogger.com/profile/12821983173041145484</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://oraclefunda.blogspot.com/2008/05/troubleshooting-dreaded-ora-07445-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcHSXs7eSp7ImA9WxdQEUw.&quot;"><id>tag:blogger.com,1999:blog-26855951.post-6047838083761443066</id><published>2008-04-25T08:00:00.000-07:00</published><updated>2008-06-10T09:40:38.501-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-10T09:40:38.501-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle 10g" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Application Server 10g" /><category scheme="http://www.blogger.com/atom/ns#" term="oc4jadmin password" /><category scheme="http://www.blogger.com/atom/ns#" term="Application Server" /><title /><content type="html">&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;How to change oc4jadmin password for Application Server 10gR3&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Scenario:&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;We have a fresh installation of Oracle Application Server 10gR3 (10.1.3.x). We perform following tasks:&lt;br /&gt;&lt;br /&gt;1. Create new OC4J instances&lt;br /&gt;2. Deploy Applications on these instances&lt;br /&gt;3. Change password for oc4jadmin user using setup link in Application server console&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Problem:&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;After performing above tasks, when we try to access any OC4J instances other than HOME, the Application Server will deny the access and gives following error on the screen:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;color:#ff0000;"&gt;Unable to make a connection to OC4J instance instance_name on Application&lt;br /&gt;Server application_server_name. A common cause for this failure is an&lt;br /&gt;authentication error. The administrator password for each OC4J instance in the&lt;br /&gt;Cluster must be the same as the administrator password for the OC4J instance on&lt;br /&gt;which Application Server Control is running. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;color:#ff0000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Reason:&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;The administrator password for all OC4J instances in the Cluster must be the same as the administrator password for the OC4J instance on which Application Server Control (by default it is HOME instance) is running.&lt;br /&gt;Changing the password through the Setup link does not change the oc4jadmin password used by any remote OC4J instances. A remote OC4J instance is any OC4J instance in a cluster topology that is not hosting the active Application Server Control.&lt;br /&gt;This means that all the OC4J instances should have same oc4jadmin password.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Solution:&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Before changing the oc4jadmin password for HOME instance, we must change the oc4jadmin password for remote instances using the following steps:&lt;br /&gt;&lt;br /&gt;1. Click on OC4J instance&lt;br /&gt;2. Click on Administration tab&lt;br /&gt;3. Edit sub-task Security Providers under Security task&lt;br /&gt;4. Edit any application name under Application Level Security&lt;br /&gt;5. Click on Realms tab&lt;br /&gt;6. For realm name - jazn.com, click the value under column Users&lt;br /&gt;7. Click on oc4jadmin under User Name column&lt;br /&gt;8. Provide the old Password for oc4jadmin and new password for oc4jadmin and click Apply&lt;br /&gt;&lt;br /&gt;Repeat these steps for all the OC4J instances except HOME instance.&lt;br /&gt;After changing the administrator passwords for all OC4J instances, we can then change the oc4jadmin password for HOME instance using setup link on Application server console.&lt;br /&gt;&lt;br /&gt;Now all the oc4jadmin passwords are in sync and the application server will be functioning fine.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26855951-6047838083761443066?l=oraclefunda.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dcmj6SMNJgqY9dnqaKqpNVVewO4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dcmj6SMNJgqY9dnqaKqpNVVewO4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dcmj6SMNJgqY9dnqaKqpNVVewO4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dcmj6SMNJgqY9dnqaKqpNVVewO4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Oraclefunda/~4/FWcNu0IP0T0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://oraclefunda.blogspot.com/feeds/6047838083761443066/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26855951&amp;postID=6047838083761443066" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26855951/posts/default/6047838083761443066?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26855951/posts/default/6047838083761443066?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Oraclefunda/~3/FWcNu0IP0T0/how-to-change-oc4jadmin-password-for.html" title="" /><author><name>Aalap</name><uri>http://www.blogger.com/profile/12821983173041145484</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://oraclefunda.blogspot.com/2008/04/how-to-change-oc4jadmin-password-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMMSHc4cSp7ImA9WxZaEU4.&quot;"><id>tag:blogger.com,1999:blog-26855951.post-5078223949512696631</id><published>2008-02-27T06:41:00.000-08:00</published><updated>2008-04-25T08:14:49.939-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-25T08:14:49.939-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle 10g" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Application Server 10g" /><category scheme="http://www.blogger.com/atom/ns#" term="Application Server" /><title /><content type="html">&lt;p&gt;&lt;span style="font-size:85%;"&gt;Oracle Application Server - Basics&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;This post is for those people who are new to Application Server domain and need simple answers to basic questions i.e., a couple of What is ? kind of questions. Read on... &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;What is? &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;1. What is Application Server?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;An application server is a software platform that delivers content to the Web. In our case, it is a layer between the clients and the database called middle tier. Common Application logic, business rules, etc are coded in applications in middle tier&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;2. What is OC4J Instance?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;Oracle Containers for Java EE (OC4J) is the core Java EE runtime component of Oracle Application Server.It is a program that serves the J2EE requests of the clients. An OC4J instance is the copy of 1 such program.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;3. What is (Middle tier) Application?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;The packaged code deployed on the middle tier which contains common application logic, business rules, etc is a Middle tier Application.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;4. What is Data Source?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;Object to connect to a database. A data source is a Java object and offers a portable, vendor-independent method for creating connections to databases. A data source object's properties are set so that it represents a particular database. An application can use a different database by changing the data source's properties; no change in the application code is required.&lt;br /&gt;The data sources for the OC4J instance are referenced as Java Naming and Directory Interface (JNDI) locations.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;5. What is Connection Pooling?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;A Data Source (Managed) uses Connection pool to efficiently manage connections. OC4J provides the connection pool feature to increase efficiency by maintaining a cache of physical connections that can be reused. When a client closes a connection, the connection gets placed back into the pool so that another client can use it. A connection pool improves performance and scalability by allowing multiple clients to share a small number of physical connections.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;6. What is Deployment?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;In Simple terms, Deployment means installing the application. When you deploy application, the Application Server will unpack the deployment file (EAR/WAR/JAR/RAR) and create the directory structures with files, just like they were packed by the developer.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;7. What is RMI Port?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;Remote Method Invocation (RMI) is a technology that allows an object running in one Java virtual machine (JVM) to invoke methods on an object running in a different Java virtual machine (JVM).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;The complete Application Server documentation is available here:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://download.oracle.com/docs/cd/B31017_01/index.htm"&gt;http://download.oracle.com/docs/cd/B31017_01/index.htm&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Best Luck :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26855951-5078223949512696631?l=oraclefunda.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Sk5wFKc4PxcZ36INn0UDIXmIfV8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Sk5wFKc4PxcZ36INn0UDIXmIfV8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Sk5wFKc4PxcZ36INn0UDIXmIfV8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Sk5wFKc4PxcZ36INn0UDIXmIfV8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Oraclefunda/~4/QBsJwGIdMPQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://oraclefunda.blogspot.com/feeds/5078223949512696631/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26855951&amp;postID=5078223949512696631" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26855951/posts/default/5078223949512696631?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26855951/posts/default/5078223949512696631?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Oraclefunda/~3/QBsJwGIdMPQ/oracle-application-server-basics-this.html" title="" /><author><name>Aalap</name><uri>http://www.blogger.com/profile/12821983173041145484</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://oraclefunda.blogspot.com/2008/02/oracle-application-server-basics-this.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMASXozfSp7ImA9WxZaEU4.&quot;"><id>tag:blogger.com,1999:blog-26855951.post-8184011600943531108</id><published>2008-01-17T07:19:00.000-08:00</published><updated>2008-04-25T08:14:08.485-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-04-25T08:14:08.485-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle 10g" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Database 10g" /><title /><content type="html">&lt;span style="font-size:85%;"&gt;"How to avoid Memory Notification Warning in Oracle 10g"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;The following messages were reported in alert.log very frequently in our Oracle Database 10g (10.2.0.1.0)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;Memory Notification: Library Cache Object loaded into SGA&lt;br /&gt;Heap size 2907K exceeds notification threshold (2048K)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;These are not error messages, but are just the warnings. They appear as a result of new event messaging mechanism and memory manager in 10g Release 2.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;These messages means that the process is spending a lot of time in finding free memory extents during an a llocate as the memory may be heavily&lt;br /&gt;fragmented. Continued messages of large allocations in memory indicate there are tuning opportunities on the application.&lt;br /&gt;To prevent these messages from being written, set "_kgl_large_heap_warning_threshold" to a reasonable high value or zero to prevent these warning messages. Value needs to be set in bytes.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(logged in as "/ as sysdba")&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; alter system set "_kgl_large_heap_warning_threshold"=8388608 scope=spfile ;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; shutdown immediate&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; startup&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;For detailed explanations, please refer to the Metalink Doc Id 330239.1&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Aalap Sharma&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26855951-8184011600943531108?l=oraclefunda.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qacGMPDOHYbPB4C_OzpulHwqf_I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qacGMPDOHYbPB4C_OzpulHwqf_I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qacGMPDOHYbPB4C_OzpulHwqf_I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qacGMPDOHYbPB4C_OzpulHwqf_I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Oraclefunda/~4/VfVjnZVxUKk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://oraclefunda.blogspot.com/feeds/8184011600943531108/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26855951&amp;postID=8184011600943531108" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26855951/posts/default/8184011600943531108?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26855951/posts/default/8184011600943531108?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Oraclefunda/~3/VfVjnZVxUKk/how-to-avoid-memory-notification.html" title="" /><author><name>Aalap</name><uri>http://www.blogger.com/profile/12821983173041145484</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://oraclefunda.blogspot.com/2008/01/how-to-avoid-memory-notification.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcCSHwzeCp7ImA9WxdQEUw.&quot;"><id>tag:blogger.com,1999:blog-26855951.post-3914407543184186615</id><published>2008-01-08T07:01:00.001-08:00</published><updated>2008-06-10T09:41:09.280-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-10T09:41:09.280-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle 10g" /><category scheme="http://www.blogger.com/atom/ns#" term="how to trace the session oracle" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle Database 10g" /><title /><content type="html">&lt;span style="font-size:85%;"&gt;Session Tracing in Oracle 10G&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;With the advent of Oracle 10g, the SQL tracing options have been&lt;br /&gt;centralized and extended using the dbms_monitor package.&lt;br /&gt;The example below shows how we can trace the sessions for a particular&lt;br /&gt;schema/user without generating unwanted or junk trace files. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;STEP 1&lt;br /&gt;------&lt;br /&gt;Before starting the trace, we need to identify the schema/user which&lt;br /&gt;needs to be traced. For this, we shall create a logon trigger which would&lt;br /&gt;attach a particular CLIENT_IDENTIFIER to the session logging into the&lt;br /&gt;schema.&lt;br /&gt;&lt;br /&gt;CREATE OR REPLACE TRIGGER "SCOTT".LOGON_TRIGGER&lt;br /&gt;AFTER LOGON ON schema&lt;br /&gt;DECLARE&lt;br /&gt;v_user_identifier varchar2(64);&lt;br /&gt;BEGIN&lt;br /&gt;v_user_identifier:='SCOTT_ID';&lt;br /&gt;DBMS_SESSION.SET_IDENTIFIER(v_user_identifier);&lt;br /&gt;END;&lt;br /&gt;&lt;br /&gt;All the sessions connecting to the SCOTT schema will be have the&lt;br /&gt;CLIENT_IDENTIFIER set to "SCOTT_ID". This enables the database to identify all&lt;br /&gt;the sessions connected to a schema, with just one name/id.&lt;br /&gt;&lt;br /&gt;STEP 2&lt;br /&gt;------&lt;br /&gt;Now we shall enable the tracing for the attached client id using&lt;br /&gt;following command:&lt;br /&gt;&lt;br /&gt;EXEC&lt;br /&gt;DBMS_MONITOR.CLIENT_ID_TRACE_ENABLE('SCOTT_ID',WAITS=&gt;TRUE,BINDS=&gt;TRUE);&lt;br /&gt;&lt;br /&gt;This will start tracing for all the sessions that has SCOTT_ID as&lt;br /&gt;CLIENT_ID.&lt;br /&gt;The trace files will be generated in the directory specified in the&lt;br /&gt;value of parameter "USER_DUMP_DEST".&lt;br /&gt;Mostly it is set to UDUMP directory.&lt;br /&gt;&lt;br /&gt;STEP 3&lt;br /&gt;------&lt;br /&gt;Tracing can be disabled using the following command&lt;br /&gt;&lt;br /&gt;EXEC DBMS_MONITOR.CLIENT_ID_TRACE_DISABLE('SCOTT_ID');&lt;br /&gt;&lt;br /&gt;STEP 4&lt;br /&gt;------&lt;br /&gt;Activating trace on multiple sessions means that trace information is&lt;br /&gt;spread throughout many trace files. For this reason Oracle 10g&lt;br /&gt;introduced the trcsess utility, allowing trace information from multiple trace&lt;br /&gt;files to be identified and consolidated into a single trace file.&lt;br /&gt;Go to the udump directory and execute the following command.&lt;br /&gt;&lt;br /&gt;TRCSESS OUTPUT=OUTPUT.TRC CLIENTID=SCOTT_ID *&lt;br /&gt;SYNTAX:&lt;br /&gt;trcsess [output=&lt;output&gt;] [session=&lt;session&gt;]&lt;br /&gt;[clientid=&lt;clientid&gt;] [service=&lt;service&gt;] [action=&lt;action&gt;]&lt;br /&gt;[module=&lt;module&gt;] &lt;trace&gt;&lt;br /&gt;output=&lt;output&gt; output destination default being standard&lt;br /&gt;output.&lt;br /&gt;session=&lt;session&gt; session to be traced.&lt;br /&gt;Session id is a combination of session Index &amp;amp; session serial number&lt;br /&gt;e.g. 8.13.&lt;br /&gt;clientid=&lt;clientid&gt; clientid to be traced.&lt;br /&gt;service=&lt;service&gt; service to be traced.&lt;br /&gt;action=&lt;action&gt; action to be traced.&lt;br /&gt;module=&lt;module&gt; module to be traced.&lt;br /&gt;&lt;trace_file_names&gt;Space separated list of trace files with wild card&lt;br /&gt;'*' supported.&lt;br /&gt;&lt;br /&gt;This command will create with filename specified in parameter "OUTPUT"&lt;br /&gt;i.e,. OUTPUT.TRC in this case.&lt;br /&gt;&lt;br /&gt;STEP 5&lt;br /&gt;------&lt;br /&gt;We have a consolidated tracefile OUTPUT.TRC which contains traces for&lt;br /&gt;all the sessions that had connected to SCOTT schema. We must now use&lt;br /&gt;TKPROF utility to create a human readable file from this raw trace file.&lt;br /&gt;&lt;br /&gt;TKPROF OUTPUT.TRC SCOTT_SESSIONS.TXT&lt;br /&gt;&lt;br /&gt;STEP 6&lt;br /&gt;------&lt;br /&gt;The human readable form of the tracefile can be used to identify&lt;br /&gt;problems with the application, database, etc.&lt;br /&gt;There is a thrid party tool available (developed by Siva Dirisala)&lt;br /&gt;which analyzes the SCOTT_SESSIONS.TXT file query wise.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.dirisala.net/oracle/tkprof_trace_viewer.do" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;http://www.dirisala.net/oracle/tkprof_trace_viewer.do&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;For detailed descriptions please refer to the Oracle documentation&lt;br /&gt;&lt;/span&gt;&lt;a href="http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/sqltrace.htm#sthref1994" target="_blank"&gt;&lt;span style="font-size:85%;"&gt;http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/sqltrace.htm#sthref1994&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;"Happy Tracing"&lt;br /&gt;&lt;br /&gt;Aalap Sharma&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26855951-3914407543184186615?l=oraclefunda.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fpj0S33TOANJh_N8zZa5SaktuSQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fpj0S33TOANJh_N8zZa5SaktuSQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fpj0S33TOANJh_N8zZa5SaktuSQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fpj0S33TOANJh_N8zZa5SaktuSQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Oraclefunda/~4/WSFHRT_f0vg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://oraclefunda.blogspot.com/feeds/3914407543184186615/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=26855951&amp;postID=3914407543184186615" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/26855951/posts/default/3914407543184186615?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/26855951/posts/default/3914407543184186615?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Oraclefunda/~3/WSFHRT_f0vg/with-advent-of-oracle-10g-sql-tracing_08.html" title="" /><author><name>Aalap</name><uri>http://www.blogger.com/profile/12821983173041145484</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://oraclefunda.blogspot.com/2008/01/with-advent-of-oracle-10g-sql-tracing_08.html</feedburner:origLink></entry></feed>

