oracle 修改数据库编码
查看当前数据库编码,来源于props$,这是表示数据库的字符集
SQL> select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';
PARAMETER
--------------------
VALUE
--------------------
NLS_CHARACTERSET
AL32UTF8
查看oracle客户端编码
SQL> select * from nls_instance_parameters where parameter='NLS_LANGUAGE';
PARAMETER
--------------------
VALUE
--------------------
NLS_LANGUAGE
SIMPLIFIED CHINESE
来源于v$parameter,表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表会话字符集环境
修改数据库编码步骤
- 使用系统管理员登录
conn / as sysdba
- 关闭数据库和实例连接
SQL>shutdown immediate;
数据库已经关闭
已经卸载数据库
ORACLE 例程已经关闭
- 以mount打来数据库
SQL>startup mount;
ORACLE 例程已经启动
Total System Global Area 2516582400 bytes
Fixed Size 8623832 bytes
Variable Size 822085928 bytes
Database Buffers 1677721600 bytes
Redo Buffers 8151040 bytes
- 设置session
--- 限制其他用户连接数据库使用资源
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
系统已更改
--- 设置作业进行为0
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
系统已更改
--- 设置启动时间管理器的数量为0
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
系统已更改
- 启动数据库
SQL>alter database open;
数据库已更改
- 修改字符集
SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
数据库已更改
- 关闭重新启动
SQL>shutdown immediate;
SQL>startup