Cannot drop old undo tablespace. Cause: active rollback segment
dear all.
db: oracle 10.2.0.1
os: rhel as version 5 64 bits.
This is a testing database. And my database is online and open. But i can free the external usb disk that contains my ols undotbs.
I want to drop old undo tablespace but this is not possible.
1.- In order to open my database i had my datafile( '/mnt/hdext/back_plelds/undotbs02.dbf') offline drop, and then i can to open my database.
2.- When i try to delete my old undo tablespace im getting this error:
SQL> drop tablespace undotbs1 including contents and datafiles;
drop tablespace undotbs1 including contents and datafiles
ERROR at line 1:
ORA-01548: active rollback segment '_SYSSMU1$' found, terminate dropping
tablespace
3.- My default undo_tablespace is another that i was created before step 1.
SQL> sho parameter undo_ta
NAME TYPE VALUE
undo_tablespace string UNDOTMP
SQL>
Well i search in metalink ORA-01548 code error and in 18947.1 doc whows me that the solution is:
Action: Shut down instances that use the active rollback segments in the
tablespace and then drop the tablespace.
4.- I try to shutdown but im getting:
SQL> shutdown immediate;
ORA-00376: file 10 cannot be read at this time
ORA-01110: data file 10: '/mnt/hdext/back_plelds/undotbs02.dbf'
SQL>
This /mnt/hdext is an external USB disk and i have all permissions. I exported tables without any problem and i can read all files.
i search un metalink again ora codes (ORA-00376 ORA-01110) and the doc id: 427801.1 shows in the solution:
Drop the old undo tablespace instead of making it offline.
but when i try to drop the tablespace it shows the error describe in the step 2.
Facts:
- my tablespace UNDOTBS1 is ONLINE. I put in offline and this is not the solution.
- This is the status of my rollback segments:
SQL> select segment_name, status from dba_rollback_segs where
2 tablespace_name='UNDOTBS1';
SEGMENT_NAME STATUS
_SYSSMU1$ NEEDS RECOVERY
_SYSSMU2$ NEEDS RECOVERY
_SYSSMU3$ NEEDS RECOVERY
_SYSSMU4$ NEEDS RECOVERY
_SYSSMU5$ NEEDS RECOVERY
_SYSSMU6$ NEEDS RECOVERY
_SYSSMU7$ NEEDS RECOVERY
_SYSSMU8$ NEEDS RECOVERY
_SYSSMU9$ NEEDS RECOVERY
_SYSSMU10$ NEEDS RECOVERY
_SYSSMU11$ OFFLINE
SEGMENT_NAME STATUS
_SYSSMU12$ OFFLINE
12 rows selected.
SQL>
- I have the note (Unable to drop und tablespace In this article describe the problem but this is not the same. The difference is that i cannot drop the rollback segment that describe in step 2.
SQL> drop rollback segment "_SYSSMU1$";
drop rollback segment "_SYSSMU1$"
ERROR at line 1:
ORA-30025: DROP segment '_SYSSMU1$' (in undo tablespace) not allowed
in metalink the doc id: 173696.1 shows the solution:
Action: Check the undo segment name and reissue statement if necessary.
i cannot drop the rollback_segment
What can i do ???
thanks a lot.
in step 4 did you try with shutdown abort?
If its still does not work then create another new table space with new file and then swtich to that tablespace http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/undo.htm#sthref1504Khurram
Similar Messages
-
Cannot drop old undo tablespace.
Hello friends ,
i Cannot drop old undo tablespace. While dropping the old undo tablespace we get an error
ERROR at line 1:
ORA-01548: active rollback segment '_SYSSMU77$' found, terminate dropping
tablespace
Please help
ThanksHere's a blog post that may help you:
http://davidalejomarcos.wordpress.com/2010/11/09/ora-01548-active-rollback-segment-syssmu1xxxx-found-terminate-dropping-tablespace-while-deleting-undotbs/ -
Undo tablespace with active transaction/segment corrupted
How to recover if undo tablespace with active transaction/segment corrupted
Try RMAN blockrecover or restore the tablespace from latest backup and recover it.
-
While dropping the old undo tablespace we get an error
Hello friends ,
i Cannot drop old undo tablespace. While dropping the old undo tablespace we get an error
ERROR at line 1:
ORA-01548: active rollback segment '_SYSSMU77$' found, terminate dropping
tablespace
SQL> select tablespace_name, status, segment_name from dba_rollback_segs where status != 'OFFLINE';
TABLESPACE_NAME STATUS SEGMENT_NAME
SYSTEM ONLINE SYSTEM
APPS_UNDO NEEDS RECOVERY _SYSSMU77$
Please help
Thanks
Edited by: Vicky C on Dec 23, 2012 9:23 AMHi peter
We not using rman backup only cold backup.. i tried using cold backup in ramn block media recovery but that recovery needs archive log
RMAN> BLOCKRECOVER DATAFILE 158 BLOCK 48829;
Starting blockrecover at 18-DEC-12
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=437 devtype=DISK
channel ORA_DISK_1: restoring block(s) from datafile copy /var/undo/undo02.dbf
starting media recovery
media recovery failed
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of blockrecover command at 12/18/2012 16:45:11
ORA-00604: error occurred at recursive SQL level 1
ORA-01422: exact fetch returns more than requested number of rows
ORA-00279: change 5975281035000 generated at 12/08/2012 06:00:58 needed for thread 1
ORA-00289: suggestion : /prod/archlogs/1_465484_683651989.dbf
ORA-00280: change 5975281035000 for thread 1 is in sequence #465484
ORA-00278: log file '/prod/archlogs/1_465484_683651989.dbf' no longer needed for this re covery
we did not have block media recovery needed archivelog
Regards
Vignesh C -
Cannot drop undo tablespace with Active extents but no active sessions
Hi all,
I am running on 10gr2 oracle database in a Linux 32 bit environment.
I have a corrupted undo datafile. I've been able to recover the datafile but still the alert logs is still showing that it is corrupted.
Now what I'm trying to do is to drop the old undo tablespace like the one discussed here Change undo tablespace in Oracle - Switch Oracle's Undo tablespace.
My problem is I have an Active extent but no active session corresponding to it:
SYS@ccasdb AS SYSDBA > SELECT a.name,b.status
FROM v$rollname a,v$rollstat b
WHERE a.usn = b.usn
AND a.name IN (
SELECT segment_name
FROM dba_segments
WHERE tablespace_name = 'UNDOTBS1'
); 2 3 4 5 6 7 8
NAME STATUS
_SYSSMU18$ PENDING OFFLINE
SYS@ccasdb AS SYSDBA > SELECT a.name,b.status , d.username , d.sid , d.serial#
2 FROM v$rollname a,v$rollstat b, v$transaction c , v$session d
3 WHERE a.usn = b.usn
4 AND a.usn = c.xidusn
5 AND c.ses_addr = d.saddr
6 AND a.name IN (
7 SELECT segment_name
8 FROM dba_segments
9 WHERE tablespace_name = 'UNDOTBS1'
10 );
no rows selected
but still cannot drop the undotablespace.
SYS@ccasdb AS SYSDBA > drop tablespace UNDOTBS1 including contents and datafiles;
drop tablespace UNDOTBS1 including contents and datafiles
ERROR at line 1:
ORA-30013: undo tablespace 'UNDOTBS1' is currently in use
Regards,
TimYes i was able to recover the datafile but the alert_log kept on prompting that it is still corrupted. The datafile's status is online.
I want to kill the session/s contributing to the PENDING OFFLINE status of the rollback segment so I can already drop the undotablespace and so
that the alert log will stop prompting for that corrupted datafile in that UNDOTABLESPACE.
Can i Just alter the tablespace's datafiles to offline drop then just drop it. Then I drop the tablespace? -
How to drop an undo tablespace which is in Pending Offline status
Dear All,
I changed my undo tablespace from undotbs1 to undonew in order to drop undotbs1.
But my undotbs1 is in pending offline state, how can i drop undotbs1
Thanks
MahiCheck here
Managing the Undo Tablespace
Query V$TRANSACTION find out which transaction holding rollback segment on old undo tablespace. Commit or rollback it.
Or simply wait for a while patiently.
Quote "
The switch operation does not wait for transactions in the old undo tablespace to commit. If there are any pending transactions in the old undo tablespace, the old undo tablespace enters into a PENDING OFFLINE mode (status). In this mode, existing transactions can continue to execute, but undo records for new user transactions cannot be stored in this undo tablespace.
An undo tablespace can exist in this PENDING OFFLINE mode, even after the switch operation completes successfully. A PENDING OFFLINE undo tablespace cannot be used by another instance, nor can it be dropped. Eventually, after all active transactions have committed, the undo tablespace automatically goes from the PENDING OFFLINE mode to the OFFLINE mode.
" -
Unable to drop the undo tablespace
Hi,
ORACLE VERSION:11.1.0
OPERATING SYSTEM :WINDOWS XP
I was uable to drop the undo tablespace .Here i create an new undo tablespace and trying to drop the old undo tablespace.
I had given alter system set UNDO_TABLESPACE=newundo tablespace.
And trying to drop the old one and getting the error like this
SQL> create undo tablespace undotbs02 datafile 'F:\APP\POORNAPRASADS\ORADATA\ORCL\UNDOTBS02.dbf' size 200m;
Tablespace created.
SQL> sho parameter undo
NAME TYPE VALUE
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
SQL> alter system set undo_tablespace=undotbs02;
System altered.
SQL> sho parameter undo
NAME TYPE VALUE
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS02
SQL> drop tablespace undotbs1 including contents and datafiles;
drop tablespace undotbs1 including contents and datafiles
ERROR at line 1:
ORA-30013: undo tablespace 'UNDOTBS1' is currently in use
SQL> drop tablespace undotbs1 including contents and datafiles;
drop tablespace undotbs1 including contents and datafiles
ERROR at line 1:
ORA-30013: undo tablespace 'UNDOTBS1' is currently in useSELECT TO_CHAR (s.SID) || ',' || TO_CHAR (s.serial#) sid_serial,
NVL (s.username, 'None') orauser, s.program, r.NAME undoseg,
t.used_ublk * TO_NUMBER (x.VALUE) / 1024 || 'K' "Undo",
t1.tablespace_name
FROM SYS.v_$rollname r,
SYS.v_$session s,
SYS.v_$transaction t,
SYS.v_$parameter x,
dba_rollback_segs t1
WHERE s.taddr = t.addr
AND r.usn = t.xidusn(+)
AND x.NAME = 'db_block_size'
AND t1.segment_id = r.usn
AND t1.tablespace_name = 'UNDOTBS1'
Hth
Girish Sharma -
ORA-01548: active rollback segment
Hi, I'm a junior DBA .
I have 1 problem.
I have create a new undo tablespace and set it to undo tablespace of instance
ora11> alter system set
undo_tablespace=undotbs2;
but we can not drop the original one:
ora11> drop tablespace undotbs1 including contents and datafiles; drop tablespace undotbs1 including contents and datafiles
ERROR at line 1: ORA-01548: active rollback segment ‘_SYSSMU2_6654314$’ found, terminate dropping tablespace
how can solved this problem?These are all the question asked by RHELSENSEI and answered by Anar Godjaev. Check RHELSENSEI activity
https://forums.oracle.com/thread/2593502
https://forums.oracle.com/thread/2592693
https://forums.oracle.com/thread/2591625
https://forums.oracle.com/thread/2590123
https://forums.oracle.com/thread/2589495
https://forums.oracle.com/thread/2590123
https://forums.oracle.com/thread/2589495
https://forums.oracle.com/thread/2589494
https://forums.oracle.com/thread/2589494
https://forums.oracle.com/thread/2589025
https://forums.oracle.com/thread/2588204
https://forums.oracle.com/thread/2588264
https://forums.oracle.com/thread/2587557
https://forums.oracle.com/thread/2587091
https://forums.oracle.com/thread/2586768
https://forums.oracle.com/thread/2586765 -
What is the table for active rollback segments
Hi,
Can anyone please let me know what is the table name for 'Active Rollback Segments', is it dba_rollback_segs?
Regards,
- SriYes, this is the view which will report you the rollback segment name, owner and other information about the rollback segments.
You can also query dba_undo_extents view. -
Cannot shrink the undo tablespace
Hello!
I have run a very long procedure, which generated 15GB undo information. Now I can see in the enterprise manager, that the undo tablespace is empty again. I tried to resize the datafile, but I receive "*ORA-03297*: file contains used data beyond requested RESIZE value". How can I shrink the tablespace without dropping and recreating it?
I tried also
purge recyclebin;
I still get ORA-03297 if I try to resize the datafile.
I wanted to try something like
ALTER TABLE xxxxx UNALLOCATE UNUSED;
or
ALTER TABLE xxxxx SHRINK SPACE;
but are there any tables that save the undo information?
Regards.Hi
well, my transaction is ready! The undo tablespace has not more that 10M of information, the other 15G are free!
Thanks for the answers, it seems that i still have recreate it ...
Well, another quertion:
Is it possible, that I just have to wait longer before I resize the undo data file? I have just succeeded in resizing the data file to 7 GB. I really wish I could shrink it to 100M or so, but still - from 15G to 7G is a lot better! 2 hours ago this action was not possible. Is it some automatic management, that needs to time-out before I can shrink the undo tablespace?
Edited by: user10962462 on Apr 8, 2009 2:39 AM -
UNDO-Tablespace-Usage :: "ACTIVE" vs. "USED"
Hello,
when I run this
SELECT SUM(BYTES)/1024/1024/1024 "GB" ,STATUS
FROM DBA_UNDO_EXTENTS
GROUP BY STATUS;
against my database, I get this
MB STATUS
,008789063 UNEXPIRED
,094177246 EXPIRED
*19,7614746* ACTIVE
But when checking transactions with
SELECT s.sid , s.username , t.used_ublk*8/1024/1024
FROM v$transaction t
, v$session s
WHERE t.ses_addr = s.saddr;
I get this
SID USERNAME T.USED_UBLK*8/1024/1024
109 TRAM_STAT *6,0405426*
Where does this difference come from ???
Regards,
MynzACTIVE: transaction running, still need for rollback
UNEXPIRED: transaction is not running, but still under UNDO_RETENTION period, so still needed.
EXPIRED: transaction is not running, not under UNDO_RETENTION period. When more extents will be needed for active, this extensts will be overwritten.
to check, how many undo are using a session, you can execute:
set pages 100 lines 160
col sid_serial for a20
col orauser for a15
col program for a30
col undoseg for a15
col undo for a10
SELECT TO_CHAR(s.sid)||','||TO_CHAR(s.serial#) sid_serial,
NVL(s.username, 'None') orauser,
s.program,
r.name undoseg,
t.used_ublk * TO_NUMBER(x.value)/1024||'K' "Undo"
FROM sys.v_$rollname r,
sys.v_$session s,
sys.v_$transaction t,
sys.v_$parameter x
WHERE s.taddr = t.addr
AND r.usn = t.xidusn(+)
AND x.name = 'db_block_size'; -
Hi,
Was doing an exercise of bringing the database up if one of the datafile is curropt and the data on that data file is not required.
I did this:-
1. While the database is running I edited the datafile , dropped some junk in it.
2. Shutdown.
3. Startup mount
4. alter database datafile 'xxx' offline drop;
5. alter database open;
6. drop tablespace yyy.
7. create tablespace.
Worked ok.
But when I tried this for undo (just out of curiosity).
alter database datafile...
alter database open;
create undo tablspace new_undo;
alter system set undo_tablespae = new_undo;
drop old undo_tbs <<<< failed.
says active rollback segment exists.
Actually I tried this exercise twice first time I was able to drop the old undo tablespace but the second time it didn't.
Can somebody show how to open the database in this scenario i.e if the datafile asscoiated with undo tablespace is curropt.
Thanks.Hi,
The size of the undo tablespace is related to the transaction activity and size and the setting of the undo_retention parameter.
You can use the undo advisor in OEM for setting an optimal value or size (see link).
http://www.oracle.com/technology/obe/10gr2_db_vmware/manage/undo/undoadv.htm#t4
Can you post the current size of thedatabase, the undo tablespace and the value of undo_retention?
Regards,
Tycho -
Rollback segments using UNDO Tablespace?
First, I created a database for a vendor with an Undo Tablespace UNDOTBS. Then the vendor requested me to create rollback segments instead. So I created a new tablespace RBSTBS just to hold these segments. When I tried to create the rollback segment using the newly created tablespace RBSTBS, it complained that I am not allowed to use non-system tablespaces.
So instead, I used the Undo tablespace UNDOTBS to hold the rollback segment. It worked.
Am I really allowed to use the UNDO tablespace to hold rollback segments? Can't I use normal tablespaces for rollback segments?
Another thing, the vendor wanted me to create rollback segments of 200MB each. Where do I set this while creating the rollback segment? Is this the INITIAL, NEXT, or OPTIMAL size?
I know that Oracle recommends using UNDO rather than rollback segments. Is there any advantage in using traditional rollback segments?
Thanks for any help!Advantage with rollback segment is you can force your transaction to use any specific rollback segment, where as with undo you don't have any control. Oracle does it for us.
Thanks and Regards,
Satheesh Babu.S
Bangalore. -
Hi Group
We need to free up an old UNDO tablespace (TS_ROLLBACK) because we have created a new one (TS_UNDO), ¿how can we do that?, we need to drop old UNDO tablespace but it keeps some extents active more than 4 days.
OWNER SEGMENT_NAME TABLESPACE_NAME EXTENT_ID FILE_ID BLOCK_ID BYTES BLOCKS RELATIVE_FNO COMMIT_JTIME COMMIT_WTIME STATUS
SYS SYSSMU8$ TSROLLBACK 0 51 122 57344 7 51 ACTIVE
SYS SYSSMU8$ TSROLLBACK 2 104 8969 1048576 128 104 ACTIVE
SYS SYSSMU215$ TSUNDO 3 107 3593 1048576 128 107 ACTIVE
SYS SYSSMU229$ TSUNDO 0 107 6370 57344 7 107 ACTIVE
SYS SYSSMU229$ TSUNDO 3 107 46985 1048576 128 107 ACTIVE
SYS SYSSMU256$ TSUNDO 3 107 40073 1048576 128 107 ACTIVE
Thank you so muchWhen I try to drop the tablespace it shows the message:
ORA-30013: undo tablespace 'TS_ROLLBACK' is currently in use.
The result of the query is (i've copied 4 lines of 68, there is a transaction that have started on 15 January, could it be what locking the ts?:
ADDR XIDUSN XIDSLOT XIDSQN UBAFIL UBABLK UBASQN UBAREC STATUS START_TIME START_SCNB START_SCNW START_UEXT START_UBAFIL START_UBABLK START_UBASQN START_UBAREC SES_ADDR FLAG SPACE RECURSIVE NOUNDO PTX NAME PRV_XIDUSN PRV_XIDSLT PRV_XIDSQN PTX_XIDUSN PTX_XIDSLT PTX_XIDSQN DSCN-B DSCN-W USED_UBLK USED_UREC LOG_IO PHY_IO CR_GET CR_CHANGE
C00000011B25E880 8 26 2204276 0 0 0 0 ACTIVE 01/15/10 18:03:24 135089268 23 2 104 9065 -17910 27 C000000117D19BF8 5635 NO NO NO NO 0 0 0 0 0 0 0 0 0 0 13 23 37359 2
C00000011AC1ED80 271 26 3160 0 0 0 0 ACTIVE 01/21/10 08:00:03 341730228 23 3 107 22901 208 49 C000000117E65CE8 4199939 NO NO NO NO 0 0 0 0 0 0 0 0 1 1 3 257 2492 0
C00000011B1F0A20 251 5 2102 0 0 0 0 ACTIVE 01/21/10 08:04:54 341785988 23 3 107 53963 194 43 C000000117E3D898 4199939 NO NO NO NO 0 0 0 0 0 0 0 0 1 1 11 13 1008162 16
C00000011B25A138 255 5 2932 0 0 0 0 ACTIVE 01/21/10 08:17:49 342060712 23 2 107 3350 331 9 C000000117E1BDE8 4199939 NO NO NO NO 0 0 0 0 0 0 0 0 1 1 3 5 19 0 -
How to clear the undo tablespaces
I want to remove data from undo tablespace. How can I do that?
create new undo tablespace.
Change new as new undo tablespace.
Drop old undo tablespace.
If old undo tablespace will have any active undo segment it will not droped.
Cheers !!
Maybe you are looking for
-
Dear all, i had made inventory report for opening ,closing stock and issue stock. i'm getting the perfect data for all the days, but for a single day in a year the closeing stock and next days opening stock not matching . Thanks and Regars, KaushiK S
-
Trying to publish a new iWeb site to mobileme
My son is part of a family account I have and he is experimenting with creating a blog using iweb Is publisihing on Mobileme still supported? We are trying to publish but it's selling us to sign in (and we are signed in) and can't progress further I
-
How to filter data in defining request
Hi Midhun, Could you please help me in filtering data in defining request in offline mode. Still I am trying to open the store and read the data from store I am getting 0 records read from the store Best Regards Abhinav Dodda
-
Old music file needing to be organized
Recently I had all my old WMA files converted to MPEG, but to my chagrin they are all now in one great big "unknown" album - 2.9 days, 4.82 GB - with nothing more than the name of the song & it's individual length in time. Bummer ... I haven't a clue
-
I am trying to make some network graphics, and for the life of me I cannot get motion to output anything usable! All of this after the stupid "ozone pluggin" problem, I finally get motion to work and now this? What is the deal? Wanted to use motion f