方法:1、关闭数据库后利用“startup mount;”以mount方式启动数据库;2、利用“alter system set job_queue_processes=0;…”语句启用严格模式;3、用“alter database character set internal_use 编码”修改编码;4、重新启动数据库即可。
本教程操作环境:windows10系统、Oracle 11g版、Dell G3电脑。
怎么修改oracle数据库编码
以ZHS16GBK -> AL32UTF8为例
1、先启动数据库
如果oracle服务在运行,则无需启动
startup;
关闭数据库
shutdown immediate;
再以mount方式启动数据库
startup mount;
2、启用严格模式
3、进行编码
ALTER DATABASE CHARACTER SET AL32UTF8;
这会可能会报错,提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:
ALTER DATABASE character set INTERNAL_USE AL32UTF8;
这条语句就可以了,TERNAL_USE提供的帮助就会使oracle绕过了子集与超集的验证,这条语句和上面的语句内部操作时完全相同的。
4、重启数据库
关闭数据库
shutdown immediate;
启动数据库
startup;
推荐教程:《Oracle视频教程》