<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>H.Tonguç YILMAZ Blog</title>
	<atom:link href="http://tonguc.oracleturk.org/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://tonguc.oracleturk.org</link>
	<description>"Learning is expensive, not more than unawareness."</description>
	<lastBuildDate>Fri, 11 Apr 2008 04:24:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>at last wordpress domain is back in my country</title>
		<link>http://tonguc.oracleturk.org/index.php/2008/04/11/at-last-wordpress-domain-is-back-in-my-country/</link>
		<comments>http://tonguc.oracleturk.org/index.php/2008/04/11/at-last-wordpress-domain-is-back-in-my-country/#comments</comments>
		<pubDate>Fri, 11 Apr 2008 04:24:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://tonguc.oracleturk.org/index.php/2008/04/11/at-last-wordpress-domain-is-back-in-my-country/</guid>
		<description><![CDATA[nearly for a year now we have been playing hacking games -> http://tinyurl.com/4hfauk 			
so you know where to find me from now on -> http://tonguc.wordpress.com
]]></description>
			<content:encoded><![CDATA[<p><span class="entry-title entry-content">nearly for a year now we have been playing hacking games -> <a target="_blank" rel="nofollow" href="http://tinyurl.com/4hfauk">http://tinyurl.com/4hfauk</a> 			</span></p>
<p>so you know where to find me from now on -> <a href="http://tonguc.wordpress.com/">http://tonguc.wordpress.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tonguc.oracleturk.org/index.php/2008/04/11/at-last-wordpress-domain-is-back-in-my-country/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Number data type formating with sql*plus &#8211; numwidth hint</title>
		<link>http://tonguc.oracleturk.org/index.php/2008/03/30/number-data-type-formating-with-sqlplus-numwidth-hint/</link>
		<comments>http://tonguc.oracleturk.org/index.php/2008/03/30/number-data-type-formating-with-sqlplus-numwidth-hint/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 11:34:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://tonguc.oracleturk.org/index.php/2008/03/30/number-data-type-formating-with-sqlplus-numwidth-hint/</guid>
		<description><![CDATA[After all those years I still love to see I am learning lots of new stuff each day. This is what makes you fit and motivates to go deeper with Oracle I guess. In my opinion especially small things that you forget or even somehow you didn&#8217;t still read about makes the difference, here is [...]]]></description>
			<content:encoded><![CDATA[<p>After all those years I still love to see I am learning lots of new stuff each day. This is what makes you fit and motivates to go deeper with Oracle I guess. In my opinion especially small things that you forget or even somehow you didn&#8217;t still read about makes the difference, here is today&#8217;s example <img src='http://tonguc.oracleturk.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre><font size="2" color="#0000aa">-- until this morning I was also using column formating for large numbers like this
drop table tt purge;
create table tt (col1 number(18), col2 number(18));

insert into tt values (123456789123456789,123456789123456789);

select * from tt;

COL1       COL2
---------- ----------
1,2346E+17 1,2346E+17

col col1 for 999999999999999999.9999999999
select * from tt;

COL1       COL2
------------------------------ ----------
123456789123456789.0000000000 1,2346E+17

-- but from this morning an OTN forum thread reminded me SQL*Plus's numwidth option <img src='http://tonguc.oracleturk.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
drop table t purge;
create table t (col1 number(18));

insert into t values (123456789123456789);

show numwidth
numwidth 10
select * from t;

COL1
----------
1,2346E+17

set numwidth 18
select * from t;

COL1
------------------
123456789123456789
</font></pre>
<p>Thanks to <a href="http://forums.oracle.com/forums/thread.jspa?threadID=635435&#038;messageID=2428742">Eduardo Legatti</a> for this hint.</p>
]]></content:encoded>
			<wfw:commentRss>http://tonguc.oracleturk.org/index.php/2008/03/30/number-data-type-formating-with-sqlplus-numwidth-hint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Graham Wood and Jonathan Lewis will be in İstanbul next month!</title>
		<link>http://tonguc.oracleturk.org/index.php/2008/03/30/graham-wood-and-jonathan-lewis-will-be-in-istanbul-next-month/</link>
		<comments>http://tonguc.oracleturk.org/index.php/2008/03/30/graham-wood-and-jonathan-lewis-will-be-in-istanbul-next-month/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 11:33:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://tonguc.oracleturk.org/index.php/2008/03/30/graham-wood-and-jonathan-lewis-will-be-in-istanbul-next-month/</guid>
		<description><![CDATA[I saw Marco Gralike&#8217;s announcement so I also wanted to make a similar one. But this time Graham Wood will visit my company and we planned to be together with Wood for a half day on 21th of April.
Also on 22nd of April Jonathan Lewis will be in İstanbul, this time for his three days [...]]]></description>
			<content:encoded><![CDATA[<p>I saw Marco Gralike&#8217;s <a href="http://www.liberidu.com/blog/?p=396">announcement</a> so I also wanted to make a similar one. But this time Graham Wood will visit <a href="http://www.turkcell.com.tr/">my company</a> and we planned to be together with Wood for a half day on 21th of April.</p>
<p>Also on 22nd of April <a href="http://jonathanlewis.wordpress.com/">Jonathan Lewis</a> will be in İstanbul, this time for his three days seminar. You can find the details of this announcement <a href="http://www.oracleturk.org/?p=32">here</a>. Below are my favorite links for summaries of Lewis&#8217;s previous seminars;</p>
<p><a href="http://tonguc.wordpress.com/2007/03/01/another-great-undocumented-oracle-hint/">http://tonguc.wordpress.com/2007/03/01/another-great-undocumented-oracle-hint/</a></p>
<p><a href="http://orajourn.blogspot.com/2007/11/day-1-with-jonathan-lewis-execution.html">http://orajourn.blogspot.com/2007/11/day-1-with-jonathan-lewis-execution.html</a></p>
<p><a href="http://orajourn.blogspot.com/2007/11/day-2-with-jonathan-lewis-writing.html">http://orajourn.blogspot.com/2007/11/day-2-with-jonathan-lewis-writing.html</a></p>
<p><a href="http://orajourn.blogspot.com/2007/11/day-3-understanding-and-assisting-cbo.html">http://orajourn.blogspot.com/2007/11/day-3-understanding-and-assisting-cbo.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tonguc.oracleturk.org/index.php/2008/03/30/graham-wood-and-jonathan-lewis-will-be-in-istanbul-next-month/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to get cumulative logons and sessions highwater mark for an Oracle database?</title>
		<link>http://tonguc.oracleturk.org/index.php/2008/03/30/how-to-get-cumulative-logons-and-sessions-highwater-mark-for-an-oracle-database/</link>
		<comments>http://tonguc.oracleturk.org/index.php/2008/03/30/how-to-get-cumulative-logons-and-sessions-highwater-mark-for-an-oracle-database/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 11:32:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://tonguc.oracleturk.org/index.php/2008/03/30/how-to-get-cumulative-logons-and-sessions-highwater-mark-for-an-oracle-database/</guid>
		<description><![CDATA[It is always good to have an RDA, Statspack or AWR report to let a database to introduce itself to you  
Of course usually you will be needing much more information than this, especially related to the developed applications on that database.
This morning one of my colleagues asked  how he can get cumulative [...]]]></description>
			<content:encoded><![CDATA[<p>It is always good to have an RDA, Statspack or AWR report to let a database to introduce itself to you <img src='http://tonguc.oracleturk.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Of course usually you will be needing much more information than this, especially related to the developed applications on that database.</p>
<p>This morning one of my colleagues asked  how he can get cumulative logins and sessions high water mark for an Oracle database, so below may help;</p>
<pre><font size="2" color="#0000aa">set linesize 1000
column name format a25
column num_cpus format a10
column db_block_size format a15
column requests_for_data format 999999999999999999

SELECT to_char(open_time,
'DD-MON-YYYY HH24:MI:SS') last_startup,
SYSDATE - open_time days_passed_from_last_startup,
vp1.VALUE num_cpus,
vp2.VALUE db_block_size
FROM v$thread, v$system_parameter vp1, v$system_parameter vp2
WHERE instance = 'bscsdb1'
AND vp1.NAME = 'cpu_count'
AND vp2.NAME = 'db_block_size';

LAST_STARTUP         DAYS_PASSED_FROM_LAST_STARTUP NUM_CPUS   DB_BLOCK_SIZE
-------------------- ----------------------------- ---------- ---------------
25-MAR-2008 03:24:20                    ,459479167 64         8192

SELECT MAX(d.NAME) db_name,
SUM(s.VALUE / (24 * 60 * 60 * (SYSDATE - t.open_time)) + 0.001) tps
FROM v$database d, v$sysstat s, v$thread t
WHERE s.NAME IN ('user commits', 'transaction rollbacks');

DB_NAME          TPS
--------- ----------
BSCS      151,125446

SELECT SUM(s.VALUE) requests_for_data
FROM v$sysstat s
WHERE s.NAME IN ('db block gets', 'consistent gets');

REQUESTS_FOR_DATA
-------------------
13120866284

SELECT SUM(s.VALUE) db_time FROM v$sysstat s WHERE s.NAME IN ('DB time');

DB_TIME
----------
639913103

<strong>SELECT sessions_highwater FROM v$license;</strong>

SESSIONS_HIGHWATER
------------------
5581

<strong>SELECT NAME, VALUE FROM v$sysstat WHERE NAME LIKE '%logon%';</strong>

NAME                           VALUE
------------------------- ----------
logons cumulative            1102893
logons current                  5434
</font></pre>
]]></content:encoded>
			<wfw:commentRss>http://tonguc.oracleturk.org/index.php/2008/03/30/how-to-get-cumulative-logons-and-sessions-highwater-mark-for-an-oracle-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle Change Data Capture under magnifier &#8211; Async CDC with 10gR2</title>
		<link>http://tonguc.oracleturk.org/index.php/2008/03/21/oracle-change-data-capture-under-magnifier-async-cdc-with-10gr2/</link>
		<comments>http://tonguc.oracleturk.org/index.php/2008/03/21/oracle-change-data-capture-under-magnifier-async-cdc-with-10gr2/#comments</comments>
		<pubDate>Fri, 21 Mar 2008 13:25:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://tonguc.oracleturk.org/index.php/2008/03/21/oracle-change-data-capture-under-magnifier-async-cdc-with-10gr2/</guid>
		<description><![CDATA[CDC is perceived like an aspirin in my organization, so why is that? Simply here the need is sharing and integration of information among a multitude of applications and databases and CDC make this data flow. Another variation of this need is instead of taking full extractions and calculating the change during data warehouse&#8217;s ETL [...]]]></description>
			<content:encoded><![CDATA[<p>CDC is perceived like an aspirin in my organization, so why is that? Simply here the need is sharing and integration of information among a multitude of applications and databases and CDC make this data flow. Another variation of this need is instead of taking full extractions and calculating the change during data warehouse&#8217;s ETL process, CDC enables just to extract the changes from source databases. I guess this is why CDC is in Data Warehousing Guide as <a href="http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14223/cdc.htm#DWHSG016">Chapter 16</a> <img src='http://tonguc.oracleturk.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://tonguc.yilmaz.googlepages.com/cdc-for-dwh.png">cdc-for-dwh.png</a></p>
<p>Sync methods like trigger or materialized view log to capture the change on tables have important performance affects on source systems. Below is a simple Sync CDC demo with a Materialized View Log.</p>
<p>Code Listing 211a  &#8211; <a href="http://tonguc.yilmaz.googlepages.com/oracle-sync-cdc-demo.txt">Sync CDC demo with Materialized View Log</a></p>
<p>Oracle Streams(Logminer+Advanced Queues(AQ)) is the technology behind Async CDC, it automatically;<br />
- captures database changes at a source database,<br />
- stages the changes,<br />
- propagates the changes to one or more destination databases,<br />
- and then applies the changes at the destination database(s).</p>
<p>All these are handled including both DML and <strong>DDL </strong>changes. And Oracle Streams integration can be;<br />
- Within an Oracle database,<br />
- Between two Oracle databases,<br />
- Among multiple Oracle databases,<br />
- Between an Oracle database and a non-Oracle database.</p>
<p>In Oracle the committed changes to data that take place in a database are recorded in the database redo log files. The Streams capture process extracts these changes from the redo log files(or archived log files) and formats each change into a logical change record(LCR). The LCRs are then stored(staged) in a queue. Next, Streams propagates LCRs from one queue(the producer queue) to another(the consumer queue) automatically and you can then apply(or consume) the LCRs from the consumer queue to the destination database with custom pl/sql applications depending on your need or want.</p>
<p>After 10g Release 2, Asynchronous Distributed CDC can be used against Oracle 9i Release 2 and higher sources. And there is enhanced CDC PL/SQL Control APIs(dbms_cdc_subscribe, dbms_cdc_publish) support for Async CDC setup and configuration. WE have two options after 10gR2;</p>
<p><em>Option 1 – Async Distributed Hotlog CDC Flow</em><br />
a. Database Objects Record Changes<br />
b. LGWR Log Changes to Online Redo Log<br />
c. Capture Process Enqueue LCRs on local Streams Queue<br />
d. LCRs are Propagated to target Streams Queue<br />
e. Dequeue LCRs from target Streams Queue and Apply Changes to target Database Objects</p>
<p><em>Option 2 &#8211; Async Autolog CDC Flow</em><br />
a. Database Objects Record Changes<br />
b. LGWR Log Changes to Online Redo Log<br />
c. ARCn Write Redo Data to local Archived Log File<br />
d. Archived Log File is copied to target<br />
e. Capture Process Enqueue LCRs to target Streams Queue from transferred Archived Log File<br />
e. Dequeue LCRs from target Streams Queue and Apply Changes to target Database Objects</p>
<p>Important prerequisites for Async CDC are;<br />
a. Source database must be in ARCHIVELOG mode,<br />
b. the change capture table must be altered and kept logging or at database level FORCE LOGGING must be enabled for NOLOGGING operations. FORCE LOGGING on tablespace level may be preferred in some cases.<br />
c. Supplemental Logging is enabled at database level or table level;</p>
<pre><font size="2" color="#0000aa">-- To enable minimal supplemental logging
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
-- other supplemental logging
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
-- to drop supplemental logging
ALTER DATABASE DROP SUPPLEMENTAL LOG DATA;
-- to control supplemental logging
SELECT supplemental_log_data_min, supplemental_log_data_pk,
supplemental_log_data_ui, supplemental_log_data_fk, supplemental_log_data_all
FROM v$database;
</font></pre>
<p>d. Async CDC requires at least version 9206 on source database,<br />
e. Autolog Async option which reduces the mining and queuing performance impact on source requires Oracle and OS versions to be same,<br />
f. some init.ora settings are mandatory, and GLOBAL_NAMES=TRUE is advised by documentation. But most probably this setting is not exceptable at source because you need to make sure the name of the database link matches the name of the target database exactly after this setting. As a workaround a database logon trigger can be used;</p>
<pre><font size="2" color="#0000aa">CREATE OR REPLACE TRIGGER cdc_trig
AFTER LOGON
ON DATABASE
DECLARE
sqlstr VARCHAR2(200) := 'ALTER SESSION SET GLOBAL_NAMES=TRUE';
BEGIN
IF (USER IN ('USR1', 'USR1')) THEN
execute immediate sqlstr;
END IF;
END cdc_trig;
/
</font></pre>
<p>Based on Mark Van de Weil&#8217;s great Async CDC Cookbook here is Async Distributed Hotlog CDC option in action between a HP-UX B.11.23 U 10g Enterprise Edition Release 10.2.0.2.0 &#8211; 64bit as source and SunOS 5.10 &#8211; 10g Enterprise Edition Release 10.2.0.3.0 &#8211; 64bit as target.</p>
<p>Code Listing 211b &#8211; <a href="http://tonguc.yilmaz.googlepages.com/oracle-cdc-hotlog-demo.txt">Async Distributed Hotlog CDC option in action</a></p>
<p>Before my final words here is a brief summary for the above demonstration;</p>
<p>PRE SETUP STEPS -<br />
A &#8211; required database parameters are set on both databases,<br />
B &#8211; cdc admin users are created with requested grants on both databases,<br />
C &#8211; dblinks are created on both databases,<br />
C &#8211; force logging and supplemental logging is enabled at source only.</p>
<p>SETUP STEPS -<br />
A &#8211; create_hotlog_change_source step at target,<br />
B &#8211; create_change_set step at target,<br />
C &#8211; create_change_table step at target,<br />
D &#8211; alter_change_set step at target,<br />
E &#8211; alter_hotlog_change_source step at target,<br />
F &#8211; create_subscription step at target.</p>
<p>POST SETUP -<br />
A &#8211; change test at source,<br />
B &#8211; capture control at target.</p>
<p>And my final notes are as follows;<br />
a. CDC performance and restrictions are mostly related to Streams feature,<br />
b. Direct path load and nologging statements on the operational source database is a threat which is usually a rare situation on a traditional OLTP environment,<br />
c. There are documented bugs and patches on metalink, so <strong>testing Async CDC for your own need is highly recommended</strong>;<br />
Bug 4285404 – Streams propogation from 9206<br />
Bug 4649767 – High system commit numbers(SCNs)<br />
Bug 5024710 – Queue tables in System Tablespace<br />
d. do not throw a mountain to kill a scorpion <img src='http://tonguc.oracleturk.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  If you are able to easily capture change information through your application(some modification date columns for example) I advice you to go for them first.</p>
<p><strong>Testing Information</strong> : the scripts mentioned are <strong>tested on</strong> Oracle Database 10g <strong><a href="http://otn.oracle.com/database">Enterprise Edition</a></strong> Release <strong>10.2.0.3.0</strong></p>
<p><strong>References Used</strong> :</p>
<p><a href="http://www.oracle.com/technology/products/bi/db/10g/pdf/twp_cdc_cookbook_0206.pdf">Asynchronous Change Data Capture Cookbook by Mr.Mark Van de Weil – Feb 2006</a><br />
<a href="http://www.oracle.com/technology/products/bi/db/10g/pdf/twp_autolog_cdc_cookbook_0107.pdf">Asynchronous Autolog Change Data Capture Cookbook by Mr.Mark Van de Weil – Jan 2007</a><br />
<a href="http://www.rittmanmead.com/2006/04/14/asynchronous-hotlog-distributed-change-data-capture-and-owb-paris/">Mark Rittman&#8217;s article</a><br />
<a href="http://juliandyke.com/Presentations/Presentations.html#SupplementalLogging">Julian Dyke&#8217;s Streams and Supplemental Logging presentations</a><br />
<a href="http://psoug.org/reference/cdc_demo2.html">Streams and CDC demos at psoug.org</a><br />
<a href="http://www.oracle.com/technology/oramag/oracle/04-nov/o64streams.html">Streams related Oracle magazine article</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tonguc.oracleturk.org/index.php/2008/03/21/oracle-change-data-capture-under-magnifier-async-cdc-with-10gr2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My first video blog entry test &#8211; Oracle Quality and Performance for Free summary</title>
		<link>http://tonguc.oracleturk.org/index.php/2008/03/21/my-first-video-blog-entry-test-oracle-quality-and-performance-for-free-summary/</link>
		<comments>http://tonguc.oracleturk.org/index.php/2008/03/21/my-first-video-blog-entry-test-oracle-quality-and-performance-for-free-summary/#comments</comments>
		<pubDate>Fri, 21 Mar 2008 05:28:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://tonguc.oracleturk.org/index.php/2008/03/21/my-first-video-blog-entry-test-oracle-quality-and-performance-for-free-summary/</guid>
		<description><![CDATA[After seeing Eddie Awad’s Oracle in 3 Minutes series I planed to play with the trial of Camtasia Player. Camtasia Player is a simple, standalone video player, optimized for playing screen recordings.
I receive lots of comments on why I am not writing in Turkish, my native language. So I decided to use this tool as [...]]]></description>
			<content:encoded><![CDATA[<p>After seeing Eddie Awad’s <a href="http://awads.net/wp/tag/3minoracle/">Oracle in 3 Minutes</a> series I planed to play with the trial of <a href="http://www.techsmith.com/">Camtasia Player</a>. Camtasia Player is a simple, standalone video player, optimized for playing screen recordings.</p>
<p>I receive lots of comments on why I am not writing in Turkish, my native language. So I decided to use this tool as an opportunity to summaries some of my most read posts. After a small introduction to the tool I directly tried myself on my <a href="http://tonguc.yilmaz.googlepages.com/Oracle-Quality-and-Performance-for-F.htm">Oracle Quality and Performance for Free</a> summary. My first recording experience was really fun, but I know I have to study more on my voice and tool&#8217;s options like pointer style, resolution etc. for the possible future videos. I am not sure if our community has a video blog but after experiencing Camtasia for some of us I am sure writing will be harder <img src='http://tonguc.oracleturk.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Download and extract <a href="http://www.uploading.com/files/T21EPH14/oracle-for-free.zip.html">this zip file</a> to a directory and use <em>oracle-for-free.html</em> file to play the video. <em>(size ~58 Mb and download password is &#8220;lnk_psswd&#8221;)</em></p>
<p>Last week I spend lots of my time on our 10g multi-terabyte billing systems&#8217; migration from hp tru64 to ibm aix environment. Cross Plathform Transportable Tablespace database migration or Data Pump options were not excepted by the management because of their downtime requirements. And the project was based on a redo change data capture tool <a href="http://www.goldengate.com/technology/architecture.html">Golden Gate</a>, I will be blogging about this method and its risks later.</p>
<p>And also I hope to study Oracle&#8217;s <a href="http://www.oracle.com/technology/products/warehouse/SHORT_intro_to_owb10gR2/SHORT_intro_to_owb10gR2_viewlet_swf.html">Warehouse Builder</a> next week and blog about my experiences, with its new version OWB is much more strong now, not only for ETL purposes but also for our daily needs <img src='http://tonguc.oracleturk.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://tonguc.oracleturk.org/index.php/2008/03/21/my-first-video-blog-entry-test-oracle-quality-and-performance-for-free-summary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alberto Dell’Era’s investigations and scripts on Oracle optimizer</title>
		<link>http://tonguc.oracleturk.org/index.php/2008/03/11/alberto-dell%e2%80%99era%e2%80%99s-investigations-and-scripts-on-oracle-optimizer/</link>
		<comments>http://tonguc.oracleturk.org/index.php/2008/03/11/alberto-dell%e2%80%99era%e2%80%99s-investigations-and-scripts-on-oracle-optimizer/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 07:27:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://tonguc.oracleturk.org/index.php/2008/03/11/alberto-dell%e2%80%99era%e2%80%99s-investigations-and-scripts-on-oracle-optimizer/</guid>
		<description><![CDATA[When it comes to Oracle Optimizer Jonathan Lewis, Christian Antognini and Wolfgang Breitling have the best resources I have ever read. And now I will add Alberto Dell&#8217;Era to above three &#8211; http://www.adellera.it/investigations/index.html
ps: if you still didn&#8217;t see this video presentation take a look   Optimising through Understanding by Jonathan Lewis
]]></description>
			<content:encoded><![CDATA[<p>When it comes to Oracle Optimizer <a href="http://www.jlcomp.demon.co.uk/cbo_book/ind_book.html#Addenda">Jonathan Lewis</a>, <a href="http://www.trivadis.com/e/knowhow/publikationen/index.asp">Christian Antognini</a> and <a href="http://www.centrexcc.com/papers.html">Wolfgang Breitling</a> have the best resources I have ever read. And now I will add Alberto Dell&#8217;Era to above three &#8211; <a href="http://www.adellera.it/investigations/index.html">http://www.adellera.it/investigations/index.html</a></p>
<p><em>ps: if you still didn&#8217;t see this video presentation take a look <img src='http://tonguc.oracleturk.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  <a href="http://oukc.oracle.com/static05/opn/oracle9i_database/022607_1000/022607_1000_source/022607_1000/index.htm">Optimising through Understanding by Jonathan Lewis</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://tonguc.oracleturk.org/index.php/2008/03/11/alberto-dell%e2%80%99era%e2%80%99s-investigations-and-scripts-on-oracle-optimizer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A little more on External Tables</title>
		<link>http://tonguc.oracleturk.org/index.php/2008/03/11/a-little-more-on-external-tables/</link>
		<comments>http://tonguc.oracleturk.org/index.php/2008/03/11/a-little-more-on-external-tables/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 07:03:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://tonguc.oracleturk.org/index.php/2008/03/11/a-little-more-on-external-tables/</guid>
		<description><![CDATA[I have written on external tables before;
External table’s performance for a row and undocumented Oracle functions
Unload Data with External Tables and Data Pump
This time last week several questions from our ETL group guided me to test a little more external tables on Solaris 10 and 10g Release 2. Some of the interesting questions were;
a- can [...]]]></description>
			<content:encoded><![CDATA[<p>I have written on external tables before;<br />
<a href="http://tonguc.wordpress.com/2008/01/28/external-tables-performance-for-a-row-and-undocumented-oracle-functions/">External table’s performance for a row and undocumented Oracle functions</a><br />
<a href="http://tonguc.wordpress.com/2007/08/09/unload-data-with-external-tables-and-data-pump/"><strong>Unload </strong>Data with External Tables and Data Pump</a></p>
<p>This time last week several questions from our ETL group guided me to test a little more external tables on Solaris 10 and 10g Release 2. Some of the interesting questions were;</p>
<p><em><strong>a-</strong> can we read compressed text data over external tables,</em></p>
<p><em><strong>b-</strong> can we read data over symbolic linked</em>(ln -s)<em> files with external tables,</em></p>
<p><em><strong>c-</strong> what is the performance difference of accessing an external table compared to a heap organized and partitioned table, what are the access paths and join methods.</em></p>
<p>So let me share with you some of my findings parallel to the above questions;</p>
<p><strong>a-</strong> Since the extracted files were so huge and needed so much extra disk space to uncompress this was needed. Unix pipes are like magic, for example you can export to a unix pipe and read import data through the pipe, here is an example; <a href="http://www.orafaq.com/faqunix.htm#EXPORT">http://www.orafaq.com/faqunix.htm#EXPORT</a></p>
<p>Within an external table creation ddl it is possible to use a unix pipe instead of a file and you can start an uncompress process to the pipe before reading the external table with dbms_scheduler for example. But external tables only work with text files as inputs directly and this is documented; <a href="http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/tables.htm#sthref2448">http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/tables.htm#sthref2448</a></p>
<p><strong>b-</strong> The ETL tool we used created the extracted text files under different folders and each partition&#8217;s data with the same file name. So in order to read this information over an external table even they are all uncompressed we needed to create some symbolic links. But as I linked the documentation above even the files were functional over symbolic links at operating system, Oracle created the external tables without any error but when we tried to access the data<em> KUP-04001: error opening file</em> error was inevitable.</p>
<p>Anyway, god bless sed and awk for getting this linking script output so easily!</p>
<p>Code Listing 208a &#8211; <a href="http://tonguc.yilmaz.googlepages.com/AWKandSEDmagictocreateln-sscriptfrom.txt">AWK and SED magic to create ln -s script from an Ab initio map file</a></p>
<p>Also here are resources for awk and sed on OTN;<br />
<a href="http://www.oracle.com/technology/pub/articles/dulaney_awk.html">AWK: The Linux Administrators&#8217; Wisdom Kit By Emmett Dulaney</a><br />
<a href="http://www.oracle.com/technology/pub/articles/dulaney_sed.html">Using the sed Editor By Emmett Dulaney</a></p>
<p><strong>c-</strong> The access path&#8217;s for joining two external tables or an external table with a heap organized table were HASH JOIN BUFFERED for equality conditions and SORT-MERGE JOIN for non-equality conditions, nothing unexpected here. I used SQL*Plus&#8217;s timing and autotrace features also <a href="http://asktom.oracle.com/tkyte/runstats.html">Kyte&#8217;s runstats package</a> during my comparisons. With autotrace statistics <em>recursive calls </em>and <em>consistent gets </em>were major differences where as with runstats outputs <em>pga memory max, session pga memory, DB time statistics</em> and <em>process queue reference</em> latch was higher with external tables and <em>table scan rows gotten, physical read bytes </em>statistics were very higher with heap organized tables. Still the elapsed time of heap organized tables were ~5 to 10 times less for the same operations compared to the external tables.</p>
<p>Code Listing b &#8211; <a href="http://tonguc.yilmaz.googlepages.com/simpleperformancetestswithExternalTa.txt">Simple performance tests with External Tables</a></p>
<p>As a summary I may easily advice that external tables are not best to access several times but they are here for our Create Table as Select(CTAS) statements and compared to SQL*Loader the Select part of the CTAS is much more flexible for our transformation needs. Also IMHO tools perform well only when they are used for they were advised and designed to, so feeling unsatisfactory when experiencing an external table not reading through compressed files is really funny to me.</p>
<p><strong>Testing Information</strong> : the scripts mentioned are <strong>tested on</strong> Oracle Database 10g <strong><a href="http://otn.oracle.com/database">Enterprise Edition</a></strong> Release <strong>10.2.0.3.0</strong></p>
<p><strong>References Used</strong> :<br />
<a href="http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/tables.htm#sthref2446">Managing External Tables</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tonguc.oracleturk.org/index.php/2008/03/11/a-little-more-on-external-tables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hundreds of reasons why you might want(or have) to use R-Man!</title>
		<link>http://tonguc.oracleturk.org/index.php/2008/03/09/hundreds-of-reasons-why-you-might-wantor-have-to-use-r-man/</link>
		<comments>http://tonguc.oracleturk.org/index.php/2008/03/09/hundreds-of-reasons-why-you-might-wantor-have-to-use-r-man/#comments</comments>
		<pubDate>Sun, 09 Mar 2008 04:22:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://tonguc.oracleturk.org/index.php/2008/03/09/hundreds-of-reasons-why-you-might-wantor-have-to-use-r-man/</guid>
		<description><![CDATA[When I was a kid I loved to watch He-Man, The Most Powerful Man in the Universe. Yes, R-Man is the most powerful database backup and recovery tool in the universe for today. But still there are some DBAs do not want use RMAN. They are the same crowd who also do not use Database [...]]]></description>
			<content:encoded><![CDATA[<p>When I was a kid I loved to watch <a href="http://en.wikipedia.org/wiki/He-Man">He-Man</a>, The Most Powerful Man in the Universe. Yes, <a href="http://www.oracle.com/technology/deploy/availability/htdocs/rman_overview.htm">R-Man</a> is the most powerful database backup and recovery tool in the universe for today. But still there are some DBAs do not want use RMAN. They are the same crowd who also do not use Database or Grid Control, Automatic Storage Management(ASM), Automatic PGA Management and resist to migrate to 10g Release 2. Sometimes this resistance drives me nuts because the resistance need to create lots of myths to dirty all what they are afraid of.</p>
<p>For RMAN two common used alternatives are file system backup and storage vendor&#8217;s snapshot capabilities which usually cost a fortune. For me they can not be any alternatives for RMAN but in this post I won&#8217;t be questioning these methods versus RMAN like how they can do Block Level Recovery, Duplicate or Validate a backup with a simple command etc. But I will provide two examples since the resistance believed these two are myths of RMAN <img src='http://tonguc.oracleturk.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>1. Resistance cries out : &#8220;RMAN is backing up only used blocks is a myth!&#8221; and R-Man answers them <img src='http://tonguc.oracleturk.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </strong></p>
<p>RMAN does not backup empty blocks which are above the high watermark and not formated, this feature is called NULL COMPRESSION. After 10g Release 2 RMAN also does not backup empty blocks below the high watermark and this new feature is called <a href="http://download.oracle.com/docs/cd/B19306_01/backup.102/b14194/rcmsynta009.htm#BGBCEGHG">UNUSED BLOCK COMPRESSION</a>.</p>
<p>Code Listing 207a &#8211; <a href="http://tonguc.yilmaz.googlepages.com/RMAN-UNUSED-BLOCK-COMPRESSION-Linux-.txt">RMAN UNUSED BLOCK COMPRESSION DEMO on Linux EE 10.2.0.3</a></p>
<p>The resistance used 10g XE for a similar demonstration and this feature does not function on XE, this was enough for them to built their own &#8220;scientific&#8221; myth. I love XE but IMHO XE is not the place to do these kinds of testing.</p>
<p>Code Listing 207b &#8211; <a href="http://tonguc.yilmaz.googlepages.com/RMAN-UNUSED-BLOCK-COMPRESSION-Window.txt">RMAN UNUSED BLOCK COMPRESSION DEMO on Windows XE 10.2.0.1</a></p>
<p>Just a complementary note on Automatic Segment Space Management(ASSM) and high watermark concept; ASSM was introduced with Oracle 9i Release 2 and it is default segment management when you create a new tablespace after 10g Release 2. ASSM introduced two new high watermarks;<br />
- High High Watermark(HHWM); all blocks above HHWM are unformatted,<br />
-  Low High Watermark(LHWM); all blocks below LHWM are formatted.<br />
as a result now we can have unformatted blocks in the middle of a segment.</p>
<p><strong>2. Resistance cries out : &#8220;During RMAN back up compared to file system based backups redo generation is NOT less!&#8221; and R-Man answers them <img src='http://tonguc.oracleturk.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </strong></p>
<p>If a tablespace is in backup mode Oracle will stop updating its file headers but will of course continue to write data to the database files. In backup mode Oracle will write out complete changed blocks to the redo log files with the first DML on that block. Where as normally only changes on a block are logged to the redo logs. This is done to enable the reconstruction of a block if only half of it was backed up, so the result is increased log activity and archiving during on-line backups.</p>
<p>Code Listing 207c &#8211; <a href="http://tonguc.yilmaz.googlepages.com/Redo-Generation-Cost-of-Backup-Mode.txt">Redo Generation Cost of Backup Mode Demo</a></p>
<p>RMAN does not put tablespaces in backup mode, so there is no redo generation overhead like shown in above demo. RMAN will re-read database blocks until it gets a consistent image of it.</p>
<p>For much more of R-Man&#8217;s strengths after 10g Release 2, like incremental merge of ASM based FRA(disk) backup, faster incremental backups with Block Change Tracking and Backup Compression please check these two resources;<br />
<a href="http://www.oracle.com/technology/oramag/oracle/04-nov/o64rman.html">Faster Backup, Faster Recovery By Arup Nanda</a></p>
<p><a href="http://download.oracle.com/docs/cd/B19306_01/backup.102/b14191/wnbradv.htm#sthref13">Oracle Database 10g Release 2 New Features in Backup and Recovery</a></p>
<p><strong>Testing Information</strong> : the scripts mentioned are <strong>tested on</strong> Oracle Database 10g <strong><a href="http://otn.oracle.com/database">Enterprise Edition</a></strong> Release <strong>10.2.0.3.0</strong></p>
<p><strong>References Used</strong> :<br />
<a href="http://sysdba.wordpress.com/2006/01/27/rman-does-not-backup-empty-blocks-what-is-null-compression-what-is-binary-comprtession-what-is-unused-block-compression/"> </a><a href="http://download.oracle.com/docs/cd/B19306_01/backup.102/b14191/osbackup004.htm#sthref1489">http://download.oracle.com/docs/cd/B19306_01/backup.102/b14191/osbackup004.htm#sthref1489</a></p>
<p><a href="http://download.oracle.com/docs/cd/B19306_01/backup.102/b14191/osbackup004.htm#sthref1489" /><a href="http://sysdba.wordpress.com/2006/01/27/rman-does-not-backup-empty-blocks-what-is-null-compression-what-is-binary-comprtession-what-is-unused-block-compression/">http://sysdba.wordpress.com/2006/01/27/rman-does-not-backup-empty-blocks-what-is-null-compression-what-is-binary-comprtession-what-is-unused-block-compression/</a><br />
<a href="http://www.oraclealchemist.com/oracle/hot-backups-redo-and-fractured-blocks/">http://www.oraclealchemist.com/oracle/hot-backups-redo-and-fractured-blocks/</a><br />
<a href="http://download.oracle.com/docs/cd/B19306_01/backup.102/b14191/osbackup004.htm#sthref1489" /></p>
]]></content:encoded>
			<wfw:commentRss>http://tonguc.oracleturk.org/index.php/2008/03/09/hundreds-of-reasons-why-you-might-wantor-have-to-use-r-man/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle 10g New Features for Administrators by Ahmed Baraka</title>
		<link>http://tonguc.oracleturk.org/index.php/2008/03/03/oracle-10g-new-features-for-administrators-by-ahmed-baraka/</link>
		<comments>http://tonguc.oracleturk.org/index.php/2008/03/03/oracle-10g-new-features-for-administrators-by-ahmed-baraka/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 10:00:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://tonguc.oracleturk.org/index.php/2008/03/03/oracle-10g-new-features-for-administrators-by-ahmed-baraka/</guid>
		<description><![CDATA[Especially people who are preparing for Oracle 10g certification exams will like this quick note I guess. One of my colleagues shared this work of Mr.Ahmed Baraka on 10g New Features for Administrators last weekend and I liked it very much so I also wanted to share it here. For more Baraka&#8217;s work you may [...]]]></description>
			<content:encoded><![CDATA[<p>Especially people who are preparing for Oracle 10g certification exams will like this quick note I guess. One of my colleagues shared <a href="http://www.globusz.com/downloads/Oracle.exe">this work</a> of Mr.Ahmed Baraka on 10g New Features for Administrators last weekend and I liked it very much so I also wanted to share it here. For more Baraka&#8217;s work you may visit <a href="http://ahmedbaraka.com/computer/index.htm">http://ahmedbaraka.com/computer/index.htm</a></p>
<p>And below are quick reminders for 10g NFs -<br />
<a href="http://download.oracle.com/docs/cd/B19306_01/server.102/b14214/toc.htm">http://download.oracle.com/docs/cd/B19306_01/server.102/b14214/toc.htm</a><br />
<a href="http://www.oracle.com/technology/pub/articles/10gdba/index.html">http://www.oracle.com/technology/pub/articles/10gdba/index.html</a><br />
<a href="http://www.oracle-base.com/misc/OCPCertification.php">http://www.oracle-base.com/misc/OCPCertification.php</a><br />
<a href="http://tonguc.wordpress.com/category/oracle-10g-new-features/">http://tonguc.wordpress.com/category/oracle-10g-new-features/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tonguc.oracleturk.org/index.php/2008/03/03/oracle-10g-new-features-for-administrators-by-ahmed-baraka/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
