Clarification about  Database_Buffer_cache workings

Hi All,
Clarification about Database_Buffer_cache workings:(This statement from my course material)
*1.The information read from disk is read a block at a time,not a row at a time,because a database block*
is the smallest addressable storage space on disk.
Before answering, my please check whether my above statement is correct or not,becoz i get this from My course material.
If i am querying ,
select * from emp;
Whether server_process bring the whole block belongs to EMP table right or it just bring the table itself?
Thank you,
Regards,
DB
Edited by: DB on May 30, 2013 3:19 PM
Edited by: DB on May 30, 2013 4:35 PM

Both happens, the LGWR may call the DBWR to write dirty blocks from the buffer cache to disk. Dirty in this context means, that the blocks in the buffer cache have been modified and not yet written to disk, i.e. their content differs from the on disk image. Conversely the DBWR can also call LGWR to write redo records from the redo log buffers (in memory) to the redo log files on disk.
To understand why both is possible, you need to understand the mechanics how Oracle does recovery, in particular REDO and UNDO and how they play together. The excellent book "Oracle Core" from Jonathan Lewis describes this in detail.
I'll try to sketch each of the two cases. I am aware that this is only an overview which leaves out many details. For a complete description please look at the various Oracle books and documentation that cover this topic.
1. LGWR posts DBWR to write blocks to disk
As you probably know, any modifications done by DML (which modify data blocks) are recorded in the redo. In case of recovery this redo can be used to bring the data blocks to the last committed stated before failure by re-applying modifications that are recorded in the redo. Redo is written into redo log files and the redo log files are used in a round robin fashion. As the log files are used in a round robin fashion, old redo data is overwritten at some point in time - thus the corresponding redo records are not longer available in a recovery scenario (they may be in the archived redo logs, which may however not exist if your database runs in NOARCHIVELOG mode and even if your database runs in ARCHIVELOG mode, the archived redo log files may not be accessible to the instance without manual intervention by the DBA).
So before overwriting a redo log file, the Oracle instance must ensure, that the redo records being overwritten will not be used in a potential instance recovery (which the instance is supposed to do automatically, without any action by the DBA, after instance failure, e.g. due to a power outage). The way to ensure this is to have the DBWR write all modifications to disk that are protected by the redo records being overwritten (i.e. all data blocks where the first modification that has not yet been written to disk is older than a certain time) - this is called a "Thread checkpoint".
2. DBWR posts LGWR to write redo records to disk
Oracle uses a write ahead protocol (see http://en.wikipedia.org/wiki/Write-ahead_logging and Write Ahead Logging.... This means, that for any modification the corresponding redo records must been written to disk before the actual modification to the data blocks is written to disk (into the data files). The purpose of this I believe is, to ensure that for any data block modification that makes it to disk, the corresponding UNDO information can be restored (from redo) in case of recovery, in order to reverse uncommitted changes in a recovery scenario.
Before writing a data block to disk, the DBWR must thus make sure, that all redo for modifications affecting this block has already been written to disk by the LGWR. If this is not the case, the DBWR will post the LGWR and only write the data block to the datafile once the redo has been written to the redo log file by LGWR.

Similar Messages

  • Some Quick clarification about 2012 and always on Availability groups

    Hi guys, just need some clarification about always on.
    I've got plenty of experience with normal SQL Clusters, but just need some clarification around always on availability groups.
    I presume with AG, you setup a listener and this becomes your point of connection, IE this is what you use in the you connection string for you applications, so can I use this when I am setting up a new application, and will this automatically make the Database
    that's created by the APP, Highly available. ? or do you still have to add it to the AG afterwards. ?
    I have also read that you can still point to the installed SQL instance, and you don't need to use the AG group listener, but how does this make your DB HA ? how does the failover work.
    I also presume you don't need to use any roles under the MSC anymore.
    Kind regards
    Mark.G

    Hi Mark
    I presume with AG, you setup a listener and this becomes your point of connection
    That's right, the listener is a virtual network name and you can use this to connect to the primary or secondary replica. Your connections will go in against the primary unless you're using
    read-only routing. 
     so can I use this when I am setting up a new application, and will this automatically make the Database that's created by the APP, Highly available
    The first thing you'll have to do is set up the availability group (AG). You can then associate a listener to the AG. I know you're familiar with failover clustering but the mechanics of this are much closer to database mirroring. For every database that's
    part of the AG you'll have at least one secondary replica, it's possible to automatically failover to this if you're in synchronous mode.
    I have also read that you can still point to the installed SQL instance, and you don't need to use the AG group listener, but how does this make your DB HA ? how does the failover work.
    Yes you can do, but from an application perspective you should only do this for databases that are not part of an AG. If you connect to the instance directly and you have a failover your app will no be able to connect to the database (on the assumption your
    secondary isn't read-only). App connections should always be via the Virtual Network Name.
    I also presume you don't need to use any roles under the MSC anymore.
    Not sure I understand this? Do you mean will roles be available in cluster manager? Each AG group will have a role but failover is now controlled through the SQL Server rather than the cluster manager. 

  • Clarification about plant and terms of payment In Master Data:

    Hello Gurus,
    I have a doubt as follows:
    1) In Material master (MM01) we are maintaining Plant as two types.
         a) Plant at organisation leve pop up at the begining
         b) Delivering plant at Sales organisation 1.
    So, is there any difference between plant and delivering plant or are they different objects ?
    2) Terms of payment in Customer master (XD01)
         a) we maintain Terms of payment customer master at company code level in "Payment transaction"
         b) we also maintain Terms of payment in customer master at sales area data in "Billing Documents" tab
    Now Why do we need to maintain at these to levels.
    FYI: I have also tried to maintain two different Terms of payment and without any hesitation the system accepts, why ?
    What is the significance of it.
    Please clarify the above.
    Thanks,
    Venky.

    Hello Venky,
    1. Material / Plant
    A Material is always stored in a Plant & there would be various parameters to be entered for that particular Plant. E.g. Storage Bin, Picking Area, Negative Stocks allowed in Pant, GR Processing time, etc..
    Now the same Material may or may not be sold from the same plant, or even if it is sold from the same plant, there would be different Sales parameters for each combination Sales Organisation & Plant. There Sales Organisation specific parameters are entered in Sales Organisation/PLant view. Tax classification Data, Cash Discount indicator, Sales Unit, Delivering Plant, Division, Minimum Order & Minimum Delivery quantity.
    2. Payment Terms
    The Payment Terms entered in Billing tab in Sales Area data is copied into Sales order & Invoice.
    The Payment Terms in Company Code data are used by FI department when posting direct payment (without reference to Sales Document). e.g. to Offer Cash Discount for paying in advance.
    Hope this clarifies,
    Thanks,
    Jignesh Mehta

  • Clarification about parameters to be changed for max no of 100 conv excd

    Hi,
    In our system we had received the error:
    Connect to SAP gateway failed
    Connect_PM  TYPE=B MSHOST=xxxxxxxxxxxxxx GROUP=PUBLIC R3NAME=xxx MSSERV=sapmsXXX PCS=1
    LOCATION    CPIC (TCP/IP) on local host
    ERROR       max no of 100 conversations exceeded
    due to which some users were unable to work in the system.
    The threads that i have found while searching on the topic have suggested changing the parameter CPIC_MAX_CONV=500 (or greater) as per the note 314530.
    And as mentioned in the SAP note 316877:
    " Reduce ~timeout on the ITS machine to enforce the automatic termination of unused sessions."
    Now in SMGW i can see the "Active Connections" (first page of the transaction) and also the drop down option "logged on clients" which gives another list.
    I am now trying to understand which timeout parameter controls which list.
    Most of the entries in the Active connections list are from the TP jlaunch (and seem to be coming from the java stack of the same system). And most of the entries in the Logged on clients list are from the TP SAPSLDAPI.
    I need to know which timeout parameter (as per note 316877) needs to be changed for the problem being faced.
    Or have i misunderstood this ~timeout  parameter and it should be set in Windows environment similar to the CPIC_MAX_CONV parameter ?
    Regards,
    Rohan.

    Hi,
    Thanks for your responses.
    I will be changing the CPIC_MAX_CONV parameter.
    But I would still like to clarify about the other parameter : "~Timeout"
    and be prepared to take action on this as well.
    As per the (conflicting) information I  have so far this seems to be some parameter that is to be maintained in each individual service in SICF ?
    Or do we have any synonymous itsp* or gw* parameter which I can set for the timeout?
    Regards,
    Rohan.

  • Clarification about OCI_FO_REAUTH failover event of TAF

    Hello everyone,
    Can someone explain my the real meaining of the OCI_FO_REAUTH failover event when we are using TAF?
    All I found is : "OCI_FO_REAUTH indicates that you have multiple authentication handles and failover has occurred after the original authentication. It indicates that a user handle has been re-authenticated. To find out which, the application checks the OCI_ATTR_SESSION attribute of the service context handle (which is the first parameter)."
    But it is not clear for me.
    Regards.
    Carl

    The session receiving this error did not automatically failover, or this automatic failover failed.
    This does not mean however that a new connection would not be possible
    Since you did not mention anything about the system, I can't tell you where to look for the reason.
    If it's a RAC consider looking at the CRS logs.
    This link explains more about the OCI_FO_ABORT : http://www.cs.umbc.edu/portal/help/oracle8/server.815/a67846/new_adva.htm
    Success!
    FJFranken

  • Clarification about SAP CRM 5.0, SAPPHONE

    Hi Buddies,
    Long time no see.
    Curently we are considering integrating SAP with our telephony system  AVAYA. According to our vendor, there are 2 approaches: SAPPHONE or ICI connectors.
    It is clear that ICI connector will be based on latest version of SAP CRM 7.0 which we do not install at the moment, thus we are more probally to use the SAPPHONE connection acting as interaction center middle ware.
    However, it is somehow confusing about SAPPHONE approach. It is said to be neccesary to apply CRM 5.0 as system enviroment.
    As I know, CRM 5.0, not like CRM 5.1 and later web application versions, is a component inside R3 system.
    Is it neccessary to install CRM 5.0 first before activating the TCI via SAPPHONE?
    Is CRM a middleware between SAPPHONE and telephony system or SAPPHONE itself is a component of CRM 5.0?
    Is SAP CRM a mandatory component of ECC 6.0? In fact, I do not find it in 'Component version' inside our system.
    Is SAPPHONE quite out-of-date and with limited support?
    Do we need install new hardware for SAPPHONE?
    Sorry for asking so many questions at the same time. We really need to clarify all misunderstandings before evaluating the approaches.
    Thanks a lot in advance.
    Jonnie

    Hi Anrei,
    Thanks, I read through the help document besides trying find other documents in help.sap.com.
    I guess I got it. SAPphone is a component inside CRM server as indicated by below help document:
    http://help.sap.com/saphelp_crm40/helpdata/en/28/797b14a9cf4296b02742f641c18971/content.htm
    The CRM Server includes the IC WinClient framework and the following SAP applications:
    ·        SAPphone
    SAPphone provides a telephony function to the interaction center. It allows data to be exchanged between the CRM Server and the telephony component.
    ·        SAPconnect
    SAPconnect provides an integrated e-mail function to the interaction center. It enables communication management software to connect to the SAP system (for example, an e-mail server or SMTP server).
    Although it is a help document for CRM 4.0, I think CRM 5.0 should have the similar archtechture.
    I would score you as helpful, however, I still would like to see whether I could get answers for below points:
    Is SAP CRM a mandatory component of ECC 6.0? In fact, I do not find it in 'Component version' inside our system.
    Is SAPPHONE quite out-of-date and with limited support?
    Do we need install new hardware for SAPPHONE?
    Thanks.
    Jonnie

  • Clarification about inner class - why use it?

    hi all
    i just have a request to get some clarification on inner class. why do we use it and is it common to use it? thanks.

    hi all
    i just have a request to get some clarification on
    inner class. why do we use it and is it common to use
    it? thanks.It is realtively common. You may use one if you need to implement a class that's only relevant to one other class, like a data container or EventListener. Since it's probably interlocking tightlyx with its "outer" class, but doesn't need to be in reach of any other classes, its visibility can be confined to the outer class itself. Plus, objects from inner classes - if not declared static - are always tied to the existance of an outer class instance.

  • A clarification about block# wait event parameter ....

    Hi ,
    In Oracle Database Reference of 10g (Part Number B14237-02) about the block# wait event parameter is pointed out ... :
    This is the block number of the block for which Oracle needs to wait. The block number is relative to the start of the file. To find the object to which this block belongs, enter the following SQL statements:
    select name, kind
    from ext_to_obj_view
    where file# = file#
         and lowb <= block#
         and highb >= block#;Can you give me a simple example of using the above sql statement.... as ext_to_obj_view object does not exist.....
    Many thanks ,
    Simon

    This view is created by $ORACLE_HOME/rdbms/admin/catclust.sql script (to be run by sys user).
    http://download-uk.oracle.com/docs/cd/B19306_01/rac.102/b14197/monitor.htm#RACAD718
    Nicolas.

  • Need clarification about restore.

    As the title says I'm in need of some clarification as to what restoring my iphone 4 does. From what I've read, my understanding is a restore only resets the 'settings' that were on the phone and not to the OS version that was installed on the phone when I purchased it. Correct?

    Correct, the OS version does not change after a restore. You can only upgrade, not downgrade.
    When you restore, the device is returned to factory settings, except for the OS version.
    After a restore, you will be prompted to either 1) restore all your previous data to the device from the last backup, or 2) set up the device as new, leaving it fresh and clean.
    1) Is what most people need to do as a first step if they're having problems with the device.
    2) Is useful when giving your device to a friend or selling it, or when diagnosing software problems.

  • Clarifications about buffer.

    Hi guys..
    I have a query about buffers..could you please clarify this:
    Is there a limit to the size of a data file that can be loaded into a buffer.
    i dont really understand this loading into buffer stuff. Buffer has a limited size right?
    What happens when we try to load a huge data file using one buffer.

    This is my take on it but I might not be right as I have not really seen detailed information.
    The aggregate storage cache defines how much memory buffers are assigned per application, if you have a pending cache of 100mb and initialize a buffer the memory consumed by the essbase application process will increase around 100mb.
    The buffer just effiicently loads data into the temp data file, it will consume some more memory but return once the load completes.
    I think you maybe thinking that the buffer holds all the data in memory when really it is loading the data through the buffer to the temporary file.
    and I thought the sort buffer was for retrievals.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Clarifications about launchctl mistake

    Hi, I was messing around with launchctl and accidentally unloaded and disabled all system launch deamons (copy-paste mistake I definitely won't do again...). I did a lame attempt to start them up but as I suspected that didn't work too well as my comp started to act out pretty soon.
    Anyway this the "clever" thing I did:
       /bin/launchctl unload -w /System/Library/LaunchDaemons/
    But isn't the "w" flag is supposed to disable stuff permanently? I was afraid I'd have to go into single user mode to fix things, however all I did was restart my computer, in safe mode as I thought it wouldn't hurt, everything appeared to work so I restarted normally and all seemed well and working.
    So, what did I actually do and is there anything I should do/check to make sure everything is fine? Just got a a little worried for a while... "With great power there must also come, great responsibility!"
    And while I'm at it; what has "/var/db/launchd.db/com.apple.launchd/overrides.plist" got to do with this? Is this the file that the "elsewhere" meant in the man page for launchctl: "Now the state of the Disabled key is stored elsewhere on-disk." However inspecting this file doesn't really show any effect of what I did, or at least there is no obvious pattern between disabled/enabled daemons. What should be enabled/disabled anyway?
    Lots of little questions for this time and thanks in advance

    Yes I sudo:ed, just forgot to write it out. But I could've been using the root account and not having to sudo hehe.
    And by "act out" I mean things stopped working or behaved weird, which is not surprising when you think about it. Dock froze completely and instantly for example, I could switch application but keyboard input always stayed in Terminal app, computer froze for a couple of seconds every time I did something, disk access failed/timed out or something more than once etc. etc. etc.
    Oh ok thanks, but yes seems fine so far

  • Clarification about source and destination IPs for internal clients and Edge server

    I just wanted to get some clarification on the correct traffic flow between internal Lync clients and the Edge server.
    From all the diagrams I've looked at I was under the impression that if internal clients need to hit the Edge server to talk to external clients they should always do so through the Edge Internal interface which bridges to the Edge External interface and
    out to the internet.  Specifically port 3478 from the Edge AV External interface to the internal clients.
    We aren't seeing that in our environment.  When internal clients are talking to external clients we see the Edge AV External interface communicating directly with the internal client.  In fact we found this out because after the migration to Lync
    2013 external users couldn't created a AV connection to internal users on either the Lync servers.  We saw traffic on 3478 being dropped between the Edge AV External interface and the internal client.  Once we opened that port AV traffic worked.
    We never put this rule in until we introduced Lync 2013.  Lync 2010 didn't seem to require it.
    Is that the correct flow?

    I would also really love to know the outcome of this but it looks like the thread is marked as "Answered" and it is not so. 
    I've been working with a troublesome Lync deployment in which internal users are having issues sharing their desktop with external and federated users. After opening up all the 50000-59999 range for TCP/UDP on the A/V Edge external interface things are working
    much better, but we still see sporadic failures.
    It lead us to start digging into the network traffic. We see that UDP traffic on port 3478 is being routed back from the external client to the Edge A/V's external interface, inside of the DMZ's perimeter, then directly to the internal client on the internal
    network. It doesn't look like it's making a connection since the stream is so small, so I wonder if there is a design flaw in my topology?
    There are persistent static routes on the Edge server that use the internal interface to route internally directed traffic over the internal gateway. Tracert confirms the flow, but in wireshark traces, running during successful connections, UDP port 3478
    is still sending packets directly to the internal IP from Edge's A/V address. 
    We also see successfully connected sessions communicate on a different network route that we use to handle internet traffic rather than our Lync topology's route (the one defined for A/V traffic). The connection opens on ports in the 50000 range, but goes
    over a router that we have not configured for such traffic. Is that possible?
    Why is UDP traffic on 3478 trying to go directly to internal clients from external interface ?
    It sounds like it's happening elsewhere... Is this a legitimate issue to be diagnosing? Has it been observed and/or resolved by others?

  • Clarification about Load testing - BC4J - Rational Suite Enterprise edition

    Hi,
    I have a query from an Oracle Partner as follows:
    We are talking about Rational Suite enterprise edition
    2003 for load testing for 500 virtual users in the application.
    Further we want to know, whether BC4J component generated by the
    JDeveloper support rational VU technique in terms of traffic generation
    for volume/performance/load testing for said application.
    Whenever I tried to generate traffic for one virtual user, this gives
    "generic component, can not identify" in a particular BC4J component.
    Otherwise rational tool identify all java classes and generate traffic
    except BC4J component.
    Pl confirm
    Thanks

    Hi,
    I have a query from an Oracle Partner as follows:
    We are talking about Rational Suite enterprise edition
    2003 for load testing for 500 virtual users in the application.
    Further we want to know, whether BC4J component generated by the
    JDeveloper support rational VU technique in terms of traffic generation
    for volume/performance/load testing for said application.
    Whenever I tried to generate traffic for one virtual user, this gives
    "generic component, can not identify" in a particular BC4J component.
    Otherwise rational tool identify all java classes and generate traffic
    except BC4J component.
    Pl confirm
    Thanks

  • Clarification about quad core unitsl

    I'm looking at various quad core units. Can anyone tell me the difference between a single quad core unit or two dual cores? Is one more powerful?

    There won't be much difference usually... except for computations taking advantage of SSE4, present in latest generation cpus (penryn...), and for the performance/watt, for which the newer mac pros are really superior...
    IMHO, if you have the opportunity to buy either one for about the same price, buy the new generation one (single quad core @ 2.8 ghz) but if can save a couple hundreds, or more, on the previous generation dual dual core @ 3.0 ghz, then maybe take the older one...
    phjo

  • Clarification about OSS note 677377 - E-mail to credit representative

    Hello,
    in the OSS note mentioned in the subject I find the following statement: "The document can be released directly from the e-mail".
    I have this question: the option to release the document from the e-mail is available only if the workflow is active?
    I made all the settings mentioned in the OSS note but I receive in SAPoffice only the notification with no option to release the SO.
    Thanks and best regards,
    Andrea

    Hi,
    try the following:
    open your workplace in SAP office and go to inbox folder. Click on unread or read documents and documents will be displayed on the right side of the screen. Select one of the documents and click on right button of the mouse and click on execute. You´ll execute the tcode you set in execute parameters on your message.
    Regards,
    JM

Maybe you are looking for

  • Spry Slideshow works in Firefox/Safari but not in Explorer

    I'm still unable to get my slideshow to work. It works fine in Safari and Firefox, but nothing shows up in Explorer. Does anyone have any ideas or maybe another reputable source for a different slideshow widget? www.epaaudio.com

  • I edit the location in the info pane, but it doesn't show up in Places!

    Hi everyone, I have recently started to use iPhoto '09 but having a little difficult with Places. I do not have geotagging, so I am editing the location of my photos manually (nothing too specific, just the city). When I first attempted it, I used th

  • Party Mode

    Hey; My friend was showing me "Media Monkey" on his (Shudder) widows machine... and it had an awesome feature called "Party Mode" ... When activated the user could not switch away from "Media Monkey" (basically locked the computer - Password required

  • Office Test Drive

    Wasn't sure where to put this. I've installed Office on my iBook without removing the test drive version first. If I uninstall the lot and then reinstall the full version, will I have to use up another one of my 3 product keys or will it let me use t

  • LDAP Authorization Example

    Hello; Does anyone have a good example of an LDAP authorization script? The examples on the Cisco website don't provide enough detail. This version of LDAP is Windows 2003 Active Directory. Thank You