Geeks Talk

Prepare for your Next Interview


Welcome to the Geeks Talk forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact contact us.

Error Message

This is a discussion on Error Message within the Oracle forums, part of the Databases category; After executing the following command INSERT /*+ append */ INTO pay_test SELECT * FROM all_objects I have given delete from pay_test It is showing message ORA-12838 Can not read or ...

Go Back   Geeks Talk > Databases > Oracle
Register Blogs FAQ Tag Cloud Calendar Mark Forums Read

Oracle Oracle 9i & Oracle 10g Knowledge Base Learn and Share Oracle Technology related articles, white papers, tutorials / study materials, example codes, FAQ's, Tips and Tricks.

Reply

 

LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 03-04-2008
Expert Member
 
Join Date: Sep 2007
Posts: 738
Thanks: 22
Thanked 67 Times in 65 Posts
krishnaindia2007 is on a distinguished road
Error Message

After executing the following command
INSERT /*+ append */ INTO pay_test SELECT * FROM all_objects

I have given
delete from pay_test

It is showing message
ORA-12838 Can not read or modify an object after modifying it in parallel

The problem is recified after executing DCL Commands.

But What is meant by parallel modification or parallel operation?

Last edited by krishnaindia2007; 03-04-2008 at 04:54 AM.
Reply With Quote
Sponsored Links
  #2 (permalink)  
Old 03-04-2008
Junior Member
 
Join Date: Mar 2008
Location: Delhi
Posts: 7
Thanks: 1
Thanked 0 Times in 0 Posts
satya_vinayan is on a distinguished road
Re: Error Message

Hi Krishna,
Probably you will have to commit the transaction (the Insert statement) for the table Pay_test and then try to delete from the same. This normally happens when a procedure is populating the table and at the same time u try to apply any DML on the same data of the table.

Regards
Satya Vinayan


Quote:
Originally Posted by krishnaindia2007 View Post
After executing the following command
INSERT /*+ append */ INTO pay_test SELECT * FROM all_objects

I have given
delete from pay_test

It is showing message
ORA-12838 Can not read or modify an object after modifying it in parallel

The problem is recified after executing DCL Commands.

But What is meant by parallel modification or parallel operation?
Reply With Quote
  #3 (permalink)  
Old 03-04-2008
Expert Member
 
Join Date: Sep 2007
Posts: 738
Thanks: 22
Thanked 67 Times in 65 Posts
krishnaindia2007 is on a distinguished road
Re: Error Message

Thank you for your reply satya vinayan.
But here the case is I am using SQL commands only not procedure.

When we use the APPEND hint for INSERT, oracle always grabs fresh data blocks by raising the high-water-mark for the table. Does it has any effect or locks the records while inserting the data?
Reply With Quote
  #4 (permalink)  
Old 03-04-2008
Junior Member
 
Join Date: Feb 2008
Location: Edinburgh
Posts: 21
Thanks: 3
Thanked 2 Times in 2 Posts
su123 is on a distinguished road
Re: Error Message

HI,
ORA-12838 Can not read or modify an object after modifying it in parallel
The meaning of the error is:
Within the same transaction, an attempt was made to add read or modification statements on a table after it had been modified in parallel or with direct load. This is not permitted.(from Google)

Generally whenever you are inserting or updating the data in a table, Database will automatically Locks that particular Entity or column, Until you rollback or Commit, or until the transaction completes, when you are passing the DCL commands it will permanently store it in the entity. According to Your Query you used both insert and delete commands in the same statement,
You can rectify the problem with giving the DCL command in between the both Insert and Delete commands, OR split the Statements and run them separately. (I think you had done this)
So, you only told that it was worked fine After Using the DCL commands.
That is the logic behind it.
Note: If you are not passing the DCL to complete your previous insertion into that table, it will be stored in the temporary table which was virtually created by the database, this virtual entity remains in database until you pass the DCL commands on that particular entity or until you logoff.
Even when you are selecting the data from an entity In a common Database If any other user also trying to fetch the same records, Database will not allow him to do that until your query completes it will keep him in loop after executing your statement it will allow His Query to run
Reply With Quote
Reply

  Geeks Talk > Databases > Oracle

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads

Thread Thread Starter Forum Replies Last Post
load runner error message dolphina LoadRunner 7 06-11-2008 02:15 PM
Custom Error message jmanivannan SQL Server 3 10-22-2007 08:45 AM
Error message 1628: Failed to complete installation Geek_Guest QTP 0 09-25-2007 01:33 PM
Want to include our own error message rashmi_hr SAP R/3 0 09-24-2007 07:43 PM
How to capture text from message/error popup window Geek_Guest WinRunner 0 04-03-2007 02:25 PM


All times are GMT -4. The time now is 07:44 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.3.1
Copyright © 2009 GeekInterview.com. All Rights Reserved