import done in AL32UTF8 character set and AL16UTF16 NCHAR character set
import server uses WE8MSWIN1252 character set (possible charset conversion)
export client uses ZHS16GBK character set (possible charset conversion)
SQL> select userenv('language') from dual;
# 采用的是操作系统默认字符集:WE8MSWIN1252,我这里需要将字符集修改为:ZHS16GBK。
USERENV('LANGUAGE')
--------------------------------------------------------------------------------
AMERICAN_AMERICA.WE8MSWIN1252
# 以管理员身份登录
SQL> sqlplus sys as sysdba
# 关闭数据库
SQL> shutdown immediate
SQL> startup
SQL> alter session set sql_trace=true;
SQL> alter system enable restricted session;
SQL> show parameter job_queue_processes;
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 INTERNAL_USE ZHS16GBK;
维护完以后需要
SQL>ALTER SYSTEM DISABLE RESTRICTED SESSION;
改变字符集后,原来已有的数据不会改变,只是之后新增的数据会是新的字符集。
引用自:https://www.cnblogs.com/guo-shuai/p/10811554.html
网友评论