Rollback Segment
I have a UNIX script through which i call a procedure. In that procedure i have two statements
EXECUTE IMMEDIATE 'ALTER ROLLBACK SEGMENT R01 SHRINK';
EXECUTE IMMEDIATE 'SET TRANSACTION USE ROLLBACK SEGMENT R01';
The procedure gives me the error insufficent insufficent privileges. But when i execute these statements in SQL*Plus (with same username password) they are running fine.
Any Help ??
Which is the exact Oracle message error do you have ?
What is your Oracle version ?
if you get
"ORA-01650 unable to extend rollback segment ... by ... in tablespace ...", you could extend one of your rollback segment tablespace datafile with:
ALTER DATABASE DATAFILE .... RESIZE ... or add a new datafile to the tablespace:
ORA-01650 unable to extend rollback segment string by string in tablespace string
Cause: Failed to allocate an extent for rollback segment in tablespace.
Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more files to the tablespace indicated.
Message was edited by:
Pierre Forstmann
Similar Messages
-
Rollback segment Error coming for 8 lacks Record while creating MV
Hi All,
i am creating a materialized View and it gives us 8 lacks record but when we creates in production its fails due to rollback segment does not have enough space to handle it and it did not create the MV.
can anyone help me out to resolve this issue for the below query while creating MV.
SELECT DISTINCT NVL
((ROUND ((jt_date_completed - jt_date_requested) * 24, 2)
0
) AS actual_hrs_to_complete,
NVL ((ROUND ((jt_date_responded - jt_date_requested) * 24, 2)
0
) AS actual_hrs_to_respond,
peo1.peo_name AS agent_name,
peo1.peo_user_name AS asagent_soe_id,
le.lglent_desc AS ap_system,
' ' AS assign_work_request_comment,
DECODE (jt.jt_bill_id,
138802, 'CLIENT BILLABLE',
138803, 'CONTRACTED',
138804, 'INTERNAL BILLABLE',
NULL, ' '
) AS billable,
bl.bldg_name_cc AS building, bl.bldg_id_ls AS building_id,
DECODE (bl.bldg_active_cc,
'Y', 'ACTIVE',
'INACTIVE'
) AS building_status,
DECODE (jt.jt_wrk_cause_id,
141521, 'STANDARD WEAR AND TEAR',
141522, 'NEGLIGENCE',
141523, 'ACCIDENTAL',
141524, 'MECHANICAL MALFUNCTION',
141525, 'OVERSIGHT',
141526, 'VANDAL',
141527, 'STANDARD',
141528, 'PROJECT WORK',
6058229, 'TEST',
NULL, ' '
) AS cause_type,
' ' AS comments, peo3.peo_name AS completed_by,
jt.jt_requestor_email AS contact_email,
jt.jt_requestor_name_first
|| ' '
|| jt.jt_requestor_name_last AS contact_name,
jt.jt_requestor_phone AS contact_phone,
cc.cstctrcd_apcode AS corp_code,
cc.cstctrcd_code AS cost_center,
jt.jt_date_closed AS date_closed,
jt.jt_date_completed AS date_completed,
jt.jt_date_requested AS date_requested,
jt.jt_date_responded AS date_responded,
jt.jt_date_response_ecd AS date_response_ecd,
jt.jt_date_scheduled AS date_scheduled,
DECODE (jt.jt_def_id,
139949, 'WTG VENDOR RESPONSE',
139950, 'WAITING ON PARTS',
139951, 'LABOR AVAILABILITY',
139952, 'DEFERRED- HI PRI WORK',
139953, 'WTG APPROVAL',
139954, 'FUNDING REQUIRED',
139955, 'ACCESS DENIED',
139956, 'WTG MATERIAL',
NULL, ' '
) AS deferral_reason,
jt.jt_description AS description,
jt.jt_date_resched_ecd AS ecd,
fmg.facility_manager AS facility_manager,
fl.floors_text AS FLOOR, gl.genled_desc AS general_ledger,
' ' AS kiosk_date_requested, ' ' AS kiosk_dispatch_confirmed,
' ' AS kiosk_dispatched,
eqp.equip_customer_code AS linked_equipment_alias,
eqp.equip_id AS linked_equipment_id,
eqp.equip_text AS linked_equipment_name,
DECODE (jt_originator_type_id,
1000, 'PROJECT MOVE REQUEST',
138834, 'CUSTOMER INITIATED CORRECTION',
138835, 'CUSTOMER INITIATED REQUEST',
138836, 'CORRECTIVE MAINTENANCE',
138837, 'CONFERENCE ROOM BOOKING',
138838, 'PROJECT INITIATED REQUEST',
138839, 'PLANNED PREVENTIVE MAINTENANCE',
138840, 'SELF INITATED REQUEST',
NULL, ' '
) AS originator_type,
' ' AS payment_terms, priority_text AS priority_code,
swoty.sworktype_text AS problem_type,
prop.property_name_cc AS property,
jt.jt_cost_quote_total AS quote_total,
par.levels_name AS region,
DECODE (jt.jt_repdef_id,
141534, 'ADJUSTED SETTING',
141535, 'TRAINING FOR END',
141536, 'NEW REQUEST',
141537, 'NO REPAIR REQUIR',
141538, 'REPLACED PARTS',
141539, 'REPLACE EQUIPMEN',
1000699, 'NEW REQUEST',
NULL, ' '
) AS repair_definitions,
jt.jt_repairdesc AS repair_description,
jt.jt_requestor AS requestor, ' ' AS requestor_cost_center,
jt.jt_requestor_email AS requestor_email,
jt.jt_requestor_name_first AS requestor_name,
jt.jt_requestor_phone AS requestor_phone,
' ' AS response_time, rm.room_name_cc AS room,
p1.peo_provider_code1 AS service_provider,
p1.peo_address_1 AS service_provider_address,
peocity.city_text service_provider_city,
p1.peo_provider_code1 AS service_provider_code,
peocity.city_country_name AS service_provider_country,
peocur.currency_text AS service_provider_currency,
p1.peo_name AS service_provider_description,
p1.peo_dispatch_method AS serv_prov_dispatc_hmethod,
p1.peo_rate_double AS serv_prov_double_time_rate,
p1.peo_email AS service_provider_email,
p1.peo_emergency_phone AS serv_prov_emergency_phone,
p1.peo_fax AS service_provider_fax_number,
p1.peo_home_phone AS service_provider_home_phone,
p1.peo_rate_hourly AS service_provider_hourly_rate,
p1.peo_title AS service_provider_job_title,
p1.peo_method_id AS service_provider_method,
p1.peo_cell_phone AS service_provider_mobile_phone,
p1.peo_pager AS service_provider_pager,
p1.peo_rate_differential AS service_provider_rates,
p1.peo_rate_differential AS ser_prov_shift_differential,
peocity.city_state_prov_text AS serv_prov_state_province,
DECODE (p1.peo_active,
'Y', 'ACTIVE',
'INACTIVE'
) AS service_provider_status,
p1.peo_url AS serv_prov_web_site_address,
p1.peo_phone AS service_provider_work_phone,
p1.peo_postal_code AS serv_prov_zip_postal_code, ' ' AS shift,
' ' AS skill,
DECODE (jt.jt_bigstatus_id,
138813, 'NEW',
138814, 'PENDING',
138815, 'OPEN',
138816, 'COMPLETED',
138817, 'CLOSED',
138818, 'CANCELLED',
NULL, ' '
) AS status,
lev.levels_name AS subregion, ' ' AS trade,
p1.peo_ls_interface_code1 AS vendor_id,
p1.peo_fax AS vendor_purchasing_fax,
p1.peo_vendor_site_code AS vendor_sitecode,
jt.jt_id AS vendor_ticket, p1.peo_name AS vendor_companyname,
jt.jt_requestor_vip AS vip, wo.wo_id AS work_order_no,
jt.jt_id AS work_request,
jt.jt_class_id AS work_request_class,
woty.worktype_text AS work_type, ' ' AS wr_cost,
jt.jt_description AS wr_description,
' ' AS wr_dispatch_method,
DECODE (jt.jt_bigstatus_id,
138813, 'NEW',
138814, 'PENDING',
138815, 'OPEN',
138816, 'COMPLETED',
138817, 'CLOSED',
138818, 'CANCELLED',
NULL, ' '
) AS wr_status,
ctry.country_name AS country
FROM citi.jobticket jt,
citi.property prop,
citi.bldg bl,
citi.bldg_levels bldglvl,
citi.LEVELS lev,
citi.LEVELS par,
(SELECT crstools.stragg (peo_name) facility_manager,
bldgcon_bldg_id
FROM citi.bldg_contacts, citi.people
WHERE bldgcon_peo_id = peo_id
AND bldgcon_contype_id IN (40181, 10142)
GROUP BY bldgcon_bldg_id) fmg,
citi.floors fl,
citi.room rm,
citi.general_ledger gl,
citi.legal_entity le,
citi.cost_center_codes cc,
citi.equipment eqp,
citi.worktype woty,
citi.subworktype swoty,
citi.work_order wo,
citi.jt_workers jtwo,
citi.priority,
citi.country ctry,
citi.people p1,
citi.people peo3,
citi.people peo1,
citi.city peocity,
citi.currency peocur
WHERE jt.jt_bldg_id = bl.bldg_id
AND bl.bldg_id = bldglvl.bldg_levels_bldg_id
AND bldglvl.bldg_levels_levels_id = lev.levels_id
AND lev.levels_parent = par.levels_id(+)
AND prop.property_id = bl.bldg_property_id
AND bl.bldg_active_ls <> 'N'
AND jt.jt_floors_id = fl.floors_id(+)
AND jt.jt_room_id = rm.room_id(+)
AND jt.jt_bldg_id = fmg.bldgcon_bldg_id(+)
AND jt.jt_genled_id = gl.genled_id(+)
AND gl.genled_lglent_id = le.lglent_id(+)
AND jt.jt_cstctrcd_id = cc.cstctrcd_id(+)
AND jt.jt_equip_id = eqp.equip_id(+)
AND jt.jt_id = jtwo.jtw_jt_id(+)
AND jt.jt_worktype_id = woty.worktype_id(+)
AND jt.jt_sworktype_id = swoty.sworktype_id(+)
AND jt.jt_wo_id = wo.wo_id
AND jt.jt_priority_id = priority_id(+)
AND jt.jt_date_requested >= ADD_MONTHS (SYSDATE, -12)
AND bl.bldg_country_id = ctry.country_id
AND jtwo.jtw_peo_id = p1.peo_id(+)
AND p1.peo_city_id = peocity.city_id(+)
AND jt.jt_completed_by_peo_id = peo3.peo_id(+)
AND p1.peo_rate_currency_id = peocur.currency_id(+)
AND jt.jt_agent_peo_id = peo1.peo_id(+);
Regards
shyam~Hi,
Its ora-1555? IS your undo_retention sufficient?
Since you are developer the only option you have is to tune the query?
Am curious to know like I create materialized view so that I do not have to run complex query on the master database / or to prevent the access to master database more than once to get the same data?
Like to know which is your case because your query seem to be too complex to be the case for former. Do you think this materialized view would be used frequently in your application?
Regards
Anurag Tibrewal. -
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. -
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. -
Error rollback segment while exporting a table
I am getting error while exporting a table, can someone advise me how i can handle this issue.
EXP-00056: ORACLE error 1555 encountered
ORA-01555: snapshot too old: rollback segment number with name "" too small
ORA-22924: snapshot too old
ThanksHi, I have the same problem...
I have a table with a blob type (14740 records)
I have increase the PCTVERSION to 100 (= maximum)
undo_retention = 604800 (7 days)
undo tablespace = 2 Gb
exporting with parameter CONSISTENT=n
Still I got the message
EXP-00056: ORACLE error 1555 encountered
ORA-01555: snapshot too old: rollback segment number with name "" too small
ORA-22924: snapshot too old
When exporting the table
What do I have to do more ????? -
Rollback segment is filling up during creation of the database
Hi
The Rollback segment is showing around 520mb immediately after
creation of the database after following the wizard provided in
the enterprise manager of oracle. What might be the reason. How
to reduce it. Could any one give me a solution for this matter.
Thanks in Advance.I tried creating the password file using the following command:
orapwd file=/home/oracle/product/9.2.0/dbs/orapwHR.ora
password=HR entries=5
and got the same error:
ORA-01501 Create Database failed.
ORA-01990 -ERROR opening password file '/home/oracle/product/9.2.0/dbs/orapw'
ORA-27037 Unable to obtain file status.
Linux error: 2: No such file or directory.
Additional information: 3.
Does anybody know how to fix this problem?
Thanks,
Katya -
How to get the size of rollback segments
Hi,
on which oracle table can I see which are the rollback segments and its own size?
Thanks!doc questions like this one are best answered by querying the view DICT which is present in every release of Oracle (and which you of course -again- fail to mention)
Sybrand Bakker
Senior Oracle DBA -
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. -
Rollback segment creation problem
When i try to create rollback segment on oracle 9iRelease2 database in linux operating system, i got the following error, ORA-30019: Illegal rollback Segment operation in Automatic Undo mode.
I have already modified Undo_management as manual in init file.
How can i solve this problem?
ThanksIn SQL*Plus, can you check what your undo_management is set to, just to verify that it is picking up the change?
show parameter undo_managementJustin
Distributed Database Consulting, Inc.
www.ddbcinc.com/askDDBC -
Hello:
I'm using oracle 8 database and I have a process that generates small transactions (and they're really small), usually this process is executed from 2 or 3 different workstations at the same time, but they don't use the same data sets. The frequency of execution of the small transaction is 10 or 12 a second for each workstation. Each time the process is executed I can count near 6000 transactions, and I always have 2 o 3 of them arising "ORA-01562: failed to extend rollback segment number n" error. Since the transaction uses a small space of the rollback segment I can't find an explanation to this behavior. Is this related to the time between transaction and the freeing of the unused rollback segment ? I would really appreciate if somebody could help me!!!
Thanks in advance, Javier PetrozziIt appears to me that some of the transactions remain open for quite some time and the new transactions are not able to obtain an extent for the rollback segment.
The following query gives some useful information.
1 select s.sid, s.username, r.name "SEGMENT NAME"
2 from v$session s, v$transaction t, v$rollname r
3 where s.taddr=t.addr
4* and t.xidusn = r.usn
SQL> /
SID USERNAME SEGMENT NAME
16 SCOTT _SYSSMU7$You may have to commit your changes sooner. -
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 -
Hi guys.
Am using oracle 8i and am having problems with rollbackup segment. My rbs tablespace is 35GB and will like to shrink it! Its a production db, so my question is shoudl I fire the below query?
alter rollback segment SYSTEM shrink;
alter rollback segment RBS__BIG shrink;
alter rollback segment RBS01 shrink;
alter rollback segment RBS02 shrink;
alter rollback segment RBS03 shrink;
alter rollback segment RBS04 shrink;
alter rollback segment RBS05 shrink;
alter rollback segment RBS06 shrink;
Is there any downside? Please advice.
Thanks.Hi Friend,
Production DBs are always having big transactions, These transactions obviously hold large memory in rollback segments. You will not face any issue after srinking it but if any transaction is failed and it has not been enrolled or flush out from your rollback segment. You will be not able to recover the data from rollback segment. I would suggest use share table space here instead of shrinking it. Atleast it will help to to recover current transaction in case of calamity.
Thanks,
Nitin joshi -
Hello all,
I am hoping someone can help me. I have a dev and prod
instance, with identical rollback segment specs. The problem I
have is that I am running out of space on one of my instances
(dev). The prod instances rbs's are all the same size while the
dev instance rbs's are all over the place. One rbs (in dev) may
be at 10mb and another at 800. I don't know why the size
doesn't reduce after I issue a commit. I think the problem is
that the rbs's for both instances are public and one set of
rbs's is only being used. Can any offer any suggestions? Thank
you!I would like to suggest 2 things :
1) make all rollback segments to same size
2) set optimal storage parameter of rollback segment. -
Hello experts,
My problem is as follows:
I need to perform a large transaction on one of my tables in my
database. I have to delete a large number of records using a
command as follows:
Delete from mytable where ordernumber like '2000%';
Each time i launch this command i have the following error:
ERROR at line 1:
ORA-01562: failed to extend rollback segment (id = 3)
ORA-01628: max # extents (30) reached for rollback segment R03
I know that i have a problem with my rollback segment. I have
thus created a large rollback segment so that my transaction can
use it.
I don't know how to tell my transaction use the large rollback
segment that i created.
(i know there is a command called set transation user rollback
segment large_rs1, i have tried it on sqlplus. it gives me
error: ORA-01453: SET TRANSACTION must be first statement of
transaction)
Please help
thanks in advance for a reply
Kind regards
YogeerajFirst, you have to create a bigger rollback segment (i.e. RBBIG).
Then, before each query, you must type:
set transaction use rollback segment rbbig;
This will force the use of the specified rollback segment.
Hope this helps. -
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 -
Unable to Extend Rollback Segment
Hi,
This was the error when I tried to create a table with large amount of data using
Create Table As Select * From TableName
Can I handle this error From Pl-Sql
Since the table is created dynamically
through Pl-Sql.
Can I avoid this error by setting following
parameters in the file init.ora.
Transactions
TransactionsPerRollbackSegment
Regards
Mrinal
nullDear friend
Create rollback segment with large
in size.
sql> set transaction use rollback segment 'Name of the roll'
suresh
null
Maybe you are looking for
-
Oracle 11g install failure, error, Failed to allocate port(s)
I'm having a very hard time reinstalling Oracle 11gR1 x64 bit after the hard drive where I first installed it failed and had to be replaced. The database I'm trying to setup is for personal use on this system only. I'm running Windows XP professional
-
Z97 Gaming AC - PCIE no longer detected
Hi When I first booted the machine all was well however when I came to reboot my machine for the first time it no longer sees I have a GPU and so switched to the Intel onboard 4600. At first I assumed the GPU had come lose or some BIOS setting needed
-
User entered text in a Report..
For the Report that I am generating, most of the data will come from user entered text like descriptions and policies. I am thinking that the best way to do this, is use a Java GUI, and have this GUI prompt the user for all user entered data to be in
-
Delivery subcriteria for Vendor Evaluation
Hi How are the scores computed for the subcriteria in Deliovery? Regards Soumen
-
Lightroom workflow to correct color of my videos. Anybody knows?
Hi, Iam a photographer and I am studying video production. I love the Lightroom color correction because some distortions can be fixed easily with that HSL (Hue, Saturation and Lighting) controls and that Magenta x green and blue x yellow sliders. An