oracle数据库的系统表空间system,sysaux的使用率很高与磁盘空间满导致数据库无法登陆
程序员文章站
2022-07-01 09:41:47
...
服务器上的表空间情况如下:
表空间名 表空间大小(M) 已使用空间(M) 使用比 空闲空间(M) 最大块(M)
LMS_TABLESPACE 32 .44 1.38 31.56 30.81
SYSAUX 310 309.25 99.76 .75 .75
SYSTEM 450 440.69 97.93 9.31 8.94
UNDOTBS1 25 11.75 47.00 13.25 11.94
USERS 5 .44 8.80 4.56 4.56
检查看出SYSAUX和SYSTEM空间使用率达到99.76%和97.93%
对于这样的情况的解决方法如下:
1.先查看system和sysaux表空间是否是自动扩展的.
select tablespace_name,AUTOEXTENSIBLE,INCREMENT_BY from dba_data_files;
#如果为自动扩展,那么AUTOEXTENSIBLE字段的值为YES,否则为NO;INCREMENT_BY 的值为自动扩展的空间大小
2.如果你的系统表空间不是自动扩展的,可为其增加自动扩展
a.增加system表空间的数据文件。
alter tablespace system add datafile'D:\oraceleXE\oradata\XE\system_01.dbf' resize 1024M;
b.更改system的数据文件,让其自动扩展,并扩大其大小。
alter dayabase datafile'D:\oracleXE\oradata\XE\system_01.dbf' autoextend on;
alter database datafile 'D:\oracleXE\oradata\XE\system_01.dbf' resize 2048M;
删除审计
truncate table SYS.SUD$
数据库服务器磁盘空间满导致数据库无法登陆
登陆测试数据库,此时由于磁盘满,无法登陆数据库,通过数据库启动初始化文件或者pfile、spfile文件查找确定数据库归档文件存放路径
cd $ORACLE_HONE/dbs
ls
more spfilecenter.ora
cdd /u02/oradata/center/archive
find /u02/oradata/center/archive -mtime +1 -name ".dbf"-exec rm -rf{} \;
rman target /
crosscheck archivelog all;
delete expired archivelog all;
report obsolete;
delete obsolete;
crosschech archivelog all;
shut down immediate;
start mount;
alter database noarchivelog;
alter database open;
上一篇: 最终一致性:BASE论文笔记
下一篇: 车从来没有爆笑奇闻