欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

oracle-system提示表空间已满的解决方式

程序员文章站 2022-06-17 19:10:52
1.登录 sqlplus /nolog conn / as sysdba 2.查询表空间使用状况 select upper(f.tablespace_name) "表空间名&qu...

1.登录

sqlplus /nolog
conn / as sysdba

2.查询表空间使用状况

select upper(f.tablespace_name) "表空间名", 
d.tot_grootte_mb "表空间大小(m)", 
d.tot_grootte_mb - f.total_bytes "已使用空间(m)", 
to_char(round((d.tot_grootte_mb - f.total_bytes) / d.tot_grootte_mb * 100,2),'990.99') "使用比", 
f.total_bytes "空闲空间(m)", 
f.max_bytes "最大块(m)" 
from (select tablespace_name, 
round(sum(bytes) / (1024 * 1024), 2) total_bytes, 
round(max(bytes) / (1024 * 1024), 2) max_bytes 
from sys.dba_free_space 
group by tablespace_name) f, 
(select dd.tablespace_name, 
round(sum(dd.bytes) / (1024 * 1024), 2) tot_grootte_mb 
from sys.dba_data_files dd 
group by dd.tablespace_name) d 
where d.tablespace_name = f.tablespace_name 
order by 4 desc; 

3.查看一下表空间是否开启自动扩展功能

select t.tablespace_name,d.file_name,d.autoextensible,d.bytes,d.maxbytes,d.status 
from dba_tablespaces t,dba_data_files d 
where t.tablespace_name =d.tablespace_name 
order by tablespace_name,file_name; 

oracle-system提示表空间已满的解决方式

4.遇到这种问题,网上有很多种方法,我才疏学浅,只用成功了一种,就是把自动扩展功能打开:喎? f/ware/vc/"="" target="_blank" class="keylink">vcd4ncjxwprdrse2/1bzktctk/b7dzss8/snozqrx1lav1pazpgfsdgvyigrhdgfiyxnligrhdgfmawxlicyjmzk7l29wdc9vcmfjbguvb3jhzgf0ys9vcmexmwcvc3lzdgvtlmriziyjmzk7igf1dg9lehrlbmqgb24gbmv4dcaxme0gbwf4c2l6zsb1bmxpbwl0zwq7pc9wpg0kpha+sru5/dxi1ta3vbeosru9qnlpyrntw6os0vloqrvhtbzwwtxiupax7b/vvotoxlz+zku088hlo6yy6dgv0ts686osu7nt0mbky/u3vbeoo6zpymhq1nrv4sdvo6zi57n70ts689pqyrntw7xeu7cjrnkyv8ns1llov7yhozwvcd4ncjxwprwryofjz8/uyr61xlttzvpqxc+i0tg+rdaxvdpltcp3o7o8l3a+dqo8cd7su8rho7rk/b7dv+k1xmnzvma5pstc0tg+rb+qxvsjqfnzuy5bvuqkse2jrna709c/qshlyfo8xrmmxnyyxbvhz/lg5nbqsuxi68r9vt2jqaostv7kx6o6c3lzdgvtse2/1bzksrvx48hlpc9wpg0kpha+xus94r72tcs3vbeo09dbvbj2o7o8l3a+dqo8cd4xo6naqvnzu1rftbhtv9w85kosu/lv38flwo1twvmuqvvejlhto7s8l3a+dqo8cd7aqdw5se2/1bzkv8ns1llov7zi58/ct723qko6pc9wpg0kpha+t723qnk7o7rk1rav1tjj6lki1pa807htv9w85hric2u1xmr9vt3oxlz+tppqotwvcd4ncjxwcmugy2xhc3m9"brush:sql;"> sql> alter database datafile '/opt/oracle/oradata/ora11g/system.dbf' resize 20g;

方法二:把表空间的数据文件设为自动增长(不建议使用此方法)

  sql> alter database datafile '/opt/oracle/oradata/ora11g/system.dbf' autoextend on next 10m maxsize unlimited;

  一个表空间数据库文件最大可以扩展到32g。

方法三:增加新的数据文件(建议使用此方法)

  sql> alter tablespace system add datafile '/opt/oracle/oradata/ora11g/system2.dbf' size 10g autoextend off;

下面语句清理审计表,释放表空间:

sqlplus / as sysdba

truncate table sys.aud$;

2)关闭审计功能:(关闭审计需要重新启动oracle

sql> show parameter audit

name type value


audit_file_dest string /oracle/app/admin/ora11g/adump

audit_sys_operations boolean true

audit_syslog_level string

audit_trail string db –>说明已经开启审计功能

sql>

执行下面sql:

sql>alter system set audit_trail=none scope=spfile;

直接使用spfile文件中的审计功能参考audit_trail为none,即关闭审计功能。

执行完后,重启数据库。

启动后查看:

sql> show parameter audit_trail

name type value

audit_trail string none

system表空间现在又能插入数据了。

喎?>