首页 > 数据库技术 > 详细

修改Oracle数据库的字符集

时间:2019-12-26 17:10:49      阅读:85      评论:0      收藏:0      [点我收藏+]

2019年6月,来到了新的环境工作,接触了新的项目。

新的项目需要用Oracle数据库,虽然以前没用过,但是边学边用呗,在安装Oracle数据库的时候完全没有注意到要选择UTF-8的字符集,直接就默认安装了。

刚开始用,没毛病,该查查,该删删。

过了2个月过后,需要更换另一个项目的时候,导入数据库还是老样子没啥毛病。

但是一切配置都搞定,项目启动过后,登录成功进入首页,一顿乱码!什么鬼!懵圈的一逼!之前的项目都没有毛病呀,怎么回事?

检查了一遍Eclipse的项目配置,没毛病呀。

最后检查了半天,发现是导入数据的时候,.dmp数据文件里的字符集与数据库软件的字符集不一样。

哎,要让我重新安装数据库软件,小弟做不到呀啊!~ ~! 里面那么多其他项目的数据,也不想备份。看来直接修改数据库软件的字符集要合适一点咯。

百度了半天,跟着操作,最终强行修改了数据库软件的字符集。下面贴一下当时的操作指令:

1、打开cmd
2、输入:SQLplus
3、输入:Connected as sys@ORCL AS SYSDBA(密码盲输)
4、输入:SHUTDOWN IMMEDIATE;
5、输入:STARTUP MOUNT;
6、输入:ALTER SYSTEM ENABLE RESTRICTED SESSION;
7、输入:ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
8、输入:ALTER SYSTEM SET AQ_TM_PROCESSES=0;
9、输入:ALTER SYSTEM SET AQ_TM_PROCESSES=0;
10、输入:ALTER DATABASE CHARACTER SET AL32UTF8;
若提示:提示新字符集必须是老字符集的超集。
则输入:ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;(强制转换)
11、输入:SHUTDOWN IMMEDIATE;
12、输入:STARTUP;

中间第10步可能会遇到提示新字符集必须是老字符集超集的情况,只能通过强制转换了。

我当时是遇到了这个情况,好在强制转换成功,数据库重新启动后,程序又回到了正规。ˉ-ˉ

最后附上Oracle的导入数据的指令,以便日后忘记的时候有地方能快速查询到,哈哈!

导入  Oracle数据库账户用户名/密码  buffer       需要导入的数据库文件路径                 导出用户        导入用户
IMP  user1/pwd1          BUFFER=64000    FILE=C:\Users\getwind\Desktop\dmp190519.DMP  FROMUSER=user2  TOUSER=user1 

这只是命令导入数据方式4种中的其中一种,只是我最比较习惯的一种方式。

修改Oracle数据库的字符集

原文:https://www.cnblogs.com/getwind/p/12102462.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!