红联Linux门户
Linux帮助

oracle字符集(英文->中文)转换

发布时间:2007-05-09 00:12:01来源:红联作者:Gpoyinsnbo
注意:请严格按照指定步骤进行!操作前请先对数据库做整库备份。

1、在原数据库(字符集为英文)执行sqlplus,连接sys用户,修改字符集参数,然后退出。

SQL> connect sys/******; (口令一般为"manager")
update props$ set value$ = ’ZHS16GBK’ where name = ’NLS_CHARACTERSET’;
update props$ set value$ = ’ZHS16GBK’ where name = ’NLS_NCHAR_CHARACTERSET’;
commit;
SQL> quit;

2、执行svrmgrl,关闭并重新开启Oracle数据库

SVRMGR> connect internal/******; (口令一般为"oracle")
SVRMGR> shutdown immediate;
SVRMGR> startup mount;
SVRMGR> alter system enable restricted session;
SVRMGR> alter system set job_queue_process=0;
SVRMGR> alter database open;
SVRMGR> alter database character set ZHS16GBK;
SVRMGR> shutdown immediate;
SVRMGR> exit;

3、执行regedit,将键值HKEY_LOCAL_MACHINE\Software\ORACLE\NLS_LANG
由 AMERICAN_AMERICA.WE8ISO8859P1
转换为 SIMPLIFIED CHINESE_CHINA.ZHS16GBK

4、执行exp导出数据

5、执行regedit将键值HKEY_LOCAL_MACHINE\Software\ORACLE\NLS_LANG
由 SIMPLIFIED CHINESE_CHINA.ZHS16GBK
恢复为 AMERICAN_AMERICA.WE8ISO8859P1

6、执行sqlplus,连接sys用户,恢复字符集参数,然后退出。

connect sys/******; (口令一般为"manager")
update props$ set value$ = ’WE8ISO8859P1’ where name = ’NLS_CHARACTERSET’;
update props$ set value$ = ’WE8ISO8859P1’ where name = ’NLS_NCHAR_CHARACTERSET’;
commit;
SQL> quit;

7、重复步骤2,关闭并重新开启Oracle数据库

8、将导出的dmp文件导入目标数据库(字符集为中文)
文章评论

共有 0 条评论