Illustra DBA FAQ
Installation
Daily Things
WHEN THINGS GO WRONG
Installation
How to set MI_LOGDIR before you install.
Illustra includes the ability to recover from a hard crash, but this
ability must be enabled when you initialize the installation;
it cannot be enabled later.
To enable recovery, do the following before you run mirun:
- Create a log location, preferably on a different drive.
- Set the MI_LOGDIR environmental variable to that location.
It is better to install with recovery enabled and disable recovery
on a database by database basis with the -n flag.
For example, the following command creates a database called
test with recovery turned off:
micreatedb test -n
How to install Illustra without a tape drive.
Make the tapedev argument to miinstall the name of the
tar file containing the distribution; for example:
miinstall -tapedev=/tmp/Beta2.0.12
Avoid installing the same DataBlade more than once.
The DataBlades create new types that cannot be removed once database objects
reference them. If you install a DataBlade more than once, you may end up with
duplicate entries in the system catalogs.
How to tell which DataBlades are installed.
All DataBlades have a function called DataBlade_Release() that returns
the release number of the installed DataBlade.
If the DataBlade is not installed, the function will not be defined.
In the following example, the spatial and image
DataBlades are installed, but the document DataBlade is not:
-- Spatial Blade
* return spatial_Release();
------------------------------------------
|spatial_Release |
------------------------------------------
|Release 1.2 Wed May 18 10:39:51 PDT 1994|
------------------------------------------
one row selected
-- Image Blade
* return img_Release();
------------------------------------------
|img_Release |
------------------------------------------
|Release 1.1 Thu May 19 01:19:15 PDT 1994|
------------------------------------------
one row selected
-- Doc Blade
* return dt_Release();
XP0038:Cannot find a function named 'dt_Release' taking no arguments
How to tell what an installation is licensed to run.
Login to the license server and
run elmadmin -l at the UNIX prompt.
This will display the number of licenses, how many are in use, when they were
installed, and when they expire. For example, the following shows that
mighty has 25 concurrent user licenses for the server and for the image,
spatial, and doc blades:
jta[mighty]: elmadmin -l
Elan License Manager - Copyright 1989-1993 Elan Computer Group, Inc.
Server mighty:
CID LID User Feature Group Started
--- --- ------------------------------------ ---------- -------- ------------
S 1 1 jta@zippy.sdsc.edu,:0 MiServer - Dec 23 16:20
S 2 1 jta@zippy.sdsc.edu,:0 MiServer - Dec 23 16:21
S 3 2 lrw@wimpy.sdsc.edu,:0.0 MiServer - Dec 23 16:21
MiServer [00]: 25 licenses, 2 in use; installed Sep-26-94.
document [01]: 25 licenses, 0 in use; installed Sep-26-94.
spatial [02]: 25 licenses, 0 in use; installed Sep-26-94.
image [03]: 25 licenses, 0 in use; installed Sep-26-94.
How to run the license manager on a different machine than Illustra.
Set the MI_LICENSE parameter in the MiParams file to the name
of the machine running the license manager.
However, if you want to run the license manager on a machine other than the
one you were originally granted a license key for,
you'll have to ask Illustra technical support for a new license key first.
You're installed--what's next?
Here are a couple suggestions for getting started:
- The Illustra distribution includes samples in $MI_HOME/examples.
- Install the dba functions in $MI_HOME/examples/dba_funcs
in the template1 database.
- Dump template1 so newly created
databases will automatically have these functions.
- Sequoia has developed some freely available
samples and tools.
Daily Things
How to start and stop Illustra.
Login as the miadmin user.
- Starting Illustra
- Start the license manager: startdaemon
Start the Illustra daemon: mirun
- Stopping Illustra
- Stop the Illustra daemon: mistop
Stop the license manager: elmadmin -k
How to automatically start Illustra at boot time.
The miinstall process leaves a script in the install directory
named RUN_AS_ROOT, which contains commands for
setting up your system to start Illustra automatically
on reboot.
How to tell who is logged into Illustra.
- License Manager:
Run elmadmin -l,
the same command you run to determine what an
installation is licensed for.
- Database:
- The miadmin user can query the procs table for user
process information.
- Users can view process information with the
ml_process() dba function.
How to hide Illustra passwords from 'ps' output.
msql prompts for a password if you
enter a dash immediately after the -P option, as in:
[jta]arcadia.CS.Berkeley.EDU% msql jta -P-
Password:
Connected to jta on connection 0
*
How to dump template1 so new databases automatically get new features.
When a database is created, by default it uses $MI_HOME/files/template.dump
as the template for the database.
For changes in template1 to take effect for new databases,
you have to re-dump template.dump from template1. For example:
$ echo $MI_HOME
/usr/miadmin
$ cd $MI_HOME/files
$ mv template.dump template.dump-
$ msql template1
* dump 0 disk '/usr/miadmin/files/template.dump';
S00LH0:dump: the dump was successfully completed
How to backup Illustra databases.
Use the Illustra midump or dump commands.
Do not use UNIX backup procedures (i.e., dump, dd, tar) unless the
Illustra daemon is down.
When Things Go Wrong
Logs to check.
$MI_HOME/data/miserver.log
$MI_HOME/data/midaemon.log
$MI_HOME/adm/license.log
$MI_HOME/data/base/database_name/Error.log
Can't connect to a database.
Does the following failure look familiar?
huevos.s2k.ucsb.edu!jta> msql template1
MI_LIB_USAGE: Failed to connect to server
can't connect to server
Not currently connected to a database
Make sure that the midaemon
and elmd processes are up. For
example, the following shows that the daemon is up, but the elmd process
is not:
huevos.s2k.ucsb.edu!jta> ps auxw | grep miadmin
jta 5776 0.0 0.4 1.31M 264K p3 S 14:28:51 0:00.04 grep miadmin
miadmin 21295 0.0 0.6 4.35M 352K ?? S Nov 21 0:00.66 /usr/miadmin/2.1/bin/midaemon -s default
The UNIX process id (pid) for elmd
is stored in /tmp/.elmd.6171.
If the pid file isn't there, elmd aborts.
Sequoia users have had problems with it disappearing when a cron job
that periodically purges /tmp also removes the pid file
or when a root user removes everything in /tmp.
It doesn't affect processes currently connected to the database;
it simply prohibits new connections.
To restart elmd, login as miadmin and run startdaemon.
Illustra tech support says that the next release of the license manager
will detect that the pid file has disappeared and will recreate it.
In the meantime, you might let root users on your system know about the
file in /tmp so they don't inadvertently remove it.
mirun fails.
- Error:
-
miadmin[2.1]: mirun
mirun: attempt to start midaemon failed.
The following was appended to the file /usr/miadmin/2.1/data/midaemon.log:
.... lots of gobbledegook removed ...
midaemon: cannot attach to license daemon, errocode: -4
Is your license manager up?
Check with the UNIX ps command.
If it is up, you should see an elmd process:
miadmin[2.1]: ps auxw | grep elmd
miadmin 6962 0.0 0.4 1.31M 264K p4 S 17:39:37 0:00.04 grep elmd
miadmin 6939 0.0 0.5 1.52M 328K ?? S 17:31:16 0:00.08 /usr/miadmin/2.1/bin/elmd -l /usr/miadmin/2.1/adm/license.log -m 10
elmd must be started
with startdaemon before you can start the Illustra daemon.
- Error:
-
huevos.s2k.ucsb.edu!miadmin> mirun
mirun: attempt to start midaemon failed.
The following was appended to the file /illustra/data/midaemon.log:
.... lots of gobbledegook removed ...
midaemon: cannot attach to license daemon, errocode: -6
Your license probably expired; contact Illustra tech support for a new key.
Back to top level FAQ.
Last Updated: $Date: 1994/12/24 00:56:47 $
Jean Anderson (jta@postgres.berkeley.edu)