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

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;