I have a script which lists all tables belonging to the user and executes DROP for all of them.
By mistake, I logged in oracle with 'sys as sysdba' and ran above script. Due to which all sysdba tables are dropped.
Now i can not startup database instance. In alert log, it gives following error:
Sat Jul 20 15:28:21 2013
Errors in file orcl_ora_4276.trc:
ORA-00942: table or view does not exist
Error 942 happened during db open, shutting down database
USER: terminating instance due to error 942
I tried to flashback one droppd table, but it is giving error:
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced
SQL> FLASHBACK TABLE MAP_OBJECT TO BEFORE DROP;
ERROR:
ORA-03114: not connected to ORACLE
Please suggest if there is any way to restore all these tables. Or if creating new database is the only way?
exp
/expdp
or backups on a storage/data level. I might also suggest something like trasnportable tablespaces but i don`t believe you can export them without dictionary data.flashback database
when it's only mounted (see the previous doc link). That might save you, or still might not work. Sounds like you have exports of specific schemas, which is not the same as a backup. If that is all you have, and flashback doesn't work, then I think your only option may be to recreate the database and all the schemas.