oracle查看字元集後修改oracle服務端和用戶端字元集的步驟_oracle

來源:互聯網
上載者:User

1.oracle server端字元集查詢

複製代碼 代碼如下:

select userenv('language') from dual;

server字元集修改

將資料庫啟動到RESTRICTED模式下做字元集更改:

複製代碼 代碼如下:

SQL>conn /as sysdba

SQL>shutdown immediate;  

SQL>startup mount

SQL>ALTER  SYSTEM  ENABLE  RESTRICTED  SESSION;  

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 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;  

SQL>select * from v$nls_parameters; 

重啟檢查是否更改完成:

複製代碼 代碼如下:

SQL>shutdown immediate;

SQL>startup

SQL>select * from v$nls_parameters;

我們看到這個過程和之前ALTER DATABASE CHARACTER SET操作的內部過程是完全相同的,也就是說INTERNAL_USE提供的協助就是使Oracle資料庫繞過了子集與超集的校正

這一方法在某些方面是有用處的,比如測試;應用於產品環境時大家應該小心,可能會有一些意外的問題。

2.oracle client端字元集修改

複製代碼 代碼如下:

$echo$NLS_LANG

client字元集修改:  

 在 /home/oracle與 /root使用者目錄下的.bash_profile中添加或修改 export NLS_LANG="AMERICAN_AMERICA.UTF8" 語句

 關閉當前ssh視窗。

注意:NLS_LANG變數一定要配置正確否則會引起sqlplus失效。

3.修改資料庫字元集為UTF-8

1.以DBA登入

2.執行轉換語句:

複製代碼 代碼如下:

SHUTDOWN IMMEDIATE;

STARTUP MOUNT EXCLUSIVE;

ALTER SYSTEM ENABLE RESTRICTED SESSION;

ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

ALTER SYSTEM SET AQ_TM_PROCESSES=0;

ALTER DATABASE OPEN;

ALTER DATABASE NATIONAL CHARACTER SET UTF8;

SHUTDOWN IMMEDIATE;

STARTUP;

注意:如果沒有大對象,在使用過程中進行語言轉換沒有什麼影響!

可能會出現ORA-12717:CANNOT ALTER DATABASE NATIONAL CHARACTER SET WHEN NCLOBDATAEXISTS, 解決這個問題的方法

利用INTERNAL_USE 關鍵字修改地區設定

複製代碼 代碼如下:

ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.