初次在生产机上做数据库字符集更改,不知道做之前各位前辈有什么忠告?听说搞不好就下岗了!真是高危职业!
解决方案 »
- 这个SQL列转行怎么写?
- wmsys.wm_concat,无效列名
- 直接用sql能实现根据字段长度找到代码并把结果填充到同一表内另一个字段吗?内详
- 请教一条sql语句
- ora_01843 无效的月份问题(高手指点)看有分解决加分
- 我放弃让w2k下自动启动oracle的努力了,但如果编一个启动数据库的批处理,如何编?
- 超级简单问题,sql语句中查询某个时间字段为当前日期的应该怎么写?
- 菜鸟。。。。。。。。求问?????????
- 关于plsql,我第一次接触,很急,一点之前希望有人可以回答
- 利用powerdesigner建模时生成的触发器怎么修改默认命名规则
- 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表空间和数据文件的关系,否则拒绝申请