一、简介
Oracle 的字符集存在于服务器端和客户端,同时字符(包括中英文字符)存储于数据库中也是以一定的字符集编码存放
正常情况下,当服务器端与客户端字符集一致,且加载到ORACLE数据库的数据字符集与服务器字符集也一致时,数据方能正常在客户端进行显示
1.服务器字符集可用下面的语句查询:
SELECT * FROM V$NLS_PARAMETERS WHERE parameter LIKE '%CHARACTERSET';
2.客户端的字符集在注册表或环境变量中指示:
注册表:运行REGEDIT,HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE->HOME0->NLS_LANG
环境变量:NLS_LANG
3.查看数据库中存放的字符编码(以"中"字为例,16进制方式显示):
SELECT '中',DUMP('中',16) FROM dual;
二、Oracle服务器进行字符集转换的规则
Oracle服务器根据客户端的字符集判断是否需要在服务器端进行转换
1.在做查询操作时
a.如果客户端指定的字符集与服务器端指定的字符集一致,则服务器端不进行转换直接将字符编码传到客户端进行解析显示
b.如果客户端指定的字符集与服务器端指定的字符集不一致,刚服务器端将把字符编码转换为客户端指定的字符集编码再传给客户端进行解析显示
2.在做exp操作时
a.如果客户端指定的字符集与服务器端指定的字符集一致,服务器不进行转换直接转储为dmp文件
b.如果客户端指定的字符集与服务器端指定的字符集不一致,服务器将把数据字符集转换为客户端指定的字符集进行转储
3.在做imp操作进
a.如果转储文件的字符集与服务器端指定的字符集一致,服务器不进行转换直接将转储文件导入到数据库中存放
b.如果转储文件的字符集与服务器端指定的字符集不一致,服务器将把转储文件的字符集转换为服务器端指定的字符集进行存放
三、Oracle 9i服务器字符集修改实例 ZHS16GBK -> AL32UTF8
1.客户端指定为ZHS16GBK字符集,用exp工具将所有用户数据导出为转储文件
2.强制转换字符集,数据库应该在RESTRICTED模式下进行
SQLPLUS "/ AS SYSDBA"
SHUTDOWN IMMEDIATE
STARTUP MOUNT
ALTER SESSION SET SQL_TRACE=TRUE;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;
--INTERNAL_USE 用于跳过子集与超集的检查,如果不加会报错
--ALTER SYSTEM DISABLE RESTRICTED SESSION;
SHUTDOWN IMMEDIATE
STARTUP
3.客户端指定为ZHS16GBK字符集,用imp工具将转储文件导入到数据库中
分享到:
相关推荐
Oracle9i数据库是一款由甲骨文公司推出的数据库管理系统,它在9i版本中引入了许多重要的特性和改进。这个"oracle9i数据库课件"包含了多个PPT文件,详细讲解了Oracle9i的相关知识,包括安装配置、基本操作、安全性、...
通过阅读“Oracle9i数据库管理员指南”、“Oracle9i数据库管理实务讲座”以及“Oracle培训教材”,学习者可以系统地掌握Oracle 9i数据库的各个方面,为成为合格的数据库管理员打下坚实的基础。这些资料不仅涵盖理论...
Oracle9i 数据库安装是一个复杂的过程,涉及到多个步骤和配置选项。在开始安装之前,确保你的操作系统和硬件环境满足Oracle9i的要求。在这个例子中,操作系统是SuSE Linux 7.2,已经安装了Oracle9i Enterprise ...
1_oracle9i数据库概述.ppt 1_oracle9i数据库概述.ppt
Oracle9i是一款强大的关系型数据库管理系统,其在21世纪初发布,提供了众多先进的功能,以满足企业级数据存储和管理的需求。以下是针对标题、描述和标签中的关键知识点的详细阐述: 1. **Oracle9i的数据库管理**: ...
1. 数据库分区:Oracle 9i支持多种分区策略,如范围分区、列表分区、哈希分区等,有助于管理和优化大规模数据集。 2. 数据类型增强:增加了新的数据类型,如XMLType,支持XML数据的存储和处理。 3. PL/SQL性能提升:...
### Oracle9i数据库备份与恢复方案详解 #### 一、背景介绍 Oracle9i作为一款高性能的关系型数据库管理系统,在企业级应用中具有重要的地位。为了确保数据的安全性和系统的稳定性,制定一套合理的备份与恢复策略至...
Oracle9i数据库设计指引全集是一份详尽的资料,主要涵盖了在Oracle9i环境下进行高效、稳定且可扩展的数据库设计的关键原则和技术。Oracle9i是Oracle公司的一个重要版本,它提供了许多改进和新特性,以提升数据库的...
"Oracle数据库字符集问题解析" Oracle 数据库字符集问题解析是 Oracle 数据库管理系统中一个非常重要的问题。字符集是创建数据库时设定的,在创建后通常不能更改。因此,字符集的设定是个非常关键的问 题,如果...
《Oracle9i数据库设计指引全集》是一份详细介绍Oracle9i...总之,《Oracle9i数据库设计指引全集》是数据库设计者和管理员的重要参考资料,提供了从基础架构到高级配置的全方位指导,确保数据库的高效、稳定和安全运行。
Oracle9i数据库的恢复是数据库管理中的关键环节,旨在确保在发生异常情况时,能够保护数据的完整性并恢复到故障前的稳定状态。本章主要围绕Oracle9i数据库的备份和恢复技术展开,包括备份的概念、模式、策略以及具体...
在Oracle数据库管理中,字符集的设置至关重要,它直接影响到数据的存储、检索以及与之交互的准确性。本文将深入探讨Oracle数据库字符集的概念、重要性、修改过程及其潜在问题,特别是当尝试修改数据库字符集时遇到的...
Oracle9i数据库管理系统是Oracle公司推出的数据库产品,其在企业级数据存储和管理领域具有广泛的应用。本资源为"Oracle9i 数据库管理基础1(学生指南) 中文PDF版",分为两卷,旨在帮助学习者掌握Oracle9i数据库的基础...
### Oracle9i数据库备份与还原知识点详解 #### 一、Oracle9i数据库备份方法 ##### 1. 导出本机数据库 在进行数据库备份时,通常会采用Oracle的`exp`工具来进行数据导出。具体步骤如下: - **启动命令行**:首先...
通常,这会涉及到运行安装脚本,选择合适的安装选项,比如选择安装类型(如数据库服务器、客户端、只读数据库等),设置数据库字符集,以及数据库实例的相关配置。 7. **创建数据库实例**: 安装完成后,需要创建...
oracle9i数据库学习课件,数据库教程
《Oracle 9i数据库应用技术》电子教案 《Oracle 9i数据库应用技术》电子教案