Pular para o conteúdo
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #79926
    Anônimo

      — Estou com esse erro ao executar o Forms ( Nao acontece frequentemente) entrei em contato com um DBA e ele falou que minha aolicacao deve estar setando o SERIALIZE p/ TRUE. mas nao sei o que pode ser isso, haja vista que todos os meus FORMS estao construidos iguais e nunca setei este SERIALIZE, alguem pode me ajudar nisso???

      #79929
      DanielB
      Participante

        a ver si es esto lo que sucede

        Problem Description

        Consider a Form which contains a timer. This timer fires for example
        every 10 seconds. The action of this timer is to keep a screen
        always up to date, based on a regular data refresh.

        To do so, you define a timer which fires the WHEN-TIMER-EXPIRED
        trigger. This trigger opens a cursor, fetches data from a table, assigns
        data to visible items on the Form and eventually closes the cursor.

        This works fine.
        Now, you let your Forms application run and open a SQLPlus session.
        In this SQL
        Plus session, you update data in the table queried by the
        cursor and commit changes. You can see changed data in SQLPlus with
        a simple SELECT statement. Data changes are really committed because you
        can see the changes as well in another SQL
        Plus session.
        However, the changed data do not get refreshed in Forms: it seems that
        Forms reads the old data, although the cursor is opened, fetched and
        closed everytime the timer expires.

        You can also get from time to time the ORA-8177 error message:
        Error: ORA 8177

        Text: cannot serialize access for this transaction

        Cause: Oracle encountered data changed by an operation that occurred after
        the start of this serializable transaction
        Action: In read/write transactions, retry the intended operation or
        transaction.

        Solution Description

        This sitatuation can happen if the Form-level property “Isolation Mode”
        is set to “Serializable”.

        Change it back to the default value “Read Committed” and the data is properly
        displayed and refreshed in the Form.

        Explanation (from the Forms Builder online help)

        The “Isolation Mode” Form-level property specifies whether or not transactions
        in a session will be serializable. If Isolation Mode has the value Serializable,
        the end user sees a consistent view of the database for the entire length of the
        transaction, regardless of updates committed by other users from other sessions.
        If the end user queries and changes a row, and a second user updates and commits
        the same row from another session, the first user sees Oracle error
        (ORA-08177: Cannot serialize access.).
        Serializable mode is best suited for an implementation where few users are
        performing a limited number of transactions against a large database; in other
        words, an implementation where there is a low chance that two concurrent
        transactions will modify the same row, and where long-running transactions are
        queries.
        For transaction-intensive implementations, leave Isolation Mode set to Read
        Committed (the default). Serializable mode is best used in conjunction with the
        block-level property Locking Mode set to Delayed.

      Visualizando 2 posts - 1 até 2 (de 2 do total)
      • Você deve fazer login para responder a este tópico.
      plugins premium WordPress