Oracle databases are always extremely advanced and sophisticated software components that are state of the art for RDBMS. Till 12.1 came into the market we used to have Single Database associated with Single Instance [Except RAC environment], to support each application we need to create a new database. So the organization which handles 50 different […]
In this article, we will see the creation of DataGuard with 2 node RAC Primary Database and 2 node RAC Standby database. Primary Database Standby Database Primary Instance Standby Instance RACDB DGRACDB RAC1 DGRAC RAC2 DGRAC1 What I have already done 1. My production database is up and running with 2 node RAC Oracle Version […]
We know the pain of Upgrading Database, taking hours of downtime. But, Oracle comes with a new feature called DBMS_ROLLING from 12C Release 1. If you are having a license for Active Data Guard this method will minimize your downtime for upgrade or patching. This method is well automated. You just need 90 seconds 120 […]
In this article, we can upgrade the 11g database to 12c with the help of DataGaurd Primary DB Name Standby DB Name Database Version Upgrade Version UPGDB UPGDB 18.104.22.168.0 22.214.171.124.0 Step 1: Install 126.96.36.199 binaries on both Primary and Standby Server. Step 2: Shut down Primary Database. Step 3: Shut down Standby Database. Step 4: […]
In the previous article, we have to seen Recovering Primary Database Datafile using Standby Database if it’s not deleted from Standby Database. Recover Data File in Primary Database in Data Guard Environment Here we will see what if datafile gets corrupted or deleted from Standby Database. Step 1: In the below code, we can see […]
In the previous Article, we have seen understanding and managing user connectivity in Data Guard Environment. Understanding and managing client connectivity In this Article, we will see Creating After Startup Trigger which will manage service for different database roles. Step 1: Create services in a Primary database with DBMS_SERVICE package. Note: We need to […]
While managing Data Guard Standby databases in our environment one of the key responsibility of DBA is End-user connectivity to a proper database or we can say clients connect to the correct database even in case of failover. To know Oracle DataGuard Oracle Dataguard Architecture Your client connectivity should be managed in such a […]
Recovering Data File in Primary Database from the standby database. You have two approaches for data file restoration when your data file gets corrupted or deleted in data guard environment. Restore from RMAN backup Recover it from Standby Database. In our routine, we use the first approach where we simply restore it using RMAN restore command […]
DGMGRL error ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
A common error we face while doing switchover operation using DGMGRL.
DGMGRL> switchover to std_testdb;
Performing switchover NOW, please wait...
Operation requires a connection to instance "testdb" on database "std_testdb"
Connecting to instance "testdb"...
New primary database "std_testdb" is opening...
Operation requires startup of instance "testdb" on database "testdb"
Starting instance "testdb"...
Unable to connect to database
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
Warning: You are no longer connected to ORACLE.
Please complete the following steps to finish switchover:
start up instance "testdb" of database "testdb"
We can see in above code switchover operation is not completed it needs manual startup of new DR database. To overcome this check your static connect identifier for DR and production database.
DGMGRL> show database std_testdb staticconnectidentifier;
StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=STD_TESTDB_DGMGRL)(INSTANCE_NAME=testdb)(SERVER=DEDICATED)))'
DGMGRL> show database testdb staticconnectidentifier;
StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=testdb_DGMGRL)(INSTANCE_NAME=testdb)(SERVER=DEDICATED)))'
Change according to your database and server details.
DGMGRL> edit database testdb set property staticconnectidentifier='(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=testdb)(INSTANCE_NAME=testdb)(SERVER=DEDICATED)))';
Property "staticconnectidentifier" updated
DGMGRL> edit database std_testdb set property staticconnectidentifier='(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.10)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=testdb)(INSTANCE_NAME=testdb)(SERVER=DEDICATED)))';
Property "staticconnectidentifier" updated
DGMGRL> show databaSE TESTDB STATICCONNECTIDENT
Cascading Standby Database works in two layers. As per normal the standby configuration, standby database receives redo from the primary database. In Layer 2 standby database will receive redo from another standby database rather than directly from the primary database. With Cascading standby database we can minimize the load of Primary Database. As per Oracle […]