Tuesday, December 3, 2013

11gR2 RAC-RAC Data Guard

Technical Architecture of 11g R2 RAC primary to RAC standby Data Guard Configuration:

PARAMETERS
PRIMARY
STANDBY
Clusterware
11g R2 Grid Infrastructure (11.2.0.3)
11g R2 Grid Infrastructure
 (11.2.0.3)
Cluster Nodes
psrv1, psrv2
(2-node RAC)
drsrv1, drsrv2
(2-node RAC)
SCAN
psrv-scan.feco.com
drsrv-scan.hamid.com
SCAN listener Host/port
SCAN VIPs (port 1521)
SCAN VIPs (port 1521)
VIPs
psrv1-vip, psrv2-vip
drsrv1-vip, drsrv2-vip
DB_UNIQUE_NAME
pdb
drdb
DB_NAME
pdb
pdb
DB Instances
pdb1, pdb2
drdb1, drdb2
DB LISTENER
pdb_LISTENER
pdb_LISTENER
DB Listener Host/port
psrv1-vip, psrv2-vip
drsrv1-vip, drsrv2-vip
DB STORAGE
ASM
ASM
File Management
OMF
OMF
ASM diskgroup for DB files
DATA
DATA
ASM Diskgroup for Recovery Files
FRA
FRA
ORACLE_HOME
E:\app\oracle\product\11.2.0\dbhome_1
E:\app\oracle\product
\11.2.0\dbhome_1
11g R2 RAC version
11.2.0.3
11.2.0.3
OS
Windows server 2008 R2
Windows server 2008 R2










     ·         2-node 11g R2 Grid Infrastructure (11.2.0.3) has been installed and configured.
     ·         2-node RAC software (11.2.0.3) has been installed and configured.
     ·         ASM diskgroup DATA and FRA has been created.
     ·         Database “PDB” is created on ASM and configured to use OMFs.
     ·         Database Instances are configured with LOCAL_LISTENER and REMOTE_LISTENER parameters.

DR Site: 

     ·         2-node 11g R2 Grid Infrastructure (11.2.0.3) has been installed and configured.
     ·         2-node RAC software (11.2.0.3) has been installed and configured.
     ·         ASM diskgroup DATA and FRA has been created.


RAC to RAC Physical Dataguard: 

     ·         Prepare Primary Site
     ·         Prepare Standby Site
     ·         Create RAC Physical Standby Database
     ·         Configure Data Guard Broker
     ·         Perform Switchover using DG Broker

Prepare Primary RAC database for DR configuration: 

     ·         Enable Force Logging.
     ·         Modify init Parameters.
     ·         Enable Archivelog Mode.
     ·         Create the SLRs (Standby Redo Logs).
     ·         Backup the Database for Standby
     ·         Create pfile for standby database.
     ·         Update the tnsnames.ora.

Enable Force Logging: 

alter database force logging; 

Modify Dataguard related init Parameters:

 Those are the parameters we are going to pay attention in both primary and standby.

DB_NAME=PDB
DB_UNIQUE_NAME=PDB
LOG_ARCHIVE_CONFIG='DG_CONFIG=(PDB,DRDB)'
LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PDB'
LOG_ARCHIVE_DEST_2='SERVICE=DRDB ARCH VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DRDB'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
LOG_ARCHIVE_MAX_PROCESSES=8
FAL_SERVER=DRDB
DB_FILE_NAME_CONVERT='DRDB','PDB'
LOG_FILE_NAME_CONVERT='DRDB','PDB'
STANDBY_FILE_MANAGEMENT=AUTO

The db_unique_name parameter has already been set to the appropriate value during the initial creation of the RAC database. The log_archive_dest_state_n and remote_login_passwordfile have default values set to ENABLE and EXCLUSIVE respectively. So, only below mentioned parameter needed to be changed here.

alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(DRDB,PDB)' scope=both sid='*';
alter system set LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PDB' scope=both sid='*';
alter system set LOG_ARCHIVE_DEST_2='SERVICE=DRDB ARCH VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DRDB' scope=both sid='*';
alter system set log_archive_format='%t_%s_%r.arc' scope=spfile sid='*';
alter system set log_archive_max_processes=8 scope=both sid='*';
alter system set fal_server=DRDB scope=both sid='*';
alter system set db_file_name_convert='+DATA/DRDB','+DATA/PDB' scope=spfile sid='*';
alter system set log_file_name_convert='+FRA/DRDB','+FRA/PDB' scope=spfile sid='*';
alter system set standby_file_management=AUTO scope=both sid='*';

Verify that the values are set correctly for these parameters after bouncing the database.

set linesize 500 pages 0
col value for a80
col name for a50

select name, value from v$parameter
where name in ('db_name','db_unique_name','log_archive_config',    
'log_archive_dest_1','log_archive_dest_2',
               'log_archive_dest_state_1','log_archive_dest_state_2', 'remote_login_passwordfile',
               'log_archive_format','log_archive_max_processes','fal_server','db_file_name_convert',
              'log_file_name_convert', 'standby_file_management');

db_file_name_convert                               +DATA/DRDB, +DATA/PDB

log_file_name_convert                              +FRA/DRDB, +FRA/PDB,
+DATA/DRDB, +DATA/PDB
log_archive_dest_1                                 LOCATION=USE_DB_RECOVERY_FILE
_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PDB

log_archive_dest_2                                 service=drdb LGWR ASYNC
NOAFFIRM max_failure=10 max_connections=5 reopen=18
                                                   0 valid_for=(online_logfiles,primary_role) db_unique_name=drdb

log_archive_dest_state_1                                 enable
log_archive_dest_state_2                                 enable
fal_server                                                             DRDB1, DRDB2
log_archive_config                                            dg_config=(drdb,pdb)
log_archive_format                                           %t_%s_%r.arc
log_archive_max_processes                             10
standby_file_management                              AUTO
remote_login_passwordfile                             EXCLUSIVE
db_name                                                             pdb
db_unique_name                                               pdb

Enable Archivelog Mode:

If our primary is not yet configured as archivelog mode then put your database on mount stage then alter it and open.

srvctl stop database –d pdb
startup mount (only in one instance)
alter database archivelog
alter database open
srvctl start database –d pdb à This will start the remaining Instances on the cluster.


There should be a minimum of (threads)*(groups Per Threads + 1) SLRs created on primary & standby databases. There are 2 threads with 3 groups per thread in this configuration on the primary side so there should be total of 9 SLRs at minimum needs to be created.

Let’s get the total Groups and Max size of the logfile from v$log.

SQL> select max (bytes), count (1) from v$log;

MAX(BYTES)   COUNT(1)
---------- ----------
  52428800         6

Here, the total no. of online redo logs are 6 and the maximum size of these groups is 50M. So, 3 Standby Redo Log groups per thread with size of 50M each should be created on Primary as well as standby database.

 Before start creating standby log better to create a separate path on ASM.

 ASMCMD> mkdir +fra/pdb/standbylog  à (connected as grid user using asmcmd)

Now let’s start create standby logs on primary:

alter system set standby_file_management=manual scope=both sid='*';

alter database add standby logfile thread 1 group 7 '+fra/pdb/standbylog/standby_group_07.log' size 50M;
alter database add standby logfile thread 1 group 8 '+fra/pdb/standbylog/standby_group_08.log' size 50M;
alter database add standby logfile thread 1 group 9 '+fra/pdb/standbylog/standby_group_09.log' size 50M;
alter database add standby logfile thread 2 group 10 '+fra/pdb/standbylog/standby_group_10.log' size 50M;
alter database add standby logfile thread 2 group 11 '+fra/pdb/standbylog/standby_group_11.log' size 50M;
alter database add standby logfile thread 2 group 12 '+fra/pdb/standbylog/standby_group_12.log' size 50M;
alter database add standby logfile thread 3 group 13 '+fra/pdb/standbylog/standby_group_13.log' size 50M;
alter database add standby logfile thread 3 group 14 '+fra/pdb/standbylog/standby_group_14.log' size 50M;
alter database add standby logfile thread 3 group 15 '+fra/pdb/standbylog/standby_group_15.log' size 50M;

alter system set standby_file_management=auto scope=both sid='*';

Backup The Primary Database For Standby.

Take the backup of the primary database and the standby controlfile. Create the staging directory to hold the RMAN backup.

Create backup directory (E:\app\oracle\backup)

rman target / nocatalog
run
{
     sql "alter system switch logfile";
     allocate channel ch1 type disk format 'E:\app\oracle\Backup\Primary_bkp_for_stndby_%U';
     backup database;
     backup current controlfile for standby;
     sql "alter system archive log current";
}

Create pfile For Standby.
create pfile='E:\app\oracle\Backup\pfile_for_standby.txt' from spfile; 

Update TNSNAMES.ora

Add the tns alias for each of the instances of the primary database.
  
DRDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = drsrv-scan)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = drdb.hamid.com)
      (UR = A)
    )
  )
DRDB2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = drsrv2-vip)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = drdb.hamid.com)
      (INSTANCE_NAME = drdb2)
      (UR = A)
    )
  )

DRDB1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = drsrv1-vip)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = drdb.hamid.com)
      (INSTANCE_NAME = drdb1)
      (UR = A)
    )
  )

PDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = psrv-scan)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = pdb.feco.com)
    )
  )


PDB1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = psrv1-vip)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = pdb.feco.com)
      (INSTANCE_NAME = pdb1)
    )
  )


PDB2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = psrv2-vip)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = pdb.feco.com)
      (INSTANCE_NAME = pdb2)
    )
  )
Copy the tnsnames.ora on all the instances under $ORACLE_HOME/network/admin to keep the same tnsnames.ora on all the instances.

Prepare Standby Site for Dataguard Configuration:

     ·         Copy the RMAN backup and pfile_for_standby.txt.
     ·         Copy the password file.
     ·         Create required directories for Standby Instance.
     ·         Modify the pfile.
     ·         Copy the tnsnames.ora from Primary and add the TNS Alias for the standby database instances.
     ·         Create the ASM directories under the DATA and FRA diskgroup.

Copy the RMAN Backup files and init.ora from Primary to Standby: 

Copy the backups from primary PSRV1 to DRSRV1 under the same location as primary PSRV1 (E:\oracle\backup). Also copy the pfile that was created for standby on primary PSRV1 to the DRSRV1.

Copy the Password File from Primary to all the nodes in Standby. 

Copy the file $ORACLE_HOME\database\PWDpdb1 from Primary PSRV1 to both the standby nodes under the directory $ORACLE_HOME\database with the name of PWDdrdb1 and PWDdrdb2 for drsrv1 and drsrv2 respectively.

Create required dump file directories for the Standby Instances 

On drsrv1: 
mkdir  E:\app\oracle\admin\drdb\adump
mkdir E:\app\oracle\diag\rdbms\drdb\drdb1
cd E:\app\oracle\diag\rdbms\drdb\drdb1
mkdir trace cdump

On drsrv2: 
mkdir  E:\app\oracle\admin\drdb\adump
mkdir E:\app\oracle\diag\rdbms\drdb\drdb2
cd E:\app\oracle\diag\rdbms\drdb\drdb2
mkdir trace cdump

Modify pfile_for_standby.txt  file
The one’s in RED color are modified for the standby database. The rest of the parameters remain same on both the primary and standby.

*.audit_file_dest='E:\app\oracle\admin\drdb\adump'
*.audit_trail='db'
*.cluster_database=true
*.compatible='11.2.0.0.0'
*.control_files='+FRA/drdb/controlfile/control02.ctl'
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.db_create_online_log_dest_1='+DATA'
*.db_create_online_log_dest_2='+FRA'
*.db_domain='hamid.com'
*.db_file_name_convert='+DATA/pdb','+DATA/drdb'
*.db_name='pdb'
*.db_recovery_file_dest='+FRA'
*.db_recovery_file_dest_size=4039114752
*.db_unique_name='drdb'
*.diagnostic_dest='E:\app\oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=pdbXDB)'
*.fal_server='pdb'
*.fal_client='drdb'
drdb1.instance_number=1
drdb2.instance_number=2
*.log_archive_config='DG_CONFIG=(pdb,drdb)'
*.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=drdb'
*.log_archive_dest_2='SERVICE=drdb ARCH VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=drdb'
*.log_archive_format='%t_%s_%r.arc'
*.log_archive_max_processes=8
*.log_file_name_convert='+FRA/pdb','+FRA/drdb'
*.memory_target=1484783616
*.open_cursors=300
*.processes=1024
*.remote_listener='drsrv-scan.hamid.com:1521'
*.remote_login_passwordfile='exclusive'
*.standby_file_management='AUTO'
drdb2.thread=2
drdb1.thread=1
drdb1.undo_tablespace='UNDOTBS1'
drdb2.undo_tablespace='UNDOTBS2'

Copy the modified tnsnames.ora from pdb1 to all standby instances.
Now, Modify the LOCAL_LISTENER parameters in the endpoint listener to reflect the DR specific vip host names (On the Standby Nodes only). 
LISTENER_DRDB1=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = drsrv1-vip.hamid.com)(PORT = 1521)))
LISTENER_DRDB2=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = drsrv2-vip. hamid.com)(PORT = 1521)))

Create the ASM directories
Connect to the asmcmd as a grid Operating System user and create the below directories. 

Set ORACLE_HOME=E:\app\11.2.0\grid
Set ORACLE_SID=+ASM1
ASMCMD> mkdir data/DRSRV
ASMCMD> cd data/DRDB
ASMCMD> mkdir PARAMETERFILE DATAFILE TEMPFILE

ASMCMD> mkdir fra/DRSRV
ASMCMD> cd fra/DRDB
ASMCMD> mkdir ARCHIVELOG CONTROLFILE ONLINELOG STANDBYLOG

Create the Physical Standby Database

     ·         Start the Instance in NOMOUNT using the pfile_for_standby.txt.
     ·         Check the accessibility of all nodes.
     ·         Restore the Standby Database using RMAN DUPLICATE command.
     ·         Start the Managed Recovery Process
     ·         Create the spfile and start the database on both the nodes using spfile.
     ·         Register the New Standby database to the OCR.

Start the Instance in NOMOUNT state

Create the instance in form of service first by ORADIM for windows platform only, then set your environment and start the Instance DRDB1 using the E:\app\oracle\backup\pfile_for_standby.txt parameter file.

ORADIM –new –SID DRDB1             #on drsrv1
ORADIM –new –SID DRDB2             #on drsrv2

set ORACLE_SID=drdb1
sqlplus / as sysdba
startup nomount pfile=E:\app\oracle\backup\pfile_for_standby.txt

Check the accessibility of all nodes

Check the accessibility of all nodes from each node on both primary and standby servers.
Note:
Don’t go further unless you’re able to access all nodes. Otherwise double check your listeners and services using lsnrctl status.

Restore the RMAN backup using DUPLICATE DATABASE option:

After you copied the backup on the same path as primary is, Connect to the Target database (PDB) and auxiliary instance (DRDB) from drsrv1 host to start the DUPLICATE.
rman target /@pdb1 auxiliary /
DUPLICATE TARGET DATABASE FOR STANDBY NOFILENAMECHECK;

Start the Managed Recovery Process:

Start the Managed recovery process on drdb1 and verify that the log transport and log application is happening. Alert log is a quick and easy way to see if things log transport/Gap resolution and log application is working as expected.

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Perform the log switch on the primary database so initiate the log Transport.
alter system switch logfile;

To check the gap information:
select * from v$archive_gap;
select process, client_process, sequence#, status from v$managed_standby;
select sequence#, first_time, next_time, applied from v$archived_log;
select archived_thread#, archived_seq#, applied_thread#, applied_seq# from v$archive_dest_status;
select thread#, max (sequence#) from v$log_history group by thread#;
select thread#, max (sequence#) from v$archived_log where APPLIED='YES' group by thread#;

Create spfile from pfile:

Create your spfile from pfile to be seen from other nodes on the cluster and then restart the current node to run with a newly created spfile.

create spfile='+data/drdb/parameterfile/spfileDRDB.ora' from pfile=' E:\app\oracle\backup\pfile_for_standby.txt';

Add Standby database and Instances to the OCR:

Add the standby database and its instances to the OCR so that it is managed by CRS.
srvctl add database -d drdb -n pdb –o E:\app\oracle\product\11.2.0\dbhome_1 -m hamid.com -p +data/drdb/parameterfile/spfileDRDB.ora -r physical_standby –a DATA,FRA
srvctl add instance -d drdb -i drdb1 -n drsrv1
srvctl add instance -d drdb -i drdb2 -n drsrv2
srvctl start database -d drdb –o mount
srvctl modify instance –d drdb –i drdb1 –s +ASM1
srvctl modify instance –d drdb –i drdb2 –s +ASM2
srvctl enable asm -n drdb1 -i +ASM1
srvctl enable asm -n drdb2 -i +ASM2

Verify the configuration of standby database drdb.

srvctl config database -d drdb

Create the Standby Redo Logs (SRLs) on Standby:

DUPLICATE DATABASE command has replicated the same no. of Online Redo Logs and Standby Redologs from primary database to the Standby database. So, they were not needed to create here.

Configure Dataguard Broker:

      ·  Stop the MRP
      ·  Modify the Listener.ora files
      ·  Modify the init Parameters
      ·  Create Configuration
      ·  Enable Configuration
      · Verify the Configuration

Stop the MRP on standby database:

alter database recover managed standby database cancel;

Modify the listener.ora files:

Update the listener.ora on all the nodes in Dataguard configuration to register a service with the local listener for each instance for the proper functioning of DGMGRL.
Add the below lines to the listener.ora file for each of the specified instances.
Primary Node1
SID_LIST_PDB_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=PDB1)(GLOBAL_DBNAME=PDB_DGMGRL.FECO.COM)(ORACLE_HOME= E:\app\oracle\product\11.2.0\dbhome_1)))
Primary Node2
SID_LIST_PDB_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=PDB2)(GLOBAL_DBNAME=PDB_DGMGRL.FECO.COM)(ORACLE_HOME= E:\app\oracle\product\11.2.0\dbhome_1)))
Standby Node1
SID_LIST_PDB_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=DRDB1)(GLOBAL_DBNAME=DRDB_DGMGRL.HAMID.COM)(ORACLE_HOME= E:\app\oracle\product\11.2.0\dbhome_1)))
Standby Node2
SID_LIST_PDB_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=DRDB2)(GLOBAL_DBNAME=DRDB_DGMGRL.HAMID.COM)(ORACLE_HOME= E:\app\oracle\product\11.2.0\dbhome_1)))

After updating these listener.ora files, restart listeners on each of these nodes.

Modify the init parameter files:

Standby:
mkdir +fra/drdb/DATAGUARDCONFIG
mkdir +data/drdb/DATAGUARDCONFIG
ALTER SYSTEM SET DG_BROKER_CONFIG_FILE1='+fra/drdb/DATAGUARDCONFIG/dgb_config02.ora' SCOPE=BOTH sid='*';
ALTER SYSTEM SET DG_BROKER_CONFIG_FILE2='+data/drdb/DATAGUARDCONFIG/dgb_config01.ora' SCOPE=BOTH sid='*';
alter system set dg_broker_start=true scope=both sid='*';

Primary:
mkdir +fra/pdb/DATAGUARDCONFIG
mkdir +data/pdb/DATAGUARDCONFIG
ALTER SYSTEM SET DG_BROKER_CONFIG_FILE1='+fra/pdb/DATAGUARDCONFIG/dgb_config02.ora' SCOPE=BOTH sid='*';
ALTER SYSTEM SET DG_BROKER_CONFIG_FILE2='+data/pdb/DATAGUARDCONFIG/dgb_config01.ora' SCOPE=BOTH sid='*';
alter system set dg_broker_start=true scope=both sid='*';

Create Configuration

Connect to the DGMGRL from any of primary nodes and run the below statements to create and enable the DataGuard configuration. Verify that the DG Broker is configured correctly and it has all the databases and instances registered as expected.
CREATE CONFIGURATION 'DG_Config' AS PRIMARY DATABASE IS 'pdb' CONNECT IDENTIFIER IS 'pdb';
ADD DATABASE 'drdb' AS CONNECT IDENTIFIER IS drdb maintained as physical;
enable configuration;

Verify Configuration

DGMGRL> show configuration

Configuration - dg_config

  Protection Mode: MaxPerformance
  Databases:
    pdb - Primary database
    drdb    - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

Perform Switchover using DG Broker

DGMGRL> switchover to drdb;
Performing switchover NOW, please wait...
New primary database "drdb" is opening...
Operation requires shutdown of instance "pdb1" on database "pdb"
Shutting down instance "pdb1"...
ORACLE instance shut down.
Operation requires startup of instance "pdb1" on database "pdb"
Starting instance "pdb1"...
ORACLE instance started.
Database mounted.
Switchover succeeded, new primary is "drdb"
DGMGRL> show configuration

Configuration - dg_config

  Protection Mode: MaxPerformance
  Databases:
    drdb - Primary database
    pdb    - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

To check your database role status:

Select database_role from v$database;


Appendix A


Pfile from pdb database:
pdb2.__db_cache_size=12884901888
pdb1.__db_cache_size=10670309376
pdb2.__java_pool_size=67108864
pdb1.__java_pool_size=67108864
pdb2.__large_pool_size=67108864
pdb1.__large_pool_size=134217728
pdb1.__oracle_base='E:\app\oracle'#ORACLE_BASE set from environment
pdb2.__oracle_base='E:\app\oracle'#ORACLE_BASE set from environment
pdb2.__pga_aggregate_target=11005853696
pdb1.__pga_aggregate_target=11005853696
pdb2.__sga_target=16508780544
pdb1.__sga_target=16508780544
pdb2.__shared_io_pool_size=0
pdb1.__shared_io_pool_size=0
pdb2.__shared_pool_size=3355443200
pdb1.__shared_pool_size=5502926848
pdb2.__streams_pool_size=0
pdb1.__streams_pool_size=0
*.archive_lag_target=0
*.audit_file_dest='E:\app\oracle\admin\pdb\adump'
*.audit_trail='db'
*.cluster_database=true
*.compatible='11.2.0.0.0'
*.control_files='+FRA/pdb/controlfile/current.256.819916279'
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.db_create_online_log_dest_1='+FRA'
*.db_domain='feco.com'
*.db_file_name_convert='+DATA/DRDB','+DATA/PDB'
*.db_name='pdb'
*.db_recovery_file_dest='+FRA'
*.db_recovery_file_dest_size=1073490165760
*.dg_broker_config_file1='+fra/pdb/DATAGUARDCONFIG/dgb_config02.ora'
*.dg_broker_config_file2='+data/pdb/DATAGUARDCONFIG/dgb_config01.ora'
*.dg_broker_start=TRUE
*.diagnostic_dest='E:\app\oracle'
*.dispatchers='(protocol=TCP)'
*.fal_client='PDB'
PDB1.fal_client='PDB1'
PDB2.fal_client='PDB2'
*.fal_server='DRDB1','DRDB2'
pdb2.instance_number=2
pdb1.instance_number=1
*.log_archive_config='dg_config=(drdb,pdb)'
*.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PDB'
*.log_archive_dest_2='service=drdb LGWR ASYNC NOAFFIRM max_failure=10 max_connections=5 reopen=180 valid_for=(online_logfiles,primary_role) db_unique_name=drdb'
*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='enable'
*.log_archive_format='%t_%s_%r.arc'
pdb1.log_archive_format='%t_%s_%r.arc'
pdb2.log_archive_format='%t_%s_%r.arc'
*.log_archive_max_processes=10
*.log_archive_min_succeed_dest=1
pdb1.log_archive_trace=0
pdb2.log_archive_trace=0
*.log_file_name_convert='+FRA/DRDB','+FRA/PDB','+DATA/DRDB','+DATA/PDB'
*.memory_target=27483176960
*.open_cursors=300
*.processes=3000
*.remote_listener='psrv-scan.Feco.com:1521'
*.remote_login_passwordfile='exclusive'
*.sessions=3305
*.shared_servers=10
*.standby_file_management='AUTO'
pdb2.thread=2
pdb1.thread=1
pdb2.undo_tablespace='UNDOTBS2'
pdb1.undo_tablespace='UNDOTBS1'




DRDB pfile:

drdb1.__db_cache_size=11207180288
drdb2.__db_cache_size=12884901888
drdb1.__java_pool_size=67108864
drdb2.__java_pool_size=67108864
drdb1.__large_pool_size=134217728
drdb2.__large_pool_size=67108864
drdb1.__oracle_base='E:\app\oracle'#ORACLE_BASE set from environment
drdb2.__oracle_base='E:\app\oracle'#ORACLE_BASE set from environment
drdb1.__pga_aggregate_target=11005853696
drdb2.__pga_aggregate_target=11005853696
drdb1.__sga_target=16508780544
drdb2.__sga_target=16508780544
drdb1.__shared_io_pool_size=0
drdb2.__shared_io_pool_size=0
drdb1.__shared_pool_size=4966055936
drdb2.__shared_pool_size=3355443200
drdb1.__streams_pool_size=0
drdb2.__streams_pool_size=0
*.archive_lag_target=0
*.audit_file_dest='E:\app\oracle\admin\drdb\adump'
*.audit_trail='db'
*.cluster_database=true
*.compatible='11.2.0.0.0'
*.control_files='+FRA/drdb/controlfile/control01.ctl'#Restore Controlfile
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.db_create_online_log_dest_1='+FRA'
*.db_domain='hamid.com'
*.db_file_name_convert='+DATA/pdb','+DATA/drdb'
*.db_name='pdb'
*.db_recovery_file_dest='+FRA'
*.db_recovery_file_dest_size=1073490165760
*.db_unique_name='drdb'
*.dg_broker_config_file1='+fra/drdb/DATAGUARDCONFIG/dgb_config02.ora'
*.dg_broker_config_file2='+data/drdb/DATAGUARDCONFIG/dgb_config01.ora'
*.dg_broker_start=TRUE
*.diagnostic_dest='E:\app\oracle'
*.dispatchers='(protocol=TCP)'
*.fal_client='drdb'
*.fal_server='pdb'
drdb2.instance_number=2
drdb1.instance_number=1
*.log_archive_config='dg_config=(drdb,pdb)'
*.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=DRDB'
*.log_archive_dest_2='SERVICE=pdb ARCH VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=PDB'
*.log_archive_format='%t_%s_%r.arc'
drdb2.log_archive_format='%t_%s_%r.arc'
drdb1.log_archive_format='%t_%s_%r.arc'
*.log_archive_max_processes=8
*.log_archive_min_succeed_dest=1
drdb2.log_archive_trace=0
drdb1.log_archive_trace=0
*.log_file_name_convert='+FRA/pdb/','+FRA/drdb/'
*.memory_target=27483176960
*.open_cursors=300
*.processes=3000
*.remote_listener='drsrv-scan.hamid.com:1521','drsrv1-vip.hamid.com:1521'
drdb2.remote_listener='drsrv2-vip.hamid.com:1521'
*.remote_login_passwordfile='exclusive'
*.sessions=3305
*.shared_servers=10
*.standby_file_management='AUTO'
drdb2.thread=2
drdb1.thread=1
drdb2.undo_tablespace='UNDOTBS2'
drdb1.undo_tablespace='UNDOTBS1'

No comments:

Post a Comment