oracle常用SQL集锦
如何查看oracle 表空间得利用率
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(+);
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(+);
1 Comments
超出表空间限额
最近往oracle数据库里导入一些数据时报这个错
ORA-01536: space quota exceed for tablespace "USERS"
意思就是说表空间USERS已经满了。
于是通过oracle的管理界面将USERS表空间增大了1G,可还是不行,重启服务,重启数据库继续报那个错。
上网查原因,原来是连接oracle数据库的用户在某个表空间的配额也是有限制的。
用sys用户执行一下命令 ALTER USER name QUOTA UNLIMITED ON USERS;
去调用户在USERS表空间上配额的限制即可。
ORA-01536: space quota exceed for tablespace "USERS"
意思就是说表空间USERS已经满了。
于是通过oracle的管理界面将USERS表空间增大了1G,可还是不行,重启服务,重启数据库继续报那个错。
上网查原因,原来是连接oracle数据库的用户在某个表空间的配额也是有限制的。
用sys用户执行一下命令 ALTER USER name QUOTA UNLIMITED ON USERS;
去调用户在USERS表空间上配额的限制即可。