Posts

Showing posts from August, 2014

Your Top Tips for PL/SQL Developers?

I will giving a presentation to Oracle Corporation PL/SQL developers (that is, Oracle employees who build internal apps using PL/SQL) in September, lots of them new to the language and starting new development.

The focus of the presentation is on best practices: what are the top recommendations I want to give developers to ensure that they write high quality, maintainable, performant code?

I plan to turn this into a checklist developers can use to stay focused on the Big Picture as they write their code.

So if you could pick just THREE recommendations to developers to help them write great code what would they be?

YesSQL! a celebration of SQL and PL/SQL: OOW14 event 29 September

First the key details:

When: 6:30 - 8:00 PM on Monday, 29 September

Where: Moscone South - 103

To register: Session CON9027. This event will be offered as a "regular" OOW session, which means you register to attend through Schedule Builder.

Why: Because SQL and PL/SQL are amazing technologies, and the people who them to deliver applications are amazing technologists

For many, many years - since 1979, in fact - Oracle Database software and other relational solutions have been at the core of just about every significant human development, whether it be based in private enterprise, government, or the world of NGOs.

SQL, relational technology, Oracle Database: they have been incredibly, outrageously successful. And SQL in particular is a critical layer within the technology stack that runs the systems that run the world. SQL is a powerful yet relatively accessible interface between algorithmic processing and data. 

Rather than write a program to extract, manipulate and save …

Recording of "How to Write PL/SQL Code You Can Actually Read" now available

Image
I recorded the second in my PL/SQL by Feuerstein 2014 webinar series yesterday.



You can access the recording here.

If you were registered for the event, simply provide your email address and log in. But first have the popcorn ready because the show will begin immediately!

If you did not register, provide your email in the Register field. You will then be prompted to confirm it and then have your popcorn ready.

I tried something different with this webcast: rather than spend most of my time in slides, I spent 40 minutes taking a look at spaghetti code and then showing you the cleaned up version.

I am not wildly excited about how it turned out. I would be very happy to read any comments you have about the webinar right here on this blog.

And be sure to sign up for the other webinars, available at the Oracle PL/SQL Learning Library.

New PL/SQL book: Oracle PL/SQL Performance Tuning Tips & Techniques

I recently received a copy of Michael Rosenblum's and Dr. Paul Dorsey's latest book: Oracle PL/SQL Performance Tuning Tips & Techniques. Very impressive!

It's so different from mine: only 300 pages compared to my monster tome of 1000+ pages. Ah, so much easier to hold.

But way more importantly, it is packed full of performance advice, based on the deep, long experiences of two Oracle technologists who have been out in the trenches helping customers put together successful applications that fully leverage Oracle Database and all is core technologies.

There are an awful lot of books on PL/SQL in the market; many of them (inevitably) cover the same material, albeit in different ways.

I found this book to be a very refreshing addition to the mix. It takes a holistic approach, offering glimpses into aspects of Oracle Database architecture and tuning/analysis tools with which most PL/SQL developers are not terribly familiar.

It uncovers some delightful nuggets, such as impro…

PL/SQL Challenge Community to the rescue! Get job name inside DBMS_SCHEDULER-executed proc

An Oracle Database developer* contacted me recently with this problem:

Do you know a way to get the DBMS_SCHEDULER Job Name from within the code that is being executed by the job?

I could have told him to visit the OTN SQL and PL/SQL Forum and post his question there, but I thought that instead I would ask the players at the PL/SQL Challenge if they had any ideas. So I posted this message in the Recent News section:
Solution from Niels Hecker
Soon after, I received a solution from Niels Hecker, one of the top PL/SQL Challenge quiz players, and all-around very helpful guy. He wrote:
I have found a really easy solution: in the context "UserEnv" there is an element "BG_Job_ID" which is not a real id of the job but the id of the job-object in the database (DBA_Objects.Object_ID). Here’s the code I wrote leveraging this fact:
-- the user needs the following privileges directly assigned: --     EXECUTE on package DBMS_Lock --     SELECT ANY DICTIONARY --     CREATE JOB
--------…

Is it all about End Users or End Boredoms?

I've been writing software since 1979, floating along from Algol and Lisp in the classroom to Fortran in the research project, at Big Pharma, at Big Insura...until finally I landed a job at Oracle Corporation, found PL/SQL, wrote a book and settled into specializing on a single technology for the last 22 years.

And all along the way, I wrote code to satisfy the requirements of my end users, who were almost always employees of companies. In other words, not "retail."

But with the advent of the Internet and World Wide Web, and then especially with the viral use of smartphones and tablets, the predominant "end user" of applications is now, well, everyone.

But when everyone is a user, what are the apps for?

They used to help organizations meet their goals (make money, end hunger, above all sell things). And in this context, the data and the database were absolutely, fundamentally important.

When you received an order for a product, you really did want to be able to…

OOW Session Details: The Whys and Wherefores of New Oracle Database 12c PL/SQL Features

Coming to Oracle Open World 2014? Paying attention to the PL/SQL language? (well, you probably are if you are reading my blog!)

Then I've got some exciting news:

My session, titled "The Whys and Wherefores of New Oracle Database 12c PL/SQL Features", and given the very best session number: CON7828, will take place at 3:45 PM on Wednesday, October 1 (also the birthday of my son, Eli - surely this is not a coincidence. Surely there must be a reason...oh, wait, right, no. Stuff just happens).

And the location? Moscone South 103

As anyone who has ever attended OOW before knows, Moscone South 103 is the premier location for a session on PL/SQL.

OK, fine, so I am being a little...sarcastic? No, no, not at all. Just playful.

I am very excited to be attending OOW as an Oracle Architect for the first time. We are going to have FUN!

Especially because Monday night at 6:30 PM, we will hold the FIRST EVER YesSQL! a celebration of SQL and PL/SQL. 

This celebration is on the OOW sched…