informix表详解

《informix sysmaster表详解》
一、实例信息
*sysconfig ————>; onconfig文件
*sysprofile————>;服务器统计信息
*syslog————>;逻辑日志
*sysvpprof————>;虚拟处理器
create table "sysmaster".sysconfig{服务器配置参数}
(
  cf_id  integer,   {唯一数字标志符}
  cf_name  char(18),  {onconfig参数名}
  cf_flags    integer,   {标志,0=在视图中}
  cf_original  char(256), {启动时在onconfig中的值}
  cf_effective char(256), {实际使用的值}
  cf_default   char(256)  {onconfig文件中不指定时默认使用的值}
);
grant select on sysconfig to public;

create table "sysmaster".sysprofile{服务器概貌信息}
(
  namechar(13),{概貌元素名}
  valueinteger   {当前值}
);
grant select on sysprofile to public;

create table "sysmaster".syslogs{逻辑日志信息}
(
  numbersmallint, {日志文件号}
  uniqid integer,  {日志文件唯一ID}
  sizeinteger,  {日志文件页}
  usedinteger,  {日志文件使用的页}
  is_usedinteger,  {1为已用,0为未用}
  is_currentinteger,  {1为当前}
  is_backed_upinteger,  {1为备份}
  is_newinteger,  {1为新}
  is_archivedinteger,  {1为存档}
  is_tempinteger,  {1为临时}
  flags   smallint  {日志文件标志}
);
grant select on syslogs to public;

create table "sysmaster".sysvpprof{虚处理器信息与统计}
(
  vpidinteger, {虚拟处理器}
  classchar(50, {虚拟处理器类名(cpu, adm, lio, pio等)}
  usercpufloat,   {用户时间unix秒数}
  syscpu  float    {系统时间unix秒数}
);
grant select on sysvpprof to public;

二、dbspace与块信息
*sysdbspaces————>;dbspace
*syschunks————>;块
*syschkio————>;块I/O
*syschfree————>;块自由空间注:syschfree是个不支持的表

create table "sysmaster".sysdbspaces{dbspace配置}
(
  dbsnumsmallint, {dbspace号}
  namechar(18), {dbspace名}
  ownerchar(8),  {dbspace拥有者}
  fchunksmallint, {dbspace第一块}
  nchunkssmallint, {dbspace块数}   
  is_mirroredinteger,  {dbspace是否镜像 1=YES,0=NO}
  is_blobspaceinteger,  {dbspace是否大对象空间}
  is_tempinteger,  {dbspace是否临时,1=YES,0=NO}
  flagssmallint  {dbspace标志}
);
grant select on sysdbspaces to public;

create table "sysmaster".syschunks{chunk配置}
(
  chknumsmallint, {chunk号}
  dbsnumsmallint, {dbspace号}
  nxchknumsmallint, {dbspace中下一个块号}
  chksizeinteger,  {chunk中的页}
  offsetinteger,  {设备页偏移量}
  nfreeinteger,  {块中未用页数} 
  is_offlineinteger,  {chunk是否脱机,1=YES,0=NO}
  is_recoveringinteger,  {chunk是否恢复,1=YES,0=NO}
  is_blobchunkinteger,  {chunk是否blobchunk,1=YES,0=NO} 
  is_inconsistent integer,{chunk是否不一致,1=YES,0=NO}
  flagssmallint, {由bitbal转换的块标志}
  fnamechar(128),{设备路径名} 
  mfnamechar(128),{镜像设备路径名}
  moffsetinteger,  {镜像设备偏移量}
  mis_offlineinteger,  {镜像是否脱机,1=YES,0=NO}
  mis_recovering integer, {镜像是否恢复,1=YES,0=NO}
  mflagssmallint  {镜像块标志}
);
grant select on syschunks to public;

create table "sysmaster".syschfree{显示块中的未用空间块}
(   
  chknum  integer,{ chunk number      块号     }
  extnum  integer,{ extent numberin chunk 块区域号     }
  start   integer,{ physical addr of start 开始物理地址 }
  leng    integer{ length of extent 区域长度     }
);
create unique index syschfreeidx on syschfree (chknum, extnum);
revoke all on syschfree from public;
grant select on syschfree to public;


sysindices

create table "sysmaster".syschkio{块设备I/O统计信息}
(
  chunknumsmallint, {块号}   
  readsinteger,  {读操作数}
  pagesreadinteger,  {读页数}       
  writesinteger,  {写操作数}
  pageswritteninteger,  {写页数}   
  mreadsinteger,  {镜像读操作数}
  mpagesreadinteger,  {镜像读页数}  
  mwritesinteger,  {镜像写操作数}
  mpageswritteninteger   {镜像写页数}
);
grant select on syschkio to public;

三、数据库与表信息
*sysdatabases————>;数据库
*systabnames————>;表
*sysextents————>;表区域
*sysptprof————>;表I/O

create table "sysmaster".sysdatabase{实例中所有的数据库信息}
(
  namechar(18), {数据库名}
  partnuminteger,  {systables表ID}
  ownerchar(8),  {生成者用户名}
  createdinteger,  {生成日期}
  is_logginginteger,  {无缓冲日志,1=YES,0=NO}
  is_buff_loginteger,  {缓冲日志,1=YES,0=NO}
  is_ansiinteger,  {ANSI方式数据库1=YES,0=NO}     
  is_nlsinteger,  {NLS支持,1=YES,0=NO}
  flagssmallint  {指示日志的标志}
);
grant select on sysdatabase to public;

create table "sysmaster".systabnames{实例中的所有表}
(
  partnuminteger,{ table id for table 表号}
  dbsnamechar(18),{ database name数据库名}
  ownerchar(8),{ table owner表拥有者}
  tabnamechar(18),{ table name           表名}
  collate       char(32)        { collation assoc with database 与GLS的相关性}
);
create unique index systabs_pnix on systabnames(partnum);
revoke all on systabnames from public;
grant select on systabnames to public;

create table "sysmaster".sysextents{实例中的表和每个区域}
(
  dbsnamechar(18), {数据库名}
  tabnamechar(18), {表名}
  startinteger,  {这个区域的物理地址}
  sizeinteger   {这个区域的长度(页数)}
);
grant select on sysextents to public;

create table "sysmaster".sysptnext{区域的信息}
(
  pe_partnum integer,{ partnum for this partition这个区域的编号}
  pe_extnum  smallint,{ extent number区域号}
  pe_phys integer,{ physical addr for this extent这个区域的物理地址}
  pe_size integer,{ size of this extent这个区域的长度(页数)}
  pe_log  integer{ logical page for start开始逻辑页}
);
create unique index sysptnextidx on sysptnext (pe_partnum, pe_extnum);
revoke all on sysptnext from public;
grant select on sysptnext to public;

create table "sysmaster".sysptprof{表I/O概貌}
(
  dbsnamechar(18), {数据库名}
  tabnamechar(18), {表名    }
  partnuminteger, {表编号  }
  lockreqsinteger, {锁请求  }
  lockwtsinteger, {锁等待  }
  deadlksinteger, {死锁    }
  lktoutsinteger, {锁超时  }
  isreadsinteger, {读      }
  iswritesinteger, {写入    }
  isrewritesinteger, {改写    }
  isdeletesinteger,{删除    }
  bufreadsintegerinteger,{缓冲区读}
  bufwritesinteger, {行冲区写}
  seqscansinteger, {顺序扫描}
  pagreadsinteger,{磁盘读  }
  pagwritesinteger{磁盘写  }
);
grant select on sysptprof to public;

四、用户对话信息
*syssessions————————>;对话数据
*syssesprof————————>;用户统计信息
*syslocks                ————————>;用户锁
*syseswts————————>;等待时间

create table "sysmaster".syssessions{用户对话与连接信息}
(
  sidinteger, {对话号}
  usernamechar(8), {用户名}
  uidsmallint,{用户unix号}
  pidinteger, {用户进程号}
  hostnamechar(16),{主机名}
  ttychar(16),{tty端口}
  connectedinteger, {用户连接时间}
  feprogramchar(16),{程序名}
  pooladdrinteger, {专有对话池指针}
  is_wlatchinteger, {标志1=YES,0=NO,等待锁存}
  is_wlockinteger, {标志1=YES,0=NO,等待锁}
  is_wbuffinteger, {标志1=YES,0=NO,等待缓冲区}
  is_wckptinteger, {标志1=YES,0=NO,等待校验点}
  is_wlogbufinteger, {标志1=YES,0=NO,等待日志缓冲区}
  is_wtransinteger, {标志1=YES,0=NO,等待事务}
  is_monitorinteger, {标志1=YES,0=NO,监视进程}
  is_incritinteger, {标志1=YES,0=NO,在关键段中}
  stateinteger  {标志}
);
grant select on syssessions to public;

create table "sysmaster".syssesprof{用户对话性能统计}
(
  sidinteger,   {对话号}
  lockreqsdecimal(16,0),    {请求的锁}
  lockshelddecimal(16,0),    {锁保持}
  lockwtsdecimal(16,0),    {锁等待 }
  deadlksdecimal(16,0),    {发现的死锁}
  lktoutsdecimal(16,0),    {死锁超时}
  logrecsdecimal(16,0),    {逻辑日志记录写入}
  isreadsdecimal(16,0),    {读}
  iswritesdecimal(16,0),    {写}
  isrewritesdecimal(16,0),    {改写}
  isdeletesdecimal(16,0),    {删除}
  iscommitsdecimal(16,0),    {提交}
  isrollbacksdecimal(16,0),    {撤销}
  longtxsdecimal(16,0),    {长事务}
  bufreadsdecimal(16,0),    {缓冲区读}
  bufwritesdecimal(16,0),    {缓冲区写}
  seqscansdecimal(16,0),    {顺序扫描}
  pagreadsdecimal(16,0),    {页读}
  pagwritesdecimal(16,0),    {页写}
  total_sortsdecimal(16,0),    {总排序}
  dsksortsdecimal(16,0),    {磁盘排序}
  max_sortdiskspace  decimal(16,0),{排序使用的最大空间}
  logspuseddecimal(16,0),    {当前使用的日志字节}
  maxlogspdecimal(16,0)     {逻辑日志使用的最大空间}
);
grant select on syssesprof to public;

create table "sysmaster".syslocks{服务器上的锁活动}
(
  dbsnamechar(18), {数据库}
  tabnamechar(18), {表名}
  rowidlkinteger,  {索引关键字锁的行号}
  keynumsmallint, {索引关键字锁的关键字号}
  typeinteger,  {锁拥有者对话ID}
  ownerinteger,  {第一个等待者对话ID}
  waiterchar(4)   {锁类型}
);
grant select on syslocks to public;
{*******************************************************
注:锁类型包括
*B——————>;byte lock(字节锁)
*IS——————>;intent shared lock(意图共享锁)
*S——————>;shared lock(共享锁)
*XS——————>;repeatable read shared key(可重复读共享锁)
*U——————>;update lock(更新锁)
*IX——————>;intent exclusive lock(意图独占锁)
*SIX——————>;shared intent exclusive(共享意图独占锁)
*X——————>;exclusive lock(独占锁)
*XR——————>;repreatable read exclusive(可重复读独占锁)
基本说来,这些锁类型是三种锁的组合:共享锁(S)、独占锁(X)、更新锁(U)。共享锁使其他用户也能读数据,但不能改变数据。独占锁不让其他用户共享数据。
更新锁在更新数据时不让其他用户改变数据。
IDS中可以锁定的对象包括:
*数据库——————>;每个用户打开数据库时即对数据库采用共享锁,防止别人删除正在使用的数据。这个操作显示为sysmaster数据库和sysdatabase表中的锁,rowid指向包含数据库名的记录。
*表——————>;表锁显示为表上的锁,rowid为0,keynum为0。
*页——————>;页锁显示为rowid以00结尾,即页中的所有行均锁定。
*行——————>;行锁显示实际rowid(不以00结尾)。
*键——————>;键锁显示为keynum如果行的索引需要更新,则锁在该行的索引。
********************************************************}

create table "sysmaster".sysseswts{对象等待状态与时间}
(
  sidinteger,  {对话ID }
  reasonchar(50), {等待原因说明 }
  numwaitsinteger,  {这个原因的等待数 }
  cumtimefloat,    {这个原因的等待累计时间}
  maxtimeinteger   {这个原因的等待最长时间}
);
grant select on sysseswts to public;

五、不支持的表(没有建档,可能在将来版本中改变)

create table "sysmaster".systrans{用户事务}
(
  tx_idinteger,{事务表指针   }
  tx_logbeginteger,{事务开始的逻辑日志号   }
  tx_loguniqinteger {事务中使用的当前逻辑日志号}
);
grant select on systrans to public;

create table "sysmaster".syssqexpalin{用户查询}
(
  sqx_sessionidinteger, {SQL语句的对话ID,匹配onstat -u 输出}
  sqx_bufreadsinteger, {SQL语句完成的缓冲区读次数}
  sqx_pagereadsinteger, {SQL语句完成的页面读次数}
  sqx_totsorts integer, {SQL语句完成的排序次数}
  sqx_estcostinteger, {这个查询的估计成本,应与SET EXPLAIN的输出相同。注:这个成本有时偏高,但可以作为寻找坏查询的参考}
  sqx_estrowsinteger, {检查这个查询返回的行,应与SET EXPALIN的输出相同}
  sqx_seqscansmallint,{查询是顺序表格扫描时返回1,通常表示有问题}
  sqx_srtscansmallint,{查询是排序扫描时返回1}
  sqx_autoindexsmallint,{查询是表格自动索引时返回1}
  sqx_mrgjoinsmallint,{查询是合并连接时返回1}
  sqx_dynhashjoinsmallint,{查询是动态散列连接时返回1}
  sqx_sqlstatementchar(32000){SQL语句文本}
);
grant select on syssqexplain to public;


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值