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

注意:请严格按照指定步骤进行!操作前请先对数据库做整库备份。  
  
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文件导入目标数据库(字符集为中文)