2016-07-25

Oracle Database AL32UTF8, KO16MSWIN949

오라클 데이터베이스를 설치 하고,
타 시스템에서 사용되고 있던 데이터베이스의 DDL을 받아서 로컬에 실행하여 테이블을 생성하는 중에 invalid identifier 오류가 났다.

오라클을 설치할 때 문자셋을 기본값인 KO16MSWIN949 를 선택하지 않고 AL32UTF8로 설정했더니 컬럼명이 한글10자를 넘어서 Create Table이 실행되지 않는다.

오라클에서 컬럼명은 30자를 넘을 수 없는데, AL32UTF8은 한글자가 3byte라고 한다.

오라클 삭제후 다시 문자셋을 기본으로 하고 DDL스크립트를 돌리니 잘 생성 된다.

오라클의 문자셋과 한글 사용에 대해서는 아래 블로그에 잘 정리되어 있어 참조하였다.

http://lkrox.blogspot.kr/2014/01/oracle-utf-8.html





1 comment:

  1. 문자셋 확인하는 방법
    SELECT * FROM NLS_DATABASE_PARAMETERS

    SELECT value$ FROM sys.props$ WHERE name = 'NLS_CHARACTERSET' ;

    ReplyDelete