WORKAROUND 1
Reconfigure the RAC instance to allow connections to the databases using a SID.
This may include an entry like the following in the listener.ora file on each node
SID_LIST_{instancename}
(SID_LIST =
(SID_DESC = (ORACLE_HOME = {Oracle_Home_Path}) (SID_NAME = {nodename}))
)
and disabling the value USE_SID_AS_SERVICE_{instancename} in the file
When a login connects directly to a PDB this is typically because of how the service is configured.
When attempting to connect to a PDB using the SID format, you will receive the following error
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor WORKAROUND 2
1). Create an DB_Oracle_RAC agent, we can try calling it RAC-{SERVICE_NAME}
2). Create corresponding DB_Oracle_RAC_Instance agents, we can try calling them, HOSTNAME-SID and HOSTNAME-SID.
3). In the RAC Instance agents, fill in the Host, Oracle instance, Port, Username, and password, and Host OS Platform. Set Connection Type to SERVICE_NAME. They might have to set he listener service name as well.
4). Then use the script below to update the values.
There is a hidden Agent Status Property (ASP) value called "monForceSid" that will indicate if the agent should be forced to use the Oracle SID for DB connection.
By default this flag is false for regular DB Oracle agent and true for RAC instance ones.
This groovy script below can be used to change the flag's value. The value agentID should be filled in with the appropriate agent ID value. The Agent ID can be found by
The script begins
// Get primary ASP object
namespace = "DB_Oracle";
// use this agent type for regular agent
//agentType = "DB_Oracle";
// use this agent type for RAC instance agent
agentType = "DB_Oracle_RAC_Instance"
//can be taken from the Agent Blackouts page
agentId = "<enter your agent ID here>"
primaryAsp = server["ConfigService"].getAgentInstancePrimaryAsp(namespace, agentType, agentId);
parameterName = "monForceSid";
// Get field value from the primary ASP
oldValue = primaryAsp.getString(parameterName);
// Set field value
newValue = "0";
primaryAsp.setValueByString(parameterName, newValue);
// Save the changed ASP
server["ConfigService"].saveConfig(primaryAsp);
return parameterName + " was changed from [" + oldValue + "] to [" + newValue + "]";
This has been logged as a known issue ORAFOG-721 which is documented in the Oracle cartridge release notes. There are currently no plans to change the installer / agent workflow.
© ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center