Skip to Main Content


Question and Answer

Tom Kyte

Thanks for the question, Federico.

Asked: October 24, 2003 - 10:02 am UTC

Last updated: November 11, 2011 - 10:55 am UTC

Version: 8.1.7

Viewed 1000+ times

You Asked

I just start this year to use Oracle and I'm so exciting about the new world I found.

I want to start the Oracle Certification Path (to become OCP), I just wonder myself What things Tom Kyte did to become what he is right now?

You share all your knowledge(I know that people appreciate that) but I want you to share the techniques, methods, aids, books, tools and so on that help you to acquire Oracle knowledge (Think about your early years of your career).

I dont wanna a fish I wanna learn fishing !.

I know that out there, there are so many people that you inspire to keep pushing hard in this process, thanks for that.

Thanks in advance for your time,


and Tom said...

Well, I actually get this questions lots, so I'll publish my answer this time.

it took me 16 years of "all about oracle" to be here. started as a programmer/analyst on the mainframe writing PL/I code against SQL/DS and DB2 (PL/I is still by far the coolest language I've ever used). That started my SQL career. I bought Oracle version 5.1.5c from Dr. Dobbs Journal for $99.00 in the late 80's and started building systems with it. Then I was "forced" to use Sybase, Informix, Ingress, Gupta SQLBase and other "rdbms's" as well. That was actually a good thing -- i learned in NO UNCERTAIN TERMS that database "independence" was something achievable for toy like systems (trivial things) or at the total cost of

a) performance
b) development time (doing it generically took MORE TIME then doing it right for each database!)

I also learned all about databases then -- read the theory (like Jim Grays Transaction Processing Book, not really light reading but taught me lots of stuff). Then read the practical (the reference manuals).

So I spent six years as a developer/dba. Even though I was a coder -- i found doing things in the database to make tons more sense then writing tons of code to do the same. I actually quit my first job after six years soley for the reason that they wouldn't let me exploit the software they paid so much for (they were so into this "generic database", the "database is a commidity" concept that they had me coding our own two phase commit protocol, our own stored procedure language, our own compilers for the same, our own sql parser -- it was frightening. Funny thing is -- I meet with customers all of the time still doing just that!)

the first six years is what really did it. on the job training, reading -- tech books (egads -- the manuals!) lots of magazines (i was a magazine junkie, dr dobbs, the c programmers journal, you name it).

Oh yeah, the most important thing -- i had a mentor the first 2 years, a really great guy. taught me the important stuff. how to write good code. how to do things right. how to do things "simply". how to not over engineer. how to think through things. i wouldn't be doing what I do without his jump start i don't think. (thats my biggest hint -- find a mature, grounded, experienced person and latch onto them for a while. many times they really dig having a "protege" and you definitely benefit from it)

That is when I came to Oracle in 1993. (purely by accident, I didn't really intend coming to Oracle at all - i had another job lined up that I never showed up for as Oracle made me an offer instead)

I really got started in October of 1994 when I responded to my first usenet posting ever:

</code> <code>

great way to get started -- if you can answer the questions -- if you know the questions, thats what it is all about.

After a couple thousand postings on the usenet newsgroups, I started asktom in 2000. The rest - well, you've seen it here.


  (33 ratings)

Is this answer out of date? If it is, please let us know via a Comment


A suggestion

A reader, October 24, 2003 - 11:45 am UTC

hi Tom
Great thread! Thanx for sharing your secrets!:)

Of all the things that you do one of the toughest
( from a developer's point of view - not a dba) is
to write good sql statements. Is it possible for you
to somehow have a way so that we get practice of
answering sql statements (before you do that for us)?
Basically, can this site be used to motivate people to
come up with answers to sql problems - I think one of
the biggest reasons you are where you are is that you
keep practising daily on all aspects of Oracle (including
I am not sure how the above can be done - but it
would be great - if we can exploit this site for
that purpose.

Where is your mentor now?

A reader, October 24, 2003 - 12:22 pm UTC

And, what's he doing?

Tom Kyte
October 24, 2003 - 12:46 pm UTC

i lost touch with him a while ago -- after I left the other company and moved around. I don't know where he is now.

A reader, October 24, 2003 - 1:44 pm UTC

May be, if you can publish his name here, somebody might find him. After all, its a small world :-)


Pawan, October 24, 2003 - 4:45 pm UTC

Really inspired. Will try and see how much I can achieve.

Arun Gupta, October 24, 2003 - 5:20 pm UTC

This is really inspirational and educational. Thanks for sharing with us your knowledge, wisdom, career path and how you got where you are.

Don't you think it takes alot in becoming like you..

Ajeet, October 24, 2003 - 9:57 pm UTC

Many times I think you are is not easy to be like you as for as Knowledge many we have more like you in this world--who answers questiones..from strangers with such an intrest and responsibility .oh..yes sometime you scold too.
But true -- if all of us can not become like you,we can at least improve a bit...and yes alot of credit for this would go.Not sure about others but you inspired me alot.


and what about your motivations ...

Alberto Dell'Era, October 25, 2003 - 3:08 pm UTC

... (if you don't mind my curiosity) for running asktom ?

That is, you answer questions even when you are on vacation, during weekends, waiting for planes, etc - definitely, for you asktom is not merely a job, but much much more.

I'm interested especially on what makes "a question that you enjoy" - this would have an immediate payback for my question compiling and selecting skills ...

Tom Kyte
October 25, 2003 - 3:59 pm UTC

some people use crossword puzzles or some other mental trick to wake themselves up in the morning. I've used this technique since 1994. I would answer questions first thing in the morning. It wakes me up (actually, i just now got up from a little saturday afternoon nap :)

My favorite questions -- they are the ones that turn out different from what I expect or cause me to learn something new, which happens just about every single day. My favorite questions are the ones about the database that I have to research or setup a simulation to discover myself.

Has it always been happy memory ?

Robert, October 25, 2003 - 4:53 pm UTC

Did you ever feel frustrated with Oracle...the old releases,
of course ? and What ticked you off ?

Tom Kyte
October 26, 2003 - 9:11 am UTC

Every release is better then the last. No, I was never "unhappy" with it.

I am "unhappy" when forced to work within the confines of a really old release (like when I get a 7.3 question today -- a full 7 releases AFTER the fact). Then I know what was missing back then.

But, its like a laptop/desktop. If you don't know what features you are missing, you are happy mostly with your existing equipment. It is only when you play on someone elses brand new hardware that your old stuff starts to look pretty lame :)

now I understand!

Alberto Dell'Era, October 25, 2003 - 4:58 pm UTC

You are a research scientist targeting Oracle as his research interest, and we act as the Professor's students that ask "fresh mind" questions during lectures, preventing his interest from fading into routine.

Thanks, my curiosity is 100% happy now ...

What are you up to ?

Christo Kutrovsky, October 25, 2003 - 11:56 pm UTC

I've been looking to your newly answered questions from the past several weeks, and there are not so many. I am planning on gradualetelly reading all your answers, not just whenever I am looking for something specific.

The last time this happened, was just before the Oracle 10G presentation in Ottawa, after that .. at least 20 new questions were answered in just 2 days.

So last time this happened, you were preparing the 10G presention. Or simply playing arround with 10G. Or maybe something different.

So what are you up to this time ? :)))

Tom Kyte
October 26, 2003 - 10:07 am UTC

well, it was actually just AFTER Ottawa that I had a free period where I did take lots of questions, these are new questions by day:

14-AUG-03 9
15-AUG-03 15
16-AUG-03 29
17-AUG-03 11
18-AUG-03 3
22-AUG-03 14
23-AUG-03 9
24-AUG-03 7
29-AUG-03 9
30-AUG-03 7
02-SEP-03 9
06-SEP-03 35
07-SEP-03 37
08-SEP-03 22
09-SEP-03 19
11-SEP-03 10
12-SEP-03 11
13-SEP-03 10
14-SEP-03 8
15-SEP-03 2
16-SEP-03 15
17-SEP-03 10
20-SEP-03 10
21-SEP-03 22
23-SEP-03 13
26-SEP-03 21
27-SEP-03 17
28-SEP-03 25
29-SEP-03 13
01-OCT-03 13
02-OCT-03 24
04-OCT-03 24
05-OCT-03 25
06-OCT-03 12
10-OCT-03 14
11-OCT-03 25
12-OCT-03 15
19-OCT-03 8
22-OCT-03 5
24-OCT-03 10
25-OCT-03 22

1012 rows selected.

so you see -- I've been taking them. BUT... if we look at published vs unpublished:

1 select trunc(timestamp),
2 count( decode( status, 1, 1 ) ) "Not Read",
3 count( decode( status, 2, 1 ) ) "Waiting",
4 count( decode( status, 3, 1 ) ) "Processing",
5 count( decode( status, 4, 1 ) ) "Not Published",
6 count( decode( status, 5, 1 ) ) "Published",
7 count(*)
8 from WWC_ASK_SUBMITTED_QUESTIONS$ where timestamp >= to_date( '14-aug-2003')
9 group by trunc(timestamp)
10* order by 1
ask_tom@ASKUS> /

TRUNC(TIM Not Read Waiting Processing Not Published Published COUNT(*)
--------- ---------- ---------- ---------- ------------- ---------- ----------
14-AUG-03 0 0 0 5 4 9
15-AUG-03 0 0 0 11 4 15
16-AUG-03 0 0 0 25 4 29
17-AUG-03 0 0 0 9 2 11
18-AUG-03 0 0 0 3 0 3
22-AUG-03 0 0 0 11 3 14
23-AUG-03 0 0 0 8 1 9
24-AUG-03 0 0 0 5 2 7
29-AUG-03 0 0 0 5 3 9
30-AUG-03 0 0 0 4 3 7
02-SEP-03 0 0 0 6 3 9
06-SEP-03 0 0 0 25 10 35
07-SEP-03 0 0 0 33 4 37
08-SEP-03 0 0 0 14 8 22
09-SEP-03 0 0 0 16 3 19
11-SEP-03 0 0 0 6 4 10
12-SEP-03 0 0 0 5 6 11
13-SEP-03 0 0 0 9 1 10
14-SEP-03 0 0 0 4 4 8
15-SEP-03 0 0 0 0 2 2
16-SEP-03 0 0 0 12 3 15
17-SEP-03 0 0 0 4 6 10
20-SEP-03 0 0 0 4 6 10
21-SEP-03 0 0 0 16 6 22
23-SEP-03 0 0 0 11 2 13
26-SEP-03 0 0 0 14 7 21
27-SEP-03 0 0 0 11 6 17
28-SEP-03 0 0 0 19 6 25
29-SEP-03 0 0 0 9 4 13
01-OCT-03 0 0 0 12 1 13
02-OCT-03 0 1 0 18 5 24
04-OCT-03 0 1 0 21 2 24
05-OCT-03 0 0 0 20 5 25
06-OCT-03 0 0 0 10 2 12
10-OCT-03 0 1 0 11 1 14
11-OCT-03 0 0 0 14 11 25
12-OCT-03 0 1 0 11 1 15
19-OCT-03 0 1 0 6 1 8
22-OCT-03 0 0 0 3 2 5
24-OCT-03 0 0 0 8 2 10
25-OCT-03 0 1 2 9 2 22

41 rows selected.

so, while I've been taking the same number of questions -- the "publishability" of them isn't very "high"

which led me to ask "is this a trend", is the ratio of published to submitted questions going down over time:

ask_tom@ASKUS> ask_tom@ASKUS> select trunc(timestamp,'mm'),
count( decode( status, 4, 1 ) ) "Not Published",
count( decode( status, 5, 1 ) ) "Published",
round( count( decode( status, 5, 1 ) )/count(*)*100, 2 ) avg_pub,
group by trunc(timestamp,'mm')
order by 1
2 3 4 5 6 7 8 9
TRUNC(TIM Not Published Published AVG_PUB COUNT(*)
--------- ------------- ---------- ---------- ----------
01-MAY-00 861 372 30.17 1233
01-JUN-00 278 282 50.36 560
01-JUL-00 241 190 44.08 431
01-AUG-00 453 404 47.14 857
01-SEP-00 521 350 40.18 871
01-OCT-00 320 245 43.36 565
01-NOV-00 285 234 45.09 519
01-DEC-00 327 223 40.55 550
01-JAN-01 361 252 41.11 613
01-FEB-01 485 286 37.09 771
01-MAR-01 568 280 33.02 848
01-APR-01 329 193 36.97 522
01-MAY-01 634 280 30.63 914
01-JUN-01 477 179 27.29 656
01-JUL-01 473 180 27.57 653
01-AUG-01 404 192 32.21 596
01-SEP-01 388 135 25.81 523
01-OCT-01 542 179 24.83 721
01-NOV-01 453 155 25.49 608
01-DEC-01 451 132 22.64 583
01-JAN-02 354 130 26.86 484
01-FEB-02 207 86 29.35 293
01-MAR-02 305 203 39.96 508
01-APR-02 300 210 41.18 510
01-MAY-02 281 161 36.43 442
01-JUN-02 289 180 38.38 469
01-JUL-02 250 158 38.73 408
01-AUG-02 402 211 34.42 613
01-SEP-02 331 206 38.36 537
01-OCT-02 263 196 42.7 459
01-NOV-02 287 147 33.87 434
01-DEC-02 485 212 30.42 697
01-JAN-03 562 190 25.27 752
01-FEB-03 300 124 29.25 424
01-MAR-03 399 161 28.7 561
01-APR-03 226 85 27.33 311
01-MAY-03 245 77 23.91 322
01-JUN-03 380 115 23.23 495
01-JUL-03 152 44 22.45 196
01-AUG-03 167 61 26.64 229
01-SEP-03 218 91 29.45 309
01-OCT-03 143 35 17.77 197

42 rows selected.

and sure enough, it does look like it is trending "down". It historically has been for every one you see, there are 2 more you don't. Now it looks like that is going up a bit -- meaning the questions are redundant (asked and answered 100 times before) or just so not relevant to the general populace.

It is that and the fact the I've been on the road 4 or 5 days a week since the end of August :)

You can see when I started writing in earnst for this last book -- noticable dip in April. I finished in July (but spent 2 weeks on vacation in july/august.

Theory book

Doug, October 26, 2003 - 1:08 am UTC

Out of curiosity - is this the light reading?
Transaction Processing: Concepts and Techniques (Morgan Kaufmann Series in Data Management Systems)
by Jim Gray, Andreas Reuter ??

Tom Kyte
October 26, 2003 - 10:13 am UTC

Not a chance, it is a college level textbook and above.

It is very deep and full of theory as I recall (its been a couple of years, i read it in its first year of publication). It was not something to read from cover to cover but rather section by section as you became interested in the technology/area.

I still remember sections of it, I really liked the analogy of two phase commit to a marriage ceromony. That exactly describes the situation..... The "preacher" if you will is the commit point. "do you take this woman" (are you prepared to commit), "do you take this man" (are you prepared to commit), if both sites vote yes, then broadcast the outcome "i now pronounce you...." else rollback.

the reviews on amazon convey the basic "goodness" of this book and its breadth.

Do you still read the news in Oracle newsgroup?

David, October 26, 2003 - 6:25 am UTC

Hi Tom,

I initially post my Oracle questions to this newsgroup when I am an Oracle beginner. There are many great posters in this group such as Daniel, Howard or Norman. Do you still read the questions in this group?


Tom Kyte
October 26, 2003 - 10:16 am UTC

Not really -- something had to give. I used to troll them regularly from 1994 till about 2001 or so.


o my job
o my life
o writing
o asktom
o oracle magazine
o travel

i had to give up something. The newsgroups were it. As you said, there are many people out there such as HJR, Richard Foote, Jonathan Lewis, Connor MacDonald, Dan Morgan, and others (bad to put a list, i've left out more than I put in) so I constantly refer people to it, but I've not had the bandwidth to participate recently.

Doing things in the database

A reader, November 04, 2003 - 3:37 am UTC

Hi Tom,

you wrote

Even though I was a coder -- i found
doing things in the database to make tons more sense then writing tons of code
to do the same. I actually quit my first job after six years soley for the
reason that they wouldn't let me exploit the software they paid so much for
(they were so into this "generic database", the "database is a commidity"
concept that they had me coding our own two phase commit protocol, our own
stored procedure language, our own compilers for the same, our own sql parser --
it was frightening. Funny thing is -- I meet with customers all of the time
still doing just that!)

Fully agree.
I am on my 4th job now in 12 years (always chose "small"
software-companys up to 100 developpers)
and programming Oracle all the time (not only, of course,
but Oracle makes the best software I know).

Got the same experience everywhere (and still get it):
"database is just a stupid data-store" is a *VERY COMMON*
Don't know why, I show my colleagues / bosses
how easy and - most important - performant doing things
*in the database* is, but most of them just don't see it.

Still frustrated,

Great thread, I am really inspired.

Amalorpavanathan Yagulasamy, November 07, 2003 - 8:54 am UTC

Great thread, I am really inspired.


Thanks for the question regarding "Oracle: New world", version 8.1.7

Leonard Anukam, December 22, 2003 - 9:09 am UTC

Thanks Tom, in fact you have a great influenc on us up and coming Oracle Programmers. But one thing that stands out with you is you ability to share your knowledge. I have approched many people to be a mentor and they fear that their knowledge will be stolen and they refuse to be. You are so generous with you know-how in programing.

I have a problem myself. I like PLSQL programming and find it hard to do sql proper. What do you suggest I should concentrate more.


Tom Kyte
December 22, 2003 - 9:57 am UTC

How can you "steal" knowledge -- that's silly.

In order to become proficient at something, you have to "just do it". Try to solve things using pure SQL (give it an extra five minutes of thought) before dropping into a procedural row by row approach. make sure you KNOW every tool you have (connect by, analytics, having clauses, rollup, cube, etc) -- if you don't have that knowledge, you cannot be successful

developer and dba relationship

Ryan, December 22, 2003 - 10:30 am UTC

It seems that most shops believe that developers and DBAs are two totally different skill sets. Having done this for a few years now, I think the skill sets overlap. I think a truly 'senior' developer should have strong 'dba' skills and a DBA should be able to code at atleat a mid-level.

I think all senmior developers should should understand architecture, tuning, some backup and recovery, etc...

Im troubled by the way organizations totally seperate roles and often run into problems when someone who cant even code puts restrictions on development or when a developer makes some silly assumptions about the database.

What is your opinion on this? I think it is 100% possible to be both a very good developer and a very good DBA. You do not need to choose one or the other.

PS-- you need to do something about the certification tests. The performance tuning OCP is TOTALLY inaccurate. They have you study for things that you tell us not to do on this very website(namely hit ratios and simply 'make it bigger' as a cure all).

Tom Kyte
December 22, 2003 - 10:47 am UTC

I'm with you 100% on the dba/developer thing. I think they are a team, not warring camps in a fight to the death.

A reader, December 22, 2003 - 12:36 pm UTC

"two phase commit to a marriage ceromony" ... Hahahaha..thats a good example..

Veering off the track just a little...

A reader, December 22, 2003 - 12:41 pm UTC

Hey Tom,

Excellent thread, and a long-awaited insight into your professional development and experience. I'd like to share my experience, and would be interested in your feedback. In 5 plus years of programming, I have reached the conclusion that programmers are perceived as just a group of people who should get the job done, without much direction from the management/team leads and the larger team, and without raising any issues. Their attitude frequently is: "how hard can it be to program?", and think that if a programmer has some concerns/issues with something, that he/she is incompetent. They think of programmers as a bunch of mechanics (no disrespect intended towards the mechanic populace) who should know how to work with a car without complaining. A thankless job, basically. Most of the time I ignore this sentiment exuded by the team and keep my head down and work as hard as I can, but sometimes I am not satisfied with just pleasing myself. I mean, if you don't have the respect of your peers and superiors, even though you might be solving hard problems using intelligent methods and different features, after a certain point you start becoming dissatisfied with yourself and your work, and question the wisdom in applying yourself as much as you do. I know a job/career that a person does has to be one that he/she loves, even if others don't love him/her for it, but there has to be some incentive at the end of the day to excel and keep improving. I'm curious to know how you've dealt with these types of situations (where your work is not appreciated), if you've come across them, and what kept you on track and motivated.

Also, related to this, I agree that you're philosophy of doing it right the first time is the way to do it, but I can't help but wonder if there is some justification to not worrying about performance upfront, and then fixing performance issues as they come up, the benefit being that you're perceived as the hero when you fix the problem, and earn respect that way. If you get it right the first time (while designing the system), people may not appreciate the labor and effort you put in. I have countless examples in my experience where I've been appreciated more when I've fixed performance issues after the fact on systems I’ve inherited, but not nearly enough examples of where my superior design has been lauded by everyone.

Thanks for any feedback.

Tom Kyte
December 22, 2003 - 1:47 pm UTC

well, in reverse -- as to the "do it bad, then fix it"

How can you be a hero if you messed it up the first time around? You are just correctly your mistake.

So, when YOU do the work, do it right the first time (you'll be appreciated). As for systems you inherit, maybe that looks good for you -- but the people who designed it in the first place?

I had the opposite experience from you. I went to work as a "programmer analyst". I grew to "acclaim" in that job because I could take many of the problems and

a) solve them,
b) solve them quickly (i read EVERYTHING i could -- I knew what tools I had available to me and how to use them all),
c) solve them the first time and finally (my stuff wasn't redone)

I worked in a pure software shop -- it was the only thing we did (that was our output). The two layers of mgmt above me was all ex-programmer/analyst (they could tell the good from the bad).

It could be your environment more then anything -- but I find the people that do it right, don't have to do it over, and deliver working product the first time around definitely get noticed -- in the right environment.

But I did get into an environment (described above) where I felt much as you did -- exactly as you describe. Where the customer requirement of "be database independent, don't use any database feature, write a DBMS so we can use any DBMS (how silly is that!)" just killed me. It was like treading water. You don't go forward, you just hope you don't sink. You know you are writing shelfware (funny -- the project is STILL going, 13 years later......)

I left. Much happier now :)

dba/developer interaction

Ryan, December 22, 2003 - 3:07 pm UTC

i wasnt referring to warring camps. Im referring to overlapping skillsets. I feel that good developers should also be pretty knowledgeable of dba tasks and vice versa.

i dont like working with dbas who cannot write code and i do not like working with developers who do not know architecture, etc...

too many mistakes. seems like most shops feel the jobs are totally seperate and you should be one or the other. I dont see any reason why most people cant do both, but be 'specialized' in one or the other.

how do you feel or should the skillsets be seperate?

Tom Kyte
December 22, 2003 - 3:49 pm UTC

Im troubled by the way organizations totally seperate roles and often run into
problems when someone who cant even code puts restrictions on development or
when a developer makes some silly assumptions about the database

sounds a little like "camps" to me -- but anyway -- I firmly believe there should be a database development TEAM consisting of the developers and the DBAs.

how can a DBA make policy if they don't understand the ramifications. Like the DBA that says "no, no, no, you cannot have access to the trace files on this development box". They've just shot themselves in the head (not the foot, the head). No way that system can be tuned or inspected by the developers. I walk away from those sites (they usually let me have access after that).

how can a developer tune or design a system if they don't understand the ramifications. "ah, look, nologging, nologging is fast -- go for it". Did they just mess up the ability for this database to be recovered or what (yes). Unless they work with the DBA's who understand the ramification of what they are doing (you can use nologging safely, you just have to INCORPORATE backups with it!)......

DBA vs. Developers

Mark A. Williams, December 22, 2003 - 3:59 pm UTC

For a good read...

Effective Oracle by Design does a nice job of covering this I think. Tom addresses this mentality and shows why it is so harmful right from the beginning of the book.

We are developing an interal training course to address this particular situation at my company for what it is worth.

- Mark


Stu Charlton, December 22, 2003 - 4:13 pm UTC

I second Tom's view of what it takes to be the master of your game...

a) read read read read! concept manuals, user manuals, books, and theory
b) read the newsgroups and mailing list archives
c) try stuff out! experiment! benchmark! prove your ideas!
d) re-read stuff constantly, keep trying out old discoveries to keep them fairly fresh in your mind.

It's funny, I read the oracle.server newsgroup semi-regularily and there was a recent thread where one guy stated it's impossible for one man to have as much knowledge as Tom Kyte, he must be a support shill...

I don't know why people are so down on this ability. As long as you LIKE technology, you can aspire to be the next Tom Kyte ... it's not impossible, just requires passion, curiosity, and unwillingness to compromise for the "easy" rule of thumb.

proactive or reactive reading ?

Alberto Dell'Era, December 22, 2003 - 5:11 pm UTC

> i read EVERYTHING i could -- I knew what tools I had
> available to me and how to use them all

Did you read and absorbe/experiment everything in deep, or just read "lightly" and get back to the book/doc when need arised to use some "feature" ?

Which approach would you suggest ?


Tom Kyte
December 22, 2003 - 6:42 pm UTC

i read everything quick.

interesting things I played with.

everything else i just sort of "filed away".

then when presented with a problem -- i would say "ahh, you know, that reminds me of something I read about". Sometimes it would be a miss (go back, read in depth and find it doesn't really apply), sometimes it would be a hit.

Nice to get detals about tom

Tarun Babu, December 23, 2003 - 1:25 am UTC

Hi tom,
Its nice to see this thread in You really inspired me a lot. I am follwoing this site from the begining. From last two years I going to otn forums, posting questions, learning new things and helping people what ever I know in oracle.
The point what you mentioned is "How can Knowledge be stolen". Perfet. I wanted to share this with everyone, Please share your knowledge, whatever you know. That will increase the boundaries of our knowledge day by day.

What's your view tom?


umesh, December 23, 2003 - 4:10 am UTC

Can you please share your mentor's name. really must be a GREAT GUY ( no pun )

Aaaah Mentor...

Tarry Singh, December 23, 2003 - 7:57 am UTC

Your next door neighbour could be your mentor, you could be your own mentor.

To be succesful in any business you gotta (be)...

[1] Smart
[2] Brainy(not necessarily a rocket scientist)
[3] Practice, practice, practice
[4] Try, try ,try
[5] fail, fail, fail
[6] succeed, succeed, succeed
[7]Remember not to repeat mistakes, ever.

Then you've got a formula working right for you.

That it.

Also about the DBA/Developer thingy...

Tarry, December 23, 2003 - 8:22 am UTC

The fact that developer's & dba's are on the same side is something which you tend to realize but thanks to reading and listening to what Tom's has written in his books and the daily reads that I do(as on all my machine's ASKTOM is my homepage)I have learnt to converse more sensibly to the developers.

It felt real great in the new job when the most experienced and feared developer and me were beginning to click on in a few weeks and strating to exchange ideas. The "over the wall" mentality is changing. I was able to (with tact) bring in ideas of how to start using the db's built in functionality instead of long generic code and we're seeing some good team work. When I go to work I leave my ego, whim's all behind.

It is not just that they "must"(I say should)work together but also to bridge the (ever growing) gap between the developer's and dba's/sa's. So there's lot's more to it than just getting bunch of "stuck up" guys to work together.

whats your b'day?

Neeraj :), May 13, 2004 - 8:57 am UTC

AND Thanx to you ,GOd ......

An finally thanx to that Mentor.........

Still there are lot of nice guys in this selfish world...

Recommended books

Ramesh, January 26, 2005 - 5:57 am UTC


You recommend "Transaction Processing by Jim Gray, Andreas Reuter" book.

There is a newer book "Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control by Gerhard Weikum, Gottfried Vossen" out in the market which is more recent (2001). Do you recommend that one too?

Or is it enough if we study Jim Gray's book for learning about Transaction processing :)


Tom Kyte
January 26, 2005 - 9:05 am UTC

I haven't read it, I cannot comment on it.

The funny thing is -- the concepts behind Transaction Processing are sort of like the concepts behind good programming.

They haven't changed. We just seem to be forgetting what they are over time :(

Great advice!.....Interesting thread

Robert, February 08, 2005 - 10:58 am UTC


Thanks for sharing this info about carreer and you philosophy on learning, etc.

.....Interesting analogy, Mr. Alberto Dell'Era, ("Research Scientist")......

Thanks again, Tom, for all your help!


Next Tom Kyte? Not So Fast

A reader, June 29, 2005 - 4:43 pm UTC

Let us hope there is no need for the next Tom anytime soon. A Dick or Harry or whatever would be okay, but we need this Tom for a long time!

Tricky Query

Indranil, May 30, 2006 - 4:41 am UTC

Hi Tom,
1. suppose there is a table like create table
orderby(name varchar2(50),loyalty_level varchar2(50));
2. There are 3 distinct values for the column
loyalty_level like
3. Now can we write a query so that PAST_GUEST_PLATINUM will come first,then PAST_GUEST_GOLD,then REGULAR_GUEST ???

<<Insert statements are

Thanks and regards

Tom Kyte
May 30, 2006 - 9:31 am UTC

order by decode( loyalty_level, 'PAST_GUEST_PLATINUM', 1,

Thanks a lot,

indranil, June 01, 2006 - 11:42 pm UTC

Suppose we have a table like
Create table gs( X NUMBER,Y VARCHAR2(2));

INDRA>select * from gs;

---------- ------------
1 s1
2 s2

Now,can you please help me for the PL/SQL block below -

v varchar2(3200):='s1,s2'||',';--:control.conditions||',';
sn varchar2(3200);
Type ArrayType Is Table of Varchar2(200)
Index by Binary_integer;
l number;n number;
S ArrayType;
for i in 1..l
end loop;
For i in 1..l
end loop;
dbms_output.put_line('string= '||sn);
for j in (select x from gs where y in (sn))
dbms_output.put_line('x= '||j.x);
end loop;
End ;
string= 's1','s2'

PL/SQL procedure successfully completed.

why the cursor is not working ?
(retriving no row selected)

But when we are using sql we get
INDRA>select x from gs where y in ('s1','s2');


Is there any alternative way ?
Note:It was actually a Form 6i Trigger code
for the control item :control.conditions,when
user would enter the conditions like s1,s2,s3,...
and we have to select something from another database

Tom Kyte
June 02, 2006 - 10:19 am UTC

how about you LOOK IN THE OTHER PLACE you put this same exact question.

A reader, November 11, 2011 - 9:31 am UTC

Hi Tom,

What are the first most important at least 3 FEATURES in each of the below case that triggered ORACLE to change the name

1.9i to 10G

2.11G to 12C

(I to G and G to C)

Thanks !!

Tom Kyte
November 11, 2011 - 10:55 am UTC

opinion on:

9i to 10g, the word internet become boring, much like the word "webmaster" fell out of use. Everything was going internet by then.

10g was about grid computing, that was the message. Clustering, redundancy, the ability to go big. 10g was the first self contained bit of software from Oracle that had everything out of the box (database, clusterware, filesystem software) to do grid without any 3rd party help.

Now, grid is pretty much accepted, commonplace. Cloud computing is 'cool'. So the C is for the cool cloud. And we have the machines for the "cloud" - exadata, eaxlogic, exaltics, database appliance and so on.

opinion off

More to Explore

PL/SQL demos

Check out more PL/SQL tutorials on our LiveSQL tool.

PL/SQL docs

PL/SQL reference manual from the Oracle documentation library