Rollback segment for set transaction
there is way that i can setup a rollback segment for a spacific user or specific transction.
ALTER ROLLBACK SEGMENT big_rbs ONLINE;
SET TRANSACTION USE ROLLBACK SEGMENT big_rbs;
sql .....
commit;
ALTER ROLLBACK SEGMENT big_rbs OFFLINE;
the sql is going for about hour, i was woundering during that time can some else use this rollback segment. i just want this rbs to this user, how i can do that.
thanks
I guess i didn't clearify well. let say i created a rbs for specific tranction. before this transaction is start it will turn on this rbs and once this transaction is completed, it issue the command commit, and bring it back to this rbs offline. the question is durning this transaction does any other transaction can come and use this rbs instead of we have lot of other rbs.
I hope that you get my point.
Similar Messages
-
Rollback segment for index creation
Hi,
I want to assign a specific (big) rollback segment to the transactions used by InterMedia Text while creating the index.
However a 'SET TRANSACTION USE ROLLBACK SEGMENT create_index' directly before the 'CREATE INDEX ...' seems not to work, as I saw that the inserts performed by InterMedia Text (e.g. into the $i and $k tables) were done using other rollback segments (e.g. RBSxx).
Is there any way to InterMedia Text to tell which rollback segments it should use for its internal operation?
Cheers,
Johanneswe can't assign the rollback segment to particular user.
For better performance place different table
spaces in different disks.
by
ramana
null -
Cannot use system rollback segment for non-system tablespace 'TEMP
Hi everyone!
I encountered this error: "Cannot use system rollback segment for non-system tablespace 'TEMP"
So this is what I did to check if the undo stuffs are online.
SQL> select tablespace_name,status from dba_tablespaces;
TABLESPACE_NAME STATUS
SYSTEM ONLINE
UNDO ONLINE
SYSAUX ONLINE
TEMP ONLINE
LARGEDATA ONLINE
LARGEINDEXES ONLINE
MEDIUMDATA ONLINE
MEDIUMINDEXES ONLINE
SMALLDATA ONLINE
SMALLINDEXES ONLINE
XSMALLDATA ONLINE
TABLESPACE_NAME STATUS
XSMALLINDEXES ONLINE
XXSMALLTABS ONLINE
USERS ONLINE
CONVTABLES ONLINE
UNDO_02 ONLINE
16 rows selected.
SQL> SELECT tablespace_name, sum((bytes/1024)/1024) free FROM DBA_FREE_SPACE gr
oup by tablespace_name;
TABLESPACE_NAME FREE
LARGEDATA 18.3105469
SMALLDATA 10.46875
SYSAUX 106.5625
UNDO_02 67.125
XXSMALLTABS 13.0078125
CONVTABLES 170.039063
MEDIUMDATA 22
USERS 37.265625
SYSTEM 55.875
LARGEINDEXES 30.5175781
XSMALLINDEXES 17.34375
TABLESPACE_NAME FREE
UNDO 546.9375
MEDIUMINDEXES 33.25
SMALLINDEXES 31.015625
XSMALLDATA 23.6328125
15 rows selected.
SQL> select file#,status from v$datafile;
FILE# STATUS
1 SYSTEM
2 ONLINE
3 ONLINE
4 ONLINE
5 ONLINE
6 ONLINE
7 ONLINE
8 ONLINE
9 ONLINE
10 ONLINE
11 ONLINE
FILE# STATUS
12 ONLINE
13 ONLINE
14 ONLINE
15 ONLINE
15 rows selected.
SQL> select segment_name, tablespace_name, initial_extent,status
2 from dba_rollback_segs;
SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
STATUS
SYSTEM SYSTEM 102400
ONLINE
_SYSSMU1$ UNDO 131072
OFFLINE
_SYSSMU2$ UNDO 131072
OFFLINE
SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
STATUS
_SYSSMU3$ UNDO 131072
OFFLINE
_SYSSMU4$ UNDO 131072
OFFLINE
_SYSSMU5$ UNDO 131072
OFFLINE
SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
STATUS
_SYSSMU6$ UNDO 131072
OFFLINE
_SYSSMU7$ UNDO 131072
OFFLINE
_SYSSMU8$ UNDO 131072
OFFLINE
SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
STATUS
_SYSSMU9$ UNDO 131072
OFFLINE
_SYSSMU10$ UNDO 131072
OFFLINE
_SYSSMU11$ UNDO_02 131072
OFFLINE
SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
STATUS
_SYSSMU12$ UNDO_02 131072
OFFLINE
_SYSSMU13$ UNDO_02 131072
OFFLINE
_SYSSMU14$ UNDO_02 131072
OFFLINE
SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
STATUS
_SYSSMU15$ UNDO_02 131072
OFFLINE
_SYSSMU16$ UNDO_02 131072
OFFLINE
_SYSSMU17$ UNDO_02 131072
OFFLINE
SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
STATUS
_SYSSMU18$ UNDO_02 131072
OFFLINE
_SYSSMU19$ UNDO_02 131072
OFFLINE
_SYSSMU20$ UNDO_02 131072
OFFLINE
SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
STATUS
_SYSSMU21$ UNDO_02 131072
OFFLINE
22 rows selected.How should I be bringing them online?
I tried this but didn't work for me.
SQL> alter rollback segment _SYSSMU1$ online;
alter rollback segment _SYSSMU1$ online
ERROR at line 1:
ORA-00911: invalid character
SQL> alter rollback segment '_SYSSMU1$' online;
alter rollback segment '_SYSSMU1$' online
ERROR at line 1:
ORA-02245: invalid ROLLBACK SEGMENT name
SQL> alter rollback segment _SYSSMU21$ online;
alter rollback segment _SYSSMU21$ online
ERROR at line 1:
ORA-00911: invalid character
SQL> alter rollback segment SYSSMU21$ online;
alter rollback segment SYSSMU21$ online
ERROR at line 1:
ORA-01534: rollback segment 'SYSSMU21$' doesn't exist
SQL> alter rollback segment '_SYSSMU21$' online;
alter rollback segment '_SYSSMU21$' online
ERROR at line 1:
ORA-02245: invalid ROLLBACK SEGMENT name
SQL> alter rollback segment "_SYSSMU21$" online;
alter rollback segment "_SYSSMU21$" online
ERROR at line 1:
ORA-30017: segment '_SYSSMU21$' is not supported in MANUAL Undo Management mode
SQL> ALTER SYSTEM SET UNDO_MANAGEMENT=AUTO SCOPE=SPFILE;
System altered.Should I be bringing every segment online separately? Please guide me.
Nith
Edited by: user645399 on Feb 23, 2011 2:52 PMSQL> select segment_name, tablespace_name, initial_extent,status
2 from dba_rollback_segs;
SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
STATUS
SYSTEM SYSTEM 102400
ONLINE
_SYSSMU1$ UNDO 131072
ONLINE
_SYSSMU2$ UNDO 131072
ONLINE
SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
STATUS
_SYSSMU3$ UNDO 131072
ONLINE
_SYSSMU4$ UNDO 131072
ONLINE
_SYSSMU5$ UNDO 131072
ONLINE
SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
STATUS
_SYSSMU6$ UNDO 131072
ONLINE
_SYSSMU7$ UNDO 131072
ONLINE
_SYSSMU8$ UNDO 131072
ONLINE
SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
STATUS
_SYSSMU9$ UNDO 131072
ONLINE
_SYSSMU10$ UNDO 131072
ONLINE
_SYSSMU11$ UNDO_02 131072
OFFLINE
SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
STATUS
_SYSSMU12$ UNDO_02 131072
OFFLINE
_SYSSMU13$ UNDO_02 131072
OFFLINE
_SYSSMU14$ UNDO_02 131072
OFFLINE
SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
STATUS
_SYSSMU15$ UNDO_02 131072
OFFLINE
_SYSSMU16$ UNDO_02 131072
OFFLINE
_SYSSMU17$ UNDO_02 131072
OFFLINE
SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
STATUS
_SYSSMU18$ UNDO_02 131072
OFFLINE
_SYSSMU19$ UNDO_02 131072
OFFLINE
_SYSSMU20$ UNDO_02 131072
OFFLINE
SEGMENT_NAME TABLESPACE_NAME INITIAL_EXTENT
STATUS
_SYSSMU21$ UNDO_02 131072
OFFLINEStill undo_02's segments are offline. -
ORA-01552: cannot use system rollback segment for non-system tablespace
i try to create a table in new schema test1 and got the following error. please help.
SQL> create table employer1 as select * from a.employer;
create table employer1 as select * from a.employer
ERROR at line 1:
ORA-01552: cannot use system rollback segment for non-system tablespace 'TEST1'Hi,
This is an example:
SQL>
CREATE UNDO TABLESPACE "UNDOTMP"
DATAFILE 'UNDOTMP.DBF01' SIZE 100M REUSE
AUTOEXTEND ON NEXT 51200K MAXSIZE 15000M
ALTER SYSTEM SET undo_tablespace=UNDOTMP SCOPE=BOTH;
Regards
David Duenas
Edited by: David Duenas on Jul 4, 2009 7:33 PM -
Error:cannot use system rollback segment for non-system tablespace
Hi,
I have created a oracle database 10.2.0 on fedora 9 system. I have created a user and assigned the default tablespace SATYA and given the permissions. But when I create a table in the user I am getting the following error.
Can anyone help me in rectifying this error.
ORA-01552: cannot use system rollback segment for non-system tablespace 'SATYA'
thankyou
satyaUndo management is either AUTO or Manual, no local
http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/undo.htm#sthref1469
Since you are using 10g, you are recommended to use Auto undo management
If you still plan to use manual undo management, make sure you have other non-system rollback segment in place. -
Cannot use system rollback segment for non-system tablespace
I am getting the below error suddently
ORA-01552: cannot use system rollback segment for non-system tablespace 'USERS'SQL> show parameter undo
Version : Oracle 10g
NAME TYPE VALUE
undo_management string AUTO
undo_retention integer 10800
undo_tablespace string UNDO
SQL>
SQL> select distinct tablespace_name, status from dba_rollback_segs
2 ;
TABLESPACE_NAME STATUS
SYSTEM ONLINE
UNDO OFFLINE
UNDO ONLINE -
Forcing a specific rollback segment on a transaction does not seem to work
Hi!
We're using Oracle 9.2.0.5.0 on Sun Solaris and we're still configured to use Rollback Segments.
We have an issue with Snapshot too old due to RBS too small on a long query I attach below for reference:
set heading off
set pagesize 0
set feedback off
set linesize 200
<<<<< SET TRANSACTION USE ROLLBACK SEGMENT UMF_RBS_LARGE_TRAN; <<<<<
SELECT ucms_cards.msisdn
|| ';;' || to_char(to_date(substr(ucms_cards.notes,14+length(ucms_cards.msisdn),19),'MM-DD-YYYY.HH24-MI-SS'),'DD/MM/YYYY HH24:MI:SS')
|| ';;' || to_char(ucms_batches.expiry_date,'dd/mm/yyyy')
|| ';;' || ucms_cards.serial_no
|| ';;' || ucms_cards.serial_no
|| ';;' || ucms_cards.batch_serial_no
|| ';;' || ' '
|| ';;' || CASE ucms_cards.card_status
WHEN 'used' THEN '1'
ELSE '0'
END
|| ';;' || CASE WHEN date_booked_in is null THEN '01/01/1970 00:00:00' ELSE to_char(date_booked_in,'DD/MM/YYYY') || ' 00:00:00' END
|| ';;' || ' '
from ucms_batches,ucms_cards, UCMS_EVENT_LOG
WHERE ucms_cards.batch_serial_no = ucms_batches.serial_no
AND ucms_cards.serial_no = substr(UCMS_EVENT_LOG.ENTITY_ID,11,length(UCMS_EVENT_LOG.ENTITY_ID)-9)
AND UCMS_EVENT_LOG.PARTY_NO in (0)
AND UCMS_EVENT_LOG.TIMESTAMP>=TO_TIMESTAMP(TO_CHAR(SYSDATE-1, 'DD-MM-YYYY') || ' 00:00:01', 'DD-MM-YYYY HH24:MI:SS')
AND UCMS_EVENT_LOG.TIMESTAMP<=TO_TIMESTAMP(TO_CHAR(SYSDATE-1, 'DD-MM-YYYY') || ' 23:59:59', 'DD-MM-YYYY HH24:MI:SS')
AND UCMS_EVENT_LOG.USER_ID LIKE 'SCP-AGENT1%'
AND UCMS_EVENT_LOG.EVENT_TYPE_ID IN (1,2)
AND UCMS_EVENT_LOG.ENTITY_TYPE_ID LIKE 'ucms_cards%'
UNION
SELECT ucms_imported_cards.msisdn
|| ';;' || to_char(to_date(substr(ucms_imported_cards.notes,14+length(ucms_imported_cards.msisdn),19),'MM-DD-YYYY.HH24-MI-SS'),'DD/MM/YYYY H24:MI:SS')
|| ';;' || to_char(ucms_imported_cards.expiry_date,'dd/mm/yyyy')
|| ';;' || ucms_imported_cards.serial_no
|| ';;' || ucms_imported_cards.serial_no
|| ';;' || DBMS_UTILITY.GET_HASH_VALUE(ucms_imported_cards.card_type,1,65536)
|| ';;' || ' '
|| ';;' || CASE ucms_imported_cards.card_status
WHEN 'used' THEN '1'
ELSE '0'
END
|| ';;' || '01/01/1970 00:00:00'
|| ';;' || ' '
from ucms_imported_cards, UCMS_EVENT_LOG
where ucms_imported_cards.serial_no = substr(UCMS_EVENT_LOG.ENTITY_ID,11,length(UCMS_EVENT_LOG.ENTITY_ID)-9)
AND UCMS_EVENT_LOG.PARTY_NO in (0)
AND UCMS_EVENT_LOG.TIMESTAMP>=TO_TIMESTAMP(TO_CHAR(SYSDATE-1, 'DD-MM-YYYY') || ' 00:00:01', 'DD-MM-YYYY HH24:MI:SS')
AND UCMS_EVENT_LOG.TIMESTAMP<=TO_TIMESTAMP(TO_CHAR(SYSDATE-1, 'DD-MM-YYYY') || ' 23:59:59', 'DD-MM-YYYY HH24:MI:SS')
AND UCMS_EVENT_LOG.USER_ID LIKE 'SCP-AGENT1%'
AND UCMS_EVENT_LOG.EVENT_TYPE_ID LIKE '2%'
AND UCMS_EVENT_LOG.ENTITY_TYPE_ID LIKE 'ucms_imported_cards%';
As you see we forced the session to use a huge RBS created for the purpose, but strangely after a long while the query fails with a RBS too small failure due to another RBS, not the one specified.
Is there any chance the UNION or any other component of the query is implicitly opening a new transaction with a different RBS associated?
Any chance to force the same RBS specified explicitly?
Thanks!
Mikealbertone wrote:
but strangely after a long while the query fails with a RBS too small failure due to another RBS, not the one specified.You misunderstand snapshot too old. It can be caused by other sessions same as by your session. Assume AFTER your session issued select some other session modified one (or more) tables ucms_batches, ucms_cards, UCMS_EVENT_LOG and committed changes. By the time your select reaches to fetch rows modified by that other session rollback extents in rollback segment used by that other session were reused. You will get snapshot too old. Bottom line - all sessions modifying table(s) used by your select must use rollback segments large enough so they are not overwritten before corresponding rows are needed by your select.
SY. -
How can I avoid using rollback segment for batch updates.
I am currently trying to avoid associating a large amount of space for rollback segment as this gets filled up only during the nightly batch updates. All that space will never be used during the day. Hence want to know if there is any way of avoiding the use of rollback segment at the session level.
RajeshNo, but what you can do is create a large rollback segment to use with your batch job, at the start of your batch job bring the segment online, then use set transaction to use that rollback segment, when the batch job is finished and committed, you can then bring the rollback segment offline.
If you are really pressed for space, as an alternate plan, you could actually create the large segment before the batch job and drop it after. -
Hi,
Is it possible in OWB to set the rollback segment that owb must use for e certain mapping?You can define a pre-map trigger (use the Post Mapping Process operator within a map) which is a PLSQL function/procedure that sets the rollback segment for the transaction;
SET TRANSACTION USE ROLLBACK SEGMENT RBS_ONE;
This goes for other custom initialization code too.
Cheers
David -
How to solve about rollback segment fail to extend?
I've a transaction about 50,000 records, then process fail in script. the error code is ORA-01562 FAIL TO EXTEND ROLLBACK SEGMENT = num. I'm use oracle database 7.3.4., form 4.5
It would be better to have several small transactions instead of one huge transaction of 50000 records, like you say. You may use an additional log table to keep the log of how far you've got in processing those 50000 records, and pick up from where you've left in case something goes wrong.
Anyway, one thing that may help would be to use:
alter tablespace your_rbs_tablespace
add datafile ...;
to have more space for your rollback segment(s).
Eventually, you may have a large rollback segment and set transaction use huge_rbs, in order to have your huge transaction use that huge rollback segment.
null -
Transaction taking default rollback segment
Dear al,
10.2.0.4. on solaris 10
transaction taking default rollback segment
set transaction use rollback segment rbs2;
structure of rbs2:
Create rollback segment rbs2 tablespace tempt storage (initial 1M next 1M minextents 2 maxextents 1024);
alter ROLLBACK SEGMENT RBS2 STORAGE
(MINEXTENTS 20
MAXEXTENTS UNLIMITED );
set transaction use rollback segment rbs2;
when am running the query , am getting the below error :
ERROR at line 3:
ORA-01555: snapshot too old: rollback segment number 8 with name "_SYSSMU8$"
too small
why still the transaction is referring to system rollback segment "_SYSSMU8$" where I've explicitly set the rollback segment for the transactiom ?
ANy idea ?
KAIThanks robert and
Now, after setting
undo_retention integer
2700
It failed with the below and now it took 20 minutes..
ERROR at line 4:
ORA-01555: snapshot too old: rollback segment number 9 with name "_SYSSMU9$"
too small
ORA-02063: preceding line from TABS2CALLS
Elapsed: 00:20:11.40
Please advise
Kai -
Transaction table in rollback segments
hi guys,
I have read the following, but am still having a little difficulty conceptualising. Would someone be kind enough to give me a very brief example?
thanks
For each rollback segment, Oracle maintains a transaction table--a list of all transactions that use the associated rollback segment and the rollback entries for each change performed by these transactions.First of all, the statement is talking about old manual undo management using rollback segment.
If you check the preceding two paragraph of the statement then it's easier to understand,
It basically says, Rollback segment hold rollback entries of transaction. To make it easier to track transactions and undo entries, Oracle maintain a table to save such info.
Rollback segment , transaction and undo entries are one to many relationships.
Rollback Segment --< Transactions --< Undo Entries
http://download.oracle.com/docs/cd/B10501_01/server.920/a96524/b_deprec.htm
Contents of a Rollback Segment
Information in a rollback segment consists of several rollback entries. Among other information, a rollback entry includes block information (the file number and block ID corresponding to the data that was changed) and the data as it existed before an operation in a transaction. Oracle links rollback entries for the same transaction, so the entries can be found easily if necessary for transaction rollback.
Neither database users nor administrators can access or read rollback segments. Only Oracle can write to or read them. (They are owned by the user SYS, no matter which user creates them.)
How Rollback Entries Are Logged
Rollback entries change data blocks in the rollback segment, and Oracle records all changes to data blocks, including rollback entries, in the redo log. This second recording of the rollback information is very important for active transactions (not yet committed or rolled back) at the time of a system crash. If a system crash occurs, then Oracle automatically restores the rollback segment information, including the rollback entries for active transactions, as part of instance or media recovery. When recovery is complete, Oracle performs the actual rollbacks of transactions that had been neither committed nor rolled back at the time of the system crash.
When Rollback Information Is Required
For each rollback segment, Oracle maintains a transaction table--a list of all transactions that use the associated rollback segment and the rollback entries for each change performed by these transactions. Oracle uses the rollback entries in a rollback segment to perform a transaction rollback and to create read-consistent results for queries. -
Quick Cleanup of Temporary Segments and also for Rollback Segment
Do you know a tip allowe to do a quick
Cleanup of Temporary Segments and also for Rollback Segment; same time we
need to wait about 2 hours to cleanup these tablespaces.
we have to take action immediately to prevent other sessions to fail as well
and we cannot bounce the Oracle instance. So, how do we get rid of this
temporary segment as quickly as possible?
Rq: the shrink commande same time not cleanup Rollback Segment, i don't know why (Ex:Alter rollback segment R01 shrink; )
Thank youAccording to my knowledge the rollback tablespace can not be cleanup as you want because in the rollback segments are the transactions without commit and because of that you can not do that. The Rollback tablespace cleans up itself when pending transactions make commit.
[email protected]
Joel P�rez -
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
Maybe you are looking for
-
Need help reg sender JDBC adapter
Hi, I am having a requirement like, i need to fetch the data from two data base tables. and after fetching the data, i need to update those two tables. For selecting the data from two tables, two select statements i need to write, how i can give two
-
Print problem after exporting Pages to PDF.
I am attempting to print a very large genealogical book (300 + pages) of my family's descendants and noticed that in both Preview and Adobe Reader the first character of every page is missing. This does not happen when printing from Pages so it canno
-
Having problem with hyperlinks.
hi, i am using jsp and html as front end. I have got a problem. I have a list of employee name, theri email id and employee no. I need to click on any of the employee name. And the next page opens for modifying the employee details. But the problem i
-
So far so good I like the OS as I did Windows 8.1
So far so good. I like the OS being a Windows 8 beta tester, now makes me really appreciate the finer quality of 10. Really great. Setup went well, devices were Windows 8 ready, hardware installed automatically directly from the OEM manufacture, such
-
I clicked onto iphoto this morning and it says I have no photo's! Have been away for the weekend and not sure if the children have done something to the computer. Can anyone tell me what to do please