Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Migracja z Oracle do MySQL

Oracle nie dostarcza gotowego narzędzia do rozładowywania.

Pamiętaj, że bez wyczerpujących informacji o twoim środowisku (wersja Oracle? platforma serwerowa? ile danych? jakie typy danych?) wszystko tutaj jest YMMV i chciałbyś wypróbować go w swoim systemie pod kątem wydajności i czasu.

Moje punkty 1-3 to tylko ogólne pomysły na przenoszenie danych. Punkt 4 to metoda, która skróci przestoje lub przerwy do minut lub sekund.

1) Dostępne są narzędzia innych firm. Użyłem kilku z nich, ale najlepiej, abyś sam sprawdził je pod kątem zamierzonego celu. Poniżej wymieniono kilka produktów innych firm:OraFaq . Niestety wiele z nich działa w systemie Windows, co spowolniłoby proces rozładowywania danych, chyba że serwer DB działał w systemie Windows i można było uruchomić narzędzie ładowania bezpośrednio na serwerze.

2) Jeśli nie masz żadnych złożonych typów danych, takich jak LOB, możesz skorzystać z SQLPLUS. Jeśli robiłeś tabelę na raz, możesz łatwo ją zrównoleglić. Temat był odwiedzany na tej stronie prawdopodobnie więcej niż raz, oto przykład:Linky

3) Jeśli masz ponad 10 gramów, tabele zewnętrzne mogą być skutecznym sposobem wykonania tego zadania. Jeśli utworzysz puste tabele zewnętrzne o takiej samej strukturze, jak obecne tabele i skopiujesz do nich dane, dane zostaną przekonwertowane na format tabeli zewnętrznej (plik tekstowy). Ponownie, OraFAQ do ratunku .

4) Jeśli musisz utrzymywać systemy równolegle przez dni/tygodnie/miesiące, użyj narzędzia do przechwytywania/stosowania zmian danych, aby przestoje były prawie zerowe. Przygotuj się na zapłacenie $$$. Użyłem narzędzia Golden Gate Software, które może wydobywać logi przeróbek Oracle i dostarczać instrukcje wstawiania/aktualizowania do bazy danych MySQL. Możesz przenieść większość danych bez przestojów na tydzień przed uruchomieniem. Następnie w okresie uruchamiania zamknij źródłową bazę danych, poproś Golden Gate o przechwycenie ostatnich pozostałych transakcji, a następnie otwórz dostęp do nowej docelowej bazy danych. Użyłem tego do aktualizacji, a okres nadrabiania zaległości wynosił tylko kilka minut. Mieliśmy już licencje na strony dla Golden Gate, więc nie było to dla nas nic z kieszeni.

Wcielę się tutaj w rolę Cranky DBA i powiem, że jeśli nie możesz sprawić, by Oracle działała dobrze, chciałbym zobaczyć opis, w jaki sposób MySQL naprawił twoje konkretne problemy. Jeśli masz aplikację, w której nie możesz dotknąć SQL, nadal istnieje wiele możliwych sposobów dostrojenia Oracle. /mydelniczka



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego może istnieć tylko jedna kolumna TIMESTAMP z CURRENT_TIMESTAMP w klauzuli DEFAULT?

  2. Błąd nieprawidłowej wartości ciągu MySQL podczas zapisywania ciągu Unicode w Django

  3. Jak zmienić ZESTAW ZNAKÓW (i UKŁADANIE) w całej bazie danych?

  4. Napraw „BŁĄD 1250 (42000):Tabela „…” z jednej z SELECTów nie może być użyta w globalnej klauzuli ORDER” podczas używania UNION w MySQL

  5. MySQL — wyzwalacz aktualizacji tej samej tabeli po wstawieniu