我的编程空间,编程开发者的网络收藏夹
学习永远不晚

oracle 字符集修改 AL32UTF8 改为 ZHS16GBK

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

oracle 字符集修改 AL32UTF8 改为 ZHS16GBK

oracle 字符集修改 AL32UTF8 改为 ZHS16GBK

在使用ORACLE的过程中,会出现各种各样的问题,各种各样的错误,其中ORA-12899就是前段时间我在将数据导入到我本地机器上的时候一直出现的问题.不过还好已经解决了这个问题,现在分享一下,解决方案;
出现ORA-12899,是字符集引起的,中文在UTF-8中占3个字节,ZHS16GBK中占2个字节,而源dmp文件字符集是ZHS16GBK库里倒出来的数据,现在要导入到目标字符集为UTF-8的库里,所以会出现ORA-12899
其实只要修改一下ORACLE 的字符集就可以很好的解决这个问题;

Microsoft Windows [版本 10.0.18362.10024]
(c) 2019 Microsoft Corporation。保留所有权利。

C:Usersasus>sqlplus /nolog

SQL*Plus: Release 18.0.0.0.0 - Production on 星期四 3月 12 14:34:38 2020
Version 18.4.0.0.0

Copyright (c) 1982, 2018, Oracle.  All rights reserved.

SQL> conn / as sysdba
已连接。
SQL> select userenv("language") from dual;
 
USERENV("LANGUAGE")
--------------------------------------------------------------------------------
 
SIMPLIFIED CHINESE_CHINA.AL32UTF8
 
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> STARTUP MOUNT EXCLUSIVE;
ORACLE 例程已经启动。
 
Total System Global Area 2533359616 bytes
Fixed Size                  3835256 bytes
Variable Size             738200200 bytes
Database Buffers         1778384896 bytes
Redo Buffers               12939264 bytes
数据库装载完毕。
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
 
系统已更改。
 
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
 
系统已更改。
 
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
 
系统已更改。
 
SQL> ALTER DATABASE OPEN;
 
数据库已更改。
 
SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
 
数据库已更改。
 
SQL> ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE AL16UTF16;
 
数据库已更改。
 
SQL> SHUTDOWN IMMEDIATE
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> STARTUP
ORACLE 例程已经启动。
 
Total System Global Area 2533359616 bytes
Fixed Size                  3835256 bytes
Variable Size             738200200 bytes
Database Buffers         1778384896 bytes
Redo Buffers               12939264 bytes
数据库装载完毕。
数据库已经打开。
SQL> select userenv("language") from dual;
 
USERENV("LANGUAGE")
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
 
SQL> col parameter format a32;
SQL> col value format a32;
SQL> select * from nls_database_parameters;
 
PARAMETER                        VALUE
-------------------------------- --------------------------------
NLS_RDBMS_VERSION                12.1.0.2.0
NLS_NCHAR_CONV_EXCP              FALSE
NLS_LENGTH_SEMANTICS             BYTE
NLS_COMP                         BINARY
NLS_DUAL_CURRENCY                $
NLS_TIMESTAMP_TZ_FORMAT          DD-MON-RR HH.MI.SSXFF AM TZR
NLS_TIME_TZ_FORMAT               HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_FORMAT             DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_FORMAT                  HH.MI.SSXFF AM
NLS_SORT                         BINARY
NLS_DATE_LANGUAGE                AMERICAN
 
PARAMETER                        VALUE
-------------------------------- --------------------------------
NLS_DATE_FORMAT                  DD-MON-RR
NLS_CALENDAR                     GREGORIAN
NLS_NUMERIC_CHARACTERS           .,
NLS_NCHAR_CHARACTERSET           AL16UTF16
NLS_CHARACTERSET                 ZHS16GBK
NLS_ISO_CURRENCY                 AMERICA
NLS_CURRENCY                     $
NLS_TERRITORY                    AMERICA
NLS_LANGUAGE                     AMERICAN
 
已选择 20 行。
 

 

 到这里我们的字符集就更改过来了

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

oracle 字符集修改 AL32UTF8 改为 ZHS16GBK

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

oracle 字符集修改 AL32UTF8 改为 ZHS16GBK

在使用ORACLE的过程中,会出现各种各样的问题,各种各样的错误,其中ORA-12899就是前段时间我在将数据导入到我本地机器上的时候一直出现的问题.不过还好已经解决了这个问题,现在分享一下,解决方案;出现ORA-12899,是字符集引起的,中文在UTF-8中
oracle 字符集修改 AL32UTF8 改为 ZHS16GBK
2014-09-09

如何更改Oracle字符集以及把ZHS16GBK换成UTF8

如何更改Oracle字符集以及把ZHS16GBK换成UTF8,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。SQL> select name,value$ fro
2023-06-06

oracle字符集如何修改

要修改Oracle字符集,可以按照以下步骤进行操作:1. 进入Oracle数据库服务器的命令行界面。2. 使用SYSDBA或者SYSOPER权限的用户登录到数据库。3. 检查当前的数据库字符集设置。可以使用以下命令查询:```sqlSELE
2023-09-23

oracle字符集怎么修改

要修改 oracle 字符集,可以按以下步骤进行:修改数据库字符集:alter database character set 修改表或列字符集:alter table modify 如何修改 Oracle 字符集Oracle 数据库使
oracle字符集怎么修改
2024-05-30

如何修改oracle字符集

要修改 oracle 字符集,需要:备份数据库;在 init.ora 文件中修改字符集设置;重新启动数据库;修改现有表和列以使用新字符集;重新加载数据;修改数据库链接(可选)。修改 Oracle 字符集如何修改 Oracle 字符集?要
如何修改oracle字符集
2024-06-13

plsql怎么修改oracle字符集

要修改Oracle数据库的字符集,可以按照以下步骤进行操作:1. 首先,备份数据库以防止数据丢失。可以使用Oracle提供的工具或者第三方工具进行备份。2. 确认当前数据库的字符集。可以通过查询NLS_DATABASE_PARAMETERS
2023-09-29

RAC修改字符集

字符集修改做过几次了,这次感觉还是有点不顺,走了弯路,再记一遍【概况】准备搭建RAC+RAC DG,发现两端字符集不大一致,担心到时出问题。【目标】将备库NLS_NCHAR_CHARACTERSET修改成与主库一致。--备NLS_NCHAR_CHARACTER
2017-09-21

Oracle怎么修改数据库字符集

要修改Oracle数据库的字符集,可以按照以下步骤进行操作:首先备份数据库:在修改字符集之前,务必备份数据库以防止数据丢失。确认当前字符集:可以使用以下SQL语句查询当前数据库的字符集:SELECT value FROM nls_data
Oracle怎么修改数据库字符集
2024-04-09

怎么修改oracle数据库字符集

要修改Oracle数据库的字符集,你需要执行以下步骤:1. 运行 `sqlplus` 命令以登录到数据库。例如:`sqlplus / as sysdba`。2. 使用以下命令查看当前数据库的字符集:```sqlSELECT * FROM n
2023-08-23

编程热搜

目录