oracle字符集轉換(ZHS16GBK轉AL32UTF8)

531968912發表於2017-03-22
本想將windows 下oracle表空間傳輸到RAC linux上
但windows oracle字符集是ZHS16GBK, 而linux oracle 字元信是AL32UTF8
於時先將windows下字符集轉換成AL32UTF8
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
--------------------------------------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
以下是修改過程
SQL> startup mount
ORACLE 例程已經啟動。
Total System Global Area  535662592 bytes
Fixed Size                  1334380 bytes
Variable Size             176161684 bytes
Database Buffers          352321536 bytes
Redo Buffers                5844992 bytes
資料庫裝載完畢。
SQL> alter system enable restricted session;
系統已更改。
SQL> alter system set job_queue_processes=0;
系統已更改。
SQL> alter system set aq_tm_processes=0;
系統已更改。
SQL> alter database open;
資料庫已更改。
SQL> ALTER DATABASE character set INTERNAL_USE AL32UTF8;
資料庫已更改。
SQL> shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> startup
ORACLE 例程已經啟動。
--檢視字符集
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
--------------------------------------------------------------------------------
SIMPLIFIED CHINESE_CHINA.AL32UTF8
修改完之後,10g以上採用csscan工具驗證字符集
先安裝
@$ORACLE_HOME/RDBMS/admin/csminst.sql
DOS下
csscan system/1

Character Set Scanner v2.2 : Release 11.1.0.6.0 - Production on 星期三 12月 21 14:12:50 2011
Copyright (c) 1982, 2007, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
(1)Full database, (2)User, (3)Table, (4)Column: 1 > 1
Current database character set is AL32UTF8.
Enter new database character set name: > AL32UTF8
Enter array fetch buffer size: 1024000 >
Enter number of scan processes to utilize(1..32): 1 >
是後驗證成功!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25462274/viewspace-2135855/,如需轉載,請註明出處,否則將追究法律責任。

相關文章