2011-02-08 6 views
2

우리 프로젝트가 어디서 잘못되었는지 알아 내려고합니다.사용자 또는 데이터베이스의 문자 집합입니까?

오래 전에 데이터베이스 관리자가 작업중인 프로젝트의 사용자와 스키마를 만들었습니다.

우리는 테이블을 생성하고 응용 프로그램을 설치 한 계약자에게 해당 사용자를 제공했습니다.

오늘 우리 데이터베이스가 UTF-8 문자를 지원하지 않으며 우리가 그것을 필요로한다는 것을 발견했습니다.

select value from nls_database_parameters 
where parameter='NLS_CHARACTERSET' 

결과는 다음과 같습니다 WE8ISO8859P1

내 질문은, 실수는 사용자가 생성하거나 테이블을 만든 계약자에 의해 수행 실수였다 때 만들어진입니까?

감사합니다.

+2

그럼 누가 고칠지를 누가 비난하는지 알고 싶습니까? – Crisfole

+1

나는 문제가 어디서 시작되었는지 정교하게 파악하려고 노력하고있다. UTF8을 지원할 필요가 없다는 비난은 저에게 달려 있습니다. 나는 우리 DBA가 그것을 고칠 수있을 것이라고 생각한다. 나는 그에게 내가 어떻게 부탁하는지 조심하고 싶다. –

+0

계약자에게 옵션을 요청하고 있습니까? 당신은 이것이 "오래전에"행해졌다고 말하면 아마도 가능하지 않을까요? – aqua

답변

8

문자 집합은 데이터베이스의 특성입니다. 그래서 데이터베이스를 만든 사람은 틀린 문자 집합을 선택했을 것입니다. 사용자를 작성하거나 테이블을 작성할 때 (데이터베이스 문자 세트 (CHAR/VARCHAR2) 또는 국가 별 문자 세트 (NCHAR/NVARCHAR2) 데이터 유형 사용 여부 결정 제외) 문자 세트 관련 설정은 없습니다.

기존 데이터베이스의 문자 집합을 변경하면 약간의 노력이 필요할 수 있습니다. 세계화 안내서에는 character set migration에 대한 섹션이 있습니다. 오라클 버전 (절차가 10g와 11g에서 다르다)과 이미 존재하는 데이터에 따라 새로운 데이터베이스로 반입 & 가져 오기가 가장 쉬운 옵션 일 수 있습니다.

게시물에 지정한 작업 순서가 의미가 없다고 덧붙여 야합니다. 사용자 나 스키마를 만들기 전에 데이터베이스를 만들어야합니다. 따라서 DBA가 사용자와 스키마를 오래 전에 만들 수 있었고 계약자가 데이터베이스를 더 최근에 만들 수 있다는 것은 의미가 없습니다. 비 Oracle 환경에서 "데이터베이스"및 "스키마"라는 용어를 사용하고 있습니까?

관련 문제