-
Is it possible to remove the Rollback capability from a database?
We have a "static data" DB. We create it using a set of scripts. We only care about getting to the final state of the DB. We have a group of read-only data that is never changed, so if a process fails we can just rerun it and get the correct result. We have no logging for the tablespace, but is there a no-rollback option? (I suspect that RBS are integral for consistency and they cannot be dropped, am I wrong?)
Here is the situation.
We have a medium size database where a single update statement is using nearly 1.2GB of space. Before we start the process on a large DB, we would like to save space and improve efficiency by disabling rollback segments. Is it possible to commit data by .5GB segments? Or sometype of a watchdog timer?
Any tips would be helpful! TIA!
-
AFIAK you cannot although there is this package
dbms_transaction.BEGIN_DISCRETE_TRANSACTION
I think it´s used to bypass rollback not sure... but I heard it´s used for benchmarking hehe (to speed up queries) so it´s useless
-
The only way to minimize usage of rollback segments is to do updates/deletes via DDL commands, i.e.
create table xxx as select xxx from xxx where xxx ...
-
hei, I've never used the option. But check out UNRECOVERABLE
option for oracle 7 and NOLOGGING option for oracle 8.
Hope this helps.
-
You can't remove the Rollback capability from a database never.
U can only minimize usage of rollback segments -
1. create separate tablespace for "static data"
2. place read only tables on this tablespace
3. declare this tablespace READ ONLY
This way help to reduce Rollback segments activity.
-
Originally posted by tekion
hei, I've never used the option. But check out UNRECOVERABLE
option for oracle 7 and NOLOGGING option for oracle 8.
Hope this helps.
that is to minimize redo generation not rollback and it works for insert only if we are talking about DML
-
You can create a desire RBS ( small in your case) and assign to that insatnce. ( in init.ora). Is this what u are looking for.
Solved
-
There's no way at all to disable Oracle's use of Rollback segments.
Your question is presumably how to make this single UPDATE statement that hits 1.2GB of data as quick as possible ... if it's possible to partition the effected table, then a parallel update will be the fastest way from my experience.
Hope this helps, Mark.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|