Datafile containing rollback segment crashed
Hi,
In one of our production box (oracle 8.1.7.4 and HP UX), datafile containing rollback segment crashed. To open the database, i commented rollback segment line in init file and started the db and brought the crashed datafile to offline for dropping as
alter database datafile '/db10/rollback/rbs01.dbf' offline drop;
and then tried to drop the tablespace containing that datafile but it threw an error saying an active rollback segment R0 is still there in the tablespace. I donot know how to drop this and create new rollback segments. Any help would be greatly appreciated.
Thanks
Guna
Hi,
Serious case. In case of a failure the instance recovery is automatic but the rollback segments are needed. Having the database open does not mean everything is OK. Just read that :
Crash or instance recovery consists of the following steps:
+# Rolling forward to recover data that has not been recorded in the datafiles, yet has been recorded in the online redo log, including the contents of rollback segments. This is called cache recovery.+
+# Opening the database. Instead of waiting for all transactions to be rolled back before making the database available, Oracle allows the database to be opened as soon as cache recovery is complete. Any data that is not locked by unrecovered transactions is immediately available.+
+# Marking all transactions system-wide that were active at the time of failure as DEAD and marking the rollback segments containing these transactions as PARTLY AVAILABLE.+
+# Rolling back dead transactions as part of SMON recovery. This is called transaction recovery.+
+# Resolving any pending distributed transactions undergoing a two-phase commit at the time of the instance failure.+
+# As new transactions encounter rows locked by dead transactions, they can automatically roll back the dead transaction to release the locks. If you are using Fast-Start Recovery, just the data block is immediately rolled back, as opposed to the entire transaction.+
What did you do exactly after the crash ? Can you post commands/output + last 50-100 lines of your alert.log ?
Best regards
Phil
Similar Messages
-
How to online datafile of rollback segment of NO archive log available
I set offline datafile of rool back segement and rename it
but when I try to online , get error to recover
I try to recover but unfortunately all archive log was deleted ( kind of cron job in unix aotu delete these file)
Pls advice how can I set this data file online without the archive log ( while databse still up and running) Oracle version is 8i not possible to drop datafile by sql.
in roll back segment I have 3 data files as below and the rb04.dbf is offline
usr/Systems/1354RM_1_7.1_Master/databases/dbsnml/data/rbs01.dbf
/usr/Systems/1354RM_1_7.1_Master/databases/dbsnml/data/rbs03.dbf
/usr/Systems/1354RM_1_7.1_Master/databases/dbsnml/data/rbs04.dbf
sequence of what I did is below:
SQL> alter database datafile '/usr/Systems/1354RM_1/databases/dbsnml/data/rbs04.dbf' offline;
Database altered.
SQL> alter tablespace RBS rename datafile '/usr/Systems/1354RM_1/databases/dbsnml/data/rbs04.dbf' to '/usr/Systems/1354RM_1_7.1_Master/databases/dbsnml/data/rbs04.dbf';
Tablespace altered.
SQL> alter database datafile '/usr/Systems/1354RM_1_7.1_Master/databases/dbsnml/data/rbs04.dbf' online;
alter database datafile '/usr/Systems/1354RM_1_7.1_Master/databases/dbsnml/data/rbs04.dbf' online
ERROR at line 1:
ORA-01113: file 13 needs media recovery
ORA-01110: data file 13:
'/usr/Systems/1354RM_1_7.1_Master/databases/dbsnml/data/rbs04.dbf'
SQL> recover datafile '/usr/Systems/1354RM_1_7.1_Master/databases/dbsnml/data/rbs04.dbf';
ORA-00279: change 71449081 generated at 12/23/2008 20:18:05 needed for thread 1
ORA-00289: suggestion :
/usr/Systems/1354RM_1_7.1_Master/OSRES/data/warm_repl/WarmArchive/arch_1_455922.
arc
ORA-00280: change 71449081 for thread 1 is in sequence #455922
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
ORA-00308: cannot open archived log
'/usr/Systems/1354RM_1_7.1_Master/OSRES/data/warm_repl/WarmArchive/arch_1_455922
.arc'
ORA-27037: unable to obtain file status
HP-UX Error: 2: No such file or directory
Additional information: 3SQL> alter tablespace RBS rename datafile '/usr/Systems/1354RM_1/databases/dbsnml/data/rbs04.dbf' to '/usr/Systems/1354RM_1_7.1_Master/databases/dbsnml/data/rbs04.dbf';Did you rename the file at OS level after you issued above command? Oracle will not rename the file at OS level.
Other than that, if you plan to change rollback segment tablespace, better create a new one and create new rollback segment in new tablespace and drop the old one. -
Rollback segment problem during import
Hello experts,
please help.
I have the following error when importing table data to my
Oracle 8.1.7 database.
IMP-00058: ORACLE error 1562 encountered
ORA-01562: failed to extend rollback segment number 16
ORA-01237: cannot extend datafile 3
kind regards
Yogeerajalter the tablespace which contains rollback segments, and
either change the existing datafile (datafile 3) to autoextend
on or resize, or add new datafile in another disk drive which
has more space (it is better to set autoextend on or give it a
larger space).
Hello experts,
please help.
I have the following error when importing table data to my
Oracle 8.1.7 database.
IMP-00058: ORACLE error 1562 encountered
ORA-01562: failed to extend rollback segment number 16
ORA-01237: cannot extend datafile 3
kind regards
Yogeeraj -
Rollback segment corruption on oracle 7.3
We have an oracle 7.3 database on solaris(sparc) 2.6.
In the midddle of the transactions, the following error message occured:
ORA 1578 Data block corrupted(file #2, block#8274)
ORA-1110 Datafile 2:'/user1/oradb/rbstbl.dbf'
(this datafile corresponds to the rollback segment table space).
Action Taken:
1. Tried to make the rollback segments offline, but out of 11, 2 rollback segments could not be taken offline. The status for these 2 was 'pending offline'.
2. Made the table space and datafile offline.
3. Created new rollback segments with new datafile and rollback segments, duly commenting the same in init.ora.
4. The status for these 2 rollback segments has now changed to 'needs recovery'. This status is preventing us from taking any further action.
We would like to drop the old table space.
We need you kind help in getting out of this loop!
Pls. mail your reply to [email protected]Kathleen,
Sorry, the character set scanner only supports 8.0.6 and above. Can you first migrate your US7ACII database to 9.2, and run the scanner before changing database character set to WE8ISO8859P15? Also you can read this paper http://www.oracle.com/technology/tech/globalization/pdf/mwp.pdf
to understand why you may have invalid data in your US7ASCII database and the best way to migrate it. I am also wondering about your choice of P15 versus P1 and WIN1252? If you need further information you can contact me directly at [email protected] -
ROLLBACK SEGMENT VERSION 7.3
We have an oracle 7.3 database on solaris(sparc) 2.6.
In the midddle of the transactions, the following error message
occured:
ORA 1578 Data block corrupted(file #2, block#8274)
ORA-1110 Datafile 2:'/user1/oradb/rbstbl.dbf'
(this datafile corresponds to the rollback segment table space).
Action Taken:
1. Tried to make the rollback segments offline, but out of 11, 2
rollback
segments could not be taken offline. The status for these 2
was 'pending
offline'.
2. Made the table space and datafile offline.
3. Created new rollback segments with new datafile and rollback
segments,
duly commenting the same in init.ora.
4. The status for these 2 rollback segments has now changed
to 'needs
recovery'. This status is preventing us from taking any further
action.
We would like to drop the old table space.
We need you kind help in getting out of this loop!
We don't have any backup and the archivlog was not activated.
HELP is there any way to solve this problem?????
Thank for your helpOracle XML Team wrote:
: Jerome Sigua (guest) wrote:
: : My company has version 7.3.4 and my group is thinking of
using
: : XML for some data transfers between us and our vendors. From
: : what I could see from this web site, it looks like we would
: need
: : to move to ver 8i in order to do so. Is there any way of
: : leveraging ver 7 to do XML? I'm sure we'll move up to ver 8
: : sometime in the future but I don't know if we will within our
: : timeline(next 3-4 months) for the next phase of the project
: I'm
: : working on.
: : TIA
: : Jerome Sigua
: As long as you have the appropriate JDBC 1.1 drivers for 7.3.4
: you should be able to use the XML SQL Utility to extract data
in
: XML.
: Oracle XML Team
: http://technet.oracle.com
: Oracle Technology Network
For JDBC drivers, please take a look at
http://technet.oracle.com/tech/java/sqlj_jdbc/
Take a look at : Oracle 7 JDBC OCI and JDBC Thin Drivers
Oracle Technology Network
http://technet.oracle.com
null -
Taking rollback segment and datafile offline caused application error
One of the DBA's added a large rollback segment which caused the rman backup to abort. The rollback segment was taking offline and it's datafile was taken offline, all went normally no errors. An Application started gettting errors the database and application were taking down and up, no errors on either but the problem was still there. The rbs datafile and RBS were placed back online and the application worked properly. It looks as if Oracle let us take the RBS and datafile offline with active segments in the RBS is this possible?? If so it means you can pull the rug out from under Oracle and it doesn't even complain
Pls check any transactions written in application level,
explicitly assigned to the RBs which was taken offline. -
Can rollback segments span one datafile like data segments
1.Can rollback segments span one datafile like data segments?
For e.g we have undo tablespace with 2 data files
We have one active transaction in rbs01,now when rollback segment grows and extents are allocated to it ,if all the extents will be allocated to one data file or it can be allocated to any of the two data file.
2.Can we set the transaction to a particular rollback segment when undo_management parameter is set to AUTO?1.Can rollback segments span one datafile like data
segments?
For e.g we have undo tablespace with 2 data files
We have one active transaction in rbs01,now when
rollback segment grows and extents are allocated to
it ,if all the extents will be allocated to one data
file or it can be allocated to any of the two data
file.I don't think so. E.g. if you have a long transaction, you will need to create a larger RB segment and allocate this segment to be used. That's why you should be using automatic undo management as opposed to manual rollback segments.
2.Can we set the transaction to a particular rollback
segment when undo_management parameter is set to AUTO?No, when you use automatic undo management, you create one tablespace for undo management. THere is no concept of individual rollback segments. -
ORA-01545: rollback segment 'R01' specified not available, after disk crash
After a disk problem, when I try to open the database I receive the error 0ra-01545.What can I do resolve this? It seems that the rollback segment is marked for recover. I an only mount the database.
This is the forms forum. If you ask your question the the database forum you may get an answer much quicker.
-
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 -
Rollback segment error ORA-1628
Hellow
Currently we are working on Oracle 8i database.The database contain spatial data around 10GB.We have a tablespace RBS containing 4 rollback segments. The issue is whenever we try to insert spatial data we get this error message (in the alert file)
ORA-1628: max # extents 121 reached for rollback segment R01
Failure to extend rollback segment 2 because of 1628 condition
FULL status of rollback segment 2 cleared.
I extended the size of RBS tablespace by adding another datafile, but still it doesn't help.
Also i found that RBS tablespace is marked as PERMANENT...it means the rollback data does not get flushed out periodically?Also Should this tablespace be temporary? How can i counter this problem?
Regards
SamHi,
01628, 00000, "max # extents (%s) reached for rollback segment %s"
// *Cause: An attempt was made to extend a rollback segment that was
// already at the MAXEXTENTS value.
// *Action: If the value of the MAXEXTENTS storage parameter is less than
// the maximum allowed by the system, raise this value. => Alter your RBS and allow more than 121 extents to be created in this RBS.
Also i found that RBS tablespace is marked as PERMANENT.Yes, it's normal.
..it means the rollback data does not get flushed out periodically?No
Also Should this tablespace be temporary? No, this can't be
How can i counter this problem?Free advise: RTFM about Rollback Segments! Start here (8i doc) or read the Concepts book.
Regards,
Yoann. -
Error while creating the rollback segment (Oracle 8i & OS Win NT)
hi
I am using Oracle 8i and when i am creating the new rollback segment for my database i have got following error message
ORA-01593 Rollback segment optimal size (30 blks) is smaller than the computed initial size (2560 blks)
CREATE ROLLBACK SEGMENT "RBS11" TABLESPACE "RBS1"
STORAGE ( INITIAL 120K NEXT
120K OPTIMAL
240K MINEXTENTS 2
MAXEXTENTS 100)
Note:- db_block size is 8k
Tablespace RBS1 is the Locally managed Tablespace having datafile of 50m and uniform size of 10m
But Given statement processed while i am using Tablespace RBS (winch is data dictionary managed)
Plz, suggest me to cause of that error and solutionYou said 120K optimal and initial is 120K with minextents of 2. The optimal size then will be smaller than the initial allocation for the rbs.
ORA-01593: rollback segment optimal size (string blks) is smaller than the computed initial size (string blks)
Cause: Specified OPTIMAL size is smaller than the cumulative size of the initial extents during create rollback segment.
Action: Specify a larger OPTIMAL size. -
Trying to understand rollback segments - offline tblspaces for backup
Using Oracle 8i, on Windows platform - The question - receive an error ORA-01556 when performing a
sql "ALTER TABLESPACE MY_TBS_LT OFFLINE IMMEDIATE";
=============================================
First off I created a tablespace and table on an 8i database.
create tablespace my_tbs_lt_tbs_lt
datafile '&&2\oradata\&&1\my_tbs_lt_guitest1.dbf'
size 10M
AUTOEXTEND ON NEXT 1280k EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K; <===== Is this right for use with rollback segments?
CREATE ROLLBACK SEGMENT rbgui1t2 STORAGE(INITIAL 50K NEXT 250K)
tablespace my_tbs_lt;
CREATE ROLLBACK SEGMENT rbgui2t2 STORAGE(INITIAL 50K NEXT 250K)
tablespace my_tbs_lt;
CREATE ROLLBACK SEGMENT rbgui3t2 STORAGE(INITIAL 50K NEXT 250K)
tablespace my_tbs_lt;
CREATE ROLLBACK SEGMENT rbgui4t2 STORAGE(INITIAL 50K NEXT 250K)
tablespace my_tbs_lt;
-- Bring new rollback segments online
ALTER ROLLBACK SEGMENT rbgui1t2 ONLINE;
ALTER ROLLBACK SEGMENT rbgui2t2 ONLINE;
ALTER ROLLBACK SEGMENT rbgui3t2 ONLINE;
ALTER ROLLBACK SEGMENT rbgui4t2 ONLINE;
CREATE TABLE guitester.guitester_t2
( employee_id NUMBER(6)
, first_name VARCHAR2(20)
, last_name VARCHAR2(25)
CONSTRAINT emp_last_name_nn_demo NOT NULL
, email VARCHAR2(25)
CONSTRAINT emp_email_nn_demo NOT NULL
, phone_number VARCHAR2(20)
, hire_date DATE DEFAULT SYSDATE
CONSTRAINT emp_hire_date_nn_demo NOT NULL
, job_id VARCHAR2(10)
CONSTRAINT emp_job_nn_demo NOT NULL
, salary NUMBER(8,2)
CONSTRAINT emp_salary_nn_demo NOT NULL
, commission_pct NUMBER(2,2)
, manager_id NUMBER(6)
, department_id NUMBER(4)
, dn VARCHAR2(300)
, CONSTRAINT emp_salary_min_demo
CHECK (salary > 0)
tablespace my_tbs_lt;
=======================================
I changed the initSID.ora file to have
Rollback_segments=( rbgui1t2, rbgui2t2, rbgui3t2, rbgui4t2)
=======================================
restarted everything
========================================
did a backup of the tablespace my_tbs_lt;
========================================
added some data to the table in the tablespace
========================================
ran a restore/recover - Get the error
========================================
It makes sense that I get the error because it is the tablespace that I have been working with, adding data. Is my logic correct? How does one restore a tablespace if it has rollback segments active? Can someone look to make sure I am declaring the rollback segments appropriately?Thank you for the link - very helpful.
So would a more appropriate scheme be:
Create a tablespace
Create rollback segments
Put them online
enter their names in the ROLLBACK_SEGMENTS= segment(s)
I havent read everything, so you may say go look at the link again, but a second question. If you are managing the extent locally, does it not use a rollback segments, or is it using system, or is it actually creating rollback segments for itself within the context of the local management?
In my above scenario, I would have to take my rollback segment offline as well as the tablespace. -
Big problem with ROLLBACK SEGMENT
I tried insert into DB Oracle 8i more than 23000 rows from .sql files.
This files contents:
-- START
delete from grls;
insert ..........
insert ..........
insert ..........
-- END
ORA-01562: failed to extend rollback segment ...
My configuration:
CREATE TABLESPACE rbs datafile '$ORACLE_BASE/oradata1/$ORACLE_SID/rbs01.dbf' SIZE 10M;
CREATE TABLESPACE rbs_02 datafile '$ORACLE_BASE/oradata1/$ORACLE_SID/rbs01_02.dbf' SIZE 300M;
CREATE ROLLBACK SEGMENT rbs01 storage (initial 20k next 20k minextents 3 maxextents 121) TABLESPACE rbs;
CREATE ROLLBACK SEGMENT rbs16 storage (initial 20k next 20k minextents 3 maxextents 121) TABLESPACE rbs;
CREATE ROLLBACK SEGMENT rbs_load01 storage (initial 30m next 30m minextents 3 maxextents 10) TABLESPACE rbs_02;
Please help me.1.)Did you place the rollback segments online
after creation?
Alter rollback segment RBS01 online;
Alter rollback segment RBS16 online;
Alter rollback segment RBS_LOAD01 online;
2.)Did you set your init[sid].ora parameter
ROLLBACK_SEGMENTS = (RBS01, RBS16, RBS_LOAD01) so that they will automatically come on line on istance startup?
3.) You have set up only 304Meg of space for them cumulatively. Is this enough for the 23thousand rows you want to insert?
If not you may want to enable the autoextend option on your datafiles. Of course you will want to change your maxextents. Leaving that value out will give you a default of 505 maxextents.
4.) And finally you could throw in a commit during the insert procedure. This will commit the transaction at that point and clear out the rollback segments for use again.
Tom -
Is "SET TRANSACTION USE ROLLBACK SEGMENT" only a hint
I have two users, one makes some inserts in a table.
The other makes a select which visits many rows.
I have a big rollback-segment.
To ensure, both users use this rollback-segment I created a logon-trigger:
CREATE OR REPLACE TRIGGER a_logon AFTER LOGON
ON DATABASE
WHEN ( USER IN ( 'SCOTT', 'BOB' ) )
BEGIN
SET TRANSACTION USE ROLLBACK SEGMENT rbs_big;
END;
But I still get "snapshot to old" messages from the select, which contains the name off an other rollback-segment in the message.
The trigger really fires, i tested it by adding an insert-statement to a log-table.
What`s wrong ?The set transaction use rollback segment lasts only until you commit or rollback first time and all other transactions in that session will not be forced to that rbs anymore. Other possible solution could be that other users are accessing same tables / updating them so those sessions can't keep the read consistent image available anymore for your sessions.
-
How to check/find the size of current ROLLBACK segment in oracle 10g
How to check/find the size of current ROLLBACK segment in oracle 10g ? Kindly help
A rollback segment name like "_SYSSMU231$" is used when you have Automatic Undo Management enabled.
The only relevant parameters are :
1. UNDO_MANAGEMENT=AUTO
2. UNDO_RETENTION=n minutes ==> this is what everyone should be interested in
3. The sizes of the Undo Tablespace datafiles and whether AUTOEXTEND is ON or OFF
No one should be interested in the size of a single undo segment when Automatic Undo Management is enabled.
Possible causes of ORA-01555 errors in Automatic Undo Management
a. UNDO_RETENTION is too low
b. Undo tablespace is too small
Hemant K Chitale
Maybe you are looking for
-
How can we give the option to edit the cell value of a table to user
i have a Jtable which shows the entered values of all the expenses daily.Before saving them i want to provide an option to user for editing.How this is possible. I went through the TableCellEditor interface .I think it needs to be implemented some co
-
Finding BPM of audio imported into project
Hello all-- I bet there's an easy answer to this, but as a noob I'm not finding it in searches (though I find lots of related stuff). I'm trying to tempo-sync imported audio to a midi tempo in a project. Is there an easy way to analyze the tempo of t
-
SQLException : Result Set is IDLE
Hi, Am accessing a DB stored procedure, executing it using executeQuery() & then fetching the resultset. There are 2 resultset objects returned. Am getting this exception when fetching the result set objects. It says soemthing like: "Result Set is ID
-
Flex Menu controlling a FLV Player
I was hoping someone could help me with some script. I'm sure it is simple but I am extremely new at Flex. I want to have a menu that when a button is clicked it will load an SWF/FLV into the player. Can anyone help me or pass me onto a forum/site th
-
Cant update ilife bundled updates!!!
Hi, I am unable to update ilife bundled updates. Keeps saying "There was an error in the App Store. Please try again later. (18)". These apps show in my purchases and it asks me to accept. However when I click accept..and enter my apple id and passwo