The Informix Logical Layout

Each server instance can host multiple databases. Two default databases are sysmaster and sysutils; on Linux there is a third called sysusers. The sysmaster database contains a table called sysdatabases. This table holds the details of all the other databases on the instance. Connecting to the sysmaster database and issuing the following query will list all of the databases:

select name from sysdatabases

On choosing a database of interest you'll want to dump a list of the tables in the database; you can do this with the following query:

select tabname from systables

You'll notice that each database has some metatables; these metatables hold data about the database itself. The metatables are

  • systables
  • syscolumns
  • sysindices
  • systabauth
  • syscolauth
  • sysviews
  • sysusers
  • sysdepend
  • syssynonyms
  • syssyntable
  • sysconstraints
  • sysreferences
  • syschecks
  • sysdefaults
  • syscoldepend
  • sysprocedures
  • sysprocbody
  • sysprocplan
  • sysprocauth
  • sysblobs
  • sysopclstr
  • systriggers
  • systrigbody
  • sysdistrib
  • sysfragments
  • sysobjstate
  • sysviolations
  • sysfragauth
  • sysroleauth
  • sysxtdtypes
  • sysattrtypes
  • sysxtddesc
  • sysinherits
  • syscolattribs
  • syslogmap
  • syscasts
  • sysxtdtypeauth
  • sysroutinelangs
  • syslangauth
  • sysams
  • systabamdata
  • sysopclasses
  • syserrors
  • systraceclasses
  • systracemsgs
  • sysaggregates
  • syssequences
  • sysdomains
  • sysindexes

Of interest are the %AUTH% tables because they describe who has what permissions or privileges. One of the major shortcomings of the Informix database is that it is not possible to revoke ...

Get The Database Hacker's Handbook: Defending Database Servers now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.