oracle 10g更换字符集

10g更换字符集

查看字符集
select name,value$ from props$ where name like '%NLS%';
select userenv('language') from dual;
1 执行 cd 到 oracle的 rdbms/admin/
sys@TESTDB> @csminst
输入dba的密码

2 扫描数据库
csscan system/ergal1234 FULL=y FROMCHAR=ZHS16GBK TOCHAR=AL32UTF8 ARRAY=1024000 PROCESS=1
csscan system/ergal1234 FULL=y FROMCHAR=ZHS16GBK TOCHAR=UTF8 ARRAY=1024000 PROCESS=1
默认情况下,csscan扫描结束后,会产生三个文件:scan.txt、scan.err、scan.out,分别查看这三个文件,如果

没有异常,则可以往下执行了。
csscan会把最近一次执行扫描的参数写入表csm$parameters中,这个表的参数非常重要,它决定着下一步进行字符

集转换需要的参数,如要转成什么字符集等。
sys@TEST> select * from csm$parameters;
这里可以看到转换的参数 从什么到什么

3 转换 cd 到 oracle的 rdbms/admin/
sys@TESTDB> @csalter.plb

sys@TESTDB> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
sys@TESTDB> startup restrict;
ORACLE 例程已经启动。

Total System Global Area 167772160 bytes
Fixed Size 1218292 bytes
Variable Size 79694092 bytes
Database Buffers 79691776 bytes
Redo Buffers 7168000 bytes
数据库装载完毕。
数据库已经打开。
sys@TESTDB> alter database character set internal_use AL32UTF8;

数据库已更改。

sys@TESTDB> ALTER DATABASE CHARACTER SET AL32UTF8;

数据库已更改。