Oracle字符集GBK改为UTF-8

来源:互联网 发布:一年java专业技能描述 编辑:程序博客网 时间:2024/05/17 07:23

今天导入oracle dmp文件时,出现报错,具体错误为某张表的某个字段超出实际长度(实际值:62,最大值50),此字段类型为varchar2(50),百思不得其解,后得经理指点得知,是字符集的原因,安装数据库是默认为GBK,然而一般使用都是UTF-8,导入的文件中也是用的UTF-8字符集,所以需要修改字符集。
这里写图片描述

命令如下:

 sqlplus 请输入用户名:  sys as sysdba      输入口令: shutdown immediate; startup mount; 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 utf8;//改为utf-8 // alter database character set internal_use zhs16gbk; 改为gbk shutdown immediate; startup;

运行过程如下:

C:\Users\Administrator>sqlplusSQL*Plus: Release 11.2.0.1.0 Production on 星期四 914 00:09:08 2017Copyright (c) 1982, 2010, Oracle.  All rights reserved.请输入用户名:  sys as sysdba输入口令:连接到:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProdWith the Partitioning, OLAP, Data Mining and Real Application TestingSQL> shutdown immediate;数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> startup mount;ORACLE 例程已经启动。Total System Global Area 4242378752 bytesFixed Size                  2182504 bytesVariable Size            2264924824 bytesDatabase Buffers         1962934272 bytesRedo Buffers               12337152 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 utf8;alter database character set utf8*1 行出现错误:ORA-12712: 新字符集必须为旧字符集的超集SQL> alter database character set internal_use utf8;数据库已更改。SQL> shutdown immediate;数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> startup;ORACLE 例程已经启动。Total System Global Area 4242378752 bytesFixed Size                  2182504 bytesVariable Size            2264924824 bytesDatabase Buffers         1962934272 bytesRedo Buffers               12337152 bytes数据库装载完毕。数据库已经打开。SQL>
阅读全文
0 0
原创粉丝点击