datafile如何删除

[复制链接]
查看11 | 回复8 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
sql>alter database
datafile '/app/oracle/oradata/testdbs/cwmlite02.dbf' offline drop;
rm /app/oracle/oradata/testdbs/cwmlite02.dbf
ls /app/oracle/oradata/testdbs/cwmlite02.dbf
ls: /app/oracle/oradata/testdbs/cwmlite02.dbf: No such file or directory
sql>select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/app/oracle/oradata/testdbs/NETMONINFOIND.dbf
/app/oracle/oradata/testdbs/NETMONSPE.dbf
/app/oracle/oradata/testdbs/NETMONSPEIND.dbf
/app/oracle/oradata/testdbs/NETMONTEMP.dbf
/app/oracle/oradata/testdbs/.dbf
/app/oracle/oradata/testdbs/cwmlite02.dbf
我都已经把数据库重新启动了一次,然后发现还是可以在v$datafile里面看到这个数据文件的定义
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
drop tablespace.
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
好像可以DROP TABLESPACE的同时删除相对应的DATAFILE的吧
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
drop tablespace tt include contents and datafiles;
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
一个datafile加入后就不能再那么容易删除下来了。alter database只是在control file中标识该datafile offline。
只能重建tablespace才能彻底去掉它。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
tempfile是否可以直接offline drop?
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
如果表空间里面有多个datafile,如果加错datafile删不掉,导出数据后重建吧,10G好像有这个功能
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
关注一下
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
给个参考:
You use the DROP DATAFILE and DROP TEMPFILE clauses of the ALTER TABLESPACE command to drop a single datafile or tempfile. The datafile must be empty. (A datafile is considered to be empty when no extents remain allocated from it.) When you drop a datafile or tempfile, references to the datafile or tempfile are removed from the data dictionary and control files, and the physical file is deleted from the file system or Automatic Storage Management (ASM) disk group.
The following example drops the datafile identified by the alias example_df3.f in the ASM disk group DGROUP1. The datafile belongs to the example tablespace.
ALTER TABLESPACE example DROP DATAFILE '+DGROUP1/example_df3.f';
The next example drops the tempfile lmtemp02.dbf, which belongs to the lmtemp tablespace.
ALTER TABLESPACE lmtemp DROP TEMPFILE '/u02/oracle/data/lmtemp02.dbf';
This is equivalent to the following statement:
ALTER DATABASE TEMPFILE '/u02/oracle/data/lmtemp02.dbf' DROP
INCLUDING DATAFILES;

Restrictions for Dropping Datafiles
The following are restrictions for dropping datafiles and tempfiles:
The database must be open.
If a datafile is not empty, it cannot be dropped.
If you must remove a datafile that is not empty and that cannot be made empty by dropping schema objects, you must drop the tablespace that contains the datafile.
You cannot drop the first or only datafile in a tablespace.
This means that DROP DATAFILE cannot be used with a bigfile tablespace.
You cannot drop datafiles in a read-only tablespace.
You cannot drop datafiles in the SYSTEM tablespace.
If a datafile in a locally managed tablespace is offline, it cannot be dropped.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行