您的位置:首页 > 数据库 > Oracle

Oracle表空间管理相关SQL语句

2010-09-07 21:12 393 查看
1,查询表空间利用率

select a.tablespace_name, round(a.total_size) "total_size(MB)",

round(a.total_size)-round(b.free_size,3) "used_size(MB)",

round(b.free_size,3) "free_size(MB)", round(b.free_size/total_size*100,2)||'%' free_rate

from ( select tablespace_name, sum(bytes)/1024/1024 total_size

from dba_data_files

group by tablespace_name ) a,

( select tablespace_name, sum(bytes)/1024/1024 free_size

from dba_free_space

group by tablespace_name ) b

where a.tablespace_name = b.tablespace_name(+);

2,查询所有的数据库文件

select * from dba_data_files;

3,修改数据库文件为自动增长

alter database datafile '/opt/oracle/system/sysaux.dbf' autoextend on next 50m;

4,修改数据库文件大小

alter database datafile '/opt/oracle/data/data.dbf' resize 2048m;

5,移动表空间文件

SQL> shutdown immediate;

[oracle@wml ~]$ mv /u01/oradata/ufgov2.dbf /u01/oradata/wml/ufgov2.dbf

SQL> startup mount

SQL> alter database rename file '/u01/oradata/ufgov2.dbf' to '/u01/oradata/wml/ufgov2.dbf';

Database altered.

SQL> alter database open;

Database altered.

6,删除表空间

drop tablespace ufgov including contents and datafiles;

7,查看表和索引占用表空间的情况

select * from dba_segments;

8,查看类型、触发器、包、存储过程、函数占用的表空间大小

select * from dba_object_size;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: