vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Hi, While reading backup and recovery manual, i read the following: --------------------------------------------------------------------------------------------------------------------------------------- transaction recovery Transaction recovery involves rolling back all uncommitted transactions of a failed instance. These are "in-progress" transactions that did not commit and that Oracle needs to roll back. It is possible for uncommitted transactions to get saved to disk. In this case, Oracle uses undo data to reverse the effects of any changes that were written to the datafiles but not yet committed --------------------------------------------------------------------------------------------------------------------------------------- Can someone please explain how can uncommited transactions gets saved to disk. I assumed only commited data gets saved to disk. Thanks. Giridhar Kodakalla. |
| |||
| Thanks for your reply. So it means, whether the record is commited or not,data from online redo logs can be written to to the data files,right? Can you please explain when commited data can be flushed to data files and when uncommited data can be flushed to data files? Thanks again. Giridhar Kodakalla. |
| |||
| >>So it means, whether the record is commited or not,data from online redo logs can be written to to the data files,right? No. Entries in the log buffer are written to the log files. Commits trigger sync writes. Background (no-commit) writes are triggered based on SGA variables. HTH Carlos. |
| |||
| "Giridhar" <gkodakalla@gmail.com> wrote in message news:1147152845.214758.144960@j33g2000cwa.googlegr oups.com... > Hi, > While reading backup and recovery manual, i read the following: > -------------------------------------------------------------------------- ------------------------------------------------------------- > transaction recovery > Transaction recovery involves rolling back all uncommitted transactions > of a failed instance. These are "in-progress" transactions that did not > commit and that Oracle needs to roll back. It is possible for > uncommitted transactions to get saved to disk. In this case, Oracle > uses undo data to reverse the effects of any changes that were written > to the datafiles but not yet committed > -------------------------------------------------------------------------- ------------------------------------------------------------- > > Can someone please explain how can uncommited transactions gets saved > to disk. > I assumed only commited data gets saved to disk. > > Thanks. > Giridhar Kodakalla. Since most transactions are committed and not rolledback Oracle writes uncommitted transactions to the datafiles. So when you issue a commit then it doesn't have to write the data to the datafiles. It does have to indicate that the data is committed. Jim |
| |||
| On 9 May 2006, miotromailcarlos@netscape.net wrote: >>>So it means, whether the record is commited or not,data from online >>>redo logs can be written to to the data files,right? > > No. Entries in the log buffer are written to the log files. > > Commits trigger sync writes. I thought Oracle also writes to the disk at any point in the transaction, completely at its discretion. Uncommitted data can be found in the datafiles during a transaction. Its the redolog that Oracle completely depends on to either back these records out or leave them there or flush them if needed, or not write them to disk until a later time. The point being, Oracle can write to disk whenever it deems the most performant time to do so because it is 100% protected by the redologs. Is this not correct? -- Galen Boyer |
| ||||
| >>The point being, Oracle can write to disk whenever it deems the most >>performant time to do so because it is 100% protected by the redologs. >>Is this not correct? Typically, DBWn writes to disk dirty blocks on log switches, when there are few database buffers free, and by log_checkpoint_interval & log_checkpoint_timeout, but I was referring to log writes(LWR), not to block writes (DBWn / checkpoints). HTH Cheers. Carlos. |