创建表空间
SQL> create tablespace TEST datafile='+DATA/rac/datafile/test01.dbf' size 1g;
Tablespace created.
删除表空间:
SQL> drop tablespace test;
Tablespace dropped.
结果发现再次创建的时候出现问题:
SQL> create tablespace TESTdatafile '+DATA/rac/datafile/test01.dbf' size 1g;
create tablespace TEST datafile '+DATA/rac/datafile/test01.dbf' size 1g
*
ERROR at line 1:
ORA-01119: error in creating database file
'+DATA/rac/datafile/test01.dbf''
ORA-17502: ksfdcre:4 Failed to create file
+DATA/rac/datafile/test01.dbf
ORA-15005: name "rac/datafile/test01.dbf" is already used by an
existing alias
提示已经存在数据文件
有一个快速解决的方法就是在创建一个别的表空间数据文件,但这样os上的数据文件没有删除,还在占用空间
所以需要将原来的test01.dbf这文件删除掉或者重新利用
但是登录asmcmd后,rm这个文件报错,提示oracle正在使用,无法删除,这就很尴尬了,查找后发现是oracle的bug,关掉数据库后才能删除!不能因为这一个表空间的数据文件把库关里呀。所以有最合理的办法:
办法如下:
再次利用该数据文件
SQL> create tablespace TEST datafile '+DATA/rac/datafile/test01.dbf' ;
Tablespace created.
之后再删除:一定要加参数
SQL> drop tablespace test INCLUDING CONTENTS and datafiles;
Tablespace dropped.
这样再次查看就全部正常了!