Script to Introduce Manual Block Corruption in Oracle Database
A block corruption in a database is a rare and unwanted situation. However, for testing corruption recovery scenario a DBA needs to have a actual corruption at the block level. I have written a wrapper...
View ArticleOracle Database 12c (12.1): Datapump Export and Pluggable databases
As a DBA, we all are familiar with the Datapump (EXPDP/IMPDP) utility for exporting and importing database objects in and across databases. However, with the introduction of Oracle Database 12c and...
View ArticleOracle database 12c (12.1) : Password file mystery
I was trying to implement password file authentication for my Oracle 12c database. However, seems like Oracle database was not recognizing the password file at all. As shown below, I had created a...
View ArticleThe unusual case of recreating Oracle (central) Inventory
It could be a rare situation, where your Oracle RDBMS inventory is corrupted or lost and you don’t have a copy of the inventory to restore it. As a standard process, we usually keep backup of the...
View ArticleInterpreting Free Space in ASM Diskgroup
The Perception: I had the perception that the FREE_MB returned from querying the V$ASM_DISKGROUP is the actual amount of free space available under a particular ASM diskgroup. Till date, I was using...
View ArticleWhy Datapump Import (IMPDP) is not ignoring Index Statistics?
In today’s article, I would discuss a scenario where I was trying to speed up a Datapump import job by excluding the collection of table and index statistics during the import process. I was using...
View ArticleONLINE statistics collection in Oracle Database 12c : Part 1
In my last article “Why Datapump Import (IMPDP) is not ignoring Index Statistics?”, we have seen how the database feature of gathering ONLINE statistics for INDEX prevented IMPDP to exclude the...
View ArticleCreating an index?? Do you know what’s gonna be its size ??
We, as a DBA often create indexes in Oracle Databases. We come to know about the Index size once it is being actually created. However, did you know that there is a simplest way to determine the size...
View ArticleOracle: The myth, reality and the curious case of count(*)
Today’s article is all about the popular count(*) method of checking cardinality and is dedicated to novice Oracle DBAs like me. We use count(*) almost everyday at some point to check the number of...
View ArticleCreating Oracle Database Link with EZCONNECT (Easy Connect)
EZCONNECT (Easy Connect) is there for a long time. However, learned something new today about it; that it can be used to create database links. Hence, thought a post on it would be helpful for others...
View ArticleMigrate Oracle database using Transportable Tablespace
I have been working with Oracle Databases since last 6 years. However, surprisingly I never had the opportunity to use the Transportable Tablespace option of migrating data from one Oracle database to...
View ArticleArchive dest is exhausted? Well, there is a alternative : Oracle
Issues that we face Ideally in a production Oracle database, we enable the archivelog mode for the ONLINE redo logs to be archived during log switches. We must also periodically backup and clean up the...
View ArticleOGG-01973: The redo record indicates data loss on object
Problem Description In one of our GoldenGate setup, the EXTRACT process got ABENDED with OGG-01973 error (The redo record indicates data loss on object) 2015-08-08 00:35:37 ERROR OGG-01973 Oracle...
View ArticleSimple tricks to remove OEM Console’s blackout from command line: OEM 12c
Problem Summary When a target OEM agent is put under blackout from OEM console (GUI), the only valid way to remove the blackout is to use OEM console. However, there might be situations when we might...
View ArticleOracle 12c: Create Container Database silently (non-interactive mode)
Introduction In today’s article I will discuss and explore the creation of a multi-tenant Oracle 12c database. With the introduction of multi-tenant Oracle database architecture, the installation...
View ArticleOracle 12c: Create Container Database with SQL*Plus
Introduction In my last article, I had discussed about creating a container database in non-interactive with DBCA. However, we have seen there is a limitation with DBCA where it installs all the...
View ArticleONLINE statistics collection in Oracle Database 12c : Part 2
Today’s discussion is again on the ONLINE statistics collection in Oracle database 12c. In one of my earlier post, I had discussed about the extensions/enhancements made to the online statistics...
View ArticleOracle 12c (12.1.0.2): Time to revoke SELECT (we have READ to offer)
In today’s post, I am going to discuss yet another enhancement that is introduced with Oracle database 12c (12.1.0.2). Prior to Oracle 12c (12.1.0.2), whenever we had a requirement to create read only...
View ArticleOracle 12c (12.1.0.2): Consider extending READ privilege to public dictionary...
While working on my last article, I had the opportunity to explore another real time scenario, where a non privileged user can completely cause application outage without having any privileged access...
View ArticleOracle Database 12c: The Out of Place Materialized View refresh
Introduction: Prior to Oracle database 12c, Materialized View refresh was always an in place refresh, which means the changes were made in the existing materialized view table either by delete/insert,...
View ArticleGoldenGate: Setting trail files auto purge and purging trails on demand
Introduction In today’s post, I will discuss about purging old trail files for a GoldenGate replication setup. GoldenGate generates two set of trail files. The first set is generated by the EXTRACT...
View ArticleShareplex: Restore or Recreate missing/corrupted object cache on Target system
Introduction This post explains and demonstrates the process involved in restoring or recreation of an object cache when it is found to be missing or corrupted. An object cache is a file that is...
View ArticleSometimes things don’t work as expected in Oracle
In today’s post, I am going to discuss an issue that I had faced recently. One of my application team sent me an e-mail stating that they are not able to connect to the database and are receiving...
View ArticleShareplex: Fixing startup issue caused by shared memory segments
While trying to start Shareplex instance, it is failing with following errors. ##--- ##--- starting Shareplex instance ---## ##--- [oracle@mylab-01 log]$ $SP_BIN/sp_cop -u$SP_COP_TPORT & [1] 406...
View ArticleShareplex: Script to fix startup issue caused by shared memory segments
In my previous post, I had discussed about the workaround to fix Shareplex startup issue related to the shared memory segment or stale process. In today’s post, I would be presenting a shell script...
View ArticleOracle: All about recovering UNDO with no backup
Today’s post is all about recovering a database from a UNDO datafile loss (when there is no backup available). Ideally, we keep backup of our databases for PROD and PRE-PROD environments. However,...
View ArticleOracle 12c: Track and analyze privilege utilization with DBMS_PRIVILEGE_CAPTURE
Introduction It is always desired to grant least possible privileges to database users to prevent any potential security threat. Granting additional/excessive privilege to a user is always associated...
View ArticleOracle 12c RAC: Clusterware logs are now centralized
When dealing with a Oracle Real Application Cluster (RAC) issue, a DBA generally needs to jump around multiple directories to find the relevant logs. Those days are now history as Oracle has...
View ArticleOracle 12c (12.1.0.2): Now we can preserve the PDB state between instance...
As we know, Oracle has introduced the multitanent architecture with Oracle version 12c, where we can have multiple pluggable databases (PDB) within a single container database (CDB). However, when we...
View ArticleOracle 12c: OS authentication and the multitenant architecture
Are you upgrading/migrating your databases to Oracle 12c? Are you using OS (external) authentication for schemas running batch jobs? If yes, then this post covers the areas that you need to look into,...
View ArticleOracle 12c RAC: Solving ‘Grid Infrastructure Management Repository connection...
While trying to query the management repository path using OCLUMON utility, I was receiving the following error. ---// ---// error while accessing management repository //--- ---// myracserver1...
View ArticleOracle 12c RAC: Move management repository database (MGMTDB) to different...
Introduction This article outlines the steps required to relocate the Grid Infrastructure Management Repository (GIMR) database MGMTDB to a different file system storage. By default OUI (Oracle...
View ArticleOracle 12c: Restrict OS authentication to a single pluggable database
In my last article, I have discussed about the process of implementing OS authentication in a multitenant Oracle 12c database without setting the deprecated parameter REMOTE_OS_AUTHENT. We have seen...
View Articlecatupgrd.sql and ORA-01722: invalid number
Recently while upgrading one of the database from Oracle version 11.2.0.3 to 11.2.0.4, the catupgrd.sql script failed with following errors...
View ArticleORA-22992, ORA-64202: When you treat CLOB as string
One of my client contacted me to solve a database problem. The problem they were facing was that they were trying to insert a record in the source database (CDB1_PDB_1) by fetching (SELECT) records...
View ArticleCreate Oracle Database as a Service (DBaaS) in Oracle Cloud
Oracle Cloud is making a lot of news these days. With companies moving to cloud, it looks like Cloud is here to stay. Oracle provides a wide range of Cloud services in the areas of SaaS/DaaS, PaaS and...
View ArticleOracle Cloud: Accessing the database services
In the last post, we have explored how to create a Oracle Database as a Service (DBaaS) in Oracle cloud. In this post, I will discuss about the methods of accessing the database service once it is...
View ArticleOracle 12c : Know and understand your PDB’s history
As we know, with Oracle 12c multi tenant architecture we can have multiple pluggable databases within a single container database. A pluggable database can be created in a container and if required...
View ArticleOracle 12c: Lost your PDB’s XML manifest file? Here’s how you can recover it
In this post, I will demonstrate how we can recover a pluggable database’s XML manifest file in the event of the the XML manifest file being lost or corrupted. When we UNPLUG a pluggable database from...
View ArticleOracle 12c: Global Index maintenance is now asynchronous
Introduction Maintaining global indexes were always a expensive task in Oracle, particularly in the context of partitioned tables, where dropping or truncating a table partition could cause a global...
View ArticleOracle 12c: DDL Logging.. will it serve the purpose?
Oracle had introduced a cool feature in version 11g, where we were able to log or track DDL statements executed in the database by means of a parameter called ENABLE_DDL_LOGGING without setting up...
View ArticleOracle 12c: TRUNCATE can be cascaded down to the lowest level of hierarchy
Do you recall the following error? ---// ---// ORA-02266 when truncating table //--- ---// SQL> truncate table parent; truncate table parent * ERROR at line 1: ORA-02266: unique/primary keys in...
View ArticleDatapump import failed with ORA-04091: table is mutating
Recently one of my application team asked me to refresh few tables in a lower environment database using the production copy of the tables. As usual, I opted to perform a Datapump import (impdp) to...
View ArticleSharePlex: Integrate TDE with SharePlex replication
Transparent Data Encryption (TDE) is a Oracle database feature which was first introduced with Oracle 10g Release 2 as a OUT-OF-PLACE method to encrypt data at the storage level. By default, SharePlex...
View ArticleOracle 12c: Implemented TDE? Cloning a PDB? you need to perform few...
With Oracle 12c multitenant architecture, we need to maintain TDE encryption keys in both root (CDB$ROOT) and pluggable database (PDB) level. If we clone a PDB (which is encrypted with TDE) to another...
View ArticleMy Query is slow: Is it doing a FTS on a fragmented table?
Recently one of my application users complaint about a performance issue. They had a query that they were running in two different environments (Dev and QA) of the same application. The problem was...
View ArticleOracle 12c (12.1.0.2) : Enhancement made to the alternate archive...
In one of my earlier post, I had discussed about the option of setting up a alternate archive destination in Oracle database. We have seen that, how we can leverage the alternate archive destination...
View ArticleOracle 12c: A quick look in to the new SESSION sequence
We are aware of the Oracle’s sequences. Sequences help us generate incremented sequence of numbers to be used as key for a record in the table. Until Oracle 11g, we used to create sequences which are...
View ArticleOTN Appreciation Day: Restore and Recovery of database table in Oracle 12c
This post is my contribution to the OTN Appreciation Day, a idea coined by Tim Hall. I am going to talk about the new restore and recovery feature introduced in Oracle 12c. Until 12c, we didn’t have...
View ArticleOracle 12c: Customize your seed (pdb$seed) template PDB
Oracle has introduced multi tenant architecture with the release of Oracle database 12c (12.1.0.1). In a multi tenant Oracle database, we have a ROOT container database (CDB$ROOT), a SEED database...
View Article