However, as Marco reported from Oracle OpenWorld, native JSON support may be an upcoming new feature in Oracle Database 12c.
This new feature allows the storage of JSON documents in table columns with existing data types like VARCHAR2, CLOB, RAW, BLOB and BFILE.
A new check constraint makes sure only valid JSON is inserted.
For example: CHECK column IS JSON.
New built-in operators allow you to work with stored JSON documents. For example, JSON_VALUE enables you to query JSON data and return the result as a SQL value. Other operators include JSON_QUERY, JSON_EXISTS and JSON_TABLE.
Cool stuff!Leave a comment | Filed in Oracle | Tags: 12c, json
Head to the Content Catalog and start downloading your favorite sessions. No registration needed. Sessions will be available for download until March 2014.
Note that some presenters chose not to make their sessions available.
Via the Oracle OpenWorld Blog.2 Comments | Filed in Oracle | Tags: oow
The in-memory component duplicates data (specified tables – perhaps with a restriction to a subset of columns) in columnar format in a dedicated area of the SGA. The data is kept up to date in real time, but Oracle doesn’t use undo or redo to maintain this copy of the data because it’s never persisted to disc in this form, it’s recreated in-memory (by a background process) if the instance restarts. The optimizer can then decide whether it would be faster to use a columnar or row-based approach to address a query.Leave a comment | Filed in Oracle | Tags: 12c, in-memory
The intent is to help systems which are mixed OLTP and DSS – which sometimes have many “extra” indexes to optimise DSS queries that affect the performance of the OLTP updates. With the in-memory columnar copy you should be able to drop many “DSS indexes”, thus improving OLTP response times – in effect the in-memory stuff behaves a bit like non-persistent bitmap indexing.
Speaking of new features, here is what’s new in Oracle Database, SQL and PL/SQL from 9iR1 until 12cR1.Comments Off | Filed in Oracle | Tags: 12c
To reverse engineer an existing database into a relational model, I used SQL Developer Data Modeler, a free data modeling and database design tool from Oracle.
I had a problem with the tool. I could not save the model. It appeared to be saved but when I reopened the .dmd file, the relational model was nowhere to be found.
I tried all kinds of combinations on my Windows 7 64-bit laptop, like using JDK 6 vs. JDK 7, 32 bit vs. 64 bit versions, etc. No luck.
Then I stumbled upon this Oracle Forum thread while searching for a solution online. The poster suggested that enabling support for version control in the tool solved the issue.
I had versioning support disabled in SQLdev Data Modeler.
Following the hints in the forum post, I enabled it (Tools > Preferences > Extensions > toggle Versioning Support). Restarted SQLdev Data Modeler, and voila! I can now save my relational models!
There was no way I could have guessed that versioning support was interfering with saving relational models. I am guessing this is a bug.Comments Off | Filed in Oracle, Tips | Tags: data-modeler, sql-developer
Since lack of Histograms or freezing CBO Statistics do not guarantee Plan Stability, do not rely on these two myths. If what you are looking for is Plan Stability use then SQL Plan Management available since 11g or SQL Profiles available from 10g.Comments Off | Filed in Oracle | Tags: performance
Logger is a PL/SQL logging and debugging framework. It’s used in many organizations to instrument code in their Oracle applications. Tyler Muth created Logger a few years ago and has since released several upgrades, the last being 1.4.0. After some great feedback, I’m pleased to announce that we’ve just launched Logger 2.0.0 Beta.
Instrumentation, logging and debugging utilities are essential in any PL/SQL development project.Comments Off | Filed in Oracle | Tags: framework, pl/sql
Tom is not not a fan of public synonyms, here is why:
- public synonyms pollute the namespace.
- public synonyms can lead to security issues.
- public synonyms can lead to a maintenance headache.
- public synonyms are public – no one owns them.
So, instead of public synonyms… Continue reading…2 Comments | Filed in Oracle | Tags: sql
If any of this is ticking boxes for you, it’s time to consider what flash could do for the performance of your database:Comments Off | Filed in Oracle | Tags: flash, storage
- I/O wait times are high. Essentially we are looking for high latency from the existing storage system. Flash memory systems should deliver I/O with sub-millisecond latency, so if you see an average latency of 8ms on random reads (db file sequential read), for example, you know there is potential for reducing latency to an eighth of its previous average value.
- I/O forms a significant percentage of Database Time. If I/O is only responsible for 5% of database time, no amount of lightening-fast flash is going to give you a big performance boost… your problems are elsewhere. On the other hand, if I/O is comprising a large portion of database time, you have lots of room for improvement.
You probably heard that Google is going to shut down Google Reader (GR) on July 1st, 2013.
With GR going away soon, I have been working over the past several days to detach it from OraNA.
Blogs that no longer exist have been deleted from the aggregator.
Blogs that still exist but have had no new posts since January 2012 are no longer aggregated by OraNA.
I was surprised at the number of blogs that fell into the two categories above.
The number of aggregated blogs fell from 508 to 323 (plus the blogs.oracle.com feed).
Here is a live list of all the blogs that OraNA aggregates.
I guess the enthusiasm for long form blogging has fizzled out over the years. Lazy bloggers (including yours truly) find it much easier and quicker to “micro” blog using Twitter, Facebook or Google+.
On a personal note, I have moved my daily dose intake of news from GR to Feedly.2 Comments | Filed in Oracle | Tags: aggregator, blog, Google