修改Linux上的Oracle12c编码集

当时在linux安装oracle12c时候没注意编码问题,导致数据中文乱码,后来发现要保证数据库和服务器编码一致才行。

修改Linux上的Oracle12c编码集

现在xsheel使用命令来进行修改编码:

1,登陆服务器,登陆oracle的用户

su - oracle

2,启动监听与服务(这里要是有数据库的管理员账号)

  1. [[email protected] ~]$ lsnrctl start #开启监听  
  2. [[email protected] ~]$ sqlplus / as sysdba  
  3. SQL> startup #启动服务  

3,3.查看Oracle数据库字符集

[html] view plain copy
  1. SQL> select userenv('language') from dual;  

修改Linux上的Oracle12c编码集

因为我的服务器上编码是ZHS16GBK ,所已要改成ZHS16GBK 

4,修改Oracle数据库字符集(一条条执行)

  1. SQL> shutdown immediate;  
  2. SQL> startup mount;  
  3. SQL> alter system enable restricted session;  
  4. SQL> alter system set job_queue_processes=0;  
  5. SQL> alter system set aq_tm_processes=0;  
  6. sql> alter database open;  
  7. SQL> alter database character set internal_use ZHS16GBK ;#比如ZHS16GBK  
  8. SQL> shutdown immediate;  
  9. SQL> startup; 

执行alter database character set internal_use ZHS16GBK ;这步时就基本上成功了

修改Linux上的Oracle12c编码集

5,再次查询编码集,发现已经更改。

修改Linux上的Oracle12c编码集