Zabezpieczenia, dostęp i operacje migracji oracle
Ten artykuł jest trzecią częścią siedmioczęściowej serii, która zawiera wskazówki dotyczące migracji z bazy danych Oracle do usługi Azure Synapse Analytics. Celem tego artykułu są najlepsze rozwiązania dotyczące operacji dostępu do zabezpieczeń.
Zagadnienia dotyczące zabezpieczeń
Środowisko Oracle oferuje kilka metod dostępu i uwierzytelniania, które mogą wymagać migracji do usługi Azure Synapse z minimalnym ryzykiem i wpływem na użytkownika. W tym artykule przyjęto założenie, że chcesz migrować istniejące metody połączenia oraz struktury użytkownika, roli i uprawnień zgodnie z oczekiwaniami. Jeśli tak nie jest, użyj witryny Azure Portal, aby utworzyć nowy system zabezpieczeń i zarządzać nim.
Aby uzyskać więcej informacji na temat opcji zabezpieczeń usługi Azure Synapse, zobacz Zabezpieczenia usługi Azure Synapse Analytics.
Połączenie i uwierzytelnianie
Uwierzytelnianie to proces weryfikowania tożsamości użytkownika, urządzenia lub innej jednostki w systemie komputerowym, zazwyczaj jako wymaganie wstępne udzielenia dostępu do zasobów w systemie.
Napiwek
Uwierzytelnianie zarówno w programie Oracle, jak i usłudze Azure Synapse może być "w bazie danych" lub za pośrednictwem metod zewnętrznych.
Opcje autoryzacji Oracle
System Oracle oferuje następujące metody uwierzytelniania dla użytkowników bazy danych:
Uwierzytelnianie bazy danych: z uwierzytelnianiem bazy danych Oracle baza danych administrowa kontem użytkownika i uwierzytelnia użytkownika. Aby baza danych Oracle przeprowadzała uwierzytelnianie, generuje hasło dla nowych użytkowników i przechowuje hasła w formacie zaszyfrowanym. Użytkownicy mogą w dowolnym momencie zmieniać swoje hasło. Firma Oracle zaleca zarządzanie hasłami za pomocą blokowania kont, starzenia się i wygasania haseł, historii haseł i weryfikacji złożoności hasła. Uwierzytelnianie bazy danych jest powszechne w starszych instalacjach Oracle.
Uwierzytelnianie zewnętrzne: z uwierzytelnianiem zewnętrznym baza danych Oracle obsługuje konto użytkownika, a usługa zewnętrzna wykonuje administrowanie hasłami i uwierzytelnianie użytkowników. Usługa zewnętrzna może być systemem operacyjnym lub usługą sieciową, na przykład Oracle Net. Baza danych opiera się na podstawowym systemie operacyjnym lub usłudze uwierzytelniania sieciowego w celu ograniczenia dostępu do kont bazy danych. Ten typ znaku nie używa hasła bazy danych. Istnieją dwie opcje uwierzytelniania zewnętrznego:
Uwierzytelnianie systemu operacyjnego: domyślnie firma Oracle wymaga bezpiecznego połączenia na potrzeby logowania uwierzytelnianego przez system operacyjny, aby uniemożliwić użytkownikowi zdalnemu personifikację użytkownika systemu operacyjnego za pośrednictwem połączenia sieciowego. To wymaganie uniemożliwia korzystanie z platformy Oracle Net i konfiguracji serwera udostępnionego.
Uwierzytelnianie sieciowe: dostępnych jest kilka mechanizmów uwierzytelniania sieciowego, takich jak karty inteligentne, odciski palców, Kerberos i system operacyjny. Wiele usług uwierzytelniania sieciowego, takich jak Kerberos, obsługuje logowanie jednokrotne, dzięki czemu użytkownicy mają mniej haseł do zapamiętania.
Uwierzytelnianie globalne i autoryzacja: za pomocą uwierzytelniania globalnego i autoryzacji można centralizować zarządzanie informacjami związanymi z użytkownikami, w tym autoryzacjami, w usłudze katalogowej opartej na protokole LDAP. Użytkownicy są identyfikowani w bazie danych jako użytkownicy globalni, co oznacza, że są uwierzytelniani przez protokół TLS/SSL, a zarządzanie użytkownikami odbywa się poza bazą danych. Scentralizowana usługa katalogowa wykonuje zarządzanie użytkownikami. Takie podejście zapewnia silne uwierzytelnianie przy użyciu protokołów TLS/SSL, Kerberos lub uwierzytelniania natywnego dla systemu Windows oraz umożliwia scentralizowane zarządzanie użytkownikami i uprawnieniami w całym przedsiębiorstwie. Administrowanie jest łatwiejsze, ponieważ nie jest konieczne utworzenie schematu dla każdego użytkownika w każdej bazie danych w przedsiębiorstwie. Logowanie jednokrotne jest również obsługiwane, dzięki czemu użytkownicy muszą zalogować się tylko raz, aby uzyskać dostęp do wielu baz danych i usług.
Uwierzytelnianie i autoryzacja serwera proxy: można wyznaczyć serwer warstwy środkowej dla klientów proxy w bezpieczny sposób. Firma Oracle oferuje różne opcje uwierzytelniania serwera proxy, takie jak:
Serwer warstwy środkowej może uwierzytelniać się za pomocą serwera bazy danych. Klient, który w tym przypadku jest użytkownikiem aplikacji lub inną aplikacją, uwierzytelnia się za pomocą serwera warstwy środkowej. Tożsamości klienta można przechowywać przez cały proces do bazy danych.
Klient, który w tym przypadku jest użytkownikiem bazy danych, nie jest uwierzytelniany przez serwer warstwy środkowej. Tożsamość klienta i hasło bazy danych są przekazywane przez serwer warstwy środkowej do serwera bazy danych na potrzeby uwierzytelniania.
Klient, który w tym przypadku jest użytkownikiem globalnym, jest uwierzytelniany przez serwer warstwy środkowej i przekazuje nazwę wyróżniającą (DN) lub certyfikat za pośrednictwem warstwy środkowej w celu pobrania nazwy użytkownika klienta.
Opcje autoryzacji usługi Azure Synapse
Usługa Azure Synapse obsługuje dwie podstawowe opcje połączenia i autoryzacji:
Uwierzytelnianie SQL: uwierzytelnianie SQL używa połączenia z bazą danych, które zawiera identyfikator bazy danych, identyfikator użytkownika i hasło oraz inne parametry opcjonalne. Ta metoda uwierzytelniania jest funkcjonalnie równoważna uwierzytelnianiu bazy danych Oracle.
Uwierzytelnianie firmy Microsoft Entra: dzięki uwierzytelnianiu firmy Microsoft Entra można centralnie zarządzać tożsamościami użytkowników bazy danych i usługi firmy Microsoft w jednej lokalizacji. Scentralizowane zarządzanie zapewnia jedno miejsce do zarządzania użytkownikami usługi Azure Synapse i upraszcza zarządzanie uprawnieniami. Uwierzytelnianie Microsoft Entra obsługuje połączenia z usługami LDAP i Kerberos. Na przykład możesz użyć uwierzytelniania Firmy Microsoft Entra, aby nawiązać połączenie z istniejącymi katalogami LDAP, jeśli mają pozostać w miejscu po migracji bazy danych.
Użytkownicy, role i uprawnienia
Zarówno oracle, jak i Azure Synapse implementują kontrolę dostępu do bazy danych za pomocą kombinacji użytkowników, ról i uprawnień. Możesz użyć standardowych instrukcji CREATE USER
SQL i CREATE ROLE/GROUP
zdefiniować użytkowników i role. GRANT
instrukcje i REVOKE
przypisują lub usuwają uprawnienia do użytkowników i/lub ról.
Napiwek
Planowanie jest niezbędne dla pomyślnego projektu migracji. Zacznij od decyzji dotyczących podejścia wysokiego poziomu.
Koncepcyjnie bazy danych Oracle i Azure Synapse są podobne i w pewnym stopniu można zautomatyzować migrację istniejących identyfikatorów użytkowników, grup i uprawnień. Wyodrębnij starsze informacje o użytkownikach i grupach z tabel wykazu systemu Oracle, a następnie wygeneruj pasujące równoważne CREATE USER
instrukcje i CREATE ROLE
instrukcje. Uruchom te instrukcje w usłudze Azure Synapse, aby ponownie utworzyć tę samą hierarchię użytkowników/ról.
Napiwek
Jeśli to możliwe, zautomatyzuj procesy migracji, aby skrócić czas i zakres błędów.
Po wyodrębnieniu danych użyj tabel wykazu systemu Oracle, aby wygenerować równoważne GRANT
instrukcje w celu przypisania uprawnień, jeśli istnieje odpowiednik.
Użytkownicy i role
Informacje o bieżących użytkownikach i grupach w systemie Oracle są przechowywane w widokach katalogu systemu, takich jak ALL_USERS
i DBA_USERS
. Możesz wykonywać zapytania dotyczące tych widoków w normalny sposób za pośrednictwem programu Oracle SQL*Plus lub Oracle SQL Developer. Poniżej przedstawiono podstawowe przykłady zapytań:
--List of users
select * from dba_users order by username;
--List of roles
select * from dba_roles order by role;
--List of users and their associated roles
select * from user_role_privs order by username, granted_role;
Program Oracle SQL Developer ma wbudowane opcje wyświetlania informacji o użytkowniku i roli w okienku Raporty , jak pokazano na poniższym zrzucie ekranu.
Możesz zmodyfikować przykładową SELECT
instrukcję, aby wygenerować zestaw wyników, który jest serią instrukcji CREATE USER
i CREATE GROUP
. W tym celu dołącz odpowiedni tekst jako literał w instrukcji SELECT
.
Nie ma możliwości pobrania istniejących haseł Oracle, dlatego należy zaimplementować schemat przydzielania nowych haseł początkowych w usłudze Azure Synapse.
Napiwek
Migracja magazynu danych wymaga migracji nie tylko tabel, widoków i instrukcji SQL.
Uprawnienia
W systemie Oracle widok systemu DBA_ROLE_PRIVS
przechowuje prawa dostępu dla użytkowników i ról. Jeśli masz SELECT
dostęp, możesz wykonać zapytanie dotyczące tego widoku, aby uzyskać bieżące listy praw dostępu zdefiniowane w systemie. Poniższy zrzut ekranu programu Oracle SQL Developer przedstawia przykładową listę praw dostępu.
Zapytania można również tworzyć w celu utworzenia skryptu, który jest serią instrukcji CREATE
i GRANT
dla usługi Azure Synapse, na podstawie istniejących uprawnień oracle. Poniższy zrzut ekranu programu Oracle SQL Developer przedstawia przykład tego skryptu.
W tej tabeli wymieniono i opisano widoki słownika danych wymagane do wyświetlania informacji o użytkownikach, rolach i uprawnieniach.
Wyświetlanie | opis |
---|---|
DBA_COL_PRIVS ALL_COL_PRIVS USER_COL_PRIVS |
Widok bazy danych opisuje wszystkie przydziały obiektów kolumn w bazie danych. Widok ALL opisuje wszystkie przydziały obiektów kolumny, dla których bieżący użytkownik lub PUBLIC jest właścicielem obiektu, grantorem lub grantee. Widok UŻYTKOWNIK opisuje przyznanie obiektu kolumny, dla którego bieżący użytkownik jest właścicielem obiektu, grantorem lub grantee. |
ALL_COL_PRIVS_MADE USER_COL_PRIVS_MADE |
Widok ALL wyświetla listę obiektów kolumn, dla których bieżący użytkownik jest właścicielem obiektu lub grantorem. Widok UŻYTKOWNIKA opisuje przyznanie obiektu kolumny, dla którego bieżący użytkownik jest grantorem. |
ALL_COL_PRIVS_RECD USER_COL_PRIVS_RECD |
Widok ALL opisuje przyznanie obiektu kolumny, dla którego bieżący użytkownik lub PUBLIC jest grantee. Widok UŻYTKOWNIK opisuje przyznanie obiektu kolumny, dla którego bieżący użytkownik jest grantee. |
DBA_TAB_PRIVS ALL_TAB_PRIVS USER_TAB_PRIVS |
Widok bazy danych zawiera listę wszystkich dotacji dla wszystkich obiektów w bazie danych. Widok ALL zawiera listę dotacji dla obiektów, w których użytkownik lub PUBLIC jest grantee. Widok UŻYTKOWNIK wyświetla uprawnienia do wszystkich obiektów, w których bieżący użytkownik jest grantee. |
ALL_TAB_PRIVS_MADE USER_TAB_PRIVS_MADE |
Widok ALL wyświetla listę przydziałów obiektów wykonanych przez bieżącego użytkownika lub wykonanych na obiektach należących do bieżącego użytkownika. Widok UŻYTKOWNIKA zawiera listę dotacji dla wszystkich obiektów należących do bieżącego użytkownika. |
ALL_TAB_PRIVS_RECD USER_TAB_PRIVS_RECD |
Widok ALL wyświetla przydział obiektów, dla których użytkownik lub PUBLIC jest grantee. Widok UŻYTKOWNIK wyświetla listę dotacji obiektów, dla których bieżący użytkownik jest grantee. |
DBA_ROLES | Ten widok zawiera listę wszystkich ról, które istnieją w bazie danych. |
DBA_ROLE_PRIVS USER_ROLE_PRIVS |
Widok dba zawiera listę ról przyznanych użytkownikom i rolam. Widok UŻYTKOWNIK zawiera listę ról przyznanych bieżącemu użytkownikowi. |
DBA_SYS_PRIVS USER_SYS_PRIVS |
Widok administratora bazy danych zawiera listę uprawnień systemowych przyznanych użytkownikom i rolam. Widok UŻYTKOWNIK wyświetla listę uprawnień systemowych przyznanych bieżącemu użytkownikowi. |
ROLE_ROLE_PRIVS | W tym widoku opisano role przyznane innym rolom. Informacje są udostępniane tylko o rolach, do których użytkownik ma dostęp. |
ROLE_SYS_PRIVS | Ten widok zawiera informacje o uprawnieniach systemu przyznanych rolam. Informacje są udostępniane tylko o rolach, do których użytkownik ma dostęp. |
ROLE_TAB_PRIVS | Ten widok zawiera informacje o uprawnieniach obiektu przyznanych rolam. Informacje są udostępniane tylko o rolach, do których użytkownik ma dostęp. |
SESSION_PRIVS | Ten widok zawiera listę uprawnień, które są obecnie włączone dla użytkownika. |
SESSION_ROLES | Ten widok zawiera listę ról, które są obecnie włączone dla użytkownika. |
Oracle obsługuje różne typy uprawnień:
Uprawnienia systemowe: uprawnienia systemowe umożliwiają użytkownikowi wykonywanie standardowych zadań administratora w bazie danych. Zazwyczaj te uprawnienia są ograniczone do zaufanych użytkowników. Wiele uprawnień systemowych jest specyficznych dla operacji Oracle.
Uprawnienia obiektu: każdy typ obiektu ma skojarzone z nim uprawnienia.
Uprawnienia tabeli: uprawnienia tabeli umożliwiają zabezpieczenia na poziomie języka manipulowania danymi (DML) lub języka definicji danych (DDL). Uprawnienia tabeli można mapować bezpośrednio na ich odpowiedniki w usłudze Azure Synapse.
Uprawnienia widoku: uprawnienia obiektu DML można stosować do widoków, podobnie jak w tabelach. Uprawnienia widoku można mapować bezpośrednio na ich odpowiedniki w usłudze Azure Synapse.
Uprawnienia procedury: procedury zezwalają na procedury, w tym autonomiczne procedury i funkcje, które mają zostać przyznane
EXECUTE
uprawnienia. Uprawnienia procedury można mapować bezpośrednio na ich odpowiedniki w usłudze Azure Synapse.Uprawnienia typu: uprawnienia systemowe można przyznać nazwanym typom, takim jak typy obiektów,
VARRAYs
i tabele zagnieżdżone. Zazwyczaj te uprawnienia są specyficzne dla oracle i nie mają odpowiednika w usłudze Azure Synapse.
Napiwek
Usługa Azure Synapse ma równoważne uprawnienia do podstawowych operacji bazy danych, takich jak DML i DDL.
W poniższej tabeli wymieniono typowe uprawnienia administratora oracle, które mają bezpośredni odpowiednik w usłudze Azure Synapse.
Uprawnienia administratora | opis | Odpowiednik usługi Synapse |
---|---|---|
[Utwórz] Baza danych | Użytkownik może tworzyć bazy danych. Uprawnienia do działania na istniejących bazach danych są kontrolowane przez uprawnienia obiektu. | CREATE DATABASE |
[Utwórz] Tabela zewnętrzna | Użytkownik może tworzyć tabele zewnętrzne. Uprawnienia do działania w istniejących tabelach są kontrolowane przez uprawnienia obiektu. | CREATE TABLE |
[Utwórz] Funkcja | Użytkownik może tworzyć funkcje zdefiniowane przez użytkownika (UDF). Uprawnienie do działania na istniejących funkcjach zdefiniowanych przez użytkownika jest kontrolowane przez uprawnienia obiektu. | CREATE FUNCTION |
[Utwórz] Rola | Użytkownik może tworzyć grupy. Uprawnienia do działania w istniejących grupach są kontrolowane przez uprawnienia obiektu. | TWORZENIE ROLI |
[Utwórz] Indeks | Tylko w przypadku systemu. Użytkownicy nie mogą tworzyć indeksów. | CREATE INDEX |
[Utwórz] Zmaterializowany widok | Użytkownik może tworzyć zmaterializowane widoki. | TWORZENIE WIDOKU |
[Utwórz] Procedura | Użytkownik może tworzyć procedury składowane. Uprawnienia do wykonywania istniejących procedur składowanych są kontrolowane przez uprawnienia obiektu. | TWORZENIE PROCEDURY |
[Utwórz] Schemat | Użytkownik może tworzyć schematy. Uprawnienia do działania na istniejących schematach są kontrolowane przez uprawnienia obiektu. | TWORZENIE SCHEMATU |
[Utwórz] Stół | Użytkownik może tworzyć tabele. Uprawnienia do działania w istniejących tabelach są kontrolowane przez uprawnienia obiektu. | CREATE TABLE |
[Utwórz] Tabela tymczasowa | Użytkownik może tworzyć tabele tymczasowe. Uprawnienia do działania w istniejących tabelach są kontrolowane przez uprawnienia obiektu. | CREATE TABLE |
[Utwórz] Użytkownik | Użytkownik może tworzyć użytkowników. Uprawnienia do działania na istniejących użytkownikach są kontrolowane przez uprawnienia obiektu. | TWORZENIE UŻYTKOWNIKA |
[Utwórz] Widok | Użytkownik może tworzyć widoki. Uprawnienia do obsługi istniejących widoków są kontrolowane przez uprawnienia obiektu. | TWORZENIE WIDOKU |
Migrację tych uprawnień można zautomatyzować, generując równoważne skrypty dla usługi Azure Synapse z tabel wykazu Oracle, zgodnie z opisem we wcześniejszej części tej sekcji.
W następnej tabeli wymieniono typowe uprawnienia obiektu Oracle, które mają bezpośredni odpowiednik w usłudze Azure Synapse.
Uprawnienie obiektu | opis | Odpowiednik usługi Synapse |
---|---|---|
Modyfikowanie | Użytkownik może modyfikować atrybuty obiektu. Dotyczy wszystkich obiektów. | ZMIENIANIE |
Delete | Użytkownik może usunąć wiersze tabeli. Dotyczy tylko tabel. | DELETE |
Porzuć | Użytkownik może usuwać obiekty. Dotyczy wszystkich typów obiektów. | DROP |
Wykonywanie | Użytkownik może uruchamiać funkcje zdefiniowane przez użytkownika, agregacje zdefiniowane przez użytkownika lub procedury składowane. | WYKONAJ |
Insert | Użytkownik może wstawić wiersze do tabeli. Dotyczy tylko tabel. | INSERT |
List | Użytkownik może wyświetlić nazwę obiektu na liście lub w inny sposób. Dotyczy wszystkich obiektów. | LISTA |
Wybierz pozycję | Użytkownik może wybrać (lub wykonywać zapytania) wiersze w tabeli. Dotyczy tabel i widoków. | SELECT |
Truncate | Użytkownik może usunąć wszystkie wiersze z tabeli. Dotyczy tylko tabel. | OBCIĄĆ |
Zaktualizuj | Użytkownik może modyfikować wiersze tabeli. Dotyczy tylko tabel. | UPDATE |
Aby uzyskać więcej informacji na temat uprawnień usługi Azure Synapse, zobacz Uprawnienia aparatu bazy danych.
Migrowanie użytkowników, ról i uprawnień
Do tej pory opisano typowe podejście do migrowania użytkowników, ról i uprawnień do usługi Azure Synapse przy użyciu CREATE USER
poleceń , CREATE ROLE
i GRANT
SQL. Nie trzeba jednak migrować wszystkich operacji Oracle z uprawnieniami do przyznania do nowego środowiska. Na przykład operacje zarządzania systemem nie mają zastosowania do nowego środowiska lub równoważne funkcje są automatyczne lub zarządzane poza bazą danych. W przypadku użytkowników, ról i podzestawu uprawnień, które mają bezpośredni odpowiednik w środowisku usługi Azure Synapse, opisano proces migracji w następujących krokach:
Migrowanie definicji schematu, tabeli i widoku oracle do środowiska usługi Azure Synapse. W tym kroku są migrowane tylko definicje tabel, a nie dane.
Wyodrębnij istniejące identyfikatory użytkowników, które mają zostać zmigrowane z tabel systemowych Oracle, wygeneruj skrypt instrukcji
CREATE USER
dla usługi Azure Synapse, a następnie uruchom ten skrypt w środowisku usługi Azure Synapse. Znajdź sposób tworzenia nowych początkowych haseł, ponieważ nie można wyodrębnić haseł ze środowiska Oracle.Wyodrębnij istniejące role z tabel systemowych Oracle, wygeneruj skrypt równoważnych
CREATE ROLE
instrukcji dla usługi Azure Synapse, a następnie uruchom ten skrypt w środowisku usługi Azure Synapse.Wyodrębnij kombinacje użytkowników/ról z tabel systemowych Oracle, wygeneruj skrypt dla
GRANT
ról użytkownikom w usłudze Azure Synapse, a następnie uruchom ten skrypt w środowisku usługi Azure Synapse.Wyodrębnij odpowiednie informacje o uprawnieniach z tabel systemowych Oracle, a następnie wygeneruj skrypt do
GRANT
odpowiednich uprawnień dla użytkowników i ról w usłudze Azure Synapse, a następnie uruchom ten skrypt w środowisku usługi Azure Synapse.
Zagadnienia operacyjne
W tej sekcji omówiono, jak typowe zadania operacyjne Oracle można zaimplementować w usłudze Azure Synapse z minimalnym ryzykiem i wpływem użytkowników.
Podobnie jak w przypadku wszystkich produktów magazynu danych w środowisku produkcyjnym, bieżące zadania zarządzania są niezbędne do wydajnego działania systemu i zapewnienia danych na potrzeby monitorowania i inspekcji. Inne zagadnienia operacyjne obejmują wykorzystanie zasobów, planowanie pojemności na potrzeby przyszłego wzrostu oraz tworzenie/przywracanie kopii zapasowych danych.
Napiwek
Zadania operacyjne są niezbędne do wydajnego działania magazynu danych.
Zadania administracyjne oracle zwykle należą do dwóch kategorii:
Administracja systemem: administrowanie systemem jest zarządzanie sprzętem, ustawieniami konfiguracji, stanem systemu, dostępem, miejscem na dysku, użyciem, uaktualnieniami i innymi zadaniami.
Administracja bazą danych: administrowanie bazami danych użytkowników i ich zawartością, ładowaniem danych, tworzeniem kopii zapasowych danych, odzyskiwaniem danych i dostępem do danych i uprawnień.
Firma Oracle oferuje kilka metod i interfejsów, których można użyć do wykonywania zadań zarządzania systemami i bazami danych:
Oracle Enterprise Manager to lokalna platforma zarządzania firmy Oracle. Zapewnia on pojedyncze okienko szkła do zarządzania wszystkimi wdrożeniami Oracle klienta, zarówno w centrach danych, jak i w chmurze Oracle. Dzięki głębokiej integracji ze stosem produktów oracle rozwiązanie Oracle Enterprise Manager zapewnia obsługę zarządzania i automatyzacji dla aplikacji Oracle, baz danych, oprogramowania pośredniczącego, sprzętu i systemów inżynierów.
Program Oracle Instance Manager udostępnia interfejs użytkownika do administrowania wystąpieniami Oracle wysokiego poziomu. Program Oracle Instance Manager umożliwia wykonywanie zadań, takich jak uruchamianie, zamykanie i wyświetlanie dzienników.
Oracle Database Configuration Assistant to interfejs użytkownika, który umożliwia zarządzanie różnymi funkcjami i funkcjami bazy danych oraz zarządzanie nimi.
Polecenia SQL, które obsługują zadania administracyjne i zapytania w ramach sesji bazy danych SQL. Polecenia SQL można uruchamiać z interpretera poleceń Oracle SQL*Plus, interfejsu użytkownika programu Oracle SQL Developer lub za pośrednictwem interfejsów API SQL, takich jak ODBC, JDBC i DOSTAWCA OLE DB. Aby uruchamiać polecenia SQL, musisz mieć konto użytkownika bazy danych z odpowiednimi uprawnieniami dla wykonywanych zapytań i zadań.
Chociaż zadania związane z zarządzaniem i operacjami dla różnych magazynów danych są podobne, poszczególne implementacje mogą się różnić. Nowoczesne produkty oparte na chmurze, takie jak Azure Synapse, mają tendencję do uwzględnienia bardziej zautomatyzowanego i "zarządzanego przez system" podejścia w porównaniu z bardziej ręcznym podejściem w starszych środowiskach, takich jak Oracle.
W poniższych sekcjach porównaliśmy opcje Oracle i Azure Synapse dla różnych zadań operacyjnych.
Zadania sprzątania
W większości starszych środowisk magazynu danych regularne zadania sprzątania są czasochłonne. Możesz odzyskać miejsce do magazynowania na dysku, usuwając stare wersje zaktualizowanych lub usuniętych wierszy. Możesz też odzyskać miejsce do magazynowania na dysku, reorganizując dane, pliki dziennika i bloki indeksu w celu zwiększenia wydajności, na przykład uruchamiając polecenie ALTER TABLE... SHRINK SPACE
w programie Oracle.
Napiwek
Zadania utrzymywania magazynu produkcyjnego działają wydajnie i optymalizują magazyn i inne zasoby.
Zbieranie statystyk to potencjalnie czasochłonne zadanie, które jest wymagane po zbiorczym pozyskiwaniu danych, aby zapewnić optymalizatorowi zapytań aktualne dane dla planów wykonywania zapytań.
Oracle ma wbudowaną funkcję, która ułatwia analizowanie jakości statystyk — doradcy ds. statystyk optymalizatora. Działa ona na liście reguł Oracle, które reprezentują najlepsze rozwiązania dotyczące statystyk optymalizatora. Doradca sprawdza każdą regułę i, w razie potrzeby, generuje wyniki, zalecenia i akcje, które obejmują wywołania pakietu w DBMS_STATS
celu podjęcia środków naprawczych. Użytkownicy mogą wyświetlić listę reguł w V$STATS_ADVISOR_RULES
widoku, jak pokazano na poniższym zrzucie ekranu.
Baza danych Oracle zawiera wiele tabel dzienników w słowniku danych, które gromadzą dane automatycznie lub po włączeniu niektórych funkcji. Ponieważ dane dziennika rosną wraz z upływem czasu, przeczyść starsze informacje, aby uniknąć używania stałego miejsca. Firma Oracle udostępnia opcje automatyzacji konserwacji dzienników.
Usługa Azure Synapse może automatycznie tworzyć statystyki, aby były dostępne w razie potrzeby. Indeksy i bloki danych można defragmentować ręcznie, zgodnie z harmonogramem lub automatycznie. Korzystając z natywnych wbudowanych możliwości platformy Azure, można zmniejszyć nakład pracy na migrację.
Napiwek
Automatyzowanie i monitorowanie zadań utrzymywania domu na platformie Azure.
Monitorowanie i inspekcja
Program Oracle Enterprise Manager obejmuje narzędzia do monitorowania różnych aspektów co najmniej jednego systemu Oracle, takich jak aktywność, wydajność, kolejkowanie i wykorzystanie zasobów. Program Oracle Enterprise Manager ma interaktywny interfejs użytkownika, który umożliwia użytkownikom przechodzenie do szczegółów niskiego poziomu dowolnego wykresu.
Napiwek
Oracle Enterprise Manager to zalecana metoda monitorowania i rejestrowania w systemach Oracle.
Na poniższym diagramie przedstawiono omówienie środowiska monitorowania w magazynie danych Oracle.
Usługa Azure Synapse udostępnia również zaawansowane środowisko monitorowania w witrynie Azure Portal, aby zapewnić wgląd w obciążenie magazynu danych. Witryna Azure Portal jest zalecanym narzędziem do monitorowania magazynu danych, ponieważ zapewnia konfigurowalne okresy przechowywania, alerty, zalecenia i dostosowywalne wykresy i pulpity nawigacyjne dla metryk i dzienników.
Napiwek
Witryna Azure Portal udostępnia interfejs użytkownika do zarządzania zadaniami monitorowania i inspekcji dla wszystkich danych i procesów platformy Azure.
Witryna Azure Portal może również udostępniać zalecenia dotyczące ulepszeń wydajności, jak pokazano na poniższym zrzucie ekranu.
Portal obsługuje integrację z innymi usługami monitorowania platformy Azure, takimi jak Operations Management Suite (OMS) i Azure Monitor, w celu zapewnienia zintegrowanego środowiska monitorowania magazynu danych i całej platformy Azure Analytics. Aby uzyskać więcej informacji, zobacz Azure Synapse operations and management options (Operacje i opcje zarządzania w usłudze Azure Synapse).
Wysoka dostępność i odzyskiwanie po awarii (DR)
Od czasu wydania początkowego w 1979 r. środowisko Oracle ewoluowało, aby obejmować wiele funkcji wymaganych przez klientów korporacyjnych, w tym opcje wysokiej dostępności (HA) i odzyskiwania po awarii (DR). Najnowsze ogłoszenie w tym obszarze to Architektura maksymalnej dostępności (MAA), która obejmuje architektury referencyjne dla czterech poziomów wysokiej dostępności i odzyskiwania po awarii:
- Warstwa z brązu: architektura wysokiej dostępności pojedynczego wystąpienia
- Warstwa Silver: wysoka dostępność z automatycznym trybem failover
- Warstwa Złota: kompleksowa wysoka dostępność i odzyskiwanie po awarii
- Warstwa Platynowa: zero awarii dla aplikacji gotowych do użycia platynowo
Usługa Azure Synapse używa migawek baz danych w celu zapewnienia wysokiej dostępności magazynu danych. Migawka magazynu danych tworzy punkt przywracania, którego można użyć do przywrócenia magazynu danych do poprzedniego stanu. Ponieważ usługa Azure Synapse jest systemem rozproszonym, migawka magazynu danych składa się z wielu plików przechowywanych w usłudze Azure Storage. Migawki przechwytują przyrostowe zmiany danych przechowywanych w magazynie danych.
Napiwek
Usługa Azure Synapse automatycznie tworzy migawki, aby zapewnić szybki czas odzyskiwania.
Usługa Azure Synapse automatycznie tworzy migawki przez cały dzień i tworzy punkty przywracania, które są dostępne przez siedem dni. Nie można zmienić tego okresu przechowywania. Usługa Azure Synapse obsługuje ośmiogodzinny cel punktu odzyskiwania (RPO). Magazyn danych można przywrócić w regionie podstawowym z dowolnej migawki wykonanej w ciągu ostatnich siedmiu dni.
Napiwek
Migawki zdefiniowane przez użytkownika mogą służyć do definiowania punktu odzyskiwania przed aktualizacjami kluczy.
Usługa Azure Synapse obsługuje punkty przywracania zdefiniowane przez użytkownika, które są tworzone na podstawie ręcznie wyzwalanych migawek. Tworząc punkty przywracania przed modyfikacjami dużego magazynu danych i po nim, upewnij się, że punkty przywracania są logicznie spójne. Punkty przywracania zdefiniowane przez użytkownika rozszerzają ochronę danych i skracają czas odzyskiwania, jeśli występują przerwy w obciążeniu lub błędy użytkownika.
Oprócz migawek usługa Azure Synapse wykonuje standardową kopię zapasową geograficzną raz dziennie w sparowanym centrum danych. Cel punktu odzyskiwania dla przywracania geograficznego wynosi 24 godziny. Możesz przywrócić geograficzną kopię zapasową na serwer w dowolnym regionie, w którym jest obsługiwana usługa Azure Synapse. Geograficzna kopia zapasowa gwarantuje, że magazyn danych można przywrócić, jeśli punkty przywracania w regionie podstawowym nie są dostępne.
Napiwek
Platforma Microsoft Azure udostępnia automatyczne kopie zapasowe do oddzielnej lokalizacji geograficznej w celu włączenia odzyskiwania po awarii.
Zarządzanie obciążeniami
Firma Oracle udostępnia narzędzia, takie jak Enterprise Manager i Database Resource Manager (DBRM) do zarządzania obciążeniami. Te narzędzia obejmują funkcje, takie jak równoważenie obciążenia w dużych klastrach, równoległe wykonywanie zapytań, pomiar wydajności i priorytetyzacja. Wiele z tych funkcji można zautomatyzować, aby system stał się w pewnym stopniu dostrajania.
Napiwek
Typowy magazyn danych produkcyjnych jednocześnie uruchamia mieszane obciążenia z różnymi charakterystykami użycia zasobów.
Usługa Azure Synapse automatycznie rejestruje statystyki wykorzystania zasobów. Metryki obejmują statystyki użycia procesora CPU, pamięci, pamięci podręcznej, operacji we/wy i tymczasowego obszaru roboczego dla każdego zapytania. Usługa Azure Synapse rejestruje również informacje o łączności, takie jak nieudane próby połączenia.
Napiwek
Metryki niskiego poziomu i całego systemu są automatycznie rejestrowane na platformie Azure.
W usłudze Azure Synapse klasy zasobów są wstępnie określonymi limitami zasobów, które zarządzają zasobami obliczeniowymi i współbieżnością na potrzeby wykonywania zapytań. Klasy zasobów ułatwiają zarządzanie obciążeniem przez ustawienie limitów liczby zapytań uruchamianych współbieżnie i zasobów obliczeniowych przypisanych do każdego zapytania. Istnieje kompromis między pamięcią a współbieżnością.
Usługa Azure Synapse obsługuje następujące podstawowe pojęcia dotyczące zarządzania obciążeniami:
Klasyfikacja obciążeń: możesz przypisać żądanie do grupy obciążeń w celu ustawienia poziomów ważności.
Ważność obciążenia: możesz wpływać na kolejność, w jakiej żądanie uzyskuje dostęp do zasobów. Domyślnie zapytania są zwalniane z kolejki w pierwszej kolejności, gdy zasoby stają się dostępne. Ważność obciążenia umożliwia wykonywanie zapytań o wyższym priorytcie natychmiast odbierać zasoby niezależnie od kolejki.
Izolacja obciążenia: możesz zarezerwować zasoby dla grupy obciążeń, przypisać maksymalne i minimalne użycie dla różnych zasobów, ograniczyć zasoby, z których może korzystać grupa żądań, i ustawić wartość limitu czasu, aby automatycznie zabić zapytania uruchamiania.
Uruchamianie mieszanych obciążeń może stanowić wyzwanie dla zasobów w systemach zajętych. Pomyślny schemat zarządzania obciążeniami skutecznie zarządza zasobami, zapewnia wysoce wydajne wykorzystanie zasobów i maksymalizuje zwrot z inwestycji (ROI). Klasyfikacja obciążeń, ważność obciążenia i izolacja obciążenia zapewnia większą kontrolę nad sposobem korzystania z zasobów systemowych przez obciążenie.
Możesz użyć metryk obciążenia zbieranych przez usługę Azure Synapse na potrzeby planowania pojemności, na przykład w celu określenia zasobów wymaganych dla dodatkowych użytkowników lub większego obciążenia aplikacji. Możesz również użyć metryk obciążenia, aby zaplanować skalowanie w górę/w dół zasobów obliczeniowych w celu ekonomicznego wsparcia obciążeń szczytowych.
W przewodniku zarządzania obciążeniami opisano techniki analizowania obciążenia, zarządzania i monitorowania ważności obciążenia](.. /.. /sql-data-warehouse/sql-data-warehouse-how-to-manage-and-monitor-workload-importance.md) oraz kroki konwertowania klasy zasobów na grupę obciążeń. Użyj witryny Azure Portal i zapytań T-SQL w widokach DMV, aby monitorować obciążenie w celu zapewnienia efektywnego wykorzystania odpowiednich zasobów. Usługa Azure Synapse udostępnia zestaw dynamicznych widoków zarządzania (DMV) do monitorowania wszystkich aspektów zarządzania obciążeniami. Te widoki są przydatne podczas aktywnego rozwiązywania problemów i identyfikowania wąskich gardeł wydajności w obciążeniu.
Aby uzyskać więcej informacji na temat zarządzania obciążeniami w usłudze Azure Synapse, zobacz Zarządzanie obciążeniami przy użyciu klas zasobów.
Skalowanie zasobów obliczeniowych
Architektura usługi Azure Synapse oddziela magazyn i zasoby obliczeniowe, co pozwala na niezależne skalowanie każdego z nich. W związku z tym zasoby obliczeniowe można skalować w celu spełnienia wymagań dotyczących wydajności niezależnie od magazynu danych. Można również wstrzymywać i wznawiać działanie zasobów obliczeniowych. Kolejną zaletą tej architektury jest to, że rozliczenia dla zasobów obliczeniowych i magazynu są oddzielne. Jeśli magazyn danych nie jest używany, możesz zaoszczędzić na kosztach obliczeń, wstrzymując obliczenia.
Napiwek
Główną zaletą platformy Azure jest możliwość niezależnego skalowania zasobów obliczeniowych w górę i w dół na żądanie w celu efektywnego obsługi obciążeń szczytowych.
Zasoby obliczeniowe można skalować w górę lub w dół, dostosowując ustawienie jednostek magazynu danych (DWU) dla magazynu danych. Wydajność ładowania i zapytań zwiększa się liniowo w miarę przydzielania większej liczby jednostek DWU.
W przypadku zwiększenia liczby jednostek DWU liczba węzłów obliczeniowych zwiększa się, co zwiększa moc obliczeniową i obsługuje przetwarzanie równoległe. Wraz ze wzrostem liczby węzłów obliczeniowych liczba dystrybucji na węzeł obliczeniowy zmniejsza się, zapewniając większą moc obliczeniową i przetwarzanie równoległe zapytań. Podobnie, jeśli zmniejszysz liczbę jednostek DWU, liczba węzłów obliczeniowych zmniejszy się, co zmniejsza zasoby obliczeniowe dla zapytań.
Następne kroki
Aby dowiedzieć się więcej na temat wizualizacji i raportowania, zobacz następny artykuł z tej serii: Wizualizacja i raportowanie migracji oracle.