Home
        INFORMIX-SE Administrator`s Guide
         Contents
1.       GLS       his chapter describes the following administrative utility programs  that are included with INFORMIX SE     m The secheck utility checks and restores the integrity of your index  files     m The selog utility displays the contents of an SE transaction log     The SE utilities accept multibyte characters in the parameters for filenames   log file names  and table names  For information on multibyte character  support for secheck and selog  see Chapter 5 of the Guide to GLS  Functionality  e    The secheck Utility    The secheck utility checks your index for corruption  If your index has been  corrupted  secheck can repair it     When you create data  you often create an index to access your data more  efficiently  You can create a data file in which to store your table and data by  using the SQL CREATE TABLE statement  Data files have a  dat extension  To  create a file in which to store an index  you can use the SQL CREATE INDEX  statement  Index files have a  idx extension  The index that you create must  be associated with a data file that contains a table and its data     In the process of working with data files  indexes are sometimes corrupted   The secheck utility helps to ensure consistency between an index file and its  associated data file  The secheck utility takes a table name as input and  compares the data and index files  When secheck identifies corrupt indexes   it prompts you to delete the corrupt indexes and build new indexes to replace  them 
2.      The Guide to GLS Functionality contains information on the language   related topics of Global Language Support  GLS        The Informix Migration Guide describes the procedures to use when  you migrate existing Informix databases to and from SE  Version 7 2   This manual includes information on preparing your host system to  support the new features provided by SE 7 2     If you have never used Structured Query Language  SQL  or an  Informix application development tool  read the Informix Guide to  SQL  Tutorial  The manual provides a tutorial on SQL as it is imple   mented by Informix products  It describes the fundamental ideas  and terminology that are used when planning  using  and imple   menting a relational database     A companion volume to the Tutorial  the Informix Guide to SQL   Reference  provides reference information on the types of Informix  databases that you can create  the data types that are supported in  Informix products  system catalog tables that are associated with the  database  environment variables  and the SQL utilities  The manual  also provides a detailed description of the stores7 demonstration  database and contains a glossary     An additional companion volume to the Tutorial  the Informix Guide  to SQL  Syntax  provides a detailed description of all the SQL state    ments supported by Informix products  The manual also provides a  detailed description of Stored Procedure Language  SPL  statements     The DB Access User Manual describes 
3.      This section defines and illustrates the format of the commands that are  available in SE and other Informix products  These commands have their  own conventions  which might include alternative forms of a command   required and optional parts of the command  and so forth     Each diagram displays the sequences of required and optional elements that  are valid ina command  A diagram begins at the upper left with a command   It ends at the upper right with a vertical line  Between these points  you can  trace any path that does not stop or back up  Each path describes a valid form  of the command  You must supply a value for words that are in italics     You might encounter one or more of the following elements on a command   line path     Element Description    command This required element is usually the product name or  other short word that invokes the product or calls the  compiler or preprocessor script for a compiled Informix  product  It might appear alone or precede one or more  options  You must spell a command exactly as shown  and must use lowercase letters        variable A word in italics represents a value that you must  supply  such as a database  file  or program name  A table  following the diagram explains the value         flag A flag is usually an abbreviation for a function  menu  or  option name or for a compiler or preprocessor argument   You must enter a flag exactly as shown  including the  preceding hyphen        ext A filename extension  such a
4.     INFORMIX SE Utilities 6 3    The secheck Utility    You can perform the following tasks when you check and repair indexes with  secheck     m Print a long list of index key values  m Convert an index file from its existing node size to the current    computer hardware node size  after you migrate data    The  dbs directory contains the data and index files that are used to create  database tables  You must run the secheck utility from within the  dbs  directory     For information about index organization and index table structure and  format  see Chapter 4     INFORMIX SE Indexing    in this manual        Element Purpose Key Considerations    l Directs secheck to check and References  For specific details on this option  see  repair indexes and lists all    An Example Using the  l Option    on page 6 10   index key values           Responds negatively to all Additional Information  When you know in  prompts  advance that all your responses to secheck prompts  are negative  use the  n option   References  For specific details on this option  see     Choosing Not to Specify the  n or  y Option    on  page 6 5        Suppresses banner display  None        Converts an index file from its References  For specific details on this option  see  existing node size to the current    Converting Index Node Size with the  s Option     computer hardware node size  on page 6 11         1 of 2     6 4 INFORMIX SE Administrator s Guide    Element    Choosing Not to Specify the  n or  y O
5.    Connecting with Different Versions    Figure 1 27  Network Interfaces and Associated  sqlhosts File Entries  Network Interface sqlhosts File Entry  Sockets on TCP IP valley_se sesoctcp valley valley_service    TLI interface on TCP IP valley_se setlitcp valley valley_service    TLI interface on IPX SPX _ valley_se setlispx valley valley_service    The  etc hosts file must contain an entry for the valley host computer  and the   etc services file must contain an entry for valley_service     Network Connections with the Version 7 2 Relay Module    Figure 1 28 shows a configuration that connects an Informix Version 4 1 or  5 x client application to a remote Informix Version 7 2 database server using  the Version 7 2 Relay Module  When an Informix Version 4 11 client appli   cation connects to an Informix Version 7 2 database server  you use the  configuration shown in Figure 1 28     Figure 1 28  A Remote Connection Using the  Version 7 2 Relay Module       hilltop       Version 7 2    Version 4 11 or 5 x vasionT 2    Client  Gi  is on 7 2    Version 7 2 valley_se             1 32  INFORMIX SE Administrator s Guide       Connecting with Different Versions    In Figure 1 28  the Relay Module is the only component of the database  server that remains active on the hilltop computer  The database server on the  valley computer does not show a Relay Module component because the  connection between hilltop and valley exists as a Version 7 2 to Version 7 2  connection  You use the Ve
6.    INFORMIX  SE    Database Server    Administrator   s Guide    Version 7 2    April 1996  Part No  000 7895A       Published by INFORMIX   Press Informix Software  Inc   4100 Bohannon Drive  Menlo Park  CA 94025    The following are worldwide trademarks of Informix Software  Inc   or its subsidiaries  registered in the  United States of America as indicated by           and in numerous other countries worldwide     INFORMIX    C ISAM    INFORMIX   OnLine Dynamic Server       The following are worldwide trademarks of the indicated owners or their subsidiaries  registered in the  United States of America as indicated by           and in numerous other countries worldwide     Adobe Systems Incorporated  PostScript    Novell  Inc   NetWare  X OpenCompany Ltd   UNIX    X  Open      Some of the products or services mentioned in this document are provided by companies other than Informix   These products or services are identified by the trademark or servicemark of the appropriate company  If you  have a question about one of those products or services  please call the company in question directly     Documentation Team  Brian Deutscher  Geeta Karmarker  Mary Kraemer  Patrice O Neill  Eileen Wollam  Copyright    1981 1996 by Informix Software  Inc  All rights reserved     No part of this work covered by the copyright hereon may be reproduced or used in any form or by any  means   graphic  electronic  or mechanical  including photocopying  recording  taping  or information storage 
7.    When you set up the hosts equiv and  rhosts files on the database  server host  you usually want to make a client host a trusted host  You  need to specify the client host name in the  etc hosts equiv or  rhosts  file on the database server host  However  on some networks  the  host name that the network uses to refer to that computer might not  be exactly the same as the host name that the computer uses to refer  to itself  For example  the network host name might contain the full  domain name  as shown in the following example    viking  informix com   But the computer might refer to itself using the local host name  shown in the following example    viking   If this occurs  make sure that you specify both host names in your   etc host equiv and  rhosts files    INFORMIX NET PC  INFORMIX NET for Windows  INFORMIX NET for  Macintosh  and INFORMIX NET for OS 2 prompt you to enter a  password when you attempt to establish a network connection   The SQL CONNECT statement in an Informix SQL API  such as  INFORMIX ESQL C or INFORMIX ESQL COBOL  allows you to  specify a password for establishing a network connection  However   you cannot use an SQL CONNECT statement to specify a password in  DB Access    The  netrc file holds password information used to establish  connections to remote hosts  Refer to the UNIX man pages for  information on how to use netrc     Installation and Initial Configuration 1 11    Building the sqlhosts File    1 12       The sqlhosts File    The  INFO
8.   than 55 but greater than 21  The Level 0 node contains keys 24  44  and 55   Because a match occurs at Level 0  the function finds the data row by  following the pointer for key 44     Repeating the process for a search value equal to 475  the function examines  the root and follows the greater than pointer for this node because 475 is  greater than 89  the largest key in the node  The node at Level 1 contains keys  180  292 378  and 485  The function follows the less than or equal to pointer  from key 485 because 475 is less than 485 but greater than 378  Level 0 repre   sents the keys 436  476  and 485  Because no key matches the search value  475  a data row does not exist     Adding Keys    When you create a table  the index contains no indexing information but it  does contain dictionary information about the table   See    Index Table  Structure    on page 4 12   Figure 4 2 shows a B  tree that can hold only four  keys per node  In Figure 4 2  the first four keys are added  18  89  143  and  414  to the root node  Each key entry points to a data row because the root  node resides at Level 0     When you add the next key  with a value of 44  the completely full node splits  to accommodate the new key     4 6 INFORMIX SE Administrator s Guide       Adding Keys    Figure 4 2  Before adding key with value 44 Growth of a B  Tree    Addition causes a split       SE splits a node by finding the middle value of the keys in the node  including  the value of the key that causes
9.  A remote client server configuration  exists when a client product that resides on one computer establishes a  connection across a network to a database server that resides on another    computer     Figure 1 1 illustrates the compatibility between client tools and a local  Version 7 2 SE database server     Client    Version 4 1 ESQL C   ESQL COBOL    Version 5 x ESQL C   ESQL COBOL   ESQL FORTRAN    Version 6 x ESQL C   ESQL COBOL    Version 7 2 ESQL C   ESQL COBOL    Figure 1 1  Client Server Configurations for Client Products Connecting  to a Local Version 7 2 SE Database Server    Local SE Database Server  Version 7 2    Supported  but must use the Version 7 2 Relay  Module and Version 4 1 syntax    Supported  but must use the Version 7 2 Relay  Module and Version 5 x syntax    Supported  but cannot use syntax specific to  Version 7 2 products    Supported    Installation and Initial Configuration 1 7    Setting Environment Variables    1 8       Figure 1 2 illustrates the compatibility between client products and a remote  Version 7 2 SE database server     Client    Figure 1 2  Client Server Configurations for Client Products Connecting  to a Remote Version 7 2 SE Database Server    Remote SE Database Server  Version 7 2       Version 4 11  INFORMIX SQL   INFORMIX 4GL    Version 5 x ESOL C   ESQL COBOL   ESQL  FORTRAN    Version 6 x ESQL C   ESQL COBOL    Version 7 2 ESQL C   ESQL COBOL    Supported  but must establish connection using  Version 4 1 or 5 x INFORMIX NET
10.  Conventions    This section describes the conventions that are used in this manual  By  becoming familiar with these conventions  you will find it easier to gather  information from this and other volumes in the documentation set     The following conventions are covered     m Typographical conventions    m Icon conventions    INFORMIX  SE Administrator s Guide       Typographical Conventions      Command line conventions    m Sample code conventions    Typographical Conventions    This manual uses a standard set of conventions to introduce new terms   illustrate screen displays  describe command syntax  and so forth  The  following typographical conventions are used throughout this manual                 Convention Meaning   italics Within text  new terms and emphasized words are printed in  italics  Within syntax diagrams  values that you are to specify  are printed in italics    boldface Identifiers  names of classes  objects  constants  events   functions  program variables  forms  labels  and reports    environment variables  database names  table names  column  names  menu items  command names  and other similar terms  are printed in boldface    monospace Information that the product displays and information that you  enter are printed ina monospace typeface    KEYWORD All keywords appear in uppercase letters      This symbol indicates the end of product  or platform specific    information     Tip  When you are instructed to    enter    characters or to    execute    
11.  Index and Data Files   Transaction Log Corruption      INFORMIX  SE Administrator s Guide    1 26  1 35  1 37  1 38    2 3  2 4    2 6  2 6  2 6  2 8  2 8  2 10  2 12    3 3  3 4  3 4  3 6  3 6    4 5  4 6  4 11  4 12  4 13  4 15    5 4    Chapter 6    Disk Fragmentation    Practices to Avoid  Performance Tuning    INFORMIX SE Utilities    The secheck Utility    Choosing Not to Specify the  n or y Option    Simple Example    Output       Parenthetical Values      Printing a Long List of Index Key Values 2  An Example Using the  1 Option      Converting Index Node Size with the  s Option    Causes for secheck Failure      The selog Utility    Displaying the Contents ofa a Transachon Log  Use and Output     Index    6 10  6 11  6 11  6 12  6 12  6 20    Table of Contents v       Introduction    About This Manual   Organization of This Manual    Types of Users      Software Dependencies    Demonstration Database    New Features of This Product      Conventions      Typographical Conventions  Icon Conventions      Comment Icons  Compliance Icons    Command Line Conventions    Sample Code Conventions      Additional Documentation    Printed Documentation    On Line Documentation    Error Message Files      Release Notes  Documentation Notes  Machine Notes    Related Reading    Compliance with Industry Standards    Informix Welcomes Your Comments         2 _INFORMIX SE Administrator s Guide          his chapter introduces the INFORMIX SE Administrator   s Guide  Read  this chapter
12.  SE Administrator s Guide       Examples of Client Server Connections    Setting Up the canyon and valley Host Computers    For the canyon computer  set the INFORMIXDIR and INFORMIXSERVER  environment variables to the values shown in Figure 1 12     Figure 1 12  Environment Variables and  Required Settings  Environment Variable Value    INFORMIXDIR  usr  version7  informix    INFORMIXSERVER valley_se    The sqlexecd daemon must be running  To start the daemon  you must log in  as root and enter the following command      usr version  informix 1lib sqlexecd valley_se    For information about the sqlexecd daemon  refer to    Starting the sqlexecd  Daemon    on page 1 35     Setting Up the Communication Files    Each host computer  hilltop and valley  must contain an sqlhosts file that  includes connection information associated with the network interface and  network protocol that you are using  Figure 1 13 shows the sqlhosts file  entries for different network interfaces     Figure 1 13  Network Interfaces and Associated  sqlhosts File Entries  Network Interface sqlhosts File Entry  Sockets on TCP IP valley_se sesoctcp valley valley_service    TLI interface on TCP IP _ valley_se setlitcp valley valley_service    Installation and Initial Configuration 1 21    Examples of Client Server Connections    1 22       When you use a TCP IP network  the  etc hosts file must contain an entry for  the valley computer and the  etc services file must contain an entry for  valley_service    
13.  The pointer points either to  another node in the tree or to a data row  The root node resides at the top of  the tree structure hierarchy     Figure 4 1 illustrates this hierarchy for a hypothetical index  The numbers in  the nodes are the keys that you can also find in the data rows  The arrows  represent the pointers  Unused nodes represent empty parts of the B  tree     INFORMIX SE Indexing 4 3    B  Tree Organization    Figure 4 1  Sample B  Tree Organization    Pointers at Level 0  are to data records       4 4 _ NFORMIX SE Administrator s Guide       Searching for a Row    SE logically organizes the nodes into levels  Level 0 contains a pointer to each  data row  At levels higher than zero  the pointer for each key points to a node  one level down that contains keys that are less than or equal to the key at the  higher level     At levels higher than zero  anode can contain an additional pointer that is not  associated with a specific key  When it exists  it points to a node that contains  keys that are greater than the largest key in the higher level node  A node  always has at least as many pointers as it has keys     Figure 4 1 shows space for only four keys in each node  In reality  SE puts as  many keys as possible in each node  The maximum number of keys in  different nodes can vary because SE allows keys to vary in length     Consider the root node in Figure 4 1  It has only one key  with the value 89   Two pointers reside in the root  One points to a node that
14.  This strategy is useful when the new key values have a random  distribution     If rows are added in sequential order  this splitting strategy creates half full  nodes that never receive other keys  More space is needed to store all the  keys  and the tree requires more levels to index the same number of data  rows     Figure 4 3 shows what happens when you add the key values 415 through  426 sequentially to the B  tree in Figure 4 2  using the splitting algorithm for  the random case     4 8 INFORMIX SE Administrator s Guide    Adding Keys    Figure 4 3  Wasted Space  in B  Trees    pees e wees   4  1  1    Greater than      Space cannot be used       To avoid this problem  SE uses a different strategy  When the value that  causes the split is greater than the other keys in the node  SE puts that value  into its own node during the split        INFORMIX SE Indexing 4 9    Adding Keys    Figure 4 4 shows a split caused by adding the key values 415  416  and 417  to the B  tree in Figure 4 2     Figure 4 4  Efficient Growth  of B  Trees          4 10 INFORMIX SE Administrator s Guide    Removing Keys    Figure 4 5 shows the effect of this strategy when you add key values 415  through 426 to the B  tree from Figure 4 4     Figure 4 5   Efficient Sequential  Addition of Keys to a  B  Tree       Removing Keys    When you delete a row  SE removes the key from the index  When SE removes  all keys in anode  the node becomes free  SE maintains a list of free nodes  see     Index Tab
15.  When the host computer uses the TLI network interface on an IPX SPX  network  the hostname field contains the name of the NetWare file server  instead of the computer host name  On the display screens that are associated  with the preparation of the NetWare connections  the screen displays the  NetWare file server name in uppercase letters  for example  NW_SVR   However  in the sqlhosts file  you must enter the name in lowercase letters   for example  nw_svr     For an IPX SPX connection  the value in the servicename field can contain an  arbitrary string  but that string must represent a unique name among the  names of services available on the IPX SPX network  In other words  you  cannot use the string as a service name on any other file server on the  network when that file server does not use an Informix product  You can use  the dbservername value in the servicename field  as shown in Figure 1 14   providing that the dbservername value exists as a unique service name        Figure 1 14  Using the dbservername Value in the servicename Field  Affected Field sqlhosts File Entry  servicename valley_se setlispx nw_svr valley_se    Local Loopback Connections with Version 7 2 Products    A network connection between a client application and a database server on  the same computer is called a local loopback connection  A local loopback  connection uses network connections even though the client and the  database server reside on the same computer  You can make a local loopback 
16.  all Restrictions  When you specify a time without a  end time activity that occurred within the date  selog assumes the current day  When you  specified time range  specify a begin time without an end time  an error  results  Make sure that you include a space between  the two time values  Specify time in hh mm ss  format  Make sure that you include a space between  the two time values              6 14 INFORMIX SE Administrator s Guide    Displaying the Contents of a Transaction Log    Specifying the Log Range Info Option    The Log Range Info option directs selog to display all transaction records  that are located in the log within a byte range that you specify     Log Range  Info     r begin byte offset           gt  end byte offset    Element Purpose Key Considerations   r begin byte offset_ Directs selog to display all Restrictions  Make sure that you include a space  end byte offset transaction records located in between the two offset values    the log within the specified byte   range  inclusive        To obtain the byte offset for a specific record  use the  1 option described in     Specifying the Header Info Option     You do not need any other parameter    See Figure 6 8 on page 6 22 for an example of output that the  1 option  generates        INFORMIX SE Utilities 6 15    Displaying the Contents of a Transaction Log    Specifying the Header Info Option    The Header Info option displays header information  A header is a title row  that precedes data rows  Typi
17.  an introductory text for readers who are  new to database management  while the second book is a more complex  technical work for SQL programmers and database administrators     m An Introduction to Database Systems by C  J  Date  Addison Wesley  Publishing  1994     m Database  A Primer by C  J  Date  Addison Wesley Publishing  1983     Introduction 17    Compliance with Industry Standards    18       To learn more about the SQL language  consider the following books     m A Guide to the SQL Standard by C  J  Date with H  Darwen  Addison   Wesley Publishing  1993     m Understanding the New SQL  A Complete Guide by J  Melton and  A  Simon  Morgan Kaufmann Publishers  1993     m Using SQL by J  Groff and P  Weinberg  Osborne McGraw Hill  1990     The INFORMIX SE Administrator   s Guide assumes that you are familiar with  your computer operating system  If you have limited UNIX system  experience  consult your operating system manual or a good introductory  text before you read this manual  The following texts provide a good intro   duction to UNIX systems     m   Introducing the UNIX System by H  McGilton and R  Morgan   McGraw Hill Book Company  1983     m Learning the UNIX Operating System by G  Todino  J  Strang  and  J  Peek  O   Reilly  amp  Associates  1993     m A Practical Guide to the UNIX System by M  Sobell   Benjamin Cummings Publishing  1989    m UNIX for People by P  Birns  P  Brown  and J  Muster  Prentice Hall   1985     m UNIX System V  A Practical Guide by 
18.  and retrieval systems   without permission of the publisher     To the extent that this software allows the user to store  display  and otherwise manipulate various forms of  data  including  without limitation  multimedia content such as photographs  movies  music and other binary  large objects  blobs   use of any single blob may potentially infringe upon numerous different third party  intellectual and or proprietary rights  It is the user s responsibility to avoid infringements of any such third   party rights     RESTRICTED RIGHTS LEGEND  Software and accompanying materials acquired with United States Federal Government funds or intended for    use within or for any United States federal agency are provided with    Restricted Rights    as defined in DFARS  252 227 7013 c  1  ii  or FAR 52 227 19     INFORMIX  SE Administrator s Guide    Chapter 1       Table of Contents    Introduction    About This Manual    Organization of This Manual    Types of Users      Software Dependencies    Demonstration Database   New Features of This Product     Conventions  Typographical Conventions  Icon Conventions   3  Command Line Conventions   Sample Code Conventions     Additional Documentation    Printed Documentation    On Line Documentation  Related Reading ry   Compliance with Industry pbindards    Informix Welcomes Your Comments      Installation and Initial Configuration  Defining a Database Management System    Planning for SE ia  amp   Configuring Hardware    Placing Active Ta
19.  and system files and the permissions on database files  and directories     m Chapter 3     Basic Administration and Maintenance     describes disk  usage and the maintenance of data integrity     m Chapter 4     INFORMIX SE Indexing     describes the organization   structure  and format used to index ISAM files     m Chapter 5     Symptoms and Solutions     provides tips on  troubleshooting     m Chapter 6     INFORMIX SE Utilities     describes the command line  utilities available for performing administrative tasks     Types of Users    This manual is written for SE system administrators who are responsible for  the following tasks     m Initial installation and configuration of SE    m General system administration and maintenance    m    Troubleshooting of system problems    Software Dependencies    This manual assumes that you are using SE  Version 7 2  as your database  server  Informix software can reside on a single computer or on multiple  computers across a network  The following Informix software must reside on  your computer system     m An SE database server  which you install on your computer or on  another computer over a network    m   Either an Informix application development tool  such as  INFORMIX NewEra  an SQL application programming interface   API   such as INFORMIX ESQL C  or the DB Access utility  which  Informix ships as part of your database server    4  INFORMIX SE Administrator s Guide       Demonstration Database    The application developmen
20.  and the software you need to  access the database server     1 of 2     INFORMIX SE System Architecture 2 3    SE System Files    GLS       Directory Description     INFORMIXDIR etc Contains miscellaneous files  common installation  scripts that the product installation script in the   INFORMIXDIR directory calls  and branding scripts     INFORMIXDIR msg Contains the binary readable error and warning  message files of Informix products     INFORMIXDIR demo Contains subdirectories that contain product specific  command files and the application examples for the  stores7 demonstration database     INFORMIXDIR release Contains the documentation notes  machine notes   and release notes files     2 of 2     The installation procedure sets up  INFORMIXDIR and all Informix program  files with operating system permissions that enable any user to run the  installed program  When you want to restrict access to the  INFORMIXDIR  directory  change permissions on the directory after you run the installation  procedure  Do not alter owner  group  or system permissions on Informix  files  For more information  see    Permissions of Database Files and Direc   tories    on page 2 10        SE System Files    For information about how to enable SE to generate filenames with multibyte  characters  refer to the Guide to GLS Functionality     When you create an SE database  SE creates a directory for the database with  a  dbs extension in the current directory  For example  if you create a datab
21.  connection if your computer is equipped to process network transactions     INFORMIX  SE Administrator s Guide    Examples of Client Server Connections    Figure 1 15 shows a local loopback connection between an Informix  Version 7 2 client application and a Version 7 2 SE database server  You can  think of this configuration in the following ways     m The connections go outside the computer valley and come back  inside again  as shown in Example A of Figure 1 15     m The connections remain within the valley host computer  as shown  in Example B of Figure 1 15     Tip  You can use a local loopback connection to test network operations without a  remote computer        Figure 1 15  A Local Loopback Configuration with a Version 7 2 Client  Application and Version 7 2 SE Database Server       Version 7 2 oN Vasion 7 2    Version 7 2  Ce      valley_se  Version 7 2 Ve    ersion 7 2    Version 7 2 i        valley_se                      Important  This diagram is also accurate for a connection between a Version 7 2  client and a Version 6 x SE database server or a Version 6 x client and a Version 7 2  SE database server        Installation and Initial Configuration 1 23    Examples of Client Server Connections    1 24       Setting Up the valley Host Computer    The user must set the INFORMIXDIR and INFORMIXSERVER environment  variables to the values shown in Figure 1 16     Figure 1 16  Environment Variables and  Required Settings  Environment Variable Value    INFORMIXDIR  us
22.  contains keys with  values less than or equal to 89  The other points to a node that contains keys  with values greater than the values in this node  in this case  values greater  than 89     Levels indicate the distance  in nodes  between a node and the pointer to an  actual data row  In Figure 4 1  the root node resides at Level 2  For nonzero  levels  SE directs pointers to index nodes at a lower level     The pointers at Level 0 point to rows in the data table  they do not point to  nodes in the index table  SE ensures that Level 0 represents every key whether  or not the B  tree represents a key at a higher level     Searching for a Row    To begin accessing a specific row in an ISAM table  a function compares the  search value with the keys in the root node  The search value represents the  key passed to the function  The function follows the appropriate pointers to  the Level 0 node  At Level 0  when a key matches the search value  the key  pointer points to the data row  When no match occurs at Level 0  the data row  does not exist     INFORMIX SE Indexing 4 5    Adding Keys       For example  take a search value equal to 44  and use Figure 4 1 to trace the  path a function takes to find the row  The function examines the root first and  then follows the less than or equal to pointer for key 89 because 44 is less  than 89  Next  the function examines the node on Level 1 that contains keys  21  55  and 89  The function follows the pointer for key 55 because 44 is less
23.  first index listing in the secheck output displays the height of the B  tree  and the number of index nodes used           6 6 INFORMIX SE Administrator s Guide       Parenthetical Values    Parenthetical Values    In the secheck output  one set of parenthetical values  values enclosed within  parentheses  appears for each column that is named as part of the index  The  following example from Figure 6 1 shows a line of output that contains  parenthetical values     Index 2   unique key  0 4 2     The three enclosed values from the preceding example define the following  characteristics for each column component of the index     1  The starting byte value of this component  within the row of the table  upon which you are building the index  is the first value in the  parentheses    2  The length of the value in bytes is the second value in the  parentheses    3  The data type of this component column  expressed as a digit  is the  third value in the parentheses  Figure 6 2 shows secheck data types  and related digit values     Figure 6 2  secheck Data Types and Related Digit Values    Data Type Digit  CHAR 0  SMALLINT 1  INTEGER 2  FLOAT 3  SMALLFLOAT 4  DECIMAL 5  SERIAL 6  DATE 7  MONEY 8   1 of 2     INFORMIX SE Utilities 6 7    Printing a Long List of Index Key Values    Data Type  DATETIME  INTERVAL    NCHAR    Node Content    Digit  10  14    15   2 of 2     Printing a Long List of Index Key Values    Figure 6 3 describes the content of each node     Figure 6 3  Descrip
24.  for an overview of the information provided in this manual and  for an understanding of the conventions used throughout this manual     The INFORMIX SE database server is ideally suited for small  to medium   sized database applications  Informix based the SE database server on the  indexed sequential access method  ISAM   a library of C language calls that  work with UNIX to manipulate database files  ISAM uses an index to access  data instead of performing a scan on the table to access data  SE works  automatically and transparently and does not require any special  instructions in your database applications or programs     About This Manual    The INFORMIX SE Administrator s Guide is a complete guide to the operating  environment of the SE database server  This manual explains how to  configure and use SE  It also explains how to use the SE utilities     Organization of This Manual  This manual includes the following chapters     m This Introduction provides an overview of the manual  describes the  documentation conventions used  introduces the demonstration  database from which the product examples are drawn  describes the  ASCII and PostScript error message files  and lists the new features in  SE  Version 7 2     m Chapter 1     Installation and Initial Configuration     provides  background information on planning and configuring an SE system     Introduction 3    Types of Users       m Chapter 2     INFORMIX SE System Architecture     describes the SE  program files
25.  for new client connection activity information  You  can specify the  1 option to start the sqlexecd  daemon with a log file in the current directory  You  can also specify the full pathname of the log file  when the log file does not reside in the current  directory        The following example illustrates how to start sqlexecd with the  1 option    INFORMIXDIR 1ib sqlexecd acctg_tcp  1 mylogfile    In this example  acctg_tcp represents the name of the database server  and  mylogfile represents the name of the log file     The SE database server adds a date time stamp to the sqlexecd log file to  provide timing information for database server event tracing  The following  table shows an example of a log file and its format     operation   sqlexec clientname user dbpathname       1994 02 23 23 58 30 123456  1994 02 23 23 59 22 321342  1994 02 24 00 01 04 324155    EA not appear on all platforms     1 36       INFORMIX  SE Administrator s Guide    sqlexec stationconn6 leeai  d work payroll  sqlexec stationconn2 markl  d mis    sqlexec stationstan5 usr98  x db inventory    Important  The microseconds component is operating system dependent and does       Using an NFS Mounted Directory    The following list describes the operations that can appear in the log file      c creates a database     d selects a database     n represents the remote network server that INFORMIX STAR  accesses     p accesses from a client with a password     r removes a database     S starts an executabl
26.  hilltop and valley Host Computers    For the hilltop computer  set the INFORMIXDIR and SQLEXEC environment  variables to the values shown in Figure 1 22  For the valley computer  set the  INFORMIXDIR environment variable to the value shown in Figure 1 22     Figure 1 22  Environment Variables and  Required Settings  Host Computer Environment Variable Value  hilltop INFORMIXDIR  usr informix  hilltop SQLEXEC sqlexec  valley INFORMIXDIR  usr version7  informix       1 28 INFORMIX SE Administrator s Guide       Connecting with Different Versions    The sqlexecd daemon must be running  To start the daemon  log in as root  and enter the following command      usr version 7 informix lib sqlexecd valley_se    For information about the sqlexecd daemon  refer to    Starting the sqlexecd  Daemon    on page 1 35     Setting Up the Communication Files    Each host computer  hilltop and valley  must contain an sqlhosts file that  includes connection information associated with the network interface and  network protocol that you are using  Figure 1 23 shows the sqlhosts file  entries for different network interfaces     Figure 1 23  Network Interfaces and Associated  sqlhosts File Entries  Network Interface sqlhosts File Entry  Sockets on TCP IP valley_se sesoctcp valley valley_service    TLI interface on TCP IP __ valley_se setlitcp valley valley_service    For TCP IP connections  the  etc hosts file must contain an entry for the  valley host computer  and the  etc services file must co
27.  or the Version 7 2  Relay Module  The Version 7 2 Relay Module is an  integral part of every Informix Version 7 2 database  server  Must also use Informix Version 4 1 syntax     Supported  but must establish connection using  Version 5 x INFORMIX NET or the Version 7 2 Relay  Module  The Version 7 2 Relay Module is an integral  part of every Informix Version 7 2 database server   Must also use Informix Version 5 x syntax     Supported  but cannot use syntax specific to  Version 7 2 products    Supported    Setting Environment Variables    You must set certain UNIX and Informix environment variables correctly for  your Informix products to work  These environment variables are  documented in the Informix Guide to SQL  Reference and the Guide to GLS  Functionality  Pay particular attention to the following environment variables     DBPATH    INFORMIXDIR    INFORMIXSERVER    INFORMIXSQLHOSTS    INFORMIX  SE Administrator s Guide    identifies directories and database servers that  contain databases     specifies the directory where you install your product  files    specifies the name of the default database server   specifies the full pathname and filename of a file that  contains connectivity information  optional      GLS       Understanding the Communication Files    INFORMIXTERM specifies whether to use the termcap file or terminfo  directory  optional     PATH finds executable files    SQLEXEC is required for some network configurations    SQLRM is required for some netwo
28.  rr 126  Local Connections with Version 4 11 or 5  x Client  Applications      woe ee we  1 26    Network Connections with INFORMIX  NET   Soe 2 2 a a 641 28          1 2    Network Connections with 5 x INFORMIX NET Relay  Module    Network Connections with the Version 7 2 Relay Module      Starting the sqlexecd Daemon    Using an NFS Mounted Directory    How Does a Client Application Connect to a Database Server       INFORMIX  SE Administrator   s Guide    1 29  1 32  1 35  1 37    1 38       mplementing a database management system  DBMS  requires making  many decisions  such as where to store the data  how to access the data  and  how to protect the data  How you implement the DBMS can greatly affect the  performance of database operations  For example  the physical organization  of data and optimization performed by the DBMS directly affect the speed of  retrievals from and updates to tables     This chapter explains the issues that are involved in setting up INFORMIX SE   You can use this chapter as background to help you understand the effects of  the choices that you make as an SE administrator     This chapter also discusses SE connectivity and communication as well as the  contents of the sqlhosts file     Defining a Database Management System    You can divide a DBMS into the following parts     m A data language  which serves as the user interface to the DBMS    m A database server  which takes the data definition and data manipulation  language requests and perfo
29.  than one piece  a composite index can  contain up to eight pieces   the value of each piece is displayed  separated by  a space   Informix designates all other columns for internal use and does not  document them      Converting Index Node Size with the  s Option    The index node size is a number that is a multiple of 512 bytes and is fixed  for each computer  The node size affects how many keys you can store ina  node before it must be split     An incorrect index node size can occur for the following reasons     m You moved a database from one computer to another    m You upgraded to a newer version of SE   Use secheck with the  s option after you move a table to a computer with a  different node size or upgrade to a newer version of SE  When you are    running an application on an incompatible computer  an error message  indicating a wrong node size appears     Causes for secheck Failure  The secheck utility fails when it     encounters an invalid filename    cannot resize the index file    cannot allocate a new file descriptor    cannot lock the index file    encounters an unstable lock for the index file   cannot read the dictionary    cannot check the consistency of the dictionary     encounters the wrong GLS collation sequence     cannot allocate a temporary record     INFORMIX SE Utilities 6 11    The selog Utility    GLS          The selog Utility    The selog utility displays the contents of an SE transaction log file  A  transaction log file keeps an automatic re
30.  the SE executable file  distributed as sqlexec     When you specify a nettype field whose last three letters are tcp  the  connection is a TCP IP network connection  When you use the TCP IP  connection protocol  the service name must correspond to a service name  entry in the  etc services file  as illustrated in Figure 1 7  The  etc services file  tells the network software how to find the database server on the specified  host computer  It does not matter what service name you choose as long as  you and your network administrator agree on a name     Figure 1 7  Example of servicename Field in an  etc services File  servicename port   protocol service alias    valley_service 1536 tcp    Tip  When you are using NIS  type ypcat services and press RETURN to verify  the services available in your domain     When you specify a nettype field whose last three letters are spx  you support  an IPX SPX network connection  When you use the IPX SPX connection  protocol  the service name must match dbservername     INFORMIX  SE Administrator s Guide    Building the sqlhosts File    Relationships Among Network Connection Files for TCP IP    Common information stored in specific fields relates the sqlhosts   etc hosts   and  etc services files to each other for TCP IP connections  Figure 1 8 illus   trates the relationships among the  INFORMIXDIR etc sqlhosts file  the   etc services file  and the  etc hosts file  The servicename fields in the  sqlhosts and  etc services files match  The 
31.  the SQL command files  Create the  directory by entering the following command   mkdir dirname    4  Make the new directory the current directory by entering the  following command     cd dirname    INFORMIX  SE Administrator s Guide       Demonstration Database    Create the demonstration database and copy over the sample  command files by entering the dbaccessdemo7 command     To create the database without logging  enter the following  command     dbaccessdemo 7 dbname    To create the demonstration database with logging  enter the  following command    dbaccessdemo 7  log dbname   dbaccessdemo   log dbname  dbspace dbspacename   If you are using SE  a subdirectory called dbname dbs is created in  your current directory and the database files associated with stores7  are placed there  You will see both data   dat  and index   idx  files in  the dbname dbs directory   If you specify a dbspace name  it is  ignored      To use the database and the command files that have been copied to  your directory  you must have UNIX read and execute permissions  for each directory in the pathname of the directory from which you  ran the dbaccessdemo7 script  Check with your system adminis   trator for more information about operating system file and  directory permissions  UNIX permissions are discussed in Chapter 2  of this manual     To give someone else the permissions to access the command files in  your directory  use the UNIX chmod command    To give someone else access to the dat
32.  the split  SE puts approximately half the  entries into a new node and keeps the remaining entries in the original node   These two nodes still reside in Level 0 after the split  and their keys still point  to data rows  SE promotes the middle value of the keys  89 in this case  to the  next higher level     Because no higher level node exists to receive the promoted value  SE creates  a new root node  The new root node resides on Level 1  and the pointer for  key 89 points to the original node   The original node now contains the keys  that are less than or equal to 89   SE forms another pointer directed toward  the new Level 0 node  This Level 0 node contains keys that are greater than  the highest key value in the next higher level node  in this case  89  in the  Level 1 node     INFORMIX SE Indexing 4 7    Adding Keys       B  trees grow toward the root from the lowest level  Level 0  Attempting to  add a key into a full node forces a split into two nodes and promotion of the  middle key value into a node at a higher level  The promotion of a key to the  next higher level can also cause a split in the higher level node  even if this  higher level is the root  When the root node splits  the tree grows by one level  and creates a new root node     When a split occurs  approximately half the entries remain in the original  node  and the remainder are transferred to a new node  This process leaves  approximately half of each node available to accommodate additional  entries 
33. 2 5    The  idx File       The  idx File    The  idx file stores information about all the indexes for a single table  For  tables that contain a SERIAL field  SE stores the highest SERIAL value in the    idx file     Creating an index is not the same as creating an index file  An  idx file exists  for every table  even if the table does not include an index  Each index file  represents a collection of pointers to the data in the  dat file  For information  about the organization  structure  and format of index structures  refer to  Chapter 4     INFORMIX SE Indexing        Allocating Space for  dat and  idx Files    The SE database server allocates space for the  dat and  idx files one block at a  time  Refer to your operating system documentation for details about block  allocation  A block is disk space that your operating system allocates in units  of a specific size  The type of computer and the type of operating system on  that computer determine block size  Typically  a block ranges from   4 kilobytes to 512 kilobytes     SE relies on ISAM for its organization and access method  allocating a  1 kilobyte block at a time for an  idx file and one record at a time for a  dat  file  To estimate your space requirements  you need to know your operating   system block size and your data row size  Once you know these sizes  you  can calculate the number of records per block  To estimate block use and  growth rates  you must first successfully estimate the ratio of inserts to  d
34. 20  Copyright  C  1981 1995 Informix Software  Inc   Software Serial Number RDS NO00000    Trx ID User Time Lngth FD Recno Filename    1 14    stevek 1 14 216  43 systables  stevek 1 14 165 26  stevek 1 14  16  52 junk dbs tab1_00100  stevek 1 14 216  43 systables  stevek 1 14 216  205  stevek 1 14   16 44 syscolumns             Program over        The area under the Location header of the  l option display provides the byte  offset for each transaction record output  When you attempt to estimate a  location  enter a decimal value  not a hexadecimal value        6 22 INFORMIX SE Administrator s Guide       Index       A    ALTER TABLE statement 3 3  ANSI standard SQL 1 3  ANSI compliant logging 3 4  Audit trail file  compared to transaction log  file 2 8  considering growth of 1 5  creating 3 6  description of 2 8  3 6  format for a table with variable   length rows 2 9  priority in disk placement 1 4    Backing up the transaction log  file 3 5  Backups  creating 3 6  Block  definition of 4 12  B  tree  adding to 4 6  deleting from 4 11  growth of 4 8  levels 4 5  maximum keys per node 4 5  nodes 4 3  organization 4 3  pointers 4 3  searching 4 5  sequential addition to 4 8    C    Checking and repairing corrupt  indexes 6 3  Client server configurations  compatibility with local SE  server 1 7  compatibility with remote SE  server 1 8  local  definition of 1 7  remote  definition of 1 7  Communication files  discussed 1 10   etc hosts 1 9   etc services 1 9  for IPX SPX conn
35. DATABASE statements  see  the Informix Guide to SQL  Reference        1 38  INFORMIX SE Administrator s Guide       INFORMIX SE System  Architecture    SE Program Files    SE System Files    The  dat File    The  idx File    Allocating Space for dat and idx Files     Transaction Log Files    Allocating Space for the Transaction Log File    Audit Trail Files    Permissions of Database Files and Directories    Determining If a Database Is ANSI Compliant    2 3    2 4  2 5    2 6    2 6  2 8    2 8  2 10  2 12       2 2 _INFORMIX SE Administrator   s Guide          his chapter includes the following topics   INFORMIX SE program files  INFORMIX SE system files  Transaction log files   Audit trail files    Permissions of database files and directories    Determining if a database is ANSI compliant    SE Program Files    When you install SE  the installation program creates several directories and  subdirectories  Refer to Figure 2 1 for a list of those directories and their  descriptions     Figure 2 1  Descriptions of Directories Created During Installation  Directory Description   INFORMIXDIR Contains the SE product installation script   INFORMIXDIR bin Contains the binary executable files of utility    programs and the demonstration script     INFORMIXDIR lib Contains the database server product libraries  the  Informix product communication files  the Informix  SQL API or application development tool libraries   after you install your SQL API or application  development tool  
36. Load the data   3  Create the index     4 14 INFORMIX SE Administrator s Guide       Index  Table Formats       Index Table Formats    This section provides format information about the following five nodes that  are found in ISAM index   idx  tables     Dictionary node   Key description node   Index node that contains keys and pointers  B  tree node   Free list node   Audit trail node    Figures 4 7 through 4 11 provide the byte and value information of the    preceding nodes     Figure 4 7 displays the byte offsets  the lengths  in bytes  of the offsets  and  the description of the meaning of the bytes for the dictionary node     Figure 4 7  Dictionary Node Format       Byte Number   Offset of Bytes Item Value   0 2 Validation FE53   2 1 Number of reserved bytes at start of index node 2   3 1 Number of reserved bytes at end of index node 2   4 1 Number of reserved bytes per key entry   includes 4   row number   5 1 Reserved 4   6 2 Index table node length     1  511 or  1023    8 2 Number of keys   10 2 Reserved   12 1 Table version number     1 of 2     INFORMIX SE Indexing 4 15    Index  Table Formats    4 16    Byte  Offset    13  15  19  25  29  33  37  41  45  49  53  55  59  61  65  69  73  77       Number  of Bytes    2  4  6    INFORMIX  SE Administrator s Guide    Item   Data row length in bytes   Index node number of first key description  Reserved   Index node number of free data row list  Index node number of free index node list  Row number of last row in data 
37. M  Sobell  Benjamin  Cummings  Publishing  1995        Compliance with Industry Standards    The American National Standards Institute  ANSI  has established a set of  industry standards for SQL  Informix SQL based products are fully compliant  with SQL 92 Entry Level  published as ANSI X3 135 1992   which is identical  to ISO 9075 1992 on INFORMIX OnLine Dynamic Server  In addition  many  features of OnLine comply with the SQL 92 Intermediate and Full Level and  X Open CAE  common applications environment  standards     INFORMIX  SE Administrator s Guide       Informix Welcomes Your Comments    Informix SQL based products are compliant with ANSI SQL 92 Entry Level   published as ANSI X3 135 1992  on INFORMIX SE with the following  exceptions    m Effective checking of constraints    m Serializable transactions       Informix Welcomes Your Comments    Please let us know what you like or dislike about our manuals  To help us  with future versions of our manuals  please tell us about any corrections or  clarifications that you would find useful  Write to us at the following address     Informix Software  Inc    SCT Technical Publications Department  4100 Bohannon Drive   Menlo Park  CA 94025    If you prefer to send electronic mail  our address is   doc informix com   Or  send a facsimile to the Informix Technical Publications Department at   415 926 6571   Please include the following information     m The name and version of the manual that you are using  m Any comments that 
38. ORMIX SE disk space  monitor the size of the files where you  store the data and indexes  SE files cannot span disk partitions  When your  partition becomes full  you probably need to perform one of the following  procedures     m Move your data to another partition    m Back up your data  increase the size of the partition  and then restore  the data    Monitoring disk space allows you to delete unnecessary files and reclaim  space before the partition becomes full  Use UNIX operating system  commands to monitor the disk space  du or quot utilities   For information  on these utilities  see your UNIX man pages     SE eventually reuses space from deleted rows  but you can make that space  available immediately with the ALTER TABLE statement  For information  about the ALTER TABLE statement  refer to the Informix Guide to SQL  Syntax     Warning  To use the ALTER TABLE statement  enough disk space must exist to store  the new table and the old table concurrently  However  SE automatically drops the old  table after you create the new one  causing only a momentary need for space     Basic Administration and Maintenance 3 3    Maintaining Data Integrity    3 4          Maintaining Data Integrity    Data integrity means that correct data resides in a database and that the  database management system  DBMS  can recover from errors  With SE  you  implement transactions to support data integrity  A transaction represents a  series of database operations  When all the database operat
39. RMIXDIR etc sqlhosts file is the connectivity file  It contains infor   mation that enables an Informix client application to connect to any Informix  database server on the network  It specifies the database server name  the  type of connection  the name of the host computer  and the service name     You must prepare the sqlhosts file even if the client application and the SE  database server reside on the same computer  The sqlhosts file is described  in    Building the sqlhosts File    below     The sqlhosts file has one entry  one line  for each type of potential connection  from a client application to a database server  When you use a remote  connection  an sqlhosts file must reside on the client computer and the  database server computer     The client application expects to find the sqlhosts file in the   INFORMIXDIR etc directory  however  you can change this location or the  name of the file with the INFORMIXSQLHOSTS environment variable  For  more information on this environment variable  refer to Chapter 4 of the  Informix Guide to SQL  Reference     Building the sqlhosts File    Figure 1 3 shows an example of sqlhosts fields  The next four sections  provide detailed information about the following fields    Database servername field   Network protocol field   Hostname field    Servicename field    You can edit the sqlhosts file with any convenient text editor  The entries in  the first three fields can include any printable character but not an uppercase  charact
40. Space for the Transaction Log File    2 8       Allocating Space for the Transaction Log File    You allocate space for the transaction log file one block at a time  Depending  on the number and type of transactions that you perform  the transaction log  file can be huge  Purge the transaction log file on a regular basis  as explained  in    Maintaining a Transaction Log File    on page 3 5        Audit Trail Files    An audit trail file contains a history of additions  deletions  and updates  made to a database table  Audit trails let you record modifications to a single  important table without maintaining a transaction log on the entire database     Tip  When you use transaction logging on a database  you can concurrently use  audit trail files on the tables in that database     Figure 2 5 illustrates the differences between audit trails and transaction  logs     Figure 2 5  Differences Between Audit Trails and Transaction Logs    Audit Trail Transaction Log   Records modifications to a single table   Records modifications to an entire  database   Does not protect against partial Protects against partial completion of   completion of SQL statements SQL statements   Can recover a single table Can recover an entire database    Does not incur the effort of maintaining Incurs the effort of maintaining a log for  a log for an entire database an entire database    Use audit trails when you have only one or a few critical tables and you do  not need the additional benefits that t
41. TCP IP protocol  setlispx SE using TLI with IPX SPX protocol    The hostname Field    The hostname field specifies the computer where the database server  product resides  When you use the TCP IP connection protocol  the  hostname field must correspond to the host name entry in the  etc hosts file   which provides the network address of the host computer  As a rule  the  hostname entry in the  etc hosts file is the same as the name of your  computer  See your network administrator to determine what name is  assigned to a specific host  and make sure that you both agree on the  hostname field     Figure 1 6 shows an example of the  etc hosts fields  The host alias field is  optional     Figure 1 6  Example of hostname Fields in an  etc hosts File       net address hostname host alias       Installation and Initial Configuration 1 15    Building the sqlhosts File    1 16       Informix bases its implementation of IPX SPX on the NetWare implemen   tation of IPX SPX  When you use the IPX SPX protocol  the hostname field  must contain the name of the NetWare file server rather than the actual name  of the host computer  The implementation of IPX SPX varies among vendors   so refer to the vendor documentation for more details about the required  files     The servicename Field    The interpretation of the servicename field depends on the type of network  connection that is specified in the nettype field     When you use unnamed pipes  the servicename field must contain the name  of
42. a command   immediately press RETURN after the entry  When you are instructed to    type    the  text or to    press    other keys  no RETURN is required     Introduction 9    Icon Conventions       Icon Conventions    Throughout the documentation  you will find text that is identified by several  different types of icons  This section describes these icons     Comment Icons  Comment icons identify three types of information  as described in the  following table  This information is always displayed in italics    Icon Description    Identifies paragraphs that contain vital instructions     J cautions  or critical information     Identifies paragraphs that contain significant information      about the feature or operation that is being described     Identifies paragraphs that offer additional details or  shortcuts for the functionality that is being described              Compliance Icons  Compliance icons indicate paragraphs that provide guidelines for complying  with a standard    Icon Description    GLS Identifies information that is specific to a GLS compliant  database or application     These icons can apply to a row in a table  one or more paragraphs  or an entire  section  A   symbol indicates the end of the compliance information     10 INFORMIX SE Administrator s Guide       Command Line Conventions    Command Line Conventions    SE supports a variety of command line options  You enter these commands  at the operating system prompt to perform certain functions in SE
43. abase that you have created   grant them the appropriate privileges using the GRANT statement   To revoke privileges  use the REVOKE statement  The GRANT and    REVOKE statements are described in Chapter 1 of the Informix Guide  to SQL  Syntax     Introduction 7    New Features of This Product    8    GLS          New Features of This Product    The Introduction to each Version 7 2 product manual contains a list of new  features for that product  The Introduction to each manual in the Version 7 2  Informix Guide to SQL series contains a list of new SQL features     A comprehensive list of all of the new features for Version 7 2 Informix  products is in the Release Notes file called SERVERS_7 2     This section highlights the major new features implemented in Version 7 2 of  INFORMIX SE   m Global Language Support  GLS     The GLS feature lets Informix Version 7 2 products handle different  languages  cultural conventions  and code sets  GLS functionality  supersedes the functionality of Native Language Support  NLS  and  Asian Language Support  ALS   GLS eliminates the need to distin   guish between internationalized versions of Informix software       m Multibyte filenames   SE can generate multibyte filenames for the following types of files   a Database names for SE   dbs   a    Table names for SE   dat   idx        m Multibyte character support for SE utilities    The secheck and selog utilities provide multibyte character support  for table names and log filenames       
44. are  located in the  INFORMIXDIR msg directory        16 INFORMIX SE Administrator s Guide       Related Reading    Release Notes  Documentation Notes  Machine Notes    In addition to the Informix set of manuals  the following on line files  located  in the  INFORMIXDIR release en_us 0333 directory  might supplement the  information in this manual     On line File Purpose    Documentation Describes features that are not covered in the manuals or that  notes have been modified since publication  The file that contains the  documentation notes for this product is called SEDOC_7 2     Release notes Describes feature differences from earlier versions of Informix  products and how these differences might affect current  products  This file also contains information about any known  problems and their workarounds  The file that contains the  release notes for Version 7 2 of Informix database server  products is called SERVERS_7 2  The release notes also contain a  section on limits that describes the maximum values for SE     Machine notes Describes any special actions that are required to configure and  use Informix products on your computer  Machine notes are  named for the product that is described  The machine notes file  for SE is SE_7 2     Please examine these files because they contain vital information about  application and performance issues     Related Reading    For additional technical information on database management  consult the  following books  The first book is
45. artition        a Back up the data  increase the size of the partition  and restore  the data     SE indexes   idx files  automatically reside on the same partition as  your  dat files     Transaction logs and audit trails grow as you process transactions  against the database     Considering SE Limits    Consider the following limits of SE when you install the product     The maximum row size  32 511 bytes   The maximum number of open SE tables  255     The maximum number of locks per table  operating system   dependent     Because SE takes advantage of some of the operating system facilities that  UNIX provides  it also incurs some of the limits that UNIX imposes  The  number of open files that your operating system allows represents one such  limit  You can increase the value of the following UNIX kernel parameters to  improve SE performance  although these modifications do not alter the SE  limitations just listed      The number of locks  The number of open files    The number of inodes  an operating system entity used to uniquely  identify a file     Installation and Initial Configuration 1 5    Installing SE          Installing SE    Installation refers to the process of loading the product files onto your UNIX  system and running the installation script to correctly set up the product files   Some of the specific steps that you should follow as part of your installation  depend on your environment  See the LINIX Products Installation Guide   Version 7 2  for instructi
46. ase  that is named stores7  SE creates a directory in the current directory that is  named stores7 dbs  For each table that you create in a database  SE creates  two files  a data file and an index file  SE automatically stores the files in the   dbs directory  SE names the two files with the first five characters of the table  name  a unique number starting at 100  and the extensions described in  Figure 2 2     2 4  INFORMIX SE Administrator s Guide       The  dat File       Figure 2 2  File Extensions for Data and Index Files  File Extension Description   dat Represents the extension for data files  idx Represents the extension for index files    When the table name has less than five characters  SE pads the table name  with underscores  _  to create the five character table name portion of the  filename  When the table name has more than five characters  SE truncates the  table name at five characters  Therefore  filenames can appear in different  forms  as shown in Figure 2 3     Figure 2 3  INFORMIX SE Filename Forms  Table Name Data Filename Form Index Filename Form  cost cost_00100 dat cost_00100 idx  customer custo00102 dat custo00102 idx  stock stock00103 dat stock00103 idx    stockitem stock00104 dat stock00104 idx    The  dat File    The  dat file stores all data for a single table  All files contain fixed length data  rows and a delete flag at the end of each record  If the flag equals zero  ASCII  null   SE deletes the record     INFORMIX SE System Architecture 
47. at you saved  to tape     Use the UNIX utility of your choice  for example  dump  tar  or cpio  to back  up your database and the associated SE files     3 6 _INFORMIX SE Administrator s Guide       INFORMIX SE Indexing    B  Tree Organization    Searching fora Row    Adding Keys  Removing Keys     Index Table Structure    Multiple Indexes      Index Table Formats    4 3  4 5  4 6  4 11    4 12  4 13    4 15       4 2  NFORMIX SE Administrator s Guide          he INFORMIX SE database server stores data in indexed sequential  access method  ISAM  tables  Indexing allows quick access to specific rows in  the ISAM table and creates an order for sequential processing of the table   This chapter discusses ISAM indexes and covers the following topics     m Index organization and B  trees  m Index table structure    m Index table format    ISAM maintains indexes so that programs can find rows quickly  You can add   delete  or modify the index keys with minimum impact on the performance  of the programs that use the table  SE knows which indexes exist and can be  used  Read this chapter if you need to know how SE implements indexing   You do not need this information to administer SE     Important  In this chapter  blocks and nodes represent the same thing     B  Tree Organization    ISAM organizes indexes in B  trees  A B  tree is a set of nodes that contain  keys and pointers and that are arranged in a hierarchy  A key is a value from  the data row  for example  an employee number 
48. be compressed          Repeats  4 k 2 For duplicate key  if compressed  for each  6 k 4 Pointer to data  top bit may duplicate keyentry   flag   N 2 1 Index tree number  this is always the   second to the last byte in the node  4  N 1 1 Level in tree  this is always the last byte 0 leaf   in the node  node       4 18 INFORMIX SE Administrator s Guide       Index  Table Formats    Figure 4 10 displays the byte offsets  the lengths  in bytes  of the offsets  and  the description of the meaning of the bytes for the free list node  The last two  bytes in Figure 4 10 identify the node type  In addition  you can identify the  node using the position where it resides within the index tables     Figure 4 10  Free List Node       Number  Byte of  Offset Bytes Item Value  0 2 Number of bytes used in this node  n   2 4 Index node number for list  continuation  points to next node in the  list   6 n 8 Space for free index nodes or free data  row numbers  n 2 1 FF indicates this is a data row free list FF   data file  and FE indicates this is an index node FE   index file  free list  n 1 1 End of list node flag 7F    INFORMIX SE Indexing 4 19    Index  Table Formats    Figure 4 11 displays the byte offsets  the lengths  in bytes  of the offsets  and  the description of the meaning of the bytes for the audit trail node  The verti   cally stacked dots in Figure 4 11 represent the actual log row  Each log row  consists of the header  shown in the figure  and the log row whose size  depends o
49. bles and Files on n the Disk    Considering SE Limits agian  Installing SE    Preparing SE Connections    Understanding Version 7 2 SE Configurations      Setting Environment Variables    Understanding the Communication Files    Building the sqlhosts File    Examples of Client Server Connections      COMO mM UF BWW    PER PH  ND OP BR    e   ee     t19    1 3  1 4  1 4  1 4  1 5  1 6  1 6  1 7  1 8  1 9   1 12   1 18       iv    Chapter 2    Chapter 3    Chapter 4    Chapter 5    Connecting with Different Versions  Starting the sqlexecd Daemon  Using an NFS Mounted Directory      How Does a Client Application Connect to a ee Seen     INFORMIX SE System Architecture  SE Program Files  SE System Files    The  dat File  The  idx File  Allocating Space for dat aiid  idx Files  Transaction Log Files      Allocating Space for the Transaction Log File    Audit Trail Files  Permissions of Database Files a Dieelories  Determining If a Database Is ANSI Compliant      Basic Administration and Maintenance  Monitoring Disk Space Use  Maintaining Data Integrity    Transaction Log Files  Audit Trail Files    Creating Backups      INFORMIX SE Indexing    B  Tree Organization    Searching for a Row   Adding Keys    Removing Keys   Index Table Structure    Multiple Indexes      Index Table Formats      Symptoms and Solutions   Permission Problems     Corruption Problems      Operating System Failures    Premature Termination of an sqlexec Process    Physical Disk Corruption    Lost and Damaged
50. bles for the user     m PATH  m TERM    DBPATH  optional     PATH must always include  INFORMIXDIR bin so that the computer can find  the Informix products  TERM provides information to the UNIX operating  system so that the key set and display function properly  DBPATH shows the  location of databases and database servers     In the following examples  it is assumed that you have installed the Informix  Version 7 2 products in the  usr version7 informix directory  In other words   when you perform the installation  set the INFORMIXDIR environment  variable to  usr version7 informix     INFORMIX  SE Administrator s Guide       Examples of Client Server Connections    Local Connections with Pipes    When the client application and the SE database server reside on the same   host computer  the client application accesses the local database server using   unnamed pipes  as shown in Figure 1 9    Figure 1 9  A Local    Configuration Using  Unnamed Pipes    Version 7 2 Version 7 2       U ed pi          Important  The preceding diagram is also accurate for a connection between a  Version 7 x client and a Version 6 x SE database server or a Version 6 x client and a  Version 7 x SE database server     The user must set the INFORMIXDIR and INFORMIXSERVER environment  variables to the values that are shown in Figure 1 10        Figure 1 10  Environment Variables and  Required Settings  Environment Variable Value  INFORMIXDIR  usr version7  informix  INFORMIXSERVER local_se    Tip  Rem
51. block stores information  about the indexes  including the address of the root block for each index  All  other blocks for an index are addressed using its root block  SE chains ISAM  key description blocks together  and you can find any index root by  following the chain from the dictionary block     The dictionary block also contains a pointer to the first free list block for the   idx table  Free list blocks are chained together  The free list block holds the  block numbers that are unused within the table     When an index block becomes free  SE places the block number on the free  list  When SE needs a new block  SE examines the free list first  SE removes the  block number of an available block from the list and reuses that block  SE uses  all free blocks before it extends the length of the table     Multiple Indexes    Indexing allows fast access to specific rows in an ISAM table  Changes to an  index  however  require SE to update the index  Maintenance of the index  imposes an overhead on the use of the table     When you add a row to a table that contains only one index  the operation  requires a maximum of five disk operations  three to read the index to  determine that the row did not exist  one to add the row to the data table  and  one to update the index  The five disk operations perform the following  specific tasks     m Read the index dictionary node to verify that your buffer cache  remains intact   Read the data row free list   Read in the data page   Writ
52. cally  header columns identify the columns of  the rows of data that follow them     When you specify no Header Info options  the default display for each  transaction log record begins with a header that contains the information  that is listed in Figure 6 5  For corresponding information on the transaction   log record header  see    Transaction Log Files    on page 2 6     Figure 6 5  Header Information for Default Display  Header Column Contents  TY Record type code  TrxID Transaction number  User User id associated with the record  User Name User name associated with the user id  Date Time Time the record was written to the log  Lngth Record length in bytes  FD Descriptor of affected ISAM file  Recno Record number affected by the log record  Filename Filename contained in the log record  for record types    open  close  build  erase  and rename           parle a Oe a       6 16 INFORMIX SE Administrator s Guide    Displaying the Contents of a Transaction Log    Element Purpose Key Considerations   h records Specifies the number of Restrictions  An integer  When you omit the  h  transaction records separating option  the default value for records is 20  When you  each header display  set records to 0  the header prints only once at the  beginning of the output        Displays additional location Additional Information  When you use the  1   information  including the byte option  the selog output displays three additional   offset for each transaction fields  The first  L
53. ce  connection entry 1 14  nettype field subfields 1 14  overview 1 12  servicename field 1 16  servicename field illustrated 1 13  table of fields 1 13  table of valid nettype values 1 15  SQLRM environment variable 1 9  SQLRMDIR environment  variable 1 9  START DATABASE statement 3 4  stores7 database  copying Intro 6  creating Intro 5  overview Intro 5  Stray locks 5 7  System catalog tables 5 7  System files 2 4    T    TCP IP protocol  enabled with  sqlhosts file 1 14   TERM environment variable 1 9   TERMCAP environment  variable 1 9   termcap file 1 9   terminfo directory 1 9    TERMINFO environment  variable 1 9  Transaction log  considering growth of 1 5  priority in disk placement 1 4  Transaction record header  format 2 7  Transaction log file  compared to audit trail file 2 8  corruption 5 7  creating 3 4  description of 2 6  3 4  displaying contents of 6 12  header information for 6 16  log range information for 6 15  maintaining 3 5  table information for 6 13  time period information for 6 14  user information for 6 13  using selog utility on 6 12  Transaction  definition of 3 4  Transferring data 1 4  Transport level interface  enabling  with sqlhosts file 1 14       U    Unbuffered logging 3 4  UNIX  increasing size of kernel  parameters 1 5  kernel parameters 1 5  limitations 1 5  permissions 5 3  Unnamed pipes  enabled with  sqlhosts file 1 14   usr informix directory 1 6  Utilities  secheck 6 3  selog 6 12    
54. cord of activity associated with a  specific database  For information on transaction log files  refer to    Trans   action Log Files    on page 2 6  In addition  refer to the Informix Guide to SQL   Syntax for information about creating SE databases with transaction logging     For information on multibyte character support for SE utilities  see Chapter 5  of the Guide to GLS Functionality  e    Displaying the Contents of a Transaction Log    You can display the complete contents of the transaction log file  or you can  specify transaction records based on the following criteria   m Activity on a specific table  m Activity that a specific user initiates  m Activity within a specific time period  E    Activity within a specific log range    Other options allow you to choose the type and frequency of the header  display              6 12 INFORMIX SE Administrator s Guide    Displaying the Contents of a Transaction Log    Element Purpose Key Considerations     V Displays software version None   information        log filename Specifies the name of the Restrictions  You can specify the log filename as a file  transaction log file  in the current directory or as a complete pathname        Specifying the Table Info Option    The Table Info option directs selog to display all activity on a specified table      f tablename                             Element Purpose Key Considerations    f tablename Directs selog to display all Restrictions  Table must exist when you execute the  ac
55. ction log file resides on a different physical disk  drive than the one on which the database itself resides  This arrangement  allows you to recover from failure of either disk drive     INFORMIX  SE Administrator s Guide       Transaction Log Files    Maintaining a Transaction Log File    The transaction log file can become quite large  Periodically  back up the log  file on tape and initiate another log file  Make sure that you back up your  database and its associated log file before you initiate a new log file  In general   you must save every transaction log file with a corresponding backup copy  of the database     Important  Make sure that no other users are using the system when you back up  the database and log file  or when you create a new log file     After backing up the database and the log file  see    Creating Backups    on  page 3 6   you must specify a new log file name  To reuse the same log file  name  create an empty log file with the same name as the old one  as shown  in the following example     cat  dev null  gt  log_file_name    To learn the location of the transaction log file  invoke DB Access and execute  the following SQL statement     SELECT dirpath FROM systables WHERE tabid   0    To change the name of the log file for some reason related to your  environment  execute the START DATABASE statement just before you make  a backup of the database and specify the new log file name     Important  Before you execute the START DATABASE statement  mak
56. do not know your responses to secheck prompts in advance  you  can choose not to specify the  n or  y option  However  when you do not  specify the  n or  y option  responding to prompts might take a long time     When you do not specify the  n or  y option  secheck prompts you interac   tively  The prompts from secheck request confirmation that you want to  re create the index when secheck finds bad entries  To repair indexes   secheck reads all data from the  dat file and re creates the index in the  idx  file     INFORMIX SE Utilities 6 5    Simple Example    Simple Example    The following command checks and repairs corrupt indexes on the customer  table     secheck custo00100    Out put  Figure 6 1 shows the output that the preceding command generates     Figure 6 1  Example of secheck Output       SECHECK C ISAM B tree Checker version 7 20  Copyright  C  1981 1995 Informix Software  Inc   Software Serial Number RDS NO00000    C ISAM File  custo00100    Checking dictionary and file sizes   Index file node size   1024  Current C ISAM index file node size   1024  Checking indexes and key descriptions   Index 1   unique key  0 index node s  used    1 index b tree level s  used  Index 2   unique key  0 4 2   1 index node s  used    1 index b tree level s  used  Index 3   duplicates  111 5 0  1 index node s  used    1 index b tree level s  used  Checking data record and index node free lists   4 index node s  used  0 free    28 data record s  used  4 free             Tip  The
57. dure for making archive copies of a  database that includes audit trails and the procedure for recovering a table  using audit trails     Important  An Informix audit trail file exists as a binary readable file  You cannot  read that file like a transaction log file     Permissions of Database Files and Directories    When you use Informix programs to create a database and tables  SE assigns  default UNIX permissions to the database directory and its files  Figure 2 7  shows a partial listing of the default permissions placed on the stores7  demonstration database files  The UNIX command 1s 1 produces the first  permissions line about the stores7 database directory  The UNIX command  ls  1 stores7 dbs produces the remaining permissions lines about the  files within the stores7 database     Figure 2 7  Default UNIX Permissions on stores7 Database Files    11 stores7 dbs     custo00100   custo00100 i    items00102   items00102 i  1 manuf00105   1 manuf00105 i  order00101                    2 10 INFORMIX  SE Administrator s Guide       Permissions of Database Files and Directories    The default file permissions give access to the owner and the group  but not  to other users   To see both owner and group names  execute the UNIX  command 1s  1g   The user who creates database files and directories also  owns them  SE automatically grants read and write permission to members  of the group informix     SE assumes the group id of informix  which can access any database file on  the 
58. e back the data page    Write back the dictionary node indicating that a new row exists in the  table    If you create two indexes on the table  the number of disk operations  in the  worst case  can reach nine  four for each index and one for the data row     INFORMIX SE Indexing 4 13    Multiple Indexes       The root level of the index and the level that the root points to are often in  memory because the operating system buffers the most recently used index  blocks  Therefore  two fewer disk operations are required per update for each  index  The updates that occur in key sequence reduce the overhead     A linear relationship exists  however  between the time it takes to update a  row and the number of indexes that SE must update  It takes twice as much  time to update a table with two indexes as the same table with only one  index     When you need additional indexes  consider creating the index that you need  before processing  then deleting it after you finish  For example  use this  method when you want to process the table in a different order at the end of  each day     If you read only rows  or rewrite rows without changing any key fields  the  number of indexes does not affect the speed of processing  However  the read  operations sometimes work faster on an update that uses a two operation  read and write process     To build an index    1  Create a table   2  Create the index   3  Load the data     To build an index when data is sorted    1  Create a table   2  
59. e file other than sqlexec     Using an NFS Mounted Directory    When you want your database to reside across a network on a Network File  System  NFS   SE allows you to designate the current directory as an NFS   mounted directory  When you designate your current directory as an  NFS mounted directory  you must take one of the following actions     m When you are using a pipes connection  you must be in a local  directory  When the NFS mounted directory is not essential for  running your application  change your current directory to a local  directory that does not reside on NFS     m When you are using a network connection  that is  TCP IP or  IPX SPX  ask your Informix database administrator  DBA  to make  sure that an SE sqlexecd daemon is set up and running on the host  computer where the NFS mounted directory resides  Also  make sure  that the dbservername for the local SE database server and the remote  SE database server resides in the sqlhosts files on both hosts     Installation and Initial Configuration 1 37    How Does a Client Application Connect to a Database Server        How Does a Client Application Connect to a  Database Server     A client application establishes a connection with a database server by using  the SQL statements CONNECT or DATABASE  For example  to connect to the   database server my_server  your client application might use the following   form of the CONNECT statement     CONNECT TO   my_server     For more information about the CONNECT and 
60. e group id of the user  Execute permission is required  for searching a directory     INFORMIX SE System Architecture 2 11    Determining If a Database Is ANSI Compliant    2 12          Determining If a Database Is ANSI Compliant    You can query the systables system catalog table to determine if a database  is ANSI compliant  When SE creates a database with the MODE ANSI  keywords  systables lists a row with a tabname of ANSI and a tabid of 100   For example  if the following query on systables returns a row  the database  is ANSI compliant     SELECT   FROM     informix  systables WHERE tabname      ANSI       For a description of the Informix system catalog  refer to the Informix Guide to  SQL  Reference     INFORMIX  SE Administrator s Guide       Basic Administration and  Maintenance    Monitoring Disk Space Use          2  2 2  1 we ee eee 3 3  Maintaining Data Integrity     2  2    1  ee ee en 3 4  Transaction Log Files    2  2  2  1 1 ee ee ee  3 4  Creating a Transaction Log File      2  2  2  2  1 ww  3 4  Maintaining a Transaction Log File         2    1    3 5  Turning Off a Transaction Log File            2    1    3 5  Audit Trail Files 2    2 2 2  ee ew ee  3 6    Creating Backups     a 1  ew we a 3 6       3 2 _INFORMIX SE Administrator   s Guide          his chapter discusses the following administrative and basic  maintenance issues     m Monitoring disk space  m Maintaining data integrity    m Creating backups    Monitoring Disk Space Use    To monitor INF
61. e network communication files  You  use information from  etc hosts and  etc services for the sqlhosts file when  you prepare the TCP IP network connections  For IPX SPX network connec   tions  you need the name of the Novell NetWare configuration file  Also  you  need to work closely with the network administrator to make sure you are  using accurate information     For information about these files  refer to the systems manuals for your  installation and to the UNIX man pages for hosts and services     Network Security Files    A client application cannot connect to a remote database server unless the  user has the proper access permission  Therefore  you must know about the  implications of the network security files   etc passwd     netre    etc shadow   etc host equiv     rhosts  on interhost communication   communication between host computers      Informix products follow standard UNIX security procedures  governed by  information contained in the network security files  For information about  these procedures  refer to the systems manuals for your installation and to  the UNIX man pages hosts equiv and netrc     INFORMIX  SE Administrator s Guide       Understanding the Communication Files    The following methods allow you to gain access to the network     The trusted host method  described in the UNIX man pages for  hosts equiv and rhosts  establishes connections between trusted  host computers over a network  This method does not require you to  supply a password  
62. e sure that no  other users are using the same database  then issue a CLOSE DATABASE statement  before you create and start a transaction log     Turning Off a Transaction Log File    To stop transaction logging on an SE database  issue the START DATABASE  statement with the WITH NO LOG clause for that database     Basic Administration and Maintenance 3 5    Audit  Trail Files       Audit Trail Files    An audit trail is a record of transactions that were processed in a table     Users create audit trail files with the CREATE AUDIT statement  For  information about the CREATE AUDIT statement  refer to the Informix Guide to  SQL  Syntax     Make a backup copy of the database files that are associated with a table  immediately after you create the audit trail  When possible  store the audit   trail file on a different physical device from the one that holds the data  so that  a failure of one does not affect the other    Important  Before you make backup copies of database files and create an audit trail   make sure that no other users are using the same table     The RECOVER TABLE statement in the Informix Guide to SQL  Syntax describes  how to back up a database that includes audit trails and how to recover a  table using audit trails     Creating Backups    Create backups on a regular basis and during times when you do not use the  database  This way  when you lose files and must recover from backups  your  data will be as current as the latest backup and the logical logs th
63. ecno Filename    1817   1817 stevek  1817 stevek  1817 stevek  1817 stevek          Displaying Activity Logged About a Specific Table    The following command displays all of the activity logged about the  customer table     selog  f custo00100 allcall log    Displaying Activity Logged About a Specific User  The following command displays all the activity logged about the user billj     selog  u billj allcall log    6 20 INFORMIX SE Administrator s Guide       Use and Output    Displaying Activity Occurring During a Time Date Range    The following command displays all transactions that were logged for the  time range of 10 00 00 to 11 30 00 in the date range from 12 12 94 to  12 15 94     selog  d 12 12 94 12 15 94  t 10 00 00 11 30 00 allcall log    Displaying Activity Logged About a Specific Byte Range    The following command displays all transaction records beginning at byte  offset 100 and ending at byte offset 500  inclusive     selog  r 100 500 allcall log    See    Displaying Header Information    below for information on obtaining  the byte offset for a specific record   Displaying Header Information    The following command displays location and byte offset information for  headers associated with transaction records     selog  1 allcall log    INFORMIX SE Utilities 6 21    Use and Output    Figure 6 8 shows output generated when you use the  l option     Figure 6 8  Example of Output When Using the  I Option    SELOG  Transaction Log File Display C ISAM Version 7 
64. ections 1 10  for network security 1 9  for TCP IP connections 1 9   INFORMIDIR etc sqlhosts 1 9  network 1 10  network security 1 10  overview 1 9  relationships between 1 17  sqlhosts  description of 1 12  example of fields 1 13  file 1 9  format of nettype field 1 13  hostname field 1 15  nettype field 1 13  servicename field 1 16  Connecting to a database server   example of 1 38  Connection  4 11 client with 7 2 server 1 26  5 x client with 7 2 server 1 26       7 2 client with 7 2 server   example 1 20  7 2 Relay Module 1 32  client server configurations 1 7  local loopback  example 1 23  local  with unnamed pipes 1 19  network 1 32  network  description of 1 13  preparing 1 6  using INFORMIX NET 1 28  using INFORMIX NET Relay  Module 5 x 1 29  with different client server  versions 1 26  Connectivity file  sqlhosts 1 12  Conventions  command line syntax Intro 11  example code Intro 14  icon Intro 10  overview Intro 8  railroad diagram Intro 11  typographical Intro 9  Corruption  avoiding 5 8  data and indexes 5 4  indexes 6 3  lost index and data files 5 6  physical disk 5 5  transaction log 5 7  CREATE AUDIT statement 3 6  CREATE DATABASE statement 3 4  Creating backups 3 6       D     dat file 1 5  2 5  Data  intermediate transfer method 1 4  transferring 1 4  Data file 2 5  Data language  description of 1 3  Data row storage 2 6  Database management system   DBMS  1 3  Database server  description of 1 3  DBPATH environment variable 1 8   5 3  Default UNIX permissio
65. efer to    The secheck  Utility    on page 6 3  You can also check or repair tables within  INFORMIX SQL or DB Access using specific SOL statements such as CHECK  TABLE and REPAIR TABLE     System catalog tables contain index files that can become corrupted  When  you have the DBA privilege or when you are logged on as user informix  you  can use the secheck utility on these index files if you suspect problems     Restoring Data Files    To restore a data file  reload both the data file and its associated index file  from your backup     Transaction Log Corruption    An ISAM error message stating that you cannot open the transaction log or  that an unusable transaction log exists indicates transaction log corruption  problems  Possible causes for transaction log corruption include removing  the log file  improper permissions  or editing the file     When the transaction log becomes corrupted you might want to continue  using transactions     Symptoms and Solutions 5 7    Disk Fragmentation    5 8       To continue using transactions    1  Back up the database     2  Invoke DB Access and execute the following SQL statement to obtain  the pathname of the transaction log   SELECT dirpath FROM systables WHERE tabid   0    3  Empty the transaction log file by entering the following UNIX  command at the operating system prompt  substituting the full  pathname of the transaction log file for dirpath     cat  dev null  gt  dirpath  Important  Make sure that no users can access the da
66. eletes  You must also allow for index size and growth  As indexes grow  they  can consume large portions of space     Transaction Log Files    A transaction log file contains records of modifications that were made to the  database  Transaction logging provides the following benefits   m You can treat a series of operations as a single unit of work     m You can recover a database when the data becomes corrupted due to  a disk crash or other event     2 6 INFORMIX SE Administrator s Guide       Transaction Log Files    The effort that is directed into maintaining a log creates a potential drawback  to transaction logging     Transaction logging does not start automatically when you create the  database  You can specify whether to use transaction logging when you  create the database or at any time thereafter  See    Transaction Log Files    on  page 3 4 for information about initiating and maintaining transaction log  files     A transaction file record contains a fixed length header and other infor   mation  depending on the transaction type  The transaction file record  header has a length of 18 bytes  Figure 2 4 illustrates the header format     Figure 2 4  Transaction File  Record Header    Length of the transaction log record  2 bytes  Format    Transaction type  2 bytes   Transaction identification  2 bytes   User process identification  2 bytes     Transaction time  2 bytes     Z  y    Reserved space  8 bytes           INFORMIX SE System Architecture 2 7    Allocating 
67. ember  lusrlversion7 informix represents the installation directory for all  Informix Version 7 2 products     The  INFORMIXDIR etc sqlhosts file must include the following entry     local_se seipcpip river sqlexec    Installation and Initial Configuration 1 19    Examples of Client Server Connections       The fourth item in the sqlhosts entry  sqlexec  represents the name of the  executable file for SE  as installed by the Informix installation procedure   When you do not modify the installation  sqlexec is the executable file     The SE database server process starts when the client executes one of the  following statements        m CONNEC O database_name local_se  CONNEC 0  local_se             Because these statements represent a purely local connection  the  etc hosts  and  etc services files are unaffected     Network Connections with Version 7 2 Products    When the client application resides on one computer and the database server  resides on another computer  the connection is called a remote or network  configuration  as shown in Figure 1 11     Figure 1 11  Network       Version 7 2       Configuration with  Version 7 2 an Informix    Version 7 2 Client   Application and an  oN  Vesson 7 2 INFORMIX SE    Version 7 2    Database Server                     Important  The preceding diagram is also accurate for a connection between a  Version 7 x client and a Version 6 x SE database server or a Version 6 x client and a  Version 7 x SE database server     1 20 INFORMIX
68. er  a field delimiter  a new line character  or a comment character  The  entries in the fourth field can also include uppercase characters  You delimit  the fields shown in Figure 1 3 with spaces or tabs     INFORMIX  SE Administrator s Guide    Building the sqlhosts File    Figure 1 3  Example of Fields in an sqlhosts File       dbservername nettype hostname servicename  valley_se setlitcp valley valley_service  river_se seipcpip river sqlexec    The dbservername Field    The dbservername field contains the database server name that the  INFORMIXSERVER environment variable specifies  Each database server on  the network must possess a unique name that cannot exceed 18 characters     The nettype Field    The nettype field  a string of eight letters composed of three subgroups   describes the type of connection that a client can use to connect to the  database server  Figure 1 4 illustrates the nettype field     Figure 1 4  Format of the  nettype Field          Database Interface type Network protocol  server product          Installation and Initial Configuration 1 13    Building the sqlhosts File    1 14    The following list describes the subfields of nettype and the valid values  allowed for SE  as shown in Figure 1 5    m The first two letters represent the database server product   a The se represents INFORMIX SE     a The on represents the INFORMIX OnLine Dynamic Server  not  used in this situation      a The gw represents INFORMIX Gateway with DRDA  not used in  this 
69. et a unique ID  for a particular  ISAM file    Get a unique ID  for a particular  ISAM file    Set a unique ID  for a particular  ISAM file    Erase an ISAM  file    Begin work  Commit work    Rollback work    INFORMIX  SE Administrator s Guide    Code    DE    IN    RE    UP    UN    UN    SU    ER    BW  CW    RW    Additional Fields Displayed    Image  hexadecimal and ASCII display of the log record     Image  hexadecimal and ASCII display of the log record     New filename  new filename contained in the log  record     Pre image  hexadecimal and ASCII display of the ISAM  file before image contained in the log record     Post image  hexadecimal and ASCII display of the after   image contained in the log record    None    None    None    None    None    None       None   2 of 3        Displaying the Contents of a Transaction Log    Record Type Code Additional Fields Displayed  Create anindex CI Key description information  on an ISAM file   Delete anindex DI Key description information  on an ISAM file   Change the CL Key description information  physical order of   an ISAM file to    key sequence   3 of 3     Three record types that are associated with the indexes  CI  DI  and DL   display detailed key information  Key information is derived from a key  structure  The key structure describes an index  The following example  shows the format and contents of the important elements of the key structure   or key display      key  k_nparts   n key k_flags   n key k_len   n  ke
70. even if it is part  of a larger loop  Here you can specify size no more than  three times within this statement segment      2 of 2     Command Line Conventions    Figure 1 shows the flow of the secheck utility command     Figure 1  An Example Command Line Diagram    secheck filename         TE l poi i f   y        V       To construct a correct command  start at the top left with the command  secheck  Then follow the diagram to the right  including the options that you  want  The elements in the diagram are case sensitive     To read the example command line diagram    1  Type the word secheck   2  Choose either the lower path or the upper path     3  When you choose the lower path  you must type    V  That brings you  to the terminator and completes the secheck command  Press  RETURN to execute the command     4  When you choose the upper path  take the following steps   You can choose  n or   y  but not both    You can choose  q    You can choose  1     You can choose  s     oo O p v    Supply a filename     After you choose filename  you come to the terminator  Your  command is complete     5  Press ENTER to execute the command        Introduction 13    Sample Code Conventions    14       Sample Code Conventions    Examples of SQL code occur throughout this manual  Except where noted   the code is not specific to any single Informix application development tool   If only SQL statements are listed in the example  they are not delimited by  semicolons  To use this SQL code 
71. ey display 6 19  options  specifying a header 6 16  specifying activity initiated by  user 6 13  specifying activity ona  table 6 13  specifying activity within a log  range 6 14  servicename field  description of 1 16  IPX SPX connection 1 22  TCP IP connection 1 16  Setting environment variables 1 8  Sockets  in nettype field 1 14  Space allocation  for transaction log files 2 8  for  dat and  idx files 2 6  SQL API 1 3  SQL privileges 5 3  SQL statements  ALTER TABLE 3 3  CREATE AUDIT 3 6  CREATE DATABASE 3 4  RECOVER TABLE 5 6  ROLLFORWARD  DATABASE 5 6  START DATABASE 3 4  SQLEXEC environment  variable 1 9  sqlexec process 5 5  sqlexecd daemon  logfile options 1 37  setting 1 35  sqlhosts file  building 1 12  dbservername field 1 13  dbservername field  illustrated 1 13  editing 1 12  enabling IPX SPX protocol 1 14  enabling TCP IP protocol 1 14  enabling unnamed pipes 1 14  entries for 1 13  entries to avoid 1 12  examples of nettype fields 1 15  field for database servername 1 12    4  INFORMIX SE Administrator   s Guide    field for hostname 1 12  field for network protocol 1 12  field for servicename 1 12  hostname field 1 15  hostname field illustrated 1 13  nettype entry  for INFORMIX Gateway with  DRDA 1 14  for INFORMIX SE 1 14  for interprocess  communication 1 14  for OnLine 1 14  for socket network interface  protocol 1 14  for transport level interface 1 14  nettype field format 1 13  nettype field illustrated 1 13  nettype field internal  programming interfa
72. for a specific product  you must apply the  syntax rules for that product  For example  if you are using the Query   language option of DB Access  you must delimit multiple statements with  semicolons  If you are using an SQL API  you must use EXEC SQL and a  semicolon  or other appropriate delimiters  at the start and end of each  statement  respectively     For instance  you might see the code in the following example     CONNECT TO stores 7    DELETE FROM customer  WHERE customer_num   121    COMMIT WORK  DISCONNECT CURRENT    Dots in the example indicate that more code would be added in a full appli   cation  but it is not necessary to show it to describe the concept being  discussed     For detailed directions on using SQL statements for a particular application  development tool or SQL API  see the manual for your product        Additional Documentation    The SE documentation set includes printed manuals  on line manuals  and  on line help     This section describes the following pieces of the documentation set     m Printed documentation  m On line documentation    m Related reading    INFORMIX  SE Administrator s Guide    GLS       Printed Documentation    Printed Documentation    The following printed manuals are included in the SE documentation set     The UNIX Products Installation Guide contains instructions for  installing Informix products on computers that run the UNIX  operating system  Keep this guide with your UNIX software  documentation for easy reference
73. hostname fields in the sqlhosts  and  etc hosts files also match     Figure 1 8  Relationships Among Network Connection Files        INFORMIXDIR etc sqlhosts       dbservername nettype hostname servicename  menlo seipcpip valley sqlexec  newyork setlitep hill se2   pittsburg sesoctcp canyon se3                            Host names match Service names match    sesoctcp  Qe     etc services          Server type Protocol   A f  servicename port    protocol service alias L     se2 1536 tcp    Interface  se3 1425 tcp           etc hosts    net address C host name host alias  29 9 925 6 hill accounts  66 9 30 62 canyon inventory                   Installation and Initial Configuration 1 17    Examples of Client Server Connections    1 18       Examples of Client Server Connections    This section discusses client server configurations for making connections  between an Informix Version 7 2 client and a Version 7 2 SE database server   The following configurations are possible     m A local connection with unnamed pipes  m A remote  network  connection  m A local loopback connection    The connection information that this section describes is true for all  Version 6 0 and later clients and database servers     For information about connecting Version 7 2 SE database servers with an  Informix Version 5 x or 4 1 client  see    Connecting with Different Versions     on page 1 26     In all the configurations in the next sections  you must correctly set the  following environment varia
74. how to invoke the DB Access  utility to access  modify  and retrieve information from SE relational  databases     When errors occur  you can look them up by number and learn their  causes and solutions in the Informix Error Messages manual  If you  prefer  you can look up the error messages in the on line message file  that is described later in this introduction and in the Introduction to  the Informix Error Messages manual     Introduction 15    On Line Documentation    On Line Documentation    Several different types of on line documentation are available     m On line documentation and help  m On line error messages    m Release notes  documentation notes  and machine notes    Error Message Files    Informix software products provide ASCII files that contain all of the  Informix error messages and their corrective actions  To read the error  messages in the ASCII file  Informix provides scripts that let you display error  messages on the screen  finderr  or print formatted error messages  rofferr    For a detailed description of these scripts  see the Introduction to the Informix  Error Messages manual     The optional Informix Messages and Corrections product provides  PostScript files that contain the error messages and their corrective actions  If  you have installed this product  you can print the PostScript files on a  PostScript printer  The PostScript error messages are distributed in a number  of files of the format errmsg1 ps  errmsg2 ps  and so on  These files 
75. ions in a trans   action succeed  the transaction succeeds  When any database operation in a  transaction fails  the transaction fails and the effects of all successful database  operations in that transaction are rolled back to the state that existed before  the transaction began  For more information about transactions  refer to the  Informix Guide to SQL  Tutorial  SE provides transaction log files and audit   trail files to protect data integrity     Transaction Log Files    A transaction log file serves as a record of operations that were performed on  data stored in a database  These operations include inserts  updates  and  deletes     You can use the CREATE DATABASE statement to request either unbuffered  logging  with the WITH LOG IN keywords  or ANSI compliant logging  with  the MODE ANSI keywords   In the event of failure  unbuffered logging  ensures that you lose only the single alteration in progress at the time of  failure  ANSI compliant logging is the same as unbuffered logging  but the  ANSI rules for transaction processing are also enabled  For further infor   mation about ANSI SQL  refer to the Informix Guide to SQL  Syntax     For more information about transaction logs  refer to    Transaction Log Files     on page 2 6     Creating a Transaction Log File    Users create transaction log files with the CREATE DATABASE or START  DATABASE statements  For information on these statements  refer to the  Informix Guide to SQL  Syntax     Make sure that the transa
76. kill your client application     The following sections describe various forms of corruption and what  Informix recommends to fix these problems     Physical Disk Corruption    One symptom of physical disk corruption occurs when users receive UNIX  error messages about files that cannot be found  Hard disk failure or an  unintentional shutdown can create physical disk corruption     Important  When you use transaction logging or audit trails  you can recover the  database up to the point of the last committed transaction  If you forget to establish  transaction logs or audit trails  you can recover the database up to the point of the  last backup     Symptoms and Solutions 5 5    Lost and Damaged Index and Data Files    5 6       To repair physical disk corruption  restore the database and tables from a  backup  To recover the database  you must obtain a backup copy of the  database and a transaction log file  Perform the following steps     1  Contact your system administrator to load and restore the backup  copy of the database data     2  If your database uses transaction logging  load the transaction log  file and execute the ROLLFORWARD DATABASE statement   For infor   mation on the ROLLFORWARD DATABASE statement  refer to the  Informix Guide to SQL  Syntax      If you do not use transaction logging and maintain audit trails on  tables  load the audit trail file and execute the RECOVER TABLE  statement   For information on the RECOVER TABLE statement  refer  to the Infor
77. le 1 8  INFORMIX SE  compatibility with client tools 1 7  considerations before  installing 1 4  creating the demonstration  database Intro 5  improving performance 1 5  installing 1 6  limits 1 5  Machine notes file 1 14  maximum for open tables 1 5  maximum locks per table 1 5  maximum row size 1 5  starting a process 1 20  system files 2 4    INFORMIXSERVER environment  variable 1 8  5 3  INFORMIXSQLHOSTS  environment variable 1 8  1 12  INFORMIXTERM environment  variable 1 8  1 9  Inodes  increasing number of 1 5  Installation  definition of 1 6  instructions for 1 6  Interprocess communication  IPC    enabling with sqlhosts file 1 14  IPX SPX protocol  enabled with  sqlhosts file 1 14  ISAM table 4 3       K    Kernel parameters  increasing value  of 1 5       L   Limits  INFORMIX SE Intro 17  1 5  number of locks per table 1 5  number of open tables 1 5  row size 1 5  UNIX 1 5   Lost index and data files 5 6    M    Machine notes file 1 14  Maximum limits  number of locks per table 1 5  number of open tables 1 5  row size 1 5  Message files  error  messages Intro 16  Monitoring  data integrity 3 4  disk space usage 3 3       N    nettype field  examples of 1 15  valid values for 1 15  Network File System  NFS    databases residing on 1 37  Network interface protocol   description of 1 14  Network security files  and communication files 1 9  overview 1 10   etc host equiv 1 10   etc passwd 1 10   etc shadow 1 10      netre 1 10    rhosts 1 10  Notes    Documentation Intr
78. le Structure    on page 4 12  and recycles free nodes  ISAM indexes  do not require reorganization        INFORMIX SE Indexing 4 11    Index  Table Structure       Index Table Structure    SE stores the index nodes and control information in operating system tables  with the  idx extension  The data table stores only data rows     The index table always contains the following kinds of nodes     A dictionary node   Key description nodes   Index nodes containing keys and pointers  B  tree nodes   Free list nodes   Audit trail nodes    A one to one correspondence usually exists between nodes and the unit of  transfer between the disk and memory  The unit of transfer is called a block      Index Table Formats    on page 4 15 documents the index table nodes     Each index table contains one dictionary block  This block contains pointers to  all the index nodes in the index table and also contains other information  about the ISAM table  Figure 4 6 shows the relationships among the various  nodes in the index table        Figure 4 6    Index  Table  Dictionary block    gt   Audit trail block Structure      kd Index block  Free list block Index description   gt   Root block  L Index block        mid Index block  Free list block Index description   gt   Root block  me Index block       4 12 INFORMIX SE Administrator s Guide       Multiple Indexes    The dictionary block points to the first key description block  marked as    Index  description    in Figure 4 6   Each key description 
79. lue      2 of 2     INFORMIX SE Utilities 6 9    An Example Using the    Option    An Example Using the  I Option    The following command checks and repairs corrupt indexes and lists all  index key values on the customer table     secheck  1 custo00100    Figure 6 4 shows the output that is generated when you use the  1 option  with the secheck command     Figure 6 4  Example of secheck Output for List of Key Values    SECHECK C ISAM B tree Checker version 7 20  Copyright  C  1981 1995 Informix Software  Inc   Software Serial Number RDS N000000    C ISAM File  custo00100    Checking dictionary and file sizes   ndex file node size   1024  Current C ISAM index file node size   1024  Checking data file records   Checking indexes and key descriptions   ndex   unique key  0 index node s  used    1 index b tree level s  used  ndex 2   unique key  0 4 2        btree level  0  node  3  used  144  flag totln keyln dupnm recptr  leade tailc key  4 101  102  103  104  105  106       1 index node s  used    1 index b tree level s  used  Index 3   duplicates  111 5 0        Notice the following portion of the output in Figure 6 4     btree level  0  node  3  used  144  flag totIn keyln dupnm recptr leadc tailc key       6 10 INFORMIX SE Administrator s Guide       Converting Index Node Size with the  s Option    The rightmost column heading  key  contains very useful data  The complete  index key value for each data row in the table appears under the key  heading  When the index has more
80. mix Guide to SQL  Syntax      Lost and Damaged Index and Data Files    Experiencing symptoms such as abnormally sluggish performance or  missing data indicates that damaged or corrupted  dat or  idx files exist  A  corrupted index file affects queries that use the index  The following  situations can create that type of corruption     m Users abnormally terminating the creation or alteration of an index  m Users aborting a batch insert  Error messages that ISAM or the UNIX operating system send also indicate a  problem with the data and index files  When a corrupted file exists  users  receive an ISAM error message  When you lose a file  users receive a UNIX  error message indicating that the file cannot be found or cannot be opened   The following situations can generate these error messages   Hardware problems  Users editing or deleting files    Power fluctuations    Physical problems in the mass storage system    INFORMIX  SE Administrator s Guide       Transaction Log Corruption    To determine whether a corrupt table exists  you can use the CHECK TABLE  statement to compare the data in a table with its indexes  You can use the  REPAIR TABLE statement to repair damaged indexes or data in a table  For  more information on the CHECK TABLE and REPAIR TABLE statements  refer  to the Informix Guide to SQL  Syntax     Restoring Index Files    Use the secheck utility to check index files for damage  When damage exists   you can use secheck to repair or rebuild the index files  R
81. n the transaction type  In addition  only one audit trail can exist for    each table   Figure 4 11  Audit  Trail Node  Number  Byte of  Offset Bytes Item Value  0 2 Number of bytes used in this node  2 2 Flags 0   audit trail is on  1   audit trail is off  4 64 Audit trail pathname  n 1 1 End of audit trail node 7D       4 20 INFORMIX SE Administrator s Guide       Symptoms and Solutions    Permission Problems      Corruption Problems     Operating System Failures     Premature Termination of an sqlexec Process   Physical Disk Corruption     Lost and Damaged Index and Data Files    Restoring Index Files Se  Restoring Data Files     Transaction Log Corruption    Disk Fragmentation  Practices to Avoid      Performance Tuning    5 3       5 2 _INFORMIX SE Administrator   s Guide          his chapter provides information to help you diagnose problems that  can occur when you work with a database  This chapter also covers the  following topics   Permission  Corruption  Disk fragmentation    Practices to avoid    Performance tuning       Permission Problems    When you cannot gain access to a database or table  check the following  areas     m The DBPATH environment variable  This variable must be set to  identify the directories that contain databases     m The INFORMIXSERVER environment variable  This variable must  be set to identify the correct database server     m UNIX permissions  Permissions on Informix files must be set at 660    rw rw       Permissions on the database di
82. ng unit  CPU  failure    System crash    Accidental erasure of some or all operating system files    When you experience an operating system failure  you can reload the backup  copy of your database and use the ROLLFORWARD DATABASE statement to  apply the transaction log file  which recovers the database     INFORMIX  SE Administrator s Guide       Premature Termination of an sqlexec Process    Premature Termination of an sqlexec Process    Often  the only way that you can discover that an SE database server process   sqlexec  terminated prematurely is to examine the system accounting files   Whenever a process terminates  the accounting system stores information in  a UNIX accounting file that is specified on your system  See your system  administrator for the name of the accounting file  Look for processes that  contain the name of a compiled user application program or for sqlexec  database server processes that terminated with a nonzero exit status   Remember that actual status codes can vary  depending on the operating  system     An sqlexec database server process can terminate prematurely due to  unknown or unavoidable causes  It also can terminate prematurely when  you issue a UNIX kil  command  Do not kill database processes with the  UNIX kill  9 command  An explicit kil   9 command prevents SE from  shutting down the database server process  sqlexec  in a controlled manner  and can compromise both physical and transaction integrity  To safely  terminate a process  
83. ns 2 10    2 _INFORMIX SE Administrator   s Guide    Demonstration database  copying Intro 6  installation script Intro 5  overview Intro 5  Differences between audit trails and  transaction logs 2 8  Disk  data and head movement 1 5  fragmentation 5 8  minimizing input output 1 4  partitioning 1 4  reducing competition for  access 1 4  using separate devices 1 4  Displaying contents of a transaction  log 6 12  Documentation notes Intro 17  Documentation  other  useful Intro 15    E    Environment variables  DBPATH 1 8  5 3  GLS related 1 9  INFORMIXDIR 1 8  INFORMIXSERVER 1 8  5 3  INFORMIXSQLHOSTS 1 8  1 12  overview 1 8  PATH 1 9  setting 1 8  SQLEXEC 1 9  SQLRM 1 9  SQLRMDIR 1 9  TERM 1 9  TERMCAP 1 9  TERMINFO 1 9  Error messages Intro 16   etc hosts file  example of hostname field 1 15  host alias field 1 15  hostname field 1 15  net address field 1 15   etc services file  port number protocol field 1 16  service alias field 1 16  servicename field 1 16       G    Global Language Support  GLS   description of Intro 8  environment variables 1 9  using with SE 1 9   Group informix 2 11       H    Hardware configuration 1 4  hostname field 1 15        idx file 2 6  1 5  Index  checking 6 3  dictionary node 4 12  file 2 5  2 6  fixing when corrupt 6 3  free list node 4 13  ISAM table 4 3  key description node 4 13  organization 4 3  repairing 6 3  table formats 4 15  table organization 4 12  table structure 4 12  using secheck utility on 6 3  INFORMIXDIR environment  variab
84. ntain an entry for  valley_service     Do not confuse the servicename entry for a remote connection  as illustrated  in Figure 1 21  with the servicename entry for a local connection  as illus   trated in Figure 1 19   For a local connection  the service name indicates the  SE process as a pathname or a program name  For remote connections  the  service name in the sqlhosts file points to an entry in the  etc services file     Network Connections with 5 x INFORMIX NET Relay Module    Figure 1 24 shows an Informix Version 5 x client application connecting to a  remote Version 7 2 SE database server using the Version 5 x INFORMIX NET  Relay Module     Installation and Initial Configuration 1 29    Connecting with Different Versions    Important  Informix does not provide a Relay Module with Informix Version 4 1    products   Figure 1 24    A Remote Connection Using the Version 5 x  INFORMIX NET Relay Module    hilltop valley       Version 7 2    Version 5 x Version 5 x sqlexecd    INFORMIX   Client                         NET Relay Version 7 2    Module    valley_se             Setting Up the hilltop and valley Host Computers    For the hilltop computer  set the INFORMIXDIR  SQLEXEC  and SQLRMDIR  environment variables to the values shown in Figure 1 25  For the valley  computer  set the INFORMIXDIR environment variable to the value shown in    Figure 1 25   Figure 1 25  Environment Variables and Required Settings  Host Computer Environment Variable Value  hilltop INFORMIXDIR  
85. o 17  Machine Intro 17  1 14  Release Intro 17    O    On line files Intro 16  Operating system  block size 2 6  failure 5 4  permissions 2 4  2 11  Organization of C ISAM files  index  file 4 12  Ownership and group settings 2 11    P    Partition  avoiding overflow 1 5  for disks 1 4  increasing size of 1 5  moving table to larger 1 5  spanning 1 5  using innermost for fast access 1 5  PATH environment variable 1 8   1 9  Performance  improving 1 5  multiple indexes 4 13  tuning 5 9    Permissions  database files 2 10  directories 2 10  problems 5 3  Physical disk corruption 5 5  Placement of active tables and  files 1 4  Planning for growth 1 4  Printing index key values 6 8  Program files 2 3  Protecting data integrity 3 4  Protocols  network  enabled with  sqlhosts file 1 14    R    Railroad diagrams  conventions used in Intro 11  example of syntax  conventions Intro 13  RECOVER TABLE statement 5 6  Relay module  using version 5 x 1 29  using version 7 2 1 32  Release notes Intro 17  Renaming the transaction log  file 3 5  Repairing and checking corrupt  indexes 6 3  Restoring  data files 5 7  index files 5 7  Restricting access 2 4  ROLLFORWARD DATABASE  statement 5 6       S    secheck utility  converting index node size 6 11  description of 6 3  printing index key values 6 8  Security files  for network 1 9  selog utility  additional header fields 6 17  default header information 6 16  description of 6 12    Index 3    displaying contents of a  transaction log 6 12  k
86. ocation  displays the byte offset for   record  each transaction record  The other two fields  Prev  Loc and Prev Leng  hold additional internal  information provided for updated records  The  information is used internally during ROLLBACK  WORK procedure     Displays additional fields from Restrictions  You must enter the  v option as a  the transaction records  lowercase character  In this context  when you enter  depending on the transaction  v as an uppercase character  you generate an error  record type  message  Do not confuse the lowercase  v option  with the uppercase  V option  which displays  version information   References  For specific details on this option  see     Displaying Additional Fields with the  v Option     below           Displaying Additional Fields with the  v Option    When you specify the  v option  selog displays additional fields for certain  record types  Figure 6 6 shows all record types and the additional fields that  the  v option displays for each     Figure 6 6  Additional Header Fields Displayed by the  v Option  Record Type Code Additional Fields Displayed    Build an ISAM BU Row length  ISAM record length   build mode  file    Close an ISAM FC None  file  Open an ISAM FO None  file   1 of 3        INFORMIX SE Utilities 6 17    Displaying the Contents of a Transaction Log    6 18       Record Type    Delete a record  from an ISAM  file    Insert a record  from an ISAM  file    Rename an  ISAM file    Update a record  in an ISAM file    G
87. ons about installing the Version 7 2 SE database  server     Preparing SE Connections    Before you can use SE with a client application  you must first understand the  following topics     m Configuring INFORMIX SE  Version 7 2  for local and remote  connections   Setting your environment variables   Establishing communication    Building the sqlhosts file    Connecting Informix Version 7 2 client applications to Version 7 2 SE  database servers    m Connecting Informix Version 4 1 or Version 5 x client applications to  Version 7 2 SE database servers    m Starting the sqlexecd daemon    m Using NFS mounted directories    The UNIX Products Installation Guide suggests that you create the directory   ust informix for your Informix products  For the examples in the following  sections  it is assumed that you have installed the Informix Version 4 1 or 5 x  products in the  usr informix directory  and that you have installed the  Informix Version 7 2 products in the  usr version7 informix directory   However  when you establish local connections using unnamed pipes  you  must install client and server products in the same directory     1 6 INFORMIX SE Administrator s Guide       Understanding Version 7 2 SE Configurations    Understanding Version 7 2 SE Configurations    You must understand local and network configurations before you establish    communication     A local client server configuration exists when a client product connects to a  database server on the same computer 
88. ormix  Version 7 2 database server using Version 5 x INFORMIX NET with  INFORMIX SE  a Version 5 x Relay Module  or the Relay Module  component of an Informix Version 7 2 database server  For more  information about using INFORMIX NET with INFORMIX SE or the  INFORMIX NET Relay Module  refer to the INFORMIX NET   INFORMIX STAR Installation and Configuration Guide  For more infor   mation about using the Relay Module component of a Version 7 2 SE  database server  refer to    Local Connections with Version 4 11 or 5 x  Client Applications    below     Local Connections with Version 4 11 or 5 x Client Applications    Figure 1 19 shows a configuration with an Informix Version 4 11 or 5 x client  application connecting to a Version 7 2 SE database server        Figure 1 19  Local Connection  Version 7 2 from a Version 4 11   Version 4 11 or 5 x or 5 x Client    Unnamed pipes Relay Application to a  Client  gt    Module Version 7 2    Database Server    hilltop       Version 7 2    local_se          1 26 INFORMIX SE Administrator s Guide       Connecting with Different Versions    The Version 7 2 Relay Module  a component of Informix Version 7 2 database  servers  is specifically designed to allow Informix Version 4 11 and 5 x client  applications to connect to an Informix Version 7 2 database server     For the configuration in Figure 1 19  the user must set the INFORMIXDIR and  INFORMIXSERVER environment variables to the values shown in  Figure 1 20     Figure 1 20    Environmen
89. ption    Purpose Key Considerations    Displays software version None   information        Responds affirmatively to all Additional Information  When you know in  prompts  advance that all your responses to secheck prompts  are positive  specify the  y option   References  For specific details about this option   see    Choosing Not to Specify the  n or  y Option     below           Specifies the table name Restrictions  The filename must match a value of a   associated with the data and table listed in the database directory    index files that secheck References  For information about using multibyte   evaluates  character filenames with secheck  see the Guide to  GLS Functionality         2 of 2     To determine the correct value for filename  list the contents of the database  directory  For example  the stores7 database identifies the customer table in  the database directory as custo00100  not as customer  System catalog tables   on the other hand  do not contain a numerical component  Do not include the   dat or  idx extension as part of the filename     To execute the secheck utility  type the secheck syntax at the UNIX command  line and then press RETURN  The following command line shows the  minimum syntax that you need to successfully run secheck     secheck filename    In the preceding command line  filename is the name of the table that is  associated with the data and index files that secheck evaluates     Choosing Not to Specify the  n or  y Option    When you 
90. r version7  informix    INFORMIXSERVER valley_se    The sqlexecd daemon must be running  To start the daemon  log in as root  and enter the following command      usr version 7 informix lib sqlexecd valley_se    For information about the sqlexecd daemon  refer to    Starting the sqlexecd  Daemon    on page 1 35     Setting Up the Communication Files    Each host computer  hilltop and valley  must contain an sqlhosts file that  includes connection information associated with the network interface and  network protocol that you are using  Figure 1 17 shows the sqlhosts file  entries for different network interfaces     Figure 1 17  Network Interfaces and Associated  sqlhosts File Entries  Network Interface sqlhosts File Entry  Sockets on TCP IP valley_se sesoctcp valley valley_service    TLI interface on TCP IP valley_se setlitcp valley valley_service    INFORMIX  SE Administrator s Guide       Examples of Client Server Connections    When you use a TCP IP network  the  etc hosts file must contain an entry for  the valley computer and the  etc services file must contain an entry for  valley_service     When the host computer uses the TLI network interface on an IPX SPX  network  the hostname field contains the name of the NetWare file server  instead of the computer host name  On the display screens that are associated  with the preparation of the NetWare connections  the screen displays the  NetWare file server in uppercase letters  for example  NW_SVR  However  in  the sqlhos
91. ransaction logs provide  When you  need to maintain the integrity of the database as a whole  or to guarantee that  you execute SQL statements either completely or not at all  you must use  transaction logs     INFORMIX  SE Administrator s Guide          Audit  Trail Files    The audit trail file contains records that consist of a fixed length header and  an image of a data row  Figure 2 6 illustrates the format of audit trail files     Figure 2 6  Format of an Audit  Trail File    Audit trail record type  aa  dd  rr  or ww  2 bytes     Time of processing operation  4 bytes     User process identification number  2 bytes     User identification number  2 bytes     Data file record number  4 bytes     Length in bytes of the data row  2 bytes     Image of the data row  the length of the row  in bytes plus 1 byte added for a carriage  return     Important  You can create only one audit trail for each table     INFORMIX SE System Architecture 2 9       Permissions of Database Files and Directories    drwxrwx          For an insert operation  SE designates the audit  trail record as type aa  Fora  delete operation  SE designates the record as type dd  For a rewrite operation   SE records both the before  and after images in an audit trail file  SE lists the  before image first  as type 11  then lists the after image  as type ww  SE assigns  the same record number to both     The RECOVER TABLE statement in the Informix Guide to SQL  Syntax partially  describes the recommended proce
92. rectory must be set at 770    rwxrwx      You must obtain adequate UNIX permissions to access  higher level directories     m Database ownership  The database directory and files must belong  to group informix     m SQL privileges  Your DBA must provide adequate SQL privileges for  the operation     Symptoms and Solutions 5 3    Corruption Problems    5 4       For information on how to set the DBPATH and INFORMIXSERVER  environment variables  refer to the Informix Guide to SQL  Reference  For  information on how to set UNIX permissions  consult your UNIX system  administrator or a guide on the UNIX operating system  For information on  SQL privileges  refer to the GRANT and REVOKE statements in the Informix  Guide to SQL  Syntax        Corruption Problems    Operating system failures  premature termination of an sqlexec process  and  disk corruption can create corruption problems     A system crash or power failure can corrupt database data and indexes  An  INFORMIX SE database server process that terminates prematurely can also  corrupt data and indexes     You must verify database integrity after a failure occurs  Because SE cannot  determine when a failure occurs  make sure your SE administrator stays alert  for failures and takes appropriate corrective actions when they occur     Operating System Failures    Operating system failures are generally known to the system administrators   The following events can disable an operating system    Power failure   Central processi
93. report jobs for times when all users are off line  such as  holidays  weekends  and evenings   Reports use I O intensively    m Update statistics during low system load times to reduce contention    m Use stored procedures to enhance speed  Executing a stored  procedure allows you to bypass repeated parsing  validity checking   and query optimization  You can also use a stored procedure to  perform frequently executed tasks     Symptoms and Solutions 5 9       INFORMIX SE Utilities    The secheck Utility    Choosing Not to Specify the  nor  y Option   Simple Example    Output  f    Parenthetical Values    Printing a Long List of Index Key Values    An Example Using the  l Option      Converting Index Node Size with the  s Option  Causes for secheck Failure   wie a    The selog Utility     Displaying the Contents of a Transaction Log  Specifying the Table Info Option  Specifying the User Info Option     Specifying the Time Period Info Option    Specifying the Log Range Info Option  Specifying the Header Info Option    Use and Output    Displaying the Contents of a Transaction Log      2  Displaying Activity Logged About a Specific Table    Displaying Activity Logged About a Specific User      Displaying Activity Occurring During a Time Date Range      Displaying Activity Logged About a TE e ea  Displaying Header Information        6 3  6 5  6 6    6 7  6 8  6 10  6 11  6 11    6 12  6 12    6 20  6 20  6 20  6 20  6 21  6 21  6 21       6 2 INFORMIX SE Administrator   s Guide 
94. rk configurations    SQLRMDIR is required for some network configurations    TERM enables your client product to recognize and    communicate with the terminal you are using   Sometimes you must also set TERMCAP and  TERMINFO  See your UNIX system administrator for  details     The Global Language Support  GLS  feature of SE lets you use non English  characters  monetary conventions  and collating sequences  If you are using  the GLS features of SE  you need to set the GLS related environment variables   which are documented in Chapter 5 of the Guide to GLS Functionality  e    Understanding the Communication Files    The communication files contain information necessary for client applications  and database servers to communicate with one another  The files that are  associated with network communication fall into the following groups     m Network communication files   etc hosts and  etc services  used  only for the TCP IP network protocol   m Network security files  m  INFORMIXDIR etc sqlhosts  Of these files  you maintain only the  INFORMIXDIR etc sqlhosts file  The    UNIX system  or network  administrator  or the end user  in the case of some  network security files   manages the other files     Important  For the remainder of this chapter  SINFORMIXDIR etc sqlhosts is  referred to as the sqlhosts file     Installation and Initial Configuration 1 9    Understanding the Communication Files    1 10       Network Communication Files    The network administrator maintains th
95. rms the requested operations    Database users instruct the DBMS to perform queries and other operations on  a database using language that the DBMS understands  Informix application  development tools and SQL APIs use a database definition and manipulation  language that is an extension of the ANSI standard SQL to send instructions  to the database server     Installation and Initial Configuration 1 3    Planning for SE          Planning for SE    Planning can help you avoid costly and time consuming mistakes  For  example  before you install the software  consider where to locate it so that  everybody who needs to access it can do so     After you decide where to locate the product  think about the placement of  the database and its associated tables  Do you want to place your tables on  different devices  Do you want to put your transaction log or audit trails on  separate disks  Also consider the computer itself  Can it support the memory  requirements of SE  Can it support the number of open files  locks  and users  that the application requires  In addition  you must think about maintenance  plans  Prepare a backup schedule  Decide where to keep the tapes     Configuring Hardware    If you partitioned your disks before you began planning your SE system   examine the physical layout of your disk and verify that the partition in  which you want to load your Informix products is large enough to contain  the product software   Informix does not require you to place the prod
96. rsion 7 2 Relay Module only for local connections  between different versions     Setting Up the hilltop and valley Host Computers    For the hilltop computer  set the INFORMIXDIR  INFORMIXSERVER  and  SQLEXEC environment variables to the values shown in Figure 1 29  For the  valley computer  set the INFORMIXDIR environment variable to the value  shown in Figure 1 29     Figure 1 29  Environment Variables and  Required Settings  Host Computer Environment Variable Value  hilltop INFORMIXDIR  usr  informix  hilltop INFORMIXSERVER valley_se  hilltop SQLEXEC  usr informix lib sqlrm  valley INFORMIXDIR  usr  version7  informix    The SQLEXEC environment variable points to the executable file for the  Version 7 2 Relay Module     The sqlexecd daemon must be running  To start the daemon  log in as root  and enter the following command      usr version 7 informix lib sqlexecd valley_se    For information about the sqlexecd daemon  refer to    Starting the sqlexecd  Daemon    on page 1 35     Installation and Initial Configuration 1 33    Connecting with Different Versions    1 34       Setting Up the Communication Files    Each host computer  hilltop and valley  must contain an sqlhosts file that  includes connection information that is associated with the network interface  and network protocol that you are using  Figure 1 30 shows the sqlhosts file  entries for different network interfaces     Figure 1 30  Network Interfaces and Associated  sqlhosts File Entries  Network Interface 
97. s     m The database name must be unique     Introduction 5    Demonstration Database    6       When you run dbaccessdemo 7  you are  as the creator of the database  the  owner and Database Administrator  DBA  of that database     If you install your Informix database server according to the installation  instructions  the files that constitute the demonstration database are  protected so that you cannot make any changes to the original database     You can run the dbaccessdemo7 script again whenever you want to work  with a fresh demonstration database  The script prompts you when the  creation of the database is complete and asks if you would like to copy the  sample command files to the current directory  Enter N if you have made  changes to the sample files and do not want them replaced with the original  versions  Enter Y if you want to copy over the sample command files     To create and populate the stores7 demonstration database    1  Set the INFORMIXDIR environment variable so that it contains the  name of the directory in which your Informix products are installed     2  Set INFORMIXSERVER to the name of the default database server     The name of the default database server must exist in the   INFORMIXDIR etc sqlhosts file   For a full description of  environment variables  see Chapter 4 of the Informix Guide to SQL   Reference   For information about the sqlhosts file  refer to    The  sqlhosts File    on page 1 12 of this manual     3  Create a new directory for
98. s  sql or  dbs  might follow  a variable that represents a filename  Type this extension  exactly as shown  immediately after the name of the file  and a period  The extension might be optional in certain  products      1 of 2     Introduction 11    Command Line Conventions    12             Element Description             Punctuation and mathematical notations are literal  symbols that you must enter exactly as shown    oe  Single quotes are literal symbols that you must enter as  shown    Privileges A reference ina box represents a subdiagram on the  p  5 17 same page  if no page is supplied  or another page    Imagine that the subdiagram is spliced into the main   diagram at this point    gR A shaded option is the default  If you do not explicitly    type the option  the default will be in effect unless  you choose another option        Syntax enclosed in a pair of arrows indicates that this is  a subdiagram        The vertical line is a terminator and indicates that the  statement is complete        r  sii  a    IN    A branch below the main line indicates an optional path    Any term on the main path is required  unless a branch  can circumvent it         3  A variable 5       A loop indicates a path that you can repeat  Punctuation  along the top of the loop indicates the separator symbol  for list items  as in this example              INFORMIX  SE Administrator s Guide    A gate    3   ona path indicates that you can only use  that path the indicated number of times  
99. situation         m The middle three letters represent the internal programming  interface connection type that enables communication     a The ipc represents a UNIX based interprocess communication  IPC   connection that is used only for local loopback connections     a The tlirepresents a transport level interface  TLI  network interface  that is used for local loopback and remote host connections        a The soc represents a socket type of network interface that is used  for local loopback and remote host connections     The installation package for this product contains the Machine Notes  file  SE_7 1  that discusses the network interface that your platform  supports     m   The final three letters represent the specific IPC mechanism or the  network protocol     a The pip represents unnamed pipes  Use pip only for local  connections     a The tcp represents the TCP IP protocol  Use tcp for network  connections        a The spx represents the IPX SPX protocol  Use spx for network  connections     The network interface describes the behavior between the computer  and the network  The network protocol describes the behavior of the  network itself        INFORMIX  SE Administrator s Guide       Building the sqlhosts File    Figure 1 5 shows the valid values for nettype used with SE     Figure 1 5  Valid nettype Values for SE       nettype Description   seipcpip SE using unnamed pipes for local mode  setlitcp SE using TLI with TCP IP protocol  sesoctcp SE using sockets with 
100. sqlhosts File Entry  Sockets on TCP IP valley_se sesoctcp valley valley_service    TLI interface on TCP IP valley_se setlitcp valley valley_service    TLI interface on IPX SPX valley_se setlispx valley valley_service    When you use a TCP IP network  the  etc hosts file must contain an entry for  the valley computer  and the  etc services file must contain an entry for  valley_service     When the host computer uses the TLI network interface on an IPX SPX  network  the hostname field contains the name of the NetWare file server  instead of the computer host name  On the display screens that are associated  with the preparation of the NetWare connections  the screen displays the  NetWare file server name in uppercase letters  for example  NW_SVR   However  in the sqlhosts file  you enter lowercase letters  for example   nw_svr     For an IPX SPX connection  the value in the servicename field can contain an  arbitrary string  but that string must represent a unique name among the  names of services available on the IPX SPX network   In other words  you  cannot use the string as a service name on any other file server on the  network  even if that file server does not use an Informix product   You can  use the dbservername value in the servicename field  as shown in Figure 1 31   providing the dbservername value exists as a unique service name     INFORMIX  SE Administrator s Guide       sqlexecd    Starting the sqlexecd Daemon       Figure 1 31  Using the dbservername Value in 
101. system  enables any user with database access privileges to read and  write to a database directory and its tables  regardless of system permission     Warning  Do not designate any user of Informix products as a member of group  informix  This action can lead to unintended and uncontrolled database access     Do not alter these permissions  When you move a database to another  directory  check the UNIX file permissions to verify that those permissions  were properly set     Although SQL database and table privileges govern user access to the  database and its tables  you can also apply UNIX permissions to the directory  where the database resides  You use the GRANT and REVOKE statements to  establish SQL privileges  For information on those statements  refer to the  Informix Guide to SQL  Syntax     You can change the operating system permissions for the parent directories of  the database directory  When you restrict read permissions on the parent  directories  other users cannot list the database directory at the operating   system level  Restricting public access to any parent directory of the database  directory prevents all other users from accessing the database through an  Informix program     Important  On some operating system platforms  you must start your client  application from a directory in which you have at least execute permission by user or  others  Having access permission by group only is not sufficient because SE assumes  the group id of informix  not th
102. t Variables and  Required Settings    Environment Variable Value  INFORMIXDIR  usr  informix  INFORMIXSERVER local_se    SQLEXEC  usr informix lib sqlrm    You must set the SQLEXEC environment variable to the complete pathname  of the executable file for the Version 7 2 Relay Module     Important  When you use unnamed pipes  the Informix Version 4 1 and 5 x client  application must reside in the same directory as the Informix Version 7 2 database  server     The sqlhosts file must include the following entry   local_se seipcpip hilltop sqlexec    The sqlhosts file belongs in the  INFORMIXDIR etc directory  For local  connections  the  etc hosts and  etc services files remain unaffected     Installation and Initial Configuration 1 27    Connecting with Different Versions    Network Connections with INFORMIX NET    You can connect from an Informix Version 5 x client to a remote Version 7 2  SE database server using Version 5 x INFORMIX NET  That configuration also  applies to an Informix Version 4 1 client connecting to an Informix   Version 7 2 database server using Version 4 1 INFORMIX NET  or an Informix  Version 4 1 client connecting to an Informix Version 7 2 database server using  Version 5 x INFORMIX NET  Figure 1 21 shows the configuration using  Version 5 x INFORMIX NET     Figure 1 21  A Remote Connection Using Version 5 x INFORMIX NET       hilltop    Version 7 2    Version 5 x 7  Version 5 x          p     INFORMIX   NET Version 7 2    valley_se       Setting Up the
103. t tool  SQL API  or DB Access enables you to  compose queries  send queries to the database server  and view the results  that the database server returns  You can use DB Access to try out the SQL  statement described in this guide     Demonstration Database    The DB Access utility  which is provided with your Informix database server  products  includes a demonstration database called stores7 that contains  information about a fictitious wholesale sporting goods distributor  The  sample command files that make up a demonstration application are also  included     Most examples in this manual are based on the stores7 demonstration  database  The stores7 database is described in detail and its contents are  listed in Appendix A of the Informix Guide to SQL  Reference     The script that you use to install the demonstration database is called  dbaccessdemo7 and is located in the  INFORMIXDIR bin directory  The  database name that you supply is the name given to the demonstration  database  If you do not supply a database name  the name defaults to stores7   Use the following rules for naming your database     m Names can have a maximum of 18 characters for INFORMIX OnLine  Dynamic Server databases and a maximum of 10 characters for SE  databases     m The first character of a name must be a letter or an underscore  _      m You can use letters  characters  and underscores  _  for the rest of the  name     m DB Access makes no distinction between uppercase and lowercase  letter
104. tabase when you perform the  preceding steps     You can now begin logging transactions again  Use the START DATABASE  statement to start a log file     Disk Fragmentation    Disk fragmentation occurs when the blocks that make up an ISAM file  become scattered throughout the partition  Disk fragmentation can slow  retrieval times  making searches less efficient than when you store data in  contiguous blocks  To correct disk fragmentation  unload the data and  re create the table in an unfragmented partition     Practices to Avoid    To avoid many types of corruption  follow these few basic rules     m Donotedit your ISAM files  Do not edit any files in the  dbs directory     m Donot kill database server processes  Instead  shut down the  application to make the SE database server terminate in a controlled  manner     m Donot remove or rename the transaction log while logging is active     m Do not change the UNIX owner  group  or permissions for the  dbs  directory or any files within that directory     INFORMIX  SE Administrator s Guide       Performance Tuning    m Donotuse the dbexport utility for database backups  Rely on proper  UNIX backups     Do not create backups with a named pipe as the destination     Do not use audit trails to update your tables     Performance Tuning    You can significantly enhance SE performance by making the following  improvements    Cluster indexes for faster retrieval    Drop indexes for bulk inserts and updates that update keys     m Save 
105. table  Index node number of last node in index table  Transaction number   Unique id   Pointer to audit trail information   Lock method   Alter table count   Reserved   Reserved   Reserved   Reserved   Reserved    Reserved    Value     2 of 2     In addition  when you create a table with a serial column  SE stores the  maximum serial number in the dictionary page of the index table  offset 45         Index  Table Formats    Figure 4 8 displays the byte offsets  the lengths  in bytes  of the offsets  and  the description of the meaning of the bytes for the key description node     Figure 4 8  Key Description Node Format       Number  Byte of  Offset Bytes Item Value  0 2 Number of bytes used in  this node  2 4 Index node for  continuation of key  descriptions  6 2 Length of description Repeats  8 4 Index node number of for each  root key  12 1 Compression flags  13 2 Length of key part 1  top Repeats  bit   duplicates  for  P each  15 2 Position in data record part of  17 1 Data type parameter the key  n 2 1 Flag FF  n 1 1 End of key description 7E  node    INFORMIX SE Indexing 4 17    Index  Table Formats    Figure 4 9 displays the byte offsets  the lengths  in bytes  of the offsets  and  the description of the meaning of the bytes for the B  tree node     Figure 4 9  B  Tree Node             Number  Byte of  Offset Bytes Item Value  0 2 Number of bytes used in this node  2 1 Count of leading bytes  if compressed   3 1 Count of trailing blanks  if compressed  N  4 k Key  may 
106. the servicename Field  Affected Field sqlhosts File Entry  servicename valley_se setlispx nw_svr valley_se    Starting the sqlexecd Daemon    Log in as root to start the sqlexecd daemon  The sqlexecd daemon enables SE  to take the following actions    m Receive a connection request from a remote client   m Establish a local loopback connection with a local client    The command to start sqlexecd requires a valid dbservername value that  corresponds to an entry in the sqlhosts file     The sqlexecd daemon resides in the  INFORMIXDIR lib directory  The  following diagram illustrates the command syntax for starting the sqlexecd  daemon     dbservername a a a       logfile          Installation and Initial Configuration 1 35    Starting the sqlexecd Daemon    Element    Purpose    dbservername Identifies the database server    name of the database server     Key Considerations    Restrictions  The dbservername argument must  correspond to a dbservername entry in the sqlhosts  file         l logfile    Maintains records on all client  connection activity     date time    Restrictions  When you specify the  1 option  you  must also specify the name of a log file   Additional Information  If no log file exists  SE  creates a log file for you and gives it the name you  specify in the  1 option  If the log file already exists   SE appends the new client connection activity  information to the existing log file  If you are using  an existing log file  make sure it has sufficient space 
107. tions of Node Contents    Description       flag    totln    keyln    dupnm       6 8 _INFORMIX SE Administrator s Guide    Tells you whether the key is a duplicate    0  unique    1  duplicate    2  following key duplicates current key    3  duplicate and the following key duplicates current key     Is the total byte length of the key    keyln   recptr  4 bytes      leadc  1 byte    tailc  1 byte    when duplicate  2 bytes   Is the field length    leadc   tailc   where field length    equals the total length of the columns that make up the  index     Is the duplicate counter  Represents the number of  duplicates that secheck encountered  0 represents the first  occurrence      1 of 2        Node Content    recptr    leadc    tailc    key    Printing a Long List of Index Key Values    Description    Is the rowid of the row in the table when the node is a leaf  node  When the node is a root node or a branch node  the  recptr points to the next index node that contains records  less than or equal to the key value of this entry  When this  is the last entry of the root node or the right most branch  node  the recptr points to the next index node that  contains records greater than the key value of this entry     Is the number of bytes saved due to leading character  compression     Is the number of bytes saved due to trailing character  compression  SE creates indexes with full compression  applied when the total length of the CHAR type key  exceeds seven    Is the actual key va
108. tivity on the specified table  utility  To obtain the correct value for tablename   where tablename represents the invoke DB Access and run the following SQL  name of the table as it appears statement to list the directory paths and the names  in the systables system catalog associated with all the tables in your database     table  SELECT dirpath  tabname  FROM systables       Specifying the User Info Option    The User Info option directs selog to display all activity that is associated  with a specific user      u login name                                         INFORMIX SE Utilities 6 13    Displaying the Contents of a Transaction Log    Element Purpose Key Considerations     u login name Directs selog to display all Restrictions  Must be an existing login name  The  activity that the specified login login name must conform to operating system   name initiates  specific rules for login name     Specifying the Time Period Info Option    The Time Period Info option directs selog to within a certain date range and  time range that you specify        k   begin date fe Wa begin time Fi    end date end time    Element Purpose Key Considerations     d begin date Directs selog to display all Restrictions  When you specify a begin date without  end date activity that occurred within the an end date  an error occurs  Specify dates in  specified date range  mm dd yyyy format  Make sure that you include a  space between the two date values      t begin time Directs selog to display
109. ts file  the name appears in lowercase letters  for example  nw_svr     For an IPX SPX connection  the value in the servicename field can contain an  arbitrary string  but that string must represent a unique name among the  names of services available on the IPX SPX network  In other words  you  cannot use the string as a service name on any other file server on the  network  even if that file server does not use an Informix product  You can  use the dbservername value in the servicename field  as shown in Figure 1 18   providing that the dbservername value exists as a unique service name     Figure 1 18    Using the dbservername Value  in the servicename Field    Affected Field sqlhosts File Entry    servicename valley_se setlispx nw_svr valley_se    Installation and Initial Configuration 1 25    Connecting with Different Versions    Connecting with Different Versions    This section shows how to connect an Informix Version 4 1 or Version 5 x  client application to an Version 7 2 SE database server  You can connect the  client and server components in the following ways     m An Informix Version 4 1 or 5 x client application connects directly to  a local Version 7 2 SE database server     m An Informix Version 4 11 client application connects to an Informix  Version 7 2 database server using Version 4 11 INFORMIX NET  with  INFORMIX SE or the Relay Module component of an Informix  Version 7 2 database server     m An Informix Version 5 x client application connects to an Inf
110. uct  software in the same directory as the data      Placing Active Tables and Files on the Disk    A database server that uses the UNIX file system cannot transfer data directly  from memory to disk  The intermediate transfer to and from the operating   system buffer increases the time for the transfer  Although intermediate  transfer does not always create a performance bottleneck on a database with  moderate activity  your most important design goal must be to minimize the  time required for disk input output  I O      Keep your most active tables on separate disk devices to reduce contention   Using separate disk devices reduces competition for disk access when joins  form among high demand tables     Because transaction logs and audit trails have high rates of activity  you must  give them priority in disk placement  Ideally  designate the fastest devices or  the most central areas of the disk to hold the transaction logs and audit trails     1 4 INFORMIX SE Administrator s Guide       Considering SE Limits    Remember the following points as you plan the layout for your SE data     How you position data on disk devices can minimize head  movement     The innermost disk partitions generally have the fastest access  times   use them for frequently accessed tables or logs     SE tables cannot span partitions  Think carefully about where you  decide to put tables  When a table fills a partition  you must do one  of the following procedures     a Move the table to a larger p
111. usr informix  hilltop SQLEXEC sqlexec  hilltop SQLRMDIR  INFORMIXDIR lib  valley INFORMIXDIR   usr  version7  informix       1 30 INFORMIX SE Administrator s Guide       Connecting with Different Versions    The configurations shown in Figure 1 21 and Figure 1 24 do not use the  INFORMIXSERVER environment variable  Only Informix Version 6 0 and  later products use the INFORMIXSERVER environment variable  Because only  Informix Version 5 x products reside on the client host computer  hilltop    you do not use INFORMIXSERVER     You must set the SQLRM environment variable for the hilltop computer   Figure 1 26 shows the SQLRM environment variable entry for different  network interfaces     Figure 1 26  SQLRM Environment Variable Entries    Network Interface SQLRM Environment Variable Entry  Sockets on TCP IP sqlrmsoctcp    TLI interface on TCP IP    sqlrmtlitcp    The sqlexecd daemon must be running  To start the daemon  log in as root  and enter the following command      usr version 7 informix lib sqlexecd valley_se    For information about the sqlexecd daemon  refer to    Starting the sqlexecd  Daemon    on page 1 35     Setting Up the Communication Files    Each host computer  hilltop and valley  must contain an sqlhosts file that  includes connection information that is associated with the network interface  and network protocol that you are using  Figure 1 27 shows the sqlhosts file  entries for different network interfaces     Installation and Initial Configuration 1 31 
112. y  k_part  kp_start kp_leng kp_type    key k_nparts specifies the number of component parts in the index key  description contained in the log record    key k_flags specifies the key flags associated with the key description    key k_len specifies the length of the log record key description    key k_part describes the following items for each component of the  index key    kp_start starting byte of this part of the key   kp_leng length of this part of the key   kp_type type associated with this part of the key    For details about the parts that are used to make an index key  refer to the  discussion on    Printing a Long List of Index Key Values    on page 6 8     INFORMIX SE Utilities 6 19    Use and Output       Use and Output    This section shows you how to use selog syntax and how to interpret some  examples of selog output  To execute the selog utility  type the selog syntax  at the UNIX command line and then press RETURN     Displaying the Contents of a Transaction Log    The following command displays all records in the allcall log transaction log  using the default format     selog allcall log    Figure 6 7 shows the output generated by the preceding command  Refer to  Figure 6 5 on page 6 16 for definitions of each header field     Figure 6 7  selog Output for Displaying All Records in a Transaction Log    SELOG  Transaction Log File Display C ISAM Version 7 20  Copyright  C  1981 1995 Informix Software  Inc   Software Serial Number INF R000000    User User Name R
113. you have about the manual    m Your name  address  and phone number    We appreciate your feedback     Introduction 19       Installation and Initial  Configuration    Defining a Database Management System            2    a 1 3  Planning for SE       tts nant og te Mae Tey Kant tbls  Oe _ sie  Configuring Hardware Shar i oe Goat Se ate e 1 4  Placing Active Tables and Files on ithe Disk   ae le  eee oe 1 4  Considering SE Limits     2  2  2 2 2  ee en 1 5  InstallingSE e 2  ew ee a a a a g oa D g 1 6  Preparing SE Connections     Poe osda ah ea ei 1 6  Understanding Version 7 2 SE Configurations og Rw ee ee AEF  Setting Environment Variables       cass Ths uusek ue th aa 1 8  Understanding the Communication Files   Ow sues te pea  1 9  Network Communication Files          2          1 10  Network Security Files  2  2  2  2  2  2  2  1 ww  1 10  The sqlhosts File  2  2  2  2 2  2  ee ee a 12  Building the sqlhosts File           2    2 2    112  The dbservername Field         2  2    1  we 118  Thenettype Field    e osos e sos a s s sw e s po 143  The hostname Field        a 2  a aaa 18  The servicename Field            2      1 16  Relationships Among Network  Connection Files for  TCP IP      Po ie wa ee LT  Examples of Client Server Connections ee ae ae ee  e  lg  Local Connections with Pipes     oo te ge ETD  Network Connections with Version 7  2 Products   2  we  1 20  Local Loopback Connections with Version 7 2 Products       1 22  Connecting with Different Versions     
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
INSTRUCTION MANUAL GT-11 Voltage Detector  21985_Bona Flexidrum_Manual  la confiance à chaque étape  SMS Smart Media Solutions PL020052 flat panel wall mount  Attagraph User Manual  Appendix A – VRML source for city.wrl  ATH-CK400iS 取扱説明書  DeLonghi ECAM 23.460.B  User Manual  intext:Installationsanleitung filetype:pdf    Copyright © All rights reserved. 
   Failed to retrieve file