How to Configure Oracle Data Guard parameter using TNSNAME and DBNAME

Actually, there is always confusing between where to set the database name, Tns name in the dataguard parameter which parameter used what to specify the configuration of parameter in configuring the dataguard environment in oracle.

Which parameter use TNS names and DB name?

Following table give the use of parameter:

UsesParameters
DB_NAMEDB_NAME
DB_UNIQUE_NAMEDB_UNIQUE_NAME, LOG_ARCHIVE_CONFIG
TNS Service NameLOG_ARCHIVE_DEST_2, FAL_SERVER
None (Path/Format)CONTROL_FILES, LOG_ARCHIVE_DEST_1, REMOTE_LOGIN_PASSWORDFILE, LOG_ARCHIVE_FORMAT, DB_FILE_NAME_CONVERT, LOG_FILE_NAME_CONVERT, STANDBY_FILE_MANAGEMENT

Consider the following entry for more clarity:

RoleDB_UNIQUE_NAMETNS Service Name
Primary Databasechicagodbchicagotns
Standby Databasebostondbbostontns

Parameter used in database:

DB_NAME=chicago
DB_UNIQUE_NAME=chicagodb

LOG_ARCHIVE_CONFIG='DG_CONFIG=(chicagodb,bostondb)'

CONTROL_FILES='/arch1/chicago/control1.ctl', '/arch2/chicago/control2.ctl'

LOG_ARCHIVE_DEST_1=
 'LOCATION=USE_DB_RECOVERY_FILE_DEST 
  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
  DB_UNIQUE_NAME=chicagodb'

LOG_ARCHIVE_DEST_2=
 'SERVICE=bostontns ASYNC
  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) 
  DB_UNIQUE_NAME=bostondb'

REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

LOG_ARCHIVE_FORMAT=%t_%s_%r.arc

Overview of parameter used in Oracle Dataguard:

ParameterPurposeUsesExample / Notes
DB_NAMEName of the database as created originally.✅ DB_NAMESame on primary and standby. E.g., DB_NAME=chicago
DB_UNIQUE_NAMEUnique identifier for each database in the configuration.✅ DB_UNIQUE_NAMEE.g., DB_UNIQUE_NAME=chicago, DB_UNIQUE_NAME=boston
LOG_ARCHIVE_CONFIGEnables Data Guard and lists all participating databases.✅ DB_UNIQUE_NAMEE.g., LOG_ARCHIVE_CONFIG='DG_CONFIG=(chicago,boston)'
CONTROL_FILESPath to control files for database recovery.❌ NoneE.g., CONTROL_FILES='/oradata/control01.ctl','/oradata/control02.ctl'
LOG_ARCHIVE_DEST_1Local archive destination for redo logs.❌ NoneE.g., LOCATION=/arch1/chicago/
LOG_ARCHIVE_DEST_2Remote destination for redo logs (standby).✅ TNS Service NameE.g., SERVICE=boston (TNS entry for standby)
REMOTE_LOGIN_PASSWORDFILEEnables remote authentication for redo transport.❌ NoneSet to EXCLUSIVE or SHARED
LOG_ARCHIVE_FORMATFormat for archived redo log filenames.❌ NoneE.g., LOG_ARCHIVE_FORMAT=log_%t_%s_%r.arc
FAL_SERVERTNS name of the primary database used by standby to fetch missing logs.✅ TNS Service NameE.g., FAL_SERVER=boston (TNS entry of primary)
DB_FILE_NAME_CONVERTConverts primary data file paths to standby paths.❌ NoneE.g., ('/oradata/chicago/','/oradata/boston/')
LOG_FILE_NAME_CONVERTConverts primary redo log file paths to standby paths.❌ NoneE.g., ('/log/chicago/','/log/boston/')
STANDBY_FILE_MANAGEMENTAutomatically manages standby files when primary changes.❌ NoneSet to AUTO

This entry was posted in Oracle on by .
Unknown's avatar

About SandeepSingh

Hi, I am working in IT industry with having more than 15 year of experience, worked as an Oracle DBA with a Company and handling different databases like Oracle, SQL Server , DB2 etc Worked as a Development and Database Administrator.

Leave a Reply