===========================================================
informixϵͳṹ
===========================================================
informixϵͳṹ
INFORMIX̬õһֶϵṹζһԼĶͬʱɶϵͳֻҪٵĽ̾DBMS
̬ϵͳҪɣڴ棬̺ʹ̡ڴΣפΡκϢΡפҪݵĻ档Ҫڴֽ֧̼صĻỰsession)ͻùڴͨʱϢν֮Ϣ
ϵͳлɹݿUNIX̣Ϊoninit.Щ̱ΪVP(virtual processors)ÿһVPijһࡣÿһһض
ϵͳĴɶԭʼ̿ռɣΪchunk,chunkҳpage)ΪλchunkϹݿռ䣨dbspace)ݿռڴ洢ݿ⡢ϵͳϢԼ־־һݿռٰһchunk.
ڴ
̬Ĺڴιɣ
פҪأں־־ĻԼϵͳݽṹפεĴСҪϵͳBUFFERS
Ҫڴֻ֧Ự;IJͬڴؿԽһΪỰءءֵء洢̳ءءԼȫֳءڴصķͷǶ̬еġڴط䵥λСΪ8kκľ̬Ըonconfigٴζ̬롣ڴεijʼСɲSHMVIRTSIZEɲSHMADDڴεĴСܳSHMTOTAL
ͻùڴͨѶϢνͨѶÿһûӣùڴͨѶռ12Kռ䡣ûӵڲNETTYPEж塣
ûipcsonstat -g seg عڴε״̬
Virtual Processors)
oninit cpuࣺ ûͲϵͳ95
oninit AIOࣺ ڲִI/O־д
oninit PIOࣺ ڲд־
oninit LIOࣺ ڲд־
oninit SHMࣺ йڴͨѶ
oninit TLIࣺ ڲTLIͨѶ
oninit SOCࣺ ڲSocketsͨѶ
oninit MSCࣺ
oninit ADMࣺ ʱ
oninit OPTࣺ BLOBϵͳ
oninit ADTࣺ аȫ
ݿϵͳɳΪoninitUNIXɣϵͳЩ̱ΪVPVPǿִгoninitʵ塣ÿһVPһضֱ࣬ͬɲͬÿһɺVPв
CPU NUMCPUVPS
AIO NUMAIOVPS
PIO ԶһVP־VP
LIO ԶһVP־VP
SHM NETTYPE
TLI NETTYPE
SOC NETTYPE
MSC ԶһVP
ADM ԶһVP
OPT STAGEBLOBãȻԶһVP
ADT ADTMODEãȻԶһVP
ûPS onstat -g gloVP״̬
onstat -g ath ʾ
onstat -g act ʾ
onstat -g rea ʾо
ڶ̬УoninitеһαִеָͨƣһͬʱΪɶOS̡oninit˳ִУʵʱѿȨתƸڶÿһԼִлԼĴռԼľֲһ̸л
ϵͳУִֻ״̬ҪôijVPУҪôijһŶӵȴھбѾִֻеġһֿVPVPʹӾѡȡһִУѡȡıڲȻƾ
ضʱǰеѶVPĿȨתƸ¼ֿԵ¿Ȩתƣ
ȴ̶д
ȴӦó
ȴԴ
лת
һȨcontextͽȴ˯߶СеȴijֲȴУҪԺѵ˯߶С
ڶ̬ҳpage)Ϊ洢I/0λҳСͲϵͳIJͬͬһΪ2kҲΪ4kûıҳС
ϵͳʹõ̿ռĵλΪchunkchunkɶҳɡһ͵UNIXԭʼ豸chunkĴСϵͳԱ趨
ݿռ䣨dbspace)Ƕchunkϡÿһݿռٰһchunkݿͱָݿռϡϵͳٰһݿռ䣺 root dbspaceڸÿռд洢ŹϵͳϢ
־physical log)Ĵ̿ռ乹ɣ洢Źڴ滺ĵҳδдУǰӳ־Ҫڿٻָֻеҳ״αʱϵͳŻὫӳд־
־logical logs)ҲĴ̿ռ乹ɣ洢¼DDLcheckpoint¼ɹԱ趨־Ŀϵͳѭʹ־ϵͳһγʼʱ־־Զroot dbspaceϡ
zhouwf0726
:2006.07.25 13:35
:::
(
INFORMIX
)
::Ķ:(405)
::
(0)
::
(0)
===========================================================
INFORMIXļغ
===========================================================
INFORMIXļغ
ONLINEϵͳĹҪࣺ
ϵͳؽӿڣSMI
tbstat
tbcheck
һ ϵͳؽӿڣSMI
ҪͨSQLonlineڲݿsysmasterеڲ/ṹȡйصάϢSysmasteronlineγʼʱϵͳԶġʵҪ洢һЩݽṹıʹSMIƣ
ܶSMIеıʹø뼶
ʹinsertdeleteupdate䣨ֻ
ʹdbschemadbexport
ʹselect rowid佫ԤϵĽ
ҪSMIУ
sysdatabasesonlineеݿϢ
systabnamesijݿбϢ
syslogs־Ϣ
sysdbspacesݿϢ
syschunkssyslocks
1ʾѻoffline״̬chunkźݿռ
Select chknumdbsnum fromsyschunks where is_offline=1 or misline=!
ʾchunkϢ
Select chknumdbsnum fromsyschunks where nfree=0
TBSTAT
гǰʱ̵ϢʵҲǶȡSMI
ҪI/O
ҪϵͳԴ˲Ӱϵͳ
÷tbstat [-abcdklmpstuzBDFPRX] [-r seconds] [-o file] [infile]
-a print all info (options: bcdklmpstu)
-b print buffers
-c print configuration fileļ
-d print dbspaces and chunksdbspacechunk
-k print locks
-l print logging־
-m print message logϢ־
-p print profileprofileļ
-s print latchesբ
-t print tblspacesռ䣩
-u print usersû
-z zero profile counts
-B print all buffers
-D print dbspaces and detailed chunk stats
-F print page flushersҳˢ½̣
-P print profile, including BIGreads
-R print LRU queuesLRUУ
-X print entire list of sharers and waiters for buffers
-r repeat options every n seconds (default: 5)
-o put shared memory into specified file (default: tbstat.out)
infile use infile to obtain shared memory information
õtbstatѡ
tbstat-m ʾϢ־20.
Ϣ־ݰ
1Ϣ
2дϢ
3ONLINEģʽתϢ
4
5־ļ(LOG FILE FULL )
ʾϢ,ֱӱϢ־ļ.
Tbstat -d̿ռʹDBSPACECHUNKϢ
RSAM Version 5.03.UC1 -- On-Line -- Up 09:45:41 -- 816 Kbytes
Dbspaces
addressnumber flagsfchunk nchunksflagsownername
8040a244 1111N informixrootdbs
1 active, 8 total
Chunks
addresschk/dbs offset size free bpages flagspathname
80409d84 1 1 0 300000 231871PO-/dev/rdata
1 active, 8 total
еFREEʾ˸CHUNKĿпռС(Kbytes).
Tbstat -l ־ļ
Physical Logging
Buffer bufusedbufsizenumpages numwrits pages/io
P-2016 000.00
phybegin physizephypos phyused%used
101782 1500096000.00
Logical Logging
Buffer bufusedbufsizenumrecsnumpages numwrits recs/pages pages/io
L-2016 1111.01.0
addressnumber flagsuniqid beginsize used%used
8042de94 1U---C-L110521a 7500630 8.40
8042deb0 2F------0106f66 75000 0.00
8042decc 3F------0108cb2 75000 0.00
8042dee8 4F------010a9fe 75000 0.00
8042df04 5F------010c74a 75000 0.00
8042df20 6F------010e496 75000 0.00
У%USED ʹðٷֱ
FLAGSֶεĺ:
F: СB:ѱݡC: ڽ¼
U: ʹáA: ־L: һ
Tbstat - uONLINEû
Users
addressflags pid user ttywaittout locks nreads nwrites
804019f4 ------D 329 root console0 00 1792
80401a64 ------D 0 root console0 00 00
80401ad4 ------F 330 root0 00 00
3 active, 20 total
Transactions
addressflags user locks log begin isolation retrys coordinator
804022b4 A---- 804019f4 0 0 NOTRANS 0
804028d8 A---- 80401a64 0 0 NOTRANS 0
2 active, 20 total
Уflagesֶεĺ:
һУSȴmutexYȴLȴBȴ
Cȴ㣻XGȴдTȴ
ڶУ*ִʱI/O
УAڱݣBѱ¼־УPֲã
CύRڻع
УPỰ
УRread rsam УXڹؼ
УMأDCFҳ̣
BB+ҳ
Tbstat -k û
ȷΪ6:ҳֽ
ֽ°VARCHAR͵ʱڸϵ
ϵһӦֽϼɾ־
⼸ʶ£
TYPETBLSNUM ROWIDSIZE
HDR+X 10000022050
100000e00
ҳ 100 0
101
ֽHDR+B 909
ܴ16
ڣ1ʹʱɼͷŶӦ
2 ʹ(COMMIT WORKROLLBACK WORKͷ)
**ļͣ(SHARE)(EXCLUSIVE)**
tbstat -p ʾϵͳԴ״(Ƿ)
Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
18119935849.44 78 20.00
isamtotopenstart read writerewritedelete commit rollbk
311000010
ovtblsovlockovuser ovbuff usercpusyscpu numckpts flushes
0 0 00 0.00 0.00 2 239
bufwaits lokwaits lockreqs deadlksdltoutslchwaits ckpwaits compress
0 00 0 0 0 0 0
OVTBLSָʾTBLSPACEֵ TBLSPACESֵӦ
OVLOCKLOCKSӦ
OVUSERûԴUSERS
OVBUFԴBUFFERS
ӣӦֵӦ
DEADLOCKS
DLTOUTS糬ʱ
DEADLOCK_TIMEOUTһΪ60룬֣ԼӦʱ䣬ûܸٴ֣ܻӦʱ䣬ûӦʱˡ
ġ ONCHECK
λIJһ
ϵݽṹ
ʾͬݽṹı
ijЩѡܻ漰ıϼһ
÷ tbcheck [-clist] [-plist] [-qny]
[ { database[:[owner.]table] | TBLSpace number | Chunk number }
{ rowid | page number } ]
-c- check飩
r - reserved pagesҳ
e - TBLSpace extents and chunk extents
c - database catalogsĿ¼
i - table indexes
I - table indexes and rowids in indexrowid
d - TBLSpace data rows including bitmapsռаλͼ
D - TBLSpace data rows including bitmaps, remainder pages and blobs
-p- printʾ
r - reserved pages (-cr) ҳ
e - extents report (-ce)extent
c - catalog report (-cc)Ŀ¼
k - keys in index (-ci)ļֵ
K - keys and rowids in index (-cI)
l - leaf node keys only (-ci)
L - leaf node keys and rowids (-cI)
d - TBLSpace data rows (-cd)
D - TBLSpace data rows including bitmaps, remainder pages and blobs (-cD)
t - TBLSpace report
T - TBLSpace disk utilization report
p - dump page for the given [table and rowid | TBLSpace and page number]
P - dump page for the given chunk number and page number
B - BLOBSpace utilization for given table(s) [database:[owner.]]table
-q- quiet mode - print only error messages
-n- answer NO to all questions
-y- answer YES to all questions
塢 Ҫtbcheckѡ
TBCHECK-PTDATABASETABLE
йTBLSPACEı档EXTENTͿռʹϢϢTBLSPACETBLSPACEһTBLSPACEONLINEݿ⣬ǸDBSPACEеĵڶTBLSPACETBLSNUMΪ1000002TBLSPACEеÿбһݿϢ
TBCHECK-CdDATABASETABLE
һռݡӱռжȡҳһԼ飬λͼҲȷϸҳȷӳ䡣ĹȷݵЧԣӦ־(BLOBҳʣҳ)
TBCHECK-CiDATABASETABLE
ԱϵǷеROWIDָеЧУҪʱؽSYSINDEXESϢĹ֤ǷЧؽӦ
ԣ
ӦֶΣ(JOIN)ֶΣ˵ֶ(WHEREʹõֶΣΪ)ֶ(ORDER BY)
ӦֶΣиظֵֶ
⣬Ӹظþ۴ӿٶȡ
ҪĹߣ
UPDATESTATISTICS [LOW | MEDIUM | HIGH]
ҪãڲݷֲŻ洢
Ӧʹ
tbinit
ڳʼݿڴ档ÿοִдһ㽫/etc/rc2.dĿ¼µһļС
磺Ӧעʱϵͳʾ
DBERR C529/C-ISAM C123 [Open Database]
ʹfinderr529ʾ
-529 Cannot attach to shared memory. {ʹùڴ}
ʱʹtbinitݿڴгʼϵͳָ
tbmode -sy| tbmode -ky
ڹرݿڴ档ΪݵİȫÿιػǰִдΪ˼Ǿ/etc/rc0.dĿ¼µһļУϵͳûʱԶִдļ
finderr
ѯݿĴϵͳݿʱϵͳ˸ijʾ⣬һšʹôִķȻԲͬĴӦĴ
磺ڳûroot¶Դݿbankstarвʱϵͳʾ
387: No connect permission.
111: ISAM error: no record found.
˼ǣϵͳ387ԭǣûconnectȨޡ
ԭ
ݿҪCONNECTȨޡ£informixûעᣬִSQL䣺grant connect to root
dbaccessԣ
zhouwf0726
:2006.07.25 13:34
:::
(
INFORMIX
)
::Ķ:(537)
::
(0)
::
(0)
===========================================================
INFORMIX SQL
===========================================================
INFORMIX SQL
һ 飺
1INFORMIXҪƷΪ֣
ݿ(ݿ)
Ӧÿ
ݿ⻥Ʒ
2ݿ֣öṩݲ
SEȫUNIXϵͳҪԷǶýĽûӦ
ONLINEԴûͶýӦû
3ӦÿԿӦóҪĻߣҪҲϵУ
4GLINFORMIXͳĻַĿߣϵеҪƷI-SQL4GL RDS4GL C COMPILER4GL IDESQL/C
NewEraINFORMIXṩľ¼ĻڸͼνĿߡ
4INFORMIXݿ⻥ƷṩûڶֹҵӦóӿڣͨԺЩҵݿӡ
I-SQL˵飺
FormִСġĻʽɾѴڵĻʽ
RunִijһѾڵĻʽ
Modify ָѾڵĻʽ
Generate ΪָıһȱʡĻʽ
CompileһƶĻʽ
NewضûĻʽ
Drop ɾijѾڵĸʽļ
Exit ˳Form˵
Report ִСġ롢ɾ
Runִijһ
Modify ָı
Generate Ϊijһһȱʡı
Newһûָı
Compileָı
Drop ɾһָѾڵı
Exit ˳Report˵
Query-Language ʵó˵dbaccess
User-menu ִСûIJ˵
Run ִеǰݿû˵
Modifyûû˵
Exit˳User-menu˵
Databaseʵó˵dbaccess
Table ʵó˵dbaccess
Exit˳ʵóisqlrf(isql)
ò
ݿ
ISQL==DATABASE==CREATE==½ݿ
ISQL==TABLE==CREATE==ı==ADD
==ֶ͵==EXIT==BUILD-NEW-TABLE
ȱʡʽ
ISQL==FORM==GENERATE=ѡݿ==ʽ==ѡ==TABLE-SELECTION-COMPLETE-----ɹ==RUN
ġ ʹRDSQL(ʽѯ)дSQL
ISQL==Query Langavage==NEW==RUN
ݿ
CREATEDATABASEݿ
(ʽѡ)
ʽ
CREATETABLE
(ֶ͡
ֶ͡
--- ֶ)
ϸ壺
CREATE TABLE
(COL1INTEGERNOTNULL
COL2CHAR(2)CHECK ( COL2IN ( ))
COL3DATEDEFAULTTODAY
COL4SMALLINT UNIQUE
--- ֶ͡)
FRAGMENT BY ROUND ROBIN (BY EXPRESSION)IN DB1DB2
EXTENT SIZE 1000 NEXT SIZE 600
WITH NO LOG (LOGBUFFERED LOGLOG MODE ANSI )
LOCK MODE ROW(PAGE)
1
CREATE TABLE ORDERS
(ORDER_NUMINTEGER
UNIQUECONSTRAINTORDER_NUM_UQ,
ORDER_DATEDATE
NOT NULLCONSTRAINTORDER_DATE_NN
DEFAULTTODAY );
2
CREATETABLECUSTOMER (
CUSTOMER_NUMSERIAL,
FNAMECHAR(20),
PRIMARYKEY (CUSTOMER_NUM)
CONSTRAINTPK_CNUM
);
CREATETABLEORDERS (
ORDER_NUM SERIAL,
CUSTOMER_NUM INTEGER,
FOREIGNKEY (CUSTOMER_NUM)
REFERENCESCUSTOMER
CONSTRAINTFK_CNUM
);
ͣ
ַ(CHAR(20)),VARCHAR(MINSIZE, MAXSIZE)
ֵ(֣DECIMAL(16,2)SMALLINTINTEGERSMALLFLOATFLOATSERIAL )
( DATE ĬϸʽΪMM/DD/YYYY )
**ҪDATE͵ȱʡʽ, ֻҪûĿ¼.profileļ˵: DBDATE=Y4MD/
EXPORTDBDATE**
(MONEY (8,2))
(磺INTERVALDATETIME)
(뽨)
CREATE[ UNIQUE ]INDEXON(ֶ)
CREATE[ UNIQUE ]INDEXON(ֶ)DISABLED;
SETINDEXESENABLED
DROPINDEX
ݿȨ
CONNECT ݿ
RESOURCE ûݿеı
DBA ݿԱȨޣһ㽨ΪDBA
GRANTȨޡTOPUBLIC | û
REVOKEȨޡFROMPUBLIC | û
ݿ
DATABASEݿ
SELECT * FROM
SELECTֶ ֶFROM
SELECTֶ ֶ+-*/ֶFROM
SEKECTAVG(ֶ) MIN()MAX()SUM()COUNT()FROM
WHEREӾ䡡 = =< <=>>=
MATCHES* 0? [ ] ַһΧ תһַ
LIKE %:0-- _ תһַ
ORDERBY(DESC)
ʱ亯: DAYMDYMONTHWEEKDAYYEARDATECURRENT
:LENGTHUSERCURRENTTODAY
Ӷв, SELECTǶס
ֱֶͬдֶͬͬǰ
SELECTһֶFROMһ,
в
INSERT INTO [ 1, 2]VALUES [ ]
UPDATESETֶ=WHERE
ɾ
DELETEFROMWHERE
ıĽṹ:
1:
ALTERTABLE
DROPCOL2 ,
MODIFYCOL1INTEGERNOTNULL ,
ADDCOL4INTEGER ,
ADDCOL3CHAR(20)BEFORECOL4;
2:
ALTERTABLEORDERS
MODIFYNEXTSIZE300;
:
RENAME COLUMNTABLECOLTONEWCOL_NAME
RENAME TABLETABLE_NAMETONEWTABLE_NAME
RENAME DATABASEDATABASE_NAMETONEWDATABASE_NAME
ɾ:
DROPTABLETABLE_NAME
DROPDATABASEDATABASE_NAME
ϰ⣺
һ˾ְԱ⣬аһ˾ְԱݰ
EMPLOYEE_NAME , EMPLOYEE_NUM, HIRE_DATE ,SALARY
zhouwf0726
:2006.07.25 13:33
:::
(
INFORMIX
)
::Ķ:(598)
::
(0)
::
(0)