Questions about using Oracle rollback segments in Delphi (urgent)

Source: Internet
Author: User
Questions about using Oracle rollback segments in Delphi (urgent) Delphi/Windows SDK/API
Http://www.delphi2007.net/DelphiDB/html/delphi_20061220125734202.html
I wrote a Delphi Program There is no such thing in the program, but there is a loop, about 0.25 million.
Each entry retrieves a no. and transmits it to an oracle procedure.
This process includes inserting three tables and updating one table.
1, when the execution of tens of thousands of error ORA-01555 snapshot too old
Q: I think it should be a single commit. There is no rollback segment.
2. I tried to use the specified rollback segment.
Q: should it be before or after a thing?
3. In the transaction try:
If I = 10000 then
Begin
Database1.commit;
Query1.execsql;
End;
Query, the content is as follows
"SET transaction use rollback segment rbs2"
Is the rollback segment correct?
4. Do I have to roll back the segment after the query is opened?
5. Will the opened table be updated during the process?
6. What is the best way to execute these 0.25 million items? Do you have any precautions?

Ask for help, big brother. Please help me. The program was originally executed in segments, but the user had to have a button to handle it.
I'm getting depressed.

Transactions

A large amount of data, first consider using transactions! If the transaction is too large, you need to adjust the size of the rollback segment. We recommend that you create several small rollback segments and several large rollback segments to deal with large transactions.

Follow up!

Oracle solution:
The rollback segment is too small. You can add a large rollback segment and try 520745598.

Because the rollback segment is too small, you can specify a large rollback segment for this transaction and use the SET transaction use rollback seg_name statement. if the database does not have a large rollback segment, you should add a new segment, make it online, and then specify it.

Reducing the number of commit operations at a time should also be advantageous, such:
If I = 10000 then
Begin
Database1.commit;

Change 10000 to 5000

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.