千家信息网

日志的块大小

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,初始化参数LOG_BUFFER决定了Redo Log Buffer的大小,虽然LOG_BUFFER中的Redo Entries的大小是以bytes为单位,但是LGWR仍然以Block为单位把Redo写
千家信息网最后更新 2025年02月01日日志的块大小

初始化参数LOG_BUFFER决定了Redo Log Buffer的大小,虽然LOG_BUFFER中的Redo Entries的大小是以bytes为单位但是LGWR仍然以Block为单位把Redo写入磁盘Redo Block Size是Oracle源代码中固定的,与操作系统相关

通常的操作系统都是以512bytes为单位,如Solaris、AIX、Windows NT/2000、Linux等。这个Log Size可以从Oracle的内部视图中获得:

sys@TQGZS> select max(lebsz) from x$kccle;
MAX(LEBSZ)
----------
512

也可以从v$sysstat中的统计信息中通过计算粗略得到,如Redo Size(Redo信息的大小)、Redo Wastage(浪费的Redo的大小)、Redo Blocks Written(LGWR写出的Redo Block的数量)等额外的信息,每个Redo Block Header需要占用16 Bytes,由此可以粗略地计算Redo Block Size如下:

sys@TQGZS> select name,value from v$sysstat
2 where name in ('redo size','redo wastage','redo blocks written');
NAME VALUE
---------------------------------------- ------------
redo size 13253016
redo wastage 225776
redo blocks written 27416
sys@TQGZS> select ceil(16+(13253016+225776)/27416) rbsize from dual;
RBSIZE
----------
508

在Linux/UNIX下,Oracle还提供另外一个命令行工具可以用于检查文件的Block Size大小:

[oracle@tqgzs: ~/oradata/tqgzs]$dbfsize redo01.log
Database file: redo01.log
Database file type: file system
Database file size: 102400 512 byte blocks
[oracle@tqgzs: ~/oradata/tqgzs]$dbfsize system01.dbf
Database file: system01.dbf
Database file type: file system
Database file size: 89600 8192 byte blocks
[oracle@tqgzs: ~/oradata/tqgzs]$which dbfsize
~/product/10.2.0/db_1/bin/dbfsize

从以上的输出中可以看到,日志文件的Block Size是512 Bytes,而数据文件的Block Size为8192 Bytes。当然,也可以通过转储日志文件的方式来获取日志文件块大小,转储日志文件头可以通过如下命名实现:

alter session set events 'immediate trace name redohdr level 10';

查看跟踪文件可以得到类似如下信息,输出中的bsz就是指Redo Block Size为512Bytes:

LOG FILE #1:
(name #3) /u01/oracle/oradata/tqgzs/redo01.log
Thread 1 redo log links: forward: 2 backward: 0
siz: 0x19000 seq: 0x00000077 hws: 0x4 bsz: 512 nab: 0x2 flg: 0x1 dup: 1
Archive links: fwrd: 0 back: 0 Prev scn: 0x0000.005f5e8e
Low scn: 0x0000.005f5e90 12/13/2009 23:33:58
Next scn: 0x0000.005f5e92 12/13/2009 23:34:03

有时候当数据库出现归档错误时,也会给出提示信息,告知blocksize=512

ORA-19502: write error on file "/data1/oraarc/PTL017151.arc", blockno 169985 (blocksize=512)
  ORA-27072: skgfdisp: I/O error

文件 大小 信息 日志 单位 粗略 操作系统 可以通过 数据 系统 输出 参数 命令 就是 工具 数据库 数量 方式 有时候 源代码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 安全维护服务器 网络安全科技技术报告 word怎么把重复数据库 域服务器崩溃里面的数据怎么恢复 智联招聘软件开发成本多少钱 上海有乐网络技术 市网络安全工作制度 数据库技术属于什么系统 怎么进入我的世界多人服务器 互联网是应用了什么科技 政府网络安全招标 网络安全的含义和特征是什么 云淼互联网科技有限公司怎么样 广州庞大叮叮互联网科技怎么样 怀旧服任务服务器怎么修改 mac数据库工具哪个好用吗 高校的网络安全管理 软件开发研一部是做什么的 系统数据库无法登录怎么办 计算机网络技术文科生能学吗 word怎么把重复数据库 太仓品牌网络技术优势 大学 高度重视网络安全 ubuntu云服务器ssl转发 软件开发的技巧 房地产行业数据库 代理服务器端口映射 django 数据库连接 广东人工智能软件开发机构 济南推理服务器如何挑选
0