oracle数据库undo、sysaux、hisdata等空间满的处理办法
(2018-08-23 20:51:17)| 标签: it | 
			问题描述:
出现问题现场出现数据访问非常慢甚至无法正常访问情况
问题说明:
由于审计日志及其它日志文件功能未关闭,在服务器更改过名称及ip地址后,系统会不断产生系统相关错误日志,可能导致表空间满,或者在多次进行大数据操作但未执行完毕退出,导致回滚空间满,或者历史数据存储数量太多导致历史数据空间满。
问题解决:
1、首先查询表空间使用情况
SELECT Upper(F.TABLESPACE_NAME)       
"表空间名",
      
D.TOT_GROOTTE_MB                
"表空间大小(M)",
      
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
      
To_char(Round(( D.TOT_GROOTTE_MB - F.TOTAL_BYTES ) /
D.TOT_GROOTTE_MB * 100, 2), '990.99')
      
||
'%'                          
"使用比",
      
F.TOTAL_BYTES                   
"空闲空间(M)",
      
F.MAX_BYTES                     
"最大块(M)"
FROM  (SELECT
TABLESPACE_NAME,
              
Round(Sum(BYTES) / ( 1024 * 1024 ), 2) TOTAL_BYTES,
              
Round(Max(BYTES) / ( 1024 * 1024 ), 2) MAX_BYTES
       
FROM   SYS.DBA_FREE_SPACE
       
GROUP  BY TABLESPACE_NAME) F,
      
(SELECT DD.TABLESPACE_NAME,
              
Round(Sum(DD.BYTES) / ( 1024 * 1024 ), 2) TOT_GROOTTE_MB
       
FROM   SYS.DBA_DATA_FILES
DD
       
GROUP  BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 1
2、确认UNDO表空间名称
select name from v$tablespace;
3、检查数据库UNDO表空间占用空间情况以及数据文件存放位置;
select file_name,bytes/1024/1024 from dba_data_files where tablespace_name like 'UNDOTBS1';
UNDO表空间不够用,有两种处理方法,1,扩大表空间大小;2,创建新的UNDO表空间,删除原来的
假设:数据文件为:/oracle/oradata/undo/undotbs01.dbf
 
一、扩大UNDO表空间
(1)alter 
database  UNDOTBS1
datafile  
'/oracle/oradata/undo/undotbs01.dbf
'  
resize   4000M;
二、创建新的UNDO表空间,删除原来的
    
(1) 创建一个新的undo表空间,用来替换原来的undo表空间
 
create    
undo    
tablespace   
UNDOTBS2   
datafile   
'/oracle/oradata/log/undotbs02.dbf'                                                                                                                                                                                                                                                    
出现问题现场出现数据访问非常慢甚至无法正常访问情况
问题说明:
由于审计日志及其它日志文件功能未关闭,在服务器更改过名称及ip地址后,系统会不断产生系统相关错误日志,可能导致表空间满,或者在多次进行大数据操作但未执行完毕退出,导致回滚空间满,或者历史数据存储数量太多导致历史数据空间满。
问题解决:
1、首先查询表空间使用情况
SELECT Upper(F.TABLESPACE_NAME)
FROM
WHERE
ORDER
2、确认UNDO表空间名称
select name from v$tablespace;
3、检查数据库UNDO表空间占用空间情况以及数据文件存放位置;
select file_name,bytes/1024/1024 from dba_data_files where tablespace_name like 'UNDOTBS1';
UNDO表空间不够用,有两种处理方法,1,扩大表空间大小;2,创建新的UNDO表空间,删除原来的
假设:数据文件为:/oracle/oradata/undo/undotbs01.dbf
一、扩大UNDO表空间
(1)alter
二、创建新的UNDO表空间,删除原来的
(1) 创建一个新的undo表空间,用来替换原来的undo表空间
create
datafile

 加载中…
加载中…