`
tooby
  • 浏览: 117348 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

oracle修改“NLS_NCHAR_CHARACTERSET”字符集

    博客分类:
  • SQL
 
阅读更多

测试数据库的NLS_NCHAR_CHARACTERSET和正式环境不一致,需要由UTF8修改为AL16UTF16。

1、停数据库

SQL> alter system checkpoint;

System altered.

SQL> alter system checkpoint;

System altered.

SQL> alter system switch logfile;

System altered.

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

 

2、启动数据库
SQL> STARTUP MOUNT EXCLUSIVE;
ORACLE instance started.

Total System Global Area  838860800 bytes
Fixed Size                  2024536 bytes
Variable Size             192940968 bytes
Database Buffers          637534208 bytes
Redo Buffers                6361088 bytes
Database mounted.
SQL> alter system enable restricted session;

System altered.

SQL> alter system set job_queue_processes=0;

System altered.

SQL> alter system set aq_tm_processes=0;

System altered.

SQL> alter database open;

Database altered.

SQL> ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE AL16UTF16;

Database altered.

注意:

1)这样修改会影响数据库中定义了Nclob、NVARCHAR2等大字段的表,会出现乱码。需要重新导入表,当然在修改前要备份相关表。

2)如果没有大对象,在使用过程中进行语言转换没有什么影响,(切记设定的字符集必须是ORACLE支持,不然不能start)

若直接运行

ALTER DATABASE NATIONAL CHARACTER SET AL16UTF16;

可以,但是可能会出现‘ORA-12717: Cannot ALTER DATABASE NATIONAL CHARACTER SET when
NCLOB data exists’ 这样的提示信息

报错信息如下:

Wed May 30 16:25:58 2012
alter database national character set AL16UTF16
Wed May 30 16:25:58 2012
 XDB.XDB$NMSPC_ID (NMSPCURI) - NVARCHAR2 populated
ORA-12717 signalled during: alter database national character set AL16UTF16...

 

3、在停数据库时hang住了,没有办法只有直接abort了再startup。

SQL> shutdown immediate;
ORA-03113: end-of-file on communication channel

SQL> exit

 

SQL> connect /as sysdba
Connected to an idle instance.
SQL> shutdown abort;
ORACLE instance shut down.
SQL> exit

分享到:
评论

相关推荐

    ORACLE_CHAR_ToolS(ORACLE字符转换)

    1. 确认数据库的全局字符集(NLS_CHARACTERSET)和国家字符集(NLS_NCHAR_CHARACTERSET)。 2. 检查问题表的字符集设置,确保与数据库全局字符集一致。 3. 确认客户端的字符集设置,如SQL*Plus、PL/SQL Developer等...

    Oracle 字符集的查看和修改

    ### Oracle字符集的查看与修改详解 #### 一、Oracle字符集概述 Oracle数据库系统支持多种字符集,以便处理各种语言和地区的信息。字符集的选择对于数据的存储和处理至关重要,尤其是在全球化环境中,需要处理多种...

    Oracle 系统字符集查看实例.pdf

    例如,`NLS_CHARACTERSET` 参数显示了数据库的默认字符集,这里是 `ZHS16GBK`,表明这是一个支持中文的字符集。`NLS_NCHAR_CHARACTERSET` 参数则表示 National Character Set,通常用于存储双字节字符,如 Unicode ...

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

    在进行字符集修改之前,请确保满足以下前提条件: 1. **有足够的权限**:必须具备sysdba权限才能执行这些操作。 2. **备份数据库**:为避免意外情况导致数据丢失,在进行任何更改之前建议对整个数据库进行完整备份...

    ORACLE数据库字符集设置

    在ORACLE数据库中,字符集主要分为两大类:NLS_CHARACTERSET和NLS_NCHAR_CHARACTERSET。 1. **NLS_CHARACTERSET**:用于存储常规字符数据(如VARCHAR2类型)。 2. **NLS_NCHAR_CHARACTERSET**:用于存储宽字符数据...

    熟知Oracle字符集

    - **NLS_NCHAR_CHARACTERSET**:指定国家字符集。 #### 2.2 查看当前字符集设置 可以通过查询`V$NLS_PARAMETERS`视图来查看当前数据库的字符集设置: ```sql SELECT * FROM V$NLS_PARAMETERS; ``` 此外,还可以...

    Oracle查看编码格式

    - `NLS_NCHAR_CHARACTERSET` 参数指定了国家字符集。 - 通过这个命令,我们可以了解存储NCHAR、NVARCHAR2等类型列所使用的字符集。 **5. 查看客户端字符集:** ```sql SELECT * FROM nls_session_parameters ...

    ora-01460 错误原因分析

    其中,`NLS_CHARACTERSET`参数尤为重要,它定义了数据库使用的字符集。 ##### Step 2: 修改Windows注册表中的NLS_LANG值 如果是在Windows环境下使用Oracle,并且遇到了ORA-01460错误,那么可以尝试修改注册表中的`...

    Oracle_字符集的查看和修改

    通过理解 NLS_LANG 参数及其组成部分、字符集的不同类型以及如何查询与修改字符集,可以更好地管理和维护 Oracle 数据库。在实际应用中,根据具体的业务需求选择合适的字符集配置,并采取适当的措施来避免因字符集...

    Linux上安装Oracle汉字乱码完整解决方案_javacn

    - 对于已存在的数据库,可能需要修改`NLS_CHARACTERSET`和`NLS_NCHAR_CHARACTERSET`参数。但这通常需要停服,且可能有数据丢失风险。 8. **配置网络字符集**: - Oracle的监听器(listener.ora)也需要配置正确的...

    Oracle9.2_SYS_CONTEXT函数的用法

    21. **NLS_NCHAR_CHARACTERSET**:返回宽字符集。 22. **NLS_NUMERIC_CHARACTERS**:返回数字字符。 23. **NLS_TERRITORY**:返回区域设置。 24. **OS_USER**:返回操作系统的用户名。 25. **PROGRAM**:返回...

    oracle 中文字符集问题

    - **修改数据库字符集**:更改数据库字符集是一个复杂的过程,通常需要通过备份和恢复的方式完成,或使用`ALTER DATABASE CHARACTERSET`命令,但在某些情况下(如从`US7ASCII`转换到`UTF8`)可能需要额外的步骤和...

    oracle查询字符集语句分享

    这个查询用于获取数据库的NLS_NCHAR_CHARACTERSET,即国家字符集,适用于Unicode字符的存储。 2. 同样的,另外两种等价的查询方式也适用于获取国家字符集。 除此之外,我们还提到了查询Oracle服务器端的字符集,...

    ORACLE数据库字符集[参考].pdf

    在Oracle数据库中,有两个关键的字符集概念:数据库字符集(服务器端字符集)和国家字符集(NLS_NCHAR_CHARACTERSET)。数据库字符集在数据库创建时确定,通常不可更改,用于存储CHAR、VARCHAR2、CLOB、LONG等数据...

    Oracle 11.2.0.4到Oracle 19.3 PDB XTTS迁移方案测试.doc

    我们使用了 PROPS$ 表来查看字符集信息,并检查了 NLS_CHARACTERSET 和 NLS_NCHAR_CHARACTERSET 两个参数的值。然后,我们将目标 PDB 字符集设置为 UTF8,但是建议在生产环境中保持 PDB 字符集与 CDB 一致。 在迁移...

    修改oracel 字符集

    ### 修改Oracle字符集 在处理Oracle数据库时,经常会遇到与字符集相关的问题,尤其是在需要更改数据库的字符集时。本文将详细介绍如何通过PL/SQL Developer或其他Oracle管理工具来查询及修改Oracle数据库的字符集。...

    巧用导入_导出工具将“军字1号”系统升级到Oracle 8i.pdf

    - **Oracle 8i内部字符设置**:以`internal`用户登录`sqlplus`,更新系统表`props$`中的`NLS_CHARACTERSET`和`NLS_NCHAR_CHARACTERSET`字段值为`US7ASCII`,然后重启Oracle 8i以应用更改。 5. **初始化数据字典**...

    oracle详解

    NLS_CHARACTERSET:ZHS16GBK是当前数据库的字符集。 我们再来查看客户端的字符集信息: 客户端字符集的参数NLS_LANG=_< territory >. language:指定oracle消息使用的语言,日期中日和月的显示。 Territory:指定...

    oracle查看字符集和修改字符集使用详解

    本文将深入探讨Oracle字符集的查看与修改方法。 一、Oracle字符集概念 Oracle字符集由三部分组成:语言、地域和字符集。其中,字符集部分直接影响数据的编码方式。NLS_LANG环境变量是配置Oracle字符集的关键,其...

Global site tag (gtag.js) - Google Analytics