Skip to content

Oracle

Oracle Database as our consultants live it every day: installation and patching, upgrades, RMAN backup and recovery, Data Guard, RAC, performance tuning, multitenant, licensing, and engineered systems such as ODA and Exadata.

Postgres vs. Oracle access paths III – Partial Index

By Franck Pachot . 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 considerations. In the previous post I’ve executed: select sum(n) from demo1 The execution plan was: Aggregate (cost=295.29..295.30 rows=1 width=8) (actual… 

Postgres vs. Oracle access paths II – Index Only Scan

By Franck Pachot . 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 Oracle example to get the same because the Oracle optimizer chooses the index scan over the table scan in… 

Oracle Cloud: script to stop all PaaS services

By Franck Pachot . 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 Cloud Service PaaS. You can schedule it for example to stop them at the end of the business day, or… 

Display Data Guard configuration in SQL Developer

By Franck Pachot . 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 log shipping in Oracle 12c A quick note about this new versioning: this is the release for 2017… 

Postgres vs. Oracle access paths I – Seq Scan

By Franck Pachot . 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 planner: seq_page_cost (floating point) Sets the planner’s estimate of the cost of a disk page fetch that is part of… 

Postgres vs. Oracle access paths – intro

By Franck Pachot . This is the start of a series on PostgreSQL execution plans, access path, join methods, hints and execution statistics. The approach will compare Postgres and Oracle. It is not a comparison to see which one is better, but rather to see what is similar and where the approaches diverge. I have a long experience of reading… 

Postgres vs. Oracle access paths VII – Bitmap Index Scan

By Franck Pachot . In the previous post we have seen the Index Scan, where a where clause condition uses the index structure to find rows and then fetches remaining columns from the table. The case was an optimal one where the correlation/clustering factor was good. Now I’ll do the opposite: the worst clustering factor. Index with good correlation /… 

Recommended DB Parameters on the Oracle Database Appliance (ODA)

When creating a DB on the ODA using # oakcli create database -db <db-name> a template is used to set a couple of DB parameters like e.g. _datafile_write_errors_crash_instance=FALSE _db_writer_coalesce_area_size=16777216 _disable_interface_checking=TRUE _ENABLE_NUMA_SUPPORT=FALSE _FILE_SIZE_INCREASE_INCREMENT=2143289344 _gc_policy_time=0 _gc_undo_affinity=FALSE db_block_checking=’FULL’ db_block_checksum=’FULL’ db_lost_write_protect=’TYPICAL’ filesystemio_options=’setall’ parallel_adaptive_multi_user=FALSE parallel_execution_message_size=16384 parallel_threads_per_cpu=2 use_large_pages=’ONLY’ In recent projects I saw a couple of DBs running on ODA, which did not have (all) those… 

ODA X6 installation: re-image

By Franck Pachot . 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 install an earlier version to be in the same configuration as another ODA already in production. The easiest for all cases is… 

12c Multitenant Internals: VPD for V$ views

By Franck Pachot . 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 V$) because they don’t have their definition in the dictionary. The big difference is that most of V$ views are available long… 

12cR2 Application Containers and Foreign Keys

By Franck Pachot . 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 link table. But then, should a delete on the root validate that there are no orpheans in the application PDBs? And… 

12cR2 PDB refresh as a poor-man standby?

By Franck Pachot . Disclaimer My goal here is only to show that the Refreshable PDB feature works by shipping and applying redo, and then can synchronize a copy of the datafiles. I do not recommend to use it for disaster recovery in any production environment yet. Even if I’m using only supported features, those features were not designed for…