一、问题
同事在搭建备库,恢复控制文件时,发现控制文件达到100多G。
ASMCMD> ls -sh +AAA/BB/CONTROLFILE/current.366.1067517507 Block_Size Blocks Bytes Space Name 16K 8080777 123.3G 123.3G current.366.1067517507
二、问题分析
(1)既然控制文件达到100多G,那么确定下控制文件记录了什么内容,占了多大的空间。
set linesize 200 pagesize 200; COLUMN type FORMAT a30 HEADING 'Record Type' COLUMN record_size FORMAT 999999 HEADING 'Record|Size' COLUMN records_used FORMAT 999999 HEADING 'Records|Used' COLUMN first_index FORMAT 9999999 HEADING 'First|Index' COLUMN last_index FORMAT 9999999 HEADING 'Last|Index' COLUMN last_recid FORMAT 999999 HEADING 'Last|Record|ID' SELECT type, record_size, records_total, records_used, first_index, last_index, last_recid FROM v$controlfile_record_section;
虽然控制文件记录的内容没有太多,但是LOG HISTORY、ARCHIVED LOG、DELETED OBJECT的RECORDS_TOTAL为1亿多非常可疑。
(2)通过trace生产的控制文件,发现了如下图可疑的值
(3)在自己的测试库,用这个值手工测试了下,发现控制文件确实可以达到上100G。
CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS FORCE LOGGING ARCHIVELOG MAXLOGFILES 100 MAXLOGMEMBERS 3 MAXDATAFILES 65534 MAXINSTANCES 8 MAXLOGHISTORY 100000000 LOGFILE GROUP 1 '/u01/app/oracle/oradata/orcl/redo01.log' SIZE 200M BLOCKSIZE 512, GROUP 2 '/u01/app/oracle/oradata/orcl/redo02.log' SIZE 200M BLOCKSIZE 512, GROUP 3 '/u01/app/oracle/oradata/orcl/redo03.log' SIZE 200M BLOCKSIZE 512 DATAFILE '/u01/app/oracle/oradata/orcl/system01.dbf', '/u01/app/oracle/oradata/orcl/sysaux01.dbf', '/u01/app/oracle/oradata/orcl/undotbs01.dbf', '/u01/app/oracle/oradata/orcl/pdbseed/system01.dbf', '/u01/app/oracle/oradata/orcl/pdbseed/sysaux01.dbf', '/u01/app/oracle/oradata/orcl/users01.dbf', '/u01/app/oracle/oradata/orcl/pdbseed/undotbs01.dbf', '/u01/app/oracle/oradata/orcl/orclpdb/system01.dbf', '/u01/app/oracle/oradata/orcl/orclpdb/sysaux01.dbf', '/u01/app/oracle/oradata/orcl/orclpdb/undotbs01.dbf', '/u01/app/oracle/oradata/orcl/orclpdb/users01.dbf', '/u01/app/oracle/oradata/orcl/orclpdb/pmis_space.dbf', '/u01/app/oracle/oradata/orcl/orclpdb/pmis_index.dbf', '/u01/app/oracle/oradata/orcl/orclpdb/soe.dbf' CHARACTER SET ZHS16GBK;
(4)LOG HISTORY、ARCHIVED LOG、DELETED OBJECT的值都差不多大,是不是都依赖于MAXLOGHISTORY这个值呢?手工设置这个值为300万,让数据库成功创建控制文件。
LOG HISTORY、ARCHIVED LOG、DELETED OBJECT确实是依赖于
MAXLOGHISTORY这个值。
三、问题解决
重建控制文件
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 数据库控制文件高达100多G
数据库控制文件高达100多G
26-03-03 - Oracle 某行系统SQL优化案例(一)
Oracle 某行系统SQL优化案例(一)
26-03-03 - Oracle运行监控工具Spotlight使用测试
Oracle运行监控工具Spotlight使用测试
26-03-03 - 视频竖屏改横屏,用什么剪辑工具,批量改变视频的横竖屏比较快
视频竖屏改横屏,用什么剪辑工具,批量改变视频的横竖屏比较快
26-03-03 - 【DBA】数据库工程师DBA技能图谱
【DBA】数据库工程师DBA技能图谱
26-03-03 - [BBED]断电异常后修复Oracle数据文件(ORA-00702: bootstrap verison)
- redo损坏修复启动数据库办法
redo损坏修复启动数据库办法
26-03-03 - 【Oracle体系结构】 Oracle19C 系统结构介绍
【Oracle体系结构】 Oracle19C 系统结构介绍
26-03-03 - 多个百世快递的物流怎么批量查询的,怎样利用快递批量查询
多个百世快递的物流怎么批量查询的,怎样利用快递批量查询
26-03-03 - 从定位数据块所在ASM磁盘到ASM stripping
从定位数据块所在ASM磁盘到ASM stripping
26-03-03
