supremest.35 개발 블로그

[Oracle DB] 문자셋 변경 ( 또는 문자셋 변경 후 오류났을 때) 본문

Study/Server

[Oracle DB] 문자셋 변경 ( 또는 문자셋 변경 후 오류났을 때)

supremest.35 2021. 4. 20. 18:17

서버를 완벽하게 구축했다 생각했다.

테이블을 만들고 한글 데이터를 넣으니 ??? 로 표시된다.

 

그렇다... 문자셋을 변경 안했다.

 

구글링을 통해 대충 변경하니.... 이젠 sql 디벨로퍼에서 해당 db로 로그인해도 테이블이 나오지 않으며 오류가 발생한다.

ora-06552, oraora-06552 ora-06553 pls-553 오류발생....

 

바아~~~로 오류코드 복사 구글링 ㄱㄱ

 

어떤 친절한 분께서 해당 오류 해결하는 방법에 대해 올려놓으셨다.

친절한 분

 

  1. putty에 접속해서 root계정으로 로그인한다.
  2. oracle 계정으로 로그인 후 시스템 sqlplus의 시스템 계정으로 접속한다.
    • sqlplus "/as sysdba"
  3. 문자셋 변경 전 확인해야될 사항이 있다.
    • parallel_server가 true일 경우, false로 변경해야한다.(이래야 오류가 안생긴대요... 왜인지는 다음에 알아봅시다.)
    • show parameter parallel_server;            // 해당 쿼리로 확인하기
  4. 문자셋 변경하기
    • shutdown immediate;            // 강제종료
    • startup mount;                     // 마운트 단계까지 오라클 시작
    • alter system enable restricted session;                 // 세션 제한 모드 활성화
    • alter system set aq_tm_processes = 0;                 // QueueMonitorCoordinator 비활성화
    • alter system set job_queue_processes = 0;            // job queue안의 job을 수행하지 않도록 설정
    • alter database open;                                        // 데이터 베이스 오픈
      • 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;