Oracle修改資料字符集
今天一個同事遇到一個問題。
他們的資料庫是GBK編碼的,但是因為測試的原因,需要使用UTF8編碼。但是原來資料庫中的資料需要保留。
解決過程:
1.匯出源資料庫資料
2.修改編碼
3.將資料倒回
匯入和匯出的過程並不需要指定編碼,Oracle會根據資料庫的編碼自動轉換。
下面的實驗驗證資料庫會自動轉換編碼
1.建立實驗表和資料
2.檢視資料庫編碼(編碼為GBK)
3.指定編碼匯出資料,使用exp和expdp兩種方式。
GBK編碼:
exp方式
資料泵方式:
UTF8編碼:
exp方式
資料泵方式:
4.在Linux環境UTF8編碼下,匯入GBK匯出的檔案。
可以看到指定不同的NLS_LANG匯出的檔案,其實是不一樣的,說明NLS_LANG在匯出的時候,確實起到了作用,甚至是資料泵方式。
在UTF8編碼下,使用資料泵匯入GBK編碼匯出的檔案。
在UTF8環境下,使用imp匯入GBK編碼匯出的檔案。
檢視結果,沒有亂碼,說明Oracle可以自動判斷匯出檔案的編碼,並進行轉換:
參考:
他們的資料庫是GBK編碼的,但是因為測試的原因,需要使用UTF8編碼。但是原來資料庫中的資料需要保留。
解決過程:
1.匯出源資料庫資料
2.修改編碼
3.將資料倒回
匯入和匯出的過程並不需要指定編碼,Oracle會根據資料庫的編碼自動轉換。
下面的實驗驗證資料庫會自動轉換編碼
1.建立實驗表和資料
2.檢視資料庫編碼(編碼為GBK)
3.指定編碼匯出資料,使用exp和expdp兩種方式。
GBK編碼:
exp方式
資料泵方式:
UTF8編碼:
exp方式
資料泵方式:
4.在Linux環境UTF8編碼下,匯入GBK匯出的檔案。
可以看到指定不同的NLS_LANG匯出的檔案,其實是不一樣的,說明NLS_LANG在匯出的時候,確實起到了作用,甚至是資料泵方式。
在UTF8編碼下,使用資料泵匯入GBK編碼匯出的檔案。
在UTF8環境下,使用imp匯入GBK編碼匯出的檔案。
檢視結果,沒有亂碼,說明Oracle可以自動判斷匯出檔案的編碼,並進行轉換:
參考:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-1069723/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 修改Oracle資料庫字符集Oracle資料庫
- 修改Oracle資料庫字符集(zt)Oracle資料庫
- 「Oracle」資料庫字符集編碼修改Oracle資料庫
- 修改資料庫字符集資料庫
- Oracle 字符集修改Oracle
- 修改oracle字符集Oracle
- oracle修改字符集Oracle
- oracle字符集修改Oracle
- oracle 修改字符集Oracle
- 修改資料庫字符集(轉)資料庫
- oracle之修改字符集Oracle
- 修改oracle9i資料庫字符集的方法(轉)Oracle資料庫
- 怎樣修改資料庫字符集資料庫
- ORACLE 修改資料庫的字符集編碼為UTF-8Oracle資料庫
- 修改oracle client 的字符集Oracleclient
- Oracle修改字符集前如何找出可能出現問題的資料?Oracle
- 怎樣修改檢視Oracle字符集及怎樣修改字符集 ztOracle
- oracle 字符集檢視與修改Oracle
- 檢視和修改Oracle字符集Oracle
- 【轉】修改Oracle字符集(character set)Oracle
- Linux下修改Oracle字符集LinuxOracle
- oracle資料庫字符集資訊Oracle資料庫
- oracle國家字符集與資料庫字符集Oracle資料庫
- 檢視、修改oracle字符集,檢視oracle版本Oracle
- Oracle字符集的檢視和修改Oracle
- oracle 11g rac 修改字符集Oracle
- Oracle 字符集的檢視和修改Oracle
- 修改oracle 10g的字符集Oracle 10g
- Oracle 10中修改字符集(character set)Oracle
- ORA-12899 修改資料庫字符集資料庫
- oracle資料庫的字符集更改Oracle資料庫
- 檢視oracle資料庫字符集Oracle資料庫
- Oracle資料庫字符集介紹Oracle資料庫
- Oracle資料庫字符集問題Oracle資料庫
- Oracle資料庫字符集淺析Oracle資料庫
- Oracle字符集的檢視查詢和Oracle字符集的設定修改Oracle
- 轉載如何修改oracle資料庫字符集_及如何繞過超集報錯Oracle資料庫
- 如何在10g中修改資料庫字符集資料庫