AMERICAN_AMERICA.WE8MSWIN1252

2291 단어
1. 문제 설명
동료는 테스트 라이브러리의 중국어 문자 집합 부호를 처리해야 한다고 말했다.
2. 분석 처리
oracle 데이터베이스 문자 집합에 영향을 주는 가장 중요한 매개 변수는 NLS_LANG 매개변수.이 형식은 다음과 같습니다.

NLS_LANG = language_territory.charset

그것은 세 가지 구성 부분(언어, 지역, 문자 집합)이 있는데 각 성분은 NLS 서브집합의 특성을 제어한다.다음을 수행합니다.
Language 서버 메시지 지정 언어
territory 지정한 서버의 날짜와 숫자 형식
charset 문자 집합을 지정합니다.
예: AMERICAN_AMERICA. ZHS16GBK

SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.WE8MSWIN1252

인터넷에서 자료를 조회한 후: 참고:https://blog.csdn.net/DBDoctor/article/details/51909047
데이터베이스를restricted 모드에 두는 것은 데이터베이스에 새로운 비dba 권한의 연결을 방지하기 위해서입니다

SQL> alter system enable restricted session;
System altered.

ZHS16GBK로 문자 세트 수정

SQL> ALTER DATABASE CHARACTER SET ZHS16GBK; 
ALTER DATABASE CHARACTER SET ZHS16GBK 
ERROR at line 1: 
ORA-12712: new character set must be a superset of old character set

팁: 새 문자 집합은 이전 문자 집합의 초과 집합이어야 합니다. 이 때 초과 집합 검사를 건너뛰고 변경할 수 있습니다.

SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK; 
ALTER DATABASE character set INTERNAL_USE ZHS16GBK
ERROR at line 1:
ORA-12721: operation cannot execute when other sessions are active

현재 연결이active 상태입니다.kill이session을 떨어뜨리거나 데이터베이스를 다시 시작합니다.

SQL> shutdown immediate;
SQL> startup mount;
SQL> alter system enable restricted session;
System altered.
SQL> alter database open;
Database altered.
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK; 
Database altered.
SQL> alter system disable restricted session;
System altered.
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK

-----------------------------------
20180806
수정이 완료되면 나비캣 디자인표를 사용할 때 ORA-29275:partial multibytecharacter가 잘못될 수 있습니다.자료를 보니 초과 검사를 뛰어넘어 변경한 것으로 나타났다.sql에 대해 조정하여 이 문제를 해결할 수 있습니다.
ITPUB 블로그에서 링크:http://blog.itpub.net/31427447/viewspace-2168850/만약 전재가 필요하다면 출처를 밝혀 주십시오. 그렇지 않으면 법적 책임을 추궁할 것입니다.
다음으로 전송:http://blog.itpub.net/31427447/viewspace-2168850/

좋은 웹페이지 즐겨찾기