onstat -d 命令:打印 chunk 信息

使用 onstat -d 命令显示每个存储空间中 chunk 的信息。

语法:

update 选项通过更新共享内存来获得可用页的准确计数。

对 sbspace 使用 onstat -d

有关使用 onstat -d 确定 sbspaces 、用户数据区域和元数据区域的大小的信息,请参阅 Monitoring sbspaces

对 blobspace 使用 onstat -d

如果在具有 blobspace chunk 的服务器上运行 onstat -d 命令,那么数据库服务器显示以下消息:
NOTE: For BLOB chunks, the number of free pages shown is out of date.
          Run 'onstat -d update' for current stats.
要获得 blobspace chunk 的当前统计信息,请运行 onstat -d update 命令。onstat 实用程序用每个 blobspace chunk 的可用页的准确计数更新共享空间。数据库服务器显示以下消息:
Waiting for server to update BLOB chunk statistics ...

示例输出

图: onstat -d 命令输出

GBase 8s Database Server Version 11.70.F       -- On-Line -- Up 00:01:27 -- 133540 Kbytes
            
            Dbspaces
            address   number  flags     fchunk  nchunks  pgsize  flags  owner    name
            48750028  1       0x60001   1       1        2048    N  BA  gbasedbt rootdbs
            4a0bee00  2       0x60001   2       1        2048    N  BA  gbasedbt dbspace2
            2 active, 2047 maximum
            
            Chunks
            address   chunk/dbs  offset  size    free   bpages flags pathname
            487501c8  1      1   0       1000000 923615        PO-B-- /dev/raw/raw1
            49f1bda0  2      2   0       5000    4972          PO-BED /work2/dbspaces/dbs2
            2 active, 32766 maximum
            
            NOTE: The values in the "size" and "free" columns for DBspace chunks are
            displayed in terms of "pgsize" of the DBspace to which they belong.
            
            Expanded chunk capacity mode: always

对于 dbspace 的输出描述

该显示的第一部分描述存储空间:
address
是共享内存空间表中的存储空间地址
number
是创建时指定的存储空间的唯一 ID
flags
使用十六进制值描述每个存储空间。可以累积单独的标记以显示 dbspace 的累积属性。下表描述了每个十六进制值:
表 1. 每个十六进制值的描述
标记值 描述
0x0001 允许镜像且 dbspace 是未镜像的
0x0002 允许镜像且 dbspace 是已镜像的
0x0004 Dbspace 包含禁用镜像的 chunk
0x0008 新镜像的
0x0010 Blobspace
0x0200 正在恢复空间
0x0400 空间已物理恢复
0x0800 正在恢复逻辑日志
0x2000 临时 dbspace
0x4000 正在备份 blobspace
0x8000 Sbspace
0x10000 物理或逻辑日志已更改
0x20000 Dbspace 或 chunk 表已更改
0x040000 包含大 chunk 的 blobspace
0x080000 在此 dbspace 中的 chunk 已重命名
0x00100000 仅供共享磁盘辅助服务器使用的临时 dbspace 。它是在 SD 辅助服务器中列出 SDS_TEMPDBS 配置参数的其中之一的 sbspace
0x00200000 SD 辅助服务器的临时 dbspace 。在共享磁盘辅助服务器上列出了 DBSPACETEMP 配置参数
0x00400000 该 dbspace 已被外部备份
0x00800000 Dbspace 正在进行碎片整理
0x01000000 Plogspace
fchunk
第一个 chunk 的 ID
nchunks
存储空间中的 chunk 数
pgsize
Dbspace 页的大小 (以字节为单位)
flags
使用以下字母代码描述每个存储空间:
位置 1:
标记 描述
M 已镜像
N 未镜像
位置 2:
标记 描述
X 新镜像的
P 物理恢复的,正在等待逻辑恢复
L 正在进行逻辑恢复
R 正在进行恢复
D 关闭
位置 3:
标记 描述
B Blobspace
P Plogspace
S Sbspace
T 临时 dbspace
U 临时 sbspace
W 主服务器上的临时 dbspace (该标记仅在 SD 辅助服务器上显示)
位置 4:
标记 描述
B Dbspace 具有大于 2 GB 的大 chunk
位置 5:
标记 描述
A Dbspace 是自动扩展的,因为 SP_AUTOEXPAND 配置参数禁用并且 dbspace 配置了不为 0 的创建的大小或扩展大小
owner
存储空间的所有者
name
存储空间的名称

在紧随存储空间列表的行中,active 代表在数据库服务器实例中的存储空间(包括 root dbspace)的当前数量 ,maximum 代表这个数据库服务器实例总的可分配空间。

输出描述 - Chunk

onstat -d 命令输出的第二部分描述 chunk :
address
Chunk 的地址
chk/dbs
Chunk 编号和相关联的空间编号
offset
页中文件或原始设备的偏移量
size
以 chunk 所属的 dbspace 页面大小为单位表示的 chunk 的大小
free
以 chunk 所属的 dbspace 页面大小为单位表示的 chunk 的可用页数量。值为 0 指示 chunk 中的所有空间被分配到表,但不指示表中有多少可用空间。例如:假设创建了具有 200 MB chunk 的 dbspace 并创建了具有 200 MB extent 的表。那么 free 字段的值为 0(指示 chunk 没有可用空间),然而,新的空表有 200 MB 的可用空间。

对于 blobspace ,颚化符号指示可用 blobpage 的大约数量

对于 sbspace,显示用户数据空间可用页数和用户数据空间总数

bpages
是 blobpage 中 chunk 的大小

Blobpage 可以比磁盘页大;因此,bpages 值可以小于 size

对于 sbspace ,是 sbpage 中 chunk 的大小。

flags
提供如下的 chunk 状态信息:
位置 1:
标记 描述
P
M 镜像
位置 2:
标记 描述
N 已重命名切实关闭或不一致的
O 联机
D 关闭
X 新镜像的
I 不一致的
位置 3:
标记 描述
- Dbspace
B Blobspace
S Sbspace
位置 4:
标记 描述
B Dbspace 具有大于 2 GB 的大 chunk
位置 5:
标记 描述
E 指示该 chunk 是可扩展的
- 指示该 chunk 是不可扩展的
位置 6:
标记 描述
- 为此熟的文件 chunk 不启用直接 I/O 选项或并发 I/O 选项
C 在 AIX® 上,为此熟的文件 chunk 启用并发 I/O 选项
D 为此熟的文件 chunk 启用直接 I/O 选项
pathname
物理设备的路径名

在紧随 chunk 列表的行中,active 显示活动 chunk(包括 root chunk)的数量,maximum 显示 chunk 的总数。

有关页读取和页写入的信息,请运行 onstat -D 命令。