docker 下 Oracle 12C 数据库字符集 ZHS16GBK 改为 AL32UTF8

一、以sysdba身份登录Oracle系统

sqlplus conn/ as sysdba

二、关闭数据库,停止数据库服务

SQL>shutdown immediate;

三、启动Oracle例程

SQL> startup mount;

Total System Global Area 612****84 bytes

Fixed Size 125****52 bytes

Variable Size 176****92 bytes

Database Buffers 432****12 bytes

Redo Buffers 294****28 bytes

数据库装载完毕。

四、更改系统状态

SQL> alter system enable restricted session;

系统已更改。

SQL> alter system set job_queue_processes=0;

系统已更改。

SQL> alter system set aq_tm_processes=0;

系统已更改。

SQL> alter database open;

数据库已更改。

SQL> alter database character set internal_use AL32UTF8;

数据库已更改。

五、关闭数据库

SQL> shutdown immediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

六、启动数据库实例

SQL> startup;

ORACLE 例程已经启动。

Total System Global Area 612****84 bytes

Fixed Size 125****52 bytes

Variable Size 176****92 bytes

Database Buffers 432****12 bytes

Redo Buffers 294****28 bytes

数据库装载完毕。

数据库已经打开。

​ 以上字符集修改就已经完成了。如果使用客户端工具连接出现中文乱码问题,可能是操作系统字符集和 Oracle 服务器字符集不同,导致。

  • 解决方案:
  1. 查询服务器字符集
SQL> 
select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.AL32UTF8
  1. 修改操作系统环境变量,步骤如下

docker 下 Oracle 12C 数据库字符集 ZHS16GBK 改为 AL32UTF8

进入高级设置

docker 下 Oracle 12C 数据库字符集 ZHS16GBK 改为 AL32UTF8

点击环境变量

新建环境变量,点击确认即可,变量值与你刚才查出的服务器字符集一样。

docker 下 Oracle 12C 数据库字符集 ZHS16GBK 改为 AL32UTF8

上一篇:Weblogic 12C 静默安装4节点集群生产实施手册


下一篇:12c pdb ora-01033