ORACLE中的sql命令段輸入字元的亂碼問題
ORACLE中通過sqlplus登入資料庫,在SQL終端輸入字元就會出現一大堆的亂碼,百度找了很多解決辦法,最後終於解決了,不知道以後會不會出現什麼問題。
解決辦法:
首先檢視當前資料庫的字元編碼方式:
SELECT parameter, value FROM v$nls_parameters WHERE parameter LIKE '%CHARACTERSET'
更改步驟:
1、用sysdba角色使用者登入sqlplus: 命令列輸入:sqlplus sys as sysdba
2、輸入口令,進入sqlplus:sql>---
3、依次鍵入下面的命令列執行:
shutdown immediate;
STARTUP MOUNT;
ALTER SESSION SET SQL_TRACE=TRUE;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
ALTER SESSION SET SQL_TRACE=FALSE;
shutdown immediate;
startup;
風險分析:執行上述命令,有可能造成資料庫中已有資料混亂的情況,所以在進行操作前,要進行資料庫的備份操作;
結果檢視:察看 NLS_LANG 資訊:
SELECT parameter, value FROM v$nls_parameters WHERE parameter LIKE '%CHARACTERSET';
NLS_LANG 資訊已經變成:
重新通過sqlplus命令登入測試:
轉載於:https://blog.51cto.com/dayong2015/1352154