On December 11th Tom Kyte performed “AskTom in Moscow” for the second time (first time was almost three years ago in February 2010). I was there and enjoyed presentations, tweeted a lot about the content and in the end I’ve won a signed copy of the Expert Oracle Database Architecture (2nd edition, in Russian)!
A glass for questions. It was full in the end of the day
Tom started with a bit of history of how Oracle developed its database. Old stuff, C compilers, 37kg disk drives followed by the modern, upcoming features in 12c. Pluggable Databases mostly – the biggest change in the Oracle architecture since version 6, he asserted.
Also mentioned: automatic data tiering, aka “data heat maps”, data redaction, adaptive query optimization (scary 12c feature of), parallel execution and partitioning improvements.
One thing about adaptive query optimization that is not mentioned is you can’t change any given execution in run time. I think it’s only possible if the client (or some buffered row source before giving data back to the client) didn’t fetch any row. Otherwise I believe it’s not possible to guarantee the same row order output.
Next in agenda was Security. Key points: everybody afraid to delete data (not only for historic reason, inserting data could be much faster – see Tim Gorman’s article in the latest NoCOUG journal), it’s hard to detect data theft, SQL Injection is dangerous; Database Firewall could help in protecting the database (for example, no DDL in production). Audit trails in the 12c will be someway different, “unified”. Advanced Security will be free in the next release. Different ways to encrypt: tablespace, column, backup… Interesting way of getting a part (like 10%) of the database masked and copied to QA/dev environment. New feature to detect which privileges are actually needed to application, to be able to easily turn off unnecessary grants. More separation of duties: new SYSBACKUP, SYSDG, SYSKM roles.
New features in the development was after a coffee break. A lot of new features expected in 12c: transaction guard, application continuity (very interesting client-side analog of TAF). With SQL Translator Oracle will be able to run code created for different databases (but will it be correct?).
APEX can do a lot of work even on a low-end machine. With 12c there’s option to install it either on CDB or PDB level.
IDENTITY columns – finally!
SQL Developer is evolving towards developer and DBA toolkit. I need to start using it.
The number of new features in 12c is astonishing. A lot of new stuff I don’t remember already! Good thing I was able to record the whole event, so I can hear Tom again when I would like to.
You can do this too, here are 99MB (5h30min) of Tom Kyte speaking. Enjoy!
What I do remember clearly: Tom answered my questions and gave me a signed copy of his book. I made sure that he will get the questions: I first asked Tom in twitter and then repeated questions on paper:
As for the first question, the lack of statistical data in V$SQL for redo/undo, Tom said he understands why somebody would want this information be available; to actually get this feature in Oracle means the need to open an enhancement request. I’ll see if I’m allowed to submit ER and if I’m allowed I’ll definitely submit it.
The second question, about flashback cursors, had a mistake. Tom has built a test case to show that flashback query builds new child cursor on every parse call, not execution as I thought it was. Still Tom thinks that this behavior looks like a bug and he promised to file a bug on this matter. Great! My questions deserved a book which I’ll try to read next year.
It was again a very well-organized, day of Oracle presentations of excellent quality by one of the best presenters in the world. Big thanks to Oracle CIS and Tom for the event!