We are proud to announce the release of Oracle Fusion Middleware 12c (188.8.131.52.0).
Media is available for download on the Oracle Technology Network (OTN),
My Oracle Support (MOS) and the Oracle Software Delivery Cloud (OSDC).
This includes the following products:
- Oracle SOA Suite and Business Process Management 12c (184.108.40.206.0)
- Oracle B2B and Healthcare 12c (220.127.116.11.0)
- Oracle Service Bus 12c (more...)
I recently tweeted about a comment I’d picked up at the Trivadis performance days regarding tablescans and performance.
“If you can write your SQL in conjunctive normal form it can help the optimizer to offload more predicates”
Inevitably someone asked me if I had an example to demonstrate this – I didn’t, and still don’t really, but here’s an interesting demo based on an example from the Oracle In-Memory blog showing how the optimizer will (more...)
I recently had an issue where a database with 240GB SGA (1 huge shared memory segment) configured with hugepages on a system with 512G RAM was suddenly becoming instable and new logons were denied with these error message:
ORA-01034: ORACLE not available
ORA-27123: unable to attach to shared memory segment
Linux-x86_64 Error: 22: Invalid argument
Additional information: 2667
Additional information: 1736718
Additional information: 215016800256
This was strange because ipcs -a showed all shared memory segments (more...)
Thanks to Tim Hull for organizing this day – I’m happy to give back to the community which has given me so much.
My favorite feature is with no doubt is the Data Guard.
Even though the Data Guard feature might looks like an excess of other features (redo log for recovery, archive log for backup) it is one of the more awesome features in the Enterprise Edition database.
For those of you who don’t (more...)
Do you ever wonder how to get all parameters for CREATE DATABASE Statement ?
I will be sharing some of the reverse engineering done to create a duplicate copy of the database.
Some of you may be thinking, “Why not just duplicate database or backup and restore?”
For the project I was working on, this was not feasible since Extended Data Types (12c NF) was enabled and there is no going back.
Restoring database (more...)
It should be fairly well known by now that when you enable the 12c InMemory (Columnar Store) option (and set the inmemory_size) your SQL may take advantage of a new optimizer transformation know as the Vector Transformation, including Vector Aggregation. You may be a little surprised to learn, though, that some of your plans may change even when they don’t produce any sign of a vector transformation as a consequence. This is because In-Memory (more...)
My journey into 12c continues
with the use of identity columns
, this time regarding data that had been imported from another database, but sequences haven't been updated.
Ensuring the next number returned from a sequence matches the current value from the table appears to be a common problem, my thoughts are described here
. The biggest trouble is linking up the sequence to the column so we could automate the process.
We can now (more...)
Goal and warning
This blog will show how to invoke java code directly from within a Business Rules component. I didn’t manage to find this in the Oracle product documentation, which is actually a good thing. Invoking java code with business logic directly from within the Business Rules is normally bad design. The proper way to do it would be to first invoke business rules and then – depending on the outcome – invoke the (more...)
I've been operating with a 12c environment this year and I can see some standard patterns of mine changing.
One is the use of triggers, or lack thereof. I live in a city with a certain evangelist who does not like triggers
, so I was happy to see Sven Weller's "perfect trigger
" post. The answer is: there is no trigger.
Well, it's one thing to say 'create all new tables like this', (more...)
The next major release of the Oracle Database has always been a big thing. Last year at Oracle OpenWorld , a lot of sessions were dedicated to Release 2 of Oracle Database 12c – with sharding as probably its most eye catching new feature. Talk of the release date started at once. June 2016 was a popular date in these talks. June came and went. And now, come Oracle OpenWorld 2016, R2 is out – (more...)
Oracle Database Release 12c (12.1) introduced a new operator that we can use in SQL queries. The MATCH_RECOGNIZE operator allows us to detect patterns in our relational data. Specifically: it allows us to identify records that mark the beginning of a set of records that together form a pattern. In this set, each record satisifies a certain condition. The fact that in a set of records these conditions are met – in a certain (more...)
The new version of OBIEE 12c, 18.104.22.168 to be exact, is out, so let’s talk about it. It’s my intent that after reading this, you can expect some degree of comfort in regards to possibly doing this thing yourself (should you find yourself in just such a circumstance), but if not, feel free to drop us a line or give us a ring. It should be noted that Oracle documentation explicitly (more...)
One of those things SQL developers are frequently looking at is the generation of rows: having a query return records that do not really exist. For example to generate test data or to produce records for all days in a month. Tom Kyte usually selects from data dictionary views. Various tricks make the rounds, for example based on CONNECT BY or CUBE or UNPIVOT. This blog article by Natalka Roshak (2015) compares various row generation (more...)
With the introduction of CDB, many views have added column CON_ID.
DB1:(SYS@DB1):PRIMARY> select inst_id inst,sid,serial#,program,machine from gv$session where sid in ((select * from dba_blockers));
select inst_id inst,sid,serial#,program,machine from gv$session where sid in ((select * from dba_blockers))
ERROR at line 1:
ORA-00913: too many values
DB1:(SYS@DB1):PRIMARY> desc dba_blockers;
Name Null? Type
----------------------------------------------------- -------- ------------------------------------
DB1:(SYS@DB1):PRIMARY> select inst_id inst,sid,serial#,program,machine from gv$session where sid in ((select HOLDING_SESSION from dba_blockers));
INST SID SERIAL# PROGRAM (more...)
In Part I and Part II, we looked at how to index specific attributes within a JSON document store within an Oracle 12c database. But what if we’re not sure which specific attributes might benefit from an index or indeed, as JSON is by it’s nature a schema-less way to store data, what if we’re not entirely sure […]
A huge thank you to Pete Finnigan for his blog post.
Hacking Oracle 12c COMMON Users
Not only is the implementation of ORACLE_MAINTAINED not ideal, it’s a possible security risk.
My tip to you is to always exit the session before performing any object creation.
From my pain as you can see, looks like “_ORACLE_SCRIPT was not reset when new users where created.
Also ORACLE_MAINTAINED Objects Don’t Export
Learned quite a few new thing this weekend and (more...)
In my post on the differences between ADD TRANDATA and ADD SCHEMATRANDATA, I highlighted the differences between the two ways of adding supplemental logging to tables. One of the things I pointed out was that ADD SCHEMATRANDATA doesn’t add any supplemental log groups (SLG). Without SLGs then how does ADD SCHEMATRANDATA work? That was the question I was left with. So I started digging around to find the answer and I think you may be (more...)
Since I published posts on how to retrieve command history within GGSCI using the Oracle provided commands of “history” and “fc”, I was pinged a couple of times by some friends asking about “rlwrap” usage with GoldenGate. The answer is a simple yes, rlwrap can be used with Oracle GoldenGate.
What exactly is “rlwrap”?
According to the readme file at http://utopia.knoware.nl/~hlub/uck/rlwrap/#rlwrap, rlwrap is a ‘read-one wrapper’. (more...)