After restart of database suddenly PLS-00553: character set name is not recognized are seen in the alert.log

APPLIES TO:

Oracle Database - Enterprise Edition - Version 10.2.0.5 to 10.2.0.5 [Release 10.2]
Information in this document applies to any platform.

GOAL

Alert log shows the following errors:

...
ORA-06550: Line 1, column 7 :
PLS-00553:
 character set name is not recognized
ORA-06550: Line 0, column 0 :
PL/SQL: Compilation unit analysis terminated
...

 The errorstack trace files shows:

...
psdgbt: bind csid (46) does not match session csid (1)
psdgbt: session charset is US7ASCII
...
----- Error Stack Dump -----
----- Current SQL Statement for this session (sql_id=02577v815yp77) -----
BEGIN :success := dbms_ha_alerts_prvt.post_instance_up; END;

...

 or no PLS-00553: character set name is not recognized is seen in the alert.log but the trace file lists " bind csid (1) does not match session csid (<number>)" and MODULE NAME:(OMS)  is seen


...
*** MODULE NAME:(OMS)     <<<<-- OMS
...

psdgbt: bind csid (1) does not match session csid (873)
psdgbt: session charset is AL32UTF8

..
----- Error Stack Dump -----
----- Current SQL Statement for this session (sql_id=bw34xd37jh75s) -----
begin dbms_application_info.set_module(:1, :2); dbms_application_info.set_client_info(:3); end;
....

 

SOLUTION

The base problem is that there is a session that connected too early (before the the database was fully open) and is now stuck with US7ASCII.
There is no problem with the database.

You can check if the OEM agent is used, and if so, stopping and restarting the agent can solve the issue ( 
Bug 9329749 - TB: FAN: PSDGBT: BIND CSID (1) DOES NOT MATCH SESSION CSID (178) )

If the trace file lists "OMS" then restart the OEM OMS. ( 
Bug 13010721 : "PSDGBT: BIND CSID (1) DOES NOT MATCH SESSION CSID (873)" FROM OMS )


If the problem is not the OMS server or the OEM agent then the below steps will disconnect the session and only allow connections after startup, avoiding the issue:
1) stop the listener for this database instance.
2) then restart the database instance.
3) then restart the listener.

The above document has been taken from Oracle Support Doc ID 1599864.1

Comments