oracle字符集(转)
转自:http://hi.baidu.com/66_com
引言
我现在所在的项目组需要把mysql的数据处理后导入到oracle数据库中,在此期间遇到了数据中文乱码问题。下面是我对这个问题的总结。
1、linux操作系统,mysql,oracle安装时字符集的选择。
我的建议是这三者的字符集保持一致,全为utf-8或gdk或gb2312。如果有特殊要求,三者不同也没有关系
我的建议是
Oracle -------àutf-8 ,gb2312,gbk
Linux---------àgbk,gb2312
Mysql--------àlatin1(默认)
A、Linux在安装的时候会给你一个选项让你选择安装的字符集。
B、Oracle安装过程中有一个“常见字符集”的选项。
C、Mysql安装时则要选择 二进制安装包,在configure使加上参数--with-charset 和 --with-collation ,例如:
./configure --with-charset=utf-8
Mysql 默认字符集为latin1,支持中文,所以可以一半选择默认安装即可。
2、字符集更改
如果你的字符集进行不正当的配置,则可以通过下面的方法进行更正。
2.1 linux操作系统字符集更改
在/etc/sysconfig/i18n
通过以下的改变来修改系统的本地化设置:
ja_JP.eucJP 变为 ja_JP.UTF-8
ko_KR.eucKR 变为 ko_KR.UTF-8
zh_CN.GB18030 变为 zh_CN.UTF-8
zh_TW.Big5 变为 zh_TW.UTF-8
使用在 ~/.i18n 中的本地化设置的用户应该在默认的情况下升级到使用 UTF-8 码。
iconv 工具可以被用来把使用原始编码(例如 eucJP, eucKR, Big5, or GB18030)的文件转换成为UTF-8 编码:
iconv -f <native encoding> -t UTF-8 <filename> -o <newfilename>
##################################################
以下是的我的Redhat Enterprise Linux AS 4中/etc/sysconfig/i18n的内容:
##################################################
LANG="zh_CN.UTF-8"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:zh_TW.UTF-8:zh_TW:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
##################################################
更改后关闭当前端口重新登入即可。
2.2 mysql数据库字符集的更改
现在网上有三种解决方法
查看Mysql字符集命令
show variables like'character_set%';
A、重新编译安装,见mysql安装部分内容
B、修改/etc/my.cnf文件中的default-character-set=gbk #或gb2312,big5,utf8. 然后重新启动mysql. (用rpm包安装的mysql没有my.cnf文件,可以从其他数据库拷贝一个,但是
相关文档:
二、使用Programs
在论坛中偶尔见过有人讨论如何在ORACLE中执行操作系统命令,或是ORACLE数据库外的应用。应该说在9i及之前的版本中,虽然说并非完全无法实现(其实还是有多种方式能够变相实现的),不过复杂的实现方式让DBA使劲了力,伤透了心,费劲了事儿。
进入10g版本之后,就完全不必如此费神,因为有了DBMS ......
C:\>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期三 1月 19 14:46:21 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> connect chanet/chanet@oradb;
已连接。
SQL> CREATE TABLE IMAGE_LOB (T_ID VARCHAR2 (5) NOT NULL,T_IMAGE ......
之前在项目中用到的分页都是假分页,也就是先从数据库中把所有的数据都查询出来然后在绑定时进行分页。这是一种假分页,效率较低,前几天听其他项目组说他们要使用数据库的存储过程来实现分页,感觉很疑惑,难道使用数据库还可以实现分页功能?闲来无事,就从网上搜了搜资料,果然,在oracl ......
Oracle学习:分区表和索引
http://tech.it168.com/a2009/0609/585/000000585998.shtml
什么时候使用分区:
1、 大数据量的表,比如大于2GB。一方面2GB文件对于32位os是一个上限,另外备份时间长。
2、 包括历史数据的表,比如最新的数据放入到最新的分区中。典型的例子:历史表,只有当前月份的数据可以被修改, ......
甲骨文已经完成了对SUN公司的收购,于1月27日发布了对Sun各项业务的整合规划。总体上说,Oracle要成为软硬件一体化的整体解决方案的厂商。 以下就其对备受关注的Java方面的策略做个介绍。
Java SE:
1)推出JDK SE 7, 它将包括多个新的功能,如提高开发人员的效率,提供高性能,对多核芯片的支持等。
2)Sun的HotSpot ......