Czym jest konwersja schematu z Oracle do usługi Azure Database for PostgreSQL Flexible Server?

Funkcja konwersji schematu Oracle do usługi Azure Database for PostgreSQL w rozszerzeniu Programu Visual Studio Code PostgreSQL ułatwia konwertowanie istniejących obiektów schematu bazy danych Oracle na schemat zgodny z bazą danych PostgreSQL. Ta funkcja jest przeznaczona dla schematów relacyjnych i tworzy przekonwertowany schemat dla serwera elastycznego Azure Database for PostgreSQL.

Narzędzie udostępnia interfejs użytkownika oparty na projekcie w celu zautomatyzowania konwersji schematu. Jeśli niektórych obiektów nie można przekonwertować automatycznie, narzędzie flaguje je jako zadania przeglądu, które można rozwiązać ręcznie przy użyciu trybu agent funkcji Copilot usługi GitHub.

Diagram architektury konwersji schematu oracle do Azure Database for PostgreSQL.

Architecture

Proces konwersji schematu obejmuje wiele składników, które współpracują ze sobą:

  • Źródłowa baza danych Oracle: istniejąca baza danych Oracle zawierająca schemat do konwersji.
  • Visual Studio Code rozszerzenie PostgreSQL: podstawowy interfejs do zarządzania procesem konwersji.
  • Azure Database for PostgreSQL serwer elastyczny: hostuje schematy tymczasowe używane do walidacji i testowania.
  • Microsoft Foundry: udostępnia modele językowe, które umożliwiają przekształcanie schematu opartego na sztucznej inteligencji.
  • Agenty konwersji schematów: agenty wykorzystujące sztuczną inteligencję, realizujące zautomatyzowany proces konwersji.

Jak to działa

Proces konwersji schematu korzysta z inteligentnego, wieloestowego podejścia, które łączy zautomatyzowane przekształcanie z nadzorem człowieka:

  • Połączenie i odnajdywanie: narzędzie łączy się z bazą danych Oracle i kataloguje wszystkie obiekty schematu. Analizuje ich strukturę, zależności i złożoność, aby utworzyć plan konwersji.
  • Transformacja oparta na sztucznej inteligencji: Agenci konwersji schematów używają modeli językowych hostowanych w Microsoft Foundry do przekształcania konstrukcji specyficznych dla Oracle w odpowiedniki zgodne z PostgreSQL. Sztuczna inteligencja uwzględnia kontekst, relacje i najlepsze rozwiązania dotyczące platformy.
  • Walidacja w schematach roboczych: Narzędzie testuje wszystkie przekonwertowane obiekty w schematach roboczych na serwerze elastycznym usługi Azure Database for PostgreSQL. Ten krok sprawdza poprawność składni i zgodność przed ostatnim generowaniem danych wyjściowych.
  • Generowanie zadań przeglądu: narzędzie flaguje obiekty, których nie można w pełni zautomatyzować lub które wymagają osądu człowieka jako zadań przeglądu. Te obiekty mogą obejmować złożoną logikę biznesową lub funkcje specyficzne dla firmy Oracle, które wymagają ręcznej uwagi.
  • Rozwiązywanie z przewodnikiem: Tryb agenta GitHub Copilot pomaga w realizacji zadań przeglądu. Oferuje sugestie kontekstowe i najlepsze rozwiązania dotyczące serwera elastycznego usługi Azure Database for PostgreSQL, które ułatwiają podejmowanie świadomych decyzji.
  • Generowanie danych wyjściowych: narzędzie konwertuje pomyślnie zweryfikowane obiekty na zorganizowane pliki PostgreSQL .sql , gotowe do wdrożenia w środowisku docelowym.

Instalowanie rozszerzenia

Funkcja konwersji schematu Oracle to PostgreSQL jest wbudowana w rozszerzenie PostgreSQL dla Visual Studio Code. Nie trzeba instalować oddzielnego rozszerzenia.

Kroki instalacji

  1. Otwórz witrynę Marketplace rozszerzeń: w Visual Studio Code wybierz ikonę Rozszerzenia na pasku działań po lewej stronie lub użyj skrótu klawiaturowego Ctrl+Shift+X (Windows/Linux) lub Cmd+Shift+X (macOS).
  2. Wyszukaj rozszerzenie: w polu wyszukiwania Extensions Marketplace wprowadź PostgreSQL (lub identyfikator ms-ossdata.vscode-pgsqlrozszerzenia ), aby znaleźć rozszerzenie.
  3. Zainstaluj rozszerzenie: W wynikach wyszukiwania znajdź PostgreSQL opublikowane przez Microsoft, a następnie wybierz Install. Kilka rozszerzeń PostgreSQL jest dostępnych w witrynie Marketplace, dlatego przed zainstalowaniem sprawdź, czy wydawca jest Microsoft.
  4. Dostęp do konwersji schematu: Po zainstalowaniu rozszerzenia na pasku aktywności programu Visual Studio Code pojawi się ikona słonia. Wybierz ikonę, aby otworzyć rozszerzenie PostgreSQL i uzyskać dostęp do funkcji Konwersja schematu.

Przepływ procesu konwersji schematu

W tej sekcji wyjaśniono kluczowe pojęcia używane w całym procesie konwersji schematu z Oracle do Azure Database for PostgreSQL, w tym jednostki konwersji (schematy, tabele, indeksy, widoki i procedury), zadania przeglądu do weryfikacji przez człowieka, walidację pomocniczej bazy danych, agentów konwersji schematu opartych na sztucznej inteligencji oraz wynikowe artefakty SQL PostgreSQL. Zrozumienie tych pojęć pomaga interpretować wyniki konwersji, ustalać priorytety i rozpoznawać oflagowane elementy oraz przygotować przekonwertowane pliki do wdrożenia na serwer elastyczny usługi Azure Database for PostgreSQL.

Baza danych tymczasowa

Narzędzie konwersji schematu używa serwera elastycznego Azure Database for PostgreSQL jako tymczasowego środowiska weryfikacji. Na tym serwerze narzędzie tworzy jeden lub więcej schematów tymczasowych, które są krótkotrwałymi schematami PostgreSQL, które przechowują przekonwertowane obiekty, dzięki czemu narzędzie może je przetestować bez wpływu na dane produkcyjne.

Użycie schematów tymczasowych wewnątrz bazy danych tymczasowej umożliwia narzędziu sprawdzenie, czy:

  • Przekonwertowane obiekty są poprawne składniowo.
  • Zależności między obiektami są rozpoznawane w odpowiedniej kolejności.
  • Definicje obiektów pozostają zgodne z docelową wersją bazy danych PostgreSQL.
  • Funkcje usługi Azure Database for PostgreSQL — serwer elastyczny są stosowane prawidłowo.

Note

Łączący się użytkownik musi mieć CREATE uprawnienia do bazy danych plików tymczasowych, aby narzędzie mogło w razie potrzeby tworzyć i usuwać schematy tymczasowe (nazwane z prefiksem _mig_scratch_ ).

Przegląd zadań

Narzędzie flaguje elementy do ręcznego przeglądu, gdy sztuczna inteligencja nie może w pełni przekonwertować obiektu lub zaleca potwierdzenie wyniku. Typowe zadania przeglądu obejmują:

  • Złożone procedury PL/SQL, które wymagają ręcznego dostosowania.
  • Typy danych specyficzne dla Oracle, które mają wiele odpowiedników w PostgreSQL.
  • Funkcje niestandardowe, które zawierają logikę specyficzną dla oracle.

Aby uzyskać więcej informacji na temat przeglądania priorytetów zadań i wygenerowanych folderów wyjściowych, zobacz Przeglądanie zadań i folderów wyjściowych dla programu Oracle w celu Azure Database for PostgreSQL elastycznej konwersji schematu serwera.

Tryb agenta Copilot w usłudze GitHub

Tryb agenta usługi GitHub Copilot to zintegrowana funkcja programu Visual Studio Code, która udostępnia wskazówki ułatwiające wykonywanie zadań związanych z przeglądem i dostosowanie przekonwertowanego schematu do wymagań aplikacji. Oferty trybu agenta:

  • Sugestie kontekstowe dotyczące modyfikacji schematu.
  • Zalecenia dotyczące najlepszych rozwiązań dla serwera elastycznego Azure Database for PostgreSQL.
  • Uzupełnianie kodu w przypadku złożonych przekształceń.
  • Integracja z istniejącym procesem programistycznym.

Tryby łączności Oracle

Narzędzie konwersji schematu obsługuje dwa tryby łączności służące do nawiązywania połączenia ze źródłową bazą danych Oracle: cienką i grubą. Zrozumienie różnicy pomaga wybrać odpowiedni tryb dla danego środowiska.

Tryb klienta elastycznego (ustawienie domyślne)

Tryb cienki łączy się bezpośrednio z bazą danych Oracle Bez dodatkowych bibliotek klienckich Oracle. Ten tryb jest domyślny i nie wymaga dodatkowej konfiguracji.

  • Nie wymaga instalacji klienta Oracle Instant Client.
  • Obsługuje bazę danych Oracle Database 12.1 lub nowszą.
  • Pasuje do większości scenariuszy konwersji schematu.
  • Nawiązuje połączenie przy użyciu standardowej sieci TCP/IP.

Tryb grubego klienta

Tryb thick używa bibliotek Oracle Instant Client do połączeń z Oracle Database. Narzędzie konwersji schematu wykrywa, kiedy wymagany jest tryb gruby na podstawie konfiguracji sieci Oracle i przełącza się do niego automatycznie.

Gdy wymagany jest gruby tryb klienta

Możesz określić, czy tryb grubego klienta jest wymagany, sprawdzając pliki konfiguracji sieci Oracle w środowisku źródłowym. Poszukaj następujących parametrów w sqlnet.ora pliku (zazwyczaj znajduje się w $ORACLE_HOME/network/admin/pliku ):

Parametr Wskazuje, że wymagany jest tryb "thick mode"
SQLNET.CRYPTO_CHECKSUM_CLIENT Ustaw wartość REQUIRED lub REQUESTED na potrzeby natywnego szyfrowania sieciowego
SQLNET.ENCRYPTION_CLIENT Ustaw wartość REQUIRED lub REQUESTED na potrzeby natywnego szyfrowania sieciowego

Jeśli którykolwiek z tych parametrów jest skonfigurowany w źródłowym środowisku Oracle, wymagany jest gruby tryb klienta. Narzędzie konwersji schematu wykrywa tę konfigurację i automatycznie przełącza się do trybu grubego. Przed rozpoczęciem konwersji upewnij się, że na maszynie, na której uruchomiono program Visual Studio Code, zainstalowano Oracle Instant Client.

Instalowanie klienta Oracle Instant Client

Aby użyć trybu grubego klienta, zainstaluj klienta Oracle Instant Client na maszynie, na której są uruchomione Visual Studio Code i narzędzie konwersji schematu. Konwersja schematu jest obsługiwana tylko w systemach Windows i Linux .

  1. Pobierz pakiet Oracle Instant Client Basic lub Basic Light z witryny internetowej oracle dla systemu operacyjnego.
  2. Wyodrębnij pakiet do katalogu na maszynie.
  3. Dodaj katalog Instant Client do zmiennej środowiskowej systemu PATH :
    • Windows: dodaj katalog Instant Client do zmiennej PATH za pomocązmiennych środowiskowych> systemu lub przy użyciu programu PowerShell.
    • Linux: dodaj katalog Instant Client do PATH i ustaw zmienną LD_LIBRARY_PATH środowiskową, aby uwzględnić katalog. Upewnij się, że libaio biblioteka jest zainstalowana.
  4. Uruchom ponownie Visual Studio Code, aby pobrać zaktualizowane zmienne środowiskowe.

Uwierzytelnianie dla Microsoft Foundry

Narzędzie konwersji schematu obsługuje dwie metody uwierzytelniania służące do nawiązywania połączenia z modelami językowymi w usłudze Microsoft Foundry:

Uwierzytelnianie klucza interfejsu API

Uwierzytelnianie klucza API wykorzystuje klucz specyficzny dla wdrożenia do autoryzacji żądań. Ta metoda jest prosta i odpowiednia dla scenariuszy programowania i testowania.

Uwierzytelnianie za pomocą Microsoft Entra ID

Uwierzytelnianie za pomocą Microsoft Entra ID zapewnia oparty na tokenach i tożsamości dostęp do Microsoft Foundry bez konieczności zarządzania kluczami API. Ta metoda jest zalecana w środowiskach produkcyjnych i organizacjach ze scentralizowanym zarządzaniem tożsamościami.

Aby użyć uwierzytelniania Microsoft Entra ID:

  1. Przypisz wymaganą rolę: Upewnij się, że zalogowany użytkownik lub nazwana główna usługi ma rolę Foundry User (wcześniej Użytkownik usługi Azure AI) w zasobie Microsoft Foundry, w którym jest hostowane wdrożenie modelu. Przypisz rolę w Azure Portal w obszarze Kontrola dostępu (IAM). Aby uzyskać więcej informacji, zobacz Kontrola dostępu oparta na rolach dla Microsoft Foundry.
  2. Zaloguj się do platformy Azure w programie Visual Studio Code: Użyj polecenia Azure: Sign In z Palety poleceń (Ctrl+Shift+P), aby uwierzytelnić się za pomocą konta Microsoft Entra ID.
  3. Wybierz uwierzytelnianie Entra ID: W kroku konfiguracji modelu językowego w Kreatorze migracji wybierz Microsoft Entra ID jako metodę uwierzytelniania zamiast klucza API.
  4. Podaj punkt końcowy: wprowadź adres URL punktu końcowego Microsoft Foundry. Narzędzie automatycznie uzyskuje token uwierzytelniania z sesji logowania.

Note

Uwierzytelnianie Microsoft Entra ID wymaga rozszerzenia Azure Account w programie Visual Studio Code. Rozszerzenie należy zalogować przy użyciu tożsamości, która ma odpowiednio przypisaną rolę w zasobie Microsoft Foundry.

Bezpieczeństwo i sieć

Jeśli używasz funkcji konwersji schematu, upewnij się, że środowisko programu Visual Studio Code może bezpiecznie nawiązać połączenie zarówno ze źródłową bazą danych Oracle, jak i z elastycznym wystąpieniem serwera Azure Database for PostgreSQL, używanym jako robocza baza danych.

Microsoft zaleca nawiązanie połączenia z zasobem Microsoft Foundry przy użyciu prywatnego punktu końcowego. Aby uzyskać więcej informacji, zobacz Konfigurowanie łącza prywatnego dla Microsoft Foundry.

Aby uzyskać więcej informacji na temat zabezpieczania połączeń Microsoft Foundry, zobacz Data, prywatność i zabezpieczenia modeli bezpośrednich Azure w usłudze Microsoft Foundry.

Diagram przedstawiający sposób nawiązywania połączenia Visual Studio Code z prywatnym punktem końcowym.

Ważna

Odpowiedzialność klienta za walidację: ten sam silnik AI wykorzystywany do konwersji schematów może również pomóc w walidacji i weryfikacji. Systemy sztucznej inteligencji mogą czasami potwierdzać własne błędy. Aby zapobiec utracie danych, regresji funkcjonalnej lub problemom z zabezpieczeniami, niezależnie zweryfikuj wszystkie przekonwertowane obiekty i rozwiązania przeglądu zadań przed wdrożeniem w środowisku produkcyjnym. W ramach kontroli rozważ włączenie filtrowania zawartości w Foundry, aby zmniejszyć szkodliwe lub niepożądane wyniki. Aby uzyskać wskazówki, zobacz Filtrowanie zawartości w narzędziu Foundry.

Dlaczego warto używać funkcji konwersji schematu?

Konwertowanie schematów Oracle na usługę Azure Database for PostgreSQL usprawnia migrację i modernizację. Zmniejsza nakład pracy ręcznej i ryzyko poprzez automatyzację przekształceń, weryfikowanie wyników w tymczasowej bazie danych oraz dostarczanie przeglądu wspomaganego przez sztuczną inteligencję i zoptymalizowanych pod kątem platformy Azure danych wyjściowych gotowych do wdrożenia.

  • Automatyczna konwersja: zmniejsza nakład pracy ręcznej przez automatyczne konwertowanie zgodnych obiektów schematu.
  • Transformacja oparta na AI: Wykorzystuje modele językowe hostowane w Microsoft Foundry do podejmowania uwzględniających kontekst decyzji dotyczących konwersji.
  • Podejście oparte na weryfikacji: używa schematów tymczasowych, aby potwierdzić, że przekonwertowane obiekty działają poprawnie.
  • Zintegrowany przepływ pracy: Działa w środowisku programistycznym Visual Studio Code.
  • Elastyczna łączność Oracle: obsługuje zarówno tryby klienta elastycznego, jak i grubego do łączenia się z bazami danych Oracle.
  • Wiele opcji uwierzytelniania: Obsługuje uwierzytelnianie za pomocą klucza API oraz identyfikatora Microsoft Entra ID dla usługi Microsoft Foundry.
  • Przegląd i udoskonalanie: zapewnia jasne wskazówki dotyczące zadań związanych z ręcznym przeglądem.
  • Optymalizacja dla platformy Azure: Zaprojektowano z myślą o usłudze Azure Database for PostgreSQL — serwer elastyczny.

Obsługiwane obiekty schematu

Narzędzie konwersji obsługuje szeroką gamę obiektów schematu i kodu Oracle, w tym elementów definicji danych, składników na poziomie schematu i kodu proceduralnego. Chociaż można automatycznie konwertować wiele typowych obiektów, może być konieczne ręczne przejrzenie lub dostosowanie mapowania dla niektórych funkcji specyficznych dla oracle lub zastrzeżonych rozszerzeń. Aby uzyskać szczegółowe listy obsługiwanych obiektów i znanych ograniczeń, zobacz sekcje w tym artykule.

Jak są generowane konwersje

Narzędzie konwersji schematu łączy tłumaczenie oparte na sztucznej inteligencji z automatyczną walidacją w celu zapewnienia niezawodnych wyników. modele Microsoft Foundry tłumaczą język Oracle DDL na postgreSQL. Następnie narzędzie kompiluje każdy przekonwertowany obiekt na schemat tymczasowy w docelowym Azure Database for PostgreSQL elastycznym serwerze, uruchamia analizę statyczną i stosuje automatyczne poprawki dla typowych problemów. Pozostałe etapy potoku — parsowanie źródła, wyodrębnianie metadanych i generowanie skryptów — przebiegają jako przewidywalne etapy oparte na regułach.

W przypadku procedur PL/pgSQL narzędzie dodaje semantykę body-semantics, która używa plpgsql_check rozszerzenia w bazie danych plików tymczasowych. Gdy sprawdzanie wykryje usterkę, która nie przechwyci zwykłej kompilacji, narzędzie odrzuca to rutynowe i wysyła je z powrotem przez pętlę poprawki sztucznej inteligencji zamiast zapisywać je w danych wyjściowych. Aby uzyskać więcej informacji, zobacz Validate converted PL/pgSQL with plpgsql_check (Weryfikowanie przekonwertowanej bazy danych PL/pgSQL przy użyciu plpgsql_check).

Takie podejście wykorzystuje sztuczną inteligencję tam, gdzie wnosi ona największą wartość, a pozostałą część przepływu pracy pozostawia deterministyczną i weryfikowalną. Obiekty, których nie można w pełni zweryfikować, są oflagowane jako zadania przeglądu, dzięki czemu można je rozwiązać przed zastosowaniem przekonwertowanego schematu. Aby zapoznać się z funkcjami Oracle, które nie mają praktycznego odpowiednika bazy danych PostgreSQL, zobacz Oracle, aby Azure Database for PostgreSQL elastycznych ograniczeń konwersji schematu serwera.

Obiekty schematu bazy danych

Narzędzie konwersji obsługuje następujące obiekty bazy danych Oracle:

  • Tabele: definicje tabel, specyfikacje kolumn i ograniczenia na poziomie tabeli.
  • Ograniczenia: klucze podstawowe, klucze obce, unikatowe ograniczenia i sprawdzanie ograniczeń.
  • Indeksy: indeksy drzewa B, indeksy unikatowe i indeksy złożone.
  • Sekwencje: obiekty sekwencji Oracle na potrzeby autoinkrementacji wartości.
  • Wyzwalacze: wyzwalacze na poziomie wiersza i na poziomie instrukcji.
  • Widoki: standardowe widoki bazy danych.
  • Widoki zmaterializowane: widoki zmaterializowane Oracle i logika odświeżania.
  • Schematy: obiekty na poziomie schematu i organizacja.
  • Synonimy: synonimy publiczne i prywatne (z ograniczeniami).

Obiekty kodu Oracle

Narzędzie konwersji obsługuje następujące konstrukcje kodu Oracle:

  • Wyzwalacze: złożona logika wyzwalacza i obsługa zdarzeń.
  • Pakiety: specyfikacje i jednostki pakietów Oracle.
  • Funkcje: funkcje zdefiniowane przez użytkownika ze złożoną logiką.
  • Procedury składowane: Procedury składowane i obsługa parametrów Oracle.
  • Typy i kolekcje: Typy obiektów Oracle, TYPE BODY metody składowe, VARRAY, tabele zagnieżdżone i SUBTYPE deklaracje.

Konwersja pakietu

Pakiety Oracle nie mają bezpośredniego odpowiednika bazy danych PostgreSQL, więc narzędzie konwertuje każdą część pakietu na konstrukcję PostgreSQL, która zachowuje wywoływaną powierzchnię:

  • Stałe: narzędzie konwertuje stałe pakietu publicznego na IMMUTABLE funkcje getter.
  • Kolekcje i kursory: zagnieżdżone tabele i VARRAY stają się domenami tablic, gdzie VARRAY również uzyskuje ograniczenie długości. Tablice asocjacyjne typu string-keyed stają się jsonb domenami refcursori REF CURSOR stają się .
  • Stan pakietu: zmienne pakietu publicznego stają się parami getter i setter wspieranymi przez ustawienie sesji, które emuluje stan sesji pakietu Oracle.
  • Wyjątki: wyjątki zadeklarowane przez użytkownika stają się funkcjami, które zwracają SQLSTATE wartość. Na przykład wyjątek zainicjowany z mapami -20001 na U0001.
  • Pakiety tylko do specyfikacji: pakiet, który nie ma treści konwertuje na wycinki, które zgłaszają błąd po wywołaniu, więc wywoływana powierzchnia nadal istnieje.

Zapytania hierarchiczne

Zapytania hierarchiczne Oracle konwertują na typowe wyrażenia tabeli postgreSQL WITH RECURSIVE . Narzędzie konwertuje CONNECT BY i PRIOR na rekursywne sprzężenie składowe, START WITH do elementu członkowskiego zakotwiczenia i LEVEL do licznika głębokości. Konwertuje SYS_CONNECT_BY_PATHrównież wartości , , ORDER SIBLINGS BYCONNECT_BY_ROOTi NOCYCLE. Po konwersji narzędzie sprawdza, czy wygenerowany obiekt ma oczekiwany kształt rekursywny i ponawia próbę konwersji, jeśli nie.

Kontrola transakcji

Rutynowa, która używa PRAGMA AUTONOMOUS_TRANSACTION , utrzymuje oryginalną klasę obiektów Oracle, więc funkcja pozostaje funkcją, a istniejące wywołujące, które używają jej w wyrażeniu SELECT lub, nadal działają. Praca autonomiczna działa na osobnym połączeniu dblink za pośrednictwem rozszerzenia, dlatego upewnij się, że dblink jest dostępna na serwerze docelowym. Procedura, która używa jawnego COMMIT lub ROLLBACK bez tej pragma konwertuje się na procedurę, ponieważ usługa PostgreSQL umożliwia tam kontrolę transakcji.

Weryfikowanie przekonwertowanej bazy danych PL/pgSQL przy użyciu plpgsql_check

Podczas tworzenia bazy danych PostgreSQL nie weryfikuje w pełni treści rutynowej PL/pgSQL. CREATE FUNCTION potwierdza, że treść analizuje, ale nie rozpoznaje tabel, kolumn i zmiennych, do których odwołuje się treść. Procedurę odczytującą kolumnę, która nie istnieje, została utworzona pomyślnie i kończy się niepowodzeniem tylko przy pierwszym uruchomieniu. W ramach migracji powoduje to przekształcenie wady konwersji w zdarzenie produkcyjne, ponieważ wdrożenie wygląda czysto.

Narzędzie konwersji schematu zamyka tę lukę plpgsql_check z rozszerzeniem. Po skompilowaniu przekonwertowanej procedury w bazie danych plików tymczasowych narzędzie uruchamia sprawdzanie semantyki ciała. Po znalezieniu rzeczywistej wady narzędzie odrzuca procedurę i zwraca ją do pętli naprawy sztucznej inteligencji, która naprawia ją i kompiluje ponownie. Tylko procedury przekazywane są zapisywane w danych wyjściowych konwersji.

Ta walidacja jest główną przyczyną, dla której przekonwertowana procedura jest godna zaufania, zanim kiedykolwiek ją wdrożysz. Traktuj plpgsql_check jako wymaganą część środowiska konwersji, a nie opcjonalną dodatkową.

Gdzie jest uruchamiana kontrola

Sprawdzanie jest uruchamiane w całości na tymczasowej bazie danych tworzonej przez narzędzie podczas konwersji. Docelowa baza danych nie potrzebuje plpgsql_check w czasie wykonywania i nic, co generuje narzędzie. Rozszerzenie jest bramą jakości czasu konwersji, a nie zależnością środowiska uruchomieniowego.

Co się stanie, gdy rozszerzenie nie jest dostępne

Sprawdzanie nie powiodło się. Jeśli plpgsql_check nie ma listy dozwolonych lub nie jest dostępny na serwerze, który hostuje bazę danych tymczasowej, narzędzie pomija sprawdzanie i konwersję będzie kontynuowane. Brak błędu i żadne ostrzeżenie nie jest wyświetlane w raporcie konwersji schematu, więc przebieg bez rozszerzenia wygląda tak samo jak przebieg z nim.

Procedury są nadal kompilowane, więc błędy składni są nadal przechwytywane. Utrata polega na dokładniejszej weryfikacji treści, więc wady, takie jak nierozwiązana kolumna lub odwołanie do tabeli, mogą dotrzeć do wygenerowanych danych wyjściowych i powierzchni później w czasie wykonywania. Upewnij się, że rozszerzenie jest dostępne przed poleganie na wynikach konwersji.

Udostępnianie sprawdzania

plpgsql_checkprogram jest obsługiwany na serwerze elastycznym Azure Database for PostgreSQL dla bazy danych PostgreSQL 14 i nowszych. Dodaj rozszerzenie do listy dozwolonych, dodaj je do shared_preload_librarieselementu i uruchom ponownie serwer przed przekonwertowaniem. Następnie narzędzie instaluje rozszerzenie w tymczasowej bazie danych. Aby zapoznać się z pełną procedurą, zobacz Best practices for Oracle to Azure Database for PostgreSQL elastycznej konwersji schematu serwera.

Obsługiwane wersje oracle

Ta sekcja zawiera podsumowanie wersji aparatu bazy danych, które obsługują automatyczną konwersję schematu i wyróżnia zagadnienia dotyczące zgodności. Skorzystaj z wymienionych obsługiwanych wersji Oracle i PostgreSQL, aby uzyskać najlepsze wyniki. Zweryfikuj konwersje w środowisku testowym nieprodukcyjnym i użyj najnowszej poprawki pomocniczej każdej obsługiwanej wersji głównej. Jeśli środowisko korzysta z nieobsługiwanej wersji lub zawiera zastrzeżone funkcje oracle, może być konieczne przeprowadzenie dodatkowego ręcznego mapowania lub przejrzenia przed wdrożeniem.

Następujące wersje bazy danych Oracle obsługują konwersję schematu:

  • Oracle 21c
  • Oracle 19c
  • Oracle 18c
  • Oracle 12.2
  • Oracle 12.1

Opinie i wsparcie

W przypadku usterek, żądań funkcji i problemów związanych z funkcją konwersji schematu lub rozszerzeniem PostgreSQL użyj wbudowanego narzędzia do przesyłania opinii w Visual Studio Code. Dostęp do tego narzędzia można uzyskać na dwa sposoby:

Menu Pomoc

Przejdź do Pomoc>Zgłoś problem.

Paleta poleceń

  1. Otwórz paletę poleceń za pomocą Ctrl+Shift+P (Windows/Linux) lub Cmd+Shift+P (macOS).
  2. Uruchom polecenie : PGSQL: Zgłoś problem.

Podczas tworzenia problemu lub przekazywania opinii dołącz Schema Conversion: jako prefiks w tytule. Ten prefiks ułatwia zespołowi deweloperów szybkie identyfikowanie i określanie priorytetów opinii dotyczących konwersji schematu. Ten mechanizm przekazywania opinii pomaga zespołowi deweloperskiemu stale ulepszać funkcję konwersji schematu i rozwiązywać wszelkie problemy, które napotkasz podczas projektów migracji z Oracle do Azure Database for PostgreSQL.