|
|
[ÀϹÝ] ¿À¶óŬ NLS CHARSET º¯°æ ¹æ¹ý |
|
È£¼® ´Ô²²¼ ¾´ ±ÛÀÔ´Ï´Ù - 211.¢½.74.31 |
ÀÐÀ½:4766 |
|
|
¿¹Àü¿¡ ½á¸ÔÀ» ÀÏÀÌ ÀÖ¾î¼ Çѹø ÇغýÀ´Ï´Ù¸¸... ÀúÀÇ °æ¿ì´Â ¼º°øÈ®·üÀº 50%Á¤µµ µÇ¾ú½À´Ï´Ù.(8i¿¡¼ ¼öÇàÇß´ø°ÍµéÀ̶ó 7¿¡¼´Â ¾î¶³Áö ¸ð¸£°Ú½À´Ï´Ù. ) ±×·¯¹Ç·Î ÀÛ¾÷À» ÇϽñâÀü¿¡ ¹é¾÷À» ¹Ýµå½Ã ¹Þ¾ÆµÎ½Ã±â ¹Ù¶ø´Ï´Ù.
¾Æ·¡ Á¤º¸µéÀº ¾îµò°¡¿¡¼ ±Ü¾î¿Ô´ø °ÍµéÀÔ´Ï´Ù.
SVRMGR> SHUTDOWN IMMEDIATE; -- or NORMAL
SVRMGR> STARTUP MOUNT;
SVRMGR> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SVRMGR> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SVRMGR> ALTER DATABASE OPEN;
SVRMGR> ALTER DATABASE CHARACTER SET INTERNAL_USE KOREAN_KOREA.KO16KSC5601 ;
SVRMGR> ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE KOREAN_KOREA.KO16KSC5601 ;
SVRMGR> SHUTDOWN IMMEDIATE; -- or NORMAL
SVRMGR> STARTUP;
National character setÀ» º¯°æÇϱâ À§Çؼ´Â "alter database national
character set ..." command¸¦ »ç¿ëÇÏ½Ç ¼ö ÀÖÀ¸¸ç, db character set°ú µ¿½Ã¿¡ º¯°æÀÌ °¡´É.
Ãʺ¸ÀÚ´ÔÀÌ 2005-05-24 21:02:44¿¡ ÀÛ¼ºÇÑ ´ñ±ÛÀÔ´Ï´Ù. Edit £ØNLS CHARACTER SET º¯°æ ¹æ¹ý (ORACLE 7)
======================================
PURPOSE
--------
ÀÌ ÀÚ·á´Â Oracle RDBMS SERVER¿¡¼ NLS CHARACTER SET º¯°æ ¹æ¹ý¿¡ ´ëÇÑ
³»¿ëÀ» ¼Ò°³ÇÑ´Ù.
[ ORACLE 7 ¿¡¼¸¸ °¡´É ]
µ¥ÀÌŸº£À̽ºÀÇ 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 ¿¡¼
NLS_LANG=American_America.KO16KSC5601; export NLS_LANG
¶Ç´Â .cshrc ¿¡¼.
setenv NLS_LANG American_America.KO16KSC5601
*** win95 ¹× winntÀÇ client¿¡¼´Â registry editor¿¡¼ NLS_LANG °ªÀ»
¸ÂÃß¾îÁØ´Ù.
ÁÖÀÇ !!!
: À§ÀÇ ÀÛ¾÷À» Çϱâ Àü¿¡ ¹ß»ýÇÒ °¡´É¼ºÀÌ ÀÖ´Â ¹®Á¦Á¡
1) update Áß KO16KSC5601 À̳ª US7ASCII µî¿¡¼ öÀÚ¸¦ À߸ø ÀÔ·ÂÇϽøé,
db Àç±âµ¿ ÈÄ¿¡, ´ÙÀ½°ú °°Àº ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù.
ora-12708
12708, 00000, "error while loading create database NLS parameter %s"
2) KO16KSC5601°ú US7ASCIIÀÇ ºñ±³
Character set : KO16KSC5601 ÀÎ °æ¿ì
===================================
: double byte encoding schema À̹ǷÎ, ÇѱÛÀÇ °æ¿ì 2 bytes ¸¦ Å©±â 1·Î
°è»êÇÏ´Â ÇÔ¼öµéÀÌ ÀÖ½À´Ï´Ù.
±×¸®°í, table , column name¿¡ ÇѱÛÀ» double quote ¾øÀÌ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿¹)
SQL> create table ½ÃÇè1
2 (Ä÷³1 varchar(10));
°¡
a
È«±æµ¿
SQL> select length(Ä÷³1) from ½ÃÇè1;
1
1
3
SQL> select lengthb(Ä÷³1) from ½ÃÇè1;
2
1
6
Character set : US7ASCII ÀÎ °æ¿ì
=================================
: single byte 7 bit encoding À» »ç¿ëÇÕ´Ï´Ù.
Çѱ۷ΠµÈ table, column À̸§ »ç¿ë ½Ã double quote¸¦ ¹Ýµå½Ã »ç¿ëÇØ¾ß ÇÑ´Ù.
¿¹)
SQL> create table "»ç¿ø"
2 ("»ç¿øÀ̸§" varchar2(10));
°¡
a
È«±æµ¿
SQL> select length("»ç¿øÀ̸§") from "»ç¿ø";
2
1
6
SQL> select lengthb("»ç¿øÀ̸§") from "»ç¿ø";
2
1
6
US7ASCIIÀÏ ¶§¿¡´Â vsize, lengthb functionÀÇ °á°ú°¡ length ÇÔ¼ö¿Í ¸ðµÎ
µ¿ÀÏÇÕ´Ï´Ù.
cf) substr, substrb ÇÔ¼öµµ À§ÀÇ length, lengthbÀÇ °ü°è¿Í °°À½.
|
|
|
211.¢½.74.31
|
|
|
06-02-16 10:14
|
|