Search

OakieTags

Who's online

There are currently 0 users and 26 guests online.

Recent comments

Affiliations

May 2012

Hardware Components Failures – Survey Results

When preparing for the the IOUG Collaborate 12 deep dive on deploying Oracle Databases for high Availability, I wanted to provide some feedback on what hardware components are failing most frequently and which ones are less frequently. I believe I have reasonably good idea about that but I thought that providing some more objective data would be better. I couldn’t find and results of a more scientific research so I decided to organize a poll. This blog post shows the results and I promised to share it with several groups.

Pokemon and When Others...

Question: What do Pokemon and When Others in PL/SQL have in common?

For many developers the answer is:

Asnwer: You gotta catch 'em all.

I saw this other blog post on "Dodgy Coder" and was greatly amused by the comparison of Pokemon and catching all exceptions and basically making them disappear.

I've written about this "worst" practice a lot.  You can see some of them at:

Storage Replication for Oracle Database and Licensing

While doing my high availability deep dive at Collaborate 12 few weeks ago, I stated that storage replication qualifies for the cold failover licensing rules (see slide #128). During collaborate I spoke to one person at Oracle who definitely knows the rules. Simon Haslam also reached out to me by email pointing out that things...

NO_CPU_COSTING

Sir, Can you please highlight the usage of No_CPU_Costing hint. My system is a large Retail database and in many places we have huge queries. So optimization of queries is the topmost priority in my job. Many times I wonder in my queries if I would have used the hint No_CPU_Costing hint, my plan cost got lowered drastically and in certain cases, even the execution time is very less compared with the original. But till now I resisted myself in using this particular hint, since I don't have a clear idea whether this can be used extensively. Can you please advice about its usage. Thanks, K.Vidhyasagar vidhyaksagar@gmail.com

Read the answer...

What’s all the buzz about?

During the course of recent twitter / RSS reading, I came across an interesting post related to the old FizzBuzz problem. The post intrigued me for 2 reasons: it talks about solving a basic problem in Scala, and it emphasizes the use of functional programming. And just for grins and chuckles it calls out OOP based on an old paper from 1984 by John Hughes on Why Functional Programming Matters.

I’m a big fan of functional programming, even if my language of choice, SQL, is a poor example of it. Although, I tend to think functional when I write SQL, I know that the language is limited in that respect.

Another debugging story...

There is a saying "correlation is not causation" meaning - just because you observe A and then observe B, it does not mean that A causes B - even if every single time you observe A - you see B as a 'side effect'.

Here is a great story to back that up - a debugging session where the end users had determined that they could not send email more than 500 miles.  Read it and note how much work the end users had gone into 'proving' that email cannot be sent more than 500 miles...

I use a similar story when talking about bind variables and bind variable peeking.  In the story - I make the claim that "when ever it rains on a Monday morning - you have to restart the database in the afternoon to make it perform correctly".  That is - rain on Mondays implies poor performance, and the only fix is to reboot.

Execution Order in PLAN_TABLE

Hello, there exists a "standard" 10g sql select (...without pl/sql) of the plan_table (or v$sql_plan) table that additionally displays the order of execution (column exord) as part of the output and i have it ! cannot be,yes,no, you have it since long time ? e.g.: ID|EXORD|OPERATION |OPTIONS |OBJECT_NAME ---|-----|------------------------------|---------------|-------------------- 0| 21|SELECT STATEMENT | | 1| 20|SORT |ORDER BY | 2| 19|++NESTED LOOPS | | 3| 17|++++NESTED LOOPS | | 4| 15|++++++NESTED LOOPS | | 5| 12|++++++++NESTED LOOPS | | 6| 9|++++++++++NESTED LOOPS | | 7| 6|++++++++++++NESTED LOOPS | | 8| 2|++++++++++++++TABLE ACCESS |BY INDEX ROWID |REGIONS 9| 1|++++++++++++++++INDEX |UNIQUE SCAN |REG_ID_PK 10| 5|++++++++++++++INLIST ITERATOR | | 11| 4|++++++++++++++++TABLE ACCESS |BY INDEX ROWID |DEPARTMENTS 12| 3|++++++++++++++++++INDEX |UNIQUE SCAN |DEPT_ID_PK 13| 8|++++++++++++TABLE ACCESS |BY INDEX ROWID |LOCATIONS 14| 7|++++++++++++++INDEX |UNIQUE SCAN |LOC_ID_PK 15| 11|++++++++++TABLE ACCESS |BY INDEX ROWID |COUNTRIES 16| 10|++++++++++++INDEX |UNIQUE SCAN |COU_ID_PK 17| 14|++++++++TABLE ACCESS |BY INDEX ROWID |EMPLOYEES 18| 13|++++++++++INDEX |RANGE SCAN |EMP_DEPARTMENT_IX 19| 16|++++++INDEX |UNIQUE SCAN |JOB_ID_PK 20| 18|++++TABLE ACCESS |BY INDEX ROWID |JOBS why isn't exord not a column of the plan_table (v$sql_plan) table, think it could help people in understanding explain plans ? Regards, Joachim

Read the answer...

How can you purge ex employees hr related data

How can you purge ex employees hr related data in order to meet data protection and data retention policies? There is no concurrent request or process to do it. Version 12.0.6. We want to do this in batches with date parameters not by using the delete function. Thanks

Read the answer...

Alternative to WRAP

oracle provide wrap utility and DBMS_DDL.WRAP Function to encrypt pl/sql code. its not possible to unwrap again. but on following site its easily possible just paste the encrypted code and u got unwrap code on only one click http://www.codecrete.net/UnwrapIt/ please tell me if any one have any other option or method for encrypt ps/sql code.

Read the answer...

Use OpenOffice

after i installed oracle linux 6, i discovered that there is no office application on it, is there a way i can install an office suite? if yes, please recommend Thanks Tim.

Read the answer...