oracle 表空间不够处理

1、查询表空间情况:

select b.file_id  文件ID,
  b.tablespace_name  表空间,
  b.file_name     物理文件名,
  b.bytes       总字节数,
  (b.bytes-sum(nvl(a.bytes,0)))   已使用,
  sum(nvl(a.bytes,0))        剩余,
  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_name,b.file_id,b.bytes
  order by b.tablespace_name

 

 

2、新增表空间文件

alter tablespace ehrds  add datafile '/data/oracle/ehrds/ehrds1.dbf' size 32m autoextend on next 32m maxsize unlimited

注意,

1.  路径/data/oracle/ehrds/ 应跟查出来的表空间路径对应

2. ehrds1 根据实际情况命名,不要重复

 

3. 数据库删除用户,删除表空间,释放磁盘文件

--锁定用户
alter user EHRDS2020 account lock;
--查看用户使用的线程
select saddr,sid,serial#,paddr,username,status from v$session where username ='EHRDS2020'
--干掉这个线程
alter system kill session '1266,25020';
--删除用户
drop user EHRDS2020 cascade;
--删除表空间
drop tablespace EHRDS2020 including contents and datafiles cascade constraint;
--重启数据库,如果不重启,变空间文件还被使用,磁盘不会释放
shutdown abort
startup

 

posted @ 2022-10-20 14:43  leolzi  阅读(131)  评论(0编辑  收藏  举报