Posted By: medved (A~z na v~eky Mikov~ce.) on 'CZdatabases' Title: Sybase ASE a trans. log Date: Mon Apr 9 16:48:39 2001 Ahoj, Ta chyba ve vyse popsanych mailech vypada, ze skuutecne cpete data do master databaze a ty dojde misto v transakcnim logu. TGransakcni log je to nejdulezitejsi, co v serveru mate. Obsahuje zaznam provedenych operaci modifikujicich data vcetne danych dat. To znamena, ze pomoci stare kopie dat a aktualniho tran. logu se muzete dostat do posledniho stavu databaze. Kdyz provadite nejaky insert nebjinou DML (Data Manipulation Language) operaci, tak se nejdrive nacte dana datova stranka z disku (pokud neni v cache) a zapise se zaznam do transakcniho logu a zmeni se hodnota dat na strance v cache (pameti). A to je vse. Ke zmene datove strance na disku dojde nekdy pozdeji - az bude mit server cas neho az udelate checkpoint. Teprve pote se zmeni data na disku. Transakcni log ma v sobe tedy zaznam vsech DML operaci - az na "minimalne logovane operace" - to je to bcp in a "select into" - v techto pripadech se do logu zapise pouze text prikazu a nikoliv nahravana data - proto je bcp tak rychle, ale neni urceno pro bezny provoz - spise pro administratora. Z vyse uvedeneho je jasne, ze traakcni log neustale roste - zkracuje se standardne pri zalohovani - a to jak pri plnem dumpu (data+log), tak pri inkrementalnim (jen log). Dale muzete zkracovat log manualne a to pomoci dump tran withtruncate only nebo pomoci db option truncate log on checkpoint - POTOM ALE MUSITE DELAT PLNE DUMPY PRI ZALOHOVANI! Jinak nedostanete konzistentni zalohu. Protoze je tranaskcni log tak dulezity musite jej hlidat - mate moznost vytvorit ulozenou procedury sp_tresholdaction, ktera se automaticky spusti, pokud uz v transakcnim logu zbyde jen x% mista. Potom muze administrator bud zvetsit databazi (pridat misto pro log) nebo se podivat do tabulky master..syslogshold ktera transakce trva tak dlouho, ze zabranuje zkraceni logu (pri dumpu/checkpointu). Jo a kazda databaze ma svuj transakcni log - muze byt na stejnem device jako data, ale je doporucovano jej umistit na jiny !hardwarovy disk - z vykonnostnich a bezpecnostnich duvodu. A posledni poznamka - kazdy login do ASE muze mit nastavenu defaultni databazi, ke ktere se pripoji hned po prihlaseni do ASE. Ostatni databaze muze pouzivat pres use dbname ci jejich tabulky etc. pres dbname.user.object . Bye Medved Si vis pacem, para bellum.