返回顶部
首页 > 资讯 > 数据库 >Oracle 12C 修改字符集为AL32UTF8研究
  • 936
分享到

Oracle 12C 修改字符集为AL32UTF8研究

2024-04-02 19:04:59 936人浏览 安东尼
摘要

有这样一个问题:PDB字符集能否从ZHS16GBK修改为AL32UTF8? 答案:由于CDB为ZHS16GBK,导致PDB不能修改。 针对这个问题作了一下学习,记录一下。 1、迁移转换字符集方法: 1

有这样一个问题:PDB字符集能否从ZHS16GBK修改为AL32UTF8?

答案:由于CDB为ZHS16GBK,导致PDB不能修改。

针对这个问题作了一下学习,记录一下。

1、迁移转换字符集方法:

12C :只有DMU这个工具

10g/11g :CSScan/ csalter /部分 exp/imp

8i/9i :Alter Database Character Set () / 部分 exp/imp 

2、AL32UTF8 是一个变宽度的字符集,表示为 1 个字符的代码可以是 1,2,3 或 4 个字节长。

这 与 WE8ISO8859P1 或 WE8MSWIN1252 字符集中 1 字符始终是 1 个字节有很大的区别。

3、使用 AL32UTF8数据库会增长,最大的扩展将会发生在 CLOB 类型上(或者 XMLtype – 该类型后台使用 CLOB),

如果源数据 库是 8 bit 字符集(WE8ISO8859P1,WE8MSWIN1252 等),那么转换后的 Clob 列会在磁盘 大小上变成原来的两倍。 

4、CDB不能转换字符集,只能重新创建CDB。DMU 是PDB转换字符集的唯一工具;

5、截至2019.9.8,DMU最新版本为19.1,使用过程图形界面有卡死现象。DMU用于转换数据的过程是:

数据库置于受限模式。

禁用各种作业队列进程。

删除或禁用所选索引

禁用选定的触发器和约束。

将用户表和选定数据字典表中的数据转换为Unicode。

转换CLOB数据字典中的列。

发表ALTER DATABASE CHARACTER SET声明。

启用触发器和约束; 并重新创建索引和约束。

恢复数据库实例参数。

6、使用9i 传统方法alter database character set INTERNAL_USE AL32UTF8;  修改CDB测试成功,但oracle官方不推荐。该方法并未执行两个步骤:将用户表和选定数据字典表中的数据转换为Unicode  和 转换CLOB数据字典中的列。这两关键步骤只能通过DMU实行。

测试:使用该方法切换CDB字符集从ZHS16GBK到AL32UTF8成功,同时PDB$SEED也自动变化;但按官方说法切换不完整,不赞成这样做。

7、NLS_NCHAR_CHARACTERSET("国家字符集")定义了 NCHAR,NVARCHAR2 和 NCLOB 列 的编码并且在 9i 及以上版本已经是 Unicode了(参见 Note 276914.1 The National Character Set in Oracle 9i 10g and 11g)。 

8、NLS_CHARACTERSET("字符集")定义了"普通的" CHAR,VARCHAR2,LONG 和 CLOB列编 码,这些也可以被用于存放 Unicode。在这样的情况下需要 AL32UTF8 或者 UTF8 NLS_CHARACTERSET 数据库。

参考文档:

AL32UTF8/UTF8(Unicode)数据库字符集含义 (文档 ID 1946289.1)

如何选择或更改数据库字符集 (NLS_CHARACTERSET) (文档 ID 1525394.1)

The Database Migration Assistant for Unicode (DMU) Tool (文档 ID 1272374.1)

您可能感兴趣的文档:

--结束END--

本文标题: Oracle 12C 修改字符集为AL32UTF8研究

本文链接: https://lsjlt.com/news/47667.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Oracle 12C 修改字符集为AL32UTF8研究
    有这样一个问题:PDB字符集能否从ZHS16GBK修改为AL32UTF8 答案:由于CDB为ZHS16GBK,导致PDB不能修改。 针对这个问题作了一下学习,记录一下。 1、迁移转换字符集方法: 12...
    99+
    2024-04-02
  • oracle 字符集修改 AL32UTF8 改为 ZHS16GBK
    在使用ORACLE的过程中,会出现各种各样的问题,各种各样的错误,其中ORA-12899就是前段时间我在将数据导入到我本地机器上的时候一直出现的问题.不过还好已经解决了这个问题,现在分享一下,解决方案;出现ORA-12899,是字...
    99+
    2014-09-09
    oracle 字符集修改 AL32UTF8 改为 ZHS16GBK
  • 12c 数据库字符集AL32UTF8改为ZHS16GBK
    一、查看字符集 SQL> select * from v$version; BANNER ...
    99+
    2024-04-02
  • Oracle12c DB字符集ZHS16GBK改为AL32UTF8
    一、查看字符集 SQL> select * from v$version; BANNER ...
    99+
    2024-04-02
  • Oracle 12C 修改数据库字符集方法+修改客户端字符集方法:
    Oracle 12C 可以进行PDB的单独修改字符集方式,后续介绍。本次采用修改CDB全部修改的方式: 先查询数据库字符集情况: select * from nls_database_parame...
    99+
    2024-04-02
  • oracle各种字符集修改
    select * from v$nls_parameter会显示nls_characterset和nls_nchar_characterset的值修改字符集nls_characterse...
    99+
    2024-04-02
  • oracle字符集如何修改
    要修改Oracle字符集,可以按照以下步骤进行操作:1. 进入Oracle数据库服务器的命令行界面。2. 使用SYSDBA或者SYS...
    99+
    2023-09-23
    oracle
  • oracle字符集怎么修改
    要修改 oracle 字符集,可以按以下步骤进行:修改数据库字符集:alter database character set 修改表或列字符集:alter table modify ...
    99+
    2024-05-30
    oracle
  • 如何修改oracle字符集
    要修改 oracle 字符集,需要:备份数据库;在 init.ora 文件中修改字符集设置;重新启动数据库;修改现有表和列以使用新字符集;重新加载数据;修改数据库链接(可选)。 修改 ...
    99+
    2024-06-13
    oracle
  • Oracle修改数据库字符集
    1.(Window:)cmd下输入set ORACLE_SID=你想进入的数据库的那个sid(Linux:)切换到oracle用户:export  ORACLE_SID=你想进入的数据库的那个si...
    99+
    2024-04-02
  • oracle修改字符集的方法
    本篇内容主要讲解“oracle修改字符集的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“oracle修改字符集的方法”吧! se...
    99+
    2024-04-02
  • plsql怎么修改oracle字符集
    要修改Oracle数据库的字符集,可以按照以下步骤进行操作:1. 首先,备份数据库以防止数据丢失。可以使用Oracle提供的工具或者...
    99+
    2023-09-29
    plsql oracle
  • oracle 11g rac如何修改字符集
    这篇文章将为大家详细讲解有关oracle 11g rac如何修改字符集,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 系统版本: Oracle Linux Serve...
    99+
    2024-04-02
  • Oracle字符集的查看查询和Oracle字符集的设置修改
    Oracle字符集的查看查询和Oracle字符集的设置修改 查看数据库可用字符集参数设置  SELECT * FROM v$nls_valid_values...
    99+
    2024-04-02
  • RAC修改字符集
    字符集修改做过几次了,这次感觉还是有点不顺,走了弯路,再记一遍【概况】准备搭建RAC+RAC DG,发现两端字符集不大一致,担心到时出问题。 【目标】将备库NLS_NCHAR_CHARACTERSET修改成与主库一致。--备NLS_NCHA...
    99+
    2017-09-21
    RAC修改字符集
  • mysql字符集修改
    本实验的环境:linux系统:cat /etc/redhat-release CentOS release 6.5 (Final)数据库环境(源码编译,多实例):select version();...
    99+
    2024-04-02
  • 怎么修改oracle数据库字符集
    要修改Oracle数据库的字符集,你需要执行以下步骤:1. 运行 `sqlplus` 命令以登录到数据库。例如:`sqlplus /...
    99+
    2023-08-23
    oracle数据库
  • Oracle怎么修改数据库字符集
    要修改Oracle数据库的字符集,可以按照以下步骤进行操作: 首先备份数据库:在修改字符集之前,务必备份数据库以防止数据丢失。 ...
    99+
    2024-04-09
    Oracle 数据库
  • RAC12C修改PDB字符集
    12C修改pdb字符集(RAC): 背景: 已安装的oracle12.2rac字符集为AL32UTF8,而且环境中已经有其他pdb,新建pdb进行数据导入是发现字符集问题导致导入报错(原库字符集是zhs16...
    99+
    2024-04-02
  • linux怎么修改字符集编码为gbk
    要将Linux系统的字符集编码修改为GBK,可以按照以下步骤操作: 打开终端窗口。 使用root权限登录或者切换到root用...
    99+
    2023-10-25
    linux
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作