Oracle步骤在查看字符集后修改Oracle服务器端和客户端字符集。

Oracle步骤在查看字符集后修改Oracle服务器端和客户端字符集。
1.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;

tag:字符集步骤服务器端客户端修改

相关内容