oracle表空间操作总结

查看用户默认的表空间.sql

select username,default_tablespace from dba_users;

查看各个表空间占用磁盘情况.sql

select
b.file_id
 文件ID,
b.tablespace_name
 表空间名,
b.bytes/1024/1024||'M'
字节数,
(b.bytes-sum(nvl(a.bytes,0)))/1024/1024||'M'
 已使用,
sum(nvl(a.bytes,0))/1024/1024||'M'
 剩余空间,
100 - sum(nvl(a.bytes,0))/(b.bytes)*100
 占用百分比 
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_id,b.bytes
order by b.file_id


以上2者关联,就是查看用户默认表空间使用情况的sql语句:

Select *
FROM
       (select username,default_tablespace from dba_users) ut,
       (select
       --b.file_id
 文件ID,
       b.tablespace_name
 表空间名,
       b.bytes/1024/1024||'M'
字节数,
       (b.bytes-sum(nvl(a.bytes,0)))/1024/1024||'M'
 已使用,
       sum(nvl(a.bytes,0))/1024/1024||'M'
 剩余空间,
       100 - sum(nvl(a.bytes,0))/(b.bytes)*100
 占用百分比 
       from dba_free_space a,dba_data_files b
       where a.file_id=b.file_id
       group by b.tablespace_name,b.file_id,b.bytes
       order by b.file_id ) tsu
Where ut.default_tablespace = tsu.
表空间名
orDER BY ut.username

 

首先查看表空间的名字和所属文件

select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;

1.增加数据文件
ALTER TABLESPACE users
ADD DATAFILE 'F:/peijian1/users17.dbf' SIZE 1000M;

2.手动增加数据文件尺寸
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf'
RESIZE 4000M;

3.设定数据文件自动扩展
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf
AUTOEXTEND ON NEXT 100M
MAXSIZE 10000M;

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1.首先查看表空间的名字和所属文件
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;

 

    2.增加数据文件

alter tablespace users add datafile '/u01/oracle/oradata/umail/users02.dbf' size 4000M autoextend off;
alter database datafile '/u01/oracle/oradata/umail/user01.dbf' autoextend off;

    3.设定后查看表空间信息
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"
FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;

--------------------------------------------------------------------------------------------------

表空间不足 问题的解决
  ORA-01536: space quota exceeded for tablespace
  
  方法一:SQL> alter user test quota unlimited on testtablespace;
   
  User altered.
  
  
  方法二:SQL> alter user test default tablespace testtablespace
    2  quota 0 on system
    3  quota 500M on testtablespace
    4  /
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值