This is Just stuff I find on various echnologies ranging from databases to Cloud related tech. This Blog will have topics and content based on things i learn.
I can also be found at http://www.twitter.com/fuadar

Tuesday, May 17, 2016

REDO_TRANSPORT_USER and Recovery Appliance (ZDLRA)

“REDO_TRANSPORT_USER” was an Oracle Database Parameter that was introduced in Oracle release 11.1 to help transporting redo from a primary to a standby by using a user designated for log transport , The default configuration assumes the user “SYS” is performing the transport. This distinction is very important since the user “SYS” is available on every Oracle database and as such most data guard environment when created with default settings are created with “SYS” being the used for Log Transport services.The Zero Data Loss Recovery Appliance (ZDLRA) adds an interesting twist to this configuration. In order for Real-TIme redo to work on a ZDLRA, the “REDO_TRANSPORT_USER” needs to be set to the Virtual Private Catalog (VPC) user of the ZDLRA. For database that are not participating in the Data Guard configuration , this is not an issue and a user does not be created on the Protected Database i.e the database being backed up to the ZDLRA. The important distinction comes into play if you already have a standby configured to receive redo, that process will break since we have switched the “REDO_TRANSPORT_USER” to a user that doesn’t exist on the protected database. In order to avoid this issue if you already have a Data Guard , you will need to create the VPC user as a user in the primary database with the "create session” and “sysoper" with an optional “sysdg” (12c) . An example configuration is detailed below. SQL&gt; select * from v$pwfile_users;

SQL> select * from v$pwfile_users;

USERNAME

SYSDB

SYSOP

SYSAS

SYSBA

SYSDG

SYSKM

CON_ID

SYS

TRUE

TRUE

FALSE

FALSE

FALSE

FALSE

0

SYSDG

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

0

SYSBACKUP

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

0

SYSKM

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

0

SQL> create user ravpc1 identified by ratest;User created.

SQL> grant sysoper,create session to ravpc1;Grant succeeded.

SQL> select * from v$pwfile_users;

USERNAME

SYSDB

SYSOP

SYSAS

SYSBA

SYSDG

SYSKM

CON_ID

SYS

TRUE

TRUE

FALSE

FALSE

FALSE

FALSE

0

SYSDG

FALSE

FALSE

FALSE

FALSE

TRUE

FALSE

0

SYSBACKUP

FALSE

FALSE

FALSE

TRUE

FALSE

FALSE

0

SYSKM

FALSE

FALSE

FALSE

FALSE

FALSE

TRUE

0

RAVPC1

FALSE

TRUE

FALSE

FALSE

FALSE

FALSE

0

SQL> spool off

Once you have ensure that the password file has the entries , copy the password file to the standby node(s) and then ensure that the destination state on the primary to the standby is reset by deferring and then reenabling the destination state

SQL> alter system set log_archive_dest_state_X=defer scope=both sid='*'SQL> alter system set log_archive_dest_state_X=enable scope=both sid='*'

This will ensure that you have redo transport working to the Data Guard standby and the ZDLRA