初次在生产机上做数据库字符集更改,不知道做之前各位前辈有什么忠告?听说搞不好就下岗了!真是高危职业!
解决方案 »
- 100分求助, jdbc,报 java.sql.SQLException: OAUTH 编集失败
- Oracle怎么给表的特定位置增加字段
- Oracle 存储过程测试问题!非常简单!!!!!
- SQL语句问题,在线等。
- 谁能提供一个oracle海量数据的分页存储过程啊,谢谢了啊
- 如何建自动递增的字段呀? 晕! (ORACLE初学者)
- 利用sqlplus查询语句?
- SQL问题: 怎样取出某一字段的所有不重复记录?
- 如何实现"a001"这样的字段的自增啊?
- 请教几类数据占用的空间
- sybase中的text类型,对应oralce的什么类型?
- win7旗舰版安装Oracle11g的几个错误提示&请大家帮忙推荐些Oracle的学习资料
做之前做好备份, 操作步骤参考下面:
5.1 修改server端字符集(不建议使用) 1. 关闭数据库
SQL>SHUTDOWN IMMEDIATE2. 启动到Mount
SQL>STARTUP MOUNT;
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 ZHS16GBK;
SQL>ALTER DATABASE national CHARACTER SET ZHS16GBK;
SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP
注意:如果没有大对象,在使用过程中进行语言转换没有什么影响,(切记设定的字符集必须是ORACLE支持,不然不能start) 按上面的做法就可以。
若出现‘ORA-12717: Cannot ALTER DATABASE NATIONAL CHARACTER SET when NCLOB data exists’ 这样的提示信息,
要解决这个问题有两种方法
1. 利用INTERNAL_USE 关键字修改区域设置,
2. 利用re-create,但是re-create有点复杂,所以请用internal_use
SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP MOUNT EXCLUSIVE;
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 NATIONAL CHARACTER SET INTERNAL_USE UTF8;
SQL>SHUTDOWN immediate;
SQL>startup;
如果按上面的做法做,National charset的区域设置就没有问题本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tianlesoftware/archive/2009/12/02/4915223.aspx
------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
DBA1 群:62697716(满); DBA2 群:62697977(满)
DBA3 群:62697850 DBA 超级群:63306533;
聊天 群:40132017
--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请