RDOHELP72.HLB  —  Logical Names
    This section describes new Oracle Rdb logical names and changes to
    other Oracle Rdb logical names. For complete information on Oracle Rdb
    logical names, see the Oracle Rdb Guide to Database Performance and
    Tuning.

1  –  RDMS$BIND VM SEGMENT Changed

    The logical names RDMS$BIND_VM_SEGMENT changed to RDM$BIND_
    VM_SEGMENT, that is, without the S. This logical name prevents
    memory fragmentation and allows certain applications which would
    otherwise run out of virtual memory to execute correctly.

                                   NOTE

       The RDM$BIND_VM_SEGMENT logical name is not for general
       use, as preserving larger block sizes (by preventing
       fragmentation) may cause problems for some applications.

    To use this logical name use the DCL command as follows:

    $ DEFINE RDM$BIND_VM_SEGMENT 1

    Use this logical name either on the system experiencing the
    problem or in some other appropriate place such as in the
    LOGIN.COM file of the users experiencing the difficulty.

2  –  RDMS$BIND_QG_TIMEOUT

    The RDMS$BIND_QG_TIMEOUT logical name is used to set the query
    optimizer elapsed time limit. The elapsed time that the query
    optimizer spends compiling a query can now be limited by defining
    the logical name RDMS$BIND_QG_TIMEOUT and specifying a value
    in seconds. A timer is established which will cause the query
    compilation to be aborted if too much elapsed time has passed.
    This logical name is translated at attach time and supersedes all
    options specified in the application.

    The following DCL command is used to define the RDMS$BIND_QG_
    TIMEOUT logical name and set a value of 120 seconds.

    $ DEFINE RDMS$BIND_QG_TIMEOUT 120

    In this example, the query optimizer will abort the query
    compilation after 120 seconds have elapsed.

    See the RDMS$BIND_QG_REC_LIMIT help topic at this level for
    information on how to limit the number of records delivered
    during query processing.

3  –  RDMS$BIND_QG_REC_LIMIT

    The RDMS$BIND_QG_REC_LIMIT logical name is used to set the
    query optimizer row number delivery limit. The number of rows
    delivered during query processing can now be limited by defining
    the logical name RDMS$BIND_QG_REC_LIMIT and specifying a value
    of n records. Defining this logical name is useful for any
    query that returns large quantities of rows and is likely to
    do large numbers of I/O operations. This limit counts the rows
    being returned by the query. Note that this value is independent
    of the number of records read by the application, for example
    intermediate records for a join, or component records for an
    aggregate. It is very similar to the LIMIT TO clause in SQL.
    However, if this limit is exceeded, an error message is returned.
    This logical name is translated at attach time and supersedes all
    options specified in the application.

    The following DCL command is used to define the RDMS$BIND_QG_REC_
    LIMIT logical name and set a value of 20 records:

    $ DEFINE RDMS$BIND_QG_REC_LIMIT 20

    In this example, the query optimizer will terminate processing
    the query after 20 records are returned.

    See the RDMS$BIND_QG_TIMEOUT help topic at this level for
    information on how to limit the elapsed time that the query
    optimizer can spend compiling a query.

4  –  RDM$BIND_CKPT_TRANS_INTERVAL

    You can use the RDM$BIND_CKPT_TRANS_INTERVAL logical name to
    define a process-specific checkpoint interval value when undo
    /redo recovery processing is enabled. By default, a process
    checkpoints when the AIJ block size limit is reached or the time
    interval limit is exceeded, whichever occurs first. The RDM$BIND_
    CKPT_TRANS_INTERVAL logical name uses the number of transactions
    as the checkpoint trigger. For example, if you define RDM$BIND_
    CKPT_TRANS_INTERVAL to be 10, the process on which the logical
    is defined checkpoints after committing ten transactions IF the
    transaction limit is reached before the block size or time limits
    are exceeded.

5  –  RDMS$USE_OLD_UPDATE_RULES

    This section discusses use of the RDMS$USE_OLD_UPDATE_RULES
    logical name to preserve update behavior. You cannot modify or
    erase records in a relation if the relation is joined with other
    relations.

                                   NOTE

       This restriction applies to RDO, RDBPRE, and RDML only. SQL
       syntax does not allow this type of update.

    However, updates to a relation are allowed if you join the
    relation with other relations in a subquery.

    This update restriction can cause applications that depend on
    the previous update behavior to fail unless update queries are
    modified. You can use the RDMS$USE_OLD_UPDATE_RULES logical
    name to retain the previous update behavior, then modify your
    applications.

    Define the RDMS$USE_OLD_UPDATE_RULES logical name to be 1, as
    shown below, to enforce the old update rules.

    $ DEFINE RDMS$USE_OLD_UPDATE_RULES 1

    Support for this logical name will be removed in a future release
    of Oracle Rdb.

6  –  RDMS$BIND WORK FILE Changed

    The RDMS$BIND_WORK_FILE logical name is used to redirect the
    location of temporary files that Oracle Rdb sometimes creates for
    use in matching operations. Oracle Rdb creates the file when the
    process running the query runs out of virtual memory, and deletes
    the file once the query is completed.

    You can define RDMS$BIND_WORK_FILE and specify a device name and
    directory. This enables the file to use resource identifiers for
    disk quota allocation.

    The following example shows how to assign the location of
    temporary files to a specific device and directory.

    $ DEFINE RDMS$BIND_WORK_FILE WORK$DISK:[RDB.WORK]
Close Help