sqlplus system/123@ORCL; 查看oracle字符集: select * from nls_database_parameters where parameter ='NLS_CHARACTERSET'; C、server端字符集修改 ***************************************************************** * 更改字符集步驟方法(WE8ISO8859P1 --> ZHS16GBK) * ***************************************************************** SQL> 將數據庫啟動到RESTRICTED模式下做字符集更改: SQL> conn /as sysdba Connected. SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 236000356 bytes Fixed Size 451684 bytes Variable Size 201326592 bytes Database Buffers 33554432 bytes Redo Buffers 667648 bytes Database mounted. SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION; System altered. SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; System altered. SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0; System altered. SQL> alter database open; Database altered. SQL> ALTER DATABASE CHARACTER SET ZHS16GBK; ALTER DATABASE CHARACTER SET ZHS16GBK * ERROR at line 1: ORA-12712: new character set must be a superset of old character set 提示我們的字符集:新字符集必須為舊字符集的超集,這時我們可以跳過超集的檢查做更改: SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK; Database altered. SQL> select * from v$nls_parameters; 略 19 rows selected. 重啟檢查是否更改完成: SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 236000356 bytes Fixed Size 451684 bytes Variable Size 201326592 bytes Database Buffers 33554432 bytes Redo Buffers 667648 bytes Database mounted. Database opened. SQL> select * from v$nls_parameters; 略 19 rows selected. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ D、client端字符集修改 在 /home/oracle與 /root用戶目錄下的.bash_profile中 添加或修改 export NLS_LANG="AMERICAN_AMERICA.UTF8" 語句 關閉當前ssh窗口。 drop tablespace TS_DATA including contents and datafiles; create tablespace TS_DATA logging datafile 'D:\tablespace\TS_DATA.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; drop user user1 cascade; create user user1 identified by 123456 default tablespace TS_DATA; grant connect,resource to user1; grant dba to user1; spool off; create directory dpDir as 'd:\dump'; grant read,write on directory dpDir to user1; DOS直接執行: expdp user1/123456 directory=dpDir dumpfile=user120170505.dmp logfile=user120170505.log PARALLEL=4; 拷貝數據庫文件和日志文件到這個目錄: D:\app\thinkpad\admin\orcl\dpdump 后執行以下命令: impdp user1/123456@orcl file=USER120170505.DMP log=user120170505.log