Recovery

rman datenbank aus der sicherung wieder holen und auf einen Stand setzten.

Am besten mit einer log sequence nummer

startup mount;
column scn new_val scn
select dbms_flashback.get_system_change_number scn from dual;

run {
  rem log sequnece aus alert log
  rem thread 1 advanced to log sequence 424 (LGWR switch)
  SET UNTIL SEQUENCE 424;
  restore database;
  recover database;
}
alter database open resetlogs;

Korrupte Blöcke

Finden

select * from V$DATABASE_BLOCK_CORRUPTION;

     FILE#     BLOCK#     BLOCKS CORRUPTION_CHANGE# CORRUPTIO
---------- ---------- ---------- ------------------ ---------
       11     162363          1                  0 FRACTURED
       33     154076          1                  0 CORRUPT
       73     953305          1                  0 CORRUPT

Recovern

RMAN> RECOVER CORRUPTION LIST;

Archivelogs

RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;

Quelle: http://docs.oracle.com/cd/E11882_01/backup.112/e10643/rcmsynta016.htm#RCMRF90140

Backups

RMAN> crosscheck backup;
RMAN> delete expired backup;

Quelle: http://docs.oracle.com/cd/E11882_01/backup.112/e10643/rcmsynta016.htm#RCMRF90140

Disk

CONFIGURE BACKUP OPTIMIZATION off;
CONFIGURE ENCRYPTION FOR DATABASE OFF;
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/oradata/backup/%d_%T_%t_%s_%p';
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '<backupPfad>/cf_%d.%F';
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
CONFIGURE MAXSETSIZE TO UNLIMITED;
CONFIGURE RETENTION POLICY TO REDUNDANCY 1;
CROSSCHECK BACKUP DEVICE TYPE DISK;
CROSSCHECK ARCHIVELOG ALL DEVICE TYPE DISK;
REPORT OBSOLETE;
DELETE NOPROMPT FORCE OBSOLETE;
BACKUP  DATABASE PLUS ARCHIVELOG NOT BACKED UP;
REPORT OBSOLETE;
DELETE NOPROMPT FORCE OBSOLETE;
LIST BACKUP;
LIST BACKUP SUMMARY;
EXIT;

Tape

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS;
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS "ENV=(NSR_SERVER=<networker-server>,NSR_CLIENT=<clientname>,NSR_DATA_VOLUME_POOL=<PoolName>,NSR_DEBUG_LEVEL=2)";
 CONFIGURE ARCHIVELOG DELETION POLICY CLEAR;

SHOW ALL;
BACKUP ARCHIVELOG ALL;

Datapump

Export

#!/bin/sh
#exec >/tmp/export.log
#exec 2>&1


passwd=`dd if=/dev/urandom bs=512 count=1 2>/dev/null | tr -dc "a-zA-Z0-9-_\.\+\$\?" | fold -w 15 | head -1`
echo "alter user system identified by \"$passwd\";" | sqlplus -S "/ as sysdba"


sqlplus / as sysdba <<EOF
set echo on
create or replace directory DATAPUMPDIR as '<DumpPath>';    
exit
EOF

DUMP=<DumpFile>
LOG=<LogFile>

if [ -f <DumpPath>/<DumpFile> ]; then rm <DumpPath>/<DumpFile> ; fi

# expdp system/"$passwd" full=yes DIRECTORY=DATAPUMPDIR DUMPFILE=$DUMP logfile=$LOG  STATUS=120 METRICS=YES
expdp system/"$passwd" full=yes DIRECTORY=DATAPUMPDIR DUMPFILE=$DUMP logfile=$LOG  METRICS=YES

Import

#!/bin/sh

P=`dd if=/dev/urandom bs=512 count=1 2>/dev/null | tr -dc "a-zA-Z0-9-_\.\+\$\?" | fold -w 15 | head -1`
echo "alter user system identified by \"$P\";" | sqlplus -S "/ as sysdba"

sqlplus / as sysdba <<EOF
   set echo on
   create or replace directory DATAPUMPDIR as '<DumpPath>';    
   exit
EOF

impdp system/$passwd parfile=<parfile>

Performance

   pl/sql Lock Timer DBMSLOCK.SLEEP or USERLOCK.SLEEP

This wiki is powered by ikiwiki.