반응형

ORA-06553, PLS-553 : character set name is not recognized (ORACLE)

 

You can find the table or charset search

 

테이블을 조회할 경우 또는  케릭터셋 중첩으로 인해 나오는 오류 

 

Query Execution

 

SELECT name, value$

   FROM sys.props$

   WHERE name = 'NLS_CHARACTERSET' OR  name = 'NLS_NCHAR_CHARACTERSET';

 

  select distinct(nls_charset_name(charsetid)) CHARACTERSET,

           decode(type#, 1, decode(charsetform, 1, 'VARCHAR2', 2, 'NVARCHAR2','UNKOWN'),

                         9, decode(charsetform, 1, 'VARCHAR', 2, 'NCHAR VARYING', 'UNKOWN'),

                        96, decode(charsetform, 1, 'CHAR', 2, 'NCHAR', 'UNKOWN'),

                       112, decode(charsetform, 1, 'CLOB', 2, 'NCLOB', 'UNKOWN')) TYPES_USED_IN

       from sys.col$ where charsetform in (1,2) and type# in (1, 9, 96, 112);

 

ORA-06553, PLS-553 : character set name is not recognized (ORACLE)

중복된 타입에 2가지 캐릭터 셋 존재 하는걸 볼수 있다

You can see that there are two character sets in the duplicate type.

 

중복된 타입 제거가 필요하다

Duplicate type removal is required

 

ORA-06553, PLS-553 : character set name is not recognized (ORACLE) to solve the problem

문제를 해결하기 위해서 

 

terminal -> sqlplus / as sysdba

 

shutdown immediate;

STARTUP MOUNT;

ORA-06553, PLS-553 : character set name is not recognized (ORACLE)

ALTER SYSTEM ENABLE RESTRICTED SESSION;

 

ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

 

ALTER SYSTEM SET AQ_TM_PROCESSES=0;

 

ALTER DATABASE OPEN;

 

COL VALUE NEW_VALUE CHARSET

         SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';

COL VALUE NEW_VALUE NCHARSET

         SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_NCHAR_CHARACTERSET';

 

 

ALTER DATABASE CHARACTER SET INTERNAL_USE &CHARSET;

ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET;

SHUTDOWN IMMEDIATE;

STARTUP;

 

ORA-06553, PLS-553 : character set name is not recognized (ORACLE)

 

중복된 열이 삭제된것을 볼수있다.

You can see that duplicate rows have been deleted.

반응형

+ Recent posts