oracle

推荐列表 站点导航

当前位置:首页 > 数据库 > oracle >

oracle查看字符集后修改oracle服务端和客户端字符集的步骤

来源:网络整理  作者:网络  发布时间:2020-12-09 02:46
本文介绍了oracle server端查询字符集后,修改oracle服务端和客户端字符集的步骤,大家参考使用吧...
SQL>conn /as sysdba

SQL>ALTER  SYSTEM  SET  JOB_QUEUE_PROCESSES=0;  

复制代码 代码如下:

ALTER SYSTEM SET AQ_TM_PROCESSES=0;

2.执行转换语句:

$echo$NLS_LANG

3.修改数据库字符集为UTF-8

SQL>shutdown immediate;  

SQL>ALTER DATABASE CHARACTER SET ZHS16GBK;

SQL>startup mount

ALTER DATABASE CHARACTER SET ZHS16GBK  ERROR at line 1:

STARTUP MOUNT EXCLUSIVE;

复制代码 代码如下:

ALTER DATABASE OPEN;


SQL>ALTER  SYSTEM  ENABLE  RESTRICTED  SESSION;  

ALTER DATABASE NATIONAL CHARACTER SET UTF8;

ORA-12712: new character set must be a superset of old character set

复制代码 代码如下:

server字符集修改:

SQL>select * from v$nls_parameters;

关闭当前ssh窗口。

复制代码 代码如下:

重启检查是否更改完成:

复制代码 代码如下:


在 /home/oracle与 /root用户目录下的.bash_profile中添加或修改 export NLS_LANG="AMERICAN_AMERICA.UTF8" 语句

SQL>shutdown immediate;

1.oracle server端字符集查询

可能会出现ORA-12717:CANNOT ALTER DATABASE NATIONAL CHARACTER SET WHEN NCLOBDATAEXISTS, 解决这个问题的方法

ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8;

SQL>startup

利用INTERNAL_USE 关键字修改区域设置

ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

复制代码 代码如下:


SQL>alter database open;  

1.以DBA登录

client字符集修改:  

提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:

这一方法在某些方面是有用处的,比如测试;应用于产品环境时大家应该小心,可能会有一些意外的问题。

我们看到这个过程和之前ALTER DATABASE CHARACTER SET操作的内部过程是完全相同的,也就是说INTERNAL_USE提供的帮助就是使Oracle数据库绕过了子集与超集的校验


注意:NLS_LANG变量一定要配置正确否则会引起sqlplus失效。

SQL>select * from v$nls_parameters; 
SHUTDOWN IMMEDIATE;

复制代码 代码如下:


将数据库启动到RESTRICTED模式下做字符集更改:


select userenv('language') from dual;

ALTER SYSTEM ENABLE RESTRICTED SESSION;

SQL>ALTER DATABASE character set INTERNAL_USE ZHS16GBK;  

SHUTDOWN IMMEDIATE;

SQL>ALTER  SYSTEM  SET  AQ_TM_PROCESSES=0;


2.oracle client端字符集修改

STARTUP;

注意:如果没有大对象,在使用过程中进行语言转换没有什么影响!

相关热词: oracle

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://www.juheyunku.com/sql/oracle/1641.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

oracle查看字符集后修改oracle服务端和客户端字符集的步骤

2020-12-09 编辑:网络

SQL>conn /as sysdba

SQL>ALTER  SYSTEM  SET  JOB_QUEUE_PROCESSES=0;  

复制代码 代码如下:

ALTER SYSTEM SET AQ_TM_PROCESSES=0;

2.执行转换语句:

$echo$NLS_LANG

3.修改数据库字符集为UTF-8

SQL>shutdown immediate;  

SQL>ALTER DATABASE CHARACTER SET ZHS16GBK;

SQL>startup mount

ALTER DATABASE CHARACTER SET ZHS16GBK  ERROR at line 1:

STARTUP MOUNT EXCLUSIVE;

复制代码 代码如下:

ALTER DATABASE OPEN;


SQL>ALTER  SYSTEM  ENABLE  RESTRICTED  SESSION;  

ALTER DATABASE NATIONAL CHARACTER SET UTF8;

ORA-12712: new character set must be a superset of old character set

复制代码 代码如下:

server字符集修改:

SQL>select * from v$nls_parameters;

关闭当前ssh窗口。

复制代码 代码如下:

重启检查是否更改完成:

复制代码 代码如下:


在 /home/oracle与 /root用户目录下的.bash_profile中添加或修改 export NLS_LANG="AMERICAN_AMERICA.UTF8" 语句

SQL>shutdown immediate;

1.oracle server端字符集查询

可能会出现ORA-12717:CANNOT ALTER DATABASE NATIONAL CHARACTER SET WHEN NCLOBDATAEXISTS, 解决这个问题的方法

ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8;

SQL>startup

利用INTERNAL_USE 关键字修改区域设置

ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

复制代码 代码如下:


SQL>alter database open;  

1.以DBA登录

client字符集修改:  

提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:

这一方法在某些方面是有用处的,比如测试;应用于产品环境时大家应该小心,可能会有一些意外的问题。

我们看到这个过程和之前ALTER DATABASE CHARACTER SET操作的内部过程是完全相同的,也就是说INTERNAL_USE提供的帮助就是使Oracle数据库绕过了子集与超集的校验


注意:NLS_LANG变量一定要配置正确否则会引起sqlplus失效。

SQL>select * from v$nls_parameters; 
SHUTDOWN IMMEDIATE;

复制代码 代码如下:


将数据库启动到RESTRICTED模式下做字符集更改:


select userenv('language') from dual;

ALTER SYSTEM ENABLE RESTRICTED SESSION;

SQL>ALTER DATABASE character set INTERNAL_USE ZHS16GBK;  

SHUTDOWN IMMEDIATE;

SQL>ALTER  SYSTEM  SET  AQ_TM_PROCESSES=0;


2.oracle client端字符集修改

STARTUP;

注意:如果没有大对象,在使用过程中进行语言转换没有什么影响!

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://www.juheyunku.com/sql/oracle/1641.shtml

相关文章

风云图片

推荐阅读

返回oracle频道首页