【ORA 错误及解决】ORA-30036

本文介绍了Oracle数据库中遇到ORA-30036错误时,如何分析和解决UNDO表空间过大问题。包括:检查UNDO表空间占用、创建新表空间、动态更改配置、删除原表空间等步骤,并详细讲解了UNDO表空间的作用、管理参数以及相关统计信息的查询方法。
摘要由CSDN通过智能技术生成
故障现象:UNDO表空间越来越大,长此下去最终数据因为磁盘空间不足而崩溃;
问题分析:产生问题的原因主要以下两点:
1. 有较大的事务量让Oracle Undo自动扩展,产生过度占用磁盘空间的情况;
2. 有较大事务没有收缩或者没有提交所导制;
说    明:本问题在ORACLE系统管理中属于比较正常的一现象,日常维护多注意对磁盘空间的监控。
备    份: (如果没有在线事务,可以不做,关闭监听)
$>exp vas/vas file=/opt/oracle/data_1.dmp,/opt/oracle/data_2.dmp log=/opt/oracle/date.log   wner=vas rows=y indexes=y compress=n buffer=65536 feedback=100000 volsize=0 filesize=1000M
解决步骤:

1. 启动SQLPLUS,并用sys登陆到数据库。
#su - oracle
$>sqlplus /nolog
SQL*Plus: Release 9.2.0.4.0 - Production on Wed Nov 8 13:45:10 2006
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn sys/qq994238@ddptest as sysdba;
Connected.
2. 查找数据库的UNDO表空间名
#cat $ORACLE_HOME/dbs/initddptest.ora
……
*.undo_management=’AUTO’
*.undo_retention=10800
*.undo_tablespace=’UNDOTBS2’
……

3. 确认UNDO表空间;
SQL> select name from v$tablespace;

NAME
------------------------------
CWMLITE
DRSYS
EXAMPLE
INDX
ODM
SYSTEM
TOOLS
USERS
XDB
TEMP
TESTLIB
UNDOTBS2

4. 检查数据库UNDO表空间占用空间情况以及数据文件存放位置;
SQL>select file_name,bytes/1024/1024 from dba_data_files
   2 where tablespace_name like 'UNDOTBS2';

5. 查看回滚段的使用情况,哪个用户正在使用回滚段的资源,如果有用户最好更换时间(特别是生产环境)。

SQL> select s.username, u.name from v$transaction t,v$rollstat r,
2 v$rollname u,v$session s where s.taddr=t.addr and
3 t.xidusn&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值