Oracle Database 11g Express Edition修改字符集

为什么要修改字符集?

使用用户system,通过sqlplus程序连接到Oracle数据库,输入以下命令,查看字符集:

SQL> select userenv(‘language‘) from dual;

USERENV(‘LANGUAGE‘)
----------------------------------------------------
AMERICAN_AMERICA.AL32UTF8

SQL>

我们可以看到查到的字符集为“AMERICAN_AMERICA.AL32UTF8”,而国内数据库常用的字符集为“ZHS16GBK”。

例如:某字段在企业版中定义的为varchar2(4),保存数据为‘‘田田‘‘,则导入oraclexe时,该字段定义仍为varchar2(4),但数据‘‘田田‘‘就需要占用6个字符长度,出现的问题如下所示:

IMP-00019: 由于 ORACLE 错误 12899 而拒绝行
IMP-00003: 遇到 ORACLE 错误 12899
ORA-12899: 列 "TEST"."TEST_TIANYC"."A" 的值太大 (实际值: 6, 最大值: 4)

此时就需要按照以下操作说明进行操作后即可解决问题。

操作说明:

开始菜单-->所有程序-->Oracle Database 11g Express Edition-->运行SQL命令行,启动sqlplus程序。

由于sqlplus程序不支持直接在程序窗口中右键,进行复制、粘贴等操作,所以博主采用的是在运行命令行中启动sqlplus程序。

开始菜单-->运行-->输入cmd,并回车-->打开cmd命令行。

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Candy>C:\oraclexe\app\oracle\product\11.2.0\server\bin\sqlplus.exe /nolog

SQL*Plus: Release 11.2.0.2.0 Production on 星期三 11月 26 12:11:59 2014

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

SQL> connect system as sysdba
输入口令:
已连接。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area  644468736 bytes
Fixed Size                  1385488 bytes
Variable Size             192941040 bytes
Database Buffers          444596224 bytes
Redo Buffers                5545984 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 ZHS16GBK;

数据库已更改。

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area  644468736 bytes
Fixed Size                  1385488 bytes
Variable Size             192941040 bytes
Database Buffers          444596224 bytes
Redo Buffers                5545984 bytes
数据库装载完毕。
数据库已经打开。
SQL> select userenv(‘language‘) from dual;

USERENV(‘LANGUAGE‘)
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

SQL>

此时,再进行数据导入或者在字段类型为varchar2(4)的字段插入“田田”,就不会报错了。

修改字符集后可能导致navicat连不上Oracle数据库,请在菜单-->工具-->选项-->其他-->OCI中将OCI library(oci.dll)的值修改为

C:\oraclexe\app\oracle\product\11.2.0\server\bin\oci.dll,点击确定后,重启navicat即可。

时间: 2024-09-27 18:42:14

Oracle Database 11g Express Edition修改字符集的相关文章

Oracle Database 11g Express Edition 使用小结(windows)

如何启动oraclewindows系统服务中有一个服务叫:[OracleService[SID]]SID是你安装oracle xe时候的实例名,如果你没有改默认的是[XE], OracleServiceXE和OracleXETNSListener默认会自动启动,找到[OracleServiceXE]这个服务,启动它就ok了. navicat for oracle 连接设置 使用sqlplus登陆(密码自己设置的): cmd 命令行下输入sqlplus /nolog 用户名:sys as sysd

初始Oracle database 11g express edition

安装过程比较简单 我是在t400+win7上安装的 安装过程制作成ppt了

ORACLE DATABASE 10g EXPRESS EDITION LICENSE AGREEMENT

 启动Tomcat之后出现全是英文错误: ORACLE DATABASE 10g EXPRESS EDITION LICENSE AGREEMENT To use this license, you must agree to all of the following terms (by either clicking the accept button or installing and using the program): ELIGIBILITY EXPORT RESTRICTIONS

Oracle Database 11g Release 2 Standard Edition and Enterprise Edition Software Downloads

Oracle 数据库 11g 第 2 版 标准版.企业版 软件下载 Microsoft Windows(32 位) 光盘 1.光盘 2 (2GB) 1 Microsoft Windows (x64) 光盘 1.光盘 2 (2GB) 2 Linux x86 光盘 1.光盘 2 (2GB) 3 Linux x86-64 光盘 1.光盘 2 (2GB) 3 Solaris (SPARC)(64 位) 光盘 1.光盘 2 (2GB) 4 Solaris (x86-64) 光盘 1.光盘 2 (2GB)

centos 7 安装Oracle Database 11g Release 2 (11.2.0.4)

参考文章: http://www.cnblogs.com/lightnear/archive/2012/10/07/2714247.html http://www.cnblogs.com/xqzt/p/5456401.html http://www.cnblogs.com/anzerong2012/p/7528311.html 一.安装环境 CentOS Linux release 7.2.1511 (Core) Oracle Database 11g Release 2 (11.2.0.4)

Oracle Database 11G R2 标准版 企业版 下载地址(转)

转自:http://blog.itpub.net/628922/viewspace-759245/ 不需要注册,直接复制到迅雷或其他下载软件中即可下载. oracle 11.2.0.3 下载地址: Linux x64 : https://updates.oracle.com/Orion/Services/download/p10404530_112030_Linux-x86-64_1of7.zip?aru=14125322&patch_file=p10404530_112030_Linux-x8

如何安装Oracle Database 11g数据库

先选择你适合你的系统版本,32位系统的请选择32位的,64位系统可以使用32位也可以使用64位,建议采用64位的! 适用于 Microsoft Windows(32 位)的 Oracle Database 11g 第 2 版 (11.2.0.1.0) http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_database_1of2.zip http://download.oracle.com/otn/nt/oracle11g

在redhat6.4下安装 Oracle® Database 11g Release 2

OS版本: 安装过程的相关信息: pdksh 安装好后根据需要设置oracle开机自启动http://www.cnblogs.com/softidea/p/3761671.html 设置环境变量NLS_LANG,ORACLE_SID 配置tnsnames.ora http://blog.itpub.net/21162451/viewspace-721930/ 在redhat6.4下安装 Oracle® Database 11g Release 2

Oracle - 安装 Oracle Database 11g Release 2

写在前面:工作中,一般安装 Oracle 11g 客户端,配置 Net Manager(安装好客户端或者服务端才会有),远程连接 Oracle 数据库即可满足连接数据库的需求了.若希望本机可以操作 Oracle,则需要安装 Oracle 11g 服务端. Oracle Database 11g Release 2 Client (11.2.0.1.0) Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows