查看oracle数据库的编码及修改编码格式的方法

 更新时间:2014年07月31日 15:10:43   投稿:whsnow  
本节主要介绍了如何查看oracle数据库的编码及修改编码格式,需要的朋友可以参考下

首先查看oracle数据库的编码

SQL> select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';

PARAMETER
--------------------
VALUE
--------------------
NLS_CHARACTERSET
AL32UTF8

这其来源于props$,这是表示数据库的字符集。

oracle客户端编码

SQL> select * from nls_instance_parameters where parameter='NLS_LANGUAGE';

PARAMETER
--------------------
VALUE
--------------------
NLS_LANGUAGE
SIMPLIFIED CHINESE

其来源于v$parameter,表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表会话字符集环境

select * from nls_session_parameters,其来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。

再来说一下怎么修改oracle的字符集:

目前我的数据库环境的字符集是AL32UTF8,那么把它改成ZHS16GBK

1.首先以sysdba的身份登录上去 conn /as sysdba

2.关闭数据库shutdown immediate;

3.以mount打来数据库,startup mount

4.设置session

SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;

5.启动数据库

alter database open;

6.修改字符集

ALTER DATABASE CHARACTER SET ZHS16GBK;

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

ALTER DATABASE character set INTERNAL_USE ZHS16GBK;

这条语句就可以了,TERNAL_USE提供的帮助就会使oracle绕过了子集与超集的验证,这条语句和上面的语句内部操作时完全相同的。

7.关闭,重新启动

SQL>shutdown immediate;
SQL> startup

当然字符集最好不要轻易修改,因为这会对数据库的数据有直接的影响,如果是生产环境的话,可能会造成不可估计得损失。

相关文章

  • Oracle中游标Cursor的用法详解

    Oracle中游标Cursor的用法详解

    本文详细讲解了Oracle中游标Cursor的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • oracle使用索引与不使用索引的性能详析

    oracle使用索引与不使用索引的性能详析

    索引是建立在表的一列或多个列上的辅助对象,目的是加快訪问表中的数据,下面这篇文章主要给大家分析介绍了关于oracle使用索引与不使用索引的性能的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-10-10
  • Oracle的四道经典面试题分享

    Oracle的四道经典面试题分享

    这篇文章主要给大家介绍了关于Oracle的四道经典面试题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • oracle远程连接服务器数据库图文教程

    oracle远程连接服务器数据库图文教程

    这篇文章主要为大家详细介绍了oracle远程连接服务器数据库的图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • 详解oracle管道函数的用法(一行拆为多行)

    详解oracle管道函数的用法(一行拆为多行)

    这篇文章主要介绍了oracle管道函数的用法(一行拆为多行),非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • oracle 在一个存储过程中调用另一个返回游标的存储过程

    oracle 在一个存储过程中调用另一个返回游标的存储过程

    实际项目当中经常需要在一个存储过程中调用另一个存储过程返回的游标,本文列举了两种情况讲述具体的操作方法。
    2009-09-09
  • 在oracle数据库里创建自增ID字段的步骤

    在oracle数据库里创建自增ID字段的步骤

    本节主要介绍了在oracle数据库里创建自增ID字段的步骤,需要的朋友可以参考下
    2014-07-07
  • Oracle统计信息的导出导入测试示例详解

    Oracle统计信息的导出导入测试示例详解

    这篇文章主要给大家介绍了关于Oracle统计信息的导出导入测试的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • ORACLE 10g 安装教程[图文]

    ORACLE 10g 安装教程[图文]

    刚刚接触ORACLE的人来说,从那里学,如何学,有那些工具可以使用,应该执行什么操作,一定回感到无助。所以在学习使用ORACLE之前,首先来安装一下ORACLE 10g,在来掌握其基本工具。俗话说的好:工欲善其事,必先利其器。我们开始吧!
    2009-05-05
  • Oracle 忘记密码的找回方法

    Oracle 忘记密码的找回方法

    安装oracle 11g时,居然把刚刚更改的数据库管理员密码给忘了,google查询,终于找到修改方法。
    2009-02-02

最新评论