从oracle9i 中导出的数据导入到oracle 10g中,经过程序的调用后,发现都是乱码,
开始以为是RHEL5系统字符集的事情,修改了几次后,发觉还是数据库的字符集有问题。
以下是用dba进入后查看拿的实际情况:
select * from V$NLS_PARAMETERS ;
NLS_LANGUAGE SIMPLIFIED CHINESE
NLS_TERRITORY CHINA
NLS_CURRENCY RMB
NLS_ISO_CURRENCY CHINA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
NLS_CHARACTERSET WE8ISO8859P1
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY RMB
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
select userenv('language') from dual;
SIMPLIFIED CHINESE_CHINA.WE8ISO8859P1
select * from sys.props$ WHERE NAME='NLS_CHARACTERSET';
-----------------------
参考了网上的几个解决方法,都没有解决,最后还是使用了这样的方法解决了问题:
UPDATE sys.PROPS$ SET value$='ZHS16GBK' WHERE NAME='NLS_CHARACTERSET';
这样把WE8ISO8859P1改变成'ZHS16GBK' 。
但是原来已经导入的数据都需要重新导入。
*******需要说明的是 上面的这种方法有些问题,尽量不要使用这种方法
下面是正确的修改字符集的方法:
sqlplus "/as sydba"
shutdown immediate
Startup restrict
ALTER DATABASE CHARACTER SET ZHS16GBK;
有时候会遇到如下错误:
ORA-12712: new character set must be a superset of old character set
可以执行如下: 跳过超集的检查
ALTER DATABASE character set INTERNAL_USE zhs16gbk;
然后重启数据库即可,不过最好先做备份哦!
分享到:
相关推荐
Oracle字符集是数据库管理系统Oracle中的一个重要概念,它决定了数据库如何存储和处理文本数据。字符集不仅影响着数据的准确性和一致性,还与全球化应用、数据迁移和数据交换密切相关。本篇将深入探讨Oracle字符集的...
具体来说,可以在系统环境变量中添加 `NLS_LANG` 或 `LANG` 变量,其值应该与 Oracle 服务器端的字符集设置保持一致,例如 `AMERICAN_AMERICA.ZHS16GBK`。 #### 四、PL/SQL Developer 的使用与配置 1. **PL/SQL ...
Oracle 9i和11g都支持多种字符集,但它们默认的字符集可能不相同。例如,9i可能使用的是US7ASCII(英文字符集),而11g可能使用的是AL32UTF8(支持Unicode的字符集)。 当从一个字符集到另一个字符集进行转换时,...
4. **创建数据库实例**:通过DBCA(Database Configuration Assistant)创建新的数据库实例,配置数据库的大小、字符集、表空间等。 5. **配置网络服务**:设置监听器(Listener)和服务名(Service Name),确保...
"AIXOracle10G字符集修改.pdf"文档很可能是提供详细步骤和注意事项的指南,包括可能遇到的问题及解决策略。在执行此类操作时,应仔细阅读并遵循文档中的指导,以确保字符集修改过程顺利完成。在教育领域,掌握这些...
摘要:本文主要介绍了在 SQLPlus 中改变字体和字符集的方法,对于 Oracle 数据库管理员来说,这是一项非常重要的技能。通过对注册表的修改,可以改变 SQLPlus 中的字体大小和字符集,从而提高工作效率。 知识点一:...
Oracle 10G SQL Reference是Oracle数据库系统的重要文档之一,主要涵盖了在Oracle 10G环境中执行SQL查询、数据操作和数据库管理的核心概念和技术。这个参考手册为数据库管理员(DBA)、开发人员以及数据分析师提供了...
### Oracle10g数据库DBA2官方资料OCP #### Oracle Database 10g Manageability Goals Oracle Database 10g 引入了一系列管理性目标,旨在提高数据库系统的可管理性和自动化水平。这些目标包括: - **自动化例行...
6. **版本兼容性**:Oracle 10g是一个较旧的版本,可能不支持某些新特性或已有的功能可能有所改变。因此,确保CI驱动和Oracle客户端库与数据库服务器版本相匹配至关重要。 通过以上配置,CI应该能够成功连接并操作...
Oracle 10g在Redhat Enterprise下的安装是一个复杂的过程,涉及到多个步骤和配置。以下是详细的安装指南: 一、Redhat AS 4(32 位)上安装 Oracle 10g R2 1. 针对 Oracle 配置 Linux 在开始安装前,必须确保系统...
建议在英文环境下安装,或者在出现乱码时,通过`export LC_CTYPE=en_US.UTF-8`临时改变字符集环境。 8. **注意事项**: - 官方文档建议的shmmax值是内存的1/2,但有些情况下,按照内存的2倍设置也能成功安装。...
在上述案例中,从10G环境导出的数据导入11G数据库时,由于字符集不兼容导致了问题。可以通过以下步骤更改Oracle 11G数据库的字符集: - 首先,通过`SELECT * FROM V$NLS_PARAMETERS`查询当前的字符集。 - 然后,...
### Oracle 10g OCP(全)培训课程知识点概览 #### 一、Oracle体系结构 ##### 1. 内存结构 - **系统全局区(SGA)**:Oracle实例的核心内存区域,由多个内存块组成,用于缓存数据、共享信息等。 - **数据库高速缓存...
4.2.2 语言字符集、常用符号 4.2.3 常量与变量 4.2.4 数据类型 4.2.5 集合API方法 4.3 流程控制 4.3.1条件控制 4.3.2 循环控制 4.3.3 顺序控制 4.4 游标 4.4.1显式游标 4.4.2 隐式...
Oracle 11g数据库在安装完成后,为了确保其稳定性和高效运行,需要对一系列关键参数进行设置和优化。这些参数的调整涵盖了系统资源管理、内存分配、数据安全性等多个方面。以下是一些重要的参数设置规范: 1. **...
- **更改ORACLE 10g RAC数据库字符集**:如果需要更改数据库字符集,可以通过导出数据到新数据库的方式实现。 - **设置OS层面的NLS_LANG**:通过设置`NLS_LANG`环境变量可以改变客户端与数据库交互时的字符集设置。 ...
### Oracle 10g PL/SQL编程核心知识点详解 #### 一、Oracle 10g简介 Oracle 10g是Oracle公司推出的一款数据库管理系统,它在9i的基础上进行了大量的改进和完善,支持网格计算,提高了数据的安全性、可用性和可管理...
对于Oracle 8.1.7 Client与Oracle 11g不兼容的问题,这是因为每个新版本的Oracle数据库都会引入新的特性和改进,同时也可能移除或改变旧的功能。例如,11g版本引入了高级安全管理、分区优化和数据压缩等功能,而这些...
Oracle 11g PL/SQL提供了丰富的功能集,包括数据类型、变量、常量、表达式、流程控制语句、异常处理机制以及存储过程和函数。 ### 2. 数据类型 PL/SQL支持多种数据类型,包括数值型、字符型、日期时间型、布尔型、...
Oracle11g是Oracle公司的一个数据库版本,它提供了全面、开放和集成的信息管理解决方案,广泛应用于企业的数据存储和管理。SQL(Structured Query Language,结构化查询语言)是一种专门用于与数据库进行通信的编程...