oracle 11g 下修改服务器字符集
2017-01-06 16:36
555 查看
尝试方法一:在sys/sys 下面执行下面语句:(失败)
注:SQL> alter database CHARACTER SET ZHS16GBK;
alter database CHARACTER SET ZHS16GBK
结果报下面错误:
ERROR 位于第 1 行:
ORA-12712: 新字符集必须为旧字符集的超集。
注:超集解释:如果s1集合包含s2集合中的每一个元素,并且s1集合中有可能包含s2集合中不含有的元素时,那么称s1是s2的超级。说明AL32UTF8包含ZHS16GBK。
尝试方法二:用scott/tiger 登陆 sqlplus 然后connect sys/sys as sysdba,然后输入命令即可,文中标红的请用自己设置的密码。(此方法测试后成功!)
然后在sqlplus界面依次执行以下sql语句:
若此时数据库服务器已启动,则先执行SHUTDOWN IMMEDIATE命令关闭数据库服务器,然后执行以下命令:注:每条sql语句都会有相应的提示,请输入时务必仔细。
?
这一行不起作用,执行后出错ORA-00933: SQL 命令未正确结束,不过执行上一行命令已经生效,其他文章里未提到本行。
?
最后重启oracle11g监听和服务,重新登录PL/SQL developer ,
执行select userenv('language') nls_lang from dual; 发现目标数据库字符集如下,已经正确修改为SIMPLIFIED 。CHINESE_CHINA.ZHS16GBK。
注:SQL> alter database CHARACTER SET ZHS16GBK;
alter database CHARACTER SET ZHS16GBK
结果报下面错误:
ERROR 位于第 1 行:
ORA-12712: 新字符集必须为旧字符集的超集。
注:超集解释:如果s1集合包含s2集合中的每一个元素,并且s1集合中有可能包含s2集合中不含有的元素时,那么称s1是s2的超级。说明AL32UTF8包含ZHS16GBK。
尝试方法二:用scott/tiger 登陆 sqlplus 然后connect sys/sys as sysdba,然后输入命令即可,文中标红的请用自己设置的密码。(此方法测试后成功!)
然后在sqlplus界面依次执行以下sql语句:
若此时数据库服务器已启动,则先执行SHUTDOWN IMMEDIATE命令关闭数据库服务器,然后执行以下命令:注:每条sql语句都会有相应的提示,请输入时务必仔细。
?
|
?
执行select userenv('language') nls_lang from dual; 发现目标数据库字符集如下,已经正确修改为SIMPLIFIED 。CHINESE_CHINA.ZHS16GBK。
相关文章推荐
- oracle服务器和客户端字符集的查看和修改
- oracle服务器和客户端字符集的查看和修改
- oracle 11g rac 修改字符集
- oracle服务器和客户端字符集的查看和修改
- oracle服务器和客户端字符集的查看和修改
- Oracle 11g修改中文字符集
- oracle服务器和客户端字符集的查看和修改
- Oracle 11g 修改中文字符集
- oracle 11g数据库修改字符集
- Oracle 11g修改字符集AL32UTF8为ZHS16GBK
- Oracle修改服务器字符集
- oracle服务器和客户端字符集的查看和修改
- oracle服务器和客户端字符集的查看和修改
- Oracle 11g修改数据库字符集
- oracle服务器和客户端字符集的查看和修改
- Oracle 11g 修改字符集 为 ZHS16GBK
- oracle服务器和客户端字符集的查看和修改
- oracle服务器和客户端字符集的查看和修改 .
- oracle服务器和客户端字符集的查看和修改
- Oracle服务器字符集修改