Test dei carichi di lavoro con Oracle Real Application Testing

Oracle Real Application Testing è una soluzione di gestione delle prestazioni proattiva estremamente conveniente e facile da usare che consente di valutare in modo completo i risultati di una modifica del sistema in fase di test o produzione.

Informazioni su Oracle Real Application Testing

È possibile utilizzare Oracle Real Application Testing per acquisire un carico di lavoro in un sistema di produzione e ripeterlo in un sistema di test con le stesse caratteristiche, in termini di tempificazione, accesso concorrente e transazioni, del carico di lavoro originale.

Oracle Real Application Testing fornisce un metodo accurato per verificare l'impatto di diverse modifiche al sistema e consente di eseguire le attività indicate di seguito.

  • È possibile verificare gli effetti di una modifica apportata al sistema su un carico di lavoro senza effetti sul sistema di produzione.

  • È possibile acquisire un carico di lavoro su un sistema di produzione e simulare lo stesso carico di lavoro su un sistema di test.

È possibile utilizzare Oracle Database Replay per acquisire un carico di lavoro da un'istanza di Autonomous Database o da un database in locale o da qualsiasi altro database del servizio cloud e ripetere il carico di lavoro su Autonomous Database. Ciò consente di confrontare il modo in cui un carico di lavoro viene eseguito su un Autonomous Database con un altro Autonomous Database, un database on premise o un altro database di servizi cloud.

Real Application Testing consente di eseguire una qualsiasi delle seguenti azioni Capture-Replay:

Acquisisci opzione di ripetizione descrizione;

Acquisisci - Ripeti i carichi di lavoro tra i database autonomi.

Per ulteriori informazioni, vedere Acquisisci e riproduci i carichi di lavoro tra database autonomi.

Acquisisci il carico di lavoro da Autonomous Database Oracle Database 19c e riproduci su Autonomous Database con Oracle Database 23ai

Questa replica di Capture consente di acquisire un carico di lavoro su un Autonomous Database con Oracle Database 19c e di ripetere l'operazione su un Autonomous Database con Oracle Database 23ai.

Per ulteriori informazioni, vedere Test dei carichi di lavoro 19c su una copia aggiornabile 23ai con Capture-Replay.

Acquisisci un carico di lavoro da un database non Autonomous Database e riproduci su Autonomous Database.

Per ulteriori informazioni, consulta la sezione relativa all'acquisizione e alla ripetizione dei carichi di lavoro tra database non autonomi e Autonomous.

Acquisisci un carico di lavoro da un Autonomous Database di produzione e riproducilo su un Autonomous Database di destinazione a un livello di patch diverso (dopo l'applicazione di una patch all'Autonomous Database di destinazione).

Per ulteriori informazioni, vedere Test dei carichi di lavoro rispetto a una patch imminente.

Acquisisci - Ripeti carichi di lavoro tra database autonomi

È possibile acquisire e ripetere da un'istanza di Autonomous Database in un'altra istanza di Autonomous Database.

Ciò consente di confrontare i carichi di lavoro tra diverse istanze di Autonomous Database. Queste istanze di Autonomous Database possono variare a livello di patch, versioni del database o aree.

Il flusso di lavoro Capture-Replay tra Autonomous Database è costituito dai passi riportati di seguito (è possibile annullare o completare un'acquisizione del carico di lavoro, non entrambi):

(Facoltativo) Eseguire la sottoscrizione agli eventi informazioni per ricevere notifiche sui dettagli di acquisizione e ripetizione

Eseguire la sottoscrizione agli eventi di informazioni com.oraclecloud.databaseservice.autonomous.database.information per ricevere una notifica all'inizio e al completamento di un'acquisizione e di una ripetizione.

Nota

Questo passo è facoltativo. È inoltre possibile trovare informazioni cronologiche e sullo stato di un'acquisizione del carico di lavoro nelle viste DBA_CAPTURE_REPLAY_STATUS e DBA_CAPTURE_REPLAY_HISTORY.

Per ulteriori informazioni, vedere DBA_CAPTURE_REPLAY_STATUS View e DBA_CAPTURE_REPLAY_HISTORY View.

Gli eventi informativi forniscono notifiche sulle ore di inizio e fine dell'acquisizione e della ripetizione e contengono un URL PAR per accedere ai report di acquisizione e ripetizione.

Gli eventi di informazione di Autonomous Database includono i seguenti:

  • WorkloadCaptureBegin: questo evento viene attivato quando viene avviata un'acquisizione del carico di lavoro.
  • WorkloadCaptureEnd: questo evento viene attivato quando un'acquisizione del carico di lavoro viene completata correttamente e genera un URL PAR (Pre-Autenticated) per scaricare il file di acquisizione.
  • WorkloadReplayBegin: questo evento viene attivato quando viene avviata una ripetizione del carico di lavoro.
  • WorkloadReplayEnd: questo evento viene attivato quando una ripetizione del carico di lavoro viene completata correttamente e genera un URL PAR (Pre-authenticated) per scaricare i report di ripetizione.

Per ulteriori informazioni, consulta gli eventi di informazioni su Autonomous Database.

Acquisire un carico di lavoro su un'istanza di Autonomous Database

Il primo passo dell'uso della funzione Ripetizione database consiste nell'acquisizione di un carico di lavoro di produzione.

Nota

È possibile acquisire un carico di lavoro in un'istanza di Autonomous Database e riprodurlo in un'altra istanza di Autonomous Database. Puoi ripetere il carico di lavoro acquisito su una copia completa o su una copia aggiornabile. Le destinazioni di acquisizione e ripetizione devono essere in uno stato logico coerente. Pertanto, devi eseguire il provisioning di una copia aggiornabile o di una copia completa dell'istanza di Autonomous Database in cui desideri acquisire il carico di lavoro.

Per ulteriori informazioni, vedere Duplica, sposta o aggiorna un'istanza di Autonomous Database.

Quando si avvia l'acquisizione del carico di lavoro in un sistema di produzione, tutte le richieste dei client esterni indirizzate a Oracle Database vengono registrate e memorizzate in file binari chiamati file di acquisizione.

Un'acquisizione del carico di lavoro comporta la creazione di due sottodirectory, cap e capfiles, che contengono i file di acquisizione. I file di acquisizione forniscono tutte le informazioni pertinenti sulle richieste del client, inclusi i dettagli delle transazioni, i valori di associazione e il testo SQL. I file di acquisizione sono indipendenti dalla piattaforma, pertanto possono essere trasportati in un altro sistema.

Eseguire DBMS_CLOUD_ADMIN.START_WORKLOAD_CAPTURE per avviare l'acquisizione del carico di lavoro su un'istanza di Autonomous Database.

Per ulteriori informazioni, vedere Duplica, sposta o aggiorna un'istanza di Autonomous Database.

Per avviare un'acquisizione del carico di lavoro sull'istanza di Autonomous Database, è necessario eseguire il login come utente ADMIN o disporre del privilegio EXECUTE su DBMS_CLOUD_ADMIN.

Esempio per avviare un'acquisizione del carico di lavoro:

BEGIN 
   DBMS_CLOUD_ADMIN.START_WORKLOAD_CAPTURE(
        capture_name => 'test',
        duration     => 60);
   END;
/

Questa operazione avvia l'acquisizione del carico di lavoro nell'istanza di Autonomous Database.

Di seguito sono riportati i parametri.

  • capture_name: è il nome dell'acquisizione del carico di lavoro.

  • duration: indica la durata (in minuti) per la quale è necessario acquisire il carico di lavoro. Si tratta di un parametro facoltativo.

Per ulteriori informazioni, vedere START_WORKLOAD_CAPTURE Procedura.

Eventi di acquisizione carico di lavoro

Puoi iscriverti all'evento Information com.oraclecloud.databaseservice.autonomous.database.information per ricevere una notifica all'inizio di START_WORKLOAD_CAPTURE. Per ulteriori informazioni, vedere (Facoltativo) Sottoscrivi a eventi informazioni a cui inviare notifiche sui dettagli di acquisizione e ripetizione.

Viste di acquisizione e ripetizione carico di lavoro

È possibile trovare informazioni sull'acquisizione e la ripetizione del carico di lavoro nelle viste DBA_CAPTURE_REPLAY_STATUS e DBA_CAPTURE_REPLAY_HISTORY. Per ulteriori informazioni, vedere DBA_CAPTURE_REPLAY_STATUS View e DBA_CAPTURE_REPLAY_HISTORY View.

Annullare un'acquisizione del carico di lavoro su un'istanza di Autonomous Database

Eseguire DBMS_CLOUD_ADMIN.CANCEL_WORKLOAD_CAPTURE per annullare l'acquisizione del carico di lavoro corrente nell'istanza di Autonomous Database.

Per annullare un'acquisizione del carico di lavoro, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio EXECUTE su DBMS_CLOUD_ADMIN.

Ad esempio:

BEGIN
    DBMS_CLOUD_ADMIN.CANCEL_WORKLOAD_CAPTURE;
END;
/

Questa operazione annulla l'acquisizione del carico di lavoro corrente ed esegue un aggiornamento della copia aggiornabile.

È possibile eseguire una query sulla vista DBA_CAPTURE_REPLAY_STATUS per controllare lo stato dell'annullamento del carico di lavoro.

Per ulteriori informazioni, vedere DBA_CAPTURE_REPLAY_STATUS View.

Per ulteriori informazioni, vedere CANCEL_WORKLOAD_CAPTURE Procedura.

Terminare un'acquisizione del carico di lavoro sull'istanza di Autonomous Database

Eseguire DBMS_CLOUD_ADMIN.FINISH_WORKLOAD_CAPTURE per completare un'acquisizione del carico di lavoro sull'istanza di Autonomous Database.

Esempio per completare un'acquisizione del carico di lavoro sull'istanza di Autonomous Database:

BEGIN
    DBMS_CLOUD_ADMIN.FINISH_WORKLOAD_CAPTURE;
END;
/

Per eseguire questa procedura, è necessario eseguire il login come utente ADMIN o disporre del privilegio EXECUTE su DBMS_CLOUD_ADMIN. Quando si esegue questa procedura, un file di acquisizione del carico di lavoro viene caricato nell'area di memorizzazione degli oggetti come file zip.

Per ulteriori informazioni, vedere FINISH_WORKLOAD_CAPTURE Procedura.

Eventi di acquisizione carico di lavoro

È possibile iscriversi all'evento Informazioni com.oraclecloud.databaseservice.autonomous.database.information per ricevere una notifica relativa a un'acquisizione del carico di lavoro, che include:

  • Il completamento di FINISH_WORKLOAD_CAPTURE.

  • Il campo captureDownloadURL che contiene l'URL PAR per accedere all'acquisizione e ai report nell'area di memorizzazione degli oggetti. L'acquisizione e i report sono validi per sette (7) giorni dalla data di generazione dell'URL PAR.

Per ulteriori informazioni, vedere (Facoltativo) Sottoscrivi a eventi informazioni a cui inviare notifiche sui dettagli di acquisizione e ripetizione.

Viste di acquisizione e ripetizione carico di lavoro

È possibile eseguire una query sulla vista DBA_CAPTURE_REPLAY_STATUS per verificare lo stato di un'acquisizione del carico di lavoro completata. Per ulteriori informazioni, vedere DBA_CAPTURE_REPLAY_STATUS View.

È possibile trovare informazioni sull'acquisizione e la ripetizione del carico di lavoro nella vista DBA_CAPTURE_REPLAY_HISTORY. Per ulteriori informazioni, vedere DBA_CAPTURE_REPLAY_HISTORY View.

È possibile eseguire una query sulle colonne ID, NAME, START_TIME e END_TIME della vista DBA_WORKLOAD_CAPTURES per recuperare i dettagli dell'acquisizione del carico di lavoro. Vedere DBA_WORKLOAD_CAPTURES.

Prepara una copia aggiornabile per la ripetizione del carico di lavoro

Fornisce i passi per preparare una copia aggiornabile per una ripetizione del carico di lavoro.

Nota

Questo passo non è applicabile quando si esegue la ripetizione di un carico di lavoro su una copia completa.

Sono disponibili due opzioni per preparare una copia aggiornabile per ripetere un'acquisizione del carico di lavoro. È possibile eseguire DBMS_CLOUD_ADMIN.PREPARE_REPLAY per preparare automaticamente una copia aggiornabile per una ripetizione del carico di lavoro. Questa procedura aggiorna la copia aggiornabile all'ora di inizio dell'acquisizione e disconnette la copia aggiornabile. È inoltre possibile preparare manualmente una copia aggiornabile per ripetere un'acquisizione del carico di lavoro.

Prepara automaticamente una copia aggiornabile per la ripetizione del carico di lavoro

Esempio di preparazione automatica di una copia aggiornabile per una ripetizione del carico di lavoro:

BEGIN
 DBMS_CLOUD_ADMIN.PREPARE_REPLAY (
    capture_name    'test'
END;
/

Per eseguire questa procedura, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio EXECUTE su DBMS_CLOUD_ADMIN.

DBMS_CLOUD_ADMIN.PREPARE_REPLAY effettua le operazioni riportate di seguito.

  • Aggiorna la copia aggiornabile all'indicatore orario di inizio dell'acquisizione.

  • Disconnette la copia aggiornabile.

Facoltativamente, a questo punto, prima di ripetere un'acquisizione, è possibile apportare modifiche a una copia aggiornabile. Ad esempio, modificare i valori dei parametri e attivare/disattivare determinate funzioni per visualizzare l'impatto sulla ripetizione.

Prepara manualmente una copia aggiornabile per la ripetizione del carico di lavoro

Questi passi di copia aggiornabile manuale non sono necessari quando si prepara automaticamente una copia aggiornabile eseguendo DBMS_CLOUD_ADMIN.PREPARE_REPLAY.

Eseguire i passi riportati di seguito per prepararsi manualmente per una ripetizione del carico di lavoro.

  1. Trovare l'indicatore orario di inizio dell'acquisizione eseguendo una query sulla vista DBA_WORKLOAD_CAPTURES. Vedere DBA_WORKLOAD_CAPTURES.

  2. Aggiornare la copia aggiornabile all'indicatore orario di inizio acquisizione. Per ulteriori informazioni, vedere Aggiorna una copia aggiornabile in Autonomous Database.

  3. Disconnettere manualmente la copia aggiornabile. Per ulteriori informazioni, vedere Disconnettere una copia aggiornabile dal database di origine.

  4. Facoltativamente, prima di ripetere un'acquisizione, è possibile apportare modifiche alla copia aggiornabile. Ad esempio, modificare i valori dei parametri, attivare/disattivare determinate funzioni per visualizzare l'impatto sulla ripetizione.

Ripeti un carico di lavoro su un'istanza di Autonomous Database

Dopo aver completato un'acquisizione del carico di lavoro, è possibile riprodurla in un sistema di test. Oracle ripete le azioni registrate durante l'acquisizione del carico di lavoro con le stesse dipendenze a livello di tempistica, concorrenza e transazioni del sistema di produzione.

Eseguire la procedura DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD per avviare la ripetizione del carico di lavoro nel database. Per eseguire DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio EXECUTE in DBMS_CLOUD_ADMIN.

Puoi ripetere un carico di lavoro acquisito su una copia aggiornabile o su una copia completa dell'istanza di Autonomous Database da cui è stato acquisito il carico di lavoro. Le destinazioni di acquisizione e ripetizione devono essere in uno stato logico coerente.

Ripeti carico di lavoro in caso di copia aggiornabile

L'esempio seguente scarica i file di acquisizione dallo storage degli oggetti, ripete il carico di lavoro acquisito e carica un report di ripetizione nello storage degli oggetti.

BEGIN 
  DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD(
      capture_name => 'CAP_TEST1');
END;
/

Il parametro CAPTURE_NAME specifica il nome dell'acquisizione del carico di lavoro. Questo parametro è obbligatorio.

Ripeti carico di lavoro in una copia completa

Questo esempio riportato di seguito consente di scaricare i file di acquisizione dallo storage degli oggetti, riprodurre il carico di lavoro acquisito sulla copia e caricare un report di ripetizione nello storage degli oggetti.

BEGIN 
  DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD(
       capture_name                => 'CAP_TEST1',        
       capture_source_tenancy_ocid => 'OCID1.TENANCY.REGION1..ID1',         
       capture_source_db_name      => 'ADWFINANCE');
END;
/
Nota

Se sono presenti più acquisizioni con lo stesso nome di acquisizione, la procedura REPLAY_WORKLOAD utilizza l'acquisizione più recente. Oracle consiglia di utilizzare un nome di acquisizione univoco per ogni acquisizione per evitare confusione sull'acquisizione che si sta ripetendo.

Il parametro CAPTURE_NAME specifica il nome dell'acquisizione del carico di lavoro. Questo parametro è obbligatorio.

Il parametro CAPTURE_SOURCE_TENANCY_OCID specifica l'OCID della tenancy di origine dell'acquisizione del carico di lavoro. Questo parametro è obbligatorio quando si esegue l'acquisizione del carico di lavoro in una copia completa.

Il parametro CAPTURE_SOURCE_DB_NAME specifica il nome del database di origine dell'acquisizione del carico di lavoro. Questo parametro è obbligatorio quando si esegue l'acquisizione del carico di lavoro in una copia completa.

Per ulteriori informazioni, vedere REPLAY_WORKLOAD Procedura.

Eventi di ripetizione del carico di lavoro

Iscriviti all'evento Information com.oraclecloud.databaseservice.autonomous.database.information per essere informato su quanto segue

  • L'inizio e il completamento di un REPLAY_WORKLOAD.

  • Collegamento Area di memorizzazione oggetti per scaricare i report di ripetizione. L'evento fornisce un URL PAR per accedere ai report nel campo replayDownloadURL. I report sono validi per sette (7) giorni dalla data di generazione dell'URL PAR.

Per ulteriori informazioni, consulta gli eventi di informazioni su Autonomous Database.

Viste di acquisizione e ripetizione carico di lavoro

È possibile eseguire una query sulla vista DBA_CAPTURE_REPLAY_STATUS per controllare lo stato della ripetizione del carico di lavoro.

Per ulteriori informazioni, vedere DBA_CAPTURE_REPLAY_STATUS View.

È possibile trovare informazioni sull'acquisizione e la ripetizione del carico di lavoro nella vista DBA_CAPTURE_REPLAY_HISTORY. Per ulteriori informazioni, vedere DBA_CAPTURE_REPLAY_HISTORY View.

Test dei carichi di lavoro 19c su una copia aggiornabile 23ai con Capture-Replay

Puoi utilizzare Oracle Real Application Testing per acquisire un carico di lavoro da Autonomous Database su Oracle Database 19c e ripetere l'operazione su una copia aggiornabile su Oracle Database 23ai.

Questa opzione Capture-Replay è particolarmente utile quando si desidera eseguire il test dei carichi di lavoro in esecuzione su Oracle Database 19c prima di eseguire l'upgrade a Oracle Database 23ai.

Attenersi alla procedura riportata di seguito per riprodurre i carichi di lavoro su una versione del database diversa.

  1. (Facoltativo) Eseguire la sottoscrizione agli eventi informazioni per ricevere notifiche sui dettagli di acquisizione e ripetizione

  2. Acquisisci i tuoi carichi di lavoro su un Autonomous Database con Oracle Database 19c. Per ulteriori informazioni, consulta la sezione relativa all'acquisizione di un carico di lavoro su un'istanza di Autonomous Database.

  3. Eseguire DBMS_CLOUD_ADMIN.FINISH_WORKLOAD_CAPTURE per completare l'acquisizione del carico di lavoro sull'istanza del database 19c sourceAutonomous di Oracle Database.

  4. Prepara la copia aggiornabile di Oracle Database 23ai di destinazione. Per ulteriori informazioni, vedere Preparare una copia aggiornabile per la ripetizione del carico di lavoro.

  5. Dopo aver completato l'acquisizione del carico di lavoro e aver preparato la copia aggiornabile della destinazione Oracle Database 23ai, ripetere il carico di lavoro sulla destinazione. Per ulteriori informazioni, vedere Replay a Workload on an Autonomous Database Instance.

Acquisisci - Ripeti i carichi di lavoro tra database non autonomi e autonomi

È possibile acquisire e ripetere da un'istanza non Autonomous Database in un Autonomous Database.

Ciò consente di confrontare i carichi di lavoro tra un database in locale o un altro database del servizio cloud e un'istanza di Autonomous Database.

Argomenti

Acquisisci un carico di lavoro

Il primo passo per l'uso della funzione Ripetizione database consiste nell'acquisizione del carico di lavoro di produzione.

Quando si avvia l'acquisizione del carico di lavoro nel sistema di produzione, tutte le richieste dei client esterni indirizzate a Oracle Database vengono registrate e memorizzate in file binari chiamati file di acquisizione.

Un'acquisizione del carico di lavoro comporta la creazione di due sottodirectory, cap e capfiles, che contengono i file di acquisizione.

I file di acquisizione forniscono tutte le informazioni pertinenti sulle richieste del client, inclusi i dettagli delle transazioni, i valori di associazione e il testo SQL.

I file di acquisizione sono indipendenti dalla piattaforma, pertanto possono essere trasportati in un altro sistema.

Vedere Acquisizione carico di lavoro per acquisire un carico di lavoro su un database in locale.

Ripeti un carico di lavoro su un'istanza di Autonomous Database

Dopo aver completato un'acquisizione del carico di lavoro, è possibile riprodurla in un sistema di test. Oracle replica sul sistema di test le azioni registrate durante l'acquisizione del carico di lavoro, con le stesse dipendenze di tempistica, concorrenza e transazione del sistema di produzione.

Eseguire DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD per avviare la ripetizione del carico di lavoro nel database. Per eseguire REPLAY_WORKLOAD, è necessario aver eseguito il login come utente ADMIN oppure disporre del privilegio EXECUTE su DBMS_CLOUD_ADMIN.

Esempio di ripetizione in un'istanza di Autonomous Database di un carico di lavoro acquisito da un database in locale:

BEGIN 
   DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD(
      location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
      credential_name => 'CRED_TEST',   
      synchronization => TRUE,
      process_capture => TRUE);    
END;
/

In questo modo vengono scaricati i file di acquisizione contenuti nella posizione di storage degli oggetti specificata nel parametro location_uri e viene ripetuta l'acquisizione del carico di lavoro dai file di acquisizione. La ripetizione genera e carica i report Replay e Automatic Workload Repository nella posizione di storage degli oggetti specificata nel parametro location_uri.

In questo esempio, namespace-string è lo spazio di nomi dello storage degli oggetti Oracle Cloud Infrastructure e bucketname è il nome del bucket. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti.

Per ulteriori informazioni sul caricamento dei file nello storage degli oggetti, vedere Carica file nel bucket dell'area di memorizzazione degli oggetti Oracle Cloud Infrastructure.

Per ulteriori informazioni sullo storage degli oggetti, vedere Passare a Oracle Cloud Infrastructure Object Storage e Crea bucket.

Il parametro credential_name specifica la credenziale per accedere al bucket di storage degli oggetti. La credenziale fornita deve disporre dei privilegi di scrittura per scrivere nel bucket di storage degli oggetti. I privilegi di scrittura sono necessari per caricare il report di ripetizione nel bucket.

Se non si specifica un valore credential_name, verrà utilizzato DEFAULT_CREDENTIAL.

Non è necessario creare una credenziale per accedere all'area di memorizzazione degli oggetti di Oracle Cloud Infrastructure se si abilitano le credenziali del principal risorsa. Per ulteriori informazioni, consulta la sezione relativa all'uso del principal delle risorse per accedere alle risorse di Oracle Cloud Infrastructure.

Il parametro synchronization specifica il metodo di sincronizzazione utilizzato durante la ripetizione del carico di lavoro. Un valore TRUE indica che la sincronizzazione è basata su SCN.

process_capture specifica se è necessario specificare o meno il valore process_capture. Un valore TRUE indica che la ripetizione include process_capture.

Nota

È necessario mantenere lo stesso stato logico dei database di acquisizione e ripetizione all'inizio dell'ora di acquisizione.

Per ulteriori informazioni, vedere REPLAY_WORKLOAD Procedura.

Eventi di ripetizione del carico di lavoro

È possibile iscriversi all'evento Information com.oraclecloud.databaseservice.autonomous.database.information per ricevere una notifica sugli eventi WorkloadReplayBegin e WorkloadReplayEnd. Tali eventi forniscono informazioni su:

  • Avvio e completamento del file REPLAY_WORKLOAD.

  • Il campo replayDownloadURL che contiene l'URL PAR per accedere ai report nell'area di memorizzazione degli oggetti. L'URL PAR è valido per 7 giorni dalla data di generazione.

Per ulteriori informazioni, consulta Eventi informativi sull'Autonomous Database.

Viste di acquisizione e ripetizione carico di lavoro

È possibile eseguire una query sulle viste DBA_CAPTURE_REPLAY_STATUS e DBA_CAPTURE_REPLAY_HISTORY per controllare lo stato di ripetizione del carico di lavoro.

Per ulteriori informazioni, vedere DBA_CAPTURE_REPLAY_STATUS View e DBA_CAPTURE_REPLAY_HISTORY View.

Test dei carichi di lavoro su una patch imminente

Utilizzando la funzione di ripetizione automatica del carico di lavoro, puoi acquisire automaticamente un carico di lavoro da un database di produzione che si trova al livello di patch regolare e ripetere il carico di lavoro su una copia aggiornabile di destinazione che si trova al livello di patch precedente.

Questa funzione consente di eseguire il test di una patch imminente eseguendo un carico di lavoro esistente in produzione su una patch prima che la patch raggiunga la produzione.

Informazioni sul test dei carichi di lavoro rispetto a una patch imminente

La funzione di ripetizione automatica del carico di lavoro consente di automatizzare il processo di recupero per acquisire un carico di lavoro eseguito su un database di produzione e di ripetere automaticamente il carico di lavoro su una copia aggiornabile di destinazione dopo l'applicazione di una patch imminente sulla destinazione.

Autonomous Database consente di eseguire il provisioning di un'istanza o di creare una copia aggiornabile con l'opzione In anticipo a livello di patch. Nelle istanze in esecuzione al livello di patch In anticipo, Autonomous Database applica le patch di manutenzione imminenti una settimana prima dell'applicazione delle patch ai database di produzione (database di cui viene eseguito il provisioning al livello di patch Regolare). Utilizzando la funzione WORKLOAD_AUTO_REPLAY è possibile assicurarsi che una patch imminente venga sottoposta a test in base al carico di lavoro prima che la patch passi alla produzione. Ciò consente di verificare che la patch risolva un problema noto o non introduca un problema che influisce sul carico di lavoro.

Per trovare informazioni su acquisizioni e ripetizioni, iscriviti agli eventi Informazioni. Gli eventi informativi forniscono una notifica per gli eventi di acquisizione e risposta del carico di lavoro e includono un URL PAR in cui è possibile scaricare il file di acquisizione e il report di ripetizione. Per ulteriori informazioni, vedere (Facoltativo) Sottoscrivi a eventi informazioni a cui inviare notifiche sui dettagli di acquisizione e ripetizione.

Quando WORKLOAD_AUTO_REPLAY è abilitato, il database di origine acquisisce un carico di lavoro eseguendolo per un numero di minuti specificato. Per impostazione predefinita, l'acquisizione del carico di lavoro viene avviata quando si abilita WORKLOAD_AUTO_REPLAY (facoltativamente, è possibile utilizzare i parametri per impostare il giorno e l'ora di inizio dell'acquisizione). Successivamente, Autonomous Database controlla il database di destinazione per verificare lo stato di applicazione delle patch. Dopo l'applicazione della patch settimanale imminente, Autonomous Database ripete il carico di lavoro nel database di destinazione. Questo ciclo di acquisizione e ripetizione continua automaticamente ogni settimana con Autonomous Database che acquisisce il carico di lavoro sul database di origine, attende l'applicazione della patch imminente e ripete il carico di lavoro sulla copia aggiornabile.

Per abilitare WORKLOAD_AUTO_REPLAY, tenere presente quanto riportato di seguito.

  • Il database di origine deve utilizzare il livello di patch Normale.

  • Il database di destinazione deve utilizzare il livello di patch In anticipo.

  • Il database di destinazione deve essere una copia aggiornabile del database di origine e deve essere creato prima di abilitare WORKLOAD_AUTO_REPLAY.

  • Un database di origine può abilitare WORKLOAD_AUTO_REPLAY per non più di una copia aggiornabile (è possibile abilitare questa funzione per un massimo di una copia aggiornabile, anche se si creano più copie aggiornabili dallo stesso database di origine).

  • Dopo aver abilitato WORKLOAD_AUTO_REPLAY, il ciclo di recupero continua ogni settimana. Autonomous Database esegue un'acquisizione nel database di origine, quindi ripete il carico di lavoro nel database di destinazione, finché non si disabilita WORKLOAD_AUTO_REPLAY.

Nella vista DBA_CAPTURE_REPLAY_HISTORY è possibile trovare informazioni sulle acquisizioni e le ripetizioni del carico di lavoro. Per ulteriori informazioni, vedere DBA_CAPTURE_REPLAY_HISTORY View.

Autonomous Database applica automaticamente le patch al database. Oracle fornisce l'obiettivo del livello di servizio di nessuna regressione nel database di produzione a causa di queste patch. Per ulteriori informazioni, vedere Obiettivo livello di servizio a nessuna regressione.

Abilita ripetizione automatica carico di lavoro

La funzione WORKLOAD_AUTO_REPLAY consente di eseguire un carico di lavoro dal database di produzione e monitorare eventuali divergenze su un'istanza a cui vengono applicate le patch con una settimana di anticipo. Questa funzione consente di eseguire il test di una patch imminente eseguendo un carico di lavoro esistente in produzione su una patch prima che la patch raggiunga la produzione.

Per abilitare WORKLOAD_AUTO_REPLAY:

  1. Creare una copia aggiornabile del database di produzione.

    Quando si crea la copia aggiornabile di destinazione, impostare il livello di patch su In anticipo.

    Per ulteriori informazioni, vedere Imposta il livello di patch e Crea una copia aggiornabile per un'istanza di Autonomous Database.

  2. Eseguire DBMS_CLOUD_ADMIN.ENABLE_FEATURE nel database di origine.

    Ad esempio:

    BEGIN 
       DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
            feature_name => 'WORKLOAD_AUTO_REPLAY',
            params       => JSON_OBJECT(
                              'target_db_ocid' VALUE 'OCID1.autonomousdatabase.REGION..ID1',
                              'capture_duration' VALUE 120,
                              'capture_day' VALUE 'MONDAY',
                              'capture_time' VALUE '15:00'));
    END;
    /

    Dove i parametri sono:

    • feature_name: il valore WORKLOAD_AUTO_REPLAY abilita la funzione di ripetizione automatica del carico di lavoro.

    • params: è un oggetto JSON con le seguenti coppie di valori:

      • target_db_ocid: accetta un valore string. Il valore specifica l'OCID del database di copia aggiornabile di destinazione in cui viene ripetuto il carico di lavoro acquisito.

        Questo parametro è obbligatorio.

      • capture_duration: accetta un valore number. Il valore specifica la durata in minuti per l'acquisizione del carico di lavoro nel database di produzione. Il valore deve essere compreso tra 1 e 720 minuti.

        Questo parametro è obbligatorio.

      • capture_day: accetta un valore string. Il valore specifica il giorno della settimana in cui deve iniziare l'acquisizione del carico di lavoro nel database di produzione.

        Si tratta di un parametro facoltativo.

      • capture_time: accetta un valore nel formato HH24:MM. Il valore specifica l'ora del giorno in cui deve iniziare l'acquisizione del carico di lavoro nel database di produzione.

        Si tratta di un parametro facoltativo.

      Per impostazione predefinita, l'acquisizione del carico di lavoro viene avviata quando si abilita WORKLOAD_AUTO_REPLAY. Quando vengono specificati i valori facoltativi capture_day e capture_time, l'acquisizione e la ripetizione automatiche del carico di lavoro vengono eseguite all'indicatore orario specificato.

      Ad esempio, se capture_day è lunedì e capture_time è 15:00, la prima acquisizione nel database di produzione inizia alle 3PM del lunedì successivo. Lo stesso giorno della settimana e l'ora vengono utilizzati anche per pianificare acquisizioni e ripetizioni successive.

    Per ulteriori informazioni, vedere ENABLE_FEATURE Procedura.

    Un valore di errore ORA-20000: Invalid argument for target_db_ocid potrebbe indicare che l'OCID fornito non è una copia aggiornabile. In questo caso, è necessario fornire un OCID con un valore per una copia aggiornabile.

  3. Eseguire una query sulla vista DBA_CAPTURE_REPLAY_STATUS per controllare lo stato della ripetizione del carico di lavoro.

Questo esempio abilita WORKLOAD_AUTO_REPLAY nell'Autonomous Database di origine e nel database duplicato aggiornabile di destinazione specificato. Se WORKLOAD_AUTO_REPLAY è abilitato, ogni settimana Autonomous Database esegue un'acquisizione nel database di origine e ripete il carico di lavoro nel database di destinazione, fino a quando non si disabilita WORKLOAD_AUTO_REPLAY.

Per trovare informazioni su acquisizioni e ripetizioni, iscriviti agli eventi Informazioni. Gli eventi informativi forniscono una notifica per gli eventi di acquisizione e risposta del carico di lavoro e includono un URL PAR in cui è possibile scaricare il file di acquisizione e il report di ripetizione. Per ulteriori informazioni, vedere (Facoltativo) Sottoscrivi a eventi informazioni a cui inviare notifiche sui dettagli di acquisizione e ripetizione.

Nella vista DBA_CAPTURE_REPLAY_HISTORY è possibile trovare informazioni sulle acquisizioni e le ripetizioni del carico di lavoro. Per ulteriori informazioni, vedere DBA_CAPTURE_REPLAY_HISTORY View.

Disabilita ripetizione automatica carico di lavoro

Eseguire DBMS_CLOUD_ADMIN.DISABLE_FEATURE per disabilitare WORKLOAD_AUTO_REPLAY.

Eseguire DBMS_CLOUD_ADMIN.DISABLE_FEATURE per disabilitare la ripetizione automatica del carico di lavoro. Ad esempio:

BEGIN 
DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
    feature_name => 'WORKLOAD_AUTO_REPLAY');   
END;
/

Per eseguire DBMS_CLOUD_ADMIN.DISABLE_FEATURE, è necessario aver eseguito il login come amministratore o disporre dei privilegi DBMS_CLOUD_ADMIN.

Per ulteriori informazioni, vedere DISABLE_FEATURE Procedura.