Skip to main content


Showing posts from October, 2011

In two weeks: My first DOAG Conference

From November 15 to 17, the annual DOAG (German Oracle User Group) Conference will be held in Nuremberg. I've never attended this conference before, so I am really curious how my experience will be - especially compared to the other big European Oracle event, the UKOUG conference three weeks later. The agenda looks very promising. A very neat and tight three full days, with a new 45 minute session starting on the hour. Just like you expect from Germans ;-). And with 20 parallel sessions it seems about the same size as the UKOUG. The nice thing is, there are a lot of (German) speakers on the list, I've never seen before. So that could be interesting. And there are a lot of APEX sessions as well - see my schedule below, where I colored all the APEX sessions in blue! Some sessions will be translated - from German to English, some of them will be in English, but the majority will be in German. So a good opportunity to dust off my German... In the flyer, sessions are marked when t…

Analytic function to the rescue! Again.

My current APEX project has a requirement to show a chart on one of the pages. No big deal. Usually. Because it should represent some value over time and that value would be stored in the database....could be every second, this chart could contain 10,000's, if not 100,000's points. 
So generating the XML, transferring the XML to the browser and interpreting the XML by the chart engine....was slow...
So I had to come up with a solution to reduce the number of points, without destroying the goal of the chart. Oh, and did I mention that the value could be stored every second, but could also be every minute, hour, whatever?
The first thing I came up with was the SAMPLE clause. Never heard of it and never used it before. You can just do a SELECT * FROM EMP SAMPLE(10) and as a result, you'll get 10% of the rows of the EMP table. The only withdrawal with that was, the result could be different every time. So when refreshing a chart, the chart could look really different. Another, mo…

"I am running for the ODTUG Board of Directors"

No, not it's not about myself, but that's what my dear friend Martin Giffy D'Souza told me during last Oracle Open World. And I support his nomination whole hearted! 
I know Martin since about 4 years since we met at one of the KScope conferences. Since then we'll meet each other twice a year, but are in touch more frequently by email, twitter and other social networks. Martin is passionate about his job and, knows really a lot about APEX and is always willing to share his thoughts, ideas and vision with others. And I think nobody is better suited for the ODTUG Board as Martin is! If you wonder what Martin looks like...see the picture below, taken during the OOW Appreciation Event. He is the guy with the blue circle around his head ;-)

If you are an ODTUG member, you can vote here
You can read Martin's official campaign and bio below...
Campaign StatementI have attended ODTUG Kaleidoscope for several consecutive years and have been a presenter for the last three. …

OOW2011 - Announcing the APEX Marketplace

With the Oracle Database Cloud Service, Oracle also announced the APEX marketplace - a sort of App Store for APEX or APpEX Store if you like. When the Cloud Service is released, there will be number of free APEX Applications available for install. These are all created by Oracle itself and are very similar to the "Packaged Applications" that where available on OTN earlier. So if you're wondering why they're not available up there anymore and where they are gone: You got your answer now!
Just like any other APEX Application you can (probably) still export that application and install it on your own environment. But they will ne "locked down", although it's not quite clear what that actually means. Probably, to prevent support issues due to your own changes, you aren't allowed to make changes. BTW, not all Markterplace Applications will be available on OTN, some will, others won't ..
Another, not yet implemented, idea is that you can also upload…

Five things you (probably) don't know about PL/SQL

This post is a (live) report from Tom Kyte's session with the title above he did in a packed room on Thursday morning on OOW2011.

1. Trigger trickery
A before row trigger uses consistent read. So it uses the situation as it was when the statement started. So during long running updates the actual situation might differ from the 'consistent read' situation. That might lead to a rollback and re-fire of the statement, and thus the trigger as well. So every before statement and row level trigger (apart from the last row) might fire twice!
So don't do anything you can't roll back in a trigger. If you call some autonomous auditing function in a trigger, you might encounter rows in your auditing table that didn't actually happen...
Direct path loads bypass triggers don't always fire!
So, if you can avoid triggers...please avoid triggers.

2. Ignore errors
Error handling is done wrong more often than it's done right. Only catch exceptions that you are exp…

OOW2011 - Announcing SQL Developer 3.1 New Features

The new SQL Developer version 3.1, contains a lot of new functionality. For instance a lot of DBA functionality that was already available within Enterprise Manager is exposed in SQL Developer. The developers are using the exact same code, but with a SQL Developer skin on top of it.
Another very neat feature is the SQL Developer Cart. You can drag and drop any object in the cart and it will automagically create a sql script file and zip it. I see certainly a use for that, for instance to deploy an new version of an application : all files neatly packed together...
And of course, there is the Cloud Services. You can connect to your Oracle Database Cloud Service from within SQL Developer. Under the covers a RESTful web service is called and the results are processed. There is also functionality implemented to transfer data to and from the cloud, using DataPump. If you upload data into the cloud, the data pump file is automatically created, uploaded en processed. Very neat!


OOW2011 - Announcing the Oracle Public Cloud

Until this Wednesday, Oracle`s statement was "use Oracle systems to build your own cloud", but this is changed drastically now! Starting November 1, Oracle does this for you. Just subscribe and within 20 minutes you are up and running in the brand new "Oracle Public Cloud".
So what do you get after this 20 minutes of waiting? It depends on what you ordered ;-). Within the Oracle Public Cloud (OPC), the following options are available:
- an Oracle Database Cloud Service
- a Java Cloud Service
- a Social Connect Cloud Service, based on WebCenter
- some Fusion Applications Cloud Services: CRM and HCM.

The Oracle Database Cloud Service
The Oracle Database runs on Exadata. Within a database you get your own schema(s) and tablespace(s), so while the database itself is shared with others, all data is partitioned and caged. To enhance security, Transparent Data Encryption will be switched on, and DataVault might also be used (still under consideration). You can connect to the dat…

New APEX feature regarding RESTful web services

The upcoming Application Express version 4.2 - date not announced yet - will (or might), amongst other features regarding mobile support, also contain the functionality for managing the Apex Listener Resource Templates. From the SQL Workshop you can access the RESTful web services. And so create new or manage existing services of the APEX Listener. So therefore keep all stuff within one IDE.
Very nice. It will enhance the use of the Resource Templates enormously!
Location:Howard St,San Francisco,United States

Know your code : Automate PL/SQL standard enforcement

This is a report of Lewis Cunningham's session at OOW11 on the subject t mentioned above.
For code you not only need coding and naming standards, but performance and testing standards as well. And of course you need to check wether your code complies with your standards. For analysis you can either do static or dynamic analysis (and instrumentation as well). For static analysis you can use the data dictionary, PL/Scope and the source code itself. For dynamic analysis you have to use profilers.
For retrieving the data dictionary you can query the _SOURCE, _DEPENDENCIES, _PROCEDURES and related views. When using PL/Scope you have to recompile the code with a "identifier:all" setting switched on. Then the results are retrievable from the _IDENTIFIERS view.
Analysis should be done at the earliest stage, that is during coding. PL/Scope can be very handy for validating naming conventions, impact analysis and identifying scoping issues.
For dynamic analysis, you have to set a bas…

OOW2011 - Announcing Oracle`s Big Data Appliance

During the Oracle ACE Director briefing, Mark Townsend, VP Database Product Management, did "State of the Union" on the Oracle database. This post is my report of his talk...
At this moment around 55% of the installed base of the Oracle database is on 11.2. Last year, Oracle made more money from selling more database licenses and more options on existing installations.
Mark mentioned that there are customers with 1,000`s of databases (and even one with 80,000!) - all using different versions of the database, of the operating system, storage etc. This situation is very hard to maintain and to keep up and running. Inn Oracle`s view, consolidation into a "private cloud" is the solution, and therefore Oracle offers Exadata. One (or less) databases are easier to secure, easier to make high available and easier to upgrade. And when you use Oracle software troughout your application stack, why not use Oracle hardware as well? So Oracle is striving towards a "red stack&…

OOW2011 - Announcing Oracle NoSQL

NoSQL databases have already been around for a long time. Even Oracle owns one: Berkeley DB. Other well known databases are Voldemort, MongoDB and Cassandra.
A NoSQL database contains only key-value pairs and targets on only simple operations: store and retrieve data. Any relationships and other rules should be enforced by the application itself. A NoSQL databases has a small footprint, is embeddable, (very) fast, scalable and easy to use and usually runs on a lot of operating systems.
Therefore the sweet spot of NoSQL databases is processing loads of simple and unstructured data, like messaging, queueing and user web clicks. Not surprising that the big social networks, like LinkedIn, Facebook, Google and Amazon are heavy users of NoSQL databases. For some more advanced use some NoSQL databases have options for concurrency, transactional processing and high availability. Of course you can store this kind of data in a relational database, like the "regular" Oracle database as w…

OOW2011 - Announcing the Exalytics machine

After a long rerun about Exadata, Exalogic and the Supercluster, during Sunday`s keynote, Larry finally announced the new Exalytics machine. Extreme speed, due to 1 TB DRAM (holding 5 to 19 TB of compressed data) and 40 cores of Xeon CPUs. It is using a new version of TimesTen - the in memory database - and/or an new version of Essbase (for OLAP) and a new OBIEE. It not only handles relational and multidimensional data, but also "unstructured" data. You should connect the Exalytics machine to your Exadata machine with Infiniband. Then load (all) data into the Exalytics machine and start analyzing and processing in memory. It uses a "Heuristic Adaptive In-Memory Cache", so data changes are detected and refreshed in the machine. Oracle claims it is around 20 times faster than their current configurations.
Price tag? Not mentioned...

Location:Howard St,San Francisco,United States

Connecting NoSQL and Oracle Databases

NoSQL databases are very good in storing and retrieving large amounts of data. Analysis, on the other hand, is hardly possible. And you probably need that to actually make money out of Facebook, LinkedIn etc.
Therefore you need to transfer the data to a "regular" database, like Oracle.
There are two options to do this kind of stuff. The first one is with a MySQL Data Hub, that handles both the NoSQL and Oracle tables as external. Another option is to transfer the data to Oracle directly. Quest offers some (free) products in this area, like TOAD for Cloud Databases. Very interesting and definitely need to try this out. Thinking about APEX talking to a NoSQL database now...
Location:Howard St,San Francisco,United States