當前位置:首頁 » 操作系統 » 修改oracle資料庫字元集

修改oracle資料庫字元集

發布時間: 2023-09-05 17:49:52

⑴ 怎麼修改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. 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.

  2. 如果發現你select 出來的數據是亂碼,請把client端的字元集配置成與linux操作系統相同的字元集。如果還是有亂碼,則有可能是資料庫中的數據存在問題,或者是oracle服務端的配置存在問題。

  3. .1.oracle server端字元集查詢 復制代碼代碼如下: select userenv('language') from al; server字元集修改: 將資料庫啟動到RESTRICTED模式下做字元集更改:&??

  4. oracle10g伺服器端是安裝在AIX 6.0系統上,客戶端是安裝在windows server 2008 系統上,客戶端與伺服器已成功連接,但是資料庫表裡的中文字無法顯示,顯示為「?」,用SQLPLUS查得伺服器端的字元集為AL16uTF16,如何修改該字元集使之支持中文呢?另外oracle10G客戶端的字元集需不需要設置,如何查看和設置呢?

⑶ 如何修改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

⑷ 如何改變oracle資料庫字元編碼

1、查詢Oracle Server端的字元集:
有很多種方法可以查出oracle server端的字元集,比較直觀的查詢方法是以下這種:
SQL>select userenv(『language』) from al;
結果如下:AMERICAN _ AMERICA. ZHS16GBK。
2、查詢dmp文件的字元集:

Oracle的exp工具導出的dmp文件也包含了字元集信息,dmp文件的第2和第3個位元組記錄了dmp文件的字元集。如果dmp文件不大,比如只有幾
M或幾十M,可以用UltraEdit打開(16進制方式),看第2第3個位元組的內容,如0354,然後用以下SQL查出它對應的字元集:
SQL> select nls_charset_name(to_number('0354','xxxx')) from al;
ZHS16GBK
3、查詢Oracle client端的字元集:
這個比較簡單。在Windows平台下,就是注冊表裡面相應OracleHome的NLS_LANG。還可以在Dos窗口裡面自己設置,比如:
set nls_lang=AMERICAN_AMERICA.ZHS16GBK
如果檢查的結果發現Server端與Client端字元集不一致,請統一修改為同Server端相同的字元集。

熱點內容
說話加密 發布:2025-01-31 14:02:28 瀏覽:552
android倉庫管理系統 發布:2025-01-31 14:02:27 瀏覽:700
batsql語句 發布:2025-01-31 14:00:13 瀏覽:733
沈陽加密狗 發布:2025-01-31 13:54:58 瀏覽:705
聯想伺服器怎麼裝windows7 發布:2025-01-31 13:54:52 瀏覽:874
java二級考試歷年真題 發布:2025-01-31 13:50:31 瀏覽:171
編程一刻 發布:2025-01-31 13:36:44 瀏覽:585
編程小草出土 發布:2025-01-31 13:33:27 瀏覽:579
如何設置伺服器屏蔽你的ip 發布:2025-01-31 13:25:58 瀏覽:243
扣扣的獨立密碼是什麼密碼 發布:2025-01-31 13:23:42 瀏覽:132