22 07, 2008

ÈçºÎÔÚ10gÖÐÐÞ¸ÄÊý¾Ý¿â×Ö·û¼¯

ÈçºÎÔÚ10gÖÐÐÞ¸ÄÊý¾Ý¿â×Ö·û¼¯
Ò»°ãÀ´Ëµ£¬Êý¾Ý¿âÔÚ´´½¨Íê³Éºó¾Í²»ÄÜÐÞ¸Ä×Ö·û¼¯ÁË£¬ÈçÒªÐÞ¸Ä×Ö·û¼¯£¬ÐèÒª¶ÔÔ­ÓÐÊý¾Ý½øÐе¼Èëµ¼³öºóÖØ½¨Êý¾Ý¿âÀ´Ð޸ġ£µ«ÊÇÒ²ÓÐһЩÀýÍâµÄ£¬Èç¹û´Ó×Ó¼¯Éý¼¶µ½³¬¼¯£¬Ôò¿ÉÒÔÖ±½ÓÐ޸ĶøÎÞÐèÖØ½¨Êý¾Ý¿â¡£

[php]

×Ó¼¯µ½³¬¼¯£¬ÔÚ8I/9IÖУ¬¼òµ¥µÄÐ޸IJ½ÖèÈçÏ£º
SHUTDOWN IMMEDIATE;
-- make sure there is a database backup you can rely on, or create one
STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET <new_character_set>;
-- a alter database takes typically only a few minutes or less,
-- it depends on the number of columns in the database, not the
-- amount of data.
SHUTDOWN;
-- If you use Oracle8 then also do:
STARTUP RESTRICT;
SHUTDOWN;

µ«ÊÇ£¬ÒÔÉϲ½ÖèÖ»ÊÊÓÃÓÚ8I/9I£¬¶ÔÓÚ10g£¬oracleÃ÷È·Ö¸³ö²»ÄÜÕâÑù¸ÉÁË£¬ÔÚ10g£¬oracleÌṩÁËÒ»¸öй¤¾ßCSALERÀ´ÐÞ¸Ä×Ö·û¼¯¡£

ÏÂÃæËµÃ÷ÈçºÎÔÚ10gÓÃÐÞ¸Ä×Ö·û¼¯¡£

1¡¢µ±Ç°×Ö·û¼¯sys@TEST> select userenv('language') from dual;

USERENV('LANGUAGE')
------------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280

2¡¢²åÈëһЩÉúƧ×Ö

sys@TEST> create table a(a varchar2(100));

±íÒÑ´´½¨¡£

sys@TEST> insert into a values('«˜');

ÒÑ´´½¨ 1 ÐС£

sys@TEST> commit;

Ìá½»Íê³É¡£

sys@TEST> select *from a;

A
--------------------
£¿

¿É¼û£¬ZHS16CGB231280°üº¬µÄºº×ÖÌ«ÉÙ£¬ÐèÒªÉý¼¶°üº¬ºº×Ö¸ü¶àµÄZHS16GBK¡£ZHS16GBKÊÇZHS16CGB231280µÄ³¬¼¯£¬¿ÉÒÔÖ±½ÓÐÞ¸Ä×Ö·û¼¯¡£

3¡¢¹Ø±ÕÊý¾Ý¿â²¢±¸·Ý
ÓÉÓÚ¸üÐÂÊý¾Ý¿â²Ù×÷²»¿É»Ø¹ö£¬°²È«Æð¼û£¬×îºÃ¶ÔÊý¾Ý¿â×öÒ»¸öÈ«±¸¡£

4¡¢Ê¹ÓÃcsscan¼ì²é×Ö·û¼¯×ª»»ÊÇ·ñ¿ÉÐÐ
csscanɨÃèÊý¾Ý¿âµÄËùÓÐÊý¾Ý²¢²âÊÔ×Ö·û¼¯×ª»»ÊÇ·ñ¿ÉÐС£
csscanÓÐËÄÖÖɨÃèģʽ£ºÈ«¿âɨÃè¡¢°´Óû§É¨Ãè¡¢°´±íɨÃè¡¢°´ÁÐɨÃè¡£
ÒòΪÎÒÃÇÕâÀïÊDzâÊԸıäÈ«¿âµÄ×Ö·û¼¯£¬ËùÒÔÒªÓÃÈ«¿âɨÃèģʽ£¬²¢ÇÒÒªÇóɨÃèÓû§ÓÐDBAȨÏÞ£º



ÔËÐÐcsscanÐèҪһϵÁеÄȨÏÞºÍ±í£¬Òò´ËÐèÒªÏÈÔËÐÐÒ»¸ö½Å±¾£¬·ñÔò»á±¨´í£º
sys@TEST> @E:oracleora10gRDBMSADMINcsminst.sql
......


ÊÓͼÒÑ´´½¨¡£


ͬÒå´ÊÒÑɾ³ý¡£


ͬÒå´ÊÒÑ´´½¨¡£


ÊÓͼÒÑ´´½¨¡£


ÊÓͼÒÑ´´½¨¡£


Ìá½»Íê³É¡£

´Ó Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining options ¶Ï¿ª

ÔËÐÐCSSCANɨÃèÊý¾Ý¿â£º

E:oracleora10gBIN>CSSCAN SYSTEM/AAA FULL=y FROMCHAR=ZHS16CGB231280 TOCHAR=ZHS16GBK ARRAY=1024000 PROCESS=1
¼òµ¥ËµÒ»Ï¼¸¸ö²ÎÊýµÄº¬Ò壺
username/password :Êý¾Ý¿âÓû§ÃûºÍ¿ÚÁÐèÒªÓÐdbaȨÏÞ
FULL :ÊÇ·ñ½øÐÐÈ«¿âɨÃè
FROMCHAR :Ô­×Ö·û¼¯£¬¿ÉÒÔÊ¡ÂÔ£¬Ä¬ÈÏΪÁ¬½ÓÊý¾Ý¿âµÄµ±Ç°×Ö·û¼¯
TOCHAR :Ä¿±ê×Ö·û¼¯
ARRAY :¶ÁÈ¡Êý¾ÝµÄ»º³åÇø´óС
PROCESS :ͬʱÆô¶¯¼¸¸ö½ø³Ì½øÐÐɨÃè

Character Set Scanner v2.1 : Release 10.2.0.0.0 - Production on ÐÇÆÚËÄ 12ÔÂ 27 18:49:55 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining options

Enumerating tables to scan...
.......
. process 1 scanning SYS.WRH$_LATCH_MISSES_SUMMARY[AAACUwAADAAAAzRAAA]
. process 1 scanning SYSTEM.LOGMNR_COL$[AAABbGAADAAAAeZAAA]
. process 1 scanning SYSTEM.LOGMNR_ATTRCOL$[AAABa/AADAAAAhpAAA]
......
Creating Database Scan Summary Report...

Creating Individual Exception Report...

Scanner terminated successfully.

ĬÈÏÇé¿öÏ£¬csscanɨÃè½áÊøºó£¬»á²úÉúÈý¸öÎļþ£ºscan.txt¡¢scan.err¡¢scan.out£¬·Ö±ð²é¿´ÕâÈý¸öÎļþ£¬Èç¹ûûÓÐÒì³££¬Ôò¿ÉÒÔÍùÏÂÖ´ÐÐÁË¡£

csscan»á°Ñ×î½üÒ»´ÎÖ´ÐÐɨÃèµÄ²ÎÊýдÈë±ícsm$parametersÖУ¬Õâ¸ö±íµÄ²ÎÊý·Ç³£ÖØÒª£¬Ëü¾ö¶¨×ÅÏÂÒ»²½½øÐÐ×Ö·û¼¯×ª»»ÐèÒªµÄ²ÎÊý£¬ÈçҪת³Éʲô×Ö·û¼¯µÈ¡£
sys@TEST> select * from csm$parameters;

NAME VALUE
------------------------------ ----------------------------------------
SCANNER_VERSION 5
SCAN_TYPE ALL
SCAN_CHAR YES
TO_CHARSET_NAME ZHS16GBK
FROM_CHARSET_NAME ZHS16CGB231280
SCAN_NCHAR NO
MAX_ARRAY_SIZE 1024000
MAX_ROWS_IN_HEAP 100
NUMBER_OF_PROCESS 1
SUPPRESS_ERROR_LOG_BY -1
INSERT_SUPPRESSED NO
CAPTURE_CONVERTIBLE_DATA NO
SCANNER_SCRIPT NO
SCANNER_PRESERVE NO
MIGRATE_TO_SUPERSET 0
CSLD_ENABLE 0
PREVIOUS_CHARACTER_SET ZHS16CGB231280
PREVIOUS_NCHAR_SET AL16UTF16
TIME_START 2007-12-27 18:50:02
TIME_END 2007-12-27 18:51:35


5¡¢ÔËÐÐCSALTERÐÞ¸Ä×Ö·û¼¯
CSALTERÊÇ10gÐÂÍÆ³öµÄÓÃÓÚÐÞ¸Äoracle×Ö·û¼¯µÄ¹¤¾ß£¬ËüλÓÚ$ORACLE_HOME/RDBMS/ADMIN/ÖУ¬ÆäʵÕâ¸ö¹¤¾ß²¢²»ÉñÃØ£¬ËüÖ»²»¹ýÊǰÑÎÄÕ¿ªÍ·Ìáµ½µÄ9iÖÐÐÞ¸Ä×Ö·û¼¯µÄÖ÷Òª²½Öèд³É½Å±¾£¬²¢ÐÂÔöһЩ×Ô¶¯¼ì²é¹¦ÄÜ£¬¼ò»¯²Ù×÷²¢¾¡Á¿±ÜÃâ´íÎó²úÉú¡£
sys@TEST> @E:oracleora10gRDBMSADMINCSALTER.PLB

ÒÑ´´½¨0ÐС£


º¯ÊýÒÑ´´½¨¡£


º¯ÊýÒÑ´´½¨¡£


¹ý³ÌÒÑ´´½¨¡£

This script will update the content of the Oracle Data Dictionary.
Please ensure you have a full backup before initiating this procedure.
Would you like to proceed (Y/N)?y
Ô­Öµ 6: if (UPPER('&conf') <> 'Y') then
ÐÂÖµ 6: if (UPPER('y') <> 'Y') then
Checking data validility...
begin converting system objects

PL/SQL ¹ý³ÌÒѳɹ¦Íê³É¡£

Alter the database character set...
CSALTER operation completed, please restart database

PL/SQL ¹ý³ÌÒѳɹ¦Íê³É¡£


ÒÑɾ³ý0ÐС£


º¯ÊýÒÑɾ³ý¡£


º¯ÊýÒÑɾ³ý¡£


¹ý³ÌÒÑɾ³ý¡£

ÕâÀï×¢Òâµ½£¬oracle²¢Ã»ÓÐÒªÇóÎÒÃÇÊäÈë²ÎÊýÀ´Ö´ÐÐÒª°Ñµ±Ç°Êý¾Ý¿â×Ö·û¼¯×ª»»ÎªÊ²Ã´×Ö·û¼¯£¬Êµ¼ÊÉÏ£¬CSALERT¶ÁÈ¡csm$parametersÖÐÉ趨µÄ²ÎÊýÖµÀ´½øÐÐ×Ö·û¼¯×ª»»¡£
Õâ¸ö²Ù×÷»áºÜ¿ìÍê³É£¬ÒòΪcsalter²¢Ã»ÓÐÐÞ¸Äʵ¼ÊÊý¾Ý£¬Ö»ÊǰÑÊý¾Ý×ÖµäÖеÄÔªÊý¾ÝÐÞ¸Äһ϶øÒÑ¡£
´Óºǫ́ÈÕÖ¾¿ÉÒÔ¿´³öÕâ¸ö¹ý³ÌÖ´ÐеIJÙ×÷£º
Thu Dec 27 22:25:43 2007
ALTER SYSTEM enable restricted session;
MMNL started with pid=11, OS id=3516
Thu Dec 27 22:25:43 2007
ALTER SYSTEM SET job_queue_processes=0 SCOPE=BOTH;
Thu Dec 27 22:25:43 2007
ALTER SYSTEM SET aq_tm_processes=0 SCOPE=BOTH;
Thu Dec 27 22:25:43 2007
alter database character set internal_use ZHS16GBK
Thu Dec 27 22:25:46 2007
Updating character set in controlfile to ZHS16GBK
Synchronizing connection with database character set information
Refreshing type attributes with new character set information
Completed: alter database character set internal_use ZHS16GBK

6¡¢ÖØÆôÊý¾Ý¿âsys@TEST> shutdown immediate
Êý¾Ý¿âÒѾ­¹Ø±Õ¡£
ÒѾ­Ð¶ÔØÊý¾Ý¿â¡£
ORACLE Àý³ÌÒѾ­¹Ø±Õ¡£
sys@TEST> startup
ORACLE Àý³ÌÒѾ­Æô¶¯¡£

Total System Global Area 603979776 bytes
Fixed Size 1250380 bytes
Variable Size 159386548 bytes
Database Buffers 436207616 bytes
Redo Buffers 7135232 bytes
Êý¾Ý¿â×°ÔØÍê±Ï¡£
Êý¾Ý¿âÒѾ­´ò¿ª¡£

7¡¢ÑéÖ¤sys@TEST> select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

--¿É¼û£¬Êý¾Ý¿â×Ö·û¼¯ÒѾ­±äΪZHS16GBKÁË¡£
ÔÙ²éÔ­À´ÊÇÂÒÂëµÄÊý¾Ý£º
sys@TEST> select * from a;

A
----------
£¿

²éѯ½á¹ûÊÇÂÒÂ룬ÕâÒ²¾ÍÊÇ˵¶ÔÓÚÔ­À´¿âÖÐÒѾ­ÊÇÂÒÂëµÄÊý¾Ý£¬ÐÞ¸Ä×Ö·û¼¯ÊÇÎÞÄÜΪÁ¦µÄ¡£

ÎÒÃÇÔÙ¿´¿´´ËʱÊÇ·ñ¿ÉÒÔ²åÈëÔ­À´ÊÇÂÒÂëµÄºº×Ö£º

sys@TEST> insert into a values('«˜');

ÒÑ´´½¨ 1 ÐС£
sys@TEST> select * from a;

A
----------
£¿
«˜

Ô­À´ÊÇÂÒÂëµÄºº×ÖÏÖÔÚ¿ÉÒÔÕý³£²åÈëºÍÏÔʾ£¬×Ö·û¼¯Ð޸ijɹ¦¡£

.

[/php]

×îлظ´
·¢±íÆÀÂÛ













Bold Italic Link