Oracle表空间已满解决方案

1.使用数据库客户端查询,或登录服务器使用超级管理员通过cmd窗口查询表空间使用情况。

服务器cmd使用超级管理员登录方法:

  1. win+R,输入cmd,回车,打开cmd窗口;
  2. 以操作系统权限认证的oracle sys管理员登录:sqlplus  “/as  sysdba”(或正常登录方式:sqlplus,回车,用户名sys,回车,密码123 as sysdba,回车)

查询表空间物理文件使用情况:

SELECT T.TABLESPACE_NAME as 表空间名称,D.FILE_NAME as 文件名称,

D.AUTOEXTENSIBLE as 自动扩展,D.BYTES as 已用字节,D.MAXBYTES as 最大字节,

round(D.BYTES / (1024 * 1024*1024), 0) as 已用空间G,

round(D.MAXBYTES/(1024*1024*1024),0) as 最大空间G,

D.STATUS as 状态

FROM DBA_TABLESPACES T,DBA_DATA_FILES D

WHERE T.TABLESPACE_NAME =D.TABLESPACE_NAME

and T.TABLESPACE_NAME='SYSTEM' --表空间名称

ORDER BY T.TABLESPACE_NAME,D.FILE_NAME;

    自动扩展为YES,代表开启表空间自动扩展功能,如果为NO,请走第2步;比较已用空间和最大空间,如剩余空间已很小,请走第3步。

2.开启表空间自动扩展

alter database datafile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM.DBF' autoextend on next 10M;

3.扩容,有两种扩容方式(扩表空间或清理审计表,关闭审计功能,建议两种方法同时使用)

Oracle默认一个表空间一个物理存储文件,一个表空间最多允许有200个物理存储文件,物理存储文件最大32G。

1)第1步中如果已用空间未达到32,已用空间等于最大空间,采用扩大表空间方式:

alter database datafile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM.DBF' resize 32G;

ALTER TABLESPACE QWOS ADD DATAFILE 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM.DBF' SIZE 32768M;

一般已用空间等于最大空间后,执行上面的脚本会报错,可跳过这种设置方法,执行第2)种方法。

2)第1步中如果已用空间达到32,已用空间等于最大空间,采用增加物理存储文件方式扩容(或使用1)扩大表空间方式,仍不能增加数据):

alter tablespace SYSTEM add datafile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM2.DBF' size 10G autoextend yes;

    注意:文件路径和原来的路径最好一致,修改文件名即可。

  1. 清理审计表并关闭审计功能

truncate table SYS.AUD$;--清理审计表

    关闭审计功能

show parameter audit;

    显示audit_trail  string  DB –>说明已经开启审计功能 

alter system set audit_trail=none scope=spfile;--关闭审计功能

    执行完成后,重启数据库

    再次查询

show parameter audit_trail;

    显示audit_trail  string  NONE 表示关闭审计功能成功

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值