database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 8187 게시물 읽기
No. 8187
Re: [질문]ORA-12701: CREATE DATABASE character set is not known
작성자
황성철(hscsim)
작성일
2001-10-31 11:59
조회수
5,120

님 아래의 문장을 참조해 보세요.... 이건 제가 테스트를 하지 못해서리..

ㅡㅡ; 확실한지는 잘 모르겠습니다..

 

저는 그런에러가 발생한 적이 없어서....ㅡㅡ;

 

님 하여튼 조금이나마 도움이 되었으면 합니다..

 

데이타베이스의 CHARACTER SET은 데이타 딕셔너리 테이블인 sys.props$에

들어 있다

 

SQL>desc sys.props$

Name Null? Type

------------------------------- ----------------- ---------------

NAME NOT NULL VARCHAR2(30)

VALUE$ VARCHAR2(2000)

COMMENT$ VARCHAR2(2000)

 

SQL>column c1 format a30

SQL>select name c1, value$ c1 from sys.props$;

 

C1 C1

----------------------------- ------------------------------

DICT.BASE 2

NLS_LANGUAGE AMERICAN

NLS_TERRITORY AMERICA

NLS_CURRENCY $

NLS_ISO_CURRENCY AMERICA

NLS_NUMERIC_CHARACTERS .,

NLS_DATE_FORMAT DD-MON-YY

NLS_DATE_LANGUAGE AMERICAN

NLS_CHARACTERSET US7ASCII

NLS_SORT BINARY

GLOBAL_DB_NAME NLSV7.WORLD

 

여기서 NLS_CHARACTERSET에 현재 DB의 CHARACTER SET이 들어 있는데 이 값을

변경하여 DB의 CHARACTER SET을 변경할 수 있다. 여기서는 US7ASCII에서

KO16KSC5601 로 옮기는 경우를 알아보자.

 

우선 바꾸고자 하는 CHRACTER SET이 지원되는 지를 다음 명령으로 확인한다.

 

select convert('a','KO16KSC5601','US7ASCII') from dual;

 

만약 이 Select 문에서 ORA-01482 에러가 발생하면 지정한 CHARACTER SET이

지원되지 않는 경우이며 에러가 발생하지 않으면 CHARACTER SET을 변경할 수

있다.

 

작업을 하기전에는 만약을 위해서 DB 전체를 백업 받아두도록 한다.

CHARACTER SET 을 잘못 변경하면 DB 를 OPEN 할수가 없기 때문이다.

---------------------------------------------------------------

 

1. 다음의 Update문을 실행하여 CHARACTER SET을 변경한다.

 

UPDATE sys.props$

SET value$ = 'KO16KSC5601'

WHERE name = 'NLS_CHARACTERSET';

 

Update 시에 NLS_CHARACTERSET을 지원되지 않는 값으로 잘못 설정하거나

실수로 콘트롤 문자 같은 것이 들어가게 되면 DB가 Shutdown 된 다음에는

Startup 이 안 되므로 Update 후에 다음 명령으로 확인을 한 다음에 Commit을

하도록 한다.

 

select name, value$

from sys.props$

where value$ = 'KO16KSC5601';

 

Select가 제대로 출력되면 Commit 하고 Shutdown 했다가 Startup 하게 되면

새로운 CHARACTER SET 값을 갖게 된다. SELECT가 안 되면 ROLLBACK하고 UPDATE

부터 다시 하도록 한다.

 

2. 환경 변수 NLS_LANG 을 변경한다.

 

.profile ( or .cshrc) 에서

 

NLS_LANG=American_America.KO16KSC5601; export NLS_LANG

 

or

 

setenv NLS_LANG American_America.KO16KSC5601

 

-- 박성범 님이 쓰신 글:

>> 오라클 8.1.6 입니다. 캐릭터 셋 변환을 시도하던중.

>>

>> 잘못된 값이 들어간 모양입니다..

>>

>> sqlplus internal 에서 startup 시 위와 같은 메시지가 나오며,

>>

>> mount 단계 까지만 올라갑니다. open 이 되지 않으므로,

>>

>> alter database 명령등을 사용할 수 없습니다.

>>

>> 이를 재기동시킬 방법은 없는지요..

[Top]
No.
제목
작성자
작성일
조회
8184고수님들의 조언을 부탁드립니다... 꼭 봐주세요...
오라클처버
2001-10-31
1093
8183오라클 설치가 안됩니다. [2]
왕허졉
2001-10-31
1299
8182데이터베이스 복사 [2]
조귀현
2001-10-30
1166
8181[질문]ORA-12701: CREATE DATABASE character set is not known
박성범
2001-10-30
2837
8187┕>Re: [질문]ORA-12701: CREATE DATABASE character set is not known
황성철
2001-10-31 11:59:56
5120
8180오라클 책 추천좀 부탁 합니다. [1]
김종훈
2001-10-30
1217
8178ops(oracle parellel server) 가 뭐지여
류정희
2001-10-30
1272
8179┕>Re: ops(oracle parellel server) 가 뭐지여
herrchen
2001-10-30 18:18:28
1593
8174[급합] vchar형 정렬문제 도와주세여 [2]
투미
2001-10-30
1255
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.034초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다