美文网首页oracle数据库
oracle之修改字符集

oracle之修改字符集

作者: iszengmh | 来源:发表于2018-01-11 12:16 被阅读33次

参考链接

如何改oracle AL16UTF16为AL32UTF8——百度知道

建库时AL16UTF16字符集怎么设置?——出处: ITPUB论坛-中国最专业的IT技术社区

正文

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

C:\Users\Administrator>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期四 1月 11 12:00:49 2018

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


连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area 3290345472 bytes
Fixed Size                  2180224 bytes
Variable Size            2164263808 bytes
Database Buffers         1107296256 bytes
Redo Buffers               16605184 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 AL32UTF8;
ALTER DATABASE CHARACTER SET AL32UTF8
*
第 1 行出现错误:
ORA-12712: 新字符集必须为旧字符集的超集


SQL> ALTER DATABASE CHARACTER SET AL16UTF16;
ALTER DATABASE CHARACTER SET AL16UTF16
*
第 1 行出现错误:
ORA-12712: 新字符集必须为旧字符集的超集
# ALTER DATABASE national CHARACTER SET AL16UTF16;

SQL> ALTER DATABASE character set INTERNAL_USE AL32UTF8;

数据库已更改。

SQL> SHUTDOWN IMMEDIATE;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> STARTUP
ORACLE 例程已经启动。

Total System Global Area 3290345472 bytes
Fixed Size                  2180224 bytes
Variable Size            2164263808 bytes
Database Buffers         1107296256 bytes
Redo Buffers               16605184 bytes
数据库装载完毕。
数据库已经打开。
SQL>

ALTER DATABASE character set INTERNAL_USE AL32UTF8;
INTERNAL_USE有点像是强制修改,其他用户角色可能会报错

其他问题

AL16UTF16不能作为character set

AL16UTF16 不能用做数据库的character set,只能用做national character set 。
character set必须是single byte 7-bit ASCII或是单字节EBCDIC的子集,因此fixed width的多字节字符集(AL16UTF16)就不能做为character set。

你可以用如下这样用的:

CHARACTER SET US7ASCII NATIONAL CHARACTER SET AL16UTF16
或是
CHARACTER SET zhs16cgb231280  NATIONAL CHARACTER SET AL16UTF16

相关文章

  • oracle之修改字符集

    参考链接 如何改oracle AL16UTF16为AL32UTF8——百度知道 建库时AL16UTF16字符集怎么...

  • Oracle修改字符集

    背景:公司给更换了配置较高的笔记本,所以一切软件又要重新安装了,也是又一次翻着百度安装Oracle,技术不到家也好...

  • 修改oracle字符集

    先用sqlplus 系统用户登录: sqlplus / as sysdba; 然后执行下面的命令即可: **shu...

  • Oracle修改字符集

    1查询服务端字符集 2先用system和密码登陆SQLPLUS(如果不能直接以sys登陆到sqlplus的话),进...

  • 修改oracle字符集

    查看字符集 重启机器

  • centos 安装oracle 11g r2(四)-----修改

    centos 安装oracle 11g r2(四)-----修改字符集为ZHS16GBK 一、查询两个库的字符集 ...

  • Oracle字符集检查和修改

    Oracle字符集检查和修改 在部署重构版测试环境时,需要创建Oracle数据库,使用dbca创建数据库之后没有注...

  • Oracle导入、导出dmp文件

    前言:接上文Oracle修改字符集,此篇主要是针对Oracle数据库dmp文件的导入和导出操作。不特别添加plsq...

  • 数据库不同字符集迁移

    数据库不同字符集迁移 一.引言 ORACLE 数据库字符集,即Oracle全球化支持(Globalization ...

  • 2019-04-16字符集 通配符

    修改字符集 永久修改字符集 重启xshell 原因 与远程工具不同字符集 排错 查看xshll字符集查看系统字符集...

网友评论

    本文标题:oracle之修改字符集

    本文链接:https://www.haomeiwen.com/subject/nmmznxtx.html