Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Removing all datafiles doesn't bring down the database
Hi,
comments inline.
> I'm running Oracle9i 9.0.1 on HP-UX 11i. I simulate a disk crash by
> removing all the datafiles. To my surprise, the database keeps
> running, and I can still do queries, update, commit, and alter system
> switch logfile.
As long as at least one process has a open file handle, the file is not
removed, though it's not visible anymore in the fs directory tree and cannot
be opened anymore.
> But I'm confuse how this can happen. A switch logfile will cause a
> checkpoint, causing dirty buffers to be written to datafiles, which
> are missing.
No problem, for dbwr has all datafiles open from the beginning of the
instance live cycle.
> Even better still, after I restore & recover, I can see those commit
> that was done after deleting all the datafiles.
Sure, that's what oracle's for. If you're in archivelog mode and keep
backups of data and redo logs, you're save.
> Is this something new in Oracle9i? Is there anywhere I can get more
> information on this matter. I'm interested to know the architecture
> behind this. I would assume most of the stuff is stored in the redo
No, that's standard oracle/unix stuff.
If you want to force a failure, remove the system datafile, start a new(!) session in dedicated server mode and then do something like "select count(*) from dba_tables". This should cause an error.
Regards
Stephan
Received on Thu Jul 17 2003 - 06:59:35 CDT
![]() |
![]() |