Oracle Data Base - Procedure di backup e ripristino

Tecnologia   Palla  |  26/03/2018 alle 10:01


Premessa

Quando si ha a che fare con procedure di backup o di ripristino del Data Base conviene sempre avere a portata di mano una procedura che sappiamo essere infallibile. Il mio consiglio personale è quello di realizzare un wiki (eventualmente installando un modulo MediaWiki personale insieme ad un sistema di CI come descritto in precedente articolo) dove riportare tutte quelle procedure standard che vengono eseguite in caso di errore o manutenzione dei sistemi che abbiamo in gestione.  

Procedura di backup del DataBase

Accedere in ssh al server dove è installato il Data Base Oracle ed eseguire il seguente comando
expdp "user_system/password_system" SCHEMAS=SCHEMA_NAME directory=DATA_PUMP_DIR DUMPFILE=BACKUP_DD_MM_YYYY.dmp logfile=export_backup_DD_MM_YYY.log  job_name=export_BACKUP_DD_MM_YYYY

Procedura di ripristino del DataBase

Come prima cosa occorre copiare il file BACKUP_DD_MM_YYYY.dmp creato nel punto precedente nella directory di dump di Oracle C:\app\Oracle\admin\orasrv\dpdump Accedere dal prompt dei comandi (cmd per Windows) ed eseguire il comando seguente per accedere al DB come admin:
sqlplus / AS SYSDBA
Una volta entrati nel DB eseguire in sequenza i seguenti comandi:
 drop user DATA_BASE cascade;
 drop TABLESPACE TABSPACEDB_XP INCLUDING CONTENTS AND DATAFILES;
 create tablespace TABSPACEDB_XP datafile 'E:\oracle\DBNAME\oradata\DBNAME\TABSPACEDB_XP.dbf' SIZE 512M AUTOEXTEND ON NEXT 10M MAXSIZE 10240M EXTENT MANAGEMENT LOCAL;
 create user "USER_DB" IDENTIFIED BY USER_DB default tablespace TABSPACEDB_XP account unlock;
 alter user USER_DB quota unlimited on TABSPACEDB_XP;
 grant resource on USER_DB ;
 grant connect to USER_DB ;
 grant create session to USER_DB ;
 grant read, write on directory data_pump_dir to USER_DB;
Accedere dal prompt dei comandi (cmd per Windows) ed eseguire il seguente comando
impdp system/system01 directory=data_pump_dir logfile=IMPORT_BACKUP_DD_MM_YYYY.log dumpfile=BACKUP_DD_MM_YYYY.DMP
Accedere nuovamente al DB come admin ed eseguire il seguente comando:
EXEC DBMS_UTILITY.compile_schema(schema => 'USER_DB');
A questo punto è possibile acceder al Data BAse con utenza USER_DB/USER_DB . Per cambiare password possiamo eseguire il seguente comando
ALTER USER user_name IDENTIFIED BY new_password;
Torna al Blog