Increasing device and database capacity for system procedures

If you cannot fit the enlarged sybsystemprocs database on the system procedures device, increase the size of the device and create a new database.

This procedure involves dropping the database. For more information on drop database, see the Reference Manual.

WARNING! This procedure removes all stored procedures you have created at your site. Before you begin, save your local stored procedures using the defncopy utility. See the Utility Guide for more information.

StepsCreating a larger system procedures device (sysprocsdev)

  1. Determine which device or devices you need to remove.

    WARNING! Do not remove any device that is in use by database other than sybsystemprocs, or you will destroy that database.

    select d.name, d.phyname 
    from sysdevices d, sysusages u 
    where u.vstart between d.low and d.high 
    and u.dbid = db_id("sybsystemprocs") 
    and d.status & 2 = 2 
    and not exists (select vstart
        from sysusages u2
        where u2.dbid != u.dbid 
        and u2.vstart between d.low and d.high)
    

    where:

    The “not exists” clause in this query excludes any devices that are used both by sybsystemprocs and other databases.

    Note the names of the devices; you will need them in the steps.

  2. Drop sybsystemprocs:

    use master
    go
    drop database sybsystemprocs
    go
    

    NoteIn versions of Adaptive Server Enterprise prior to 15.0, you use sysdevices to determine which device has a low through high virtual page range that includes the vstart from Step 2. The device fragment whose vstart you used is on that device

    In the 15.0 version of Adaptive Server Enterprise select the vdevno from sysusages matching the dbid retrieved in Step1.

  3. Find another existing device that meets the requirements for additional free space, or use a disk init command similar to the following to create an additional device for sybsystemprocs:

    1> use master
    2> go
    
    
    1> disk init
    2> name = "sysprocsdev",
    3> physname = "%SYBASE%\data\sysproc.dat",
    4> vdevno = 9,
    5> size = 51200
    6> go
    

    where %SYBASE%\data is the path to your system procedures device.

  4. Create a sybsystemprocs database of the appropriate size on that device, for example:

    1> create database sybsystemprocs on sysprocsdev = 
         112
    
    2> go
    
  5. Run the instmstr command in the old release directory. For version 12.0:

    isql -Usa -Ppassword -i%SYBASE%\%SYBASE_ASE%
         \scripts\instmstr -oinstmster.out
    

    For versions earlier than 12.0:

    isql -Usa -Ppassword -i%SYBASE%\scripts\instmstr 
         -oinstmster.out