Results 1 to 5 of 5
  1. #1
    Join Date
    Dec 2002
    Location
    Madrid - Spain
    Posts
    422
    Provided Answers: 1

    Wink Unanswered: Long Transactions.

    Hi Gurus,

    Somebody could explain me very good and with detail this two parameters on informix. if it is posible with examples please

    LTXHWM
    LTXEHWM

    Thank you for you help.

  2. #2
    Join Date
    Apr 2007
    Location
    Jundiai / SP - Brasil
    Posts
    311
    see the link bellow. In this search result have everything about LTXHWM / LTXEHWM

    IBM Informix Dynamic Server v11.50 Information Center
    ________________________________________
    César Inacio Martins
    Jundiai / SP - Brasil
    http://www.imartins.com.br/informix - em Português
    http://www.imartins.com.br/informix - English (translated by Google).
    ________________________________________

  3. #3
    Join Date
    Sep 2008
    Posts
    33
    Hi georgipa,

    These two parameters really helps us to avoid long transactions.If u r transaction is so long that it spans your entire logs and comes back to first log,the system will be experience a long transaction(IDS will get struck).If Long transaction high water mark and Long transaction exclusive high water mark are set.Once your logs reaches LTXHWM parameter value it warns the long transaction so that u can stop some other process running(to have enough logs for rollback)if it reaches LTXEHWM,your transaction will be rolled back.....

  4. #4
    Join Date
    Dec 2002
    Location
    Madrid - Spain
    Posts
    422
    Provided Answers: 1
    Hi Gurus,

    Somebody could explain me this two parameters with a case real, I read the documentation but is dificul for understan, please.

    Thank you for you help.

  5. #5
    Join Date
    Apr 2007
    Location
    Jundiai / SP - Brasil
    Posts
    311
    ok... a very very resumed answer...

    First, what do you understand about LOGICAL LOGs ??
    SIMPLE ANSWER: LOGICAL LOGs are a rotate logs that contain all information of all transactions executed in the IDS instance, and this propose are lot things, but the mainly are:
    - Permits a transaction database (begin work / commit / rollback )
    - In case of crash of database/machine, permits recover the IDS instance to the last situation minutes before the crash.

    You can monitor the rotate behave with command "onstat -l " looking in "uniqid" column.
    To monitor what transactions are open and what logical log are started, use the command "onstat -x" , column "log begin" (=uniqid)

    That said, now think about this situation.
    - A user start a transaction
    - this user begin a big update, over a table with more than 100 millions of rows and changing all rows...
    - all modification (before image/after image) of this rows will be logged in the Logical Log , imagine how much Mbytes are logged...
    - now, think if in the last row to be update, the transaction are aborted... a rollback will be started...

    Transaction X logical log
    now, if your logical log are configured with 1GB of space, and this table have a amount of 80G... think how will work the rotate logical log , where will be the "log begin" of this transaction? probably it already overwritten ... so, how the IDS will execute a rollback if it don't have the first log (log begin) ?

    For this situations , exists the "long transaction".
    If you have 1GB of Logical Log, you cannot have a unique transaction what use more than 1GB of Logical Log data, and to tunning this , the LTXHWM and LTXEHWM are used.

    LTXHWM = percent of logical log used by a unique transaction.
    LTXHWM = percent of logical log used to start a exclusive access

    let's say you have 1GB of Logical Log and LTXHWM = 80 (%) and LTXEHWM = 90, so your transactions cannot pass 800MB of data , when reach this limit a "long transaction" occur and a rollback start automatically . But a rollback need to use the logical log too, so if the rollback reach the 900M (90%) , all other threads are stopped and the rollback have grant to exclusive access to logical log, to avoid it become full...

    Parameters involved in this situations are Dynamic_logs .

    Just a note: in this example , when I said "a limit of 800MB of data for unique transaction", isn't exactly this what I mean. The Logical log are shared with ALL logged databases... so in this 800MB , you must count the data of others users transactions...

    I believed this answer are practically the same what are in the manuals... so...
    ________________________________________
    César Inacio Martins
    Jundiai / SP - Brasil
    http://www.imartins.com.br/informix - em Português
    http://www.imartins.com.br/informix - English (translated by Google).
    ________________________________________

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •