Search

OakieTags

Who's online

There are currently 0 users and 29 guests online.

Recent comments

Affiliations

Oakies Blog Aggregator

Changing my focus?

I leave for Oracle OpenWorld 2014 tomorrow, which is normally a time when I’m super amped up, but I feel rather flat and in need of change at the moment. I just feel like I’m investing a massive amount of my time on things I don’t enjoy and are not really benefiting me or the community at large, so what’s the point?

What do I enjoy?

  • Playing with technology.
  • Writing articles and blog posts about it.
  • Meeting and talking to people about this stuff.

What don’t I enjoy?

  • I don’t really enjoy answering questions on forums any more. For every one good interaction I have, there seems to be about 10 where people refuse to think for themselves and treat me as their own personal slave.
  • I’m getting an increasing number of people asking me questions on Facebook and Google+ chat. Not only does this have a similar ratio of good:bad interactions, but there is nothing left behind that helps other people. There is no content produced that allows others to answer their own questions from a Google search. This feeds into the dependency cycle.
  • Cleaning up the massive amounts of spam I get.
  • Dealing with the endless stream of people wanting me to help advertise their product or website.

This is not a business for me. It’s fun. When it ceases to be fun, what’s the point?

At the moment, I feel like:

  • Locking the forum.
  • Locking the article comments.
  • Blocking the comments on my blog.
  • Deleting all emails that include technical questions, without even reading them.
  • Ignoring requests for help on all social media.

This would allow me to spend a lot more time playing with Oracle and writing articles, which I feel benefits myself and others to a greater extent than what I’m doing now.

If I look at my web stats, they seem to back up my opinion. The vast majority of hits on my website are for content. Only a very small proportion relate to “interaction”, yet it is this interaction which takes up the vast majority of my time.

I guess some people would see this as going against the whole ethos of the ACE Program, but I don’t think so myself. I think I’m more use to the community by putting out content, rather than doing what I’m doing now.

Maybe I’ll come back from OOW and have a change of heart. Maybe not. Time will tell.

Cheers

Tim…

Update: Some people have taken this post as a message that I’m going to stop writing articles. I think the post is pretty clear on that front. This is about giving me more time to write articles. :)

Update 2: The forums are locked while I’m at OOW. I’ll decide if they will stay locked once I get back to the UK.


Changing my focus? was first posted on September 23, 2014 at 12:32 pm.
©2012 "The ORACLE-BASE Blog". Use of this feed is for personal non-commercial use only. If you are not reading this article in your feed reader, then the site is guilty of copyright infringement.

My presentations at OOW 2014 (See you there!)

Here’s where I will hang out (and in some cases speak) during the OOW:

Sunday, Sep 28 3:30pm – Moscone South – 310

Monday, Sep 29 8:30am – 4:00pm - Creativity Museum

  • I will mostly hang out at the OakTableWorld satellite event and listen to the awesome talks there.

Tuesday, Sep 30 10:00am – Creativity Museum

  • I will speak about Hacking Oracle 12c for an hour at OakTableWorld (random stuff about the first things I researched when Oracle 12c was released)
  • I also plan to hang out there for most of the day, so see you there!

Wednesday, Oct 1 – 3:00pm – Jillian’s

  • I’ll be at Enkitec’s “office” (read: we’ll have beer) in Jillian’s (on 4th St between Mission/Howard) from 3pm onwards on Wednesday, so, come by for a chat.
  • Right after Enkitec’s office hours I’ll head to the adjacent room for the OTN Bloggers meetup and this probably means more beer & chat.

Thursday, Oct 2 – 10:45am – Moscone South – 104

  • Oracle In-Memory Database In Action
  • In this presentation Kerry and I will walk you through the performance differences when swithching from an old DW/reporting system (on a crappy I/O subsystem) all the way to having your data cached in Oracle’s In-Memory Column Store – with all the Oracle 12.1.0.2’s performance bells and whistles enabled. It will be awesome – see you there! ;-)

 

Interesting observation about standby redo logs in Data Guard

Some of you might have followed the discussion around the number of standby redo logs on twitter, but since 140 characters are woefully short for the complete story here’s the writeup that prompted the question. This is a test with 12.1.0.2 on virtualised Linux, repeated on a proper platform with physical hardware.

First of all here’s my setup. I have a dbca-based database (CDB, but doesn’t matter) that features 3 groups for its online redo logs. They are all 50 MB in size-important for this test, but not realistic :) Following the Oracle documentation I created n + 1 groups (per thread) on the standby to stop Data Guard broker from complaining about missing standby redo logs (SRL).

The end result was positive, here’s what the broker thinks:

DGMGRL> show configuration

Configuration - test

  Protection Mode: MaxPerformance
  Members:
  CDB1  - Primary database
    STDBY - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS   (status updated 23 seconds ago)

The broker likes to bemoan you in case SRLs are missing on either primary and/or standby. So I’m all good to go! But wait a second, when I’m using one of the cool new 12c features to check the failover readiness, something is odd:

DGMGRL> validate database "STDBY"

  Database Role:     Physical standby database
  Primary Database:  CDB1

  Ready for Switchover:  Yes
  Ready for Failover:    Yes (Primary Running)

  Flashback Database Status:
    CDB1:   Off
    STDBY:  Off

  Current Log File Groups Configuration:
    Thread #  Online Redo Log Groups  Standby Redo Log Groups Status
              (CDB1)                  (STDBY)
    1         3                       2                       Insufficient SRLs

  Future Log File Groups Configuration:
    Thread #  Online Redo Log Groups  Standby Redo Log Groups Status
              (STDBY)                 (CDB1)
    1         3                       0                       Insufficient SRLs
    Warning: standby redo logs not configured for thread 1 on CDB1

DGMGRL>

Pardon me? I _do_ have 4 groups of SRLs:

SQL> r
  1* select group#,sequence#,bytes,used,status from v$standby_log

    GROUP#  SEQUENCE#      BYTES       USED STATUS
---------- ---------- ---------- ---------- ----------
         4         27   52428800       2048 ACTIVE
         5         29   52428800      11264 ACTIVE
         6          0   52428800          0 UNASSIGNED
         7          0   52428800          0 UNASSIGNED

And 3 online redo logs:

SQL> select group#,thread#,sequence#,bytes,status from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES STATUS
---------- ---------- ---------- ---------- ----------------
         1          1         31   52428800 CURRENT
         2          1         29   52428800 INACTIVE
         3          1         30   52428800 INACTIVE

But the fun fact remains that out of my 4 standby redo logs, only 2 are ever used. @pioro suggested that it’s because there is no need to use any of the other two because of a lack of redo to be applied and that sounds plausible. To validate this I created a test environment on physical hardware with proper storage because my tests on the lab turned out to suffer from IO problems.

The setup is the same.

I created a couple of sessions that start off by creating a 1,000,000 rows table, then delete from it only to roll back after the delete completed. That’s a lot of redo for 50 MB files (again you wouldn’t use 50MB online redo logs in production-this is just a test). My observation remains: only groups 4 and 5 are used. When the redo generation on the primary gets too far ahead, there will be RFS transfers of the archived redo log. Here are a few queries with their output:

PROCESS   STATUS       CLIENT_P GROUP#                                      THREAD#  SEQUENCE#     BLOCK# ACTIVE_AGENTS
--------- ------------ -------- ---------------------------------------- ---------- ---------- ---------- -------------
ARCH      CLOSING      ARCH     5                                                 1        149      83968             0
ARCH      CONNECTED    ARCH     N/A                                               0          0          0             0
ARCH      CLOSING      ARCH     5                                                 1        147      86016             0
ARCH      CLOSING      ARCH     4                                                 1        148      83968             0
MRP0      APPLYING_LOG N/A      N/A                                               1        147      85766            25
RFS       IDLE         UNKNOWN  N/A                                               0          0          0             0
RFS       IDLE         UNKNOWN  N/A                                               0          0          0             0
RFS       RECEIVING    LGWR     3                                                 1        150      85744             0
RFS       IDLE         ARCH     N/A                                               0          0          0             0

Is this a problem? Not as far as I can tell. And maybe I did something incorrectly on my side too. There wasn’t a problem-my archiver process was quick enough to archive the SRLs and as soon as it fell behind it resorted to fetch archived redo logs from the primary. When it uses the FAL process you see line like this in the alert.log:

2014-09-17 02:34:45.164000 -05:00
RFS[4]: Selected log 4 for thread 1 sequence 211 dbid 788205474 branch 857548261
Media Recovery Log +RECO/STDBY/ARCHIVELOG/2014_09_17/thread_1_seq_209.368.858479683
Archived Log entry 141 added for thread 1 sequence 210 ID 0x2efbcba0 dest 1:
2014-09-17 02:34:46.215000 -05:00

When Real-Time-Apply was active (whenever redo transfer rates dropped), I saw this, alternating between group 4 and 5:

2014-09-17 02:35:33.653000 -05:00
Media Recovery Waiting for thread 1 sequence 230 (in transit)
Recovery of Online Redo Log: Thread 1 Group 5 Seq 230 Reading mem 0
  Mem# 0: +DATA/STDBY/ONLINELOG/group_5.380.858076769
  Mem# 1: +RECO/STDBY/ONLINELOG/group_5.342.858076769

So for some reason yet unknown to me there are only ever 2 SRLs in use.

Lovin’ la vida Oracle

As we prepare for the week of Oracle OpenWorld 2014, I look back on the 25 years I have spent within the orbit of Oracle Corporation.

I joined Oracle Consulting Services (OCS) as an employee on 15-January 1990 and worked my way to Technical Manager when I resigned to start my own consultancy on 31-July 1998.  I worked as an independent Oracle consultant from then (with a side trip into company-building with friends) until 30-April this year.  On 01-May 2014, I joined startup Delphix.

Throughout this quarter-century of La Vida Oracle, I’ve made a great living, but it has also been a great way of life.  I started presenting at the Rocky Mountain Oracle Users Group in 1993, and joined the board of directors in 1995.  I’ve since worked with many other Oracle users groups as a volunteer and I’ve found the experiences to be incredibly educational, in so many ways.  I’ve also met a lot of amazing people through volunteering at Oracle users groups.  I met the junta of the Oak Table Network, and joined that group in 2002.  I was elected as an Oracle ACE in 2007, before I even knew the program existed, then I was made an ACE Director in 2012, which is an elevation I appreciate but still never sought.

But over it all, all throughout, is Oracle.  The Big Red O.  Some people have had bad experiences at Oracle Corporation, some have had REALLY bad experiences, just as people have good and bad experiences at any huge corporation.  In the spirit of a comment made famous by Winston Churchill, “Democracy is the absolute worst form of government.  Except for all the others.”  Oracle is populated by, and led by, some very human … beings.  I love them all, some more than others.

So for 25 years now, out of the 37 years Oracle has been in existence, I have had a really great life.  La vida Oracle.  I am so GLAD I met ya!  And I love this life!

And so it continues today.  For the first time in a quarter century, I’m out of the direct orbit of Oracle, now that I’m working at Delphix.  I’m still heavily involved with Oracle as an Oracle ACE Director and adviser to the boards of three local Oracle users groups (RMOUG, NoCOUG, and NEOOUG) and a board member at ODTUG.

Delphix builds data virtualization software for Oracle, PostgreSQL, SQL Server, and Sybase ASE, as well as file-system directories on Unix/Linux and Windows.  Virtualizing Oracle databases is a big part of Delphix’s business, but it is not the only part, and the non-Oracle parts are growing rapidly.  It’s refreshing to work with other database technologies.  But I still love working with Oracle Database, and I’m continually impressed by Oracle’s technology prowess, with the In-Memory option of Database12c a brilliant example.

Some say that Delphix competes with Oracle.  Be serious – please name a technology company that doesn’t compete with Oracle in one way or another, as the breadth of Oracle products and services is so expansive.

As an independent contractor at EvDBT for 16 years, I myself competed with Oracle Consulting in my own very small way.  But, at the same time I cooperated with Oracle by optimizing the implementation of Oracle technology.  I sure as heck understand who hold the tent up.

The same is true with Delphix.  As a company, Delphix products can be said to compete with Oracle Enterprise Manager 12c Cloud Control, in the niche area known as Database-As-A-Service (DBaaS) in the specific SnapClone functionality.  The Delphix software appliance is very similar to this SnapClone piece, but this part of the Oracle product is just a small part of the scope the vast EM12c Cloud Control product suite.

In the same way, I as an independent consultant could have been said to have competed with the EM12c diagnostics pack and performance tuning pack, because the techniques I used and taught tended to make people independent of those tools.

That’s not to say I steered people away from EM12c; it’s just that I myself didn’t use it for performance tuning, though gradually I learned to appreciate many of its features, not least through paying attention to my wife Kellyn Pot’vin.

In fact, the Oracle Enterprise Manager 12c Cloud Control, using the Cloud API, can fully administer virtual databases created by Delphix.  After all, Delphix is just an alternate mechanism to implement data virtualization.  Instead of using the mechanism of Oracle DBaaS SnapClone, customers can also use Delphix.  So Delphix can become a part of EM12c.

So there is no competition between Delphix and Oracle.  Delphix is an alternative to the SnapClone mechanism underlying DBaaS, but Delphix virtual databases can still be orchestrated through the EM12c console.  It need not be an either-or choice.

Of course, I still have to write that extension through the EM12c cloud API, and I’m getting right on that.  Unless someone else gets to it first.

Keep your eye on the Oracle EM12c Extension Exchange webpage for more progress on integrating Delphix within EM12c…

Building a Great Conference Agenda

We are deep into RMOUG’s abstract submissions and reviews, preparing for the following:

  • Oct. 2nd-  Close of Abstract Submissions
  • Oct. 6th-  Close of Abstract Reviews
  • Oct. 10th-  Schedule up for 2015 Training Days

With this weighing so heavily on my mind, I felt it might be a good time to put down on paper why I’m so proud of how RMOUG does it’s reviews and why this conference has such a great lineup.  This not only should tell you why you should submit or attend, but if you are considering submitting an abstract, it can help you submit a better one when you know what most conferences are looking for.

There are a number of ways that conferences perform their reviews of abstracts and fill their slots for a conference schedule.  I can honestly say, that considering how many conferences I’ve reviewed, been content lead for, etc., RMOUG has by far the fairest and best structure as to how abstracts are chosen.

RMOUG Training Days has the following goals:

1.  We are a technical conference.  We do not want sales or marketing presentations in our 100 scheduled sessions or in our 1/2 day deep dive/Hands on labs.

We do this for the following reasons:

  • 95% of our attendees are technical, not management.
  • We have a vendor showcase that can be added to the exhibitor prices and this one session time during the conference is specifically set aside and expected to hear about products and offerings from our great sponsors and vendors!
  • Because we don’t have sales or marketing going on in our sessions, our attendees are fully engaged with our exhibitors during breaks, networking events and throughout the day when they are in the exhibition hall.
  • We invite managers to attend the vendor showcase and exhibition area on the afternoon of the first day for free, so that our vendors get to speak one-on-one during an exclusive time with those that are going to be interested in their products.  This is a huge opportunity and I’m surprised more companies don’t take advantage of this.

2.  We give our attendees the best content in the world.

  • I attend between 8-10 major conferences each year.  This means that I know the content that is available and obsessively observe what other conferences are doing.
  • We have a very clear scoring system and have the largest group of reviewers possible, resulting in the best, overall abstract scoring.  Our scoring is everything and we do review scores.  If a score or review is way off, we contact the reviewer and have been known to remove it if the reviewer didn’t understand the instructions of how to review an abstract, (this has happened with some of our MSSQL abstracts… :))
  • We take the number of abstracts from each track and we offer each track the number of sessions that equals the percentage of submitted:
    • 20% of abstracts in track / 100 total sessions = 20 sessions goal to be accepted for that track.
    • Top 20 scored are initially chosen.
    • See how many abstracts per each speaker of the top accepted.  Remove duplicates so that as many speakers can have a chance as possible, (commonly 2 max sessions for any one speaker…)
    • We’ve marked new speakers, pepper them in whenever possible to give them a chance to speak at a conference and introduce attendees to new material/speakers.

Something to know about RMOUG’s Abstracts:

  1. EVERYONE goes through the abstract review process.  (Tim and I even submit our abstracts and then after they are scored, we’re seasoned speakers so we do well and we then pull them and keep them aside to have in case of cancellations…)
  2. I have had an issue due to storm or illness where I’ve had to slip something in at the last minute, but it was a rare occasion and it was an emergency.  If anyone can say that Carlos Sierra or Jeff Smith was going to NOT get a high score if reviewed, yeah, you get the idea… :)
  3. I do not limit submissions by any one company.  There is no special treatment shown to any company, but I have been known to contact a company if they’ve had speakers in the past and haven’t submitted any abstracts just to remind them.  This is just common courtesy shown to them, especially considering how busy everyone is this time of year.
  4. If we do come across a submission that “smells” of marketing or sales, it pretty much gets scored so low, there is no need to even take it up with the submitter…:)

If you aren’t getting accepted as a speaker or speakers for your company aren’t getting accepted as much as you would like, here are some pointers:

  1. Ask for feedback.  I’m very happy to share scores and constructive criticism regarding the abstract.  I want my reviewers to be honest, so I’m protective of the system and won’t open it up to anyone, but I am all about helping everyone be better.
  2. Become a reviewer for a conference.  You would be surprised how much you can learn by seeing what others are submitting in abstracts.
  3. FILL OUT THE ABSTRACT.  I don’t know how often I see two sentence abstracts, no biography or missing information.  I’ve also seen 1000 line abstracts or bios that talk about how impressive the speaker is, (we do not take the abstract on the bio, sorry folks… :))  and others that are filled with typos and grammatical errors.  Take the time to fill them out correctly-  remember how detail oriented we techies are… :)
  4. Most of the time we simply can’t approve as many as we would like.  I commonly have 100 abstracts or more that I would love to see in the conference schedule, but I just don’t have the room and my attendees don’t have the time to take off from work to attend.
  5. Schedule-  I make a gorgeous conference schedule… Yeah-  that lasts about a week before someone requires a change due to work, personal or other conflicts… I try people, I really do try… :)

If you’re still interested in submitting an abstract to RMOUG, please do so by clicking here.  I also have a blog post on how to write an abstract if you want to know more, but for now, I’ll get back to getting prepped for Oracle Open World!



Tags:  


Del.icio.us



Facebook

TweetThis

Digg

StumbleUpon




Copyright © DBA Kevlar [Building a Great Conference Agenda], All Right Reserved. 2014.

I must install Oracle on Fedora!

Followers of my blog and website know I play around with installations on Fedora for fun. All of my installation guides on Fedora come with a link at the top that points to this disclaimer.

A few times recently I’ve been contacted by people saying their boss, teacher or customer is insisting they install Oracle on Fedora. Rather than repeat myself, I’ve added another point at the bottom of this disclaimer that reads:

Q: My boss/teacher/customer is insisting that I should install Oracle on Fedora. What should I say to them?
A: Your boss/teacher/customer is making a mistake, probably because they do not understand the implications of what they are asking you to do, or do not know about the free alternatives. You should probably get them to read this Oracle Linux FAQ. If they are still unsure, feel free to put them into contact with me and I will happily educate them.

If you are being asked to do something that is blatantly incorrect, it is your responsibility to educate those around you so they can (hopefully) make better choices in future.

Cheers

Tim…


I must install Oracle on Fedora! was first posted on September 22, 2014 at 3:02 pm.
©2012 "The ORACLE-BASE Blog". Use of this feed is for personal non-commercial use only. If you are not reading this article in your feed reader, then the site is guilty of copyright infringement.

Jonathan Lewis explains Delphix internals

Last week we had a great webinar with Jonathan Lewis as he explained his hands on experience of Delphix, how Delphix works internally and some use cases that Delphix solves for Jonathan.

Jonathan will be joining us a the Delphix booth at Oracle Open World and giving shorter version of the presentation at 10am on Monday and Tuesday and 11am on Wednesday.

Also Jonathan will be speaking at Oaktable World on Monday 1pm and both Monday and Tuesday for Ted Talks at Oaktable World between noon and 1pm.

If you are interested in trying Delphix out, we will be hosting a hands on labs for the first time ever to install Delphix trial copies on your laptops. We will be in the OTN lounge on Monday between 3:30 and 5pm and Tuesday between 10am and  5pm at Oaktable World Labs.

Below are Jonathan’s slides and recording of the webinar:

 

Screen Shot 2014-09-22 at 7.18.15 AM

The Future of PL/SQL : The People Respond

I put out a post yesterday called The Future of PL/SQL : My Opinion.

For an Oracle-related blog, putting something out at the weekend is a sure fire way to get nobody reading it. If I look at my website, the hit rate at the weekend is about 1/5 of that of a week day. By the time most people get back to work on Monday they have a stack of blog posts to read and yours will probably fall into the “mark as read” pit of their RSS reader. :) In a similar fashion, people’s timelines on social media are generally so crowded, your “look what I’ve just written” tweet will probably be lost amongst the talk of alcohol, bad food and photos of the kids…

So having said that, I chose a Sunday to put out my manifesto for the future of PL/SQL and was surprised by the volume of feedback. I know there are a lot of PL/SQL programmers out there, but it’s easy overlook that when many of the other programming communities are so much more vocal in comparison. It’s good to know there are so many people out there who still care about PL/SQL! You’ve made an old man happy. :)

Cheers

Tim…


The Future of PL/SQL : The People Respond was first posted on September 22, 2014 at 10:14 am.
©2012 "The ORACLE-BASE Blog". Use of this feed is for personal non-commercial use only. If you are not reading this article in your feed reader, then the site is guilty of copyright infringement.

Partitioned Clusters

In case you hadn’t noticed it, partitioning has finally reached clusters in 12c – specifically 12.1.0.2. They’re limited to hash clusters with range partitioning, but it may be enough to encourage more people to use the technology. Here’s a simple example of the syntax:


create cluster pt_hash_cluster (
        id              number(8,0),
        d_date          date,
        small_vc        varchar2(8),
        padding         varchar2(100)
)
-- single table
hashkeys 10000
hash is id
size 700
partition by range (d_date) (
        partition p2011Jan values less than (to_date('01-Feb-2011','dd-mon-yyyy')),
        partition p2011Feb values less than (to_date('01-Mar-2011','dd-mon-yyyy')),
        partition p2011Mar values less than (to_date('01-Apr-2011','dd-mon-yyyy'))
)
;

I’ve been waiting for them to appear ever since 11.2.0.1 and the TPC-C benchmark that Oracle did with them – they’ve been a long time coming (check the partition dates – that gives you some idea of when I wrote this example).

Just to add choice (a.k.a. confusion) 12.1.0.2 has also introduce attribute clustering so you can cluster data in single tables without creating clusters – but only while doing direct path loads or table moves. The performance intent is similar, though the technology and circumstances of use are different.

The Future of PL/SQL : My Opinion

Although a lot of my effort at the moment is focused on DBA features, I have written some articles on PL/SQL enhancements. There are a few neat new features for PL/SQL developers in 12c, but you could be forgiven for thinking it is a little underwhelming. There are two ways to look at this:

  1. OMG. Oracle really don’t care about PL/SQL any more. If they did, there would be loads of new features.
  2. Wow. PL/SQL is so mature and cool that there is really not much more to add.

From a base language perspective, I think option 2 is closer to the mark. PL/SQL is a really stable, fast and mature language. There really isn’t very much that you can’t do with PL/SQL these days. So what is the future of PL/SQL in my opinion?

As part of his role as PL/SQL evangelist, Steven Feuerstein contacted a number of people about their opinions of PL/SQL. When he asked me about my wish list, I suggested all functionality in the Alexandria PL/SQL Utility Library should really be in PL/SQL. A quick look at the Alexandria site shows it includes code that supports a large variety of functionality from a variety of authors. Among other things, this library includes:

  • Generating PDF files.
  • Generating Excel files.
  • Generating RTF files.
  • Microsoft Office Integration (OOXML).
  • Zip and Unzip functionality (separate to UTL_COMPRESS).
  • Parse CSV files.
  • Parse RSS feeds.
  • Generate JSON files.
  • FTP support.
  • Email support (SMTP, POP, IMAP, Exchange).
  • Integration with Google services (Google Maps, Google Calendar, Google Translate).
  • Integration with Amazon Web Services.
  • Integration with PayPal.
  • Integration with Twitter.
  • Consuming and publishing SOAP and REST web services.
  • Logging and debugging APIs and frameworks.

You may see some things in that list that look like duplication of functionality we already have. Oracle 10g introduced UTL_MAIL for sending emails from PL/SQL, but the functionality is so limited, you invariably end up coding your own APIs using UTL_SMTP (like this). Oracle 10g also introduced UTL_DBWS for consuming SOAP web services, but once again, it is often easier to do it yourself directly, or using a simpler SOAP_API based on UTL_HTTP. We don’t even have any reasonable tracing functionality. Instead we have to write our own wrappers for DBMS_OUTPUT, or use someone else’s. So although the PL/SQL language is great, when it comes to integration with other technologies you end up having to do a lot of the heavy listing yourself, or rely on using someone else’s unsupported solution.

So in my opinion, the future for PL/SQL is not in major changes to the language itself, but in bringing these sort of support and integration packages into the database. I think we should avoid forcing overly complex frameworks on people. I’m very much talking about simple utility packages. This could be done in one of two ways:

  1. It is literally baked into PL/SQL. The problem with this approach is you will have to wait for a DB upgrade to get the latest and greatest functionality. That would be a shame since most of the functionality works for multiple DB versions.
  2. Oracle produce their own internal version of the Alexandria PL/SQL Utility Library. So you have an Oracle supplied, supported and maintained library of functionality you can download and use, independent of database version. This means updates are independent of major database version changes.

I think option 2 would make a lot of sense. If you think about it, we almost have a precedent for this in the form of APEX.

  • APEX is built on PL/SQL.
  • It ships separately to the main database releases.
  • Each release supports a variety of DB versions.
  • It brings with it a bunch of utility packages. They are there to support APEX, but there is nothing to stop you using them for your own applications, like this example of using APEX_JSON.

Imagine how exciting it would be if part of the Oracle 12cR2 or Oracle 13c announcement included a huge library of support packages like this! :)

Cheers

Tim…


The Future of PL/SQL : My Opinion was first posted on September 21, 2014 at 4:18 pm.
©2012 "The ORACLE-BASE Blog". Use of this feed is for personal non-commercial use only. If you are not reading this article in your feed reader, then the site is guilty of copyright infringement.