Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Removing all datafiles doesn't bring down the database

Re: Removing all datafiles doesn't bring down the database

From: Stephan Bressler <agadir_at_web.de>
Date: Thu, 17 Jul 2003 13:59:35 +0200
Message-ID: <bf62v6$p1d$1@news.mch.sbs.de>


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

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US