oracle数据库的字符集更改(测试机上玩玩即可)
来源:互联网 发布:optical flow算法介绍 编辑:程序博客网 时间:2024/06/06 05:47
A、oracle server 端 字符集查询
select userenv('language') from dual
其中NLS_CHARACTERSET 为server端字符集
NLS_LANGUAGE 为 server端字符显示形式
B、查询oracle client端的字符集
$echo $NLS_LANG
如果发现你select 出来的数据是乱码,请把client端的字符集配置成与linux操作系统相同的字符集。如果还是有乱码,则有可能是数据库中的数据存在问题,或者是oracle服务端的配置存在问题。
C、server端字符集修改
*****************************************************************
* 更改字符集步骤方法(WE8ISO8859P1 --> ZHS16GBK) *
*****************************************************************
SQL>
将数据库启动到RESTRICTED模式下做字符集更改:
SQL> conn /as sysdba
Connected.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 236000356 bytes
Fixed Size 451684 bytes
Variable Size 201326592 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 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 ZHS16GBK;
ALTER DATABASE CHARACTER SET ZHS16GBK
*
ERROR at line 1:
ORA-12712: new character set must be a superset of old character set
提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:
SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
Database altered.
SQL> select * from v$nls_parameters;
略
19 rows selected.
重启检查是否更改完成:
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 236000356 bytes
Fixed Size 451684 bytes
Variable Size 201326592 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
SQL> select * from v$nls_parameters;
略
19 rows selected.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
D、client端字符集修改
在 /home/oracle与 /root用户目录下的.bash_profile中
添加或修改 export NLS_LANG="AMERICAN_AMERICA.UTF8" 语句
关闭当前ssh窗口。
严禁用于生产库,后果很严重~!!
- oracle数据库的字符集更改(测试机上玩玩即可)
- oracle数据库的字符集更改
- 更改ORACLE数据库字符集
- Oracle数据库更改字符集
- ORACLE NLS_CHARACTERSET字符集的更改
- 我oracle数据库安装完了,字符集是ZHS16GBK,但是我需要一个数据库字符集是UTF8的,怎么办?。新建一个数据库实例,选择字符集为utf8即可
- [转]oracle更改数据库字符集编码
- oracle更改数据库字符集编码UTF8
- oracle数据库的字符集
- 更改mysql数据库默认的字符集(编码方式)
- oracle 更改服务端字符集 更改oracle字符集
- Oracle 9i 字符集的更改
- oracle 数据库的字符集(2)
- oracle 数据库的字符集(3)
- oracle 数据库的字符集(4)
- Oracle更改字符集 ZHS16GBK
- oracle更改字符集
- Oracle字符集更改
- SSM实现秒杀系统案例
- 我的笔记
- Android SDK上手指南:Activity与生命周期
- EditText支持多行同时支持imeOptions设置
- js如何调用ocx控件
- oracle数据库的字符集更改(测试机上玩玩即可)
- 获取开始及结束日期间隔月份或年份列表
- Android SlidingMenu 使用详解
- 4种activity 的启动模式
- Linux 之 网络编程基础
- HDFS备注
- FragmentPagerAdapter刷新Fragment终极解决方案
- CodeForces 732D Exams
- 玩转Dragonboard 410c USB摄像头-人脸识别