This section gives examples of tables that can be registered against the IMA MIB. These tables could be registered within the IMADB, but we suggest that a separate database be used.
These tables are then used in Query Examples on IMA Tables.
The ima_session_domain table below shows the domain of SERVERS and VNODES visible to the MIB Server domain:
REGISTER TABLE ima_session_domain
(
domplace VARCHAR(64) NOT NULL NOT DEFAULT IS 'exp.gwf.gwm.session.dom.index'
)
AS IMPORT FROM 'tables'
WITH DBMS = IMA,
STRUCTURE = UNIQUE SORTKEYED,
KEY = (domplace);
The ima_places table below shows all the servers known to the DBMS, but only in the local MIB Server domain, because when there is no VNODE or SERVER specified, the default is SERVER:
REGISTER TABLE ima_places
(
place VARCHAR(64) NOT NULL NOT DEFAULT IS 'exp.gwf.gwm.places.index',
type I4 NOT NULL NOT DEFAULT IS 'exp.gwf.gwm.places.type',
class VARCHAR(64) NOT NULL NOT DEFAULT IS 'exp.gwf.gwm.servers.class',
flags I4 NOT NULL NOT DEFAULT IS 'exp.gwf.gwm.servers.flags'
)
AS IMPORT FROM 'tables'
WITH DBMS = IMA,
STRUCTURE = UNIQUE SORTKEYED,
KEY = (place);
The ima_server_sessions table below shows information about SCF-level sessions:
REGISTER TABLE ima_server_sessions
(
server VARCHAR(64) NOT NULL NOT DEFAULT IS 'SERVER',
session_id VARCHAR(32) NOT NULL NOT DEFAULT IS 'exp.scf.scs.scb_index',
effective_user VARCHAR(20) NOT NULL NOT DEFAULT IS 'exp.scf.scs.scb_euser',
real_user VARCHAR(20) NOT NULL NOT DEFAULT IS 'exp.scf.scs.scb_ruser',
db_name VARCHAR(12) NOT NULL NOT DEFAULT IS 'exp.scf.scs.scb_database',
db_owner VARCHAR(8) NOT NULL NOT DEFAULT IS 'exp.scf.scs.scb_dbowner',
db_lock VARCHAR(9) NOT NULL NOT DEFAULT IS 'exp.scf.scs.scb_dblockmode',
server_facility VARCHAR(10) NOT NULL NOT DEFAULT IS 'exp.scf.scs.scb_facility_name',
session_activity VARCHAR(50) NOT NULL NOT DEFAULT IS 'exp.scf.scs.scb_activity',
activity_detail VARCHAR(50) NOT NULL NOT DEFAULT IS 'exp.scf.scs.scb_act_detail',
session_query VARCHAR(1000) NOT NULL NOT DEFAULT IS 'exp.scf.scs.scb_query',
session_terminal VARCHAR(12) NOT NULL NOT DEFAULT IS 'exp.scf.scs.scb_terminal',
session_group VARCHAR(8) NOT NULL NOT DEFAULT IS 'exp.scf.scs.scb_group',
session_role VARCHAR(8) NOT NULL NOT DEFAULT IS 'exp.scf.scs.scb_role',
server_pid INTEGER4 NOT NULL NOT DEFAULT IS 'exp.scf.scs.scb_pid'
)
AS IMPORT FROM 'tables'
WITH DBMS = IMA,
STRUCTURE = UNIQUE SORTKEYED,
KEY = (server, session_id)
The ima_locklists, ima_locks and ima_resources tables below show information about locks and which resources those locks are for
Note: Because the underlying locks are rapidly changing, data in these IMA tables are susceptible to "dirty reads." This means that querying the same object may return different values due to the underlying data having changed
REGISTER TABLE ima_locklists
(
vnode VARCHAR(64) NOT NULL NOT DEFAULT IS 'VNODE',
locklist_id_id INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lk.llb_id.id_id',
locklist_lkb_count INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lk.llb_lkb_count',
locklist_status VARCHAR(50) NOT NULL NOT DEFAULT IS 'exp.dmf.lk.llb_status',
locklist_lock_count INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lk.llb_llkb_count',
locklist_max_locks INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lk.llb_max_lkb',
locklist_wait_id_id INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lk.llb_wait_id_id',
locklist_type INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lk.llb_name0',
locklist_database INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lk.llb_name1',
locklist_server_pid INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lk.llb_pid',
locklist_session_id VARCHAR(32) NOT NULL NOT DEFAULT IS 'exp.dmf.lk.llb_sid'
)
AS IMPORT FROM 'tables'
WITH DBMS = IMA,
STRUCTURE = UNIQUE SORTKEYED,
KEY = (vnode, locklist_id_id);
REGISTER TABLE ima_locks
(
vnode VARCHAR(64) NOT NULL NOT DEFAULT IS 'VNODE',
lock_id_id INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lk.lkb_id.id_id',
lock_request_mode VARCHAR(10) NOT NULL NOT DEFAULT IS 'exp.dmf.lk.lkb_request_mode',
lock_grant_mode VARCHAR(10) NOT NULL NOT DEFAULT IS 'exp.dmf.lk.lkb_grant_mode',
lock_state VARCHAR(100) NOT NULL NOT DEFAULT IS 'exp.dmf.lk.lkb_state',
lock_attributes VARCHAR(100) NOT NULL NOT DEFAULT IS 'exp.dmf.lk.lkb_attribute',
resource_id_id INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lk.lkb_rsb_id_id',
locklist_id_id INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lk.lkb_llb_id_id'
)
AS IMPORT FROM 'tables'
WITH DBMS = IMA,
STRUCTURE = UNIQUE SORTKEYED,
KEY = (vnode, lock_id_id);
Note: In the ima_locks table, state 1 = granted, 2 = convert and 3 = waiting:
REGISTER TABLE ima_resources
(
vnode VARCHAR(64) NOT NULL NOT DEFAULT IS 'VNODE',
resource_id_id INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lk.rsb_id.id_id',
resource_grant_mode VARCHAR(4) NOT NULL NOT DEFAULT IS 'exp.dmf.lk.rsb_grant_mode',
resource_key VARCHAR(50) NOT NULL NOT DEFAULT IS 'exp.dmf.lk.rsb_name',
resource_type INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lk.rsb_name0',
resource_database_id INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lk.rsb_name1',
resource_table_id INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lk.rsb_name2',
resource_index_id INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lk.rsb_name3',
resource_page_number INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lk.rsb_name4'
)
AS IMPORT FROM 'tables'
WITH DBMS = IMA,
STRUCTURE = UNIQUE SORTKEYED,
KEY = (vnode, resource_id_id);
The ima_log_processes, ima_log_databases and ima_log_transactions tables below show information about transactions on the system. The data is susceptible to dirty reads:
REGISTER TABLE ima_log_processes
(
vnode VARCHAR(64) NOT NULL NOT DEFAULT IS 'VNODE',
process_id_id INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lg.lpb_id.id_id',
process_id_instance INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lg.lpb_id.id_instance',
process_status VARCHAR(100) NOT NULL NOT DEFAULT IS 'exp.dmf.lg.lpb_status',
process_pid INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lg.lpb_pid'
)
AS IMPORT FROM 'tables'
WITH DBMS = IMA,
STRUCTURE = UNIQUE SORTKEYED,
KEY = (vnode, process_id_id);
REGISTER TABLE ima_log_databases
(
vnode VARCHAR(64) is 'VNODE',
db_id_id INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lg.ldb_id.id_id',
db_id_instance INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lg.ldb_id.id_instance',
db_status VARCHAR(100) NOT NULL NOT DEFAULT IS 'exp.dmf.lg.ldb_status',
db_database_id INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lg.ldb_database_id',
db_name VARCHAR(32) NOT NULL NOT DEFAULT IS 'exp.dmf.lg.ldb_db_name',
db_owner VARCHAR(32) NOT NULL NOT DEFAULT IS 'exp.dmf.lg.ldb_db_owner'
)
AS IMPORT FROM 'tables'
WITH DBMS = IMA,
STRUCTURE = UNIQUE SORTKEYED,
KEY = (vnode, db_id_id);
REGISTER TABLE ima_log_transactions
(
vnode VARCHAR(64) NOT NULL NOT DEFAULT IS 'VNODE',
tx_id_id INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lg.lxb_id.id_id',
tx_id_instance INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lg.lxb_id.id_instance',
tx_status VARCHAR(100) NOT NULL NOT DEFAULT IS 'exp.dmf.lg.lxb_status',
tx_db_id_id INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lg.lxb_db_id_id',
tx_db_name VARCHAR(32) NOT NULL NOT DEFAULT IS 'exp.dmf.lg.lxb_db_name',
tx_db_owner VARCHAR(32) NOT NULL NOT DEFAULT IS 'exp.dmf.lg.lxb_db_owner',
tx_pr_id_id INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lg.lxb_pr_id_id',
tx_wait_reason VARCHAR(30) NOT NULL NOT DEFAULT IS 'exp.dmf.lg.lxb_wait_reason',
tx_first_log_address VARCHAR (30) NOT NULL NOT DEFAULT IS 'exp.dmf.lg.lxb_first_lga',
tx_last_log_address VARCHAR (30) NOT NULL NOT DEFAULT IS 'exp.dmf.lg.lxb_last_lga',
tx_transaction_id VARCHAR(16) NOT NULL NOT DEFAULT IS 'exp.dmf.lg.lxb_tran_id',
tx_transaction_high INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lg.lxb_tran_id.db_high_tran',
tx_transaction_low INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lg.lxb_tran_id.db_low_tran',
tx_server_pid INTEGER4 NOT NULL NOT DEFAULT IS 'exp.dmf.lg.lxb_pid',
tx_session_id VARCHAR(32) NOT NULL NOT DEFAULT IS 'exp.dmf.lg.lxb_sid',
tx_user_name VARCHAR(32) NOT NULL NOT DEFAULT IS 'exp.dmf.lg.lxb_user_name'
)
AS IMPORT FROM 'tables'
WITH DBMS = IMA,
STRUCTURE = UNIQUE SORTKEYED,
KEY = (vnode, tx_id_id);