ORACLE: RMAN with Shared Server
Configuring RMAN for Use with a Shared Server
RMAN cannot connect to a target database through a shared server dispatcher. RMAN requires a dedicated server process. If your target database is configured for shared server, then you must modify your Oracle Net configuration to provide dedicated server processes for RMAN connections.
To ensure that RMAN does not connect to a dispatcher when a target database is configured for a shared server, the net service name used by RMAN must include (SERVER=DEDICATED)
in the CONNECT_DATA
attribute of the connect string.
Oracle Net configuration varies greatly from system to system. The following procedure illustrates only one method. This scenario assumes that the following service name in the tnsnames.ora
connects to a target database using the shared server architecture, where inst1
is a value of the SERVICE_NAMES
initialization parameter:
inst1_shs = (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=inst1_host)(port=1521)) (CONNECT_DATA=(SERVICE_NAME=inst1)(SERVER=shared)) )
To use RMAN with a shared server:
- Create a net service name in the
tnsnames.ora
file that connects to the nonshared SID. For example, enter:inst1_ded = (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=inst1_host)(port=1521)) (CONNECT_DATA=(SERVICE_NAME=inst1)(SERVER=dedicated)) )
- Start SQL*Plus and then connect using both the shared server and dedicated server service names to confirm the mode of each session.
For example, connect with
SYSDBA
privileges toinst1_ded
and then execute the followingSELECT
statement (sample output included):SQL> SELECT SERVER 2 FROM V$SESSION 3 WHERE SID = (SELECT DISTINCT SID FROM V$MYSTAT); SERVER --------- DEDICATED 1 row selected.
To connect to a shared server session, you could connect with
SYSDBA
privileges toinst1_shs
and then execute the followingSELECT
statement (sample output included):SQL> SELECT SERVER 2 FROM V$SESSION 3 WHERE SID = (SELECT DISTINCT SID FROM V$MYSTAT); SERVER --------- SHARED 1 row selected.
- Start RMAN and connect to the target database using the dedicated service name. Optionally, connect to a recovery catalog. For example, enter:
% rman RMAN> CONNECT TARGET SYS@inst1_ded target database Password: password connected to target database: INST1 (DBID=39525561) RMAN> CONNECT CATALOG rman@catdb
Reference:http://download.oracle.com/docs/cd/B28359_01/backup.111/b28270/rcmconfa.htm