[ The imperialist Japanese military must officially acknowledge and apologize for the coercion of young women into sexual slaves. / 幼い女性を性の奴隷にした帝國主義日本軍の?制性を公式に認め、謝罪しなければならない. ]

사용자

ID:
PW:

INDEX
01.게시판
게시판 [72]
02.File Book
File 자료실 [96]
Site Link [14]
개인폴더 [200]
03.Field Book
Altibase [19]
Tibero [30]
MS-SQL [28]
MySQL [47]
DB2 [79]
ORACLE [3099]
PSQL [135]
CUBRID [5]
기타정보 [170]
운영체제 [613]
04.Q/A Book
Q/A [53]
05.방명록
방명록 [54]
레벨업 [37]
구인/구직 [2]

기념일
Search
LINK
+ 가족 Hompy
+ DNSEver
IOTN :: Field Book :: ORACLE

 회원가입

export error ( ORA-06552, ORA-06553 ) DATABASE CHARACTER 복원
최길호 [LIST]   2005-08-14 16:59:18, 조회 : 14,660

seogu6 :/archlog$ exp system/system file=a;

Export: Release 9.2.0.6.0 - Production on Sun Aug 14 21:09:10 2005

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


Connected to: Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
JServer Release 9.2.0.6.0 - Production
Export done in KO16KSC5601 character set and KO16KSC5601 NCHAR character set

About to export specified users ...
. exporting pre-schema procedural objects and actions
. exporting foreign function library names for user SYSTEM
. exporting PUBLIC type synonyms
EXP-00008: ORACLE error 6552 encountered
ORA-06552: PL/SQL: Compilation unit analysis terminated
ORA-06553: PLS-553: character set name is not recognized
EXP-00000: Export terminated unsuccessfully
seogu6 :/archlog$

원인
-----------------------------------------------
update로 character set을 update 한경우임

Database Characterset is WE8ISO8859P1 -> 기존
Database Characterset is KO16KSC5601  -> 변경후

EXP-00008: ORACLE error 6552 encountered
ORA-06552: PL/SQL: Compilation unit analysis terminated
ORA-06553: PLS-553: character set name is not recognized

사전 확인 SQL
============================================================
COL VALUE NEW_VALUE CHARSET
SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE ARAMETER='NLS_CHARACTERSET';

COL VALUE NEW_VALUE NCHARSET
SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_NCHAR_CHARACTERSET';

select distinct(nls_charset_name(charsetid)) CHARACTERSET,
decode(type#, 1, decode(charsetform, 1, 'VARCHAR2', 2, 'NVARCHAR2','UNKOWN'),
9, decode(charsetform, 1, 'VARCHAR', 2, 'NCHAR VARYING', 'UNKOWN'),
96, decode(charsetform, 1, 'CHAR', 2, 'NCHAR', 'UNKOWN'),
112, decode(charsetform, 1, 'CLOB', 2, 'NCLOB', 'UNKOWN')) TYPES_USED_IN
from sys.col$ where charsetform in (1,2) and type# in (1, 9, 96, 112);


===================================================================================

AL32UTF8 VARCHAR2
US7ASCII VARCHAR2
UTF8 VARCHAR2
이 부분은 문제가 있습니다. 정상이라면 VARCHAR2가
하나의 CHARACTERSET을 가지고 있습니다.

character set이 어떻게 되는지요? UTF8 인가요?

이 사항은 오라클에 공식적으로 요청을 해서 처리해야할 문제로
보입니다. 함부로 character set을 변경했다가는 위험하기 때문
입니다.

우선 이 사항에 대한 note자료를 보면 아래와 같습니다.
아래에서도 해결방법을 알려주기는 하나 공식적으로 오라클에
요청해서 진행하는 편이 좋을 것 같습니다.
만약 그러한 경우가 되지 않을 경우에는 offline backup을 2 copy
해놓고 아래와 같이 작업을 합니다.


note 286964.1
PLS-553 when calling or compiling pl/sql objects

(obviously the actual character sets can differ)
Here you can see that there are 2 different character sets returned for VARCHAR2
data, which indicates a mixup in the database character set setup, which is the
cause for this PLS-553 error.


<처리방법>

Correcting the problem
======================
This problem was likely caused when the database character set was changed
incorrectly in the past, and some locations where the character set is stored
were updated and others were not.
In order to correct this problem we can simply run a script that correctly
changes the character set in all the locations to the current database character
set:

a) Make sure the parallel_server parameter in INIT.ORA is set to false or it is not set at all.

SQL>show parameter parallel_server

b) Run the next script in SQLPLUS connected "as sysdba"
Please make sure you have a valid backup to fall back on before you run this script!

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
COL VALUE NEW_VALUE CHARSET
SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';
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;
-- yes, 2 times startup/shutdown . This is not a typo
SHUTDOWN IMMEDIATE;
STARTUP;

c) Restore the parallel_server parameter in INIT.ORA, if necessary.

This script doesn't change anything for the data that is already stored, but it
re-enforces database character set to be known in all places where it should be
stored.

After running this you can run the query under "Verification of the cause" once
more, and now there should just 2 sets of character sets, 1 for N-types and 1
for normal types. When that is indeed the case the PLS error will be solved.


Further actions
===============
It would be useful to do a healthcheck on this database because it has been
running with this incorrectly converted character set. The following note
describes a "character set health check" for the database:
Note 225938.1 Database Character Set Healthcheck


Further reading
===============
Note 257736.1 Changing the Database Character Set - an extended overview
Note 124721.1 Migrating an Applications Installation to a New Character Set

For further NLS / Globalization information you may start here:
Note 267942.1 - Globalization Technology (NLS) Knowledge Browser Product Page
Note 60134.1 Globalization (NLS) - Frequently Asked Questions
3.238.121.7


  LIST

제목 작성자 작성일 조회
Admin  한글을 유니코드로    최길호 2005/10/04 11554
Q/A  SQL*Loader 문자열의 경우 "를 무시하는 옵션없나요??    최길호 2005/10/04 9937
Q/A  지금 현재에서 2시간을 더하고 그럴려면 어떻하죠?..^^;    최길호 2005/10/04 12239
Q/A  data내에서 값의 추적 비교    최길호 2005/10/04 10464
Q/A  쿼리 결과값이 19888(초)인데 이것을 "102:03:24"이런식으로 형변환을 하는 방법이 있을까요?    최길호 2005/10/04 10921
Q/A  update where in 사용예    최길호 2005/10/04 11517
Q/A  오늘요일에 해당하는 요일이 그 전달에 몇일 있었는지 그리고 며칠며칠인지 알고 싶습니다    최길호 2005/10/04 10085
Q/A  connect by 사용2    최길호 2005/10/04 11112
Q/A  connect by 사용1    최길호 2005/10/04 9689
Q/A  case when 사용2    최길호 2005/10/04 9281
Q/A  case when 사용1    최길호 2005/10/04 9941
Q/A  00000 00001 01234 형으로 숫자를 표현    최길호 2005/10/04 10604
Q/A  order by decode ( name ) 순서를 내맘대로    최길호 2005/10/04 11253
Admin  &,*등 sqlplus 기능 off 시키는 방법    최길호 2005/10/04 11220
Troubleshoot  SQL> @?/rdbms/admin/utlrp.sql ORA-06550 PLS-00553  [1]  최길호 2005/09/30 13553
Troubleshoot  HP-UX: Error in writing to file $OH/lib/libwtc8.sl    최길호 2005/09/30 11072
Troubleshoot  Oracle 10g (ORA-221, ORA-206, ORA-202, ORA-27072) AIX    최길호 2005/09/22 16990
Admin  SQLX Function, XML 예제    최길호 2005/09/21 20096

    목록보기   이전페이지   다음페이지   [이전 10개] [1]..[141][142][143][144][145][146] 147 [148][149][150]..[155]   [다음 10개]
       

Copyright 1999-2024 Zeroboard / skin by 최길호(gilho.kr@gmail.com)
최근 댓글
2021/06/30
윈도우 서버에서 sqlplus .... ORA-...
by 최길호
2021/06/30
ORA-28500: connection from O...
by 최길호
2019/05/02
pkg 확인 SELECT * FROM AL...
by 최길호
최근 게시물
07/22
[ORACLE]
ogg Rolling over remote file [....
by 최길호
07/15
[ORACLE]
PRKF-1125 : multiple values sp....
by 최길호
07/04
[운영체제]
NIC add cli / nmcli device sho....
by 최길호