Saya mencoba mengimpor ekspor Oracle 11 ke Oracle 11 XE.
Saya mendapatkan pesan-pesan berikut:
impor di XE fehlerhaft impor dilakukan di set karakter WE8MSWIN1252 dan AL16UTF16 NCHAR set karakter
server impor menggunakan set karakter AL32UTF8 (kemungkinan konversi charset)
Ada ide, bagaimana saya bisa mengimpor dump ini ke Oracle 11 XE?
Edit:
Diberikan meja
CREATE TABLE BDATA.Artikel(
Key VARCHAR2(3) NOT NULL,
Name VARCHAR2(60) NOT NULL,
Abkuerzung VARCHAR2(5) NOT NULL
);
Saya mendapatkan kesalahan seperti ini
IMP-00019: row rejected due to ORACLE error 12899
IMP-00003: ORACLE error 12899 encountered
ORA-12899: value too large for column "BDATA"."ARTIKEL"."ABKUERZUNG" (actual: 6, maximum: 5)
Column 1 ABL
Column 2 Aufbewahrungslösung
Column 3 AfbLö
Beberapa baris tidak ada dari impor.
Anda tidak memiliki pilihan karakter yang ditetapkan pada XE sehingga Anda tidak dapat mengubahnya agar sesuai dengan database yang Anda coba impor. Apakah praktis untuk memigrasi basis data sumber sebelum ekspor?
Impor harus berfungsi, tetapi konversi rangkaian karakter mungkin berarti beberapa kolom teks dengan karakter non-ascii tidak akan terlihat sama setelah impor. Dan baris dapat ditolak jika terlalu panjang di set karakter baru.
Dalam kasus Anda, Anda mengonversi ke UTF8, yang berarti karakter byte tunggal dapat tumbuh selama konversi ke 2 ( atau lebih dalam teori ). Anda mungkin perlu menambah ukuran kolom sebelum mengekspor atau menyesuaikan skema target dan mengimpor data dalam langkah terpisah. Lihat di sini untuk kemungkinan masalah pemotongan data lainnya
sumber
Cara termudah: (Shutdown neccesary) :
Pertama, Hubungkan sebagai sysdba:
Selanjutnya, jalankan skrip berikut:
Ini berhasil bagi saya dalam Oracle 12c Standard Two Edition
Diambil dari: http://www.blogdelpibe.com/2015/05/como-solucionar-el-error-ora-12899.html
sumber
Ini berhasil untuk saya. Alih-alih ini:
Coba sesuatu seperti ini di bash:
Ini berubah setiap
col1 VARCHAR2(n)
kecol1 VARCHAR2(n CHAR)
dalam baris yang dimulai denganCREATE TABLE
. Anda juga dapat mengubahdata.dmp
sebelum menjalankan imp di atasnya, jika Anda tidak dapat melakukannya<(...)
di shell Anda misalnya:... tapi itu tidak perlu di bash dan ada yang tidak beres dalam konversi atau dalam membuat cadangan seperti yang dinyatakan oleh
-i.bk
.sumber