home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 29 Fixes_o / 29-Fixes_o.zip / US87_1.ZIP / README < prev   
Text File  |  1996-02-27  |  86KB  |  2,193 lines

  1. DB2 for OS/2 v2.1 FixPak 8085
  2. =============================
  3.  
  4. NOTE (1): - Select a product and then select UPDATE from the Action pull-down
  5.             menu.  You must install the FixPak for every product listed (it is
  6.             NOT necessary to re-boot after each update even if the completion
  7.             message says so).
  8.  
  9.           - After all the updates have been completed, select INSTALL from the
  10.             Action pull-down menu to install new components shipped with this
  11.             FixPak.
  12.  
  13. NOTE (2): After the installation is complete, you will need to re-bind your
  14.           databases.
  15.  
  16. NOTE (3): This FixPak can be applied to any previous level of any DB2 for OS/2
  17.           v2.1 product (including DDCS for OS/2 v2.3).
  18.  
  19. CID Install Instructions
  20. ========================
  21.  
  22. The FixPak install program (INSTALL.EXE) uses the same syntax and
  23. response file keywords as DB2 for OS/2, DDCS for OS/2, SDK for OS/2, and
  24. CAE for OS/2.  Refer to the installation guides for a description of
  25. these keywords.
  26.  
  27. Note the following:
  28.  
  29.     - You must update each product separately.
  30.     - Every product (DB2 for OS/2, DDCS for OS/2, SDK for OS/2, and
  31.       CAE for OS/2) that is installed on the system must be
  32.       updated with this FixPak at the same time.  You cannot mix
  33.       service levels between the products.
  34.     - A /P:"product name" command line parameter is required.  See
  35.       the following sample command files on the first FixPak diskette
  36.       for the exact product titles:
  37.  
  38.            DB2SVR.CMD      IBM DB2 for OS/2 - Server
  39.            DB2SU.CMD       IBM DB2 for OS/2 - Single-User
  40.            DB2SDK.CMD      IBM DB2 Software Developer's Kit for OS/2
  41.            DB2CAE.CMD      IBM DB2 Client Application Enabler for OS/2
  42.            DDCSMU.CMD      IBM DDCS for OS/2 - Multi-User
  43.            DDCSSU.CMD      IBM DDCS for OS/2 - Single-User
  44.  
  45.     - After each update, an Install must be performed to install the new
  46.       components in version 2.1.1.  To aid in this, there is a tool on the
  47.       second disk of the FixPak called DB2RESP.EXE. This tool generates the
  48.       response files to be used during CID installations.
  49.  
  50. ***********************************************************************
  51. **                                                                   **
  52. **  (c) COPYRIGHT INTERNATIONAL BUSINESS MACHINES CORPORATION 1996.  **
  53. **                    ALL RIGHTS RESERVED.                           **
  54. **                                                                   **
  55. ***********************************************************************
  56.  
  57.                  Welcome to DB2* for OS/2* Version 2.1.1
  58.  
  59.  
  60. +--- NOTE! ----------------------------------------------------------+
  61. |                                                                    |
  62. | Set the font to monospace for better viewing of this README.       |
  63. |                                                                    |
  64. +--------------------------------------------------------------------+
  65.  
  66. This README file contains information for the following products and
  67. components:
  68.  
  69. OS/2-Specific
  70. -------------
  71.  IBM DB2 for OS/2 Server (DB2 for OS/2)
  72.  IBM DB2 for OS/2 Single-User (DB2 for OS/2)
  73.  IBM DB2 Software Developer's Kit for OS/2
  74.  IBM DB2 Client Application Enabler for OS/2
  75.  IBM DB2 Administrator's Toolkit for OS/2
  76.  
  77. DDCS for OS/2
  78. -------------
  79.  IBM Distributed Database Connection Services* Single-User for OS/2
  80.    (DDCS Single-User for OS/2)
  81.  IBM Distributed Database Connection Services Multi-User Gateway for OS/2
  82.    (DDCS Multi-User Gateway for OS/2)
  83.  
  84. For information, see also  ---------------------------------------------------
  85.  
  86.      Part Number   Publication
  87.      -----------   -----------------------------------------------------------
  88.      59H1095       IBM* DATABASE 2* for OS/2 Installation and Operation Guide
  89.      59H1097       IBM DATABASE 2 Installing and Using OS/2 Clients
  90.      20H4787       IBM DATABASE 2 Software Developer's Kit for OS/2
  91.                      Building Your Applications
  92.  
  93.      20H4793       IBM DATABASE 2 IBM Distributed Database Connection Services
  94.                      User's Guide for common servers
  95.      59H1094       IBM DATABASE 2 for OS/2 IBM Distributed Database
  96.                      Connection Services Installation and Configuration Guide
  97.  
  98.   ---------------------------------------------------------------------------
  99.  
  100.  
  101. 1.0  Contents
  102.  
  103. 2.  INSTALLATION NOTES
  104. 2.1  System Requirements
  105. 2.2  TZ Environment Variable
  106. 2.3  LAN Support Program and NetBIOS rc=0x18
  107.  
  108. 3.  MIGRATION CONSIDERATIONS FROM 2.1.0 PRODUCTS OR 2.1.1 BETA
  109.  DRIVERS
  110. 3.1  Coexistance with DB2 V2.1.0 and DDCS V2.3.0 products
  111. 3.2  Migrating from the 2.1.0 GA or from the 2.1.1 Beta
  112.   3.2.1  Database Considerations
  113.   3.2.2  Application Considerations
  114.  
  115. 4.  USAGE NOTES
  116. 4.1  Product Documentation
  117.   4.1.1  Ordering the Cross-Platform Printed Manuals
  118. 4.2  Database Directory Utility
  119.   4.2.1  Linking to Online Books from Database Director Online
  120.    Help
  121. 4.3  Roll Forward and Log File Size
  122. 4.4  DRDA Application Server Support Authentication
  123. 4.5  Replacement for SQLQMF Utility
  124.  
  125. 5.  ENVIRONMENT CONSIDERATIONS
  126. 5.1  TCPBEUI Users
  127. 5.2  HPFS/HPFS386 users
  128. 5.3  Back-Level Support
  129. 5.4  DBA Utilities
  130.   5.4.1  Userid and Password Validation on an AIX/UNIX Server
  131. 5.5  Backup/Restore to User Exit
  132. 5.6  Dealing with Container in Use Error Message -294
  133.  
  134. 6.  PROGRAMMING NOTES
  135. 6.1  Sample Applications
  136. 6.2  Considerations when Using Micro Focus COBOL
  137. 6.3  BINARY/COMP-4 COBOL Data Types in the DB2 Precompiler
  138. 6.4  Using REDEFINES in COBOL Group Data Items
  139. 6.5  VisualAge C Set ++ and DB2 for OS/2
  140. 6.6  Precompiler Customization
  141. 6.7  Considerations When Using REXX Stored Procedures
  142.  
  143. 7.  CHANGES TO DOCUMENTATION
  144. 7.1  For All Refreshed Books - Changes for This Release Section
  145. 7.2  Administration Guide
  146. 7.3  API Reference
  147.   7.3.1  Backup and Restore API's for Vendor Products Appendix
  148.    DB2-INFO
  149.   7.3.2  IMPORT
  150.   7.3.3  QUIESCE TABLESPACES FOR TABLE
  151. 7.4  Command Reference
  152.   7.4.1  FORCE APPLICATION
  153.   7.4.2  ROLLFORWARD DATABASE
  154.   7.4.3  EXPORT
  155.   7.4.4  IMPORT
  156.   7.4.5  QUIESCE TABLESPACES FOR TABLE
  157. 7.5  Call Level Interface Guide and Reference
  158.   7.5.1  SQLColAttributes - Get Column Attributes
  159.   7.5.2  New CLI/ODBC Configuration Keyword
  160. 7.6  Database System Monitor Guide and Reference
  161.   7.6.1  db_conn_time Data Element
  162.   7.6.2  Buffer Pool Data Pages Written to Disk
  163.   7.6.3  DBMON Element Formula
  164.   7.6.4  Buffer Pool Threshold Cleaners Triggered
  165.   7.6.5  Event Start Time
  166.   7.6.6  Package Cache Inserts/Package Cache Lookups
  167.   7.6.7  Status of Database and Status of DB2 Instance
  168. 7.7  Planning Guide
  169.   7.7.1  Segments Versus 4KB Pages
  170.   7.7.2  BUFFPAGE and SORTHEAP
  171. 7.8  Problem Determination Guide
  172.   7.8.1  First Failure Data Capture
  173. 7.9  Configuration Parameters
  174.   7.9.1  DIR_CACHE
  175.   7.9.2  MAXAPPLS
  176.   7.9.3  TP_MON_NAME
  177.   7.9.4  REC_HIS_RETENTN
  178.   7.9.5  Configuration Parameters (YES/NO and ON/OFF Values)
  179. 7.10  Building Your Applications
  180.   7.10.1  Building Your Embedded SQL Applications
  181.   7.10.2  Building FORTRAN Stored Procedures
  182.   7.10.3  C++ Type Decoration Consideration
  183.   7.10.4  Miscellaneous
  184. 7.11  Installing and Using OS/2 Clients
  185.   7.11.1  New CLI/ODBC Configuration Keyword
  186. 7.12  SQL Reference
  187. 7.13  Application Programming Guide
  188. 7.14  References to CompuServe
  189.  
  190. 8.  DDCS-SPECIFIC INFORMATION
  191. 8.1  Documentation Changes
  192.   8.1.1  National Language (Code Page and Conversion) Information
  193.    Changes
  194.   8.1.2  OS/2 and UNIX-Based Databases
  195.   8.1.3  SET CURRENT PACKAGESET Support
  196.   8.1.4  DB2 for OS/400 Column Types and Length
  197.   8.1.5  Binding DDCS Utilities to an OS/400 Database
  198.     8.1.5.1  Possible Solutions
  199.   8.1.6  Binding Utilities for Back-Level Clients
  200. 8.2  Syncpoint Manager (SPM)
  201.   8.2.1  Prerequisite PTFs
  202.   8.2.2  IBM Communications Server for OS/2 Warp Version 4
  203. 8.3  Authentication Default
  204. 8.4  Performance Troubleshooting
  205. 8.5  Connectivity Via DDCS (Thailand Users Only)
  206.  
  207. 9.  COMMUNICATIONS ISSUES
  208. 9.1  TCP/IP
  209.  
  210. 10.  SAMPLE TOOLS AND UTILITIES
  211.  
  212. 11.  LIMITATIONS IN DOCUMENTED FUNCTIONS
  213. 11.1  Transaction Manager Database Considerations
  214. 11.2  Command and API Limitations
  215. 11.3  WCHARTYPE CONVERT Precompile Option Limitation
  216. 11.4  Using DB2 with an XA-Compliant Transaction Manager
  217. 11.5  Database Director Limitations
  218.   11.5.1  Restriction for Visual Explain
  219.     11.5.1.1  Snapshot Monitor
  220.     11.5.1.2  Event Analyzer
  221. 11.6  Online Backup and Load with COPY NO option
  222.  
  223. 12.  USING THE DB2 ODBC DRIVER WITH ODBC APPLICATIONS
  224. 12.1  Common Application Problems and Work Arounds
  225.   12.1.1  Visigenic's ODBC Driver Manager
  226.   12.1.2  Intersolv's ODBC Driver Manager
  227. 12.2  Limitations of CLI/ODBC Administrator and Client Setup GUI
  228.  Tools
  229.  
  230. 13.  MISCELLANEOUS
  231. 13.1  DB2 Family Newsletter
  232.  
  233. =========================================================================
  234. 2.  Installation Notes
  235.  
  236. 2.1  System Requirements
  237.  
  238. The Planning Guide was not updated for this release and so the system
  239. requirements that are documented in the last version are not correct.
  240. The following are the minimum system requirements for DB2 V2.1.1 and
  241. DDCS V2.3.1:
  242.  
  243. o   26 MB to 64 MB hard disk space, depending on options chosen
  244. o   16 MB memory
  245. o   OS/2 V2.11 or later including OS/2 Warp
  246. For Communications, one of the following products for OS/2
  247. o   For APPC: IBM Communications Manager Version 1.1 or later.  The
  248.     Syncpoint Manager function of DDCS Multi-User Gateway V2.3.1
  249.     requires IBM Communication Server Version 4
  250. o   For IPX/SPX: Novell NetWare Requester, Version 2.10
  251. o   For TCP/IP: IBM TCP/IP Version 2.0 or later
  252. o   For NetBIOS: IBM NTS/2 Version 1.0, or IBM Communications Manager
  253.     V1.1, or IBM OS/2 LAN Requester
  254.  
  255.  
  256. 2.2  TZ Environment Variable
  257.  
  258. When connecting a client to the server which runs on an operating
  259. system that supports the concept of local time versus Universal
  260. Coordinated Time (UCT, also known as Greenwich Mean Time or GMT), the
  261. client machine should also set up timezone information that
  262. corresponds to the server machine.  If it is not set, the client may
  263. display certain timestamps (that are returned by the server)
  264. incorrectly (being off by the difference between the UCT and local
  265. time).
  266.  
  267. So for example, if a server is running under Pacific Standard Time
  268. (PST) and a client is running under Eastern Standard Time (EST),
  269. timestamps on the client will show PST unless the TZ variable is set.
  270.  
  271.  
  272. 2.3  LAN Support Program and NetBIOS rc=0x18
  273.  
  274. If you use IBM LAN Support Program to provide NetBIOS communications
  275. protocol support, and you load the LAN Support Program device drivers
  276. in DOS upper / high memory, you may encounter intermittent NetBIOS
  277. communications errors "SQL30081, rc-0x18".  To avoid these
  278. communications errors, load the LSP device drivers in conventional
  279. memory.
  280.  
  281.  
  282. 3.  Migration Considerations from 2.1.0 Products or 2.1.1 Beta Drivers
  283.  
  284. 3.1  Coexistance with DB2 V2.1.0 and DDCS V2.3.0 products
  285.  
  286. All DB2 V2.1.0 and DDCS V2.3.0 products on your workstation must be
  287. updated to V2.1.1 and V2.3.1 respectively to ensure coexistence.
  288.  
  289. The DATABASE 2 for OS/2 CD contains updated versions of all the
  290. products. If you are installing your new product from this CD, you can
  291. also update any other DB2 V2.1.0 or DDCS V2.3.0 products currently
  292. installed.
  293.  
  294. Alternatively, you can contact IBM Service to obtain the DB2 V2.1.1 or
  295. DDCS V2.3.1 service refresh for other products already installed.
  296.  
  297.  
  298. 3.2  Migrating from the 2.1.0 GA or from the 2.1.1 Beta
  299.  
  300.  
  301. 3.2.1  Database Considerations
  302.  
  303. The following points apply to the workstations that have either
  304. installed the 2.1.1 Beta driver or one of the following products:
  305.  
  306. IBM DB2 for OS/2 Server V2.1.0
  307. IBM DB2 for OS/2 Single-User V2.1.0
  308.  
  309. and they have created databases with these code levels.
  310.  
  311. o   It is strongly recommended that you perform an optional migration
  312.     on any of your databases that were created by the V2.1.0 database
  313.     manager, in order to give your applications access to the new
  314.     scalar functions that have been implemented in V2.1.1.
  315. o   DBADM authority is granted implicitly by DB2 when a SYSADM user
  316.     creates a view or package that requires DBADM authority.  However,
  317.     if such a user is later removed from the SYSADM group, their DBADM
  318.     authority will also be removed.  Therefore, any users with DBADM
  319.     authority who do not belong to the SYSADM group must have been
  320.     explicitly granted DBADM access.
  321. o   It is recommended that you use the runstats utility to update your
  322.     tables statistics.
  323.  
  324.  
  325. 3.2.2  Application Considerations
  326.  
  327. The following point applies to systems that have installed the 2.1.1
  328. Beta driver and created applications:
  329.  
  330. o   If you are migrating from the V2.1.1 beta driver, you must rebind
  331.     your applications prior to running them. Use the db2rbind command
  332.     to rebind all packages on your databases.
  333.  
  334.  
  335. 4.  Usage Notes
  336.  
  337. 4.1  Product Documentation
  338.  
  339.  
  340. 4.1.1  Ordering the Cross-Platform Printed Manuals
  341.  
  342. You can order the cross-platform printed manuals.  The part number for
  343. this set of books is 41H2451.  The following books are included:
  344.  
  345.   Form Number   Part Number   Book
  346.   ------------  -----------   ---------------------------------------
  347.   S20H-4580-01  59H1088       Administration Guide
  348.   S20H-4984-01  59H1089       API Reference
  349.   S20H-4643-01  59H1090       Application Programming Guide
  350.   S20H-4644-01  59H1092       Call Level Interface Guide and Reference
  351.   S20H-4645-01  59H1093       Command Reference
  352.   S20H-4795-01  59H1094       DDCS-Install and Configuration-OS/2
  353.   S20H-4785-01  59H1095       Install and Operations-OS/2
  354.   S20H-4782-01  59H1097       Install and Using Clients-OS/2
  355.   S20H-4808-01  59H1100       Messages Reference
  356.   S20H-4665-01  59H1101       SQL Reference
  357.  
  358.  
  359. 4.2  Database Directory Utility
  360.  
  361.  
  362. 4.2.1  Linking to Online Books from Database Director Online Help
  363.  
  364. If you are using Database Director online help, and you try
  365. double-clicking on a hypertext link in order to open an online book
  366. but the book is not displayed (that is, you receive an error message),
  367. it is possible that the online book has not been installed.  You may
  368. need to install the English version of the book if it has not been
  369. translated or the BOOKSHELF environment variable has not been set.
  370.  
  371. If an online book is installed and a hypertext link to it still does
  372. not work, you can open the book by going to the DB2 information folder
  373. and double-clicking on the book title.
  374.  
  375.  
  376. 4.3  Roll Forward and Log File Size
  377.  
  378. If the log file size (LOGFILSIZ) was modified during the course of
  379. normal processing, then database level roll forward through these log
  380. files will behave as follows:
  381.  
  382. On any invocation of roll forward, only log files with the same log
  383. file size will be processed.  When roll forward encounters a log file
  384. of different size (excluding truncated log files), roll forward
  385. processing will stop and return error SQL1042N.  Diagnostic
  386. information will be logged.  You will then be required to re-issue the
  387. roll forward command to continue processing from the next log file.
  388.  
  389.  
  390. 4.4  DRDA Application Server Support Authentication
  391.  
  392. The DRDA AS support in DB2 for OS/2 supports both client and server
  393. authentication.  However, there can be restrictions imposed by the
  394. communications product that you are using along with DB2 for OS2 with
  395. regard to what authentication type you can use.
  396.  
  397. If you are using CM/2 1.11, then you cannot use server authenticaion
  398. because CM/2 does not expose the password to the DRDA AS.  You can
  399. only use client or DCS authentication.  With client authentication,
  400. DB2 for OS/2 will not authenticate the user for any incoming
  401. connection, whether or not it is via DRDA.  With DCS authentication,
  402. DB2 for OS/2 will not authenticate the user if the connection is via
  403. DRDA, but will authenticate the user the same way as with server
  404. authentication if the connection is non-DRDA.  Because of this
  405. limitation, the use of CM/2 1.11, along with the the DRDA AS is not
  406. recommended.
  407.  
  408. The recommended approach is to use IBM Communications Server for OS/2
  409. Warp V4 (CS/2) instead of CM/2 1.11.  With CS/2, you can use both
  410. client and server authentication.  In order to use server
  411. authentication, you will need to do the following before issuing
  412. db2start:
  413.  
  414. 1.  Update the database manager configuration SPM_NAME value with the
  415.     local LU for the DRDA AS.
  416.  
  417. 2.  Modify the definition of the local LU which corresponds to the
  418.     database manager configuration SPM_NAME value by editing the CS/2
  419.     NDF file in the \CMLIB directory by adding the line
  420.  
  421.            EXTERNAL_SUPPORT(SYNCPT_PROVIDER,REMOTE_TP_PROVIDER)
  422.  
  423.     before the line
  424.  
  425.            NAU_ADDRESS(INDEPENDENT_LU);
  426.  
  427. The steps above are in addition to the regular setup required for the
  428. DRDA AS as documented in the DB2 for OS/2 Installation and Operation
  429. Guide.
  430.  
  431. NOTE:  Special Considerations for Using Client Authentication:
  432.  
  433. If the DRDA AR clients are coming from a secure system and you do not
  434. want to send the password to the DRDA AS to have it authenticated
  435. there, you could set up the DRDA AR and AS to use APPC Security=SAME
  436. connections using client authentication.  If you do this you should
  437. also enforce the use of APPC LU_LU Verification between the LU at the
  438. AR and the LU at the AS to ensure the AR is coming from where it
  439. claims it is from.  If Hopping is to be used from the DRDA AS system
  440. to another remote DB2 database, then the second system must be set up
  441. with client authentication also because no password will be available.
  442.  
  443.  
  444. 4.5  Replacement for SQLQMF Utility
  445.  
  446. The function of the SQLQMF utility has been replaced by the DDCS
  447. Import/Export functions.  The advantages are:
  448.  
  449. o   no need for QMF on the host
  450. o   no need to logon to the host (no TSO id required)
  451. o   supports AS/400 as well as SQL/DS and DB2/MVS
  452. o   good performance achieved by using compound SQL
  453. o   supports several file formats, in addition to ASCII
  454. o   can be run from a client machine with no SNA connectivity
  455.  
  456. See the DDCS User's Guide and the DB2 Command Reference for more
  457. information on using these commands.
  458.  
  459.  
  460. 5.  Environment Considerations
  461.  
  462. 5.1  TCPBEUI Users
  463.  
  464. For multiple clients running TCPBEUI, where NETBIOS runs over TCP/IP,
  465. APAR IC10549 fix is required for LAN Transport.
  466.  
  467.  
  468. 5.2  HPFS/HPFS386 users
  469.  
  470. If you are storing database files on HPFS/HPFS386 drives, the
  471. following fix packs are required:
  472.  
  473. HPFS - Fix Pack 12 (or later) for OS/2 Warp
  474.      - Fix Pack 103 (or later) for OS/2 2.11
  475.  
  476. HPFS386 - CSD IP08178 (or later) for LAN Server 4.0
  477.           CSD IP07088 (or later) for LAN Server 3.0
  478.  
  479.  
  480. 5.3  Back-Level Support
  481.  
  482. 1.  SQLBIND.EXE and SQLPREP.EXE are provided to bind and precompile
  483.     Version 1 programs only.  New PREP and BIND options introduced in
  484.     Version 2 are not supported.
  485.  
  486. 2.  DB2 for OS/2 provides full binary compatibility for existing
  487.     applications written for previous versions of DB2 Common Server
  488.     programming interfaces.  This means that you can upgrade your
  489.     database server software to Version 2.1.1 and existing
  490.     applications will continue to function.
  491.  
  492. 3.  You can also continue to maintain source code for existing
  493.     applications without rewriting them to use newer APIs right away.
  494.     \sqllib\include subdirectory contains header and library files
  495.     (db2api.lib and sql_dyn.lib) that should be used to maintain
  496.     applications that use back-level APIs.
  497.  
  498.     NOTE:  You will need to use previous versions of DB2 programming
  499.     documentation as these older APIs are not described in the V2.1.1
  500.     programming documentation.
  501.  
  502.     It is highly recommended that applications be converted to use new
  503.     APIs when possible as these older APIs will not be supported in
  504.     future releases.
  505.  
  506. 4.  If you have applications that use Operational Status APIs such as
  507.     sqlestat, sqlefree, sqlenext, and sqleuser, modify them to use the
  508.     corresponding new Database Monitor APIs.
  509.  
  510. 5.  The Client Setup utility displays the Version 1 APPC/APPN node
  511.     directories with two asterisks around the protocol name (*APPC* OR
  512.     *APPN*). This is to indicate that the setting for that particular
  513.     node cannot be changed by the user. You need to uncatalog the
  514.     directory and re-catalog it again.
  515.  
  516.  
  517. 5.4  DBA Utilities
  518.  
  519.  
  520. 5.4.1  Userid and Password Validation on an AIX/UNIX Server
  521.  
  522. When an OS/2 client communicating with an AIX server, a User Profile
  523. Management (UPM) node logon window may be displayed to provide a
  524. userid and password.  This password is folded to uppercase by UPM when
  525. it is sent to the server to be validated.  Therefore the password on
  526. AIX must be defined in uppercase for the validation to take place,
  527. otherwise the logon will fail.
  528.  
  529. LAN Server (UPM) APAR IC11643 fix is required to support mixed cases
  530. in UPM.
  531.  
  532.  
  533. 5.5  Backup/Restore to User Exit
  534.  
  535. Under certain conditions, Restore can be much slower than expected.
  536. The conditions are:
  537.  
  538. o   The Restore is using an 8mm tape drive for input.
  539. o   The database being restored contains multiple containers.
  540.  
  541. The first phase of Restore processing is to find the header file for
  542. each container.  Due to limitations in the Sytos device driver for 8mm
  543. tape, a scan of the entire set of input tapes is conducted for each
  544. container.  After these slow scans are complete, the actual restore of
  545. data is started.
  546.  
  547. For performance reasons the OS/2 userexit interface has been changed
  548. for the task of restoring a database. Beginning with V2.11, the
  549. database manager will directly call routines found in DB2USRXT rather
  550. than DB2UEXIT.  To maintain compatibility with userexits written to
  551. the original "DB2UEXIT" interface a REXX script "DB2USRXT.CMD" is
  552. provided in the \SQLLIB\BIN directory to map the new interface back to
  553. the original.
  554.  
  555. The original interface was designed to only restore one container at a
  556. time.  This proved to be inefficient and for some tape devices
  557. required that many passes be made on the tape. With V2.11, the restore
  558. portion of the userexit will be called twice. The userexit will be
  559. called once with Mode set to 1 to retrieve the "Media Headers" which
  560. describe the layout of the database to be restored. With this
  561. information the userexit will be called with Mode set to 2, and
  562. provided a list of all files to be restored. By providing all files to
  563. be restored in one call, devices can more efficiently retrieve the
  564. files.
  565.  
  566. Application writers familiar with the original "DB2UEXIT" interface
  567. will find the new interface very similar. The change is to parameter 4
  568. passed to RESTORE routine. Previously parameter 4 was a subdirectory
  569. which when combined with the drive supplied with parameter 1 specified
  570. where the retrieve files were to be placed. Now parameter 4 represents
  571. a file provided by the database manager at restore time, which user
  572. written applications use to determine where files should be restored
  573. to.
  574.  
  575. As an example:
  576.  
  577.   /*  DB2USRXT RESTORE C: BRNSDDB1 C:\SQLDBDIR\BRNSDDB1.RST C:\SQLDBDIR\BRNSDDB1.NEW 1 */
  578.     DB_DRIVE      = strip(PARM1)             /* ex.  C:                       */
  579.     DB_NAME       = strip(PARM2)             /* ex.  BRNSDDB1                 */
  580.     RESP_FILE     = strip(PARM3)             /* ex.  C:\SQLDBDIR\BRNSDDB1.RST */
  581.     REDIRECT_FILE = strip(PARM4)             /* ex.  C:\SQLDBDIR\BRNSDDB1.NEW */
  582.     MODE          = strip(PARM5)             /* ex.  1                        */
  583.  
  584.   C:\SQLDBDIR\BRNSDDB1.RST
  585.     Is a list of files to be restored (can include wildcards).
  586.      ex.
  587.        D:\SQL00001\*.*
  588.        D:\SQL00001\SQLT0000.0\*.*
  589.        D:\SQL00001\SQLT0001.0\*.*
  590.        D:\SQL00001\SQLT0002.0\*.*
  591.  
  592.   C:\SQLDBDIR\BRNSDDB1.NEW
  593.     Is a list of path pairs, with the first path denoting where the original files were
  594.   backed up from, second path were the files need to be restored to.
  595.      ex.
  596.        D:\SQL00001\*.*
  597.        F:\SQL00003\*.*
  598.        D:\SQL00001\SQLT0000.0\*.*
  599.        F:\SQL00003\SQLT0000.0\*.*
  600.        D:\SQL00001\SQLT0001.0\*.*
  601.        F:\SQL00003\SQLT0001.0\*.*
  602.        D:\SQL00001\SQLT0002.0\*.*
  603.        F:\SQL00003\SQLT0002.0\*.*
  604.  
  605. Performance example:
  606.  
  607. The default database contains 3 tablespaces (SYSCATSPACE, TEMPSPACE1
  608. and USERSPACE1). If the database was 4 Gigabytes in size, spanned 2
  609. tapes, the tape device retrieve data at approximately 1 Gig./hour, and
  610. the software running the tape device required the user to scan all the
  611. files transferring those the user wanted. Version 2.10 would make 4
  612. calls to the userexit, (one for the "Media header", and then three
  613. separate calls to retrieve each tablespace). Total time would be 16
  614. hours (4 * 4 hours), and require 7 tape changes.
  615.  
  616. Batching the three separate calls into one saves 8 hours of tape
  617. reading and 4 tape changes.  Time saved increases as the number of
  618. containers increase.
  619.  
  620. NOTE:  If your database backup image spans across multiple tapes,
  621. Sytos Premium V2.1 is required if you use Sytos tape device.
  622.  
  623.  
  624. 5.6  Dealing with Container in Use Error Message -294
  625.  
  626. -294 sqlcodes can be returned from create database or create/alter
  627. tablespace operations.  Normally, this situation indicates a
  628. specification error on the OS resource name, since apparently the
  629. container is already in use by another tablespace.  Note that the text
  630. of the error message explanation indicates that SMS containers can be
  631. shared.  This is no longer true.  A container can be in use by only
  632. one tablespace at any time.
  633.  
  634. A system administrator or database administrator who finds that the
  635. database which had last used the container has been deleted, yet
  636. somehow the container's tag was not removed, can use the db2untag
  637. tool.  This tool will display a container tag's information so that
  638. the sysadm can check the "owning" database.  If the sysadm decides to
  639. release the container, the following steps should also be taken:
  640.  
  641. o   For SMS containers: Remove the directory and contents using the
  642.     usual OS file delete command.
  643.  
  644. o   For DMS containers: Either delete the file/device or let db2untag
  645.     remove the container tag.  db2untag will leave such a DMS
  646.     container otherwise unmodified.
  647.  
  648.  
  649. 6.  Programming Notes
  650.  
  651. 6.1  Sample Applications
  652.  
  653. The following files contain information about the sample applications
  654. which are used in the DB2 publications.  The sample applications will
  655. only be useful to you if you have the DB2 Software Developer's Kit or
  656. DB2 Single-User package for your platform installed.
  657.  
  658.     samples\c\README
  659.  
  660.         README file for the c sample applications.
  661.  
  662.     samples\cobol\README
  663.  
  664.         README file for the COBOL sample applications.
  665.  
  666.     samples\fortran\README
  667.  
  668.         README file for the FORTRAN sample applications.
  669.  
  670.     samples\rexx\README
  671.  
  672.         README file for the REXX sample applications.
  673.  
  674.     samples\cli\README
  675.  
  676.         README file for the Call Level Interface sample applications.
  677.  
  678.     samples\cli\INTCLI.DOC
  679.  
  680.         Documentation for the Interactive Call Level Interface applet.
  681.  
  682.     samples\clp\README
  683.  
  684.         README file for the Command Line Processor examples.
  685.  
  686.  
  687. 6.2  Considerations when Using Micro Focus COBOL
  688.  
  689. DB2 V2.1.1 has been modified to correctly handle abnormal termination
  690. of Micro Focus COBOL applications compiled with the DB2 PREP command.
  691. This ensures that partial transactions are rolled back in the event of
  692. an error.
  693.  
  694. It is recommended that any existing DB2 applications precompiled with
  695. DB2 PREP and compiled with Micro Focus COBOL be re-precompiled with
  696. the updated DB2 V2.1.1 precompiler, and then recompiled with Micro
  697. Focus COBOL.  If applications built with Micro Focus COBOL and the IBM
  698. precompiler from previous releases or versions are not rebuilt, there
  699. is a danger of database corruption if abnormal termination occurs.
  700.  
  701. This support requires Micro Focus COBOL V3.2.46 plus the following
  702. patch, available on CompuServe:
  703.  
  704. Forum:  MICROFOCUS
  705. Library: ICD Product Updates (Library 4)
  706. Filename:  DB2211UP.ZIP
  707.  
  708. This patch may also be available directly from Micro Focus.  Obtain
  709. the patch and apply it to your 3.2.46 compiler.
  710.  
  711. This patch will be integrated with the Micro Focus 16-bit COBOL
  712. product following V3.2.46, so it will not be required once subsequent
  713. versions of the compiler are available.
  714.  
  715. Once the necessary version of the Micro Focus compiler is available,
  716. use commands like the following to build your applications:
  717.  
  718. cobol app.cbl /notrunc;
  719. link /st:32000 /pm:vio /noi
  720. app.obj,,,coblib+os2286+sqldyn16+db2gmf16;
  721.  
  722. and for stored procedures, the link command should be like the
  723. following:
  724.  
  725. link /st:32000 /pm:vio /noi /nod app.obj,app.dll,,
  726.    1cobol+os2286+sqldyn16+db2gmf16,app.def;
  727.  
  728.  
  729. 6.3  BINARY/COMP-4 COBOL Data Types in the DB2 Precompiler
  730.  
  731. The DB2 Precompiler supports use of BINARY, COMP-4 and COMP COBOL data
  732. types wherever integer host variables and indicators are permitted, as
  733. long as the target COBOL compiler views (or can be made to view)
  734. BINARY/COMP-4/COMP as equivalent to COMP-5.  In the DB2 Application
  735. Programming Guide, such host variables and indicators are shown with
  736. type COMP-5.  Target compilers supported by DB2 which treat
  737. BINARY/COMP-4/COMP and COMP-5 as equivalent are:
  738.  
  739.   IBM COBOL Set for AIX
  740.   Micro Focus COBOL for AIX
  741.   IBM COBOL Visual Set for OS/2 (with the -qbinary(native)
  742.     option set)
  743.  
  744.  
  745. 6.4  Using REDEFINES in COBOL Group Data Items
  746.  
  747. The REDEFINES clause may be used when declaring host variables with
  748. the DB2 COBOL precompiler.  If a member of a group data item is
  749. declared with the REDEFINES clause, and that group data item is
  750. referred to as a whole in an SQL statement, any subordinate items
  751. containing the REDEFINES clause will not be expanded.  For example:
  752.  
  753.   01 foo.
  754.       10 a pic s9(4) comp-5.
  755.       10 a1 redefines a pic x(2).
  756.       10 b pic x(10).
  757.  
  758. Refering to foo in an SQL statement like so:
  759.  
  760.       ... INTO :foo ...
  761.  
  762. is equivalent to
  763.  
  764.       ... INTO :foo.a, :foo.b ...
  765.  
  766. That is, the subordinate item a1 with the REDEFINES is not
  767. automatically expanded out in such situations.  A subordinate with a
  768. REDEFINES may be referred to in an SQL statement explicitly, as in
  769.  
  770.       ... INTO :foo.a1 ...
  771. or
  772.       ... INTO :a1 ...
  773.  
  774. if a1 is unambiguous.
  775.  
  776.  
  777. 6.5  VisualAge C Set ++ and DB2 for OS/2
  778.  
  779. VisualAge* C Set ++* Version 3 provides a database application
  780. development assist tool called the Data Access Builder.
  781.  
  782. VisualAge C ++ Version 3 corrective service (CSD) contains Data Access
  783. Builder enhancements to access DB2 for OS/2 Version 2.1 databases.
  784. This service is included in a CTV30x.ZIP file (where x is a numeric
  785. identifier of the particular CSD).  To find out if the enhancement is
  786. in a particular CTV30x.ZIP file, look in the CTV30x.LST file that can
  787. be found in the same place as the CTV30x.ZIP file.
  788.  
  789. These files will be available in the following places:
  790.  
  791. COMPUSERVE**
  792.  
  793. o   GO OS2DF1
  794. o   Look in library 4
  795.  
  796. INTERNET
  797.  
  798. o   Use anonymous ftp to get to the software.watson.ibm.com site.
  799. o   The files will be in the pub/os2/cset++ directory.
  800.  
  801. THE DEVELOPER'S CONNECTION FOR OS/2 CD-ROM (DEVCON)
  802.  
  803. The latest fixes for VisualAge C++ Version 3 will also be put on
  804. DEVCONs that ship after the CSDs are available.  The actual volume
  805. these fixes will be on has not been determined at this time.
  806.  
  807. For building your applications with the VisualAge C++ linker, use the
  808. following command in place of the link386 command as documented for
  809. the bldcspp2 command file on page 32 of the DB2 for OS/2 "Building
  810. Your Applications" book (Part #20H4787):
  811.  
  812.   link /NOFREE /NOI /DEBUG /ST:32000 %1.obj,%1.dll,,db2api,%1.def;
  813.  
  814. The sample command files for building your applications provided in
  815. the ".../sqllib/samples/c/..." directory contain this command, but it
  816. is commented out.  Replace the link386 command with this link command
  817. to use the VisualAge C++ linker instead of the OS/2 Linear Executable
  818. Linker.
  819.  
  820.  
  821. 6.6  Precompiler Customization
  822.  
  823. If you are writing your own precompiler interface to DB2 Precompiler
  824. Services, you should be aware that the program_id parameter to
  825. sqlainit() must indicate static storage.  This storage is referred to
  826. by the Precompiler Services functions sqlaalhv() and sqlacmpl() during
  827. precompilation.  The program_id storage must remain accessible and
  828. undisturbed until Precompiler Services has been terminated with a call
  829. to sqlafini().
  830.  
  831.  
  832. 6.7  Considerations When Using REXX Stored Procedures
  833.  
  834. ON THE CLIENT SIDE (WHEN CLIENT IS WRITTEN IN REXX):When using host
  835. variables in the CALL statement, each host variable must be
  836. initialized to a value compatible in type with the data that is
  837. returned into it from the server procedure (if any). It should be done
  838. even if the corresponding indicator is negative.  When using
  839. descriptors, SQLDATA must be initialized and contain data compatible
  840. in type with the data that is returned from the server procedure (if
  841. any). It should be done even if the SQLIND field contains a negative
  842. value.  (See also OUTCLI.CMD example in the Application Programming
  843. Guide for common servers).
  844.  
  845. ON THE SERVER SIDE:
  846.  
  847. Make sure that all the SQLDATA (and if it is a nullable type, SQLIND)
  848. fields of the predefined output sqlda SQLRODA are initialized.  For
  849. example, if SQLRODA.SQLD is 2, the following fields must contain some
  850. data (even if the corresponding indicators are negative and the data
  851. is not being passed back to the client):
  852.  
  853. SQLRODA.1.SQLDATA
  854. SQLRODA.2.SQLDATA
  855.  
  856.  
  857. 7.  Changes to Documentation
  858.  
  859. 7.1  For All Refreshed Books - Changes for This Release Section
  860.  
  861. The following changes apply to the "Changes for This Release" sections
  862. of the refreshed books.
  863.  
  864. o   In the DB2 CLI and ODBC Enhancements section, under 'New ODBC
  865.     Scalar Functions', the new function which calculates the number of
  866.     seconds since midnight is incorrectly named as MIDNIGHT_SECONDS.
  867.     This is the correct name for the SYSFUN function, but in ODBC this
  868.     name is mapped to SECONDS_SINCE_MIDNIGHT instead.
  869. o   In the section entitled "DB2 CLI and ODBC Enhancements", under
  870.     "New ODBC Scalar Functions", JULIAN_DAY(day_expr) should be
  871.     JULIAN_DAY(date_expr).
  872. o   In the section entitled "DRDA Two-Phase Commit", the following
  873.     sentence should be clarified as follows, "See the DDCS
  874.     Installation and Configuration Guide for your platform for
  875.     instructions on how to install the SPM component and
  876.     considerations for migrating from Encina Monitor PPC gateway."
  877. o   In the section entitled "Graphical Tools", the last sentence in
  878.     the section is augmented to read,
  879.  
  880.     For more information on the keywords for the DB2 CLI
  881.     initialization file (db2cli.ini), see the "Call Level Interface
  882.     Guide and Reference" or the appendix on "Configuring the Client
  883.     Workstation" in the "Installing and Configuring DB2 Clients for
  884.     Windows" manual.
  885.  
  886.     Also, the DB2 Performance Monitor is not available from a Windows
  887.     client.
  888.  
  889.  
  890. 7.2  Administration Guide
  891.  
  892. In chapter 5, "Utilities for Moving Data", there is a section "Using
  893. the EXPORT Utility" which requires a change to the first note.  In the
  894. note, the extensions are listed as being from 000 to 999.  This is not
  895. correct:  the first file extension begins with 001.
  896.  
  897. In chapter 5, Recovering a Database, there is a section
  898. "Considerations for Managing Log Files" which requires two changes:
  899.  
  900. o   The second bullet should have the following change made: The
  901.     sentence in the middle of the bullet beginning "At this time..."
  902.     should now read "At this time, if there are no more logs available
  903.     and you are rolling forward the entire database, you can use the
  904.     ROLLFORWARD command to stop processing."
  905. o   The sixth bullet should have the following changes made: The
  906.     sentence at the beginning of the third paragraph beginning "If you
  907.     terminate..." should now read "If you are rolling forward the
  908.     entire database and you terminate the roll-forward recovery (by
  909.     specifying the STOP option on the ROLLFORWARD command) and the log
  910.     containing the completion of a transaction has not been applied to
  911.     the database, then the incomplete transaction will be rolled back
  912.     to ensure that the database is left in a consistent state."
  913.  
  914.  
  915. 7.3  API Reference
  916.  
  917.  
  918. 7.3.1  Backup and Restore API's for Vendor Products Appendix DB2-INFO
  919.  
  920. Data Structure
  921.  
  922. The following ADSM information has been added to the DB2-INFO data
  923. structure.
  924.  
  925.   Field Name    Data Type    Description
  926.  
  927.   nodename      char         The current value of ADSM_NODENAME from
  928.                              the database manager configuration
  929.                              parameters.
  930.   password      char         The current value of ADSM_PASSWORD from
  931.                              the database manager configuration
  932.                              parameters.
  933.   owner         char         The current value of ADSM_OWNER from
  934.                              the database manager configuration
  935.                              parameters.
  936.  
  937. Nodename, password, and owner can be utilized to enable the restore of
  938. a backup taken on one node, to a different node (for example, during
  939. disaster recovery).  By setting these values in the database manager
  940. configuration, they will be passed to the vendor device support
  941. routines on the sqluvint call. Then they can be used in the retrieval
  942. of the correct backup.  Owner can be used to specify the name (id) of
  943. the individual who performed the backup.
  944.  
  945. These values will only be passed in the DB2_INFO structure on a
  946. sqluvint call for a restore.  They will be set to null on a backup.
  947.  
  948. Added to C structure
  949.  
  950.      char     *nodename    /* name of node at which the backup          */
  951.                            /* was generated                             */
  952.      char     *password    /* password for the node at which the backup */
  953.                            /* was generated                             */
  954.      char     *owner       /* backup originator id                      */
  955.  
  956.  
  957. 7.3.2  IMPORT
  958.  
  959. There is a change to the behavior of defaultable columns with import.
  960. If you do not specify enough data columns for the table columns being
  961. importing into, then the default values will be put into those
  962. columns.  Previously, NULLs would have been placed in the column if it
  963. was nullable, or the import would fail if the column was not nullable.
  964. If the old behavior is desired, you can specify NODEFAULTS in the
  965. filetype-modifier (MODIFIED BY phrase in the IMPORT command).
  966.  
  967.  
  968. 7.3.3  QUIESCE TABLESPACES FOR TABLE
  969.  
  970. The following is a correction to the Usage notes:
  971.  
  972. When a quiesce request is received, the transaction requests a quiesce
  973. mode of SHARE, UPDATE, or EXCLUSIVE for the tablespaces of the table.
  974. The quiesce mode is granted only if there are no conflicting quiesce
  975. modes held by other applications.
  976.  
  977. A quiescer can upgrade their quiesce mode of a tablespace from a less
  978. restrictive mode to a more restrictive one (for example, from S to U
  979. or X, or U to X).  Quiesce modes can not be downgraded.  If a quiescer
  980. requests a mode lower than one that is already held, the original
  981. quiesce mode is maintained.
  982.  
  983. The quiesce mode, authorization ID, and the database agent ID of the
  984. quiescer is recorded in the tablespace table so that the quiesce is
  985. persistent.  When the transaction commits or rolls back, the
  986. tablespaces for the table remain quiesced until the quiesce is
  987. explicitly reset.
  988.  
  989. No tables can be changed while any tablespace for the table is
  990. quiesced in SHARE or UPDATE mode.  An application that has the
  991. tablespaces for a table quiesced in EXCLUSIVE mode has full
  992. (exclusive) access to the table and the tablespaces.
  993.  
  994. There is a limit of five quiescers on a tablespace at any given time.
  995. Since EXCLUSIVE is incompatible with any other mode, and UPDATE is
  996. incompatible with another UPDATE, the five quiescer limit, if reached,
  997. would consist of at least four SHARE modes and a maximum of one UPDATE
  998. mode.
  999.  
  1000. The tablename parameter in the QUIESCE TABLESPACES FOR TABLE command
  1001. should be described as follows:
  1002.  
  1003.     Specifies the unqualified table name.  The table cannot be a
  1004.     system catalog table.
  1005.  
  1006.     schema.tablename - Specifies the qualified table name.  If schema
  1007.     is not provided, the authorization ID used for the database
  1008.     connection will be used as the schema.  The table cannot be a
  1009.     system catalog table.
  1010.  
  1011.  
  1012. 7.4  Command Reference
  1013.  
  1014.  
  1015. 7.4.1  FORCE APPLICATION
  1016.  
  1017. The following corrects the parameter description for the FORCE
  1018. APPLICATION command:
  1019.  
  1020. The ALL parameter disconnects all users connected to any database
  1021. defined in the instance.
  1022.  
  1023.  
  1024. 7.4.2  ROLLFORWARD DATABASE
  1025.  
  1026. The ROLLFORWARD DATABASE command AND STOP, and the STOP parameters are
  1027. not required for table space roll-forward.
  1028.  
  1029.  
  1030. 7.4.3  EXPORT
  1031.  
  1032. The following corrects the parameter description for the EXPORT
  1033. command:
  1034.  
  1035. The MODIFIED BY parameter accepts LOBSINFILE for IXF filetypes.
  1036.  
  1037.  
  1038. 7.4.4  IMPORT
  1039.  
  1040. There is a change to the behavior of defaultable columns with import.
  1041. If you do not specify enough data columns for the table columns being
  1042. imported into, then the default values will be put into those columns.
  1043. Previously, NULLs would have been placed in the column if it was
  1044. nullable, or the import would fail if the column was not nullable.  If
  1045. the old behavior is desired, you can specify NODEFAULTS in the
  1046. filetype-modifier (MODIFIED BY phrase in the IMPORT command).
  1047.  
  1048.  
  1049. 7.4.5  QUIESCE TABLESPACES FOR TABLE
  1050.  
  1051. The following is a correction to the Usage notes:
  1052.  
  1053. When a quiesce request is received, the transaction requests a quiesce
  1054. mode of SHARE, UPDATE, or EXCLUSIVE for the tablespaces of the table.
  1055. The quiesce mode is granted only if there are no conflicting quiesce
  1056. modes held by other applications.
  1057.  
  1058. A quiescer can upgrade their quiesce mode of a tablespace from a less
  1059. restrictive mode to a more restrictive one (for example, from S to U
  1060. or X, or U to X).  Quiesce modes can not be downgraded.  If a quiescer
  1061. requests a mode lower than one that is already held, the original
  1062. quiesce mode is maintained.
  1063.  
  1064. The quiesce mode, authorization ID, and the database agent ID of the
  1065. quiescer is recorded in the tablespace table so that the quiesce is
  1066. persistent.  When the transaction commits or rolls back, the
  1067. tablespaces for the table remain quiesced until the quiesce is
  1068. explicitly reset.
  1069.  
  1070. No tables can be changed while any tablespace for the table is
  1071. quiesced in SHARE or UPDATE mode.  An application that has the
  1072. tablespaces for a table quiesced in EXCLUSIVE mode has full
  1073. (exclusive) access to the table and the tablespaces.
  1074.  
  1075. There is a limit of five quiescers on a tablespace at any given time.
  1076. Since EXCLUSIVE is incompatible with any other mode, and UPDATE is
  1077. incompatible with another UPDATE, the five quiescer limit, if reached,
  1078. would consist of at least four SHARE modes and a maximum of one UPDATE
  1079. mode.
  1080.  
  1081. The tablename parameter in the QUIESCE TABLESPACES FOR TABLE command
  1082. should be described as follows:
  1083.  
  1084.     Specifies the unqualified table name.  The table cannot be a
  1085.     system catalog table.
  1086.  
  1087.     schema.tablename - Specifies the qualified table name.  If schema
  1088.     is not provided, the authorization ID used for the database
  1089.     connection will be used as the schema.  The table cannot be a
  1090.     system catalog table.
  1091.  
  1092.  
  1093. 7.5  Call Level Interface Guide and Reference
  1094.  
  1095.  
  1096. 7.5.1  SQLColAttributes - Get Column Attributes
  1097.  
  1098. In the "Function Arguments" section, the Data Type for the rgbDesc
  1099. argument is listed as 'SQLCHAR *'.  This is incorrect; the correct
  1100. type for the argument rgbDesc is 'SQLPOINTER'.
  1101.  
  1102.  
  1103. 7.5.2  New CLI/ODBC Configuration Keyword
  1104.  
  1105. IGNOREWARNINGS = 0 | 1
  1106.                  _
  1107.  
  1108.         0 = Warnings reported as usual (default).
  1109.  
  1110.         1 = All warnings are ignored, SQL_SUCCESS is returned.
  1111.  
  1112.     Use this keyword if an application does not handle warnings
  1113.     properly.
  1114.  
  1115.  
  1116. 7.6  Database System Monitor Guide and Reference
  1117.  
  1118.  
  1119. 7.6.1  db_conn_time Data Element
  1120.  
  1121. The "first database connect timestamp" (db_conn_time) element is
  1122. incorrectly described as being part of the Buffer Pool monitor group.
  1123. This element is only part of the Buffer Pool monitor group for table
  1124. space snapshots.  For Database and Table snapshots, this data element
  1125. is part of the Basic monitor group.
  1126.  
  1127.  
  1128. 7.6.2  Buffer Pool Data Pages Written to Disk
  1129.  
  1130. In Chapter 5, "Database System Monitor Data Elements", in the sections
  1131. entitled "Buffer Pool Asynchronous Data Writes" and "Buffer Pool
  1132. Asynchronous Index Writes" which describe 'pool_async_data_writes' and
  1133. 'pool_async_index_writes', the following phrase:
  1134.  
  1135.     The number of times a buffer pool data page was physically written
  1136.     to disk, by an asynchronous page cleaner
  1137.  
  1138. should read as follows in order to indicate that the write could also
  1139. have been performed by a prefetcher:
  1140.  
  1141.     The number of times a buffer pool data page was physically written
  1142.     to disk, either by an asynchronous page cleaner or by a
  1143.     prefetcher, which may have had to write dirty pages to disk in
  1144.     order to make space for the pages to prefetch
  1145.  
  1146.  
  1147. 7.6.3  DBMON Element Formula
  1148.  
  1149. The formula associated with the Buffer Pool Victim Page Cleaners
  1150. Triggered (pool_drty_pg_steal_clns) data element is incorrect.  The
  1151. formula should be:
  1152.  
  1153.         buffer pool victim page cleaners triggered
  1154.       / ( buffer pool victim page cleaners triggered
  1155.         + buffer pool threshold cleaners triggered
  1156.         + buffer pool log space cleaners triggered)
  1157.  
  1158.  
  1159. 7.6.4  Buffer Pool Threshold Cleaners Triggered
  1160.  
  1161. If this value is set too low, pages might be written out too early,
  1162. requiring them to be read back in.  If set too high, then too many
  1163. pages may accumulate, requiring users to write out pages
  1164. synchronously.
  1165.  
  1166.  
  1167. 7.6.5  Event Start Time
  1168.  
  1169. The following sentence has been added to the description for the Event
  1170. Start Time:
  1171.  
  1172. This element, in the sqlm_evmon_start_event API structure indicates
  1173. the start of the event monitor.
  1174.  
  1175.  
  1176. 7.6.6  Package Cache Inserts/Package Cache Lookups
  1177.  
  1178. The formula in the Usage sections for calculating the package cache
  1179. hit ratio must be updated as follows:
  1180.  
  1181.      1 - ( Package Cache Inserts / Package Cache Lookups )
  1182.  
  1183. If the hit ratio is high (more than 0.8), the cache is performing
  1184. well.  A smaller ratio may indicate that the package cache should be
  1185. increased.
  1186.  
  1187.  
  1188. 7.6.7  Status of Database and Status of DB2 Instance
  1189.  
  1190. In the Usage section for Status of Database Instance, the following is
  1191. a correction:  "SQLM_DB2_ACTIVE is the only valid value for this
  1192. field."
  1193.  
  1194. In the Usage section for Status of Database, the following is a
  1195. correction:  "SQLM_DB_ACTIVE is the only valid value for this field."
  1196.  
  1197.  
  1198. 7.7  Planning Guide
  1199.  
  1200.  
  1201. 7.7.1  Segments Versus 4KB Pages
  1202.  
  1203. This section applies to the SQL Reference manual as well.
  1204.  
  1205. In the chapter entitled "Incompatibilities Between Releases", in the
  1206. "Configuration Parameters" section, under the heading "Segments Versus
  1207. 4KB Pages", the following statement exists:
  1208.  
  1209.     All configuration parameters in OS/2 that were expressed in
  1210.     segments in Version 1 are now expressed in 4KB pages.
  1211.  
  1212. The following text expands on the previous sentence:
  1213.  
  1214.     For an application which makes a call to a configuration API that
  1215.     involves one of the following tokens names, the points listed
  1216.     below apply:
  1217.  
  1218.       SQLF_DBTN_DBHEAP
  1219.       SQLF_DBTN_APPLHEAPSZ
  1220.       SQLF_DBTN_STMTHEAP
  1221.       SQLF_DBTN_SORTHEAP
  1222.  
  1223.     1.  If the application was compiled against Version 1, then if the
  1224.         binary is run against either Version 1 or Version 2, the value
  1225.         specified will be treated as being specified in segments.
  1226.  
  1227.     2.  If the application is re-complied against Version 2, the
  1228.         values specified will be treated by the Version 2 product as
  1229.         being specified in 4K pages.
  1230.  
  1231.     3.  If, however, the token names were not coded in the
  1232.         application, and instead the actual Version 1 token values
  1233.         were coded (for example, instead of coding with the token name
  1234.         SQLF_DBTN_DBHEAP, the Version 1 token value of 8 is used),
  1235.         then if compiled against either Version 1 or Version 2, these
  1236.         parameters will be treated as being specified in segments.
  1237.         (The token values for these tokens have changed since Version
  1238.         1).
  1239.  
  1240. In Version 2, in addition to being specified now in 4K pages, the
  1241. database configuration parameter sortheap on OS/2 has also changed
  1242. from being specified as a two-byte integer to being specified as a
  1243. four-byte integer.  If an application written in Version 1 code using
  1244. the token SQLF_DBTN_SORTHEAP is recompiled against Version 2, it is
  1245. treated as a two-byte integer as in Version 1 (although the units will
  1246. change from segments to 4KB pages).  However, the full range of values
  1247. will not be accessible to a two-byte integer.  Therefore, it is
  1248. recommended that the Version 2 token SQLF_DBTN_SORT_HEAP be used, and
  1249. the application code changed to reflect that the API will treat the
  1250. token SQLF_DBTN_SORT_HEAP as indicating a four-byte integer, in order
  1251. to migrate the application code from Version 1 to Version 2,
  1252.  
  1253. NOTE:  In Version 2, all code using the Version 2 token names (see the
  1254. API Reference) will be treated the same on UNIX and OS/2 platforms
  1255. with respect to the data type and the units.  (The ranges however may
  1256. differ).
  1257.  
  1258.  
  1259. 7.7.2  BUFFPAGE and SORTHEAP
  1260.  
  1261. In the chapter entitled "Incompatibilities Between Releases", in the
  1262. "Configuration Parameters" section, under the heading "BUFFPAGE and
  1263. SORTHEAP", the following clarification should be added.  Also, please
  1264. note that the word "byte" should be "bit" in this section in the
  1265. Planning Guide.
  1266.  
  1267. Symptom:
  1268.  
  1269.     OS/2 - If an application was compiled against DB2 for OS/2 Version
  1270.     1 using the old tokens, the binary will run as expected against
  1271.     Version 2 as well.
  1272.  
  1273.     However, since the old tokens indicate that the parameter is to be
  1274.     treated as being specified as a 16 bit unsigned integer, the full
  1275.     Version 2 range of values for BUFFPAGE (up to 524288) will not be
  1276.     available.  Thus, if BUFFPAGE is updated (by a Version 2
  1277.     application or by a Version 2 CLP) to a value such as 100,000, and
  1278.     the Version 1 application is attempting to GET that value, it will
  1279.     not be able to reflect the true value.
  1280.  
  1281.     (Note that with the range in Version 2 for sortheap being 524288 4
  1282.     KB pages, and with SORTHEAP in DB2 for OS/2 Version 1 being
  1283.     specified in segments, this translates to a new range of up to
  1284.     32768 segments.  This value is in the range of an unsigned 16 bit
  1285.     integer, and hence the DB2 for OS/2 Version 1 binary should not
  1286.     have the same range restrictions for SORTHEAP as it does for
  1287.     BUFFPAGE.)
  1288.  
  1289. Response:
  1290.  
  1291.     For a Version 1 binary complied under DB2 for OS/2 Version 1, the
  1292.     values used for buffpage should be restricted to that which can be
  1293.     stored in an unsigned 16 bit integer.  For most situations this
  1294.     should be sufficient.
  1295.  
  1296.     When recompiling the application against Version 2 on any
  1297.     platform, use the new tokens for these parameters.
  1298.  
  1299.  
  1300. 7.8  Problem Determination Guide
  1301.  
  1302.  
  1303. 7.8.1  First Failure Data Capture
  1304.  
  1305. In Chapter 2, "Logging and Tracing", in the section entitled
  1306. "Configuration Parameters" under "First Failure Data Capture", the
  1307. fourth bullet currently reads:
  1308.  
  1309.   DB2 "UPDATE DATABASE MANAGER CONFIGURATION USING /tmp/errors"
  1310.  
  1311. It is not correct.  It should read as follows:
  1312.  
  1313.   DB2 "UPDATE DATABASE MANAGER CONFIGURATION USING DIAGPATH X: \tmp\errors"
  1314.  
  1315.  
  1316. 7.9  Configuration Parameters
  1317.  
  1318.  
  1319. 7.9.1  DIR_CACHE
  1320.  
  1321. The DDCS User's Guide incorrectly refers to the DIR_CACHE
  1322. configuration parameter as DIRCACHE.
  1323.  
  1324. Please refer to the directory cache documentation in the Installing
  1325. and Using OS/2 Clients manual,  Appendix D, "Configuring the Client
  1326. Workstation", before attempting to catalog databases.
  1327.  
  1328.  
  1329. 7.9.2  MAXAPPLS
  1330.  
  1331. The maximum value of MAXAPPLS is 5000 on UNIX** systems and 1500 on
  1332. OS/2 systems.  The prior value was 1000.  The following manuals
  1333. incorrectly show the prior maximum value of 1000:
  1334.  
  1335. o   DB2 for OS/2 Planning Guide
  1336. o   DB2 for AIX Planning Guide
  1337.  
  1338.  
  1339. 7.9.3  TP_MON_NAME
  1340.  
  1341. The current DB2 documentation for this parameter applies to UNIX
  1342. environments only.  For OS/2 environments, this parameter should
  1343. contain the path and name of the DLL in an external transaction
  1344. manager product containing functions ax_reg and ax_unreg if an XA
  1345. Distributed Transaction Processing environment is being used.
  1346.  
  1347. The following manuals described this configuration parameter
  1348. incorrectly:
  1349.  
  1350. o   Installing and Configuring DB2 Clients for Windows
  1351. o   Planning Guide
  1352.  
  1353.  
  1354. 7.9.4  REC_HIS_RETENTN
  1355.  
  1356. The Planning Guide (Appendix C) and Installation and Operation Guides
  1357. (Appendix D) indicate that the maximum value for the database
  1358. configuration parameter rec_his_retentn is 32767.  This is incorrect.
  1359. The correct value is 30000.
  1360.  
  1361.  
  1362. 7.9.5  Configuration Parameters (YES/NO and ON/OFF Values)
  1363.  
  1364. A number of database configuration parameters (including logretain and
  1365. userexit) are described as having acceptable values of either
  1366. "Yes"/"No" or "On"/"Off in the Online Help, and Planning Guide.  In
  1367. some cases, these do not correspond to what the Command Line Processor
  1368. (CLP) displays.
  1369.  
  1370. For example, the Planning Guide indicates that the acceptable value
  1371. for the database configuration parameter autorestart is either Yes or
  1372. No, whereas CLP displays it as being either ON or OFF.  In this
  1373. context "Yes" is to be considered synonymous with "On", and "No" with
  1374. "Off".
  1375.  
  1376.  
  1377. 7.10  Building Your Applications
  1378.  
  1379.  
  1380. 7.10.1  Building Your Embedded SQL Applications
  1381.  
  1382. In this chapter, some build commands files use the backslash (\)
  1383. character for continuation of the command (for example, the "bldibmcb"
  1384. command file on page 35).  This is incorrect and should be ignored
  1385. throughout.
  1386.  
  1387.  
  1388. 7.10.2  Building FORTRAN Stored Procedures
  1389.  
  1390. In the "Building FORTRAN Stored Procedures" section on page 46, you
  1391. require the following statement in your stored procedure:
  1392.  
  1393.   $pragma aux (_syscall) <sp_nm> parm ( data_reference, data_reference, \
  1394.                                         data_reference, data_reference )
  1395.  
  1396. In addition, the compile statement for the "bldforsr" command file
  1397. should be:
  1398.  
  1399.   wvc386 /noref %1.for
  1400.  
  1401. and the link statement should be:
  1402.  
  1403.   wlink sys os2v2 dll export %1 file %1.obj library db2api.lib library
  1404.   os2386.lib.
  1405.  
  1406. The build scripts and makefile in directory "...\sqllib\samples\
  1407. fortran\..." have been updated accordingly.
  1408.  
  1409. The example definition file as documented in the "Building Your
  1410. Applications book, on page 28, should be:
  1411.  
  1412.   LIBRARY UDF INITINSTANCE TERMINSTANCE
  1413.   DESCRIPTION 'Library for DB2 User Defined Functions'
  1414.   PROTMODE
  1415.   DATA
  1416.       MULTIPLE
  1417.       NONSHARED
  1418.   CODE
  1419.       LOADONCALL
  1420.       SHARED
  1421.   EXPORTS
  1422.       INCREASE      = increase     @1
  1423.       RAISE         = raise        @2
  1424.       WORDCOUNT     = wordcount    @3
  1425.       FINDVWL       = findvwl      @4
  1426.       CTR           = ctr          @5
  1427.       ILOB          = ilob         @6
  1428.       LENI          = leni         @7
  1429.       PROMOTE       = promote      @8
  1430.  
  1431. The example definition as originally documented may fail for the
  1432. following:
  1433.  
  1434. o   In a re-entrant environment
  1435. o   Load/Unloading DLL may not free up memeory allocated by OS/2
  1436.     and/or C-RUNTIME.
  1437.  
  1438. The "DATA MULTIPLE NONSHARE" addresses the first problem.  The
  1439. "INITINSTANCE" and "TERMINSTANCE" addresses the second.  All the
  1440. sample ".def" files for stored procedures and UDFs have been updated
  1441. accordingly in directory "...\sqllib\samples..." for C and Cobol.
  1442.  
  1443.  
  1444. 7.10.3  C++ Type Decoration Consideration
  1445.  
  1446. When writing a stored procedure of a UDF using C++, you may want to
  1447. consider declaring the procedure of UDF as:
  1448.  
  1449.   extern "C" ...procedure or function declaration...
  1450.  
  1451. The extern "C" prevents type decoration or mangling of the function
  1452. name by the C++ compiler.  Without this declaration, you have to
  1453. include all the type decoration for the function name when you call
  1454. the stored procedure, or issue the CREATE FUNCTION statement.
  1455.  
  1456.  
  1457. 7.10.4  Miscellaneous
  1458.  
  1459. Compound SQL statements containing user-defined SQLDAs are not
  1460. permitted in a 16-bit application on OS/2.
  1461.  
  1462. All the command files to build applications using Micro Focus Cobol
  1463. now require the addition of the db2gmf16 library (see the section
  1464. "Considerations when Using Micro Focus Cobol" in this README file for
  1465. more information) in the link step.  In addition, use the "os2286"
  1466. library in place of the "doscalls" library in the link step as
  1467. documented.  The updated build command files are provided in
  1468. "...\sqllib\samples\cobol\...".
  1469.  
  1470.  
  1471. 7.11  Installing and Using OS/2 Clients
  1472.  
  1473. The following ODBC configuration keywords were not described in the
  1474. book:
  1475.  
  1476. CURRENTFUNCTIONPATH = current_function_path
  1477.                       _____________________
  1478.     This keyword defines the path used to resolve function references
  1479.     and data type references that are used in dynamic SQL statements.
  1480.     It contains a list of one or more schema-names, where schema-names
  1481.     are enclosed in double quotes and separated by commas.
  1482.  
  1483.     The default value is "SYSIBM","SYSFUN",X where X is the value of
  1484.     the USER special register delimited by double quotes.  The schema
  1485.     SYSIBM does not need to be specified.  If it is not included in
  1486.     the function path then it is implicitly assumed as the first
  1487.     schema.
  1488.  
  1489.     This keyword is used as part of the process for resolving
  1490.     unqualified function references that may have been defined in a
  1491.     schema name other than the current users' schema.  The order of
  1492.     the schema names determines the order in which the function names
  1493.     will be resolved.  For more information on function resolution,
  1494.     refer to the SQL Reference guide.
  1495.  
  1496. MULTICONNECT = 0 | 1
  1497.                _
  1498.     This keyword is used to specify how "SQLConnect()" requests are
  1499.     mapped to physical database connections.
  1500.  
  1501.         0 = false
  1502.  
  1503.         Each "SQLConnect()" request by the application will result in
  1504.         a physical database connection.
  1505.  
  1506.         1 = true
  1507.  
  1508.         All connections for the application are mapped to one physical
  1509.         connection.
  1510.  
  1511.         This may be used if the ODBC application runs out of file
  1512.         handles because it uses so many connections.
  1513.  
  1514.     NOTE:  If MULTICONNECT is set to true then all statements are
  1515.     executed on the same connection and therefore in the same
  1516.     transaction.  This means that a rollback will rollback ALL
  1517.     statements on all connections.  Be sure that the application is
  1518.     designed to work with MULTICONNECT set to true before doing so or
  1519.     the application may not operate correctly.
  1520.  
  1521. OPTIMIZEFORNROWS = integer
  1522.                    _______
  1523.     This keyword will append the "OPTIMIZE FOR n ROWS" clause to every
  1524.     select statement, where n is an integer larger than 0.  The
  1525.     default action is not to append this clause.
  1526.  
  1527.     For more information on the effect of the OPTIMIZE FOR n ROWS
  1528.     clause, refer to the SQL Reference guide.
  1529.  
  1530.  
  1531. 7.11.1  New CLI/ODBC Configuration Keyword
  1532.  
  1533. IGNOREWARNINGS = 0 | 1
  1534.                  _
  1535.  
  1536.         0 = Warnings reported as usual (default).
  1537.  
  1538.         1 = All warnings are ignored, SQL_SUCCESS is returned.
  1539.  
  1540.     Use this keyword if an application does not handle warnings
  1541.     properly.
  1542.  
  1543.  
  1544. 7.12  SQL Reference
  1545.  
  1546. The following bullet should be included with the "Notes" found in the
  1547. section on "ALTER TABLE":
  1548.  
  1549. o   Adding a column with a default value that involves an explicit
  1550.     value or an implicit or explicit datetime special register, will
  1551.     cause all packages with an insert usage on the object table to be
  1552.     invalidated.
  1553.  
  1554.  
  1555. 7.13  Application Programming Guide
  1556.  
  1557. The following information on the bottom of page 24, reads:
  1558.  
  1559. The host-language linker creates an executable application.  For
  1560. example,
  1561.  
  1562. o   With OS/2, the application can be an executable file or a dynamic
  1563.     link library.
  1564. o   With Windows applications, the application is an executable file.
  1565. o   With UNIX-based systems, the application can be an executable load
  1566.     module or a shared library.
  1567.  
  1568. It should read as follows:
  1569.  
  1570. The host-language linker creates an executable application.  For
  1571. example,
  1572.  
  1573. o   On OS/2 or Windows platforms, the application can be an executable
  1574.     file or a dynamic link library (DLL).
  1575. o   On UNIX-based systems, the application can be an executable load
  1576.     module or a shared library.
  1577.  
  1578. Note that although applications can be DLLs on Windows platforms, for
  1579. Windows 3.1 or Windows 95, the DLLs are loaded directly by the
  1580. application and not by the DB2 database manager.  On Windows NT, DLLs
  1581. can be loaded by the database manager.  Stored procedures, which are
  1582. normally built as DLLs (on OS/2 and Windows NT) or shared libraries
  1583. (on UNIX-based platforms) are unsupported on the Windows 3.1 and
  1584. Windows 95 platforms as they are client-only.  For information on
  1585. using stored procedures, refer to Chapter 5 in the DB2 Application
  1586. Programming Guide.
  1587.  
  1588.  
  1589. 7.14  References to CompuServe
  1590.  
  1591. In the CompuServe section found in the introductions of the DB2
  1592. manuals, and at the end of the manuals in the section on contacting
  1593. IBM, please note the following corrections:
  1594.  
  1595. o   "Compuserve" should be "CompuServe".
  1596. o   "IBMDB2 Family Forum" should be the "IBM DB2 Family Forum".
  1597.  
  1598.  
  1599. 8.  DDCS-Specific Information
  1600.  
  1601. 8.1  Documentation Changes
  1602.  
  1603.  
  1604. 8.1.1  National Language (Code Page and Conversion) Information
  1605. Changes
  1606.  
  1607. Some of the information contained in the V2.1.0 DDCS User's Guide has
  1608. been superseded by updated versions of tables and other information
  1609. relating to National Language, and related considerations such as
  1610. character set conversion rules.  Please refer to updated information
  1611. in the DDCS Installation and Configuration Guide (S20H-4795-01).
  1612.  
  1613.  
  1614. 8.1.2  OS/2 and UNIX-Based Databases
  1615.  
  1616. Throughout the DDCS manuals, references to OS/2 and UNIX-based
  1617. databases should be references to the DB2 Common Server Family of
  1618. Products instead.
  1619.  
  1620.  
  1621. 8.1.3  SET CURRENT PACKAGESET Support
  1622.  
  1623. In the DDCS User's Guide in Chapter 7, "Programming in a DRDA
  1624. Environment", the following sentence should be included:
  1625.  
  1626. The DDCS support for the SET CURRENT PACKAGESET command is now
  1627. available for DB2 for MVS/ESA and DB2 for Common Servers.
  1628.  
  1629.  
  1630. 8.1.4  DB2 for OS/400 Column Types and Length
  1631.  
  1632. In the DDCS User's Guide in Chapter 7, "Programming in a DRDA
  1633. Environment", in the section that describes DB2 for OS/400 Column
  1634. Types and Length, the following text should exist:
  1635.  
  1636. DB2 for OS/400 Version 3.1 supports the column types GRAPHIC and
  1637. VARGRAPHIC.  Please refer to your DRDA AS documentation for the most
  1638. up-to-date features supported by your DRDA Server.
  1639.  
  1640.  
  1641. 8.1.5  Binding DDCS Utilities to an OS/400 Database
  1642.  
  1643. The following step is documented in the DDCS User's Guide in Chapter 4
  1644. to allow you to bind all the DDCS utilities to the DRDA server
  1645. database; however, an error occurs.  The error is a result of using
  1646. the GRANT bind option when binding a list of bind files.  The bind
  1647. receives a -901 sqlcode from the OS/400 database on the third bind
  1648. file in the list.
  1649.  
  1650.     db2 bind @ddcs400.lst blocking all sqlerror continue grant public
  1651.         messages ddcs400.msg
  1652.  
  1653.  
  1654. 8.1.5.1  Possible Solutions
  1655.  
  1656. 1.  PTF SF23634 is available for the OS/400 V3.1 database to fix this
  1657.     problem.
  1658.  
  1659. 2.  Alternatively, use either of the following two methods:
  1660.  
  1661.     a.  Issue separate bind requests for each bind file in
  1662.         ddcs400.lst, (19 bind files resulting in 19 bind requests),
  1663.         for example:
  1664.  
  1665.              ===> connect step
  1666.                 db2 connect to DBALIAS user USERID using PASSWORD
  1667.              ===> bind step
  1668.                 db2 bind db2ajgrt.bnd blocking all sqlerror continue grant public
  1669.                     messages db2ajgrt.msg
  1670.                 db2 bind db2clics.bnd blocking all sqlerror continue grant public
  1671.                     messages db2clics.msg
  1672.                     ...
  1673.                 db2 bind db2uimpm.bnd blocking all sqlerror continue grant public
  1674.                     messages db2uimpm.msg
  1675.              ===> drop connection
  1676.                 db2 connect reset
  1677.  
  1678.     b.  Issue the bind request against ddcs400.lst but omit the GRANT
  1679.         PUBLIC bind option.  As a separate step, grant execute
  1680.         permission to public on each of the packages.  Use the
  1681.         ddcspkgn utility to determine the package names of the bind
  1682.         files in ddcs400.lst.  An example is provided below.  Refer to
  1683.         Chapter 4 of the DDCS User's Guide for more details on this
  1684.         option.
  1685.  
  1686.              ===> connect step
  1687.                 db2 connect to DBALIAS user USERID using PASSWORD
  1688.              ===> bind step
  1689.                 db2 bind @ddcs400.lst blocking all sqlerror continue
  1690.                     messages ddcs400.msg
  1691.              ===> determine the package names of bind files in ddcs400.lst
  1692.                 ddcspkgn @ddcs400.lst
  1693.              ===> grant step
  1694.                 db2 grant execute on package SQLAB4C0 to public
  1695.                 db2 grant execute on package SQLL14C0 to public
  1696.                     ...
  1697.                 db2 grant execute on package SQLUF4C0 to public
  1698.              ===> drop connection
  1699.                 db2 connect reset
  1700.  
  1701.  
  1702. 8.1.6  Binding Utilities for Back-Level Clients
  1703.  
  1704. In the DDCS User's Guide, in Appendix D, "Binding Utilities for Back
  1705. Level Clients", the command to find out the package names for bind
  1706. files should read ddcspkgn @bindfile.lst, NOT ddcspkgn bindfile.lst.
  1707.  
  1708.  
  1709. 8.2  Syncpoint Manager (SPM)
  1710.  
  1711. IBM Communications Server for OS/2 Warp Version 4 was not generally
  1712. available when testing for DDCS completed. You should contact IBM
  1713. service to determine if any additional service is required prior to
  1714. using the SPM in a production environment.
  1715.  
  1716.  
  1717. 8.2.1  Prerequisite PTFs
  1718.  
  1719. All DB2/MVS V3.1 systems
  1720.   PTFs UN73393 and UN76673  (fixes APARs PN67179 and PN70102)
  1721.  
  1722. All DB2/MVS V4.1 systems
  1723.   PTF UN76674 (fixes APAR PN70102 )
  1724.  
  1725. All DB2/400 V3.1 systems
  1726.   PTF SF26564 (fixes APAR SA46917)
  1727.   APAR SA48935 (no PTF available at time of printing README)
  1728.   PTF SF26804 (fixes for OS/400 V3R1M0, product 5763SS1)
  1729.  
  1730.  
  1731. 8.2.2  IBM Communications Server for OS/2 Warp Version 4
  1732.  
  1733. Terminating IBM Communications Server for OS/2 Warp Version 4 while
  1734. the SPM is active causes the SPM to stop.  Once IBM Communications
  1735. Server for OS/2 Warp Version 4 is restarted, you must issue a db2stop
  1736. and db2start on the DDCS Multiuser Gateway in order to allow the SPM
  1737. to reinitialize.
  1738.  
  1739.  
  1740. 8.3  Authentication Default
  1741.  
  1742. For any system database directory entry that DDCS uses for
  1743. establishing a connection, if the authentication parameter is not
  1744. specified, DDCS will use a default authentication of SERVER.
  1745.  
  1746. This default applies to the system database directory entry on the
  1747. DDCS machine.  In addition, this default applies to the system
  1748. database directory entry at the remote client in a multi-user gateway
  1749. DDCS environment.
  1750.  
  1751.  
  1752. 8.4  Performance Troubleshooting
  1753.  
  1754. If DDCS for OS/2 Multi-User Gateway or DDCS for OS/2 Single-User users
  1755. are experiencing a long response time during large queries from DRDA
  1756. AS hosts (that is, DB2 for MVS, SQL/DS, or DRDA AS for DB2 for OS/2),
  1757. the following areas should be examined for the possible cause of the
  1758. performance problem:
  1759.  
  1760. 1.  For queries which result in returning large data blocks from the
  1761.     DRDA host (usually 32K of data and above), ensure that the
  1762.     database manager configuration parameter RQRIOBLK is set to 32767.
  1763.     This can be done using the Command Line Processor (CLP) as
  1764.     follows:
  1765.  
  1766.          db2 update database manager configuration using RQRIOBLK 32767
  1767.  
  1768. 2.  If VTAM is used in the connection to DRDA AS, look under "switched
  1769.     major node" configuration for the value of the PACING parameter.
  1770.     On the DDCS workstation, examine the communication setup of the
  1771.     "LU 6.2 Mode Profile" for IBMRDB mode definition.  In this
  1772.     definition, ensure the value for the "Receive pacing window"
  1773.     parameter is less than or equal to the PACING value defined on
  1774.     VTAM.  A common value for "Receive pacing window" on the DDCS
  1775.     workstation and "PACING" on VTAM is 8.
  1776.  
  1777. 3.  Ensure the maximum RU size defined in the IBMRDB mode definition
  1778.     is not less than 4K.
  1779.  
  1780. 4.  Consult with the VTAM administrator in your environment to ensure
  1781.     that VTAM is using "adaptive pacing" in LU-LU sessions with your
  1782.     DDCS workstation.
  1783.  
  1784.  
  1785. 8.5  Connectivity Via DDCS (Thailand Users Only)
  1786.  
  1787. Please note that currently only connectivity between DB2 for OS/2 and
  1788. DB2 for AIX is supported.
  1789.  
  1790. Connectivity between the following is not supported due to the Thai
  1791. CCSID, 838, not being supported on the host:
  1792.  
  1793.     DB2 for OS/2 and DB2 for MVS via DDCS
  1794.     DB2 for OS/2 and DB2 for OS/400 via DDCS
  1795.     DB2 for OS/2 and DB2 for VM and VSE via DDCS
  1796.  
  1797.     DB2 for AIX and DB2 for MVS via DDCS
  1798.     DB2 for AIX and DB2 for OS/400 via DDCS
  1799.     DB2 for AIX and DB2 for VM and VSE via DDCS
  1800.  
  1801.  
  1802. 9.  Communications Issues
  1803.  
  1804. 9.1  TCP/IP
  1805.  
  1806. If an application attempting a CONNECT to the server using the TCP/IP
  1807. protocol receives a -30081 error message with the first error token
  1808. containing a value of ETIMEDOUT (10060, 78, 145, 238) or EADDRINUSE
  1809. (10048, 67, 125, 226), or ECONNREFUSED (10061, 79, 146, 239); these
  1810. errors indicate that the server is handling too many incoming
  1811. connection requests or that the network is very busy.  The application
  1812. should pause for a short time then attempt the connection again.
  1813.  
  1814. Also, in the case where ECONNREFUSED is received, check that TCP/IP
  1815. support at the database server has been successfully started.
  1816.  
  1817.  
  1818. 10.  Sample Tools and Utilities
  1819.  
  1820. A number of sample tools and utilities have been provided with this
  1821. product for your convenience. These samples are provided "as-is"
  1822. without any warranty of any kind.  However, if you encounter an error,
  1823. let us know.
  1824.  
  1825. The sample tools and utilities can be found in the X:\sqllib\misc
  1826. directory, where X: is the drive where the product was installed.  The
  1827. db2cli utility can be found in the sqllib\samples\cli directory.
  1828.  
  1829. The following is a list of the sample tools and utilities provided:
  1830.  
  1831. Name          Description
  1832. ----          -----------
  1833.  
  1834. db2batch      DB2 Dynamic SQL Statement Processor
  1835.               (Described in the Administration Guide)
  1836.  
  1837. db2bfd        DB2 Bind file description tool
  1838.               (Described in the Application Programming Guide)
  1839.  
  1840. db2cli        DB2 Interactive CLI (executable) for design and prototyping in CLI
  1841.               (Described in INTCLI.DOC in sqllib\samples\cli)
  1842.  
  1843. db2evmon      Formats event monitor file and named pipe output,
  1844.               and writes it to standard out.
  1845.               (Described in the Performance Monitor Guide)
  1846.  
  1847. db2exfmt      Formats the contents of the Explain tables.
  1848.               Given a database name and other qualifying information,
  1849.               this tool will, query the Explain tables for information
  1850.               and format the results.
  1851.               (Located in sqllib/misc)
  1852.               Information about this utility is available by typing
  1853.               "db2exfmt -help" on a command line.
  1854.  
  1855. db2expln      DB2 SQL Explain Tool
  1856.               (Described in the Administration Guide)
  1857.  
  1858. db2ico        Run this REXX program from sqllib\misc to recreate
  1859.               the IBM DATABASE 2 folder and icons.  No parameters
  1860.               are necessary if DB2 for OS/2 is installed.
  1861.  
  1862. db2ipxad      Returns the server's IPX/SPX** internetwork address for use by the
  1863.               user on a remote client machine who is cataloging an IPX/SPX node
  1864.               using direct addressing mode.
  1865.               (Mentioned in the Installing and Using OS/2 Clients and
  1866.               Installing and Using DB2 Clients for Windows manual)
  1867.  
  1868. db2look       DB2 statistics extraction tool
  1869.               (Described in the Administration Guide)
  1870.  
  1871. db2resdb      An executable to support the restoring of back-level database
  1872.               backups taken from DB2 for OS/2 Version 1.x as well as Extended Services 1.0.
  1873.               The syntax is as follows:
  1874.  
  1875.               db2resdb <dbname> <source drive> <target drive>
  1876.  
  1877. db2tbst       Takes a hexadecimal state value (as given from the
  1878.               "list tablespaces" command) and interprets the state.
  1879.  
  1880.               When you execute a DB2 command that leaves a tablespace in
  1881.               anything other than the normal state, using that
  1882.               tablespace may not be possible, but the cause of the
  1883.               problem is not always clear.  The "list tablespaces"
  1884.               command indicates the state in the form of a hexadecimal
  1885.               string which must be interpreted based on a combination
  1886.               of state values found in sqlutil.h.  Rather than perform
  1887.               this interpretation manually, the db2tbst applet may be
  1888.               used.  For example, if you enter db2tbst 0x000c,
  1889.               the following output is generated (in English only):
  1890.  
  1891.               State = Quiesced Exclusive
  1892.               + Load Pending
  1893.  
  1894. db2untag      Displays a container tag's information so that the sysadm can
  1895.               check the "owning" database.
  1896.               (Described in this README file in the section entitled
  1897.               Dealing with Container in Use Error Message -294)
  1898.  
  1899. dynexpln      Example of how to explain dynamic SQL using db2expln
  1900.               (Described in the Administration Guide)
  1901.  
  1902. explain.ddl   Sample DDL to create Explain tables
  1903.               (Described in the Administration Guide)
  1904.  
  1905. isql          Creates dummy tables to allow access from DB2 for VM using ISQL.
  1906.               (Described in the Installation and Operation Guide)
  1907.  
  1908. lstaltsm      Sample DDL to retrieve alerts for Snapshot Monitor
  1909.               (Located in sqllib/samples/mon)
  1910.               (Described in the Database Director Getting Started)
  1911.  
  1912. sample.pv     Sample performance variable profile for Snapshot Monitor
  1913.               (Located in sqllib/samples/mon)
  1914.               (Described in the Database Director Getting Started)
  1915.  
  1916. sqldbsu       Creates dummy tables to allow access from DB2 for VM using SQLDBSU.
  1917.               (Described in the Installation and Operation Guide)
  1918.  
  1919. storproc.ddl  Sample DDL to create stored procedures
  1920.               pseudo_catalog DB2CLI.PROCEDURES
  1921.               (Described in the Call Level Interface Guide and Reference)
  1922.  
  1923. storproc.dml  Sample DML to insert entries into stored procedure
  1924.               pseudo_catalog DB2CLI.PROCEDURES
  1925.               (Described in the Call Level Interface Guide and Reference)
  1926.  
  1927. vesampl.ddl   Sample DDL to export snapshots for Visual Explain
  1928.               (Located in sqllib/samples/ve)
  1929.               (Described in the Database Director Getting Started)
  1930.  
  1931.  
  1932. 11.  Limitations in Documented Functions
  1933.  
  1934. This section identifies limitations that exist in the current release.
  1935.  
  1936.  
  1937. 11.1  Transaction Manager Database Considerations
  1938.  
  1939. When Distributed Unit of Work (DUOW) is used, DB2 for OS/2 and DDCS
  1940. for OS/2 need to have a Transaction Manager (TM) database created.
  1941. While this database is very much like any other DB2 database, there
  1942. are certain restrictions and considerations that should be taken into
  1943. account:
  1944.  
  1945. o   This is a system database for use by DB2.  It is recommended that
  1946.     it not be used for storing any other data.
  1947. o   The name of this database should not be made known to the general
  1948.     user population.
  1949. o   This database should not be accessed by DRDA client systems.
  1950. o   This database should not be catalogued in the DCS directory.
  1951. o   When the DDCS for OS/2 product is installed without DB2 for OS/2,
  1952.     DDCS License Terms prohibit the use of this database for storing
  1953.     user data.
  1954.  
  1955.  
  1956. 11.2  Command and API Limitations
  1957.  
  1958. The following limitation exists for version 2.1.1:
  1959.  
  1960. o   The precompiler OPTLEVEL option indicates whether the precompiler
  1961.     is to optimize initialization of internal SQLDAs when host
  1962.     variables are used in SQL statements. The use of OPTLEVEL 1 to
  1963.     turn on SQLDA optimization has been disabled due to potential
  1964.     problems it may cause.  This is done at the runtime level, so that
  1965.     existing applications precompiled with OPTLEVEL 1 do not have to
  1966.     be reprecompiled. However, no SQLDA optimization will take place.
  1967.     This is OPTLEVEL 0 behaviour.
  1968.  
  1969.  
  1970. 11.3  WCHARTYPE CONVERT Precompile Option Limitation
  1971.  
  1972. In the Application Programming Guide, in Chapter 10, "Programming in C
  1973. and C++", under the heading "The WCHARTYPE Precompiler Option", the
  1974. WCHARTYPE CONVERT precompile option is described.
  1975.  
  1976. The WCHARTYPE CONVERT precompile option is not currently supported in
  1977. programs executing from the DB2 V2.1 Windows client.  In these cases
  1978. the default (WCHARTYPE NOCONVERT) should be used.
  1979.  
  1980. When using WCHARTYPE CONVERT on DB2 for OS/2 with the C/Set++
  1981. compiler, the /Sn compile option must be used to enable the compiler
  1982. to support L-literals.
  1983.  
  1984.  
  1985. 11.4  Using DB2 with an XA-Compliant Transaction Manager
  1986.  
  1987. In the Administration Guide, in Appendix D, "X/Open Distributed
  1988. Transaction Processing Model", in the section entitled "Application
  1989. Program (AP)", under the item "Global Transactions", loosely coupled
  1990. global transactions and tightly coupled global transactions are
  1991. described.
  1992.  
  1993. The X/OPEN xa.h file has been modified to support the _System linkage
  1994. convention on OS/2 and is provided under the \sqllib\include
  1995. directory.  The modified version should be used for DB2 XA-interface.
  1996.  
  1997.  
  1998. 11.5  Database Director Limitations
  1999.  
  2000. The Database Director cannot be used to manage DRDA servers.
  2001.  
  2002.  
  2003. 11.5.1  Restriction for Visual Explain
  2004.  
  2005. The following restrictions apply to Visual Explain:
  2006.  
  2007. o   Connectivity between AIX clients and OS/2 servers and OS/2 clients
  2008.     and AIX servers is not supported.  You will not be able to invoke
  2009.     the access plan graph.
  2010.  
  2011. o   The client used to display an access plan graph must use the same
  2012.     code page as the database to which it is connected.
  2013.  
  2014. o   If you have created a snapshot in one code page, and are viewing
  2015.     the Access Plan graph for that snapshot in another code page, you
  2016.     will see unreadable characters for the names of database objects
  2017.     such as tables, columns, indices.
  2018.  
  2019. o   You can only display the Access Plan graph overview window once
  2020.     for every Access plan graph.  The overview menu item is grayed out
  2021.     and the overview icon is disabled once the overview window is
  2022.     opened the first time.
  2023.  
  2024.  
  2025. 11.5.1.1  Snapshot Monitor
  2026.  
  2027. o   There is no limit to the number of performance variables that can
  2028.     be displayed on performance graphs on AIX and OS/2. However, the
  2029.     AIX graph can differentiate between 63 performance variables
  2030.     before it starts reusing the same combinations of line colors and
  2031.     point markers.  The limit for the OS/2 graph is 56 performance
  2032.     variables.  However, if you plan to change either the scale or
  2033.     threshold of a displayed performance variable on a graph on either
  2034.     platform, limit the number of displayed performance variables to
  2035.     20.  This limit becomes evident when using the "Change" menu
  2036.     action from the "Performance variable" pull down.
  2037.  
  2038. o   If you monitor in a code page that differs from the code page of
  2039.     the database, no performance data will be returned for monitored
  2040.     tables and table spaces, unless their names have the same
  2041.     representation in both code pages.
  2042.  
  2043.  
  2044. 11.5.1.2  Event Analyzer
  2045.  
  2046. When analyzing a trace and connecting to a remote AIX database, to
  2047. obtain static text using the -conn and -db options, you need to set
  2048. the database manager authentication parameter to 'client'.
  2049.  
  2050. If you have created an event monitor trace in one code page and
  2051. analyze it in a different code page, you may see unreadable characters
  2052. for the names of database objects such as packages, tables, and table
  2053. spaces.
  2054.  
  2055.  
  2056. 11.6  Online Backup and Load with COPY NO option
  2057.  
  2058. At the end of a LOAD with the COPY NO option, the tablespace(s) are
  2059. put into Backup Pending state. Before backing up the loaded
  2060. tablespaces, all connections to the database must be terminated.  This
  2061. can be performed by issuing FORCE APPLICATION ALL and/or DEACTIVATE
  2062. DATABASE.
  2063.  
  2064. If an online backup is in progress, do not start a LOAD with the COPY
  2065. NO option.
  2066.  
  2067.  
  2068. 12.  Using the DB2 ODBC Driver with ODBC Applications
  2069.  
  2070. Please pay particular attention to the chapters titled 'Setting up
  2071. Communications for the Client', and 'Using the Client' in the manual
  2072. called "Installing and Using DB2 Clients for OS/2 Version 2". There
  2073. will be no separate DB2ODBC.TXT file. All the information related to
  2074. ODBC usage is provided in the "Installing and Using DB2 Clients for
  2075. OS/2 Version 2" manual and the rest of this section.
  2076.  
  2077.  
  2078. 12.1  Common Application Problems and Work Arounds
  2079.  
  2080. The Patch1 keyword (specified in the DB2CLI.INI file) is used to
  2081. specify work arounds for specific application problems.  There are
  2082. currently no work arounds that apply to OS/2 applications.
  2083.  
  2084. NOTE:  Most ODBC applications do not support LOB data types, and thus
  2085. require the LONGDATACOMPAT keyword to be set to 1.
  2086.  
  2087. There are currently two supported ODBC Driver Managers for ...  OS/2:
  2088.  
  2089. o   Visigenic's ODBC Driver Manager (shipped with all DB2 for OS/2 V
  2090.     2.1.1 products).
  2091.  
  2092. o   Intersolv's ODBC Driver Manager (contains its own DB2 ODBC ...
  2093.     Driver).
  2094.  
  2095.  
  2096. 12.1.1  Visigenic's ODBC Driver Manager
  2097.  
  2098. This Driver Manager is shipped with DB2 for OS2, and is installed or
  2099. updated when the ODBC Installer is ran from the DB2 folder
  2100. (DB2ODBC.EXE in -sqllib-bin).  The steps for using the ODBC installer
  2101. and adding data sources is described in the "Installing and using DB2
  2102. Clients for OS/2".
  2103.  
  2104. Visigenic uses the ODBC_PATH environment variable to indicate where
  2105. the Driver Manager is installed.
  2106.  
  2107. Note, the Visigenic ODBC Driver Managaer copies the DB2CLI.DLL to its
  2108. own directory, and adds this path to the system LIB path.  If any DB2
  2109. service upgrades are applied, you must rerun the ODBC installer to
  2110. copy the new DB2CLI.DLL.
  2111.  
  2112.  
  2113. 12.1.2  Intersolv's ODBC Driver Manager
  2114.  
  2115. In the OS/2 environment, if you wish to use IBM's DB2 ODBC Driver
  2116. instead of the DB2 ODBC driver provided in the Intersolv DataDirect
  2117. ODBC Driver Pack for OS/2, you need to run the "DB2ODBC" executable
  2118. (DB2ODBC.EXE in SQLLIB\BIN) from an OS/2 command line. Running this
  2119. executable registers IBM's DB2 ODBC Driver in the Intersolv ODBC
  2120. installation file.
  2121.  
  2122. If the DB2ODBC executable completed successfully, you will be returned
  2123. to the OS/2 command prompt. Otherwise, an error message will be
  2124. printed before returning you to the command prompt.
  2125.  
  2126. After running DB2ODBC.EXE successfully, you can now use the Intersolv
  2127. ODBC Administrator to add, configure DB2 data sources.
  2128.  
  2129. To configure your DB2 ODBC Driver for OS/2 with DB2 specific features,
  2130. you need to use the DB2CLI.INI file. Refer to the book titled
  2131. "Installing and Using DB2 Clients for OS/2 Version 2".
  2132.  
  2133.  
  2134. 12.2  Limitations of CLI/ODBC Administrator and Client Setup GUI Tools
  2135.  
  2136. The CLI/ODBC Administrator and Client Setup GUI utilities do not
  2137. support the use of data source names that are different than the
  2138. catalogued database alias
  2139.  
  2140. You can manually edit the ODBC.INI and DB2CLI.INI files to specify a
  2141. data source name that is longer than the 8 character database alias
  2142. catalogued in the database directory.  The DBALIAS keyword must then
  2143. be used within the data source section of the DB2CLI.INI file to map
  2144. the new data source name to the catalogued database alias.  You must
  2145. edit the data source name (within square brackets) in the DB2CLI.INI
  2146. file to match the value in the ODBC.INI file.
  2147.  
  2148. If you change the data source names, the CLI/ODBC Administrator and
  2149. Client Setup utilities will not be able to recognize the cataloged
  2150. database as being a valid ODBC data source.
  2151.  
  2152. The following configuration keywords cannot yet be modified using the
  2153. CLI/ODBC Administrator:
  2154.  
  2155. o   CURRENTFUNCTIONPATH
  2156. o   MULTICONNECT
  2157. o   OPTIMIZEFORNROWS
  2158.  
  2159. See either the "Installing and Using DB2 Clients for OS/2 Version 2"
  2160. manual or the "Call Level Interface" manual for more information on
  2161. these configuration keywords.
  2162.  
  2163.  
  2164. 13.  Miscellaneous
  2165.  
  2166. 13.1  DB2 Family Newsletter
  2167.  
  2168. For the latest information about the DB2 family of products, you may
  2169. subscribe to the "DB2 Family Newsletter" (English only).  Simply send
  2170. your request in a FAX to 1-905-316-4733, and include the following
  2171. information:
  2172.  
  2173.     Name
  2174.     Company name
  2175.     Full mailing address
  2176.     Telephone number
  2177.     DB2 products you currently use
  2178.  
  2179. -------------------------------------------------------------------
  2180.  
  2181. *  are trademarks or registered trademarks of IBM Corporation.
  2182.  
  2183. ** are trademarks or registered trademarks of their respective owners.
  2184.  
  2185. -------------------------------------------------------------------
  2186.  
  2187. ***********************************************************************
  2188. **                                                                   **
  2189. **  (c) COPYRIGHT INTERNATIONAL BUSINESS MACHINES CORPORATION 1996.  **
  2190. **                    ALL RIGHTS RESERVED.                           **
  2191. **                                                                   **
  2192. ***********************************************************************
  2193.