informix入门基础学习教程_第1页
informix入门基础学习教程_第2页
informix入门基础学习教程_第3页
informix入门基础学习教程_第4页
informix入门基础学习教程_第5页
已阅读5页,还剩131页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Informix系统培训Informix系统培训培训主要讲解内容一、简介及安装配置Informix产品简介InformixSE特点InformixOnline特点基本概念系统安装系统配置培训主要讲解内容二、数据库管理系统管理系统监控系统备份/恢复系统排错三、系统维护维护工作简介日常维护Informix的ODBC配置培训主要讲解内容四、应用开发SQL、ESQL/C应用开发提高系统效率的几点建议总结答疑课程安排第一课 简介、基础知识 安装、配置介绍第二课 数据库系统管理第三课 系统维护、ODBC配置第四课 SQL语言简介 Informix应用开发简介总结答疑第一课简介及安装配置主要内容:Informix产品介绍Informix基本概念Informix的安装Informix系统配置Informix产品介绍产品介绍SEOnline5.0第一个C/S版本Online6.0划时代版本Online7.xIDSOnline8.xIDSOnline9.xIUS开发工具:4GL、ESQL/C……InformixSE组成:存储结构:采用文件系统实现数据库文件 *.dbs数据文件 *.dat索引文件 *.idx.数据库服务进程:接收前端交易信息,对文件直接操作完成。InformixSE特点:使用进程空间缓冲数据,对内存的需求较大用户数多时,服务进程多,性能不好采用文件锁,数据一致性差;InformixOnline5.0组成:数据库服务进程采用进程方式响应请求进程数量有限,共享内存大小需要预先确定磁盘结构支持直接磁盘管理InformixOnline5.0特点:引入了共享内存机制引入磁盘管理机制,提高处理效率启动进程<100个,不适合大数据量处理只适用于OLTP系统,不适用于DSS系统InformixOnline7.x组成:数据库服务进程引入多线索机制处理请求顺序调度策略共享内存可动态增长的共享内存磁盘结构与5.0完全相同InformixOnline7.x进程结构VP(virtualProcess)虚拟处理器VPC(virtualProcessClass)虚拟处理器类Informix基本概念Informix基本概念1、Informix系统结构ServerSharedMemoryDiskCPUVPLIOVPTLIVPResidentportionBuffer池和其他系统数据结构

VirtualportionThread控制信息

MessageportionClient和server间通讯Informix基本概念Informix基本概念1、Informix系统结构VirtualProcessVP实际上是一些daemon进程(在UNIX下,进程名为oninit);VP分为很多类;一个VP是该类的一个实例;某个VP只能处理某类thread的请求;SharedMemory分为三类:resident、virtual和messageportion;resident用来从磁盘cache数据到内存;virtual用来维护VP使用的系统资源;message用来sharedmemory通讯方式下client和server之间通讯;Disk用来存放系统管理数据和数据库数据信息;Informix基本概念Informix基本概念2、Sharedmemory(ResidentPortion):LocksstructureSharedmemoryHeaderMaxLogsStructureLRUQueuesBufferpoolsLogicalLogsBuffer(3)PhysicalLogBuffer(2)Bufferpool是Resident中的主体,是数据缓冲区;LogicalLogBuffer和PhysicalLogBuffer分别是物理日志和逻辑日志的数据缓冲区;LogicalLogBuffer共三个,每个32K大;PhysicalLogBuffer共两个;采用LRU(LeastRecentlyUsed)来对buffer进行管理,LRU

分为两种:FLRU和MLRU。FLRU是空闲的buffer列表,

MLRU是使用过的buffer列表。系统刚初始化时,所有buffer均在FLRU中;当用户线程申请buffer,系统将从FLRU中选取空闲的buffer;在用户线程释放该buffer时,如果Buffer被更改,将转移到MLRU

中MostRecentlyUsedBuffer,如果不被更改,将转移到

FLRU中的MostRecentlyUsedBuffer。Informix基本概念Informix基本概念2、Sharedmemory(VirtualPortion):VirtualPortion包含50多种pool(任一个pool都有特殊用途,pool大小以8k为单位),如:用户会话数据、数据字典信息、存储过程、线程信息等;VirtualPortion部分的大小可以动态增加;VirtualPortion的初始大小由InitialSegment表示,以后动态增加的部分称做AdditionalSegment。Sharedmemory(MessagePortion):当client和server之间采用shm通讯方式时,使用MessagePortion用来交换通讯信息;Informix基本概念Informix基本概念3、VirtualProcess(VP):VP都是一些daemon进程,在UNIX下进程名都是oninit(操作系统下,看到的oninit个数应该和VP的个数一样);查看VP状态使用命令onstat–glo;VP划分为很多类,共有以下几类:CPU、PIO、LIO、AIO、ADT、MSC、SHM、TLI、SOC、ADM、OPT、JVP;VP可以动态地增加和减少,可以动态减少的VP只有CPU类,动态改变VP使用系统命令onmode–p[+|-]Number

vp_name;VP运行在server端,来自client端的请求称为thread,InformixIDS是多线程结构的;两个概念:fan-in是指一个VP可以多个客户端请求;fan-out是指多个VP可以处理来自同一个客户端请求;Informix基本概念Informix基本概念3、VirtualProcess(VP):server和client连接过程:client请求接受来自client的全部请求是新的session?ListenPollySessionControlBlockThreadControlBlockSqlexecn由sqlexec向client端发送信息Informix基本概念Informix基本概念3、VirtualProcess(VP):server和client连接过程:poll线程负责接受来自client端的请求,如果server和client连接方式是通过TCP/IP,则poll会侦听一定的端口;如果是通过sharedmemory方式,poll会从共享内存中的messageportion获得信息;如果client请求是一个新的session,则poll会激活listen线程,listen会为该客户端建立用户线程(ThreadControlBlock),同时建立该用户session(SessionControlBlock),并分配唯一的session标识session-id;由相应VP来处理客户请求,在处理完成后,server向client端的通讯信息由sqlexec线程完成;Informix基本概念VirtualProcess(VP)类型Informix基本概念Informix基本概念3、VirtualProcess(VP):IDS中,I/O种类:KAIO这种方式下,对I/O的读写是通过操作系统(特定平台支持)完成的,避免传统读写方式下的等待I/O完成后再进行处理的方法,而是向I/O发送读写请求后继续做其他处理。KAIO只对裸设备有效,运行在CPUVP中;AIO采用传统的I/O读写方式,运行在AIOVP中;如果没有KAIO,则AIO负责全部的I/O读写,如果KAIO存在,则AIO负责所有cookedfile上的I/O操作;Informix基本概念Informix基本概念4、Disk概念:chunk是一块连续的物理存储空间,是构成逻辑存储空间dbspace的基本单位;chunk可以对应一个裸设备(RawDevice),也可以对应一个熟文件(CookedFile操作系统文件);chunk由绝对路径名和偏移量来唯一标识;page是I/O操作的基本单位,chunk是由page构成;page的大小在不同的操作系统平台固定不变;page有自己的内部结构;tblspaces对应数据库表;一个tblspaces对应一张表所使用的所有page;tblspaces的空间是由一个或多个连续的存储空间构成,这些连续的存储空间称做extent。Informix基本概念Informix基本概念4、Disk概念:dbspace是一个或多个chunk的逻辑组合,构成dbspace的第一个chunk叫做主chunk,其他的成为辅chunk;数据库必须在一个dbspace上创建;系统初始会对应一个dbspace,一般叫做rootdbs,用来存放DBMS信息,也可以存放数据信息;blobspaces是一种特殊的dbspace,用来存放大数据(Text类型和Binary类型)信息;blobspace下的page称做blobpage,它的大小是可以调整的,一般一个blobpage是由一个或者多个page构成;mirroring(镜像)是一种数据保护手段,在dbspace级别才能做mirror;Informix基本概念Informix基本概念4、Disk概念:logicallog是由一些(最少3个)逻辑日志文件构成,这些文件在物理存储上是连续的;逻辑日志会存储数据库的修改信息(DML)和一些DBMS系统事件信息(包括DDL和checkpoint事件),主要用来日志型数据库的逻辑恢复;physicallog是由一个或两个物理日志文件构成,这些文件在物理存储上是连续的;物理日志用来存放读入内存页面的备份信息(BeforeImage);checkpoint是一个系统事件,用来同步磁盘信息和内存信息;Informix的安装安装时注意:安装配置之前需做系统规划,比如数据库用户、权限等的设置,数据库存储空间的规划等先安装工具软件,后安装IDS先安装低版本,后安装高版本需以root注册后,进行安装安装前环境变量的设置,比如:INFORMIXDIR等,需设置后进行安装IDSInformix的安装插入IDS光盘#mount/dev/cd0/mnt#cpio–icdvBum</mnt/SERVER/IDS.CPI#./installserver#unmount/mnt

安装指南Informix系统配置配置1、client/server连接配置2、DBMS配置Informix系统配置配置1、client/server连接配置:连接方式:本地连接:SharedmemoryStreampipeTCP/IP远程连接:TCP/IP(Sockets/TLI)IPX/SPXInformix系统配置配置1、client/server连接配置:连接过程:有关连接配置信息存放在文件$INFORMIXDIR/etc/sqlhosts中;client在和server建立通讯的时候,它会首先检查本地的环境变量$INFORMIXSERVER,$INFORMIXSERVER必须定义在文件sqlhosts中,而且和配置文件onconfig中的参数DBSERVERNAME或者DBSERVERALIASES相符合;在配置文件sqlhosts中,定义了$INFORMIXSERVER所对应的连接方式,结合文件/etc/hosts能得知对应的连接地址;Informix系统配置配置1、client/server连接配置:sqlhosts文件格式:dbservername 是InformixIDS对应的名称,应和$INFROMIXSERVER以 及配置文件中的DBSERVERNAME、DBSERVERALIASES 相对应netttype 定义了client和server之间的连接方式hostname 定义了IDS所在的服务器的主机名,应和文件/etc/hosts 相对应servicename 服务名,在远程连接模式下,对应一个TCP/UDP端口, 在文件/etc/services中定义dbservernamenettypehostnameservicenameInformix系统配置配置1、client/server连接配置:nettype格式:don–IDS/IUSse–StandardEnginediiipppipc–IPC连接tli–tli连接soc–soc连接shm–sharedmemorytcp–TCP/IP协议spx–IPS/SPX协议str–streampipeInformix系统配置配置2、DBMS配置:步骤:参考$INFORMIXDIR/release目录下的版本说明;创建适当的核心配置参数;创建存储文件;设置环境变量;编辑sqlhosts文件;编辑$ONCONFIG文件,文件位置在$INFORMIXDIR/etc下(也可以使用配置工具onmonitor进行配置);

Informix配置要点Informix系统配置配置2、DBMS配置:核心参数配置:信号量:SystemV:SEMMNI 最多可用的信号量集SEMMSL 每个信号量集中最多的信号量的个数SEMMNS 可用的信号量的最大数BSD:SEMMNI 最多可用的信号量集SEMMNS 可用的信号量的最大数Informix系统配置配置2、DBMS配置:核心参数配置:共享内存:SystemV:SHMMAX 最多可用的信号量集SHMSEG 每个信号量集中最多的信号量的个数SHMMNI 可用的信号量的最大数BSD:SHMSIZE 最多可用的信号量集SHMMNI 可用的信号量的最大数Informix系统配置配置2、DBMS配置:创建存储文件:存储文件有两种:CookedFile和RawDevice;CookedFile: touchfile_name

chmod660file_name chowninformix:informix

file_nameRawDevice: ln/dev/rlv01/dev/rootchunk chmod660/dev/rootchunk chowninformix:informix/dev/rootchunkInformix系统配置配置2、DBMS配置:设置环境变量:$ONCONFIG 存放IDS的各种配置参数,对应文件名(不包含绝对路 径);如果不设置$ONCONFIG,则默认为onconfig文件$INFORMIXDIR 是informix的安装路径$PATH 包含$INFORMIXDIR/bin$INFORMIXSERVER 对应于IDS参数DBSERVERNAME或者 DBSERVERALIASES,同时在文件sqlhosts中应 包含该server的定义Informix系统配置配置2、DBMS配置:参数配置:PageSize [2]Kbytes Mirror[Y]TapeDev [/dev/rmt0 ]BlockSize [16]Kbytes TotalTapeSize [10240]KbytesLogTapeDev. [/dev/rmt0 ]BlockSize [16]Kbytes TotalTapeSize [10240]KbytesStageBlob []RootName [rootdbs] RootSize [20000]KbytesPrimaryPath [/dev/rootchunk ]MirrorPath [ ] MirrorOffset [ ]KbytesPhy.LogSize [2000]Kbytes Log.LogSize [1000]Kbytes NumberofLogicalLogs[6]DiskParametersInformix系统配置配置2、DBMS配置:参数配置:ServerNumber [1] ServerName [test ]ServerAliases [test_tcp ]DbspaceTemp [tempdb1 ]DeadlockTimeout [60]Secs NumberofPageCleaners[5 ]ForcedResidency [N] StackSize [32 ]NonRes.Segsize(K) [8000] OpticalCacheSize(K)[20000] DbspaceDownOption[2] PreserverLogForLogBackup[Y]HeterogeneousCommit[Y] Transactiontimeout[300]PhysicalLogBufferSize[32]K LongTXHWM[50 ]LogicalLogBufferSize[32]K LongTXHWMExclusive[60 ]Max#ofLogicalLogs[20] IndexPageFillFactor [90 ]Max#ofLocks[20000] AddSegsize(K)[8192]Max#ofBuffers[25000] TotalMemory(K)[0 ]ResidentSharedMemorysize[52672]Kbytes PageSize[2]KbytesInformix系统配置配置2、DBMS配置:参数配置:MultiprocessorMachine [N] LRUMaxDirty [60]NumProcsToAffinity [0] LRUMinDirty [50]ProcNumtoStartwith [0] CheckpointInterval [300] NumofReadAheadPages [4]CPUVPs [1] ReadAheadThreshold [2]AIOVPs [2]SingleCPUVP [Y] NETTYPEsettings:UseOSTime [N] ProtocolThreadsUsersVP-classDisablePriorityAging [N] [ipcshm][1][20][NET]Off-LineRecoveryThreads [10] [tlitcp][1][20][CPU]On-LineRecoveryThreads [1] [][][][]NumofLURSqueues [8] [][][][]Informix系统配置配置2、DBMS配置:参数配置:Interval [30]Timeout [30]Auto [0]Lost&Found [ ]Informix系统配置配置2、DBMS配置:参数配置:MessageLog [/usr/informix/online.log ]ConsoleMsgs. [/dev/console ]AlarmProgram [/usr/informix/etc/log_full.sh ]DumpSharedMemory [Y]DumpGcore [N]DumpCore [N]DumpCount [1]DumpDirectory [/tmp ]Informix系统配置配置2、DBMS配置:参数配置:MaxPDQPriority [100]DecisionSupportQueries [1 ]DecisionSupportMemory(Kbytes) [1000 ]MaximumDecisionSupportScans [10 ]Dataskip[off ]OptimizerHint [2 ]第二天数据库系统管理主要内容:Informix系统管理Informix系统监控Informix备份/恢复Informix系统排错处理Informix系统管理系统管理1、运行模式管理2、存储管理3、checkpoint和buffer操作4、系统容错5、日志管理Informix系统管理系统管理1、运行模式管理:IDS的运行模式共有以下几种:Off-Line:IDS还没有运行,系统没有为IDS分配共享内存;Initialization:是IDS从Off-Line过渡到Quiescent的一种临时状态;Quiescent:单用户模式,只允许informix用户才能访问数据库资源;On-Line:是IDS正常运行的状态,所有用户都能访问数据库资源;Shutdown:系统处于正常运行的状态,但是只允许现有用户访问数据库,不允许有新的用户访问;Recovery:当系统执行FastRecovery或者从备份设备恢复时,IDS所处于的状态;Informix系统管理系统管理1、运行模式管理:onmonitor下的“mode”管理:Startup IDS从Off-Line状态到Quiescent状态On-Line IDS从Quiescent状态到On-Line状态Graceful-Shutdown IDS从On-Line状态到Quiescent状态,不终止当 前用户的用户线程,所有用户运行结束后, 才改变IDS成Quiescent状态Immediate-Shutdown IDS从On-Line状态到Quiescent状态,强制终止 当前所有用户线程Take-Offline IDS从Quiescent或者On-Line到Off-Line状态Informix系统管理系统管理1、运行模式管理:oninit[-s][-i][-p][-y]oninit IDS从Off-Line状态到On-Line状态oninit–s IDS从Off-Line状态到Quiescent状态oninit–i 初始化rootdbsapceoninit–p 不查询、删除临时表oninit–y 在系统初始化过程中,对所有问题都回答“y”Informix系统管理系统管理1、运行模式管理:onmode[-k][-m][-s][-u][-y]onmode -k 执行Immediate-Shutdown,并改变IDS从Quiescent状态 到Off-Line状态onmode–m IDS从Quiescent状态到On-Line状态onmode–s 执行Graceful-Shutdownonmode–u 执行Immediate-Shutdownonmode–y 在系统初始化过程中,对所有问题都回答“y”Informix系统管理系统管理2、存储管理:page的结构:PageHeader中包含以下内容:

page_id(4bytes)、timestamp(4bytes)、num_slots(2bytes)、pg_type(2bytes)、free_ptr(2bytes)、free_cnt(2bytes)、next(4bytes)、prev(4bytes)DataPageheader(24bytes)SlottableRowOffsetRowSizeTimeStamp(4bytes)Informix系统管理系统管理2、存储管理:extent的结构:Bitmappages:记录extent中各page的信息;Datapages:存放数据,page中的每条记录都对应一个唯一的rowid;rowid共4-bytes长,由pagenumber和slotnumber构成;Remainderpages:如果一条数据库记录的大小超过一个page,剩余部分将存放在remainderpage中;Blobpages:存放blob数据;Freepages:空闲的page;Page0BitmappagePage1DatapagePage2DatapagePage3RemainderpagePage4BlobpagePage5FreepageextentInformix系统管理系统管理2、存储管理:Indexextent的结构:Page有两种用途:data或者index,任何一个page要么存放data信息,要么存放index信息。一个tblspace中最初的extent的大小为EXTENTSIZE,之后所有的extent的大小为NEXTSIZE;Page0BitmappagePage1IndexpagePage2IndexpagePage3FreepagePage4FreepagePage5FreepageIndexextentInformix系统管理系统管理2、存储管理:Dbspace的结构:InitialchunkofrootdbspaceSystemoverheadSysmasterdatabaseSysutilsdatabaseFreeSpaceInitialchunkofotherdbspaceSystemoverheadFreeSpaceAllotherchunksSystemoverheadFreeSpace12pagesforsysteminformation1pageforchunkfreelist250pagesfortblspacetblspace2pagesforsysteminformation1pageforchunkfreelist50pagesfortblspacetblspace2pagesforsysteminformation1pageforchunkfreelistInformix系统管理系统管理2、存储管理:12个系统保留页:

PZERO中包含IDS中的系统信息;CONFIG中包含IDS中系统参数的拷贝;其余的10个page两两互为备份;CKPT中包含最后一次checkpoint的信息;DBSP中包含所有dbspaces和blobspaces的信息;PCHUNK包含所有primarychunk的信息;MCHUNK包含所有mirrorchunk的信息;ARCH包含最后一次由ontape执行的备份的信息;1PZERO3CKPT5DBSP7PCHUNK9MCHUNK11ARCH2CONFIG4CKPT6DBSP8PCHUNK10MCHUNK12ARCHInformix系统管理系统管理2、存储管理:对dbspace、blobspace、chunk等操作可以使用两种方法:onmonitor菜单命令onspaces创建dbspaces: onspaces–c–d

dbspace_name–pchunk_name–ooffset-schunk_size[–ttemporary_dbspace][–mmirror_pathoffset]创建blobspaces: onspaces–c–b

blobspace_name–g

blobpage_size–pchunk_name–ooffset–schunk_size[-mmirror_pathoffset]Informix系统管理系统管理2、存储管理:删除dbspaces: onspaces–d

dbspace_name[-f] [-f] 删除dbspace上的数据为dbspace和blobspace增加chunk: onspaces–a

dbspace_name–pchunk_name–ooffset–schunk_size

[-mmirror_chunkoffset]删除chunk: onspaces–d

dbspace_name–pchunk_name–ooffsetInformix系统管理系统管理3、checkpoint和buffer操作:checkpoint是同步(sync)内存与硬盘内容的一种操作,保持数据的完整性;以下事件会引发checkpoint的发生:经过了checkpointinterval时间,而且数据库内容发生了改动;物理日志有75%或超过75%被占用时;IDS发现下一个逻辑日志文件将包含最近一次checkpoint记录时;当增加一个chunk或者一个dbspace时;当执行命令onmode–c时;当使用onmonitor菜单强制触发checkpoint事件时;Informix系统管理系统管理3、checkpoint和buffer操作:checkpoint执行过程分为以下步骤:用户线程被阻止访问criticalsection,那些正在criticalsection中执行的线程允许执行完成;criticalsection是指一组包含磁盘修改的代码,这些代码做为一个整体执行,要么全执行,要么不被执行;把physicallogbuffer内容写到硬盘中;把bufferpool中被修改的部分写到硬盘中;在当前logicallog文件中记录checkpoint标记;把logicallogbuffer中被修改的部分写到硬盘中;把physicallog中的所有page页修改成free的状态,以便下次使用;Informix系统管理系统管理3、checkpoint和buffer操作:buffer写操作:分为三类:Chunkwrite:在checkpoint过程中使用该buffer写操作,这种方式会把所有的buffer排序,也称做sortedwrite;LRUwrite:当LRU到达LRU_MAX_DIRTY和LRU_MIN_DIRTY指定的阀值的时候,由pagecleaner执行;Foregroundwrite:当用户申请buffer时,但又不能在FLRU队列中找到未修改的buffer页时,由用户线程执行该操作;Informix系统管理系统管理3、checkpoint和buffer操作:buffer写操作:physicalbuffer写操作:physicalbuffer的写操作应该在sharedmemory中的bufferpool写操作之前完成;以下几类事件将引起physicalbuffer写向硬盘:Checkpoint两个physicalbuffer中有一个满的时候;一个modifiedbufferpage必须向硬盘写,但是它的beforeimage仍在physicallogbuffer的时候Informix系统管理系统管理3、checkpoint和buffer操作:buffer写操作:logicalbuffer的写操作分两种情况:如果database采用bufferedlogging,则当logicallogbuffer满的时候才向硬盘中写;如果database采用是unbufferedlogging,则数据库事务完成后马上就向硬盘中写;以下几类事件将引起logicalbuffer写向硬盘:checkpoint三个logicalbuffer中有一个满的时候;对于使用unbufferedlogging的数据库,当一个事务完成后;对于不使用logging的数据库,当一个session完成后, 此时会向logicallog中写一些DDL;Informix系统管理系统管理4、系统容错:系统失败的类型有以下几种:系统crash磁盘crash系统数据不一致针对以上失败,可以分别采用以下容错手段:利用备份设备恢复系统,需要手工干预利用mirroring技术恢复失败的磁盘,这个过程是自动的使用Fast-Recovery,自动完成Informix系统管理系统管理4、系统容错:FastRecovery是当IDS从Off-Line状态到Quiescent状态过程中,自动完成的容错手段。正常的shutdown后,IDS中physicallog将不再存在beforeimage,而且logicallog中最后的记录是一条checkpoint信息;如果IDS是非正常的shutdown,则physicallog还会存在内容,而且logicallog的最后一条记录也不是checkpoint信息;FastRecovery包含两个过程:利用PhysicalLog,IDS将恢复到最后一次checkpoint完成的系统状态;利用LogicalLog,IDS将对在逻辑日志中记录已经commit的数据库操作进行重做(redo),而对那些没有commit的数据库操作进行rollback的操作;Informix系统管理系统管理4、系统容错:FastRecovery的步骤如下:把physicallog中的信息全部恢复到硬盘中;定位logicallog中的最后一条checkpoint信息;遍历最后一条checkpoint后所有logicallog信息,对于那些有commit记录的数据库操作进行重做的动作;对于那些没有commit记录的数据库操作进行rolllback操作;FastRecovery完成后,使用log模式的database将恢复到这种状态:完成的数据库操作被恢复,没有完成的数据库操作被取消;而没有使用log模式的database只能恢复到最后一次checkpoint时的系统状态;Informix系统管理系统管理5、日志管理:Physicallog只有一个,除非是physicallog所在的chunk存在镜像,这时候会有两个;Logicallog最少是3个,个数不受限制;Physicallog和logicallog都是循环使用的;Logicallog中包含上一次checkpoint的信息,以及在次以后数据库的修改信息,在下一次checkpoint完成后,前一次checkpoint信息及以前的信息可以被删除;如果logicallog被全部使用,则IDS将不能运行,除非进行系统备份;Informix系统管理系统管理5、日志管理:对log(PhysicalLog和LogicalLog)可以使用菜单式管理工具onmonitor,也可以使用系统命令onparams;增加一个logicallog:onparams–a–d

dbspace_name–slogical_log_size删除一个logicallog:onparams–d–llogical_log_id切换当前使用的logicallog:onmode–l更改physicallog设置:onparams–p–sphysical_log_size–d

dbspace_name-y查看log状态: onstat–lInformix系统监控系统监控1、监控方法2、监控内容Informix系统监控系统监控1、监控方法:可以通过三种方法监控IDS系统:SystemMonitoringInterface(SMI)onstat oncheck Informix系统监控系统监控1、监控方法:SMI存在于系统库sysmaster中,是一些数据库表或者视图,内容直接来自于执行时的sharedmemory,实时地反映IDS状态;数据库sysmaster在IDS第一次初始化时自动创建,创建sysmaster的sql文本存在于$INFORMIXDIR/etc/sysmaster.sql;SMI的内容是可读的,不能被锁(Lock),不能执行insert、update和delete工具dbschema和dbexport不能应用于sysmaster库;在库sysmaster中,不能使用selectrowid语句;Informix系统监控系统监控1、监控方法:SMI内容:sysdatabase: 数据库的属主、属性等systabnames: IDS中table的定义syslogs: logicallog的属性sysdbspaces: dbspace的属性syschunks: chunk的属性syslocks: 当前活动的lock情况sysvpprof: 当前活动的vp情况syssessions: 当前session情况syssesprof: 当前session属性Informix系统监控系统监控1、监控方法:SMI内容:sysextents: extent属性syschkio: chunk的I/O统计sysptprof: tblspace属性sysprofile: 当前事件属性,如:diskread,diskwrite,checkpoint等sysadtinfo: audit配置信息sysaudit: audit事件属性sysconfig: IDS配置信息sysdri: IDS的data-replication属性sysseswts: 用户等待时间Informix系统监控系统监控1、监控方法:

onstat显示命令执行当时sharedmemory的各种状态;没有磁盘I/O操作;不需要lock,不会影响IDS效率;onstat是监控IDS状态使用最频繁的系统命令;

onstat命令Informix系统监控系统监控1、监控方法:

oncheck检查index和data页面的损坏情况;修复损坏的indexpage;检查磁盘上的数据结构;显示不同数据结构的使用报告;可能会对一些表使用共享锁;Informix系统监控系统监控2、监控内容:Messagelog共享内存使用情况LogicallogsChunk状态用户活动(如lock、thread、sql)资源不足情况Informix系统监控系统监控2、监控内容:Messagelog的记录文件在onconfig中指定,一般为$INFORMIXDIR/online.log;查看log记录文件可以直接去编辑该文件,也可以使用命令onstat–m查看最近20条信息;log信息一般包括如下:IDS的运行模式改变(如从On-Line到Off-Line);FastRecovery信息;Checkpoint记录;配置的修改;共享内存的动态修改;导致内部一致性错误的I/O错误;Informix系统监控系统监控2、监控内容:共享内存使用情况:onstat–gseg查看共享内存段属性onstat–gmem查看共享内存使用情况onmode–f释放没有使用的共享内存资源SHMVIRTSIZE 共享内存初始化大小SHMADD 自动增加的共享内存大小SHMTOTAL 共享内存总的大小Informix系统监控系统监控2、监控内容:LogicalLogs:查看logicallogs状态使用命令:onstat–l“number”字段是logicallog所对应的logicallogid;“flags”字段是该logicallog具有的属性,具体含义如下:F free,处于可用的状态B 已经备份完毕C 当前使用的logicallogfileU 正在使用A 新增加L 包含上一次checkpoint记录Informix系统监控系统监控2、监控内容:chunk状态:

onstat–d

查看chunk和dbspace使用情况、剩余空间、活动情况等;Informix系统监控系统监控2、监控内容:用户活动:查看当前用户session: onstat–gses[session_id]查看当前执行的sql: onstat–gsql查看当前用户: onstat–u查看当前活动锁:

onstat–k删除session: onmode–zsession_idInformix系统监控系统监控2、监控内容:资源不足情况:onstat–p显示当前数据库资源情况;字段“ovlock”显示当前缺少的lock的数量,需要增大参数LOCKS的数值;字段“ovuserthread”显示当前缺少的用户线程的数量;字段“ovbuf”显示当前缺少的buffer的数量,需要增大参数BUFFERS数值;字段“deadlks”显示当前死锁的数量;字段“dltouts”显示响应时间超过DEADLOCK_TIMEOUT的锁的数量;Informix系统监控系统监控2、监控内容:lock介绍:监控IDS下lock的使用情况,用系统命令:

onstat–klock的粒度:Databaselock 锁的对象是整个databaseTablelock 锁的对象是整个tablePagelock 锁的对象是整个pageRowlock 锁的对象是整个rowBytelock 锁的对象是包含VARCHAR数据类型的rowKeylock 锁的对象是index中的一个key值Informix系统监控系统监控2、监控内容:lock介绍:Lock的分类:Sharedlocks:允许其他用户共享资源,但是只允许读,不允许修改Exclusivelocks:不允许其他用户对资源有任何操作,包括读和修改Updatelocks:使用于update游标中,在fetch时,会加上sharedlocks,在update时,会加上exclusivelocks;Intentlocks:是表级锁联合一个级别更高粒度的锁,如page级锁或者row级锁;Informix系统监控系统监控2、监控内容:lock介绍:Lock的生命周期:对于支持事务的database,COMMITWORK或者ROLLBACKWORK完成后,才释放锁;对于不支持事务的database,操作结束后,锁就被释放;Informix系统监控系统监控2、监控内容:lock介绍:Lock的划分标志:onstat–k输出中,有一个字段是“type”,各种标志的含义如下:HDR- header B- byteslock S- sharedX- exclusive I- intent U- updateIX- intent-exclusive IS- intent-sharedSIX- shared,intent-exclusiveInformix系统监控系统监控2、监控内容:lock介绍:Lock粒度的判断方法:Databaselock:onstat–k输出中,字段“tblsnum”值为“100002”的锁;Tablelock:onstat–k输出中,字段“rowid”值为“0”的锁;Pagelock:onstat–k输出中,字段“rowid”以“00”结束的锁;Rowlock:onstat–k输出中,字段“rowid”不以“00”结尾的锁;Keylock:onstat–k输出中,字段“keys/”以“K”打头的锁,或者该字段对应一个不为0的数字的锁;Bytelock:onstat–k输出中,字段“type”含有“B”标志的锁;Informix系统备份/恢复备份/恢复1、概念2、ontape工具Informix系统备份/恢复备份/恢复1、概念:备份/恢复方法:ontape:基本的备份/恢复工具;不能指定时间点恢复;onbar:需要storagemanager支持(IDS提供ISM);支持按时间点恢复;Informix系统备份/恢复备份/恢复1、概念:备份/恢复级别:0级:备份所有的数据库数据和DBMS信息;1级:备份自上次0级备份后修改的数据信息;2级:备份自上次1级备份后修改的数据信息; 0级备份为全备份,1级和2级备份为增量备份;恢复方法:Coldrestore:IDS处于Off-Line状态;Warmrestore:IDS处于On-Line状态;Mixedrestore:ColdRestore后,接着做WarmRestore;只有在整个IDS不能启动到On-Line状态或者包含log(Physical/LogicalLog)的dbspace不能正常启动时,再使用ColdRestore;Informix系统备份/恢复备份/恢复1、概念:备份/恢复步骤:检查logicallog中的剩余空间,至少需要一个logicallogfile一半容量大小的剩余空间;IDS做checkpoint的动作;IDS构造每一个chunk需要备份的page列表;IDS为每个dbspace创建临时表用来存储physicallog信息;启动内部backup线程,开始备份。备份内容 备份数据库信息,和logicallog内容;Informix系统备份/恢复备份/恢复1、概念:以下时候,需要做0级备份:增加mirroring;增加logicallog;改变physicallog的大小或者存放的dbspace;删除一个chunk或者一个dbspace;Informix系统备份/恢复备份/恢复2、ontape工具:备份/恢复使用方法:ontape{-a|-c|-l|-p -r[-Ddbspace_name]| -s–Lbackup_level]} -aAutomaticBackupofLogicalLogfile -cContinuousbackupoflogicallogfile -lLogicalRestore -pPhysicalRestoreforHDR -rFullrestoredbspaces/blobspacesaslisted -sBackupfullsystemInformix系统备份/恢复备份/恢复2、ontape工具:ontape制作的备份数据格式:Controlpages中以下内容:备份的dbspaces列表,备份级别,备份时间等;Systemreservedpages是rootdbspace12个系统保留页的备份;Logicalloginformation只有做0级备份时才有;当所有dbspaces/blobspaces中数据都被写到备份文件后,trailerpage用来标识备份数据的结束;ControlpageSystemReservedpagesLogicallogInformation(level–0)blobspacesdbspacesTrailerpageInformix系统排错排错初步1、错误类型及排错方法Informix系统排错排错初步1、错误类型及排错方法Kernel参数:SHMMAX 系统使用共享内存的最大值SHMSEG 当共享内存不足时,自动增加的共享内存的大小SEMMSL 一个信号量集中所包含的信号量的多少,应该>=100对于OLTP应用来讲,增加共享内存中ResidentPortion中的buffer数量利于提高处理的性能,但是对于DSS应用来讲,一般对数据库的读操作都是顺序读,所以不需要太多的buffer来做数据缓冲,所以增大buffer的数量对DSS应用意义不大;Informix系统排错排错初步1、错误类型及排错方法对于DSS应用,virtualportion中含有的很多pool,如:sortpool、joinpool,对DSS的性能影响很大,相反,对OLTP应用就没有很大作用;如果IDS同时支持OLTP应用和DSS应用,可通过DS_TOTAL_MEMORY参数来协调OLTP和DSS对VirtualPortion共享内存的资源分配;如果DSS应用比较重要,可以把这个参数的值设大一些;Informix系统排错排错初步1、错误类型及排错方法chunk的属性和属主:首先,应该注意chunk的属主一定是informix用户,属主是informix组;其次,在有些操作系统平台,尽量使用rawdevice,而不要使用cookedfile,这样会大大提高I/O读写速度;有关临时dbspaceIDS运行时,会产生很多临时表和临时数据,如果IDS中存在临时dbspace,则会把这些临时数据存放在临时dbspace中,如果不存在临时dbspace,则会使用rootdbspace或者是该数据库所在的dbspace存放临时数据,所以,应尽量使用临时dbspace;Informix系统排错排错初步1、错误类型及排错方法INFORMIXSERVER、DBSERVER和sqlhosts文件如果在连接IDSserver时出现问题,一般是由于以上三个变量定义不一致造成的,这时,要检查它们定义的一致性;对于长事务:LTXHWM表示当长事务占用LTXHWM的logicallog空间时,该事务将自动rollback;LTXEHWN表示当长事务占用LTXEHWM的logicallog空间时,数据库不做其他的操作只能允许该长事务做rollback。如果IDS系统中存在上事务,所以应调整这两个参数为适当值;Informix系统排错排错初步1、错误类型及排错方法对于logicallog:Logicallog可以被循环使用,必须满足以下条件:该log被备份完毕;该log不含有上一次checkpoint信息;该log目前不正在被使用;为保证logicallog的循环使用,要经常做备份,可以使用ontape进行continuous备份,并启用automatic备份;Informix系统排错排错初步1、错误类型及排错方法关于数据一致性:oncheck–cD|-cd 检查数据一致性oncheck–cI|-ci 检查index一致性oncheck–cr 检查系统保留页oncheck–cc 检查系统数据库信息

排错实例第三课系统维护主要内容:Informix日常维护InformixODBC配置Informix日常维护online.log日志文件分析数据库日志文件online.log,可以查看数据库运行情况,并可通过其对数据库的参数进行调整,包括checkpoint的时间、逻辑日志填充时间、虚拟共享内存的条目。/informix/online.log文件记录着online系统的启动信息、参数调整信息、检查点信息、错误信息和关闭系统信息等。当数据库开始在主控台上有错误信息出现时,希望能将错误信息记录下来,同时将错误信息出现前5天内的online.log日志文件打印出来,以便分析。

Informix日常维护Onstat:

onstat应用命令能读取online动态服务器共享内存结构,报告共享内存运行情况。该命令运行时,不会影响数据库操作,但不能报告I/O磁盘错误。可以用onstat-a>/tmp/inf命令,将目前online系统的配置情况及运行情况存于/tmp/inf文件中,将inf文件打印出来,以便分析。Informix日常维护Onstat:监控缓冲区及监控预读onstat–p可列出从共享内存缓冲池中读写的%cached值,同时可监测预读配置参数的有效性,以及共享内存中各种buffer的情况

onstat–l查看数据库逻辑日志是否备份到磁带上

Informix日常维护onstat–gglo显示关于Online系统中正在运行的VP的CPU使用情况的信息。CPUVP承担online系统的主要工作负载。可以看到在online系统中,与其它进程相比,CPUVP使用了大部分的处理器资源。检查CPUVP的处理器使用情况:在一个正常的活动期间,运行onstat–gglo。一分钟后再运行onstat–gglo一次。从后一个输出的各个CPUVP的总的CPU时间中减去前一个输出中的总的CPU时间,结果就是CPUVP使用处理器的时间。如果接近60秒,那么CPUVP非常忙,应考虑增加另外的CPUVP(在多处理器系统上),或者在一个更快的处理器系统上运行。若online系统经常有一定数量的线索在就绪队列中等待运行,通过增加另外的CPUVP可以改善性能.通过运行onstat-grea可监测就绪队列中的项目的情况

Informix日常维护文件系统空间管理:可用df-v来观察informix文件系统占有的空间是否大于70%。如大于70%,请检查文件系统,且将online.log和online.msg进行备份清空。Informix日常维护数据库空间的管理对于dbspace空间管理,可用onmonitor命令来管理。在onmonitor主菜单中选择dbspaces:Info选项,可以列出目前dbspace名称及创建时间,在此菜单中,键入ctrl-b键能列出指定dbspace中chunk数目,目前dbspace总的空间大小及空闲空间的大小。如dbspace空间即将被占满,可通过增加chunk来扩大dbspace空间onstat–d查看chunk的情况。如dbspace空间即将被占满,可通过增加chunk来扩大dbspace空间

Informix的日常管理及维护日常维护工作1、定期对数据库日志文件online.log的数据进行分析收集。以检查系统的运行情况根据以上数据,适当调整数据库的配置参数

Online.log日志虚拟内存段(初始为32768kb)逻辑日志文件填充时间(分)CHKPOINT持续时间(秒)运行时间段每增一个为(32768kb)MaxMinaveragemaxminaverage

日常维护工作2、通过onstat–d定期查看数据库存放数据chunk的情况

命令格式已使用chunk的个数Chunk的flag是否全为PO-Onstat-d

日常维护工作4、通过onstat–l定期查看数据库逻辑日志是否备份。5、定期对日志文件online.log进行备份清理。日常维护工作5、

定期对系统查询进行优化在Informix数据库的系统表systables中有一字段nrows,专门用来记录各表的记录个数。优化器在运行法则判断时,各表的nrows值具有很高的参考价值。nrows的更新可通过如下命令来完成,即:updatestatistics[fortable〈table-name〉]其中,方括号[]中的子句是可选的,用于指定表名,以对该表进行更新;否则,将对数据库中的各表进行全部更新。

InformixODBC配置IDS的相关配置:sqlhostsservicesInformixODBC配置第四课应用开发主要内容:SQL简介Informix应用开发简介

InformixSQL培训教材InformixSQL入门与库相关操作与表相关操作查询操作删除操作插入操作修改操作与索引相关操作与事务相关操作载入/载出操作InformixSQL入门建库:格式: CREATEDATABASEdatabase-name[INdbspace-name][WITHLOG说明: dbspace-name为该库存放数据的dbspace,缺省为rootdbspace WIT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论