Oracle连接数及表空间已满的解决方案

          在项目实施过程中,MDC系统使用Oracle数据库时,除了常规的操作外,还会存在连接数和数据不能正常存储到实时数据表的情况,现将相关的处理记录整理如下:

一、关于连接数的修改

          Oraclel默认的连接数只有150个,在使用MDC进行数据采集时,会出现连接数超出限制而无法正常连接的情况,就需要修改默认连接数。按以下4步进行操作即可。

1、用sql语句查看当前的数据库连接数。

 select count(*) from v$process ;    --当前的数据库连接数

2、数据库允许的最大连接数

 select value from v$parameter where name ='processes';  --数据库允许的最大连接数,默认是150。

3、修改数据库最大连接数

 alter system set processes = 3000 scope = spfile;  --修改最大连接数,这里修改为3000。

4、关闭/重启数据库

 shutdown immediate; --关闭数据库
 startup; --重启数据库

二、关于表空间存储满的处理

系统使用一段时间就出现各种报错,追踪原因才发现是数据库表空间满了无法正常存储数据导致的。下面就排查的思路整理如下:
1、先查询数据库表空间的使用情况。用下面的sql语句进行查询,可以显示出各表空间的占用情况。

SELECT    a.tablespace_name,    total,    free,    total - free AS used,

    substr( free / total * 100, 1, 5 ) AS "FREE%",    substr( ( total - free ) / total * 100, 1, 5 ) AS "USED%"

FROM    (SELECT tablespace_name, sum( bytes ) / 1024 / 1024 AS total FROM dba_data_files GROUP BY tablespace_name) a,    (SELECT tablespace_name, sum( bytes ) / 1024 / 1024 AS free FROM dba_free_space GROUP BY tablespace_name) b WHERE    a.tablespace_name = b.tablespace_name ORDER BY    a.tablespace_name;

            查询结果如下图:

2、查询表空间满了有两种情况,一是先开启表空间自动扩展。使用下面的语句开启表空间文件的自动扩展(示例)。

alter database datafile 'D:\APP\YWG\ORADATA\ORCL\MDC4.DBF' autoextend on next 10M; --给MDC4的存储文件修改为自动扩展。

3、如果默认的表空间物理存储文件到达32Gb时,就需要再新建一个或多个物理存储文件,Oracle默认一个表空间只有一个物理存储文件(物理存储文件最大32G),一个表空间最多允许有200个物理存储文件。示例如下:

alter tablespace MDC add datafile 'D:\APP\YWG\ORADATA\ORCL\MDC5.DBF' size 10G autoextend yes; --给MDC表空间新建一个名为MDC5的存储文件,并自动扩展。(注意:文件路径和原来的路径最好一致,修改文件名即可。)

4、审计功能也会占用不少的存储空间,建议清理审计表并关闭审计功能。

第一步:先清理审计表,执行下面的SQL语句。(注意需要使用DBA权限的帐户来执行)

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

第二步:查看审计功能是否开启,执行下面的SQL语句。结果显示audit_trail  string  DB –>说明已经开启审计功能。

show parameter audit;

第三步:关闭审计功能,执行下面的SQL语句。

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

第四步:执行完成后,重启数据库。再次查询审计功能是否关闭,执行下面的语句查询。结果显示audit_trail  string  NONE 表示关闭审计功能成功。

show parameter audit;

                       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值