Share via


Sicurezza, accesso e operazioni per le migrazioni di Oracle

Questo articolo è la terza parte di una serie in sette parti che fornisce indicazioni su come eseguire la migrazione da Oracle ad Azure Synapse Analytics. Questo articolo si incentra sulle procedure consigliate per le operazioni di accesso alla sicurezza.

Considerazioni sulla sicurezza

L'ambiente Oracle offre diversi metodi per l'accesso e l'autenticazione di cui potrebbe essere necessario eseguire la migrazione ad Azure Synapse con un rischio e un impatto sull'utente minimi. L'articolo presuppone che si voglia eseguire la migrazione dei metodi di connessione esistenti e delle strutture di autorizzazione, ruolo e utente così come sono. In caso contrario, usare il portale di Azure per creare e gestire un nuovo regime di sicurezza.

Per altre informazioni sulle opzioni di sicurezza di Azure Synapse, vedere Sicurezza di Azure Synapse Analytics.

Connessione e autenticazione

L'autenticazione è il processo di verifica dell'identità di un utente, di un dispositivo o di un'altra entità in un sistema informatico, in genere come prerequisito per concedere l'accesso alle risorse in un sistema.

Suggerimento

L'autenticazione sia su Oracle che su Azure Synapse può essere eseguita "nel database" o tramite metodi esterni.

Opzioni di autorizzazione di Oracle

Il sistema Oracle offre questi metodi di autenticazione per gli utenti del database:

  • Autenticazione del database: con l'autenticazione del database, il database Oracle amministra l'account utente e autentica l'utente. Affinché il database Oracle esegua l'autenticazione, genera una password per i nuovi utenti e archivia le password in formato crittografato. Gli utenti possono modificare la password in qualsiasi momento. Oracle consiglia la gestione delle password tramite il blocco degli account, l'invecchiamento e la scadenza delle password, la cronologia delle password e la verifica della complessità delle password. L'autenticazione del database è comune nelle installazioni Oracle precedenti.

  • Autenticazione esterna: con l'autenticazione esterna, il database Oracle gestisce l'account utente e un servizio esterno esegue l'amministrazione delle password e l'autenticazione utente. Il servizio esterno può essere un sistema operativo o un servizio di rete come Oracle Net. Il database si basa sul sistema operativo sottostante o sul servizio di autenticazione di rete per limitare l'accesso agli account di database. Questo tipo di segno non usa una password del database. Sono disponibili due opzioni di autenticazione esterna:

    • Autenticazione del sistema operativo: per impostazione predefinita, Oracle richiede una connessione sicura per gli account di accesso autenticati dal sistema operativo per impedire a un utente remoto di rappresentare un utente del sistema operativo tramite una connessione di rete. Questo requisito impedisce l'uso di Oracle Net e di una configurazione di server condiviso.

    • Autenticazione di rete: sono disponibili diversi meccanismi di autenticazione di rete, ad esempio smart card, impronte digitali, Kerberos e il sistema operativo. Molti servizi di autenticazione di rete, ad esempio Kerberos, supportano l'accesso Single Sign-On in modo che gli utenti debbano ricordare meno password.

  • Autenticazione e autorizzazione globali: con l'autenticazione e l'autorizzazione globali, è possibile centralizzare la gestione delle informazioni correlate all'utente, incluse le autorizzazioni, in un servizio directory basato su LDAP. Gli utenti vengono identificati nel database come utenti globali, il che significa che vengono autenticati tramite TLS/SSL e la gestione degli utenti avviene all'esterno del database. Il servizio directory centralizzato esegue la gestione degli utenti. Questo approccio offre l'autenticazione avanzata usando TLS/SSL, Kerberos o l'autenticazione nativa di Windows e consente la gestione centralizzata di utenti e privilegi nell'intera azienda. L'amministrazione è più semplice perché non è necessario creare uno schema per ogni utente in ogni database dell'organizzazione. È supportato anche l'accesso Single Sign-On, in modo che gli utenti debbano accedere una sola volta per accedere a più database e servizi.

  • Autenticazione e Autorizzazione proxy: è possibile designare un server di livello intermedio per i client proxy in modo sicuro. Oracle offre varie opzioni per l'autenticazione proxy, ad esempio:

    • Il server di livello intermedio può autenticarsi con il server di database. Un client, che in questo caso è un utente dell'applicazione o un'altra applicazione, esegue l'autenticazione con il server di livello intermedio. Le identità client possono essere mantenute fino al database.

    • Il client, che in questo caso è l'utente del database, non viene autenticato dal server di livello intermedio. L'identità e la password del database del client vengono passati attraverso il server di livello intermedio al server di database per l'autenticazione.

    • Il client, che in questo caso è un utente globale, viene autenticato dal server di livello intermedio e passa un nome distinto (DN) o un certificato tramite il livello intermedio per recuperare il nome utente del client.

Opzioni di autorizzazione di Azure Synapse

Azure Synapse supporta due opzioni di base per la connessione e l'autorizzazione:

  • Autenticazione SQL: l'autenticazione SQL usa una connessione di database che include un identificatore del database, un ID utente e una password oltre ad altri parametri facoltativi. Questo metodo di autenticazione equivale a livello funzionale all'autenticazione del database Oracle.

  • Autenticazione di Microsoft Entra: con l'autenticazione di Microsoft Entra è possibile gestire centralmente le identità degli utenti del database e servizi Microsoft in un'unica posizione. La gestione centralizzata consente di gestire gli utenti di Azure Synapse da un unico punto e semplifica la gestione delle autorizzazioni. L'autenticazione di Microsoft Entra supporta le connessioni ai servizi LDAP e Kerberos. Ad esempio, è possibile usare l'autenticazione di Microsoft Entra per connettersi alle directory LDAP esistenti se devono rimanere attive dopo la migrazione del database.

Utenti, ruoli e autorizzazioni

Sia Oracle che Azure Synapse implementano il controllo di accesso al database tramite una combinazione di utenti, ruoli e autorizzazioni. È possibile usare istruzioni SQL standard CREATE USER e CREATE ROLE/GROUP per definire utenti e ruoli. Le istruzioni GRANT e REVOKE assegnano o rimuovono autorizzazioni agli utenti e/o ai ruoli.

Suggerimento

La pianificazione è essenziale per un progetto di migrazione ottimale. Iniziare con decisioni di approccio di alto livello.

Concettualmente, i database Oracle e Azure Synapse sono simili e in qualche modo è possibile automatizzare la migrazione di ID utente, gruppi e autorizzazioni esistenti. Estrarre le informazioni dell'utente e del gruppo legacy dalle tabelle del catalogo di sistema Oracle, quindi generare istruzioni CREATE USER e CREATE ROLE equivalenti corrispondenti. Eseguire queste istruzioni in Azure Synapse per ricreare la stessa gerarchia di utenti/ruoli.

Suggerimento

Se possibile, automatizzare i processi di migrazione per ridurre il tempo trascorso e l'ambito degli errori.

Dopo l'estrazione dei dati, usare le tabelle del catalogo di sistema Oracle per generare istruzioni GRANT equivalenti per assegnare le autorizzazioni, se esiste un equivalente.

Chart showing how to automate the migration of privileges from an existing system.

Utenti e ruoli

Le informazioni sugli utenti e sui gruppi correnti in un sistema Oracle sono contenute nelle viste del catalogo di sistema, come ALL_USERS e DBA_USERS. È possibile eseguire query su queste viste nel modo normale tramite Oracle SQL*Plus o Oracle SQL Developer. Le query seguenti sono esempi di base:

--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;

Oracle SQL Developer include opzioni predefinite per visualizzare le informazioni sull'utente e sul ruolo nel riquadro Report , come illustrato nello screenshot seguente.

Screenshot showing the Reports pane for user roles in Oracle SQL Developer.

È possibile modificare l'istruzione SELECT di esempio per produrre un set di risultati che è una serie di istruzioni CREATE USER e CREATE GROUP. A tale scopo, includere il testo appropriato come valore letterale all'interno dell'istruzione SELECT.

Non è possibile recuperare le password Oracle esistenti, quindi è necessario implementare uno schema per allocare nuove password iniziali in Azure Synapse.

Suggerimento

La migrazione di un data warehouse richiede di eseguire la migrazione di molto più di semplici tabelle, viste e istruzioni SQL.

Autorizzazioni

In un sistema Oracle, la visualizzazione DBA_ROLE_PRIVS di sistema contiene i diritti di accesso per utenti e ruoli. Se si dispone dell'accesso SELECT, è possibile eseguire una query per ottenere gli elenchi di diritti di accesso correnti definiti all'interno del sistema. Lo screenshot di Oracle SQL Developer seguente mostra un elenco di diritti di accesso di esempio.

Screenshot showing the Reports pane for user access rights in Oracle SQL Developer.

È anche possibile creare query per produrre uno script che rappresenta una serie di istruzioni CREATE e GRANT per Azure Synapse, in base ai privilegi Oracle esistenti. Lo screenshot di Oracle SQL Developer seguente mostra un esempio di tale script.

Screenshot showing how to create a script of CREATE and GRANT statements in Oracle SQL Developer.

Questa tabella elenca e descrive le viste del dizionario dei dati necessarie per visualizzare informazioni su utenti, ruoli e privilegi.

Visualizza Descrizione
DBA_COL_PRIVS
ALL_COL_PRIVS
USER_COL_PRIVS
Nella vista DBA sono descritte tutte le concessioni di oggetti colonna nel database. Nella vista ALL sono descritte tutte le concessioni di oggetti colonna per le quali l'utente corrente o PUBLIC è il proprietario dell'oggetto, l'utente che concede le autorizzazioni o l'utente autorizzato. Nella vista USER sono descritte le concessioni di oggetti colonna per le quali l'utente corrente è il proprietario dell'oggetto, l'utente che concede le autorizzazioni o l'utente autorizzato.
ALL_COL_PRIVS_MADE
USER_COL_PRIVS_MADE
Nella vista ALL sono elencate le concessioni di oggetti colonna per le quali l'utente corrente è il proprietario dell'oggetto, o l'utente che concede le autorizzazioni. Nella vista USER sono descritte le concessioni di oggetti colonna per le quali l'utente corrente è l'utente che concede le autorizzazioni.
ALL_COL_PRIVS_RECD
USER_COL_PRIVS_RECD
Nella vista ALL sono descritte le concessioni di oggetti colonna per le quali l'utente corrente o PUBLIC è l'utente autorizzato. Nella vista USER sono descritte le concessioni di oggetti colonna per le quali l'utente corrente è l'utente autorizzato.
DBA_TAB_PRIVS
ALL_TAB_PRIVS
USER_TAB_PRIVS
Nella vista DBA sono elencate tutte le concessioni per tutti gli oggetti nel database. Nella vista ALL sono elencate le concessioni per gli oggetti in cui l'utente o PUBLIC è l'utente autorizzato. Nella vista USER sono elencate le concessioni per tutti gli oggetti in cui l'utente corrente è l'utente autorizzato.
ALL_TAB_PRIVS_MADE
USER_TAB_PRIVS_MADE
Nella vista ALL sono elencate le concessioni di oggetti effettuate dall'utente corrente o effettuate sugli oggetti di proprietà dell'utente corrente. Nella vista USER sono elencate le concessioni per tutti gli oggetti di proprietà dell'utente corrente.
ALL_TAB_PRIVS_RECD
USER_TAB_PRIVS_RECD
Nella vista ALL sono elencate le concessioni di oggetti per le quali l'utente o PUBLIC è l'utente autorizzato. Nella vista USER sono elencate le concessioni di oggetti per le quali l'utente corrente è l'utente autorizzato.
DBA_ROLES Questa vista elenca tutti i ruoli presenti nel database.
DBA_ROLE_PRIVS
USER_ROLE_PRIVS
Nella vista DBA sono elencati i ruoli concessi a utenti e ruoli. Nella vista USER sono elencati i ruoli concessi all'utente corrente.
DBA_SYS_PRIVS
USER_SYS_PRIVS
Nella vista DBA sono elencati i privilegi di sistema concessi a utenti e ruoli. Nella vista USER sono elencati i privilegi di sistema concessi all'utente corrente.
ROLE_ROLE_PRIVS Questa vista descrive i ruoli concessi ad altri ruoli. Le informazioni vengono fornite solo sui ruoli a cui l'utente ha accesso.
ROLE_SYS_PRIVS Questa vista contiene informazioni sui privilegi di sistema concessi ai ruoli. Le informazioni vengono fornite solo sui ruoli a cui l'utente ha accesso.
ROLE_TAB_PRIVS Questa vista contiene informazioni sui privilegi di tipo oggetto concessi ai ruoli. Le informazioni vengono fornite solo sui ruoli a cui l'utente ha accesso.
SESSION_PRIVS Questa vista elenca i privilegi attualmente abilitati per l'utente.
SESSION_ROLES Questa vista elenca i ruoli attualmente abilitati per l'utente.

Oracle supporta vari tipi di privilegi:

  • Privilegi di sistema: i privilegi di sistema consentono all'utente autorizzato di eseguire attività di amministratore standard nel database. In genere, questi privilegi sono limitati agli utenti attendibili. Molti privilegi di sistema sono specifici delle operazioni Oracle.

  • Privilegi di tipo oggetto: a ogni tipo di oggetto sono associati privilegi.

  • Privilegi delle tabelle: i privilegi delle tabelle consentono la sicurezza a livello DML (Data Manipulation Language) o DDL (Data Definition Language). È possibile eseguire il mapping dei privilegi delle tabelle direttamente all'equivalente in Azure Synapse.

  • Privilegi delle viste: è possibile applicare privilegi di tipo oggetto a livello DML alle viste, in modo analogo alle tabelle. È possibile visualizzare i privilegi delle tabelle direttamente all'equivalente in Azure Synapse.

  • Privilegi delle procedure: i privilegi delle procedure consentono la concessione alle procedure, incluse le procedure autonome e le funzioni, del privilegio EXECUTE. È possibile eseguire il mapping dei privilegi delle procedure direttamente all'equivalente in Azure Synapse.

  • Privilegi dei tipi: è possibile concedere privilegi di sistema a tipi denominati, ad esempio tipi di oggetto, VARRAYs e tabelle annidate. In genere, questi privilegi sono specifici di Oracle e non hanno equivalenti in Azure Synapse.

Suggerimento

Azure Synapse dispone di autorizzazioni equivalenti per operazioni di database di base, ad esempio DML e DDL.

La tabella seguente elenca i privilegi di amministratore Oracle comuni che hanno un equivalente diretto in Azure Synapse.

Privilegio di amministratore Descrizione Equivalente di Synapse
[Create] Database L'utente può creare database. L'autorizzazione per operare sui database esistenti è controllata dai privilegi di tipo oggetto. CREATE DATABASE
[Create] External Table L'utente può creare tabelle esterne. L'autorizzazione per operare sulle tabelle esistenti è controllata dai privilegi di tipo oggetto. CREATE TABLE
[Create] Function L'utente può creare funzioni definite dall'utente (UDF). L'autorizzazione per operare sulle funzioni definite dall'utente esistenti è controllata dai privilegi di tipo oggetto. CREATE FUNCTION
[Create] Role L'utente può creare gruppi. L'autorizzazione per operare sui gruppi esistenti è controllata dai privilegi di tipo oggetto. CREATE ROLE
[Create] Index Riservato per l'utilizzo nel sistema. Gli utenti non possono creare indici. CREATE INDEX
[Create] Materialized View L'utente può creare viste materializzate. CREATE VIEW
[Create] Procedure L'utente può creare stored procedure. L'autorizzazione per operare sulle stored procedure esistenti è controllata dai privilegi di tipo oggetto. CREATE PROCEDURE
[Create] Schema L'utente può creare schemi. L'autorizzazione per operare sugli schemi esistenti è controllata dai privilegi di tipo oggetto. CREATE SCHEMA
[Create] Table L'utente può creare tabelle. L'autorizzazione per operare sulle tabelle esistenti è controllata dai privilegi di tipo oggetto. CREATE TABLE
[Create] Temporary Table L'utente può creare tabelle temporanee. L'autorizzazione per operare sulle tabelle esistenti è controllata dai privilegi di tipo oggetto. CREATE TABLE
[Create] User L'utente può creare utenti. L'autorizzazione per operare sugli utenti esistenti è controllata dai privilegi di tipo oggetto. CREATE USER
[Create] View L'utente può creare viste. L'autorizzazione per operare sulle viste esistenti è controllata dai privilegi di tipo oggetto. CREATE VIEW

È possibile automatizzare la migrazione di questi privilegi generando script equivalenti per Azure Synapse dalle tabelle del catalogo Oracle, come descritto in precedenza in questa sezione.

La tabella successiva elenca i privilegi di tipo oggetto Oracle comuni che hanno un equivalente diretto in Azure Synapse.

Privilegi di tipo oggetto Descrizione Equivalente di Synapse
Alter L'utente può modificare gli attributi dell'oggetto. Si applica a tutti gli oggetti. ALTER
Elimina L'utente può eliminare le righe della tabella. Si applica solo a alle tabelle. DELETE
Goccia L'utente può eliminare oggetti. Si applica a tutti i tipi di oggetto. DROP
Execute L'utente può eseguire funzioni definite dall'utente, aggregazioni definite dall'utente o stored procedure. EXECUTE
Inserisci L'utente può inserire righe in una tabella. Si applica solo a alle tabelle. INSERT
List L'utente può visualizzare un nome di oggetto, in un elenco o in un altro modo. Si applica a tutti gli oggetti. INSERZIONE
Seleziona L'utente può selezionare righe (o eseguire query su di esse) all'interno di una tabella. Si applica a tabelle e viste. SELECT
Truncate L'utente può eliminare tutte le righe di una tabella. Si applica solo a alle tabelle. TRUNCATE
Aggiornamento L'utente può modificare le righe della tabella. Si applica solo alle tabelle. UPDATE

Per altre informazioni sulle autorizzazioni di Azure Synapse, vedere Autorizzazioni del motore di database.

Migrazione di utenti, ruoli e privilegi

Finora è stato descritto un approccio comune per la migrazione di utenti, ruoli e privilegi ad Azure Synapse usando i comandi SQL CREATE USER, CREATE ROLE e GRANT. Non è tuttavia necessario eseguire la migrazione di tutte le operazioni Oracle con privilegi concessi al nuovo ambiente. Ad esempio, le operazioni di gestione del sistema non sono applicabili al nuovo ambiente o la funzionalità equivalente è automatica o gestita all'esterno del database. Per gli utenti, i ruoli e il subset di privilegi che dispongono di un equivalente diretto nell'ambiente Azure Synapse, i passaggi seguenti descrivono il processo di migrazione:

  1. Eseguire la migrazione delle definizioni di schema, tabella e vista di Oracle nell'ambiente Azure Synapse. Questo passaggio esegue la migrazione solo delle definizioni di tabella non dei dati.

  2. Estrarre gli ID utente esistenti di cui si vuole eseguire la migrazione dalle tabelle di sistema Oracle, generare uno script di istruzioni CREATE USER per Azure Synapse e quindi eseguire lo script nell'ambiente Azure Synapse. Trovare un modo per creare nuove password iniziali, perché le password non possono essere estratte dall'ambiente Oracle.

  3. Estrarre i ruoli esistenti dalle tabelle di sistema Oracle, generare uno script di istruzioni CREATE ROLE equivalenti per Azure Synapse e quindi eseguire lo script nell'ambiente Azure Synapse.

  4. Estrarre le combinazioni utente/ruolo dalle tabelle di sistema Oracle, generare uno script per GRANT i ruoli agli utenti in Azure Synapse e quindi eseguire lo script nell'ambiente Azure Synapse.

  5. Estrarre le informazioni sui privilegi pertinenti dalle tabelle di sistema Oracle, quindi generare uno script per GRANT i privilegi appropriati a utenti e ruoli in Azure Synapse e quindi eseguire tale script nell'ambiente Azure Synapse.

Considerazioni operative

Questa sezione illustra come implementare le attività operative di Oracle tipiche in Azure Synapse con un rischio e un impatto minimi sull'utente.

Come per tutti i prodotti del data warehouse in produzione, sono necessarie attività di gestione per mantenere il sistema in esecuzione in modo efficiente e fornire dati per il monitoraggio e il controllo. Altre considerazioni operative includono l'utilizzo delle risorse, la pianificazione della capacità per la crescita futura e il backup/ripristino dei dati.

Suggerimento

Le attività operative sono necessarie per mantenere efficiente il funzionamento di qualsiasi data warehouse.

Le attività di amministrazione di Oracle in genere rientrano in due categorie:

  • Amministrazione del sistema: l'amministrazione del sistema consiste nella gestione di hardware, impostazioni di configurazione, stato del sistema, accesso, spazio su disco, utilizzo, aggiornamenti e altre attività.

  • Amministrazione del database: l'amministrazione del database è la gestione dei database utente e del relativo contenuto, il caricamento dei dati, il backup dei dati, il ripristino dei dati e l'accesso ai dati e alle autorizzazioni.

Oracle offre diversi metodi e interfacce che è possibile usare per eseguire le attività di gestione del sistema e del database:

  • Oracle Enterprise Manager è la piattaforma di gestione locale di Oracle. Offre un unico riquadro per la gestione di tutte le distribuzioni Oracle di un cliente, sia nei data center che in Oracle Cloud. Grazie alla profonda integrazione con lo stack di prodotti Oracle, Oracle Enterprise Manager offre supporto per la gestione e l'automazione per applicazioni Oracle, database, middleware, hardware e sistemi progettati.

  • Oracle Instance Manager offre un'interfaccia utente per l'amministrazione generale delle istanze Oracle. Oracle Instance Manager consente attività come l'avvio, l'arresto e la visualizzazione dei log.

  • Oracle Database Configuration Assistant è un'interfaccia utente che consente la gestione e la configurazione di varie caratteristiche e funzionalità del database.

  • Comandi SQL che supportano attività di amministrazione e query all'interno di una sessione del database SQL. È possibile eseguire comandi SQL dall'interprete dei comandi Oracle SQL*Plus, dall'interfaccia utente per sviluppatori Oracle SQL o tramite API SQL come ODBC, JDBC e il provider OLE DB. È necessario disporre di un account utente del database per eseguire i comandi SQL con le autorizzazioni appropriate per le query e le attività eseguite.

Anche se concettualmente le attività di gestione e operative per data warehouse diversi sono simili, le singole implementazioni possono differire. I moderni prodotti basati sul cloud, ad esempio Azure Synapse, tendono a incorporare un approccio più automatizzato e "gestito dal sistema" rispetto all'approccio più "manuale" negli ambienti legacy come Oracle.

Le sezioni seguenti confrontano le opzioni di Oracle e Azure Synapse per varie attività operative.

Attività di manutenzione

Nella maggior parte degli ambienti di data warehouse legacy, le normali attività di manutenzione richiedono molto tempo. È possibile recuperare spazio di archiviazione su disco rimuovendo le versioni precedenti delle righe aggiornate o eliminate. In alternativa, è possibile recuperare spazio di archiviazione su disco riorganizzando i dati, i file di log e i blocchi di indice per ottenere efficienza, ad esempio eseguendo ALTER TABLE... SHRINK SPACE in Oracle.

Suggerimento

Le attività di manutenzione mantengono efficiente l'operatività di un warehouse di produzione e ottimizzano l'archiviazione e altre risorse.

La raccolta di statistiche è un'attività potenzialmente dispendiosa in termini di tempo che è necessaria dopo l'inserimento di dati in blocco per fornire a Query Optimizer dati aggiornati per i piani di esecuzione delle query.

Oracle dispone di una funzionalità predefinita che consente di analizzare la qualità delle statistiche, Optimizer Statistics Advisor. Viene usato un elenco di regole Oracle che rappresentano le procedure consigliate per le statistiche dell'ottimizzatore. Advisor controlla ogni regola e, se necessario, genera risultati, raccomandazioni e azioni che coinvolgono chiamate al pacchetto DBMS_STATS per adottare misure correttive. Gli utenti possono visualizzare l'elenco delle regole nella vista V$STATS_ADVISOR_RULES, come illustrato nello screenshot seguente.

Screenshot showing how to display a list of rules by using the Optimizer Statistics Advisor.

Un database Oracle contiene molte tabelle di log nel dizionario dei dati che accumulano dati, automaticamente o dopo l'abilitazione di determinate funzionalità. Poiché i dati di log aumentano nel tempo, eliminare le informazioni meno recenti per evitare di usare spazio permanente. Oracle offre opzioni per automatizzare la manutenzione dei log.

Azure Synapse può creare automaticamente statistiche in modo che siano disponibili quando necessario. È possibile deframmentare manualmente indici e blocchi di dati, in base a una pianificazione o in modo automatico. Usando le funzionalità predefinite native di Azure, si riduce il lavoro di migrazione.

Suggerimento

Automatizzare e monitorare le attività di manutenzione in Azure.

Monitoraggio e controllo

Oracle Enterprise Manager include strumenti per monitorare vari aspetti di uno o più sistemi Oracle, ad esempio attività, prestazioni, accodamento e utilizzo delle risorse. Oracle Enterprise Manager include un'interfaccia utente interattiva che consente agli utenti di eseguire il drill-down nei dettagli di basso livello di qualsiasi grafico.

Suggerimento

Oracle Enterprise Manager è il metodo consigliato per il monitoraggio e la registrazione nei sistemi Oracle.

Il diagramma seguente offre una panoramica dell'ambiente di monitoraggio in un data warehouse Oracle.

Diagram showing an overview of the monitoring environment for an Oracle warehouse.

Azure Synapse offre anche una ricca esperienza di monitoraggio nel portale di Azure per fornire informazioni dettagliate sul carico di lavoro del data warehouse. Il portale di Azure è lo strumento consigliato per il monitoraggio del data warehouse, in quanto fornisce periodi di conservazione, avvisi, raccomandazioni, grafici personalizzabili, nonché dashboard di metriche e log configurabili.

Suggerimento

Il portale di Azure offre un'interfaccia utente per gestire le attività di monitoraggio e controllo per tutti i dati e i processi di Azure.

Il portale di Azure può anche fornire raccomandazioni per i miglioramenti delle prestazioni, come illustrato nello screenshot seguente.

Screenshot of Azure portal recommendations for performance enhancements.

Il portale supporta l'integrazione con altri servizi di monitoraggio di Azure, ad esempio Operations Management Suite (OMS) e Monitoraggio di Azure, per offrire un'esperienza di monitoraggio integrata del data warehouse e dell'intera piattaforma di analisi di Azure. Per altre informazioni, consultare le opzioni di gestione e per le operazioni di Azure Synapse.

Disponibilità elevata e ripristino di emergenza

Sin dalla sua versione iniziale nel 1979, l'ambiente Oracle si è evoluto per includere numerose funzionalità richieste dai clienti aziendali, incluse le opzioni per la disponibilità elevata e il ripristino di emergenza. L'annuncio più recente in questa area è la Maximum Availability Architecture (MAA), che include architetture di riferimento per quattro livelli di disponibilità elevata e ripristino di emergenza:

  • Livello Bronzo: un'architettura a disponibilità elevata a istanza singola
  • Livello Argento: disponibilità elevata con failover automatico
  • Livello Oro: disponibilità elevata e ripristino di emergenza completi
  • Livello Platino: nessuna interruzione per le applicazioni predisposte per il livello platino

Azure Synapse usa gli snapshot del database per offrire disponibilità elevata del data warehouse. Uno snapshot del data warehouse crea un punto di ripristino che è possibile usare per ripristinare un data warehouse a uno stato precedente. Poiché Azure Synapse è un sistema distribuito, uno snapshot del data warehouse è costituito da molti file archiviati in Archiviazione di Azure. Gli snapshot acquisiscono le modifiche incrementali ai dati archiviati nel data warehouse.

Suggerimento

Azure Synapse crea automaticamente snapshot per garantire tempi di ripristino rapidi.

Azure Synapse acquisisce automaticamente gli snapshot nell'arco della giornata e crea punti di ripristino che sono disponibili per sette giorni. Non è possibile modificare questo periodo di conservazione. Azure Synapse supporta un obiettivo del punto di ripristino (RPO) di otto ore. È possibile ripristinare un data warehouse nell'area primaria da uno qualsiasi degli snapshot acquisiti negli ultimi sette giorni.

Suggerimento

Gli snapshot definiti dall'utente possono essere usati per definire un punto di ripristino prima degli aggiornamenti delle chiavi.

Azure Synapse supporta i punti di ripristino definiti dall'utente, creati da snapshot attivati manualmente. Creando punti di ripristino prima e dopo modifiche di data warehouse di grandi dimensioni, è possibile assicurarsi che i punti di ripristino siano coerenti logicamente. I punti di ripristino definiti dall'utente aumentano la protezione dei dati e riducono il tempo di ripristino in caso di interruzioni del carico di lavoro o errori dell'utente.

Oltre agli snapshot, Azure Synapse esegue un backup geografico standard una volta al giorno a un data center associato. L'obiettivo del punto di ripristino per un ripristino geografico è di 24 ore. È possibile ripristinare il backup geografico in un server in qualsiasi area in cui sia supportato Azure Synapse. Un backup geografico garantisce che un data warehouse possa essere ripristinato se i punti di ripristino nell'area primaria non siano disponibili.

Suggerimento

Microsoft Azure offre backup automatici in una posizione geografica separata per abilitare il ripristino di emergenza.

Gestione dei carichi di lavoro

Oracle offre utilità come Enterprise Manager e Database Resource Manager (DBRM) per la gestione dei carichi di lavoro. Queste utilità includono funzionalità come il bilanciamento del carico tra cluster di grandi dimensioni, l'esecuzione di query parallele, la misurazione delle prestazioni e la definizione delle priorità. Molte di queste funzionalità possono essere automatizzate in modo che l'ottimizzazione del sistema diventi in qualche misura automatica.

Suggerimento

Un tipico data warehouse di produzione esegue simultaneamente carichi di lavoro misti con diverse caratteristiche di utilizzo delle risorse.

Azure Synapse registra automaticamente le statistiche di utilizzo delle risorse. Le metriche includono statistiche di utilizzo per CPU, memoria, cache, I/O e area di lavoro temporanea per ogni query. Azure Synapse registra anche le informazioni di connettività, ad esempio i tentativi di connessione non riusciti.

Suggerimento

Le metriche di basso livello e a livello di sistema vengono registrate automaticamente in Azure.

In Azure Synapse, le classi di risorse sono limiti delle risorse predeterminati che regolano le risorse di calcolo e la concorrenza per l'esecuzione delle query. Le classi di risorse agevolano la gestione del carico di lavoro, consentendo di impostare limiti per il numero di query eseguite contemporaneamente e per le risorse di calcolo assegnate a ogni query. È necessario trovare il giusto compromesso tra memoria e concorrenza.

Azure Synapse supporta questi concetti di base relativi alla gestione dei carichi di lavoro:

  • Classificazione del carico di lavoro: è possibile assegnare una richiesta a un gruppo di carico di lavoro per impostare i livelli di importanza.

  • Importanza del carico di lavoro: è possibile influire sull'ordine in cui una richiesta ottiene l'accesso alle risorse. Per impostazione predefinita, le query vengono rilasciate dalla coda in base alla modalità first-in, first-out man mano che le risorse diventano disponibili. L'importanza del carico di lavoro consente alle query con priorità maggiore di ricevere immediatamente le risorse indipendentemente dalla coda.

  • Isolamento del carico di lavoro: è possibile riservare le risorse per un gruppo di carico di lavoro, assegnare un utilizzo massimo e minimo per risorse variabili, limitare le risorse che un gruppo di richieste può utilizzare e impostare un valore di timeout per terminare automaticamente le query con eccessivo tempo di esecuzione.

L'esecuzione di carichi di lavoro misti può causare problemi di risorse nei sistemi sovraccarichi. Uno schema corretto di gestione del carico di lavoro comporta una gestione efficace delle risorse, ne assicura l'utilizzo altamente efficiente e massimizza il ritorno sugli investimenti. La classificazione del carico di lavoro, l'importanza del carico di lavoro e l'isolamento del carico di lavoro offrono un maggiore controllo sul modo in cui il carico di lavoro usa le risorse di sistema.

È possibile usare le metriche del carico di lavoro raccolte da Azure Synapse per la pianificazione della capacità, ad esempio per determinare le risorse necessarie per utenti aggiuntivi o un carico di lavoro di applicazioni di dimensioni maggiori. È anche possibile usare le metriche del carico di lavoro per pianificare l'aumento/la riduzione delle risorse di calcolo per un supporto conveniente dei carichi di lavoro di picco.

La guida alla gestione dei carichi di lavoro descrive le tecniche per analizzare il carico di lavoro, gestire e monitorare l'importanza del carico di lavoro](../../sql-data-warehouse/sql-data-warehouse-how-to-manage-and-monitor-workload-importance.md) e i passaggi per convertire una classe di risorse in un gruppo di carico di lavoro. Usare il portale di Azure e le query T-SQL in DMV per monitorare il carico di lavoro e garantire che le risorse applicabili vengano usate in modo efficiente. Azure Synapse offre un set di DMV (Dynamic Management Views) per il monitoraggio di tutti gli aspetti della gestione dei carichi di lavoro. Queste viste sono utili durante l'attiva risoluzione dei problemi e l'identificazione dei colli di bottiglia delle prestazioni nel carico di lavoro.

Per altre informazioni sulla gestione dei carichi di lavoro in Azure Synapse, vedere Gestione del carico di lavoro con le classi di risorse.

Ridimensionare le prestazioni

L'architettura di Azure Synapse separa le risorse di archiviazione e calcolo consentendo di eseguire il dimensionamento per ognuna in modo indipendente. Pertanto, è possibile dimensionare le risorse di calcolo per soddisfare le richieste di prestazioni, a prescindere dalla quantità di dati. È anche possibile sospendere e riprendere le risorse di calcolo. Un altro vantaggio di questa architettura è che la fatturazione per calcolo e archiviazione è separata. Se un data warehouse non è in uso, è possibile risparmiare sui costi di calcolo sospendendo il calcolo.

Suggerimento

Un vantaggio importante di Azure è la possibilità di aumentare e ridurre in modo indipendente le prestazioni delle risorse di calcolo su richiesta per gestire carichi di lavoro di picco in modo economicamente conveniente.

È possibile aumentare o ridurre le risorse di calcolo modificando l'impostazione delle unità data warehouse (DWU) per un data warehouse. Le prestazioni di caricamento e query aumentano in modo lineare man mano che si allocano più DWU.

Se si aumentano le DWU, il numero di nodi di calcolo aumenta, aumentando così la potenza di calcolo e supportando un'elaborazione parallela maggiore. Con l'aumento del numero dei nodi di calcolo si riduce il numero di distribuzioni per ogni nodo di calcolo, con un conseguente incremento della potenza di calcolo e dell'elaborazione parallela per le query. Analogamente, se si riducono le DWU, il numero di nodi di calcolo diminuisce, riducendo così le risorse di calcolo per le query.

Passaggi successivi

Per altre informazioni sulla visualizzazione e la creazione di report, vedere l'articolo successivo di questa serie: Visualizzazione e creazione di report per le migrazioni di Oracle.