ORACLE ASM环境中删除和创建表空间、增加表空间数据文件

1、列出表空间
SQL> select name from v$tablespace;
删除表空间,包括属于它的数据文件(物理上也同时删除)
SQL> drop tablespace yexu including contents and datafiles;
删除之后,查询表空间视图确认
select name from v$tablespace;


到ASM目录去验证,看物理文件是否已经删除
[Oracle@racdb1 ~]$ export ORACLE_SID=+ASM1
[oracle@racdb1 ~]$ asmcmd
ASMCMD> ls
ASMCMD> cd DATA
ASMCMD> ls
ASMCMD> cd RACDB
ASMCMD> ls
ASMCMD> cd DATAFILE
ASMCMD> ls


ASM上创建表空间,自定义目录及DATAFILE的名字
create tablespace yexu datafile '+DATA/RACDB/DATAFILE/qiu01.dbf' size 40Gautoextend on;

yexu表空间中增加一个数据文件

查v$datafile或者dba_data_files;

SQL> select name from v$datafile;

SQL> select file_name from dba_data_files;

首先查看之前文件的命名格式,以及存放目录:

select * from dba_data_files;

altertablespace yexu add datafile '+DATA/RACDB/DATAFILE/yexu02.dbf' size 30G AUTOEXTEND ON;
(###alter tablespace yexu add datafile '+DATA/RACDB/DATAFILE/yexu02.dbf' size30G AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED;)

使一个已存在的数据文件自动增长:alter tablespace datafile'+DATA/RACDB/DATAFILE/yexu02.dbf' AUTOEXTEND ON;

ps:生产系统中,一般把autoextend,自动扩展是关闭,为了好管理存储的空间,防止因打开autoextend导致磁盘被写满,而导致整个oracle宕机。
查询
SQL> select name from v$datafile;
SQL> select name from v$tablespace;