最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

改变数据库字符集

来源:动视网 责编:小OO 时间:2025-09-26 10:55:52
文档

改变数据库字符集

改变数据库字符集.txt精神失常的疯子不可怕,可怕的是精神正常的疯子!遇见这种情况以往最常见的处理方法是导出数据(exp),用ZHS16GBK字符集重建数据库,最后再导入(imp)数据。但这个过程对于一个大型数据库来说很漫长和痛苦。这里给大家介绍一个比较快速简单的方法,几分钟就能实现字符集转换。这里以oracle9i为例(8i中的操作略有不同)。1.作为oracle用户登录数据库服务器2.停止监听程序$lsnrctlstop或$lsnrctlstoplistener名称3.作为sysdba登录
推荐度:
导读改变数据库字符集.txt精神失常的疯子不可怕,可怕的是精神正常的疯子!遇见这种情况以往最常见的处理方法是导出数据(exp),用ZHS16GBK字符集重建数据库,最后再导入(imp)数据。但这个过程对于一个大型数据库来说很漫长和痛苦。这里给大家介绍一个比较快速简单的方法,几分钟就能实现字符集转换。这里以oracle9i为例(8i中的操作略有不同)。1.作为oracle用户登录数据库服务器2.停止监听程序$lsnrctlstop或$lsnrctlstoplistener名称3.作为sysdba登录
改变数据库字符集.txt精神失常的疯子不可怕,可怕的是精神正常的疯子!  遇见这种情况以往最常见的处理方法是导出数据(exp), 用 ZHS16GBK 字符集重建数据库,最后再导入(imp)数据。但这个过程对于一个大型数据库来说很漫长和痛苦。这里给大家介绍一个比较快速简单的方法,几分钟就能实现字符集转换。这里以 oracle9i为例(8i中的操作略有不同)。

1.        作为 oracle 用户登录数据库服务器

2.        停止监听程序

                   $lsnrctl stop

                   或

                   $lsnrctl stop  listener名称

3.        作为 sysdba 登录数据库, 并检查目前的数据库字符集设置

                   sqlplus /nolog

                   connect /as sysdba

                   select value$ from props$ where name ='NLS_CHARACTERSET';

如果上述查询结果为 ZHS16CGB231280, 则进行如下操作:

4.        保存下列数据库配置参数的原始设置

             show parameter job_queue_processes

             show parameter aq_tm_processes

5.        关闭数据库服务,重新启动后修改数据库字符集, 并关闭数据库

              shutdown immediate

              startup mount

              alter system enable restricted session;

              alter database open;

              alter system set job_queue_processes = 0;

              alter system set aq_tm_processes = 0;

              alter database character set internal_use zhs16gbk;

              shutdown immediate

6.        重新启动数据库服务,恢复 job_queue_processes设置

             startup

             alter system set job_queue_processes=原始设置;

             alter system set aq_tm_processes=原始设置;

             exit

7.        启动监听程序

             $lsnrctl start

             或

             $lsnrctl start  listener名称

8.        修改客户端 NLS_LANG 设置

             windows 客户端在注册表中修改 NLS_LANG 参数:

             nls_lang=”American_america.zhs16gbk”

    注意,这里要指出的是, 字符集间的转换可能会造成数据库信息破坏,如把 ZHS16GBK 的oracle 数据库转换为 zhs16cgb231280, 其中的疑难汉字就会变成同样的, 有时甚至造成主键重复活违反唯一索引等问题。可能很少有人知道, Oracle 其实提供了一个应用程序 csscan, 可以用来检测字符集转换后数据库的内容是否会被破坏。要使用 csscan 程序必须先以 sysdba 的身份执行 $ORACLE_HOME/rdbms/admin 目录下的 csminst.sql。csscan help=y 可以得到关于 csscan 命令使用方法的帮助。

文档

改变数据库字符集

改变数据库字符集.txt精神失常的疯子不可怕,可怕的是精神正常的疯子!遇见这种情况以往最常见的处理方法是导出数据(exp),用ZHS16GBK字符集重建数据库,最后再导入(imp)数据。但这个过程对于一个大型数据库来说很漫长和痛苦。这里给大家介绍一个比较快速简单的方法,几分钟就能实现字符集转换。这里以oracle9i为例(8i中的操作略有不同)。1.作为oracle用户登录数据库服务器2.停止监听程序$lsnrctlstop或$lsnrctlstoplistener名称3.作为sysdba登录
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top