Acquisisci e ripeti tra le istanze di Autonomous Database

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

L'operazione Capture-Replay tra i database autonomi è costituita dai passi riportati di seguito (è possibile annullare o completare un'acquisizione del carico di lavoro, non entrambi):

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

Iscriviti agli eventi informativi com.oraclecloud.databaseservice.autonomous.database.information per ricevere una notifica all'inizio e al completamento di un'acquisizione e una replica.

Nota

Questa fase è facoltativa. È inoltre possibile trovare lo stato e le informazioni cronologiche per 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 Vista e DBA_CAPTURE_REPLAY_HISTORY Vista.

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 informativi di Autonomous Database includono quanto segue:

  • 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 (Preautenticated) per scaricare il file di acquisizione.
  • WorkloadReplayBegin: questo evento viene attivato quando viene avviata una replica del carico di lavoro.
  • WorkloadReplayEnd: questo evento viene attivato quando la replica di un carico di lavoro viene completata correttamente e genera un URL PAR preautenticato per scaricare i report di ripetizione.

Per ulteriori informazioni, consulta la sezione relativa agli eventi informativi su Autonomous Database.

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

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

Nota

Puoi acquisire un carico di lavoro in un'istanza di Autonomous Database e riprodurlo in un'altra istanza di Autonomous Database. È possibile ripetere il carico di lavoro acquisito su una copia completa o su una copia aggiornabile. Le destinazioni di acquisizione e ripetizione devono trovarsi in uno stato logico coerente. Pertanto, è necessario eseguire il provisioning di una copia aggiornabile o di una copia completa dell'istanza di Autonomous Database in cui si desidera 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 provenienti da client esterni indirizzati a Oracle Database vengono tracciate e memorizzate in file binari denominati file di acquisizione.

L'acquisizione di un 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 sulla richiesta client, inclusi i dettagli della transazione, 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 nell'istanza di Autonomous Database, è necessario essere connessi 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;
/

Ciò avvia l'acquisizione del carico di lavoro nell'istanza di Autonomous Database.

Di seguito sono riportati i parametri disponibili.

  • 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 Procedure.

Eventi di acquisizione carico di lavoro

È possibile iscriversi all'evento Informazioni com.oraclecloud.databaseservice.autonomous.database.information per essere avvisati all'inizio di START_WORKLOAD_CAPTURE. Per ulteriori informazioni, vedere (Facoltativo) Sottoscrizione a eventi informativi per la notifica dei dettagli di acquisizione e ripetizione.

Viste di acquisizione e ripetizione carico del lavoro

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

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.

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 Procedure.

Termina acquisizione carico di lavoro nell'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 aver eseguito 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 Procedure.

Eventi di acquisizione carico di lavoro

È possibile effettuare la sottoscrizione 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.

  • 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) Sottoscrizione a eventi informativi per la notifica dei dettagli di acquisizione e ripetizione.

Viste di acquisizione e ripetizione carico del lavoro

È possibile eseguire una query sulla vista DBA_CAPTURE_REPLAY_STATUS per controllare 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. Per ulteriori informazioni, 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 riprodurre un'acquisizione del carico di lavoro. È possibile eseguire DBMS_CLOUD_ADMIN.PREPARE_REPLAY per preparare automaticamente una copia aggiornabile per una replica 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 riprodurre 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 replica 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 esegue le operazioni riportate di seguito.

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

  • Disconnette la copia aggiornabile.

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

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

Queste operazioni manuali di aggiornamento della copia non sono necessarie quando si prepara automaticamente una copia aggiornabile eseguendo DBMS_CLOUD_ADMIN.PREPARE_REPLAY.

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

  1. Trovare l'indicatore orario di inizio acquisizione eseguendo una query sulla vista DBA_WORKLOAD_CAPTURES. Per ulteriori informazioni, 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, modificando i valori dei parametri, attivando o disattivando 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 replica le azioni registrate durante l'acquisizione del carico di lavoro con le stesse tempistiche, concorrenza e dipendenze delle 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 su 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 trovarsi in uno stato logico coerente.

Ripeti carico di lavoro su una copia aggiornabile

Nell'esempio riportato di seguito vengono scaricati i file di acquisizione dallo storage degli oggetti, viene riprodotto il carico di lavoro acquisito e viene caricato 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.

Riproduci carico di lavoro su una copia completa

In questo esempio seguente vengono scaricati i file di acquisizione dallo storage degli oggetti, viene riprodotto il carico di lavoro acquisito nella copia e viene caricato 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 su quale acquisizione 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 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 Procedure.

Eventi ripetizione carico di lavoro

Iscriviti all'evento informativo com.oraclecloud.databaseservice.autonomous.database.information per essere informato sui seguenti

  • Inizio e completamento di un REPLAY_WORKLOAD.

  • Collegamento all'area di memorizzazione degli 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 la sezione relativa agli eventi informativi su Autonomous Database.

Viste di acquisizione e ripetizione carico del 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.