當前位置:成語大全網 - 書法字典 - 如何查看數據庫的字符集

如何查看數據庫的字符集

Oracle數據庫查看和修改服務器端字符集的方法是本文的主要內容。我們來看看這部分。

壹、oracle服務器字符集查詢

從dual中選擇userenv(“語言”)

其中nls _ characters set是服務器端字符集。

NLS語言是服務器端的字符顯示形式。

b、查詢oracle客戶端的字符集。

$回聲$ NLS _朗

如果您發現您選擇的數據是亂碼,請將客戶端的字符集配置為與linux操作系統相同的字符集。如果仍然有亂碼,可能是數據庫中的數據或oracle服務器的配置有問題。

c、服務器端字符集修改

以受限模式啟動數據庫以更改字符集:

SQL & gtconn/作為sysdba連接。

SQL & gt立即關閉;

數據庫關閉。

數據庫已卸載。

ORACLE實例關閉。

SQL & gt啟動裝載ORACLE實例已開始。

總系統全局區236000356字節

固定大小451684字節

可變大小201326592字節

數據庫緩沖區33554432字節

重做緩沖區667648字節

數據庫已安裝。

SQL & gtALTER SYSTEM啟用受限會話;

系統改變了。

SQL & gtALTER SYSTEM SET JOB _ QUEUE _ PROCESSES = 0;

系統改變了。

SQL & gt請更改系統設置AQ進程= 0;

系統改變了。

SQL & gt打開數據庫;

數據庫改變了。

SQL & gt更改數據庫字符集zhs 16 gbk;

第1行出現ALTER DATABASE CHARACTER SET zhs 16 gbk錯誤:

ORA-12712:新字符集必須是舊字符集的超集

提示我們的字符集:新字符集必須是舊字符集的超集。此時,我們可以跳過對超集的檢查並進行更改:

SQL & gt更改數據庫字符集INTERNAL _ USE zhs 16 gbk;

數據庫改變了。

SQL & gtselect * from v$nls _ parameters;

省略

選擇了19行。

重新啟動以檢查更改是否完成:

SQL & gt立即關閉;

數據庫關閉。

數據庫已卸載。

ORACLE實例關閉。

SQL & gt啟動ORACLE實例已開始。

總系統全局區236000356字節

固定大小451684字節

可變大小201326592字節

數據庫緩沖區33554432字節

重做緩沖區667648字節

數據庫已安裝。

數據庫已打開。

SQL & gtselect * from v$nls _ parameters;

省略

選擇了19行。

我們看到這個過程和前面ALTER DATABASE字符集操作的內部過程壹模壹樣,也就是說INTERNAL_USE提供的幫助就是讓Oracle數據庫繞過子集和超集的檢查。

這種方法在某些方面是有用的,比如測試;每個人在應用到產品環境的時候都要格外小心,後果除了妳沒人負責。

結論(我們不妨再說壹遍):

對於DBA來說,有壹個非常重要的原則:不要把妳的數據庫置於危險之中!

這就要求我們在任何可能改變數據庫結構的操作之前,進行有效的備份。很多沒有備份的DBA的操作都有過慘痛的教訓。

d、客戶端字符集修改

在/home/oracle和/root用戶目錄下。在bash_profile中

添加或修改export NLS _朗= "美國_美國. utf8 "語句。