Oracle步骤在查看字符集后修改Oracle服务器端和客户端字符集。
复制代码代码如下所示:
选择Userenv('language)从双;
服务器字符集修改:
将数据库启动为字符集更改的受限模式:
复制代码代码如下所示:
SQL> Conn /数据库
立即关闭;
启动挂载
启用受限会话;
SQL >修改系统设置job_queue_processes = 0;
SQL >修改系统设置aq_tm_processes = 0;
打开数据库;
SQL >修改数据库字符集zhs16gbk;
修改数据库字符集zhs16gbk误差在1行:
ora-12712:字符集必须大字符集的超集
我们认为,字符集字符集必须旧字符集的超集,然后我们可以跳过检查变化的一个超集:
复制代码代码如下所示:
SQL >修改数据库字符集internal_use zhs16gbk;
SQL SELECT * FROM V nls_parameters美元>;
重新启动检查以更改完成:
复制代码代码如下所示:
立即关闭;
已启动
SQL SELECT * FROM V nls_parameters美元>;
我们看到在这个过程和修改数据库字符集的操作之前是完全相同的,也就是说internal_use是帮助Oracle数据库来绕过验证子集和超集
这种方法在某些方面是有用的,比如测试;你应该小心,当应用于产品的环境,可能会有一些意想不到的问题。
2.oracle客户端字符集的修改
复制代码代码如下所示:
$ echo $ nls_lang
客户端字符集修改:
添加或修改出口nls_lang =american_america。UTF8声明the.bash_profile下/家/ Oracle和/根用户目录
关闭当前SSH窗口。
注:本nls_lang变量必须配置正确,否则会造成SQLPlus失败。
三.修改设置为UTF-8字符
1。使用DBA登录
2。执行转换语句:
复制代码代码如下所示:
立即关闭;
启动安装专用;
启用受限会话;
改变系统设置job_queue_processes = 0;
改变系统设置aq_tm_processes = 0;
打开数据库;
修改数据库字符集utf8;
立即关闭;
启动;
注意:如果没有大对象,在使用过程中不会对语言转换产生影响!
有可能是一个ora-12717:不能修改数据库字符集时,nclobdataexists解决这个问题
使用internal_use关键词修改区域设置
复制代码代码如下所示:
修改数据库字符集internal_use UTF8;