Author Archives: mgogala

About mgogala

I am a long time Oracle DBA, who has worked on very large databases. I have worked with OPS and RAC since its inception.I am also a published book writer, having published two books about PHP. This blog is about the challenges and adventures in my professional life. Sorry, no family pictures here.

Rename Pluggable Database

I stumbled upon a convenient way to rename a pluggable database: SQL> alter system enable restricted session; System altered. SQL> alter database rename global_name to; Database altered. SQL> alter session set container=cdb$root; Session altered. SQL> select name from v$pdbs; … Continue reading

Posted in Uncategorized | 1 Comment


Oracle 12c has a new feature related to optimizer dynamic sampling. The new level 11 is supposed to put the dynamic sampling on auto pilot and make the statistics available to other users. However, as soon as this was set, … Continue reading

Posted in Uncategorized | Leave a comment

Oracle 12c, big table caching

In Oracle 11g,  there has been annoying change which has frequently had a seriously detrimental effect to the application performance. All tables, larger than 2% of SGA, were considered big tables and were read using direct reads into PGA, instead … Continue reading

Posted in Miscellaneous Oracle | Leave a comment

Smarter DG Broker in Oracle 12c

In Oracle 11G, DG Broker needed to be told whether the standby database was physical or logical. The command to add database in 11G was something like this: ADD DATABASE <DB Unique Name> AS CONNECT IDENTIFIER is <TNS Descriptor> MAINTAINED … Continue reading

Posted in Uncategorized | 2 Comments

Synthetic Full Backup for Oracle

Synthetic full backup is a method for combining incremental backup into a full backup. It is not a new thing, many backup utilities can do that with file system backups. It is also well described: However, there is … Continue reading

Posted in Uncategorized | Leave a comment

A New Version of an Old Trick

A long, long time ago, people started using the following SQL idiom: with t as (select /*+ materialize */ …..) select …. from t If my memory serves me right, Jonathan Lewis was the first person whom I saw using … Continue reading

Posted in Uncategorized | Tagged | 4 Comments

After startup trigger on RAC

Recently, a colleague of mine had some problems with pinning application procedures into the shared pool. His database was upgraded to RAC and he wanted to pin the application procedures and packages into shared pool upon the database startup. The … Continue reading

Posted in Uncategorized | 1 Comment