`

使用internal_convert修改oracle 10g 数据库字符集

 
阅读更多
SQL> startup mount
ORACLE instance started.

Total System Global Area 117440512 bytes
Fixed Size 787728 bytes
Variable Size 91224816 bytes
Database Buffers 25165824 bytes
Redo Buffers 262144 bytes
Database mounted.
SQL> show parameter processes

NAME TYPE VALUE
------------------------------------ ----------- --------------------------
aq_tm_processes integer 10
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 150


打开数据库到restricted状态

SQL> alter system enable restricted session;

System altered.

SQL> alter database open;

Database altered.

查看当前数据库字符集:
SQL> col name for a30
SQL> col value$ for a30
SQL> select name,value$ from props$ where name like '%NLS%';

NAME VALUE$
------------------------------ ------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET US7ASCII
......

20 rows selected.

这里为了方便区分trace文件名,把trace文件加上标识

SQL> alter session set tracefile_identifier='cs';

Session altered.

SQL> alter session set sql_trace=true;

Session altered.

SQL> alter database character set internal_convert zhs16gbk;

Database altered.

alert信息:
~~~~~~~~~~~~~~~~~~~~~
Wed Jan 16 14:49:47 2008
alter database character set internal_convert zhs16gbk
Wed Jan 16 14:49:50 2008
Private_strands 7 at log switch
Thread 1 advanced to log sequence 38
Current log# 2 seq# 38 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO02.LOG
Wed Jan 16 14:49:52 2008
Updating character set in controlfile to ZHS16GBK
Synchronizing connection with database character set information
Wed Jan 16 14:49:52 2008
Published database character set on system events channel
SYS.WRI$_DBU_HWM_METADATA (LOGIC) - CLOB representation altered
SYS.WRI$_DBU_FEATURE_METADATA (INST_CHK_LOGIC) - CLOB representation altered
SYS.WRI$_DBU_FEATURE_METADATA (USG_DET_LOGIC) - CLOB representation altered
SYS.WRI$_DBU_FEATURE_USAGE (FEATURE_INFO) - CLOB representation altered
SYS.SCHEDULER$_EVENT_LOG (ADDITIONAL_INFO) - CLOB representation altered
SYS.RULE$ (CONDITION) - CLOB representation altered
SYS.METASTYLESHEET (STYLESHEET) - CLOB representation altered
Refreshing type attributes with new character set information

alert中的信息与上面的相同,ORACLE在内部转换CLOB字段相关的表为新字符集,这个在trace文件中可以很清楚得看到。
这里就不贴trace信息了。有兴趣自己trace一下。

查看修改后的字符集:
SQL> select name,value$ from props$ where name like '%NLS%';

NAME VALUE$
------------------------------ ------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET ZHS16GBK
......

SQL> alter system disable restricted session;

System altered.

到此,字符集修改完成。
分享到:
评论

相关推荐

    oracle数据库字符集 无法修改数据库字符集 乱码

    6. **修改内部使用字符集**:如果直接修改字符集失败,可以先修改内部使用的字符集,即执行`ALTER DATABASE characterset INTERNAL_USE ZHS16GBK;`。 7. **再次关闭并重启数据库**:完成修改后,需要再次关闭数据库...

    修改Oracle数据库字符集的方法

    本文将详细介绍如何在Oracle 10g中通过命令行方式修改数据库字符集。 #### 前提条件 在进行字符集修改之前,请确保满足以下前提条件: 1. **有足够的权限**:必须具备sysdba权限才能执行这些操作。 2. **备份...

    Oracle11g 字符集 AL32UTF8 修改为ZHS16GBK

    在Oracle11g环境下,可能会遇到需要更改数据库字符集的情况,例如从AL32UTF8修改为ZHS16GBK。这种变更通常发生在需要支持特定语言环境的应用场景中,尤其是当应用主要面向中文用户时,采用ZHS16GBK字符集可以更好地...

    Oracle 修改字符集

    - **内部使用字符集**(Internal Use Character Set):如`ZHS16GBK`,用于存储非Unicode数据,主要用于内部处理。 3. **字符集转换**:当两个不同字符集的数据进行交互时,Oracle会自动进行字符集转换,但这种转换...

    ORACLE11g更改字符集

    在Oracle 11g数据库管理中,更改字符集是一项关键且复杂的操作,它涉及到数据库的启动、关闭以及系统参数的调整。以下是从标题、描述、标签及部分内容中提炼出的知识点,详细阐述了如何在Oracle 11g中更改字符集。 ...

    修改ORACLE11G字符集

    对于已经安装并运行的Oracle 11g数据库,如果发现默认字符集不符合需求(例如默认为US7ASCII),则需要进行字符集的修改。下面将详细介绍修改Oracle 11g字符集的具体方法和步骤。 #### 1. 检查当前字符集设置 在...

    修改数据库字符集修改数据库字符集.doc

    最后,使用`ALTER DATABASE`命令更改数据库的本地字符集为ZHS16GBK(GBK的双字节实现)和国际字符集为AL16UTF16(支持Unicode的字符集)。 2. **处理错误信息**: - 当提示`ORA-12717`时,表示数据库中存在NCLOB、...

    Linux 下修改Oracle 10G的字符集:WE8ISO8859P1 修改为 ZHS16GBK

    ### Linux下修改Oracle 10G的字符集:WE8ISO8859P1 修改为 ZHS16GBK #### 知识点概述 在Linux环境下,有时我们需要更改Oracle数据库的字符集来适应不同的语言环境或数据输入需求。本文将详细介绍如何在Oracle 10G...

    oracle修改字符集

    针对这种情况,我们可以按照以下步骤来修改Oracle 11g数据库的字符集,使其更改为ZHS16GBK。 首先,确保你有数据库的系统管理员权限,因为修改字符集需要以SYSDBA身份进行。在Windows环境下,打开命令行窗口(cmd)...

    oracle 字符集修改命令

    由于不同的地区和语言环境对于字符编码的需求各异,因此有时可能需要更改Oracle数据库的字符集设置。本文将详细介绍如何通过一系列的Oracle SQL命令来完成这一任务。 #### 二、准备工作 在进行任何字符集修改操作...

    修改oracle数据库的字符集方法(RAC)

    ### 修改Oracle数据库的字符集方法(RAC) 在Oracle RAC环境中更改数据库的字符集是一项较为复杂的任务,需要谨慎操作。本文将详细解释如何在Oracle RAC环境下安全地修改数据库字符集,包括必要的步骤和注意事项。 ...

    数据库字符集修改方法

    2. **内部使用字符集**:数据库内部用来表示数据的字符集。 3. **客户端字符集**:客户端应用程序使用的字符集。 4. **NLS参数**:NLS(National Language Support)参数是Oracle提供的一组用于控制多语言支持行为的...

    ORACLE数据库查看更改字符集实战.doc

    ### ORACLE数据库查看更改字符集实战 #### 一、引言 在ORACLE数据库的日常管理和维护过程中,字符集问题常常成为一个让人头疼的问题。字符集不仅关乎数据的正确存储和检索,还会影响到数据库的整体性能。当数据库的...

    Oracle_ziliao.zip_oracle_oracle internal_oracle 培训

    Oracle数据库是全球最广泛使用的商业关系型数据库管理系统之一,它由甲骨文公司(Oracle Corporation)开发和维护。Oracle数据库以其高效能、高可用性、安全性及可扩展性等特点深受企业和开发者青睐。在这个名为...

    修改oracle10字符集步骤

    修改Oracle 10g数据库的字符集是一项涉及多个步骤的复杂操作,需要仔细规划和谨慎执行。通过上述步骤,可以安全地将数据库的字符集从一个编码方案转换到另一个,以满足不断变化的业务需求。在整个过程中,保持数据的...

    修改数据库字符集

    ` 指定新的内部使用字符集。 3. **重新启动数据库服务**:修改完环境变量后,通常需要重启数据库服务以使新的设置生效。 综上所述,修改数据库字符集不仅涉及环境变量的设置,还可能需要进行数据迁移、备份等一系列...

    ALSM_EXCEL_TO_INTERNAL_TABLE函数的修改

    【ALSM_EXCEL_TO_INTERNAL_TABLE函数的修改】 在SAP ABAP编程中,ALSM_EXCEL_TO_INTERNAL_TABLE是一个标准函数,用于将Excel文件中的数据读取到内部表中。这个函数通常在处理从用户界面上传的Excel数据时非常有用。...

Global site tag (gtag.js) - Google Analytics