12cR2 Application Containers and Foreign Keys
Application Container brings a new way to share data among databases, and adds a new dimension to referential integrity. A foreign key in an application PDB can reference a row belonging to a root data...
View Article12c Multitenant Internals: VPD for V$ views
I described in an earlier post on AWR views how the dictionary views were using metadata and object links to show information from other containers. But this mechanism cannot work for fixed views (aka...
View ArticleODA X6 installation: re-image
The Oracle Database Appliance is shipped with a bare-metal installation which may not be the latest version. You may want to have it virtualized, or get the latest version to avoid further upgrade, or...
View ArticlePostgres unique constraint
I’ll start a series on Postgres vs. Oracle access paths because I know Oracle and I learn Postgres. While preparing it, I came upon some surprises because I’m so used to Oracle that I take some...
View ArticlePostgres vs. Oracle access paths I – Seq Scan
Here is the first test I’ve done for my Postgres vs. Oracle access paths series and the first query did a sequential scan. It illustrates the first constant you find in the documentation for the query...
View ArticleDisplay Data Guard configuration in SQL Developer
The latest version of SQL Developer, the 17.2 one released after Q2 of 2017, has a new item in the DBA view showing the Data Guard configuration. This is the occasion to show how you can cascade the...
View ArticleOracle Cloud: script to stop all PaaS services
With metered cloud services, keeping all your instances running may become expensive. The goal is to start them only when you need them. Here is a script that stops all instances you have on the Oracle...
View ArticlePostgres vs. Oracle access paths II – IndexOnlyScan
In the previous post I’ve explained a sequential scan by accident: my query needed only one column which was indexed, and I expected to read the index rather than the table. And I had to hint the...
View ArticlePostgres vs. Oracle access paths III – Partial Index
In the previous post I said that an Index Only Access needs to find all rows in the index. Here is a case where, with similar data, Postgres can find all rows but Oracle needs additional...
View ArticleExadata Capacity on Demand and Elastic Rack
Since X4 we can do Capacity on Demand on Exadata: disable some CPU cores to lower cost of Oracle Database licenses. Depending on the models, and the configuration, there are different minimums and here...
View ArticlePostgres vs. Oracle access paths IV – Order By and Index
I realize that I’m talking about indexes in Oracle and Postgres, and didn’t mention yet the best website you can find about indexes, with concepts and examples for all RDBMS:...
View ArticlePostgres vs. Oracle access paths V – FIRST ROWS and MIN/MAX
We have seen how an index can help to avoid a sorting operation in the previous post. This avoids a blocking operation: the startup cost is minimal and the first rows can be immediately returned. This...
View ArticlePostgres vs. Oracle access paths VI – Index Scan
In the previous post my queries were still reading the indexed column only, from a table which had no modifications since the last vacuum, and then didn’t need to read table pages: it was Index Only...
View ArticleODA X6 Small Medium Large and High Availability
There are 4 models of Oracle Database Appliance with the new ODA X6 which is for the moment the latest ODA hardware version. One is similar to the previous X5-2 one, and 3 smaller ones known as ODA...
View ArticlePostgres vs. Oracle access paths VIII – Index Scan and Filter
In the previous post we have seen a nice optimization to lower the consequences of bad correlation between the index and the table physical order: a bitmap, which may include false positives and then...
View ArticleGet trace file from server to client
The old way to get a user dump trace file, for sql_trace (10046), Optimizer compilation trace (10053), lock trace (10704), Optimizer execution trace (10507),… is to go to the server trace directory....
View ArticleBequeath connect to PDB: set container in logon trigger?
There are little changes when you go to multitenant architecture and one of them is that you must connect with a service name. You cannot connect directly to a PDB with a beaqueath (aka local)...
View ArticleImproving Statspack Experience
I’ve published a few month ago an article in the UKOUG OracleScene magazine on Improving Statspack Experience: quick setup script, changing settings, filling Idle Events,etc. In the article, I used...
View ArticlePostgres vs. Oracle access paths IX – Tid Scan
In the previous post we have seen how Postgres and Oracle finds the table row from the index entry. It uses the TID / ROWID. I’ll focus on this access path and I will have covered all Postgres access...
View ArticlePostgres vs. Oracle access paths X – Update
In the previous post we have seen the cheapest way to get one row, reading only one block from its physical location. But that’s the optimal case where the row has not moved. I’ll (nearly) conclude...
View Article