Saturday, July 27, 2013
ORA-01157 ORA-01110 Undo Corrupt
===========================
undo_management = manual
pfile
shutdown immediate;
startup
alter database datafile 'd:\rkdatabase\undotbs01.ora' offline drop;
alter database open;
drop tablespace undotbs1;
create undo tablespace undotbs1 datafile 'd:\rkdatabase\undotbs02.ora' size 500m autoextend on next 10m maxsize unlimited;
undo_management = auto
shutdown immediate
startup
===========================
Recovery of UNDO tablespace in a Non Archive Log mode Database
SQL> startup;
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 1218316 bytes
Variable Size 67111156 bytes
Database Buffers 96468992 bytes
Redo Buffers 2973696 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 2 - see DBWR trace file
ORA-01110: data file 2: '/u01/oradata/burp/undotbs01.dbf'
Since the database in Non Archive Log mode, we cannot open the database by taking the datafile offline using ‘alter database datafile 2 offline’,but we need to use ‘…OFFLINE FOR DROP‘. This will mark the datafile for subsequent dropping.A datafile once marked ‘OFFLINE FOR DROP’ can never be brought online.
SQL>alter database datafile 2 offline for drop;
SQL>alter database open;
Now we need to create another undo tablespace for the transactions to use. Once the new undo tablespace is created,shutdown the database and edit the init.ora file and change the parameter undo_tablepace=<new_undo_tablespace>
SQL>create undo tablespace UNDOTBS2 datafile '/path/undotbs02.dbf' size 20M;
SQL>shutdown immediate;
edit the init.ora file and set paramter undo_tablespace=UNDOTBS2
SQL>startup;
Now we will drop UNDOTBS1 as it is nolonger used.
SQL>drop tablespace UNDOTBS1 including contents and datafiles;
While database is OPEN
+++++++++++++++++++
SQL>create undo tablespace UNDOTBS2 datafile '/path/undotbs02.dbf' size 20M;
SQL>shutdown immediate;
edit the init.ora file and set paramter undo_tablespace=UNDOTBS2
SQL>startup;
Now we will drop UNDOTBS1 as it is nolonger used.
SQL>drop tablespace UNDOTBS1 including contents and datafiles;
======================================or
alter system set undo_management = manual scope=spfile;
shut immediate
startup pfile
-----This is to confirm no backups available
rman target /
RMAN> restore tablespace undotbs1;
RMAN> exit
SQL> alter database datafile 'C:\APP\ORACLE11GR2\ORADATA\ORCL\DATAFILE\O1_MF_UNDOTBS1_7OS7JZJV_.DBF' offline drop;
alter database open;
drop tablespace undotbs1;
create UNDO tablespace undotbs1 datafile 'C:\APP\ORACLE11GR2\ORADATA\ORCL\DATAFILE\O1_MF_UNDOTBS1_new.dbf' size 25m autoextend on next 1m maxsize 50m;
alter system set undo_management = auto scope=spfile;
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment