The following errors occur during activation when running the RAC database in restricted mode:
sp_ctrl (sun329-vip:2200)> activate config copuDemo2
cnc_supplemental_log() Error connecting to Oracle
sp_ctrl (sun329-vip:2200)> show log reverse
06/12/08 20:15 Notice: Parameter SP_ORD_LOGIN_O.COPU1 not found [sp_cnc(pdb)/22530]
06/12/08 20:15 Notice: logon() error() [sp_cnc/22530]
06/12/08 20:15 Error: 12032 - OCIServerAttach failed with ORA-12545. [sp_cnc(osp)/22530]
06/12/08 20:11 Notice: logon() error() [sp_cnc/22530]
Explicitly granting DBA role to Shareplex user did not help though the user would have this role by virtue of running the ora_setup earlier. The database was running in supplemental logging mode. The activation worked when the database was running in a normal (non-restricted) mode.
Some issues with tnsnames may be causing this.
The Oracle's Metalink Doc ID Note:444120.1 provided the solution as follows:
Connections via the listener to an instance that is in RESTRICTED status or in NO MOUNT status may fail with TNS-12526, TNS-12527 or TNS-12528 even when supplying the credentials for a privileged account. The lsnrctl services output will show that the service handler for this instance is in state: BLOCKED or RESTRICTED.
The full error text is:
ORA-12526 (TNS-12526)
TNS:listener: all appropriate instances are in restricted mode
ORA-12528 (TNS-12528)
TNS:listener: all appropriate instances are blocking new connections
ORA-12527 (TNS-12527)
TNS:listener: all instances are in restricted mode or blocking
Changes
The only significant change would be that the instance has been started up in some kind of "restricted access" mode such as RESTRICTED or NO MOUNT.
Here is an example of starting up the database in restricted mode and the output for lsnrctl status:
1.Start the database with restricted mode
SQL>startup restrict
2.Check the status of the listener
LSNRCTL> status
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=myhost.oracle.com)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 32-bit Windows: Version 10.1.0.2.0
Start Date 21-JUL-2003 18:19:03
Uptime 2 days 17 hr. 36 min. 17 sec
Trace Level OFF
Security OFF
SNMP OFF
Listener Parameter File e:\10g\network\admin\listener.ora
Listener Log File e:\10g\network\log\listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=myhost.oracle.com)(PORT=1521)))
Services Summary...
Service "prod10ib.oracle.com" has 1 instance(s).
Instance "prod10ib", status RESTRICTED, has 1 handler(s) for this service...
The command completed successfully
From the above we can see that the listener status for that instance is
"RESTRICTED"
Cause
When an instance is in restricted mode, PMON updates the listener with that information and blocks new connections from being established.
The lsnrctl services output will show the handler is blocked for new connections or lsnrctl status may show the instance is in RESTRICTED mode.
Solution
The (UR=A) clause for TNS connect strings was created in response to an enhancement request. This clause can be inserted into the "(CONNECT_DATA=" section of a TNS connect string and allow a privileged or administrative user to connect via the listener even when the service handler is blocking connections for non-privileged users.
Here's an example of a connect string configured with (UR=A):
PROD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = myhost.oracle.com)(PORT = 1521)))
(CONNECT_DATA =
(UR=A)
(SERVICE_NAME = prod10ib.oracle.com)
)
)
Please note that the (UR=A) clause is intended to work with a dynamically registered handler so the use of SERVICE_NAME versus SID is preferred. SID may connect to a statically configured handler.
Making changes to tnsnames as above should resolve the issue.