Oracle修改字符集(编码)

来源:互联网 发布:淘宝运营月计划怎么写 编辑:程序博客网 时间:2024/05/06 19:38

首先查看当前字符集:

select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';

查看客户端字符集:

select * from nls_instance_parameters where parameter='NLS_LANGUAGE';

修改字符集的步骤,以UTF8改为GBK为例:

1.首先以sysdba的身份登录上去 conn /as sysdba


2.关闭数据库shutdown immediate;


3.以mount打来数据库,startup mount


4.设置session

SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;

5.启动数据库
alter database open;

6.修改字符集
ALTER DATABASE CHARACTER SET ZHS16GBK;

这会可能会报错,提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:
ALTER DATABASE character set INTERNAL_USE ZHS16GBK;


这条语句就可以了,TERNAL_USE提供的帮助就会使oracle绕过了子集与超集的验证,这条语句和上面的语句内部操作时完全相同的。


7.关闭,重新启动

SQL>shutdown immediate;SQL> startup


0 0
原创粉丝点击