- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - HP-UX
- >
- Re: about "snapshot too old" problem
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО07-24-2002 10:54 PM
тАО07-24-2002 10:54 PM
about "snapshot too old" problem
1. higher MINEXTENTS value
2. large extent size
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО07-24-2002 11:22 PM
тАО07-24-2002 11:22 PM
Re: about "snapshot too old" problem
Other things to look at are "fetch across cursors", where a cursor is called from a loop based on another cursor, and the data from the initial cursor is being modified. This can cause a snapshot too old.
Also, committing to frequently can cause this issue, as it will constantly pull new extents from the rollback segment tablespace, forcing it to go through all of the extents available in the rollback segment, and eventually wrapping around to the beginning.
If you want to post the information from v$rollstat and dba_rollback_segs, we might be able to take a look and offer advice.
Brian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО07-25-2002 08:18 AM
тАО07-25-2002 08:18 AM
Re: about "snapshot too old" problem
actually, these values, in addition with a corresponding OPTIMAL value, do NOT "resolve" this problem, but they give you a better chance that this error MIGHT PROBABLY not show up.
Basicly the only way to surely (!) avoid a snapshot too old, is to use a SINGLE rollbacksegment, disable OPTIMAL from the storage, so that you would have to issue a shrink manually.
In addition, it would be good to have a dummy table available where you can insert a value into.
Armed with this setup, you go by
create session (1)
alter rollback segment rs_name shrink;
insert into dummy_table ... ;
< leave this session as it is, open and waiting for input >
create session (2)
Perform, whatever might get a snapshot too old
COMMIT
COMMIT or ROLLBACK session (1)
This works for sure!
Unfortunately due to multi-user requirements, this normaly is a useless approach for productive systems. So the only other option is to maximize the chance that the rollback information, you need for your transaction is overwritten as late a possible.
This can be done by:
- doing no or later shrinks -> higher OPTIMAL value.
- using more rollback segments
- (and best) avoid concurrent transactions
Hope this helps
Volker
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО07-25-2002 08:58 AM
тАО07-25-2002 08:58 AM
Re: about "snapshot too old" problem
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО07-25-2002 09:28 AM
тАО07-25-2002 09:28 AM
Re: about "snapshot too old" problem
If this is happenning for s specific transaction such as a (big) batch program you may require a big rollback segment and assign this particular rollback segment at the beginning of the transaction :
set transaction use rollback segment BIGRLBG
JL
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО07-25-2002 11:30 AM
тАО07-25-2002 11:30 AM
Re: about "snapshot too old" problem
Thanks
AR
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО07-26-2002 04:21 AM
тАО07-26-2002 04:21 AM
Re: about "snapshot too old" problem
Second, your want to remember that space deallocation is only performed when a new transaction is assigned that specific rollback segment. For example: there are 10 RBS, xactn1 gets assigned RBS1, RBS1 grows massively because it is a large update, meanwhile, xactn 2, 3 and 4 get assigned RBS 2, 3 and 4 respectively and so on.
Only when xactn11 gets assigned RBS1 will RBS1 be examined for any "freeable" extents, if none are found none are released until xactn21, 31 and so on.
Higher minextents reduces the risk of snapshot too old because the rollback segment always has some extents reserved for it many of which are unused. In this way, other segments cannot capture all of the available space.
Larger extents permits larger updates and/or a higher volume of small concurrent updates within those minextents.
Hope this helps
Take care.