msgbartop
News, views, tips and tricks on Oracle and other fun stuff
msgbarbottom

Native JSON Support in Oracle Database 12c

json

If you want JSON support in your Oracle database today you can use PL/JSON, an open source JSON parser written in PL/SQL.

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!

Comments Off | Filed in Oracle | Tags: ,


Now Available for Download: Presentations from Oracle OpenWorld 2013

Oracle OpenWorld 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:


Oracle Database 12c In-Memory Option Explained

12c

Jonathan Lewis explains the recently announced Oracle Database 12c in-memory option:

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.

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.
Comments Off | Filed in Oracle | Tags: ,


Oracle Database 12c Bookmarklet, Search Plugin and New Features

12c The blogosphere continues its buzz about Oracle Database 12c and what feels like an unlimited supply of new features in this latest cloud enabled release.

Speaking of new features, here is what’s new in Oracle Database, SQL and PL/SQL from 9iR1 until 12cR1.

With a new release comes new documentation and handy tools to make searching documentation easier. Check out the updated Oracle Bookmarklets and browser search plugins.

Comments Off | Filed in Oracle | Tags:


When Versioning Support Interferes With Saving Your Relational Model

Oracle SQL Developer Data Modeler icon 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 have TortoiseSVN installed on my laptop and use it to interface with a subversion repository.

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: ,


SQL Plan Stability and CBO Statistics Myths Busted ↗

Carlos Sierra:

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:


Logger: a PL/SQL Logging and Debugging Framework ↗

Martin D’Souza:

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: ,


Not a Fan of Public Synonyms, Here is Why ↗

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:


When You Should Consider Flash for Database Storage ↗

@flashdba:

If any of this is ticking boxes for you, it’s time to consider what flash could do for the performance of your database:
  • 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.
Comments Off | Filed in Oracle | Tags: ,


Oracle News Aggregator OraNA No Longer Powered by Google Reader

OraNA.infoYou probably heard that Google is going to shut down Google Reader (GR) on July 1st, 2013.

There are many theories, speculations and analysis as to why Google took the decision to kill Reader.

To me GR was not just a place I visit several times daily to get my dose of fresh news, it was also the backend feed aggregation engine that has powered OraNA.info since 2006.

With GR going away soon, I have been working over the past several days to detach it from OraNA.

I’m glad to report to you that the migration off of GR is done. OraNA now aggregates all of its syndicated feeds via its own feed aggregation engine.

OraNA has been operating since the beginning of 2006. In the process of updating it, I took the opportunity to do spring cleaning on the blogs that it aggregates.

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: , ,