IDS Experts




For a complete list of current SQL reserved words, see the IBM Informix Guide to SQL: Syntax.


Sanjit Chakraborty[Read More]

Create a user define task

cheetahblog Tags:  define user task 1,851 Visits

Like a lot of fellow System Administrator, you may need to execute many system or administrative works automatically. Some of these works should occur at regular intervals. Other works need to run only once, perhaps during off hours such as evenings or weekends. You can use the Informix DB Scheduler to create a user define task to run administrative work automatically in the background at predictable times. The DB Scheduler uses SQL statements instead of operating system job scheduling tools, e.g., cron job.

In this document you will see an example of user define task that delete some unwanted files on a periodic basis. For better understanding you can perform this work in two phases.

  1. Create a stored procedure that performs the actual delete operation.
  2. Define a task that that executes the above stored procedure in certain interval.

Create a stored procedure

First you are creating a procedure under 'sysadmin' database named 'delete_apb_documents_proc()' that removes all files as 'apb_document*' from /tmp directory which accessed more than 60 minutes ago.

CREATE PROCEDURE sysadmin:delete_apb_documents_proc()

DEFINE cmd CHAR(80);
LET cmd = "find /tmp -maxdepth 1 -type f -name 'apb_document*' -amin +60 -exec rm {} \;";
SYSTEM cmd;

END PROCEDURE;

Use the UNIX manual page for 'find' command (man find) to get details on options used in the above example.


Define a task
Next, defining a task named 'delete_apb_document()' which runs top of each hours and execute the procedure delete_apb_documents_proc().

INSERT INTO sysadmin:ph_task
(
tk_name,
tk_group,
tk_description,
tk_type,
tk_execute,
tk_start_time,
tk_stop_time,
tk_frequency
)
VALUES
(
"delete_apb_document",
"MISC",
"Remove apb_document files from /tmp directory that last accessed 60 minutes ago",
"TASK",
"EXECUTE PROCEDURE sysadmin:delete_apb_documents_proc(); ",
"01:00:00",
"23:00:00",
INTERVAL ( 60 ) MINUTE TO MINUTE
);
 

Check the Informix Information Center to get more information on define a task.

You can run all the above SQL statements against 'sysadmin' database using dbaccess utility.

-Sanjit Chakraborty

List of Installed components : New manifest file

cheetahblog Tags:  of list components manifest installed 1,843 Visits

The installation and uninstallation applications allow to selectively add or remove components. To choose specific features during installation, you must choose a custom setup option during installation .


You can remove specific Dynamic Server features after both typical and custom installations, provided that the features are not required for your system's integrity and that they have not been used in your implementation.


You can also add or reinstall specific features after completing setup of a Dynamic Server instance without reinstalling the base server. The installation and uninstallation applications detect your implementation's setup to prompt you about the features accordingly.

UNIX and Linux-platform installation
=========================
The manifest file manifest.inf ($INFORMIXDIR/etc/manifest.inf) and installed files IIFfiles.installed($INFORMIXDIR/etc/IIFfiles.installed ) on sites using J/Foundation, and at IDS2000files($INFORMIXDIR/etc/IDS2000files) for sites not using J/Foundation are dynamic files that log installation activity of an IDS instance.
If any on the components is uninstalled the entry for that component is removed/deleted from the manifest.inf file .
These "log files" can help you quickly see what  features and component files are currently installed, as well as a history of such activity. Do not modify the content of these files.

WINDOWS-platform installation
======================
The manifest file manifest.inf (%INFORMIXDIR%\etc\manifest.inf) is a dynamic file that logs installation activity of an IDS instance. This "log file" can help you quickly see what features and component files are currently installed, as well as a history of such activity.

Do not modify the content of these files. 



Below are the snippets from the manifest.inf file
=========================================

IBM Corporation IBM Informix Dynamic Server
11.10.xC1

Installed Features
===================
Base Server
The core database server for basic DBA operations without optional extensions, libraries, or utilities
115.7 MB
Last installed:May 3, 2007

Informix Interface for Tivoli Storage Manager
For implementing XBSA functions that use Tivoli Storage Manager with ON-Bar
115 KB
Last installed:May 3, 2007

Informix Storage Manager
For managing external storage devices and media that contain backups
49.5 MB
Last installed:May 3, 2007

archecker Utility
For verifying backups and restoring portions of a database, a table, a portion of a table, or a set of tables
2.7 MB
Last installed:May 3, 2007

Rashmi Chawak



[Read More]

Monitoring Onbar Performance

cheetahblog Tags:  performance onbar 1 Comment 1,836 Visits

Previously there was no easy way to monitor onbar archiving progress. It always a question, how long onbar process will take to complete an archive or how much time onbar will spend to transfer data between server, storage manager and vice versa.



Informix introduce two new configuration parameters to help onbar monitoring.


  • BAR_PROGRESS_FREQ
  • BAR_PERFORMANCE




BAR_PROGRESS_FREQ
The BAR_PROGRESS_FREQ configuration parameter specifies, in minutes, the frequency of the progress messages in the bar activity log for backup and restore operations.



For example, if BAR_PROGRESS_FREQ is set to 5, onbar reports the percentage of the object backed up or restored every five minutes. Following is an excerpt of bar activity log that showing progress of rootdbs dbspace backup:


  2007-05-09 16:12:58 13344  13342 /export/home/informix/bin/onbar_d -b -L 0 2007-05-09 16:12:59 13344  13342 Archive started on rootdbs (Requested Level 0). 2007-05-09 16:13:00 13344  13342 Begin level 0 backup rootdbs. 2007-05-09 16:13:00 13344  13342 Successfully connected to Storage Manager. 2007-05-09 16:18:00 13344  13342 1 percent of rootdbs has been backed up. 2007-05-09 16:23:01 13344  13342 6 percent of rootdbs has been backed up. 2007-05-09 16:28:02 13344  13342 11 percent of rootdbs has been backed up. 2007-05-09 16:33:03 13344  13342 16 percent of rootdbs has been backed up. 2007-05-09 16:38:04 13344  13342 21 percent of rootdbs has been backed up. 2007-05-09 16:43:05 13344  13342 26 percent of rootdbs has been backed up.


The default value of BAR_PROGRESS_FREQ is 0. If the value set to 0, onbar does not write any progress messages to the bar activity log.



The BAR_PROGRESS_FREQ value can’t less than five minute for monitoring onbar progress.



If ON–Bar cannot determine the size of the backup or restore object, it reports the number of transfer buffers sent to the database server instead of the percentage of the object backed up or restored.




BAR_PERFORMANCE


The BAR_PERFORMANCE configuration parameter specifies the type of performance statistics to report, and write them to the bar activity log for backup and restore operations.



For example, if BAR_PERFORMANCE is set to 3, onbar reports the time spent transferring data between the Informix server and the storage manager, in the bar activity log.



The default value of BAR_PERFORMANCE is 0. If the value set to 0, onbar does not report any performance statistics to the bar activity log.



Valid values of BAR_PERFORMANCE are 0,1,2 or 3.



  • 0 - turn performance monitoring off
  • 1 - display the time spent transferring data between the server and storage manager
  • 2 - display sub-second accuracy in the timestamps
  • 3 - display both timestamps and transfer statistics




Both BAR_PROGRESS_FREQ and BAR_PERFORMANCE configuration parameters take effect while onbar process starts.



Sanjit Chakraborty

[Read More]

Overview of IDS LBAC -- Part 1

cheetahblog Tags:  lbac 1,830 Visits


This article describes LBAC concept and outlines IDS LBAC solution an implementation of MAC (Mandatory Access Control) for protecting data rows and columns based on security labels.

What is LBAC?

Label-Based Access Control (LBAC) is a means by which a database system can control access to a database object based on security labels. If the security label granted to a user dominates the security label protecting that object, access to the object is authorized. A database object in this context can refer to either a row of data or a table column. Each protected database object is assigned a security label which stores information about the classification (or sensitivity) of the data. Similarly, each database user is assigned a security label that determines which labeled data (rows or columns) he or she can access. LBAC is an implementation of MAC (Mandatory Access Control),which provides a reasonable level of security assurance of sensitive data stored in database.

What is IDS LBAC solution?

IDS LBAC solution is similar to DB2 LBAC solution; some key characteristics are as following:
  1. Offer row level and column level protection, allowing protection of data rows of a table and columns of table.


  2. Support three types (Hierarchical, Horizontal and Tree structured) security label component: ARRAY, SET and TREE respectively.


  3. Ship pre-defined IDSLBAC access rules to govern the access to table row/column protected by security label. Access control enforces the proper IDSLBAC access rules that apply for the security component type for each component that makes up the security label.


  4. Allow flexible definition of security label components that make up a security label, which allows the security label structure to be compatible with US government as well as other application domain which require different label structure not necessarily compliant to traditional MLS security label structure and access rules. Support a security label to be made up to 16 components of any type.


  5. Provides means to bypass LBAC access rules through granting user exemption.


  6. Provides functions for manipulating security label. SECLABEL_BY_COMP(), SECLABEL_BY_NAME(), SECLABEL_TO_CHAR().



In part2 of LBAC overview, basic LBAC concepts and a simple user scenario will be covered.

Jihong Ma[Read More]