database is created in "root dbspace"
at server initialization. This database is required for the Scheduler API and Remote Administration
feature. Until B5 drop, there wasn't any way of moving the sysadmin database safely to any other dbspace. A new SQL Admin API command in B6 drop now simplifies this task by allowing "informix" user to drop and recreate this database to any other dbspace.
If it's determined that root dbspace does not have enough space for storing task properties and command history information, you could move the sysadmin database to a different dbspace by using the "reset sysadmin"
SQL Administration API command. This command drops the sysadmin database from root dbspace and recreates it in the specified dbspace.
Here's an example to move the sysadmin database...
1. Make sure the following message has appeared in the online message log after server startup:
SCHAPI: Started 2 dbWorker threads.
2. Let's create a special dbspace to store sysadmin... admindbs
database sysadmin;execute function task("create dbspace", "admindbs", "/vol/dbspaces/admindbs", "1 GB", "0");
onspaces -c -d admindbs -p /vol/dbspaces/admindbs -s 1000000 -o 0
3. As user informix
, run the following commands:
dbaccess sysadmin -execute function task("reset sysadmin", "admindbs");
The command will return the following message:
SCHAPI: 'sysadmin' database will be moved to 'admindbs'. See online message log.
The internal thread, bld_sysadmin
(seen via onstat -g ath), waits up to five
minutes to obtain exclusive access to the sysadmin database. The progress of the bld_sysadmin thread is logged in the online message log.
4. Our own session has sysadmin database open. So, terminate the dbaccess session with the "close database
On successful completion, the sysadmin database is dropped and recreated in the new dbspace. The dbScheduler and dbWorker threads are restarted automatically.Mirav Kapadia