Pozornie proste zadanie okazało się być wyjątkowo upierdliwe.
- Instrukcja ze strony Oracle (z wykorzystaniem SQL Developera) wywołała u mnie myśli samobójcze
- Wykorzystanie mysqldump’a z opcją ” –compatible=oracle” wygenerowało plik, którego ani nie udało mi się zaczytać do Oracle 11g ani z powrotem do MariaDB
Musiałem ratować się inaczej…
Z pomocą w takich sytuacjach przychodzi RazorSQL. Narzędzie (niestety płatne), ale na szczęście z 30-to dniową wersją ewaluacyjną. RazorSQL potrafi przenieść dane bezpośrednio między różnymi systemami zarządzania bazą danych.
 Testowałem tę opcję z MariaDB w wersji 5.5 i Oracle w wersji 11g XE.
Ważna uwaga. Przy przenoszeniu 'ciut większej’ bazy, RazorSQL będzie zgłaszał błąd przekroczenia Heap Size Java.
 Należy wtedy zedytować plik uruchamiający: razorsql.sh, a dokładniej parametr -Xmx. W przykładzie poniżej ograniczamy ilość dostępnej dla RazoraSQL pamięci do 6GB. Standardowo to tylko kilkaset MB.
 razorsql.sh po poprawce:
 
 #!/bin/sh
 CWD=$(dirname "$0")
 CMD="$CWD/razorsql.jar"
 $CWD/jre/bin/java -Xms64M -Xmx6G -client -jar ${CMD}
 RC=$?
 if [ ${RC} != 0 ]; then
 echo "Error returned code found. Retrying . . ."
 $CWD/jre/bin/java -Xms64M -Xmx640M -client -jar ${CMD}
 RC2=$?
 if [ ${RC2} != 0 ]; then
 echo "Trying local JRE . . ."
 java -Xms64M -Xmx640M -client -jar ${CMD}
 fi
 fi