Linux 下修改Oracle 的字符集 您所在的位置:网站首页 linux设置环境变量为utf-8 Linux 下修改Oracle 的字符集

Linux 下修改Oracle 的字符集

2024-03-29 14:46| 来源: 网络整理| 查看: 265

参考: Linux 下修改Oracle 的字符集:WE8ISO8859P1 修改为 ZHS16GBK 问题描述:在Linux下静默安装的Oracle,默认的字符集没有修改,使用的是WE8ISO8859P1,imp导入后的数据中文全显示为???。问题出在oracle服务端的字符集不支持中文导致。 可以通过: select userenv(‘language’) from dual; 命令可以查看服务端的使用的字符集。 或者select * from V NLSPARAMETERS;命令也可以以及select∗fromSYS.PROPS ;

网上很多人说,oracle服务端安装好了之后字符集是不可以更改的,实践证明是可以修改的,至少oracle8以上的版本都是可以修改的。 我的解决步骤: 1、ssh登录,切换到oracle用户 切换用户命令:su -oracle 之后用sqlplus登录oracle,命令: :sqlplus /nolog :connect /as sysdba 这样就登录了。 2、更改字符集 首先 sqlplus登录后,关闭oracle数据库 1.shutdown immediate ; 2.startup mount ; 3.alter system enable restricted session ; 4.alter system set JOB_QUEUE_PROCESSES=0; 5.alter system set AQ_TM_PROCESSES=0; 6.alter database open ; 7. alter database character set INTERNAL_USE ZHS16GBK; 8.shutdown immediate ; 9.startup ; 注:一开始我按照上面的步骤没有解决,因为在第7步的时候有的资料提示使用alter database character set ZHS16GBK;我试过,这个命令不行,我使用的是alter database character set INTERNAL_USE ZHS16GBK; 提示修改成功。同样,如果在startup mount 下命令提示error的话,可以尝试在startup restrict下运行第七步的命令。 以下是我的调试命令记录,大家可以参考一下,那些提示错误的命令都是执行失败的,可以不必管。

SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount; ORACLE instance started. Total System Global Area 6680915968 bytes Fixed Size 2213936 bytes Variable Size 3892316112 bytes Database Buffers 2751463424 bytes Redo Buffers 34922496 bytes Database mounted. SQL> alter system enable restricted session; System altered. SQL> alter system set JOB_QUEUE_PROCESSES=0; System altered. SQL> alter system set AQ_TM_PROCESSES=0; System altered. SQL> alter database open; Database altered. SQL> alter database character set INTERNAL_USE ZHS16GBK; Database altered. SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> SQL> startup ORACLE instance started. Total System Global Area 6680915968 bytes Fixed Size 2213936 bytes Variable Size 3892316112 bytes Database Buffers 2751463424 bytes Redo Buffers 34922496 bytes Database mounted. Database opened. SQL> quit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options [oracle@itzc-pms3 ~]$

补充: (1).数据库服务器字符集 select * from nls_database_parameters 来源于props$,是表示数据库的字符集。

(2).客户端字符集环境 select * from nls_instance_parameters 其来源于v$parameter,表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有