SQL$HELP72.HLB  —  ALTER  DATABASE  Examples
    Example 1: Changing a read/write storage area to a read-only
    storage area

    This example changes the SALARY_HISTORY storage area from a
    read/write storage area to a read-only storage area.

    SQL> ALTER DATABASE FILENAME mf_personnel
    cont> ALTER STORAGE AREA salary_history
    cont> READ ONLY;

    Example 2: Adding multiple, fixed-size journal files

    This example demonstrates reserving slots for journal files,
    enabling the journaling feature, and adding multiple, fixed-size
    journal files.

    SQL> CREATE DATABASE FILENAME test
    cont>    RESERVE 5 JOURNALS
    cont>    CREATE STORAGE AREA sa_one
    cont>       ALLOCATION IS 10 PAGES;
    SQL> DISCONNECT ALL;
    SQL>
    SQL> ALTER DATABASE FILENAME test
    cont>    JOURNAL IS ENABLED
    cont>    ADD JOURNAL AIJ_ONE
    cont>       FILENAME aij_one
    cont>       BACKUP FILENAME aij_one
    cont>    ADD JOURNAL AIJ_TWO
    cont>       FILENAME aij_two
    cont>       BACKUP FILENAME aij_two
    cont> ;

    You should place journal files and backup files on disks other
    than those that contain the database.

    Example 3: Reserving and using slots for storage areas

    This example demonstrates reserving slots for storage areas
    and adding storage areas to the database that utilizes those
    slots. Use the SHOW DATABASE statement to see changes made to the
    database.

    SQL> CREATE DATABASE FILENAME sample
    cont>    RESERVE 5 STORAGE AREAS
    cont>    CREATE STORAGE AREA RDB$SYSTEM
    cont>       FILENAME sample_system
    cont> --
    cont> -- Storage areas created when the database is created do not use
    cont> -- the reserved storage area slots because this operation is being
    cont> -- executed off line.
    cont> --
    cont> ;
    %RDMS-W-DOFULLBCK, full database backup should be done to ensure future
    recovery
    SQL> --
    SQL> -- Reserving storage area slots is not a journaled activity.
    SQL> --
    SQL> -- To use the reserved slots, you must alter the database and
    SQL> -- add storage areas.
    SQL> --
    SQL> DISCONNECT ALL;
    SQL> ALTER DATABASE FILENAME sample
    cont>    ADD STORAGE AREA SAMPLE_1
    cont>       FILENAME sample_1
    cont>    ADD STORAGE AREA SAMPLE_2
    cont>       FILENAME sample_2;

    Example 4: Reserving Slots for Sequences

    This example shows that reserving extra sequences in the database
    adds to the existing 32 that are provided by default, and the
    count rounded up to the next multiple of 32 (that is, 64).

    $ SQL$ ALTER DATABASE FILENAME MF_PERSONNEL RESERVE 10 SEQUENCES;
    %RDMS-W-DOFULLBCK, full database backup should be done to ensure future recovery
    $ RMU/DUMP/HEADER=SEQUENCE MF_PERSONNEL
    *------------------------------------------------------------------------------
    * Oracle Rdb V7.1-200                                   15-AUG-2003 14:54:26.55
    *
    * Dump of Database header
    *     Database: USER2:[DOCS.WORK]MF_PERSONNEL.RDB;1
    *
    *------------------------------------------------------------------------------

    Database Parameters:
        Root filename is "USER2:[DOCS.WORK]MF_PERSONNEL.RDB;1"
        Sequence Numbers...
       .
       .
       .
        Client sequences...
          - 64 client sequences have been allocated
          - 0 client sequences in use

    Example 5: Adding and Enabling a Row Cache on OpenVMS

    The MF_PERSONNEL database is altered to add a row cache, apply it
    to several storage areas and enable row caching. The example
    further assumes that after image journals have already been
    defined for the database, they are required for the JOURNAL IS
    ENABLED clause to succeed.

    SQL> /*
    ***> Prepare the database for ROW CACHE, include extra
    ***> capacity for later additions
    ***> */
    SQL> alter database
    cont>     filename MF_PERSONNEL
    cont>     number of cluster nodes is 1
    cont>     journal is ENABLED (fast commit is enabled)
    cont>     reserve 20 cache slots
    cont>     row cache is ENABLED
    cont>
    cont> /*
    ***> Create a physical cache for all the employee rows
    ***> */
    cont>  add cache EMPIDS_RCACHE
    cont>     shared memory is SYSTEM
    cont>     row length is 126 bytes
    cont>     cache size is 204 rows
    cont>     checkpoint updated rows to database
    cont>
    cont> /*
    ***> Apply the cache to each of the relevant storage areas
    ***> */
    cont>  alter storage area EMPIDS_LOW
    cont>     cache using EMPIDS_RCACHE
    cont>  alter storage area EMPIDS_MID
    cont>     cache using EMPIDS_RCACHE
    cont>  alter storage area EMPIDS_OVER
    cont>     cache using EMPIDS_RCACHE
    cont> ;
    %RDMS-W-DOFULLBCK, full database backup should be done to ensure future recovery

    Example 6: Establishing a Timeout Value for Prestarted
    Transactions

    SQL> ALTER DATABASE
    cont>   FILENAME SAMPLE
    cont>   PRESTARTED TRANSACTIONS ARE ENABLED
    cont>      (WAIT 90 SECONDS FOR TIMEOUT)
    cont>   ;

    Example 7: Altering a Database Specifying the SINGLE INSTANCE
    Option

    This example prepares a database to be run in a 4 node GALAXY
    cluster. The SINGLE INSTANCE clause is used to enable special
    optimizations that are available because of the galaxy shared
    memory.

    SQL> alter database
    cont> filename MF_PERSONNEL
    cont> galaxy support is ENABLED
    cont> number of cluster nodes is 4 (single instance);

    Example 8: Disabling storage if snapshot rows

    The following example demonstrates using SQL to modify the "C1"
    cache to disable storage of snapshot rows in cache and to modify
    the "C5" cache to enable storage of snapshot rows in the cache
    with a snapshot cache size of 12345 rows:

    SQL> ALTER DATABASE FILE EXAMPLE_DB
    cont> ALTER CACHE C1
    cont>  ROW SNAPSHOT IS DISABLED;
    cont> ALTER CACHE C5
    cont>  ROW SNAPSHOT IS ENABLED (CACHE SIZE IS 12345 ROWS);

    Example 9: Using the SWEEP INTERVAL clause

    Here is an example of using the SWEEP INTERVAL clause.

    SQL> ALTER  DATABASE FILENAME MF_PERSONNEL
    cont>     ROW CACHE IS ENABLED (SWEEP INTERVAL IS 100 seconds)
    cont> ;
    SQL> attach 'filename MF_PERSONNEL';
    SQL> show database rdb$dbhandle
    Default alias:
        Oracle Rdb database in file MF_PERSONNEL
    .
    .
    .
            Row Cache is Enabled
            Row cache: sweep interval is 100 seconds
            Row cache: No Location
            Row cache: checkpoint updated rows to backing file
    .
    .
    .
Close Help