linux修改oracle字元集
㈠ 如何查看和修改Oracle資料庫伺服器端的字元集
A、oracle server 端字元集查詢
select userenv('language') from al
其中NLS_CHARACTERSET 為server端字元集
NLS_LANGUAGE 為 server端字元顯示形式
B、查詢oracle client端的字元集
$echo $NLS_LANG
如果發現你select 出來的數據是亂碼,請把client端的字元集配置成與linux操作系統相同的字元集。如果還是有亂碼,則有可能是資料庫中的數據存在問題,或者是oracle服務端的配置存在問題。
C、server端字元集修改
將資料庫啟動到RESTRICTED模式下做字元集更改:
sql> conn /as sysdba Connected.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.如果發現你select 出來的數據是亂碼,請把client端的字元集配置成與linux操作系統相同的字元集。如果還是有亂碼,則有可能是資料庫中的數據存在問題,或者是oracle服務端的配置存在問題。
.1.oracle server端字元集查詢 復制代碼代碼如下: select userenv('language') from al; server字元集修改: 將資料庫啟動到RESTRICTED模式下做字元集更改:&??
oracle10g伺服器端是安裝在AIX 6.0系統上,客戶端是安裝在windows server 2008 系統上,客戶端與伺服器已成功連接,但是資料庫表裡的中文字無法顯示,顯示為「?」,用SQLPLUS查得伺服器端的字元集為AL16uTF16,如何修改該字元集使之支持中文呢?另外oracle10G客戶端的字元集需不需要設置,如何查看和設置呢?
㈡ 怎麼修改linux中 oracle資料庫的字元集
1)、用SYSTEM登錄資料庫。
2)、執行 UPDATE SYS.PROPS$ SET VALUE$='WE8ISO8859P1' WHERE NAME LIKE 'NLS_CHAR%'; 語句。
3)、修改注冊表,HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0 ,NLS_LANG的值改為AMERICAN_AMERICA.WE8ISO8859P1
4)、重新啟動資料庫。
如果第2步SYSTEM沒有許可權執行,可以在sql*plus登錄資料庫管理員帳號,然後再輸入語句「conn /as sysdba」也可。登錄完成後再執行UPDATE SYS.PROPS$ SET VALUE$='WE8ISO8859P1' WHERE NAME LIKE 'NLS_CHAR%';
㈢ 如何修改Oracle資料庫字元集
1、首先我們打開電腦桌面,同時按windows徽標鍵和R鍵,在彈出來的窗口裡輸入,regedit,點擊OK按鈕。
㈣ LINUX字元集與oracle字元集問題
ORACLE用這個就行:
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
說明:
NLS_LANG一般由三個部分組成, 語言、地域和字元集。
真正影響資料庫字元集的其實是第三部分。
ZHS16GBK表示採用GBK編碼格式、16位(兩個位元組)簡體中文字元集 。
LINUX也可以用這個字元集。
㈤ 如何修改oracle的字元集編碼
1. 備份資料庫中所有用戶的數據
以oracle用戶登陸,執行以下命令
# export NLS_LANG = 「SIMPLIFIED CHINESE_CHINA.UTF8」
保持與資料庫伺服器端一致,這樣在exp導出時,就不會存在字元的轉換了,備份最原始的數據。
2. 評估UTF8轉換成ZHS16GBK的風險
轉換之前,要使用Oracle的csscan工具對資料庫掃描,評估字元集轉換前後,數據有可能的損壞情況。如果評估情況糟糕,那就絕對要放棄了。
先安裝屬於 CSMIG 用戶的一套表和過程。以oracle用戶登陸UNIX,
#sqlplus 「/ as sysdab」
SQL>@$ORACLE_HOME/ rdbms/admin/csminst.sql
SQL>exit
# $ORACLE_HOME\bin\csscan -help
可以更清楚如何使用csscan。
# $ORACLE_HOME/bin/csscan system/sunday user=mmsc FROMCHAR=UTF8 TOCHAR=ZHS16GBK ARRAY=102400 PROCESS=3 > csscan.log
以上命令意思是掃描用戶:mmsc中的所有數據,從字元集UTF8更改為ZHS16GBK的轉換情況。然後得到三個文件:scan.txt、scan.out、scan.err。
查看scan.out,scan.err,可以看出mmsc用戶下的所有的數據都是可以轉換的,並且沒有出現轉換「Exceptional」的情況,因此可以更放心一點。
3. 更改資料庫的字元集為ZHS16GBK
前面說過,通過命令「Alter Database Characeter Set XXXX」,實現從超集到子集的轉換,在Oracle是不允許的。但是該命令,提供這樣的命令方式:
Alter Database Character Set INTERNAL_CONVERT/ INTERNAL_USE XXXX