Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: delete tablespace file
Hi, Mike,
In addition to what others say, you can use the command ALTER DATABASE CREATE
DATAFILE to recreate the datafile you just deleted. It actually works quite
nicely. From documentation
(http://technet.oracle.com/docs/products/oracle8i/doc_library/817_doc/server.817/a85397/stateme3.htm#2048938)
on ALTER DATABASE:
Begin quote:
CREATE DATAFILE
Use the CREATE DATAFILE clause to create a new empty datafile in place of an
old one. You can use this clause to re-create a datafile that was lost with no
backup. The 'filename' must identify a file that is or was once part of the
database. The filespec specifies the name and size of the new datafile. If you
omit the AS clause, Oracle creates the new file with the name and size as the
file specified by 'filename'.
End quote
Oracle seems to be doing something another poster couldn't figure out how to do
(I couldn't either), i.e. if a file is deleted on UNIX while a process is
holding on it, how do you recover the file? I don't think the data in the
deleted file are in Oracle memory or OS memory except for the cached portion.
It's simply the fact that UNIX holds onto the file which is on disk until all
processes exit.
Yong Huang
yong321_at_yahoo.com
you wrote:
I have a question about something I ran across while testing.
I've created a tablespace and file, created table within that tablespace.
Now I perform maint on that table and commit.
If I delete the file for that tablespace, I can continue to see that table
and do maintenance on it.
WHy?
Is the whole table in the buffer or rollback segments?
I want to write something regarding recovery about how an instance will detect a tablespace file if its deleted while the instance is up
![]() |
![]() |