<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Neat Tricks</title>
	<atom:link href="http://hoopercharles.wordpress.com/2010/01/27/neat-tricks/feed/" rel="self" type="application/rss+xml" />
	<link>http://hoopercharles.wordpress.com/2010/01/27/neat-tricks/</link>
	<description>Miscellaneous Random Oracle Topics: Stop, Think, ... Understand</description>
	<lastBuildDate>Mon, 13 May 2013 14:10:06 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Blogroll Report 22/01/2009 – 29/01/2010 &#171; Coskan&#8217;s Approach to Oracle</title>
		<link>http://hoopercharles.wordpress.com/2010/01/27/neat-tricks/#comment-411</link>
		<dc:creator><![CDATA[Blogroll Report 22/01/2009 – 29/01/2010 &#171; Coskan&#8217;s Approach to Oracle]]></dc:creator>
		<pubDate>Sun, 21 Feb 2010 03:26:45 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=978#comment-411</guid>
		<description><![CDATA[[...] 25-Tips and tricks about some Oracle topics Charles Hooper- Neat Tricks [...]]]></description>
		<content:encoded><![CDATA[<p>[...] 25-Tips and tricks about some Oracle topics Charles Hooper- Neat Tricks [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2010/01/27/neat-tricks/#comment-297</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Wed, 03 Feb 2010 13:31:48 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=978#comment-297</guid>
		<description><![CDATA[Interesting - it seems that the authors of the documentation cannot decide what is correct, even in the latest release.

http://download.oracle.com/docs/cd/E11882_01/server.112/e10595/ds_admin001.htm
&quot;If the remote database enforces global naming, then you must use the remote database global database name as the name of the link.&quot;

http://download.oracle.com/docs/cd/E11882_01/server.112/e10595/ds_concepts002.htm
&quot;When you set the initialization parameter GLOBAL_NAMES to TRUE, the database ensures that the name of the database link is the same as the global database name of the remote database. For example, if the global database name for hq is hq.acme.com, and GLOBAL_NAMES is TRUE, then the link name must be called hq.acme.com. Note that the database checks the domain part of the global database name as stored in the data dictionary, not the DB_DOMAIN setting in the initialization parameter file... If you set the initialization parameter GLOBAL_NAMES to FALSE, then you are not required to use global naming. You can then name the database link whatever you want. For example, you can name a database link to hq.acme.com as foo.&quot;

I think that this is another example where a test case, like you created, is valuable.]]></description>
		<content:encoded><![CDATA[<p>Interesting &#8211; it seems that the authors of the documentation cannot decide what is correct, even in the latest release.</p>
<p><a href="http://download.oracle.com/docs/cd/E11882_01/server.112/e10595/ds_admin001.htm" rel="nofollow">http://download.oracle.com/docs/cd/E11882_01/server.112/e10595/ds_admin001.htm</a><br />
&#8220;If the remote database enforces global naming, then you must use the remote database global database name as the name of the link.&#8221;</p>
<p><a href="http://download.oracle.com/docs/cd/E11882_01/server.112/e10595/ds_concepts002.htm" rel="nofollow">http://download.oracle.com/docs/cd/E11882_01/server.112/e10595/ds_concepts002.htm</a><br />
&#8220;When you set the initialization parameter GLOBAL_NAMES to TRUE, the database ensures that the name of the database link is the same as the global database name of the remote database. For example, if the global database name for hq is hq.acme.com, and GLOBAL_NAMES is TRUE, then the link name must be called hq.acme.com. Note that the database checks the domain part of the global database name as stored in the data dictionary, not the DB_DOMAIN setting in the initialization parameter file&#8230; If you set the initialization parameter GLOBAL_NAMES to FALSE, then you are not required to use global naming. You can then name the database link whatever you want. For example, you can name a database link to hq.acme.com as foo.&#8221;</p>
<p>I think that this is another example where a test case, like you created, is valuable.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anand</title>
		<link>http://hoopercharles.wordpress.com/2010/01/27/neat-tricks/#comment-296</link>
		<dc:creator><![CDATA[Anand]]></dc:creator>
		<pubDate>Wed, 03 Feb 2010 12:27:59 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=978#comment-296</guid>
		<description><![CDATA[Hi Charles,

I have referred to
 http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/ds_admin.htm#sthref4108

Regards,
Anand]]></description>
		<content:encoded><![CDATA[<p>Hi Charles,</p>
<p>I have referred to<br />
 <a href="http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/ds_admin.htm#sthref4108" rel="nofollow">http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/ds_admin.htm#sthref4108</a></p>
<p>Regards,<br />
Anand</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2010/01/27/neat-tricks/#comment-295</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Wed, 03 Feb 2010 11:17:27 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=978#comment-295</guid>
		<description><![CDATA[I wonder if it is a mistake in the copy of the documentation that you have.

This is what you quoted:
“The name that you give to a link on the local database depends on whether the remote database that you want to access enforces global naming. If the remote database enforces global naming, then you must use the remote database global database name as the name of the link.”

The above is different from what I quoted:
http://download.oracle.com/docs/cd/B12037_01/server.101/b10759/statements_5005.htm
”If the value of the GLOBAL_NAMES initialization parameter is TRUE, then the database link must have the same name as the database to which it connects. If the value of GLOBAL_NAMES is FALSE, and if you have changed the global name of the database, then you can specify the global name.”

Also found in the documentation for the latest release:
http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/statements_5005.htm

I believe that the quotes that I supplied from the documentation agree with your test - it is apparently the value of GLOBAL_NAMES in the local database, not the remote database that determines whether you can change the DB link name.]]></description>
		<content:encoded><![CDATA[<p>I wonder if it is a mistake in the copy of the documentation that you have.</p>
<p>This is what you quoted:<br />
“The name that you give to a link on the local database depends on whether the remote database that you want to access enforces global naming. If the remote database enforces global naming, then you must use the remote database global database name as the name of the link.”</p>
<p>The above is different from what I quoted:<br />
<a href="http://download.oracle.com/docs/cd/B12037_01/server.101/b10759/statements_5005.htm" rel="nofollow">http://download.oracle.com/docs/cd/B12037_01/server.101/b10759/statements_5005.htm</a><br />
”If the value of the GLOBAL_NAMES initialization parameter is TRUE, then the database link must have the same name as the database to which it connects. If the value of GLOBAL_NAMES is FALSE, and if you have changed the global name of the database, then you can specify the global name.”</p>
<p>Also found in the documentation for the latest release:<br />
<a href="http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/statements_5005.htm" rel="nofollow">http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/statements_5005.htm</a></p>
<p>I believe that the quotes that I supplied from the documentation agree with your test &#8211; it is apparently the value of GLOBAL_NAMES in the local database, not the remote database that determines whether you can change the DB link name.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anand</title>
		<link>http://hoopercharles.wordpress.com/2010/01/27/neat-tricks/#comment-293</link>
		<dc:creator><![CDATA[Anand]]></dc:creator>
		<pubDate>Wed, 03 Feb 2010 04:11:29 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=978#comment-293</guid>
		<description><![CDATA[Hi Charles,

In reference to &quot;creates a database link to another database&quot;, can you have a look at the below blog and comment.I am little confused as my results are not matching with the oracle documentation. 

http://aprakash.wordpress.com/2010/01/30/db-link-and-global-name/


Regards,
Anand]]></description>
		<content:encoded><![CDATA[<p>Hi Charles,</p>
<p>In reference to &#8220;creates a database link to another database&#8221;, can you have a look at the below blog and comment.I am little confused as my results are not matching with the oracle documentation. </p>
<p><a href="http://aprakash.wordpress.com/2010/01/30/db-link-and-global-name/" rel="nofollow">http://aprakash.wordpress.com/2010/01/30/db-link-and-global-name/</a></p>
<p>Regards,<br />
Anand</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Mann</title>
		<link>http://hoopercharles.wordpress.com/2010/01/27/neat-tricks/#comment-292</link>
		<dc:creator><![CDATA[David Mann]]></dc:creator>
		<pubDate>Tue, 02 Feb 2010 20:09:55 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=978#comment-292</guid>
		<description><![CDATA[I think I would only worry about a Commit or Rollback if I saw evidence on the target side that a distributed transaction had been started. This can be checked with DBA_2PC_PENDING and DBA_2PC_NEIGHBORS views. (More info in Metalink 100664.1 &quot;How to Troubleshoot Distributed Transactions&quot;)...

Hopefully newer versions of Oracle are smart enough to only enter into a distributed transaction if an INSERT, UPDATE, or DELETE are issued against the target database.]]></description>
		<content:encoded><![CDATA[<p>I think I would only worry about a Commit or Rollback if I saw evidence on the target side that a distributed transaction had been started. This can be checked with DBA_2PC_PENDING and DBA_2PC_NEIGHBORS views. (More info in Metalink 100664.1 &#8220;How to Troubleshoot Distributed Transactions&#8221;)&#8230;</p>
<p>Hopefully newer versions of Oracle are smart enough to only enter into a distributed transaction if an INSERT, UPDATE, or DELETE are issued against the target database.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2010/01/27/neat-tricks/#comment-246</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Wed, 27 Jan 2010 11:47:38 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=978#comment-246</guid>
		<description><![CDATA[Good question.  I tried to put together a quick test case to demonstrate the potential problem, but I have not yet been able to assemble a reliable test case.

From:
http://www.jlcomp.demon.co.uk/faq/dblink_commit.html
&quot;Why does it seem that a SELECT over a db_link requires a commit after execution ?&quot; &quot;Because it does!&quot; - note that the versions listed in the article are 7.0 - 9.2, so there is a chance that the behavior might have changed for more recent releases.

From:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/ds_txns.htm
&quot;Note that if a distributed transaction is set to read-only, then it does not use undo segments. If many users connect to the database and their transactions are not set to READ ONLY, then they allocate undo space even if they are only performing queries.&quot;

Possibly related:
http://coskan.wordpress.com/2008/01/16/if-you-access-a-database-link-in-a-session-then-the-link-remains-open-until-you-close-the-session-ora-02020/

Maybe someone else reading this blog article will offer advice.  Based on prior experience, it is still necessary in Oracle 10g R2 to issue a COMMIT or ROLLBACK after selecting data through a database link (the COMMIT or ROLLBACK does not need to happen immediately).]]></description>
		<content:encoded><![CDATA[<p>Good question.  I tried to put together a quick test case to demonstrate the potential problem, but I have not yet been able to assemble a reliable test case.</p>
<p>From:<br />
<a href="http://www.jlcomp.demon.co.uk/faq/dblink_commit.html" rel="nofollow">http://www.jlcomp.demon.co.uk/faq/dblink_commit.html</a><br />
&#8220;Why does it seem that a SELECT over a db_link requires a commit after execution ?&#8221; &#8220;Because it does!&#8221; &#8211; note that the versions listed in the article are 7.0 &#8211; 9.2, so there is a chance that the behavior might have changed for more recent releases.</p>
<p>From:<br />
<a href="http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/ds_txns.htm" rel="nofollow">http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/ds_txns.htm</a><br />
&#8220;Note that if a distributed transaction is set to read-only, then it does not use undo segments. If many users connect to the database and their transactions are not set to READ ONLY, then they allocate undo space even if they are only performing queries.&#8221;</p>
<p>Possibly related:<br />
<a href="http://coskan.wordpress.com/2008/01/16/if-you-access-a-database-link-in-a-session-then-the-link-remains-open-until-you-close-the-session-ora-02020/" rel="nofollow">http://coskan.wordpress.com/2008/01/16/if-you-access-a-database-link-in-a-session-then-the-link-remains-open-until-you-close-the-session-ora-02020/</a></p>
<p>Maybe someone else reading this blog article will offer advice.  Based on prior experience, it is still necessary in Oracle 10g R2 to issue a COMMIT or ROLLBACK after selecting data through a database link (the COMMIT or ROLLBACK does not need to happen immediately).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anand</title>
		<link>http://hoopercharles.wordpress.com/2010/01/27/neat-tricks/#comment-244</link>
		<dc:creator><![CDATA[Anand]]></dc:creator>
		<pubDate>Wed, 27 Jan 2010 06:27:18 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=978#comment-244</guid>
		<description><![CDATA[As said &quot;that a COMMIT or ROLLBACK should be used at some point after performing a query on a remote database&quot;

Why is it required?


Regards,
Anand]]></description>
		<content:encoded><![CDATA[<p>As said &#8220;that a COMMIT or ROLLBACK should be used at some point after performing a query on a remote database&#8221;</p>
<p>Why is it required?</p>
<p>Regards,<br />
Anand</p>
]]></content:encoded>
	</item>
</channel>
</rss>
