Read consistency

How do I find out if I can't perform DML on a table because a different session has performed DML and hasn't committed yet?
Edited by: 967018 on Mar 19, 2013 12:27 PM

967018 wrote:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
I would like to delete * from a table. It's taking forever and the table only has 200k records. It used to delete quickly before and it's taking a long time now (more than 30 minutes). I suspect there is a session that performed some DML on the table and hasn't committed it. It doesn't matter, I can delete it. Is there a way to do that or find out if there is a session that hasn't committed yet?TRUNCATE would be faster

Similar Messages

  • Read consistency in query with pl/sql functions

    Not sure if this is a bug or feature, but a query containing a user-defined pl/sql function does not include tables accessed within the pl/sql function in the read consistent view of data, eg
    select myfunc from tableA
    myfunc is a stored function that queries tableB and returns a value
    If a change to tableB is committed in another session during fetch phase of select statement, then fetched rows reflect the changes. The database does not recognise tables accessed in the plsql function as being part of the query.
    This happens in 7.3.4 and 8.1.6. Don't have 9i so can't tell.
    Anyone know if this is a bug or feature?
    Aside: you can also drop the plsql function whilst the fetch is running. It will kill the fetch. No DDL lock taken on the plsql function whilst select is running! Seems wrong.

    I don't know Forms but I know SQL*Plus and Oracle database. Normally PL/SQL running on the database can only access files on the host where the database instance is running even if you start PL/SQL with a SQL*Plus connection from another host.
    PL/SQL runs only the database instance not on the client side even if you start the PL/SQL code from a remote connection with SQL*Plus.

  • Read consistency with compound query

    Does read consistency work for the whole compound query or does it work only for every single query in the compound query ?
    I mean if I issue the following statement
    select * from TABLE
    union all
    select * from TABLE
    if in the mean time an update has taken place on the table by an other session and also a commit is it possible that the second part of the union query to see that update ?
    Thanks

    My real life problem is the following:
    I have a movements table and an online_stoc table, I keep the online_stoc table sincronized with the movements table using a trigger on the movements table.
    When I issue a statement
    select item, sum(qta_din), sum(qta_sta)
    from
    select item, sum(qta) qta_din, 0 qta_sta
    from movements
    group by item
    union all
    select item, 0 qta_din, qta qta_sta
    from online_stoc
    group by item
    having sum(qta_din) <> sum(qta_sta)
    it should not give anny rows back and I almost always see this correct result.
    But I experienced one time that this query gave back a line and after a checking I saw that during the query execution time there was an insert transaction on the table movements that commited during te query.
    So I don't understand how was it possible.
    Thanks

  • Problem due to read consistency...

    Hi,
    Pls hv look on given scenario...
    Two transactions updating the same row
    Session 2's update waits until Session 1's commit release the row lock.
    In Session 1
    SQL>select color from cust where id=500;
    color
    red
    SQL>update cust set color='blue' where id=500;
    In Session 2
    SQL> select color from cust where id=500;
    color
    red
    SQL>update cust set color=green where id=500;
    (Waiting...)
    In Session 1
    SQL> COMMIT;
    In Session 2
    SQL>select color from cust where id=500;
    color
    green
    SQL>COMMIT;
    Due to read consistency second user never knows that someone had changed color to 'blue'.
    We can use flags etc to trap this.
    Is there any way in Oracle to stop this logical inconsistency ....?

    > I can use select ...for update for the purpose. but there r few reasons for
    not using this...
    We use JAVA with Oracle.
    Not a valid reason. If the language is incapable, or the application server is incapable, then change it.
    You cannot blame the RDBMS for not working when the problem is solely with the language/app server. And you will have the exact same problem with any RDBMS as the lock-row-before-updating is a fundamental RDBMS rule for protecting data integrity and guarding against lost updates.
    > If Java program crashes then the lock not get automatically released from
    Oracle.
    I'm not sure that this is a valid statement. I deal with Java apps from JBoss against my databases and I've yet to see this problem.
    But for the moment, let us assume you are correct - what happens when the Java app crashes after the UPDATE and before the COMMIT? The exact same problem. So how do you solve this? You cannot simply just ignore those locks and pretend that the locks created by the SELECT FOR UPDATE is a problem.
    Also, why are your Java programs crashing so much? If it does not work, fix it or replace it.
    > Any idea ?
    You can use optimistic locking. This is not preferable. It results in a serious performance issue (and data concurrency issues) with any kind of higher volume OLTP system.
    But when dealing with stateless clients (typical 3 tier architecture using web browser clients), there is no choice but to use optimistic locking. E.g.
    SELECT c.* INTO :existing_row FROM cust WHERE id = :0
    .. processing..
    UPDATE cust
    SET colour = :new_colour
    WHERE custid = :0
    AND cust_col1 = :existing_row.cust.col1
    AND cust_col2 = :existing_row.cust.col2
    AND cust_coln = :existing_row.cust.coln
    In other words, the UPDATE checks that the row has not been changed since it was last "seen". If the UPDATE returns a 0 row result, it means that the row has changed. In which case the app needs to handle that exception somehow.

  • About read consistency

    Dear Guys
    i m getting confused in read consistent image of oracle
    please clear a little
    suppose if i fired a query that takes 20 min to retrieve data...now its in processing when a B user update some of the rows and fired commit in between..suppose after 5 mins when A fired query
    Now please tel A after 20 mins would get the updated rows or same image as it was when started query means old rows data

    user11221081 wrote:
    Dear Guys
    i m getting confused in read consistent image of oracle
    please clear a little
    suppose if i fired a query that takes 20 min to retrieve data...now its in processing when a B user update some of the rows and fired commit in between..suppose after 5 mins when A fired query
    Now please tel A after 20 mins would get the updated rows or same image as it was when started query means old rows dataYou should tell us that what should happen? Always remember that the databases work following the ACID properties where C stands for consistency. This means, that you must not ever see what is called a dirty read . It means that there must not be the case that you should see two different set of results in a single fetch. If a situation happens like this, the database must ensure that your data must be able to show that image of the data which is consistent to the time from when your query started. This is why you need the read consistent image and your database must follow some way of transaction isloation level which in Oracle database is read committed . This means that never ever a reader won't worry about writer and writer won't worry about reader (the word is wait but I changed it to worry to make the point clear).
    If this doesn't make the things clear to you, read the link that Srini has given to you already.
    HTH
    Aman....

  • About database nature of read consistency,

    Hi All,
    can anybody explain me what is consistent read, logical read and physical read?

    Hi,
    A consistent read is when a database must read a cloned block that has been recently changed. This is a core concept of Oracle database that allows data to be changed and read at the same time. A User must be able to read all relevant data to the transaction at the time it started.
    For instance, let's assume I start doing a full table scan of a large table by noon. Another user comes by at 12:05 and deletes a few records of the same table. Oracle preserves the before-image of the table by the time I started doing my full table scan so that I don't get some results from noon and some results from 12:05. This is called read consistency. A Consistent read is that a session does to achieve this through the UNDO tablespaces.
    Logical read is a read from memory. For example a row that has been recently read and is now stored in the database buffer cache. The second time a query wants that row, oracle will detect it's in the cache and won't fetch from the disk again. This is a logical read, also called a consistent get.
    A Physical read is when the database will fetch the required blocks from the disk.

  • Need for Read Consistency

    Dear Members :
    [1] In later versions of Oracle (10g/11) the error "ora-01555 snapshot-too-old" almost never occurs - is this true ?
    [2] Why in the first place need for read-consistency, if that's misleading ?
    This is just to convince myself - although I never encountered.
    Thanks in advance.
    Atanu

    user11184124 wrote:
    Dear Members :
    [1] In later versions of Oracle (10g/11) the error "ora-01555 snapshot-too-old" almost never occurs - is this true ? The important word here is almost which comes along with many things. If you have a sufficiently sized Undo tablespace and a properly configured Undo Retention period, its possible that you won't hit the 1555 error any time soon but that doesn't mean its gone for good. Its very much there and can definitely hit you.
    [2] Why in the first place need for read-consistency, if that's misleading ?
    This is just to convince myself - although I never encountered.
    I have given a reply for this in the below thread which also asked the same question. Have a read,
    about read consistency
    HTH
    Aman....

  • Problem with reading consistent Language readings from device from within universal app

    Friends,
    I am working against a Class a wrote the other day. But I get unconsistent Uri results after pulling language and region on windows/Phone?!
    As a beginner to all this, great of someone could tell me whats going on;
    public void SetLanguageCode()
    GeographicRegion userRegion = new GeographicRegion();
    string LocalLanguageString = userRegion.CodeTwoLetter;
    string LocalLanguage = Windows.Globalization.Language.CurrentInputMethodLanguageTag;
    // string for NavigationUrl
    string LocalLanguageID = LocalLanguage + "-" + LocalLanguageString;
    Uri TestUriBase = new Uri("http://test.test.com/");
    Uri UserUri = new Uri(TestUriBase, LocalLanguageID);
    UriBuilder UrlBuild = new UriBuilder(UserUri);
    Uri UriFinal = UrlBuild.Uri;
    _languageCode = UriFinal.ToString();
    Last field _languageCode returns "buggy" Uri on some regions/devices. How could you feed it a more static/solid language reading than above?
    Thanks again for any pointers...
    Regards, Kato.

    Thanks for taking the time here;
    To your question - its not correct.
    But my problem is this - if I change my regional/keyboard settings to "Norwegian" - away from your US.
    I get a string that is working and is correct;
    http://test.test.com/nb-NO 
    But to get YOUR US Region to work - I need to tweak this line with commenting out the end;
    string LocalLanguageID =
    LocalLanguage; // +
    "-" + LocalLanguageString;
    And then its suddenly correct, but wrong if I change the  region/language again to something "Scandenavian"...Then the final Uri for "_languageCode" is to short - like
    http://test.test.com/nb
    Which results in a "en-US Setting" - when hitting my MVC site from my App.
    My MVC site that will answer to this "Uri" request from the app, has a fallback to "en-US", which is great if the Region/Language is missing/not offered. But now my final "_languageCode" field seems to change
    its pattern based on different regions?!
    And sometime it seems to give me a mix of region/language too?! Like this;
    "http://test.test.com/en-US-NO"
    So whatever pointers anyone has here?!
    Thanks.
    Regards, Kato.

  • Need a recommendation about java smart card and a reader

    I've been posting some message in this forum and others and haven't gotten a clear response.
    I want to experiment with java smart card technology.
    From what I gathered, Gemplus is a leading company in this field so I thought about buying a smart card reader from it and a java smart card.
    I thought about buying the "USB Smart Card Reader/Writer Plug n Play (GemPC430)" reader which costs 69$.
    Is this a reasonable price?
    I need an answer from someone with experience using it.
    Now then, which one should I buy?
    I only want to do smart card to desktop application interaction without anything on the web (e-commerce or anything to do with encryption).
    I can buy 5 "GS2.2 Standard Crypto GPK8000su512 RED"
    cards which cost 87.50$
    THATS A LOT OF MONEY!!!!
    Are all java smart cards that expensive?
    There is a list of other cards on their site but I haven't been able to locate their price and don't know which to buy.
    Finally, there is the "Kit, GemSAFE Enterprise Workstation 2.21 Standard Cryptography Serial Port Reader" which as I read consists a GPK8000 card.
    Is this card a java card?
    Or do I need to buy the reader and java card seperately.
    Any help and insight would be greatly appreciated.
    Thanks.

    I've looked closely at the Cyberflex 32K cards + SDK from Schlumberger.
    My criteria was:
    * Javacard 2.1 support
    * visa open support (or whatever it is called now)
    * complete sdk (develop, test, deploy)
    * exportable
    * upgradable
    * customer support
    I tried to get someone from Gemplus to contact me, but was unable to ever get even an
    email response.
    Schlumberger, on the other hand, won me over with the quick responses over email.
    They offer fairly inexpensive upgrades after you buy the product, and technical support
    is free.
    For simple experimentation, you can get the JavaCard SDK for free. At JavaOne, several
    years ago, they were giving away JavaRings with Card Readers (which presumably
    means these are cheap to buy) from SCM or some company in Texas. You might
    try to get one of these. They don't have much memory, but are an interesting twist
    on the Java Card thing.
    If you want to dive in, the Smart Card SDK from Schlumberger will run you about $499.
    This includes the reader, 5 cards, and the SDK. Likewise, Metrowerks puts out an
    IDE for Java Card which runs about $1200, and may be available as a bundle from
    vendors like Schlumberger.
    dk

  • Buffer Busy Waits in a Read-Mostly Database?

    11gR2 Standard Edition on Linux x86_64.
    The database consists of two large tables (12GB+), one column of each of which has an Oracle Text index on it. Once a month, the two tables are refreshed from elsewhere, the Text indexes are updated, and then they sit there for the rest of the month, effectively read-only as users perform full text searches. The instance runs in 20GB of RAM, of which 16GB is given over to the (8K, default) buffer cache, 1GB SGA, 2GB PGA.
    The principle recurring wait event on this database is buffer busy waits, for data blocks (i.e., not undo segment headers) -and the data blocks are those of the two tables (which have default freelists, freelist groups and initrans and maxtrans).
    I get that during the monthly refresh, when there's loads of inserts happening, there could be lots of buffer busy waits. Since that refresh happens at weekends out-of-hours, waits during that time are not of any great concern.
    My question is why there would be any such waits during the database's 'read-only' period, in between refreshes. I can positively guarantee that no DML is taking place then, yet the buffer busy waits still occur, from time to time.
    On a possibly related note, why would I see lots of "consistent reads" during the 'read-only' period? The data isn't changing at all, so why would the database be busy doing consistent reads when current reads (I would have thought) would be good enough to get the data in the state it's actually at?

    Catfive Lander wrote:
    11gR2 Standard Edition on Linux x86_64.
    The database consists of two large tables (12GB+), one column of each of which has an Oracle Text index on it. Once a month, the two tables are refreshed from elsewhere, the Text indexes are updated, and then they sit there for the rest of the month, effectively read-only as users perform full text searches. The instance runs in 20GB of RAM, of which 16GB is given over to the (8K, default) buffer cache, 1GB SGA, 2GB PGA.
    The principle recurring wait event on this database is buffer busy waits, for data blocks (i.e., not undo segment headers) -and the data blocks are those of the two tables (which have default freelists, freelist groups and initrans and maxtrans).
    I get that during the monthly refresh, when there's loads of inserts happening, there could be lots of buffer busy waits. Since that refresh happens at weekends out-of-hours, waits during that time are not of any great concern.
    My question is why there would be any such waits during the database's 'read-only' period, in between refreshes. I can positively guarantee that no DML is taking place then, yet the buffer busy waits still occur, from time to time.
    On a possibly related note, why would I see lots of "consistent reads" during the 'read-only' period? The data isn't changing at all, so why would the database be busy doing consistent reads when current reads (I would have thought) would be good enough to get the data in the state it's actually at?Catfive,
    Are you running 11.2.0.1 or 11.2.0.2? If you are running 11.2.0.1 there are at least two bugs fixed by 11.2.0.2 to correct problems that lead to buffer busy waits. You mentioned that this is a "mostly" read only database where you are experiencing these waits - does that mean that there might be some inserts, updates, and deletes (possibly auditing related?)? One of the bug reports found on Metalink (MOS) is this one:
    Doc ID 9341448.8, Bug 9341448 - "Buffer block contention on full block which keeps being tried for space"
    How did you determine that the buffer busy waits were related to these two tables? Did you check V$SEGMENT_STATISTICS, monitor the session level wait events, create a 10046 trace at level 8 or 12, or use some other method? Are these tables typically read using parallel execution? Is there any chance that the application is performing SELECT ... FOR UPDATE?
    Have you checked V$SESSION_EVENT to see which sessions waited on buffer busy waits? How severe are the buffer busy waits - 10 seconds in a 24 hour period, 1 minute in a 20 minute time period? Are you backing up this database using RMAN and comparing the change in the buffer busy waits before and after RMAN completes its backup?
    I wonder if using SGA_TARGET could lead to buffer busy waits during an automatic buffer cache resize operation?
    Regarding seeing "consistent reads" during the read only period, that should be expected when blocks are read from the buffer cache. Jonathan Lewis explained it well in at least one of the threads that he contributed to on OTN, but I cannot find that thread at the moment. Essentially (in as few words as possible), you will see current mode block accesses when the data blocks are being changed and consistent reads (consistent gets) when the blocks are being read. This thread includes comments that suggest what to check to determine if undo had to be applied to perform the consistent gets:
    Index consists 1.5mln blocks, but full scan gets 11mln blocks
    Edit:
    I found the thread with Jonathan's comment:
    high consistent read during parse call | tkprof output
    "If you're not doing a current read then the only alternative is to do a consistent read.
    Typically you do current reads because you want to change a block"
    Charles Hooper
    Co-author of "Expert Oracle Practices: Oracle Database Administration from the Oak Table"
    http://hoopercharles.wordpress.com/
    IT Manager/Oracle DBA
    K&M Machine-Fabricating, Inc.
    Edited by: Charles Hooper on Jan 5, 2011 8:45 AM
    Added link to second OTN thread

  • Pl/sql block reading reading table data from single point in time

    I am trying to figure out whether several cursors within a PL/SQL block are executed from within a Single Point In Time, and thus do not see any updates to tables made by other processes or procedures running at the same time.
    The reason I am asking is since I have a block of code making some data extraction, with some initial Sanity Checks before the code executes. However, if some other procedure would be modifying the data in between, then the Sanity Check is invalid. So I am basically trying to figure out if there is some read consistency within a PL/SQL, preventing updates from other processes to be seen.
    Anyone having an idea?.
    BR,
    Cenk

    "Transaction-Level Read Consistency
    Oracle also offers the option of enforcing transaction-level read consistency. When a transaction runs in serializable mode, all data accesses reflect the state of the database as of the time the transaction began. *This means that the data seen by all queries within the same transaction is consistent with respect to a single point in time, except that queries made by a serializable transaction do see changes made by the transaction itself*. Transaction-level read consistency produces repeatable reads and does not expose a query to phantoms."
    http://www.oracle.com/pls/db102/search?remark=quick_search&word=read+consistency&tab_id=&format=ranked

  • Consistent, long-standing performance issues -- seeking advice

    I have a performance problem with my system. It's a problem that's lasted me years, spanning 3 different computers. This leads me to believe it's not the hardware, but something about my system. As I've moved from computer to computer (as well as when I've reinstalled the system), I've taken pains to skip the Migration Assistant and move over preferences and Application Support one by one, in an attempt to isolate and remove the bug. This always appears to work for a while, then inevitably it goes back to it's same, unresponsive, jittery, occasionally slow self. I'm considering getting a new computer, and I want to try to isolate this problem before I go through the process again.
    Here is a list of symptoms. Scroll to the end to read what I've tried to do to fix it.
    DISAPPEARING FINDER
    Once in a while, when waking from sleep, the icons on the Finder disappear. The Finder is be usable, and I can create Finder windows, but the icons aren't there. Fixed by force-restarting the Finder.
    MESSY ICON
    OIAW, when waking from sleep, the mouse arrow will be replaced with what appears to be random lines and static. Easily fixed by hovering over a text box and forcing a cursor change.
    SAFARI BEACHBALL
    I know Safari can be slow as a matter of course, but sometimes mine just GRINDS. I have to either force-quit it or leave it for a while for it to catch it's breath. Some common triggers are Flash embeds (no surprise), big pages, or pages with big photos. Almost always, a page with a lot of photos (like Big Picture), will be impossible to scroll smoothly.
    GARBLED MENUBAR
    Occasionally, I'll look up to the menu bar to find it a garbled mess. It appears as if the menus from more than one application are overlain on top of each other. The bar is still useable, and if I click on any menu, it redraws itself properly.
    MOBILE ME IS A ************
    This is probably the biggest, most consistent, easiest to replicate problem. When Mobile Me is syncing, I might as well not even try to use the computer. It seems to gobble up all memory, making everything else practically useless. I have it set to sync automatically, but I'm pretty sure I've tried hourly and daily and the same problem occurs. (Also, FWIW, I think it's syncing a lot more than it needs to -- not a lot changes from sync to sync. But I'm not sure how to prove this.)
    SLOW DOCK
    If it hasn't been in use for a while, the dock will take a second or two to show (it's positioned on the bottom, hidden).
    FONT CORRUPTION
    This hasn't been happening much lately, but for a while, particular base system fonts would suddenly stop working. The files were still there, and active in FontBook, but they wouldn't work in applications. I would have to remove the file from the System/Library/Fonts folder, then the system would recreate it, and it would work again. This would sometimes happen out of the blue.
    The one consistently corrupt program in this respect is Google Chrome. It's never been usable -- all characters within the window frame are the weird box with a serif A in the middle. (Strangely, the text in the chrome itself -- bookmark text, tab text, etc -- works fine.
    ITUNES STUTTER
    Sometimes the computer is so consumed with whatever it's doing that iTunes will stutter.
    DOCK STUTTER BOUNCE
    Often when opening an app, the dock icon doesn't bounce smoothly, but rather stutters up and down.
    TRANSPARENT MENUBAR
    Sometimes the background of the menubar disappears. Weirdly, the shadow remains.
    SLOW DASHBOARD
    Even after the Dashboard has been loaded for the first time, it can be grindingly slow. It usually zooms into place okay, but activating an module and using it can take 10-20 seconds.
    SLOW SCROLLING
    Sometimes, very rarely, the whole computer will have a scrolling seizure -- scrolling a window will become VERY unresponsive, and very stuttery when it finally does respond. Happens to all apps, and quitting the app doesn't appear to fix it. Only restarting (or logging out and in).
    COVERFLOW
    Like other things, can be jumpy.
    IN SUMMARY, **** IS SLOW
    Basically, sometimes everything just slows. Even the simplest thing is impossible to do, like opening a menu, or finder window, or typing -- it'll stutter and spits out my letters in big chunks.
    *--- THINGS I'VE TRIED ---*
    I've added more RAM. When I went from 2GB to 3GB, things appeared to be fast again. That lasted a few days. Later, I went from 3GB to 4GB, with no noticeable change.
    I've cleared out my fonts. I deactivated all fonts in FontExplorer except for a couple dozen essentials.
    I've verified all fonts in FontBook and removed the offending ones. I fixed any conflicts in FontExplorer.
    I've cleared the cache any number of ways, including with Cocktail. Cocktail offers a variety of configurations for cache clearing, and I've tried a bunch of them.
    After doing all the above for the first time, I actually thought I had cleared out whatever ugliness was invading my system. Things were opening snappily, and Flash movies were playing smoothly. That lasted a day, and things went back to normal. I've tried it again several times since, and while I've seen some mild improvement, it's been nothing like that one miraculous time.
    *--- WHAT NEXT? ---*
    I've seen Apple Store Geniuses about this a few times. It's been very frustrating. What it usually comes down to is: reinstall your system. I did it the first time they suggested it, and the problem always came back. I'm not going to do it again, because it's a major hassle, and obviously doesn't fix the problem.
    The other thing they say to do is look at Activity Monitor. I have done that, but I'm not totally clear what to with the information I see, other than to quit more apps to free more memory. Here's the thing: I'm seeing no discernible difference in free memory between a 3GB system and 4GB system. Same slowness, same sliver of free memory in the pie chart.
    I've done a lot of looking around online, including in this forum, and the one thing I read consistently is that you want to avoid pageouts. I look at my Activity Monitor and see gigs and gigs of pageouts. What I can't find is tips on how to reduce them.
    I've been living with this for a while, because it's just on the threshold of tolerable. It comes in waves, and the times of easygoing make it easy to forget the annoying times. But I'd like to fix it at its root. If you have any advice, I'd love to hear it.
    *--- SCREENSHOTS ---*
    - The garbled menubar
    - An example of very active Activity Monitor with 3GB
    - And one with 4GB
    Thanks!

    Erase the hard drive, install 10.6 from scratch, download and install the 10.6.3 vers. 1.1 Combo Updater, then allow Software Update to download and install any other additional software.
    Do not yet reinstall any third-party software but take some time to test out everything, In this way you will be able to better now if some problems remain which may be indicative of hardware malfunction.
    Since you say these problems have been long standings, I'm surprised you didn't downgrade to Leopard or take the computer in for repair. Letting problems go without solution tends to cause new problems and/or exacerbate existing ones.

  • GC CR disk read

    Hi,
    We are facing the gc cr disk read wait event especially when issuing the following sql statement.
    select b.tablespace_name||':'||nvl(round(sum(bytes)/1024/1024),0) from dba_free_space a,dba_tablespaces b where a.tablespace_name(+)=b.tablespace_name and b.status != 'READ ONLY' group by b.tablespace_name;
    This wait event occurs only when the block requested by the 1st instance is on the other instance and it is dirty so the second instance has to create a duplicate block for read consistency purposes. and more interestingly this wait event occured on 1st instance and the backups were running on the second node.
    Does this mean that the tables related to the view dba_tablespaces and dbA_free_space updated during the backups or we might be hitting a bug.
    Thanks,
    Vishnusivathej P

    Hi;
    Please check below which could be helpful for your issue:
    Re: What means "gc cr disk read" event?
    GC CR disk read
    https://kr.forums.oracle.com/forums/thread.jspa?threadID=931184
    Regard
    Helios

  • What means "gc cr disk read" event?

    Hi everybody,
    I have a process that executes four times per day, and in a specific execution the process consome most time. The quantites of data to be process in each moment is same.
    Last day, I enabled trace to comper and I get the event gc cr disk read very difente from other execution.
    Some one can explain what means the gc cr disk read event?
    I have looking on the net but i found no documentation about it?
    Thanks
    Marcelo Barleta

    MA®CELO  BA®LETA™ wrote:
    Hi everybody,
    I have a process that executes four times per day, and in a specific execution the process consome most time. The quantites of data to be process in each moment is same.
    Last day, I enabled trace to comper and I get the event gc cr disk read very difente from other execution.
    Having done a search for exactly "gc cr disk read" on Google I can confirm that the available information on that particular wait is hard to find - but we can guess that it's cluster related (gc = global cache), for a consistent read (cr) and involves a disk read.
    Possibly it's an indication that one node has requested a CR block from another node and been told that the holding node has been told to write the CURRENT block to disk (fusion write) and the calling node will have to read the current block and sort our read consistency for itself.
    This would tend to suggest that you have more than two nodes in your cluster, and you have some blocks which (on occasion) are rapidly updated from all three nodes at more or less the same time.
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk
    "For every expert there is an equal and opposite expert."
    Arthur C. Clarke

  • Consistent gets and db block gets

    Hi...
    I wanted to know the difference between consistent gets and db block gets in v$sess_io.I have read that consistent gets is the blocks in consistent mode..so here what does consistent mode means????
    Thanks in Advance,
    Anand

    Here's the complete text of the answer I originally wrote nearly 5 years ago on the Oracle-L mailing list:
    A 'db block get' is a current mode get. That is, it's the most up-to-date copy of the data in that block, as it is right now, or currently. There can only be one current copy of a block in the buffer cache at any time. Db block gets generally are used when DML changes data in the database. In that case, row-level locks are implicitly taken on the updated rows. There is also at least one well-known case where a select statement does a db block get, and does not take a lock. That is, when it does a full table scan or fast full index scan, Oracle will read the segment header in current mode (multiple times, the number varies based on Oracle version).
    A 'consistent get' is when Oracle gets the data in a block which is consistent with a given point in time, or SCN. The consistent get is at the heart of Oracle's read consistency mechanism. When blocks are fetched in order to satisfy a query result set, they are fetched in consistent mode. If no block in the buffer cache is consistent to the correct point in time, Oracle will (attempt to) reconstruct that block using the information in the rollback segments. If it fails to do so, that's when a query errors out with the much dreaded, much feared, and much misunderstood ORA-1555 "snapshot too old".
    As to latching, and how it relates, well, consider that the block buffers are in the SGA, which is shared memory. To avoid corruption, latches are used to serialize access to many linked lists and data structures that point to the buffers as well as the buffers themselves. It is safe to say that each consistent get introduces serialization to the system, and by tuning SQL to use more efficient access paths, you can get the same answer to the same query but do less consistent gets. This not only consumes less CPU, it also can significantly reduce latching which reduces serialization and makes your system more scalable.
    Well, that turned out longer than I planned. If you're still reading, I hope it helped!
    Hope that helps,
    -Mark
    PS The original question asked about latching as well, which explains the reason for the third paragraph.
    Edited by: mbobak on Sep 2, 2008 11:07 PM

Maybe you are looking for

  • Why does my computer think I'm in a different country

    For some reason when I click USE MY LOCATION on some websites, my computer thinks I'm either in Germany or BC. I have never taken my computer out of Canada and have not even been to either place. This is quite frustrating for searches and when I'm lo

  • How to get material and plant by providing control key as input ?

    How to get the material and plant info based on control key values using a function module? kindly help..

  • BSP F4 Help..

    Hi ,   i am facing a problem to use f4 help. the scenario is ,   i have a table called 'ZTABLE' which is having a field called 'Group', the value of this field is 'X' 'Y' 'Z'.   in my view i have an input field called 'Group_Id'. here is my proble be

  • Text is exceeding Gantt chart bar

    Hi Experts I have a Gantt chart in a Webdynpro for Java application. I am showing some value (Label) on the bars of the chart. But if the bar is small the value is not fitting into the bar. Is there any way to controll it ? Thanks Sunit

  • Optimal Size of Pictures for each format?

    I know there is no one answer for this, but I'm trying to create Photoshop templates for myself to make using images with Muse easier to deal with while working with clients. If they are going to be changing out photos with in-browser editing, it wou