--查询表空间 SELECT * FROM Dba_Data_Files ddf WHERE ddf.tablespace_name = 'USERS'; --新建表空间 指定数据文件 create tablespace T1_TS datafile '/data/oracle/oradata/orcl/T1_TS01.dbf' size 10240M --存储地址 初始大小 autoextend on next 1024M maxsize unlimited --每次扩展,无限制扩展 EXTENT MANAGEMENT local autoallocate segment space management auto; --新建临时表空间 指定数据文件 create temporary tablespace T1_TS_TMP tempfile '/data/oracle/oradata/orcl/T1_TS_TMP01.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; --新建用户 create user szyl identified by szyl default tablespace T1_TS temporary tablespace T1_TS_TMP grant dba to szyl --修改表空间数据文件可扩展大小 ALTER DATABASE DATAFILE '/data/oracle/oradata/orcl/T1_TS01.DBF' AUTOEXTEND ON NEXT 100M MAXSIZE 24000M; --收缩表空间,因为可能表删除了释放了空间。但只能收缩数据文件末尾的连续的没有使用的存储块。想删除中间的,需要移动数据表索引 alter database datafile '/data/oracle/oradata/orcl/T1_TS01.DBF' resize 23000M; --查询数据文件实际存储的数据大小,当前总扩展大小,可收缩空间大小 SELECT a.tablespace_name, file_name, c.VALUE / 1024 "Blk. size(Kb)", CEIL ((NVL (hwm, 1) * c.VALUE) / 1024 / 1024) "smallest(Mb) - HWM", CEIL (blocks * c.VALUE / 1024 / 1024) "currsize(Mb)", CEIL (blocks * c.VALUE / 1024 / 1024) - CEIL ((NVL (hwm, 1) * c.VALUE) / 1024 / 1024) "savings(Mb)" FROM dba_data_files a, (SELECT file_id, MAX (block_id + blocks - 1) hwm FROM dba_extents GROUP BY file_id) b, (SELECT VALUE FROM v$parameter WHERE NAME = 'db_block_size') c WHERE a.file_id = b.file_id(+) and a.status !='INVALID'; --增加表空间数据文件 alter tablespace T1_TS add datafile '/home/oracle/oradata/orcl/T1_TS02.DBF' size 500M AUTOEXTEND on next 100m MAXSIZE 20480M; --删除表空间数据文件,前提是还没有存储数据(空数据文件) Alter tablespace T1_TS drop datafile '/home/oracle/oradata/orcl/T1_TS03.DBF'; --脱机表空间数据文件,但这并不是删除。若将数据文件物理删除了,还需要数据字典信息等删除(未验证),或脱机暂不管它 ALTER DATABASE DATAFILE '/home/oracle/oradata/orcl/T1_TS02.DBF' offline drop; --删除整个表空间包括数据文件 drop tablespace T1_TS including contents and datafiles cascade constraint; --查询回收站 SELECT t.object_name,t.type ,t.original_name FROM user_recyclebin t; --回收站清理 purge recyclebin ;