Thursday, May 28, 2009

Collaborate09 thoughts...

I've been meaning to write up my thoughts from this years IOUG Collaborate event.  Ian Abramson, the president of the IOUG, has a nice series of write ups on the event itself - starting with day 1 through day 3 and then a wrap-up post.  He describes it as a three day event - but to me it is more of a four day thing.  For the last couple of years, I've done a university day at Collaborate - so once again I spent all day Sunday May 3rd in a conference center talking about Oracle for eight hours.  This year I talked about Encryption, all of the Flashback technologies, Read & Write Consistency (a really nice way to introduce the flashback stuff actually, sort of a pre-requisite) and Database Reorganizations (when to, when not to and when you have to - how to).

I also had a one hour "regular" session on Monday where I presented on "What's new in Oracle Application Development" where I touched on general database enhancements, ODP.Net, PHP/Ruby/Python, Java/JDBC, SQL Developer and APEX advances.  This is the session where I got most of the questions/comments this year.

I think I might have scared away some of the DBA crowd with my session title, they see "Application Development" and stay away - but I know for sure at least one DBA was in the audience.  He came up to me afterwards and commented on how glad he was to have attended - for a pretty simple reason.  In each of the tools I discussed (mostly .NET, SQL Developer and APEX) - I pointed out how they easily tied the application into AWR (automatic workload repository) and ASH (active session history) facilities and how they could be used as an interface to the tuning/diagnostic packs.  He is sure the developers he supports are unaware of this tie in and he himself certainly was - but his first course of action upon getting back to the office would be to expose them to it.  The problem he has had in the past is that many people consider tuning "a DBA task" - when in fact - it is really a developer's thing to do.  Since most developers don't have access to, or don't want access to Enterprise Manager - they assumed the advanced tuning features were not available to them.  Not any more - all of the development tools now have tie in's to AWR/ASH and various features of the tuning/diagnostic packs.

One of the areas of large interest is the new (in beta) SQL Developer data modeling features.  A lot of people (self included) still find the good old ERD (entity relationship diagram) a good way to envision/model your schema.  SQL Developer now has an engine to do just that - with the ability to spit out various different physical models from the same logical model - either in support of different databases (yes, it does not just do Oracle), or in support of different environments (simple storage characteristic changes).

 

One thing I find interesting/good about an event like Collaborate is the ability to learn something new.  Even after using Oracle for going on 22 years, I still learn something new often (almost every day).  Regardless of your skill level, there is the opportunity to expand your knowledge of the stuff you use.  For example - Jonathan Lewis (a pretty smart guy when it comes to Oracle knowledge) posted about some things he discovered for the first time.  I strongly encourage everyone to attend at least one event if possible every year - to network, to learn and..... to present.  IOUG Collaborate is a good venue for doing that - UKOUG is another - and the call for papers for the UKOUG event in November is currently happening....  Take a chance - go for it.  It'll probably go much better than my first presentation :)
POST A COMMENT

24 Comments:

Anonymous Doug Burns said....

UKOUG is another - and the call for papers for the UKOUG event in November is currently happening.... Take a change - go for it. Good new speakers are always welcome at UKOUG and as it's a 3 day, more focussed conference this year, it's easier to get the time off work and expenses are lower.

See you there!

(Oh, and don't be frightened by the imminent abstract deadline. I have a feeling it might be extended a bit)

Thu May 28, 10:57:00 AM EDT  

Blogger Stew Ashton said....

Tom, you say "all of the development tools now have tie-ins to AWR/ASH and various features of the tuning/diagnostic packs". I am currently working on "data access" guidelines for new generations of Java and PHP development in my company and I would like more information on this. I read askTom, your blog and the files you post regularly but I don't recall where you treat this subject. Have you uploaded anything on this subject?

Thu May 28, 12:18:00 PM EDT  

Blogger Thomas Kyte said....

Ok, by "all" I mean explicitly

.Net (visual studio integration)
SQL Developer
APEX



You can get my material from Collaborate on asktom.oracle.com -> files -> Collab2009.zip

Thu May 28, 12:35:00 PM EDT  

Blogger Stew Ashton said....

Thanks very much, Tom. The "Application Development" material on SQL Developer is exactly what I was looking for.

Thu May 28, 12:56:00 PM EDT  

Blogger oraclenerd said....

It's been awhile. I miss your regular postings.

I noticed you working in one of the hallways one day, but decided not to bother you.

Anyway, I got to attend on a media pass through OAUG. I had a great time. Got to meet Dan Norris, John Scott, Dimitri Gielis, David Peake, Sue Harper, Ian Abramson...and many others. I even participated in the RAC Attack!

I agree, everyone should go to at least one of these events. You learn a lot and meet some great people. I posted an index of my posts here and one of those posts links to others who blogged about the event (unfortunately not all though).

chet

Thu May 28, 03:39:00 PM EDT  

Anonymous Anonymous said....

Tom,

Just being curious here.. doesn't it sound contradicting that Tom is presenting on .net components for Oracle when at times he strongly advises of Linux/Unix platforms :))

Fri May 29, 03:16:00 PM EDT  

Anonymous Anonymous said....

What about those of us who run Oracle Standard Edition? We can't use AWR/ASH because using that data requires Diagnostic Pack. And, you can't license Diag. Pack against SE/SE1.
So, even though my database instance collects that data, the tie-in between AWR/ASH and the developer tools doesn't help me.
Any chance Oracle is looking at changing this anytime soon?

Mon Jun 01, 12:50:00 AM EDT  

Blogger Thomas Kyte said....

@last anonymous

Not that I am aware of

Mon Jun 01, 08:48:00 AM EDT  

Blogger Thomas Kyte said....

@Anonymous that wrote:

Just being curious here.. doesn't it sound contradicting that Tom is presenting on .net components for Oracle when at times he strongly advises of Linux/Unix platforms :))I would like you to point to a single posting by me that says "linux/unix - do that, do not do windows"


I have written over and over, very consistently:

use the OS you have experience in, if you are a windows shop and go linux, you know what will happen? HUGE learning curve, many mistakes.


I have *always* said "use the OS you have experience and people experienced in"


I have said "I personally use unix/linux - using windows would be very hard for me because I DO NOT DO WINDOWS personally"

I have always said "use the OS you want, they all can be used successfully by smart people"

So, please point to a post where I have said "use unix, do not use windows"

Mon Jun 01, 01:40:00 PM EDT  

Anonymous Anonymous said....

A bit off topic here, but the link to this blog is gone off asktom.oracle.com. Is this a mistake of some kind or does Oracle not like it, or ???

Fri Jun 05, 05:40:00 PM EDT  

Blogger Thomas Kyte said....

@Anonymous

I took it off asktom for now because the link said "if you would like to read something different from me - go here... I update 5 or so times a week"

I haven't been updating 5 or so times per week - so until I do, I took it down...

Sat Jun 06, 09:51:00 AM EDT  

Anonymous Rolando A. Fernandez said....

Tom,
There are many issues that need urgent attention:
a. The Surrogate Key: There are more and more valid reasons to use a surrogate key as the PK of a table and leave the natural key as an alternate key with a UNIQUE constraint.
Most DBA and development teams use the Oracle Sequence as the surrogate key generator.
The Oracle Sequence provides the unique key but its function is incomplete.
We need a way to identify a column as an ID field and either the designer or the Oracle software must take care of incrementing the unique key.
There is no way to associate table’s ID column with the Oracle Sequence in the physical design and this leads to some problems.
This needs to be solved.

b. The problem of the mismatch between the Object model used in most development environments today and the Relational Model used in the relational databases.
Companies, like Oracle, have missed the opportunity of leading the industry with a good sensible solution to this problem and, as a result, the industry has responded with multiple very complicated solutions like Hibernate.
Hibernate has become a lot more than the bridge between both models and is also a SQL code generator.
As a result, programmers do not learn SQL but rather learn to play with the multiple Hibernate option to force the desired SQL from it. Even if that entails to change the physical design totally, destroying the Conceptual Design.
We have to recognize that we are in the middle of a new crisis because of these problems and Oracle has to step up and come up with a solution recognizing the fact that the Relational Model is not the solution for all database designs and allow for real objects in the database to allow programmers to persist objects with a single operation and without the need of model mapping and SQL code generator tools.
Rolando A. Fernandez

Wed Jun 10, 03:38:00 AM EDT  

Blogger Leila said....

Hi Tom,

I thought you might be able to help me out...I am a computer engineer and I have got my Oracle 9i DBA Assosiate degree at Calstate Fullerton. I was wondering where I can go to start an intership or any DBA entry level. I can work for FREE but I don't know where to start. I live in Orange county, CA and my number is 949-697-7449.
I am very intrested to learn Oracle and my dream is to work as a DBA.

Thanks and regards

Wed Jun 10, 01:37:00 PM EDT  

Blogger atinuke said....

I need ur help and expert advice on this issue that has been on my mind since 2005 when i got my Oracle 9i DBA Professional degree at Oracle University. I was wondering where I can go to start work as a DBA entry level. Most employers here want someone with so much experience but av got little experience in d area of creating small databases. I live in Lagos, Nigeria. I am very much interested in learning and gaining more experience and my dream is to work as a DBA.

Best regards,

Thu Jun 11, 08:55:00 AM EDT  

Blogger Thomas Kyte said....

@atinuke

you might be interested in
this link to start...

Thu Jun 11, 10:19:00 AM EDT  

Blogger RRave said....

Dear Sir,

I hope you are doing well. I got this email address from one of your contribution web site. I have launched a web site www.codegain.com and it is basically aimed C#,JAVA,VB.NET,ASP.NET,AJAX,Sql Server,Oracle,WPF,WCF and etc resources, programming help, articles, code snippet, video demonstrations and problems solving support. I would like to invite you as an author and a supporter.
Looking forward to hearing from you and hope you will join with us soon.

Thu Jun 11, 01:16:00 PM EDT  

Anonymous Rolando A. Fernandez said....

Tom,
I am resubmitting me entry from a few days ago with some clarification.
My hope is to get also your ideas and, of course, everyone else that would like to exchange opinions in both topics:

a. The Surrogate Key: There are very valid reasons to use a surrogate keys as the PK of a table and leave the natural key as an alternate key with a UNIQUE constraint.
Most DBA and development teams use the Oracle Sequence as the surrogate key generator.
The Oracle Sequence provides the unique value using the “nextval”.
It seems that the original intent was to have just a sequence generator in the database and the need for the surrogate key in relational tables came way after that.
Designers and developers have used the Oracle sequence to generate the values for the surrogate key.
However, using the oracle sequence for this purpose is not really a good fit in many instances such as in Oracle RAC implementations and in today’s WEB development environments where products such as Hibernate manage their own transactions in the APP server address space.
The database software needs to provide a way to identify a column as an ID field or automatically provide for the generation of a unique value for the surrogate key during the process of handling the insert or update and taking care of the challenges presented by Oracle RAC and others.
Currently, Oracle does not provide a way to associate table’s ID column (the surrogate key) with the Oracle Sequence in the physical design and this leads to problems and confusion that could be avoided if a relationship could be established during the processing of the CREATE TABLE or ALTER TABLE ADD COLUMN.

b. The problem of the mismatch between the Object model, used in most development environments today, and the Relational Model, used in relational databases:
Companies, like Oracle, have missed the opportunity of leading the industry with a good sensible solution to this problem and, as a result, the industry has responded with multiple very complicated solutions like Hibernate.
These software solutions have become a lot more than the mapping objects to relations and are also SQL code generators.
As a result, programmers do not learn SQL but rather learn to play with the multiple Hibernate option to force the desired SQL from it. Unfortunately, in most instances, this entails to changes to the physical design to accommodate to Hibernate requirements, destroying or totally ignoring the Conceptual Design.

We are in a new software crisis because of these problems and Oracle has to step up and come up with a solution recognizing the fact that the Relational Model is not the solution for all database designs and allow for real objects in the database.
The Oracle software needs to give programmers working in projects using Java or any other Object Oriented platform the ability to persist objects with a single operation and without the need of having to use model mapping software and SQL code generator tools.
The Oracle software must allow the creation of relations and objects in the database and the SQL language must be expanded to support both.

Fri Jun 12, 04:03:00 AM EDT  

Blogger Thomas Kyte said....

@Rolando

I do not see how hard:

create or replace trigger mytrigger before insert on t
begin
select s.nextval into :new.pk from dual;
end;

is. The fact is - a sequence is infinitely more flexible and useful than a "automagically assigned" number. You have s.currval (for your foreign keys) that you can use immediately. You can use the same sequence for multiple tables. You can use a sequence for whatever you want (part of my URL includes a sequence - coupled with random numbers).

Add to that the fact that many tables should not have a surrogate in the first place (only because people are 'afraid' of natural keys or frankly do not know how to properly model data in the first place) - You'll not have my vote for this 'feature'



As for the "mismatch" between objects and relational structures, I don't even want to go there.

For I am a proponent that applications come, they go, they are transient - we throw them away, they are almost irrelevant.

The data on the other hand - it lives forever. We use it one way today, another way tomorrow. Application developers are the last people that should be implementing our logical and physical schema's. They have far too of a myopic view of the real world. To them - the world begins and ends with their application (these are the people that want a special database just for their application, their application is so special). Problem is - the world is much larger than their very simple application - it begins and ends with the data that will be used and reused in ways they cannot even imagine.

And the flexibility of the relational model has been allowing that to happen for over 30 years now.


I agree we are facing a software crisis, but it isn't due to the storage layer. It is due to the "get it out there, get it out there now, get it out there broken and see what sticks, bugs - we'll fix them if we feel like it later"

Fri Jun 12, 06:27:00 AM EDT  

Blogger Don Lewis said....

You may never have said don't use Windows, but you disdain pretty much says that:
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:19049077491794

Don Lewis,
http://little-shop-of-oras.blogspot.com/

Mon Jun 15, 09:48:00 AM EDT  

Blogger Thomas Kyte said....

@Don

that seems to be right in line with what I've always said (disdain or not, doesn't really matter)

Go with the OS you know
Go with the OS you've mastered
Go with the OS you have skilled people in

Because - any other OS would have a steep learning curve for you - you would be less secure (because you don't know how to secure it), less available (because....), less everything - unless and until you've mastered it.

The choice of an OS is one part technically motivated and nine parts "personal".

You will never see me running windows as a server platform - for a reason....

I don't do windows.

It is really that plain and simple.

I do *nix.

As long as viable unix (like) platforms exist, I'll be doing unix.

Mon Jun 15, 09:57:00 AM EDT  

Anonymous Anonymous said....

Tom,

Just a suggestion, maybe you could take down the comment that says you update the blog 5 times a week and keep the link ;)

-Alexander

Mon Jun 15, 04:39:00 PM EDT  

Blogger Thomas Kyte said....

@Alexander -

good point, done ;)

Mon Jun 15, 05:02:00 PM EDT  

Blogger Glasses said....

What about those of us who run Oracle Standard Edition? We can't use AWR/ASH because using that data requires Diagnostic Pack. And, you can't license Diag. Pack against SE/SE1.
So, even though my glasses database instance collects that data, the tie-in between AWR/ASH and the reading glasses developer tools doesn't help me.
Any chance Oracle is looking at changing this anytime soon?

Wed Jul 29, 03:39:00 AM EDT  

Blogger Geraldo Lopes de Souza said....

"either in support of different databases (yes, it does not just do Oracle)"

Unfortunately it does'nt support Postgresql :(

A pitty !!

Sun Jun 05, 11:08:00 AM EDT  

POST A COMMENT

<< Home