Download AC-Toolbar Oracle Schulung und Consulting

Schemawiederherstellung mit Flashback Database

Benutzerbewertung: / 440
SchwachPerfekt 
Geschrieben von: Marek Adar   

Ist die Flashback-Database aktiviert, so kann bei versehentlichem Löschen eines gesamten Schemas dieses komplett wiederhergestellt werden, ohne die gesamte Datenbank zurückzusetzen zu müssen.

Hierfür wird die Datenbank mit Flashback zu dem Zeitpunkt vor dem Löschvorgang zurückgesetzt und diese dann im Read-Only Modus geöffnet. Nach dem Öffnen kann das Schema mit seinen Objekten über das "alte" Export-Utility EXP exportiert werden. Die Datapump kann hierfür nicht verwendet werden, da diese Schreiboperationen auf eine interne Master-Tabelle ausführt. Nachdem das Schema exportiert wurde, kann die Datenbankinstanz wieder heruntergefahren, gemountet und wieder auf den aktuellen Stand recovert werden. Zum Schluss wird dann der Export der Schemaobjekte in die Datenbank eingespielt.

 

Aktivieren der Flashback-Database auf Basis eines garantierten Restore-Points:

SQL> create restore point rpt_before_upgrade guarantee flashback database;

Restore-Punkt erstellt.

SQL> select flashback_on from v$database;

FLASHBACK_ON
------------------
RESTORE POINT ONLY

Versehentliches Löschen eines Schemas ;-):

SQL> drop user hr cascade;

Benutzer wurde geloscht.

Durchführen des Flashbacks der Datenbank:

SQL> shutdown immediate
Datenbank geschlossen.
Datenbank dismounted.
ORACLE-Instanz heruntergefahren.
SQL> startup mount
ORACLE-Instanz hochgefahren.

Total System Global Area 472887296 bytes
Fixed Size 1337296 bytes
Variable Size 385878064 bytes
Database Buffers 79691776 bytes
Redo Buffers 5980160 bytes
Datenbank mounted.
SQL> flashback database to restore point rpt_before_upgrade;

Flashback abgeschlossen.

Öffen der Datenbank im Read-Only-Modus:

SQL> alter database open read only;

Datenbank wurde geandert.

SQL> select table_name from dba_tables where owner='HR';

TABLE_NAME
------------------------------
REGIONS
DEPARTMENTS
COUNTRIES
SYS_TEMP_FBT
EMPLOYEES
LOCATIONS
JOB_HISTORY
JOBS

8 Zeilen ausgewahlt.

SQL> exit

Verbindung zu Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options beendet

Export des Schemas:

[oracle@pc ~]$ exp userid=system/oracle_4U file=/u01/app/oracle/hr.dmp owner=hr

Export: Release 11.2.0.1.0 - Production on Wed Jun 5 17:48:23 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.


Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
Export done in US7ASCII character set and AL16UTF16 NCHAR character set
server uses AL32UTF8 character set (possible charset conversion)

About to export specified users ...
. exporting pre-schema procedural objects and actions
. exporting foreign function library names for user HR
. exporting PUBLIC type synonyms
. exporting private type synonyms
. exporting object type definitions for user HR
About to export HR's objects ...
. exporting database links
. exporting sequence numbers
. exporting cluster definitions
. about to export HR's tables via Conventional Path ...
. . exporting table COUNTRIES 25 rows exported
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
. . exporting table DEPARTMENTS 27 rows exported
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
. . exporting table EMPLOYEES 107 rows exported
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
. . exporting table JOB_HISTORY 10 rows exported
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
. . exporting table JOBS 19 rows exported
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
. . exporting table LOCATIONS 23 rows exported
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
. . exporting table REGIONS 4 rows exported
EXP-00091: Exporting questionable statistics.
EXP-00091: Exporting questionable statistics.
. . exporting table SYS_TEMP_FBT
. exporting synonyms
. exporting views
. exporting stored procedures
. exporting operators
. exporting referential integrity constraints
. exporting triggers
. exporting indextypes
. exporting bitmap, functional and extensible indexes
. exporting posttables actions
. exporting materialized views
. exporting snapshot logs
. exporting job queues
. exporting refresh groups and children
. exporting dimensions
. exporting post-schema procedural objects and actions
. exporting statistics
Export terminated successfully with warnings.

Recovern der Datanbank auf den ursprünglichen Zustand:

[oracle@pc ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Jun 5 17:49:01 2013

Copyright (c) 1982, 2009, Oracle. All rights reserved.


Verbunden mit:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options

SQL> shutdown immediate
Datenbank geschlossen.
Datenbank dismounted.
ORACLE-Instanz heruntergefahren.
SQL> startup mount
ORACLE-Instanz hochgefahren.

Total System Global Area 472887296 bytes
Fixed Size 1337296 bytes
Variable Size 385878064 bytes
Database Buffers 79691776 bytes
Redo Buffers 5980160 bytes
Datenbank mounted.
SQL> recover database;
Media Recovery abgeschlossen.
SQL> alter database open;

Datenbank wurde geandert.

Anlegen des Schemas:

SQL> create user hr identified by hr default tablespace example;

Benutzer wurde erstellt.

SQL> grant unlimited tablespace, create view to hr;

Benutzerzugriff (Grant) wurde erteilt.

SQL> grant resource to hr;

Benutzerzugriff (Grant) wurde erteilt.

SQL> grant connect to hr;

Benutzerzugriff (Grant) wurde erteilt.

SQL> exit
Verbindung zu Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options beendet

Import der Schema-Objekte:

[oracle@pc ~]$ imp userid=system/oracle_4U file=/u01/app/oracle/hr.dmp fromuser=hr touser=hr

Import: Release 11.2.0.1.0 - Production on Wed Jun 5 17:51:22 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.


Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options

Export file created by EXPORT:V11.02.00 via conventional path
import done in US7ASCII character set and AL16UTF16 NCHAR character set
import server uses AL32UTF8 character set (possible charset conversion)
. importing HR's objects into HR
. . importing table "COUNTRIES" 25 rows imported
. . importing table "DEPARTMENTS" 27 rows imported
. . importing table "EMPLOYEES" 107 rows imported
. . importing table "JOB_HISTORY" 10 rows imported
. . importing table "JOBS" 19 rows imported
. . importing table "LOCATIONS" 23 rows imported
. . importing table "REGIONS" 4 rows imported
About to enable constraints...
Import terminated successfully without warnings.

Überprüfung der Schemaobjekte:

[oracle@pc ~]$ sqlplus hr/hr

SQL*Plus: Release 11.2.0.1.0 Production on Wed Jun 5 17:53:55 2013

Copyright (c) 1982, 2009, Oracle. All rights reserved.


Verbunden mit:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options

SQL> select * from tab;

TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
COUNTRIES TABLE
DEPARTMENTS TABLE
EMPLOYEES TABLE
EMP_DETAILS_VIEW VIEW
JOBS TABLE
JOB_HISTORY TABLE
LOCATIONS TABLE
REGIONS TABLE
SYS_TEMP_FBT TABLE

9 Zeilen ausgewahlt.

 

©Adar-Consult, Ihr Partner für Oracle Schulungen, Seminare, Workshops und Consulting

Oracle Training und Schulungen
Tag Cloud
sql-commander oracle-check, excel plan, oracle-architekturposter cluster sql-tuning export pl/sql google oracle rac-praxisworkshop pl/sql-entwicklung import poster sql-pl/sql-bootcamp oracle-datenbankadministration application recovery schulungsangebot sql-grundlagen packages kleine hochverfügbarkeits-bootcamp google404,
AC-Blog