由於源資料和目標資料的字符集不一致,引起無法匯入的問題
由於源資料和目標資料的字符集不一致,導致無法匯入,報錯如下:
解決辦法:
修改兩個資料庫為統一的字符集,之後重新匯出再匯入;
具體步驟如下:
a後設資料庫:
SQL> select tab1.aa||'_'||tab2.bb||'.'||tab3.cc from
2 (select VALUE$ aa from sys.props$ where name='NLS_LANGUAGE')tab1,
3 (select VALUE$ bb from sys.props$ where name='NLS_ISO_CURRENCY')tab2,
4 (select VALUE$ cc from sys.props$ where name='NLS_CHARACTERSET')tab3;
TAB1.AA||'_'||TAB2.BB||'.'||TAB3.CC
----------------------------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK
b目標資料庫:
SQL> select tab1.aa||'_'||tab2.bb||'.'||tab3.cc from
2 (select VALUE$ aa from sys.props$ where name='NLS_LANGUAGE')tab1,
3 (select VALUE$ bb from sys.props$ where name='NLS_ISO_CURRENCY')tab2,
4 (select VALUE$ cc from sys.props$ where name='NLS_CHARACTERSET')tab3;
TAB1.AA||'_'||TAB2.BB||'.'||TAB3.CC
----------------------------------------------------------------------
AMERICAN_AMERICA.AL32UTF8
原因:由於源和目標資料庫的字符集不一致或不是子集和超集的關係,所以造成不能匯入表空間的字符集。
解決方法:將源資料庫和目標資料庫的字符集調整為一致的字符集;或者源資料庫的字符集是目標資料庫的子集。
源資料庫的修改:
SQL> alter database character set internal_use utf8;
alter database character set internal_use utf8
*
第1行出現錯誤:
ORA-12719:操作要求資料庫處於RESTRICTED模式下
SQL> shutdown immediate;
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE例程已經關閉。
SQL> startup mount;
ORACLE例程已啟動
Total System Global Area 444596224 bytes
Fixed Size 1219904 bytes
Variable Size 138412736 bytes
Database Buffers 301989888 bytes
Redo Buffers 2973696 bytes
資料庫已裝載
SQL> alter system enable restricted session;
系統已更改
SQL> alter database open;
資料庫已更改
SQL> alter database character set internal_use utf8;
資料庫已更改
SQL> shutdown immediate;
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE例程已經關閉。
SQL> startup mount;
ORACLE例程已啟動
Total System Global Area 444596224 bytes
Fixed Size 1219904 bytes
Variable Size 138412736 bytes
Database Buffers 301989888 bytes
Redo Buffers 2973696 bytes
資料庫已裝載
SQL> alter system disable restricted session;
系統已更改
SQL> alter database open;
資料庫已更改
SQL> select tab1.aa||'_'||tab2.bb||'.'||tab3.cc from
2 (select VALUE$ aa from sys.props$ where name='NLS_LANGUAGE')tab1,
3 (select VALUE$ bb from sys.props$ where name='NLS_ISO_CURRENCY')tab2,
4 (select VALUE$ cc from sys.props$ where name='NLS_CHARACTERSET')tab3;
TAB1.AA||'_'||TAB2.BB||'.'||TAB3.CC
----------------------------------------------------------------------
AMERICAN_AMERICA.UTF8
目標資料庫修改:
SQL> alter database character set internal_use utf8;
alter database character set internal_use utf8
*
ERROR at line 1:
ORA-12719: operation requires database is in RESTRICTED mode
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 444596224 bytes
Fixed Size 1219904 bytes
Variable Size 138412736 bytes
Database Buffers 301989888 bytes
Redo Buffers 2973696 bytes
Database mounted.
SQL> alter system enable restricted session;
System altered.
SQL> alter database open;
Database altered.
SQL> alter database character set internal_use utf8;
Database altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 444596224 bytes
Fixed Size 1219904 bytes
Variable Size 138412736 bytes
Database Buffers 301989888 bytes
Redo Buffers 2973696 bytes
Database mounted.
SQL> alter system disable restricted session;
System altered.
SQL> alter database open;
Database altered.
SQL> select tab1.aa||'_'||tab2.bb||'.'||tab3.cc from
2 (select VALUE$ aa from sys.props$ where name='NLS_LANGUAGE')tab1,
3 (select VALUE$ bb from sys.props$ where name='NLS_ISO_CURRENCY')tab2,
4 (select VALUE$ cc from sys.props$ where name='NLS_CHARACTERSET')tab3;
TAB1.AA||'_'||TAB2.BB||'.'||TAB3.CC
----------------------------------------------------------------------
AMERICAN_AMERICA.UTF8
修改完成,再重新匯出/匯入一遍,即可成功。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29330852/viewspace-1078330/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 由於目錄變更引起的資料服務無法啟動的問題處理記錄
- 特殊字元^M引起的資料匯入問題字元
- OGG源端和目標端資料不一致的場景
- 資料泵無法匯入JOB
- 【原創】由隱式轉換引起的資料庫效能問題資料庫
- Hive資料匯入HBase引起資料膨脹引發的思考Hive
- mysql 5 資料庫匯出與字符集的問題。MySql資料庫
- DBeaver 資料匯入SQL時的問題SQL
- 關於資料表結構sql檔案匯入mysql資料庫的問題?MySql資料庫
- 【oracle 資料匯入匯出字元問題】Oracle字元
- 資料泵匯出匯入資料標準文件
- impdp做資料匯入時約束和觸發器引起資料匯入後應用故障觸發器
- DB2匯入資料遇到的問題DB2
- 在不同字符集的資料庫之間匯入資料的方法(轉)資料庫
- 匯入和匯出AWR的資料
- BCP 資料的匯入和匯出
- NDS的資料匯入和匯出
- python將目標檢測資料匯入到指定資料庫中Python資料庫
- MySQL資料匯入匯出亂碼問題MySql
- BW資料匯入亂碼問題
- MySQL資料庫結構和資料的匯出和匯入 (轉)MySql資料庫
- ORA-39082 匯入資料遇到的問題
- 不同字符集資料庫之間的資料同步問題:資料庫
- SQL資料庫的匯入和匯出SQL資料庫
- Oracle資料泵的匯入和匯出Oracle
- 資料治理的目標和原則
- MySQL匯入資料亂碼、出錯等問題的解決辦法MySql
- 關於EasyExcel的資料匯入和單sheet和多sheet匯出Excel
- 系統和資料庫LANG不一致的問題資料庫
- 資料搬運元件:基於Sqoop管理資料匯入和匯出元件OOP
- 匯入excel資源到資料庫Excel資料庫
- 基於.Net開發的資料庫匯入匯出的開源專案資料庫
- 匯入大量資料,比如300G資料,匯出500G資料需要考慮的問題
- 資料匯出問題
- 解決辦法:由於oracle版本不同導致匯入資料時失敗Oracle
- 不同字符集資料庫之間的資料同步問題-補資料庫
- Oracle資料庫的匯入和匯出命令Oracle資料庫
- SQL SERVER 和EXCEL的資料匯入匯出SQLServerExcel