1. 程式人生 > 實用技巧 >ORACLE中的sql命令段輸入字元的亂碼問題

ORACLE中的sql命令段輸入字元的亂碼問題

ORACLE中通過sqlplus登入資料庫,在SQL終端輸入字元就會出現一大堆的亂碼,百度找了很多解決辦法,最後終於解決了,不知道以後會不會出現什麼問題。

wKioL1LXRm2jjwBfAADTlpB9Pzs686.jpg

解決辦法:

首先檢視當前資料庫的字元編碼方式:

SELECT parameter, value FROM v$nls_parameters WHERE parameter LIKE '%CHARACTERSET'

wKioL1LXRuzxq9COAAHVLx1BiUI888.jpg

更改步驟:

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 資訊已經變成:

wKioL1LXSHbi8J0OAADdyd851TU901.jpg

重新通過sqlplus命令登入測試:

wKiom1LXSS_Q5oaKAAGPdWVYDy0828.jpg

轉載於:https://blog.51cto.com/dayong2015/1352154