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.