Backup automatico del database Oracle | Windows e Linux

Scopri come configurare backup automatici del database Oracle su Windows e Linux utilizzando Data Pump, RMAN e attività pianificate. Garantisci la sicurezza dei dati e semplifica la gestione del database con strategie di backup efficaci.

download-icon
Download Gratuito
per VM, OS, DB, File, NAS, ecc.
giovanni

Updated by Giovanni on 2025/07/24

Indice dei contenuti
  • Perché è Necessaria la Copia di Sicurezza Automatica?

  • Metodi di Backup Automatico del Database Oracle

  • Come configurare il backup giornaliero automatico del database Oracle su Windows?

  • Come configurare il backup automatico giornaliero del database Oracle su Linux?

  • Strumento Oracle per il Ripristino Automatico da Disastri

  • Auto Backup Oracle Database FAQ

  • Conclusione

Oracle Database è uno dei database più utilizzati al mondo oggi. Grazie alle sue potenti funzionalità, stabilità e sicurezza, è ampiamente applicato in molti settori. Per i DBA, garantire il corretto funzionamento del database e la sicurezza dei dati è un compito estremamente importante. Nel lavoro quotidiano di manutenzione del database, eseguire regolarmente backup del database è un'attività essenziale. Oracle Database offre diversi metodi di backup, inclusi backup manuali, backup RMAN, ecc., dove il backup automatizzato rappresenta uno dei metodi che efficacemente garantisce la sicurezza dei dati. Il backup automatico non solo riduce le operazioni manuali e minimizza gli errori, ma consente anche un rapido recupero dei dati in caso di guasti al database.

Perché è Necessaria la Copia di Sicurezza Automatica?

Essendo il sistema principale di archiviazione dei dati delle applicazioni, i database contengono una grande quantità di informazioni critiche, come i dati degli utenti e le informazioni di configurazione. Se il database dovesse subire guasti improvvisi o perdita di dati, ciò potrebbe avere impatti molto gravi o addirittura causare notevoli danni all'attività aziendale. Pertanto, effettuare regolarmente copie di sicurezza del database e garantire un archiviazione sicura dei file di backup è estremamente importante.

I backup manuali presentano molti svantaggi, come la facilità di essere trascurati e di non essere eseguiti in tempo utile. Pertanto, il backup automatico diventa una scelta migliore. Realizzando script per ottenere backup automatizzati, si può migliorare l'efficienza, ridurre gli errori umani e garantire in modo più sicuro la protezione dei dati.

Metodi di Backup Automatico del Database Oracle

Nel database Oracle, il backup automatico può essere effettuato utilizzando lo scheduler delle attività del sistema operativo (come i cron jobs) e gli strumenti integrati di Oracle. Scrivendo degli script, è possibile configurare delle attività programmate per eseguire automaticamente le operazioni di backup negli orari predefiniti. Gli strumenti comuni per il backup automatico in Oracle includono Data Pump e RMAN. Data Pump viene utilizzato per esportare i dati del database, mentre RMAN si occupa principalmente del backup e del recupero del database.

Data Pump (expdp/impdp) offre un'efficiente esportazione/importazione del database con funzionalità come compressione, trasferimento di rete e elaborazione parallela. Consente agli amministratori di database di definire parametri di esportazione ed automatizzare i backup tramite cron jobs. RMAN (Recovery Manager) è progettato per il backup e il ripristino completi del database, supportando backup incrementali e fisici, nonché il tracciamento dei file di backup. Permette backup automatizzati attraverso script e pianificazione da sistema operativo. Oracle Enterprise Manager (OEM) offre un'interfaccia grafica per la gestione dei backup, mentre anche strumenti di terze parti si integrano con Oracle per l'automazione dei backup.

Come configurare il backup giornaliero automatico del database Oracle su Windows?

In un ambiente Windows, è possibile eseguire il backup automatizzato giornaliero e la cancellazione dei backup del database Oracle utilizzando lo Sheduler di Windows.

1. Crea un file batch (.bat)

1.1 Script semplice

exp user/password@ORCL direct=y buffer=100000 file=D:\backup\dmp%date:~0,10% LOG=D:\backup\data.log  
forfiles /p "D:\backup" /s /m *.dmp /d -7 /c "cmd /c del @path"

Spiegazione:

Il comando exp è il comando Oracle per il backup dump, dove %date:~0,10% estrae la data in DOS.

forfiles è un comando di ricerca file di Windows, che cerca file .dmp nella directory di backup creati negli ultimi tre giorni e li elimina.

Parametri di forfiles:

/p specifica il percorso di ricerca (in questo caso, la directory in cui sono archiviati i file di backup).

/m cerca i file utilizzando una maschera (ad esempio, .dmp per i file dump di backup).

/d filtra i file modificati prima o dopo una data specifica (-3 significa file più vecchi di tre giorni).

/s include le sottodirectory.

/c specifica il comando da eseguire su ogni file (ad esempio, cmd /c del @file per eliminare il file).

1.2 Script Avanzato

@echo off
echo ================================================
echo Oracle Database Automated Backup Script in Windows
echo 1. Uses the current date as the backup file name.
echo 2. Automatically deletes backups older than 7 days.
echo ================================================
:: Extract year, month, day, hour, minute, and second.
set dd=%DATE:~8,2%
set mm=%DATE:~5,2%
set yy=%DATE:~0,4%
set Tss=%TIME:~6,2%
set Tmm=%TIME:~3,2%
set Thh=%TIME:~0,2%
set Thh=%Thh: =0%
:: Generate timestamp in YYYYMMDDHHmmss format.
set BACKUPDATE=%yy%%mm%%dd%%Thh%%Tmm%%Tss%
:: Set username, password, and database name.
set USER=admin
set PASSWORD=admin
set DATABASE=ORCL
:: Create backup directories if they do not exist.
if not exist "D:\backup_database\data" mkdir D:\backup_database\data
if not exist "D:\backup_database\log" mkdir D:\backup_database\log
set DATADIR=D:\backup_database\data
set LOGDIR=D:\backup_database\log
:: Perform the backup.
exp %USER%/%PASSWORD%@%DATABASE% file=%DATADIR%\data_%BACKUPDATE%.dmp log=%LOGDIR%\log_%BACKUPDATE%.log
:: Delete backups and logs older than 7 days.
forfiles /p "%DATADIR%" /s /m *.* /d -7 /c "cmd /c del @path"
forfiles /p "%LOGDIR%" /s /m *.* /d -7 /c "cmd /c del @path"
exit

Nota: se i caratteri cinesi appaiono corrotti durante l'esecuzione dello script, salvare il file in formato ANSI utilizzando il Blocco note.

2. Crea un'attività pianificata in Windows

Apri il programma di pianificazione attività di Windows:

Control Panel → System and Security → Administrative Tools → Task Scheduler

Apri la procedura guidata "Create Basic Task" dal riquadro di destra.

Inserisci un nome per il compito e una descrizione opzionale, quindi fai clic su Next.

Imposta il trigger su Daily.

Scegli Start a Program, cerca il file batch e completa la configurazione.

Come configurare il backup automatico giornaliero del database Oracle su Linux?  

1. Identificare le variabili d'ambiente del database  

Se stai utilizzando l'account root, devi prima passare all'utente del database:  

su oracle

Verifica le variabili d'ambiente:  

cat ~/.bash_profile

Assicurati che le seguenti variabili d'ambiente siano impostate:  

export PATH
export ORACLE_BASE=/home/nnc_db/app
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=orcl

2. Crea lo script di backup  

Modifica un nuovo file script:  

vi bak.sh

Copiare e incollare le variabili d'ambiente nel file `bak.sh`. Successivamente, definire una variabile `date` (utilizzata per nominare i file di backup) ed usare il comando `expdp` per esportare il database:  

date=$(date +%Y%m%d)
expdp db_username/db_password@db_instance dumpfile=${date}_db_auto_backup.dmp schemas=db_username compression=all

Salva ed esci.

3. Pianifica il backup utilizzando crontab  

Modifica il file crontab:  

crontab -e

Nel editor di testo, aggiungi la seguente riga:  

0 0 * * * /home/nnc_db/bak.sh

Questo significa che lo script `/home/nnc_db/bak.sh` verrà eseguito quotidianamente alle 12:00 AM. Modifica l'orario e il percorso del file come necessario.  

Riavviare il servizio cron:  

service crond restart

4. Verifica che l'attività venga eseguita correttamente  

Alcuni utenti hanno segnalato che i task del crontab potrebbero non entrare in vigore immediatamente entro i primi tre minuti dopo essere stati configurati. Per verificare se lo script è in esecuzione correttamente, è possibile programmarlo per l'esecuzione ogni minuto:  

* * * * * /home/nnc_db/bak.sh

Se lo script viene eseguito correttamente, il problema è probabilmente dovuto a un ritardo nell'attivazione di crontab.  

Inoltre, l'esecuzione manuale dello script mostrerà un output dettagliato, ma quando viene pianificata tramite `crontab`, non ci sarà alcun output diretto. Per verificare se lo script viene eseguito, controllare i log in:  

/var/spool/mail/

Strumento Oracle per il Ripristino Automatico da Disastri

Vinchin Backup & Recovery è un potente strumento di backup e ripristino per macchine virtuali e database, che offre avanzate funzionalità di backup e ripristino da disastri, inclusi backup automatico delle VM, backup senza agent, backup LAN/LAN-Free, copia remota, recupero istantaneo, riduzione efficace dei dati, archivio cloud, ecc., seguendo rigorosamente l'architettura 3-2-1 del backup aureo per garantire in modo completo la sicurezza e l'integrità dei dati. Inoltre, la crittografia dei dati e la protezione contro il ransomware offrono una doppia protezione per i backup del database.

Basta seguire 4 passaggi per effettuare il backup del database Oracle:

1. Selezionare l'oggetto di backup.

Backup del database Oracle

2. Seleziona destinazione di backup.

Backup del database Oracle

3. Configura le strategie di backup.

Backup del database Oracle

Qui puoi configurare gli orari dei tuoi backup. Puoi effettuare backup completi settimanalmente o mensilmente ed eseguire backup incrementali su base giornaliera.

4. Rivedi e invia il lavoro.

Backup del database Oracle

Prova ora la versione gratuita di 60 giorni con tutte le funzionalità di Vinchin Backup & Recovery per proteggere facilmente i tuoi dati Oracle e ottenere backup automatizzati e recupero rapido!

Auto Backup Oracle Database FAQ

1. Qual è la differenza tra RMAN e Data Pump?

RMAN viene utilizzato principalmente per backup e recupero, consentendo backup fisici dei file del database, backup incrementali e recupero a un determinato punto nel tempo. Al contrario, Data Pump è utilizzato per backup logici, esportando e importando oggetti del database come tabelle, schemi o interi database in un formato portatile. Mentre RMAN è il migliore per il recupero completo del database, Data Pump è ideale per la migrazione dei dati, la replica e l'estrazione selettiva dei dati.

2. Come faccio a ripristinare una singola tabella dal backup di RMAN?

Utilizzare il recupero RMAN del tablespace a un punto nel tempo o Data Pump per ripristinare una singola tabella.

Esempio con Data Pump:

impdp system/password directory=DATA_PUMP_DIR dumpfile=backup.dmp remap_table=old_table:new_table

Conclusione

Il backup automatico del database Oracle è essenziale per garantire la sicurezza dei dati, ridurre al minimo gli errori umani e permettere un rapido recupero in caso di guasti. Utilizzando strumenti integrati come Data Pump e RMAN, insieme ai pianificatori del sistema operativo, gli amministratori del database possono implementare strategie di backup efficienti sia su sistemi Windows che Linux. Backup automatizzati correttamente configurati riducono il rischio di perdita di dati e assicurano la continuità aziendale, diventando così una parte indispensabile della manutenzione del database.

Condividi su:

Categories: Database Backup