网友问题
数据库为Oracle 10,昨天开始oracle\product\10.2.0\flash_recovery_area\ORCL\ARCHIVELOG\下当天内的日志每秒增加一个40M的文件,文件名为O1_MF_1_1316_C5F3GRL2_.ARC,我想看看里面到底是记录的什么,是什么操作导致,但是查询网上办法都不可行,请教大神
问题链接:
http://www.itpub.net/thread-1943626-1-1.html
结论
1,在线日志文件大小与归档日志文件大小不同,归档日志文件大小正常情况下稍小于在线日志文件我理解归档日志文件大小取决于当前数据库的事务的产生量
2,没有找到控制日志文件切换的参数
3,经继续分析,此时就会有2种分支
A,如果在某个特定时间内频繁产生归档日志文件,且新增的归档日志文件稍小于在线日志文件,可以在AWR查看LOAD PROFILE中的REDO SIZE及TRASANCTION
也就是这样频增归档日志文件是正常的,是因为业务量上去了,事务增加或有新的大事务产生
B,如果频繁产生的日志文件极小,就可能是BUG了,可以在MOS去排查,结合数据库版本,归档文件大小
4,也可以到ALERT进行查看,也会有对应的信息
5,一定要深入理解AWR,里面知识点众多,要继续深入学习ORACLE概念,比如:何时归档,归档进程的概念及优化;在线日志实际占用空间以及分配空间的关系
思路演进
测试
--- oracle versionSQL> select * from v$version where rownum=1;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
---archive info
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /11204rdbms/test
Oldest online log sequence 238
Next log sequence to archive 240
Current log sequence 240
SQL> select group#,sequence#,bytes/1024/1024 mb,status from v$log;
GROUP# SEQUENCE# MB STATUS
---------- ---------- ---------- ----------------
1 238 50 INACTIVE
2 239 50 INACTIVE
3 240 50 CURRENT
--可见产生的归档文件大小不定,皆小于在线重作日志文件大小
SQL> select group#,sequence#,bytes/1024/1024 mb,status from v$log;
GROUP# SEQUENCE# MB STATUS
---------- ---------- ---------- ----------------
1 244 50 INACTIVE
2 245 50 ACTIVE
3 246 50 CURRENT
206 /11204rdbms/test/1_206_863224512.dbf 206 48.9902344
207 /11204rdbms/test/1_207_863224512.dbf 207 48.9902344
208 /11204rdbms/test/1_209_863224512.dbf 209 48.9902344
RECID NAME SEQUENCE# MB
---------- -------------------------------------------------- ---------- ----------
209 /11204rdbms/test/1_208_863224512.dbf 208 48.9902344
210 /11204rdbms/test/1_210_863224512.dbf 210 48.9902344
211 /11204rdbms/test/1_211_863224512.dbf 211 48.9902344
中间内容略
244 /11204rdbms/test/1_244_863224512.dbf 244 34.4448242
245 /11204rdbms/test/1_245_863224512.dbf 245 34.4448242
70 rows selected.
SQL>
SQL> insert into t_redo select level,level from dual connect by level<=1000000;
1000000 rows created.
SQL> insert into t_redo select level,level from dual connect by level<=1000000;
1000000 rows created.
可见每次产生的归档日志文件大小一定
SQL> select group#,sequence#,bytes/1024/1024 mb,status from v$log;
GROUP# SEQUENCE# MB STATUS
---------- ---------- ---------- ----------------
1 247 50 CURRENT
2 245 50 INACTIVE
3 246 50 ACTIVE
SQL> select recid,name,sequence#,blocks*block_size/1024/1024 as mb from v$archived_log where recid>=244;
RECID NAME SEQUENCE# MB
---------- -------------------------------------------------- ---------- ----------
244 /11204rdbms/test/1_244_863224512.dbf 244 34.4448242
245 /11204rdbms/test/1_245_863224512.dbf 245 34.4448242
246 /11204rdbms/test/1_246_863224512.dbf 246 34.4438477
--没查到相关的参数控制多次频率产生归档日志文件
set linesize 300
col name_1 for a50
col value_1 for a50
col desc1 for a50
select
ksppinm as name_1,
ksppstvl as value_1,
ksppdesc as desc1
from x$ksppi x, x$ksppcv y
where (x.indx = y.indx) and lower(x.ksppinm) like '%¶meter%';
---分析归档日志文件,看到底里面是存储什么类型的操作,从而进行针对性的分析与处理
http://blog.itpub.net/9240380/viewspace-745386/
---经进一步分析,及查阅资料,可以对比查看异常时间点的AWR,主要查看LOAD PROFILE中的REDO SIZE及TRANSACTION
1,REDO SIZE是不是比正常时间点增加很多,然后可以继续查看TOP SQL中的PHYSICAL READ
2,如果TRANSACTION不是很高,但是REDO SIZE却很高,表明数据库事务不多,但可能有一些大事务运行,请查看AWR中的TOP SQL
PHYSICAL READ,同时可以和应用开发人员沟通,是否近期新上线业务模式,调取其对应SQL进行分析
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-1847983/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9240380/viewspace-1847983/