ibm.com/redbooks Siebel 7 Using DB2 UDB V7.x Planning & Installation Guide for AIX/Win2K Nagraj Alur Dennis Flinn Siva Kumar David Olds John Sbarbori Charles Zhou Overview of Siebel 7 eBusiness Application Architecture Planning and Installation of Siebel 7 using DB2 UDB 7.x Migrating from Siebel 6.x to Siebel 7.0.2 Front coverSiebel 7 Using DB2 UDB V7.x: Planning & Installation Guide for AIX/Win2K April 2002 International Technical Support OrganizationSG24-6415-00© Copyright International Business Machines Corporation 2002. All rights reserved. Note to U.S Government Users – Documentation related to restricted rights – Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corp. First Edition (April 2002) This edition applies to Siebel 7.0.2 and DB2 UDB 7.x for use with AIX and Windows 2000 operating systems. Comments may be addressed to: IBM Corporation, International Technical Support Organization Dept. QXXE Building 80-E2 650 Harry Road San Jose, California 95120-6099 When you send information to IBM, you grant IBM a non-exclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you. Take Note! Before using this information and the product it supports, be sure to read the general information in “Special notices” on page ix.© Copyright IBM Corp. 2002 iii Contents Special notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix IBM trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi The team that wrote this redbook. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xi Notice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv Part 1. Introduction to Siebel 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Chapter 1. Siebel 7 overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1 Main components: Siebel 7 Application Architecture . . . . . . . . . . . . . . . . . 4 1.1.1 Siebel Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.2 Siebel File System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.3 Siebel client types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.4 Siebel Web Server Extension (SWSE) . . . . . . . . . . . . . . . . . . . . . . . . 6 1.1.5 Siebel Enterprise Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2 Siebel product architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3 Siebel 7 development tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.4 Siebel connectivity tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Chapter 2. Benefits of DB2 UDB with Siebel 7 . . . . . . . . . . . . . . . . . . . . . . 17 2.1 Benefits of deploying Siebel 7 on DB2 UDB . . . . . . . . . . . . . . . . . . . . . . . 18 2.1.1 Scalability and reliability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Chapter 3. Planning considerations for Siebel 7 . . . . . . . . . . . . . . . . . . . . 21 3.1 Information gathering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2 Planning considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.3 Skills requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.4 Suggested reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.5 Platform selection and configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.5.1 Scalability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.5.2 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5.3 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.5.4 Backup and recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.6 Global deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.7 Sizing models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Part 2. Configuring Siebel 7 on AIX and Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31iv Siebel 7 Using DB2 UDB V7.x Chapter 4. Installing Siebel 7 on IBM AIX . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1 Overview of the installation process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.2 Our Siebel 7 environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.3 Software requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.4 Hardware requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.5 Installing pre-Siebel software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.5.1 Installing base AIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.5.2 Configuring TCP/IP networking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.5.3 Configuring users and groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.5.4 Sharing the Siebel File System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.5.5 Installing Resonate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.5.6 Installing the DB2 server and DB2 clients. . . . . . . . . . . . . . . . . . . . . 50 4.6 Installing Siebel Enterprise Server software . . . . . . . . . . . . . . . . . . . . . . . 61 4.6.1 Installing Siebel Gateway Server . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.6.2 Installing the Siebel Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.6.3 Copying the Siebel DLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.6.4 Populating the Siebel File System . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.6.5 Configuring DB Install . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.6.6 Configuring DB Import. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.6.7 Verifying the Siebel Enterprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.6.8 Installing an additional Siebel Server . . . . . . . . . . . . . . . . . . . . . . . . 72 4.6.9 Viewing Siebel Servers in Resonate Central Dispatch . . . . . . . . . . . 75 4.7 Installing Siebel clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.7.1 SEAW client installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.7.2 Installing the license . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.7.3 Installing the Toolkit client (seatools) . . . . . . . . . . . . . . . . . . . . . . . . 84 4.8 Installing Siebel Web and Directory Service . . . . . . . . . . . . . . . . . . . . . . . 85 4.8.1 Installing Siebel Web Server Extension (SWSE) . . . . . . . . . . . . . . . 86 4.9 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Chapter 5. Installing Siebel 7 on Windows 2000 . . . . . . . . . . . . . . . . . . . . 93 5.1 Overview of the installation process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 5.2 Our Siebel 7 environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.3 Software requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.3.1 Browser requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.4 Hardware requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 5.5 Static IP address requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 5.6 Installing pre-Siebel software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 5.6.1 Installing Windows 2000 Server or Advanced Server . . . . . . . . . . . . 98 5.6.2 Installing Microsoft software updates . . . . . . . . . . . . . . . . . . . . . . . . 98 5.6.3 Configuring TCP/IP networking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 5.6.4 Setting up Active Directory, DNS, and Domain Controller . . . . . . . . 99 5.6.5 Configuring users and groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99Contents v 5.6.6 Sharing the Siebel File System. . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 5.6.7 Installing Resonate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 5.6.8 Installing DB2 server and DB2 clients. . . . . . . . . . . . . . . . . . . . . . . 115 5.7 Installing Siebel Enterprise Server software . . . . . . . . . . . . . . . . . . . . . . 117 5.7.1 Installing Siebel Gateway Server . . . . . . . . . . . . . . . . . . . . . . . . . . 117 5.7.2 Installing the Siebel Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 5.7.3 Installing Siebel Database Server . . . . . . . . . . . . . . . . . . . . . . . . . . 121 5.7.4 Installing additional Siebel Servers . . . . . . . . . . . . . . . . . . . . . . . . . 127 5.8 Installing Siebel Database Server: DB2 UDB EE on AIX . . . . . . . . . . . . 127 5.9 Installing the Siebel clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 5.10 Installing Siebel Web and Directory Services . . . . . . . . . . . . . . . . . . . . 128 Part 3. Administration and management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Chapter 6. Performance management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 6.1 Performance in the Siebel/DB2 environment . . . . . . . . . . . . . . . . . . . . . 132 6.2 Operating system considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 6.2.1 System resources and bottlenecks . . . . . . . . . . . . . . . . . . . . . . . . . 133 6.2.2 Monitoring system resources on AIX . . . . . . . . . . . . . . . . . . . . . . . 133 6.2.3 Monitoring system resources on Windows NT/2000. . . . . . . . . . . . 136 6.3 DB2 UDB application considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 6.3.1 DMS or SMS user tablespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 6.3.2 Temporary tablespace considerations . . . . . . . . . . . . . . . . . . . . . . 138 6.3.3 User tablespace deployment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 6.3.4 Table size and placement considerations . . . . . . . . . . . . . . . . . . . . 140 6.3.5 Parallelism considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 6.3.6 DB2 log placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 6.4 DB2 UDB system considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 6.4.1 DB2 bufferpool management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 6.4.2 Database reorganization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 6.4.3 Maintaining up-to-date statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 6.4.4 The DB2 Governor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 6.5 Siebel query considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 6.5.1 Siebel dedicated Web clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 6.5.2 Siebel thin clients and Web clients . . . . . . . . . . . . . . . . . . . . . . . . . 155 6.5.3 Analyzing the SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 6.5.4 The Index Advisor utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 6.6 Capacity planning considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 6.6.1 Monitoring disk space requirements . . . . . . . . . . . . . . . . . . . . . . . . 157 6.6.2 Monitoring for CPU and memory. . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Chapter 7. Backup and recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 7.1 DB2 backup and recovery overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 7.1.1 Backup overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160vi Siebel 7 Using DB2 UDB V7.x 7.1.2 Restore overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 7.2 Backup Siebel databases and files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 7.2.1 Backup DB2 database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 7.2.2 Backing up Siebel files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 7.3 Recovery scenarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 7.3.1 With DB2 circular logging enabled — recovery actions . . . . . . . . . 167 7.3.2 With DB2 archival logging enabled — recovery actions . . . . . . . . . 168 7.4 Backing up the Primary Development Enterprise . . . . . . . . . . . . . . . . . . 170 Chapter 8. Enterprise Integration Manager (EIM) . . . . . . . . . . . . . . . . . . . 171 8.1 What is Enterprise Integration Manager? . . . . . . . . . . . . . . . . . . . . . . . . 172 8.2 EIM architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 8.3 Types of EIM interface tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 8.4 EIM processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 8.4.1 Preparing the interface tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 8.4.2 The EIM configuration file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 8.4.3 Running an EIM process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 8.4.4 Checking the results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 8.5 Tuning EIM processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 8.6 An EIM tuning challenge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 8.6.1 The challenge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 8.7 EIM tuning scenarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 8.7.1 Scenario 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 8.7.2 Scenario 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Part 4. Migrating from Siebel 6.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Chapter 9. Migrating from Siebel 6.x to Siebel 7.0.2 . . . . . . . . . . . . . . . . 187 9.1 Siebel 7 features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 9.1.1 Object changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 9.1.2 End user enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 9.1.3 Administrator and developer level enhancements . . . . . . . . . . . . . 190 9.2 Overview of the migration process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 9.2.1 Pre-upgrade tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 9.2.2 Upgrading the production environment . . . . . . . . . . . . . . . . . . . . . . 199 9.2.3 Client upgrade tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 9.3 The environment we migrated. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 9.3.1 Upgrading the servers on the Windows platform . . . . . . . . . . . . . . 206 Part 5. Appendixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Appendix A. Database setup scripts on UNIX . . . . . . . . . . . . . . . . . . . . . 213 A.1 Update DB2 registry (shell). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 A.2 Update DB2 Database Manager configuration (SQL). . . . . . . . . . . . . . . 214Contents vii A.3 Create Siebel DB2 Database with 3 tablespaces (SQL). . . . . . . . . . . . . 214 A.4 Update Siebel DB2 Database configuration (SQL). . . . . . . . . . . . . . . . . 215 A.5 Alter or update DB2 bufferpools (SQL) . . . . . . . . . . . . . . . . . . . . . . . . . . 216 A.6 Create Siebel Database containers & tablespaces (SQL) . . . . . . . . . . . 216 A.7 Grant database users and groups (SQL) . . . . . . . . . . . . . . . . . . . . . . . . 217 A.8 Increase number of ODBC statement handles (shell) . . . . . . . . . . . . . . 217 Appendix B. Siebel Web Server Extension configuration and log files . 219 B.1 SWSE configuration file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 B.2 SWSE log file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Appendix C. Database setup scripts on Windows. . . . . . . . . . . . . . . . . . 225 C.1 Db2set parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 C.2 Database Manager configuration parameters . . . . . . . . . . . . . . . . . . . . 227 C.3 Database creation on Windows 2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 C.4 Database creation on AIX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 C.5 Database configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 C.6 Bufferpool creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 C.7 Tablespace creation on Windows 2000 . . . . . . . . . . . . . . . . . . . . . . . . . 232 C.8 Tablespace creation on AIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 C.9 Database grants script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 C.10 Windows 2000 ODBC rebind script . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 C.11 AIX ODBC rebind script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Appendix D. Siebel technical alerts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 Siebel Technote 0307 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Siebel Web Server Extension Technote 0306 . . . . . . . . . . . . . . . . . . . . . . . . 237 Appendix E. Migration scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 E.1 Set up the database registry values . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 E.2 Set the database configuration parameters . . . . . . . . . . . . . . . . . . . . . . 247 E.3 Create Siebel Database on production database . . . . . . . . . . . . . . . . . . 248 E.4 Set bufferpools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 E.5 Create DB2 log files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 E.6 Redirected restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 E.7 Tablespace mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 E.8 Continue the redirected restore process. . . . . . . . . . . . . . . . . . . . . . . . . 253 E.9 Update database bindings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 E.10 Update the database configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 E.11 ODBC connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Appendix F. Migrating DB2 data from one DB2 platform to another . . . 257 F.1 Moving DB2 databases between platforms. . . . . . . . . . . . . . . . . . . . . . . 258 F.1.1 Moving database objects: examples. . . . . . . . . . . . . . . . . . . . . . . . 258viii Siebel 7 Using DB2 UDB V7.x Appendix G. Sample database configuration. . . . . . . . . . . . . . . . . . . . . . 261 G.1 Customer environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 G.1.1 DB2 environment variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 G.1.2 Database Manager configuration parameters . . . . . . . . . . . . . . . . 263 G.1.3 Database configuration parameters . . . . . . . . . . . . . . . . . . . . . . . . 265 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Abbreviations and acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Other resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Referenced Web sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 How to get IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 IBM Redbooks collections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275© Copyright IBM Corp. 2002 ix Special notices References in this publication to IBM products, programs or services do not imply that IBM intends to make these available in all countries in which IBM operates. Any reference to an IBM product, program, or service is not intended to state or imply that only IBM's product, program, or service may be used. Any functionally equivalent program that does not infringe any of IBM's intellectual property rights may be used instead of the IBM product, program or service. Information in this book was developed in conjunction with use of the equipment specified, and is limited in application to those specific hardware and software products and levels. IBM may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to the IBM Director of Licensing, IBM Corporation, North Castle Drive, Armonk, NY 10504-1785. Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact IBM Corporation, Dept. 600A, Mail Drop 1329, Somers, NY 10589 USA. Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee. The information contained in this document has not been submitted to any formal IBM test and is distributed AS IS. The use of this information or the implementation of any of these techniques is a customer responsibility and depends on the customer's ability to evaluate and integrate them into the customer's operational environment. While each item may have been reviewed by IBM for accuracy in a specific situation, there is no guarantee that the same or similar results will be obtained elsewhere. Customers attempting to adapt these techniques to their own environments do so at their own risk. Any pointers in this publication to external Web sites are provided for convenience only and do not in any manner serve as an endorsement of these Web sites.x Siebel 7 Using DB2 UDB V7.x IBM trademarks The following terms are trademarks of the International Business Machines Corporation in the United States and/or other countries: e (logo)® Redbooks (logo)™ AFS® AIX® Approach® AS/400® Balance® DB2® DB2 Universal Database™ DRDA® Hummingbird® IBM® Illustra™ MQSeries® MVS™ Netfinity® OS/2® Parallel Sysplex® Perform™ PTX® Redbooks™ RETAIN® RS/6000® S/390® SecureWay® Sequent® SP™ SP2® SXM™ System/390® Tivoli® Other company trademarks The following terms are trademarks of other companies: Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and/or other countries. Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States and/or other countries. Resonate and Resonate Control Dispatch are trademarks of Resonate, Inc. in the United States and/or other countries. Siebel is a trademark of Siebel Systems in the United States and/or other countries. UNIX is a registered trademark in the United States and other countries licensed exclusively through The Open Group. Other company, product, and service names may be trademarks or service marks of others.© Copyright IBM Corp. 2002 xi PrefaceThis IBM Redbook will help you install Siebel 7 eBusiness Applications using DB2 UDB V7.x on AIX and Windows 2000 platforms. It is based on the installation experiences gained while installing Siebel 7 eBusiness Applications at the IBM ITSO Center in San Jose, California and at the Siebel Competency Center in San Mateo, California. The redbook provides the following: An overview of Siebel Systems, including architecture, major components, and various types of clients Planning considerations and sizing information based on existing customer system environments Installation of Siebel 7 on IBM AIX and Windows 2000 platforms Performance management considerations of the Siebel 7 environment Backup and recovery considerations of the Siebel 7 environment Migrating from a Siebel 6.x environment to a Siebel 7 environment Data migration considerations from DB2 on one platform to DB2 on another platform This book will be especially helpful to those who are installing Siebel 7 eBusiness Applications using DB2 UDB 7.x on Windows 2000 and AIX. It is also useful for those who would like to migrate existing Siebel 6.x eBusiness Applications to Siebel 7. A knowledge of DB2 UDB on Windows 2000 or AIX platforms and Windows 2000/AIX system administration is assumed. The team that wrote this redbook This redbook was produced by a team of specialists from around the world working at the International Technical Support Organization, San Jose Center. Nagraj Alur is a Project Leader with the International Technical Support Organization, San Jose Center. He has more than 28 years of experience in DBMSs, and has been a programmer, systems analyst, project leader, consultant and researcher. His areas of expertise include DBMSs, data warehousing, distributed systems management, database performance, client/server and Internet computing. He has written extensively on these subjects and has taught xii Siebel 7 Using DB2 UDB V7.x classes and presented at conferences all around the world. Before joining the ITSO in November 2001, he was on a 2-year assignment from the Software Group to the IBM Almaden Research Center where he worked on Data Links solutions and an eSourcing prototype. Dennis Flinn is a Senior IT Specialist from Kingsport, Tennessee, with the IBM Data Management Consulting Services in Toronto, Canada. He has over 20 years experience in database administration with a number of different products running on NT, AIX, MVS, SUN, and HP environments. He currently provides consulting support for DB2 UDB and has provided consulting services to a number of existing and new Siebel sites. He holds a Bachelor of Science degree in Public Administration and a Master of Science degree in Operations Research. Siva Kumar is a Senior Principal with ASK-IT Corporation, a Houston, TX based IT Consulting firm. He has over 16 years of experience in IT Industry. He specializes in CRM, ERP, e-Commerce, Data Warehousing applications, and Project Management. He has extensive experience on NT/2000, AS/400, RS/6000 platforms. He has implemented 13 Siebel (including vertical products) projects in the United States and India. He holds a Bachelor’s degree in Commerce from Osmania University, India, and a Post Graduate Diploma in Computer Applications and Management from the Academy of Computer Education, India. Before joining ASK-IT, he worked with PricewaterhouseCoopers as a Principal Consultant (CRM) and as CTO for Caplacom, a New Jersey based systems integration firm. He is currently pursuing a PMP certification from the Project Management Institute, Philadelphia, PA. David Olds is a Senior Architect with the Vancouver Innovation Centre. He holds a Commerce degree with an Information Systems major from Massey University. David has been in the information technology industry for 20 years, and has spent the last 7 years working for IBM in New Zealand and IBM Canada. David specializes in application development and database management systems, from large to small systems. John Sbarbori is an IBM IT Specialist with the IBM Siebel International Competency Center in San Mateo, CA. He has a thorough understanding of the philosophy and tools used in testing complex software products, and extensive experience in data processing. He has in-depth knowledge in database administration and application maintenance techniques for diverse RDBMS products, along with experience in their planning, implementation, support, tuning and backup in the high transaction rate, ISO 9000 I/S environment.Preface xiii Dr. Charles Zhou is a Technical Alliance Manager for IBM strategic partners. In the past 2 years, he has been working with IBM partners to port their development environment from Oracle to DB2, and to release their applications. Charles’ expertise is in the area of data mining and business intelligence consulting. He has extensive experience in applying data mining technologies for retail, finance and manufacturing industries. Before joining IBM, Charles was working with Intel on Pentium processors. We also borrowed heavily from the previous version of the redbook “Implementing Siebel eBusiness Applications with DB2 UDB on AIX/NT” (SG24-6211), and are indebted to those authors, Seungrahn Hahn, Klemen Kobilica, Pak Lee, Natalie Tejero Stroher. Thanks to the following people for their contributions to this project: Yvonne Lyon, for technical editing and FrameMaker support Emma Jacobs and Deanna Polm, for graphics and administration IBM International Technical Support Organization Mary Desisto Lawrence Leong Casey Young IBM Silicon Valley Laboratory Ken Chen Anthony Roach Dwaine Snow IBM Toronto Laboratory Sudha Dev Pamela Hoffman Charles MacNulty Dennis Murphy IBM Siebel International Competency Center Sam Amsavelu IBM Americas Advanced Technical Support Solutions Center Byron Banks Sandeep Deshmukh Todd Grimmett Siebel Systems xiv Siebel 7 Using DB2 UDB V7.x Notice This publication is intended to help Database Administrators and System Programmers responsible for planning and installing Siebel 7 using DB2 UDB within an AIX or Windows 2000 environment. The information in this publication is not intended as the specification of any programming interfaces that are provided by IBM or Siebel products mentioned in this document. Please refer to the IBM and Siebel official Web sites for more information about what publications are considered to be product documentation. Comments welcome Your comments are important to us! We want our Redbooks to be as helpful as possible. Send us your comments about this or other Redbooks in one of the following ways: Use the online Contact us review redbook form found at: ibm.com/redbooks Send your comments in an Internet note to: redbook@us.ibm.com Mail your comments to the address on page ii.© Copyright IBM Corp. 2002 1 Part 1 Introduction to Siebel 7 In this part of the book we cover the following topics: Overview of the Siebel 7 functionality, architecture, and main components Benefits of implementing Siebel 7 with DB2 UDB as the database platform Considerations when planning to install Siebel 7 within your organization Part 12 Siebel 7 Using DB2 UDB V7.x© Copyright IBM Corp. 2002 3 Chapter 1. Siebel 7 overview Siebel Systems is an industry leader in Customer Relationship Management (CRM) solutions. Siebel Systems provides an integrated suite of e-business application software that enables multichannel sales, marketing, and customer service systems to be deployed over the Web, call centers, field, reseller channels, retail, and dealer networks. Siebel 7 eBusiness Applications is an integrated suite of products that help manage customer relationships. It provides a set of: Horizontal solutions: These include basic functions for all businesses or business partners such as Siebel Call Center, Siebel Sales, Siebel eChannels, and Siebel Marketing. Vertical solutions: These include specific and unique solutions for particular industries such as Siebel 7 eFinance, eInsurance or ePharma, eEnergy, eClinical, eCommunications, and eAutomotive. We only describe the horizontal solutions in this redbook. This chapter introduces Siebel 7 eBusiness Applications Architecture, Siebel Systems’ major components, Siebel Systems’ development tools, and Siebel Systems’ connectivity tools. 14 Siebel 7 Using DB2 UDB V7.x 1.1 Main components: Siebel 7 Application Architecture Figure 1-1 shows the major software components that make up the Siebel 7 Application Architecture. The multi-layered architecture enables the various components such as the Siebel Gateway Server, Resonate Server, Siebel Server, Database Server and File System to be implemented on either a single machine or spread across multiple machines. We strongly recommend a distributed network for better performance. Additionally, the Siebel Server should have a high speed LAN connection to the Siebel Database. Figure 1-1 Siebel 7 eBusiness Applications Architecture A brief overview of the various components of Siebel 7 follows, beginning with the Siebel Database, Siebel File System, Siebel clients, Siebel Web Server Extension (SWSE), and finally the Siebel Enterprise Server. Handheld Client Server Manager GUI Web Client Wireless Client Mobile Web Client Dedicated Web Client Resonate Server Siebel Gateway Server Wireless Gateway Server Siebel Web Server Extension Siebel Server Siebel Server Siebel Server Siebel File System Siebel Database Server Manager Command Line Interface Web Server Siebel Enterprise Server Primary Domain Controller (PDC) Business Objects Business Components Assignment Manager Workflow Manager Replication Manager EAI (EIM, Connectors, etc.) File System Manager (FSM)Chapter 1. Siebel 7 overview 5 1.1.1 Siebel Database The Siebel Database contains application data and stores information such as the customer’s organization structure, responsibilities, product lines, sales personnel, territories, opportunities, etc. 1.1.2 Siebel File System The Siebel File System consists of a shared directory that is network-accessible by the Siebel Server (also known as Siebel Application Server). Siebel Server is discussed in more detail later. To gain access to files, Web clients connect to the appropriate Siebel Server to request file uploads or downloads. The Siebel Server then accesses the Siebel File System, using the File System Manager (FSM) server component. The File System may be installed on the same server as a Siebel Server or Siebel Database Server, or it may be on another network server that can share the directory, so that it is available to the Siebel Server. When using Siebel mobile Web client in connected mode (also known as the Connected Web client), you may, in some cases, want to connect directly to the Siebel File System. (For examples of these cases, their potential ramifications, and for client setup instructions in each case, see Siebel Web Client Administration Guide.) 1.1.3 Siebel client types Siebel 7 eBusiness Applications support the following client types: Siebel Web client Siebel Web mobile client Siebel dedicated Web client Siebel handheld client Siebel wireless client Attention: If the operating systems of the two machines are different (for example, one Windows and one UNIX), you may need to deploy a cross-platform mounting tool to allow both machines to share the directory.6 Siebel 7 Using DB2 UDB V7.x Siebel Web client Siebel Web client runs in a standard browser from the client personal computer and does not require any additional persistent software installed on the client. The browser connects through a Web server to the Siebel Server, which executes business logic and accesses data from the Siebel Database. Siebel mobile Web client Siebel mobile Web client is designed for local data access, without the need to be connected to a server. A local database must be installed on each mobile machine. Siebel dedicated Web client Siebel dedicated Web client connects directly to a database server for all data access, and does not store any Siebel data locally. All layers of the Siebel eBusiness Applications architecture, except for the database, reside on the user’s personal computer. Siebel handheld client Mobile devices with a Web browser and Internet service using the Palm operating system. For more information see Siebel Handheld Administration Guide for Palm OS. Siebel wireless client This is a wireless-enabled mobile device with a Web browser and Internet service. For more information, see Siebel Wireless Administration Guide and Siebel Sync Guide. 1.1.4 Siebel Web Server Extension (SWSE) SWSE is a plug-in extension that runs within the Web server that enables communication between Siebel eBusiness Applications Web clients and Siebel Servers. Siebel eBusiness Applications are a family of zero-footprint, Web-based applications that you access through a standard Web browser. Chapter 1. Siebel 7 overview 7 These applications use several server components to service these Web clients: Web server: Client Web browsers connect to Web servers to display Siebel Web client applications. SWSE: A plug-in extension that runs within the Web server. Siebel Web Engine: The SWSE communicates with the Siebel Web Engine within the Siebel Server for access to Siebel eBusiness Applications data and logic. For information on supported hardware, operating system platforms, Web browsers, and Web servers, please refer to Siebel System Requirements and Supported Platforms. 1.1.5 Siebel Enterprise Server The Siebel Enterprise Server is a logical grouping of the following components: Siebel Gateway Server Resonate Server Siebel Server Siebel Server Manager All the Siebel Servers in the Siebel Enterprise Server support the same group of users accessing a common database server. The Enterprise Server can be configured, managed, and monitored as a single logical group, allowing the Siebel administrator to start, stop, monitor, or set parameters for all Siebel Servers within an enterprise. You can set some Siebel Server parameters at the enterprise level, and these parameters will apply to all Siebel Servers and components operating within that enterprise; other parameters can be adjusted at the server or component level to support fine-tuning. All Siebel Servers that connect to a common database schema must be installed within the same Enterprise Server. Siebel Gateway Server The Siebel Gateway Server serves as the single entry point for accessing Siebel Servers, and provides enhanced scalability, load-balancing, and high availability across the Enterprise Server. The key services that operate within the Gateway Server are the Name Server and the Connection Broker.8 Siebel 7 Using DB2 UDB V7.x Name Server: This feature provides the persistent backing of Siebel Server configuration information, including definitions and assignments of component groups and components; operational parameters, and connectivity information. Any changes to the configuration are written to the Name Server. At start-up, the Siebel Server obtains its configuration information from the Name Server. The Name Server also serves as the dynamic registry for Siebel Server and component availability information. At start-up, a Siebel Server within the Enterprise Server notifies the Name Server of its availability and stores its connectivity information—such as network addresses—in the Name Server’s non-persistent (volatile) store. Enterprise components (such as the Siebel Server Manager) query the Name Server for Siebel Server availability and connectivity information. When a Siebel Server shuts down, this information is cleared from the Name Server. In a Windows environment, the Name Server runs as a Windows service. In a UNIX environment, the Name Server runs as a daemon process. A single Name Server can potentially serve several databases in an environment (such as multiple development and test environments). For purposes of mitigating dependencies and improving recover ability, you should keep the Siebel production environment separate from other Siebel environments (development or test) by using a separate Name Server. Connection Broker: This feature directs client connection requests to the least-laden Siebel Server operating the desired component, thus providing superior scalability and availability. Connection Broker is an optional service of the Gateway Server that uses the Resonate Central Dispatch product to distribute client connection requests across multiple Siebel Servers. Only dedicated Web client connections to the Siebel Application Object Manager, request processor, and request agent components (for Interactive Assignment) are distributed by Resonate Central Dispatch. Resonate Server Resonate is a third party product that enables load balancing support when multiple Siebel Serves are configured. It interacts with the Siebel Gateway Server to deliver this functionality.Chapter 1. Siebel 7 overview 9 Siebel Server The Siebel Server is the middle-tier platform that supports both back-end and interactive processes for all Siebel clients. These processes are components within the Siebel Server architecture and support functions such as the following: Mobile client synchronization Operation of business logic for Siebel clients, as well as connectivity and access to the database server and file system Integration with legacy or third-party data Automatic assignment of new accounts, opportunities, service requests, and other records Workflow management Siebel Server Manager The Siebel Server Manager is the management console for the Siebel Server and Enterprise Server. The Siebel Server Manager allows you to configure the parameters governing the operation of each component, and determine which Siebel Servers are active. You can use the Siebel Server Manager to: Start, stop, pause, and resume Siebel Servers, components, and tasks. Monitor the status and collect statistics across the Siebel Enterprise Server, Siebel Servers, components, and tasks. Manage the configuration of the Siebel Enterprise Server, Siebel Servers, components, and tasks. The Siebel Server Manager supports two user interfaces: Graphical user interface (GUI): This is accomplished by using the Server Administration views in the Siebel client. We recommend use of the Server Manager GUI for most administrative duties, since it includes more user interface functionality such as the ability to search for and sort various fields within views. It is also has a more intuitive view into the operation of Siebel Servers than does the command-line interface. Command-line interface, or Server Manager program: We recommend use of the command-line interface for batch-mode processing, since it can run from batch scripts by invoking script files with administration commands that need to run on a regular basis.10 Siebel 7 Using DB2 UDB V7.x The Server Manager interacts with the Siebel Gateway Server, which contains all availability and connectivity information for the Siebel Servers within the enterprise. The Server Manager then connects with each of the servers and starts a Server Manager component task on each Siebel Server which executes the requested administration function. 1.2 Siebel product architecture Siebel 7’s multi-layered architecture provides the platform for common services to support the various Siebel 7 eBusiness Applications. Figure 1-2 highlights these services: User Interface Object Manager Data Manager Data Exchange Layer User Interface User Interface provides the applets, views, charts and reports. A large variety of clients are supported, such as dedicated Web client, mobile Web client, Web client, wireless client, and handheld client. Object Manager Object Manager manages the enterprise’s business rules, in the form of Siebel Business Objects, that are highly configurable software representations of business concepts such as accounts, contacts, opportunities, and service requests. All Siebel thin clients connect to a Siebel Object Manager to access the application’s business logic. This is hosted in the Siebel Server environment, and delivers multi-user support, dynamic load balancing across multiple servers, high resilience and high availability, full support for Siebel Business Objects, and a common administration framework.Chapter 1. Siebel 7 overview 11 Figure 1-2 Siebel multi-layer architecture Data Manager Data Manager maintains a relational view of the data and allows the Object Manager to function independently of Relational Database Management Systems (RDBMS). It also generates Structured Query Language (SQL) in real time to access the business data. It operates on object definitions in the repository file (.srf) that define the database schema. Data storage services provide the data storage for the Siebel data model, which is a very comprehensive data model that is the basis of the Siebel eBusiness Applications. The model supports the core Siebel products including call center, sales, services, and marketing, as well as the industry vertical products, such as: eFinance eInsurance eCommunications eHealthcare eConsumer Goods (eConsumer Goods and eRetail) eEnergy eLife Sciences (ePharma, eClinical and eMedical) ePublic Sector (eGoverment)User Interface Object Manager Data Manager Data Exchange Layer Executable UI, Business and Data objects Repository file Da ta storage12 Siebel 7 Using DB2 UDB V7.x Data Exchange Layer The Data Exchange Layer is normally implemented as a separate DLL, and handles the interaction with a specific target database. It understands the details of how the data is physically stored. It delivers data from data sources upward to the Data Manager layer in a consistent and efficient manner. It uses the efficient Application Programming Interface (API) for the database. It tunes the SQL statements for the database. 1.3 Siebel 7 development tools Siebel 7 Tools is a powerful object-oriented, Web application development environment designed to meet the customization needs of sales, marketing, and customer service information system deployments. This section is intended to help coordinate Siebel customers' deployment plans with future releases of Siebel eBusiness Applications. Siebel 7 Tools enables rapid development of Web applications using: Wizards that automatically create new Web applets or Web-enable existing applets Visual layout editors that support drag-and-drop configuration of Web objects The key features of Siebel Tools include: Browser Script editor Real time access to external data Globalization of development environment Upgrade inheritance Object comparison and selective synchronization Browser Script editor This feature is used for writing and editing JavaScript that runs within the browser of an HTML client. Browser Scripts are associated with a range of Siebel objects including controls such as buttons and text boxes and support standard Browser events such as onClick and onBlur. Individual Browser Scripts are optionally included in the Web pages generated by the Siebel Web Engine depending on the type of Browser being used to access the Siebel Web Application and other considerations such as the personal profile of the current user. Developers can use this feature to customize the dynamic behavior of their Web pages and minimize round trips to the server. Chapter 1. Siebel 7 overview 13 Java scripts can be used to perform: Data validation on the client such as checking for valid state, city, or zip codes. Context based visualization, that is, changing the graphics that appear in a page depending on where the user moves his or her cursor across the user interface. Real time access to external data Siebel 7 Tools extends the ease and flexibility with which Siebel eBusiness Applications can be seamlessly integrated with a legacy environment, using a new plug and play integration mechanism. It simplifies the process of incorporating external data into a Siebel eBusiness Applications by allowing standard business components to be based on tables belonging to an external relational database. Tools developers who use this feature need only associate a connection string and SQL Style (for example, DB2, MS SQL Server, or Oracle) to establish that their business component is based on an external source. Fields and join objects are mapped to columns in the external tables just as they would be if the business component were based on a Siebel table. External data can thus be accessed without the need to replicate it into Siebel tables. Globalization development environment Siebel 7 Tools includes an enhanced environment for rapidly developing global applications and localizing them into multiple languages. This is accomplished by supporting multiple language configurations in the same repository, as well as through better locale management utilities that simplify the task of managing the development and maintenance of such multi-lingual configurations. Siebel 7 Tools divides object attributes into two categories: language-neutral attributes and language-specific attributes. While language-neutral attributes define the core functionality of the Siebel application applicable for all language versions, language-specific attributes will determine localizable items such as control caption strings and label width. Each object type that has language-or region-specific attributes now has a new corresponding object type that holds all the localizable attributes.14 Siebel 7 Using DB2 UDB V7.x Upgrade inheritance Siebel 7 Tools has extended its upgrade capabilities so that objects that are copied during configuration can be upgraded in the same way as the original they were copied from. For example, a Siebel customer may make a copy of the Account List Applet and call it “Premium Account List Applet”. The new applet might differ from the original by having a special search specification that shows only those Accounts that are deemed to be “Premium Accounts”. This new features extends the maintainability of Siebel eBusiness Applications and provides customers with more flexibility in creating their own special purpose implementations of Siebel objects. It also improves support for parallel configuration efforts by making copies of objects that are in frequent contention between developers. Object comparison and selective synchronization To enable rapid assessment of the differences between any two objects of the same type, Siebel 7 adds a new dialogue window to the Tools Application for viewing a side-by-side comparison of differences and similarity. Color-coded icons identify child objects and properties that are the same or different and the user is able to optionally view only the differences. From this dialogue window, individual child object that exist in one parent and not the other can be selected and copied. 1.4 Siebel connectivity tools Siebel eBusiness Application Integration (eAI) 7 provides components for integrating Siebel eBusiness Applications with external applications and technologies within an organization. It is designed to work with third party solutions such as those from IBM, SAP, Attachmate, webMethods, and others. Siebel eAI provides bidirectional real-time and batch solutions for integrating Siebel eBusiness Applications with other applications. See Figure 1-3.Chapter 1. Siebel 7 overview 15 Figure 1-3 Siebel 7 eAI Framework The eAI framework shown in Figure 1-3 includes a broad range of open technologies to enable configurable and upgradable application integrations, including: Siebel Enterprise Integration Manager (EIM), for bulk bi-directional data synchronization Message based integration based on XML, IBM MQSeries and HTTP Programmatic interfaces based standards like COM, CORBA and Java technologies Siebel Virtual Business Components, for real time access to external data for display within the Siebel user interface across all channels, without the need for data replication Siebel Workflow Designer for the specification of integration workflow and custom business services Siebel Data Mapper SAP R/3 Oracle People Soft JD Edwards Great Plains Navision Connectors by Siebel Connectors by Partners Siebel Dispatch Service Read Siebel Account x x xx Branch on Sync Status x x xx Siebel Workflow x Start x xx Write Oracle Customer to Interface Tables x x xx Validate Oracle Customer x x xx Get Current Time x x xx End Check x x xx Configuration and Scalable Easy to Deploy Map Siebel Account to Oracle Customer x x xx HTTP J2EE IBM MQSeries MSMQ Database Adapter SAP BAPI/DOCS EIM BizTalk XML Other Real Time and Batch Integration Objects COM/CORBA Virtual Business Components Tools Packaged Processes Transport Adapters Platform Meta Data Wizard16 Siebel 7 Using DB2 UDB V7.x Siebel 7 eAI expands upon the integration offering in Siebel eBusiness 2000 to provide customers with more flexible and out-of-the box functionality when designing their integration solution. Siebel EAI enables seamless customizable, scalable, and upgradable integration solutions with external applications, whether located within or outside an eBusiness firewall. Once configured, these solutions are accessible across all access channels. EIM is covered in greater detail in Chapter 8, “Enterprise Integration Manager (EIM)” on page 171.© Copyright IBM Corp. 2002 17 Chapter 2. Benefits of DB2 UDB with Siebel 7 In this chapter we discuss the benefits of implementing Siebel 7 with DB2 UDB as the database platform. 218 Siebel 7 Using DB2 UDB V7.x 2.1 Benefits of deploying Siebel 7 on DB2 UDB As the foundation for e-business, DB2 UDB is the industry’s first multimedia, Web-ready Relational Database Management System (RDBMS), powerful enough to meet the demands of large corporations and flexible enough to serve medium-sized and small businesses. DB2’s ability to handle scalability, data integrity, manageability, and security requirements makes it the best choice for Siebel eBusiness Applications. The strengths DB2 brings to the Siebel eBusiness Applications environment include the following: 2.1.1 Scalability and reliability The data in a Siebel Database quickly becomes a corporate asset. To protect this asset, it is fundamental that the database be best of class in reliability and recoverability. It must meet the demands of a large number of concurrent users with response times that meet the dynamic needs found in an e-business system. DB2 provides the cross-platform scalability required by most e-businesses today. Implemented in Windows 2000, UNIX and System/390, DB2 for Siebel eBusiness Applications is scalable from small businesses to global enterprises, from a few hundred to tens of thousands concurrent users, and from uniprocessor servers and large symmetric multiprocessor (SMP) configurations, to Parallel Sysplexes. Performance With a 96% share of the mainframe market, and rapid growth on distributed platforms, IBM DB2 Universal Database is the database market leader, thanks to its capability to manage these mission-critical tasks so well. Approximately 400 Web integrators work with DB2 Universal Database and a full 70 percent of the world’s corporate data resides on DB2. DB2 powers 7.7 billion transactions daily for 40 million users in more than 300,000 companies world wide – a testament to its outstanding performance. With DB2, you can equip your company with a database for supporting customer-centered e-business initiatives which can in turn increase sales, boost productivity and heighten efficiency across your enterprise. Chapter 2. Benefits of DB2 UDB with Siebel 7 19 Specific DB2 features that help to fine-tune Siebel eBusiness Applications performance include: Multiple buffer pools Multiple optimization levels Early close and light output SQLDA functions Availability DB2’s high availability features, which ensure maximum system availability and minimum downtime, are field-proven. It is a very stable database which provides online maintenance without service interruption. Database and system management aids DB2 is easy to manage, and its product quality helps lower maintenance. To help database administrators manage their database environments, DB2 offers an integrated set of tools and functions, including flexible security mechanisms, online Reorg keeping the system up and running, an extensive set of logging and recovery utilities, trace facilities for tuning, and functions and tools to monitor and tune the DB2 system. Total flexibility The DB2 family of databases provides great flexibility for implementing Siebel eBusiness Applications. With DB2, customers can maintain a standardized information technology architecture across UNIX and Windows 2000 servers, as well as S/390 enterprise servers. Parallel query functionality is available independent of hardware platform and architecture.20 Siebel 7 Using DB2 UDB V7.x© Copyright IBM Corp. 2002 21 Chapter 3. Planning considerations for Siebel 7 In this chapter we discuss some of the considerations that affect the planning and sizing of a Siebel DB2 UDB implementation. Skills, resources, commitment, and careful planning have a major impact on the success of the implementation of the Siebel system. 322 Siebel 7 Using DB2 UDB V7.x 3.1 Information gathering An important aspect of the planing process is the collection and documentation of user (business) and system requirements since they have different usage profiles. Setting and meeting user expectations is generally a key measure of success in most implementations. In a typical Siebel implementation, the following aspects must be considered: The numbers of users to be supported The types of users to be supported Typical user workloads Performance expectations of users The organizational structure that is to be implemented Corporate standards on user authentication and security Acceptance criteria from all users Once user requirements have been identified, the system architecture needs to be defined. 3.2 Planning considerations The system architecture you choose for Siebel 7 will depend upon: Hardware platforms to be supported Disk space requirements Application workload LAN configurations Web configurations Database configuration Application backup and recovery requirements Rollout strategies Conversion and migration strategies from existing and legacy systems System interoperability with other applications Careful planning is an important aspect in the success of any implementation. It is therefore important to establish a checklist of activities that must be completed as part of the Siebel implementation.Chapter 3. Planning considerations for Siebel 7 23 3.3 Skills requirements The installer of the Siebel Enterprise must have experience in the following areas: Understanding of the Siebel Architecture and its components The ability to install and manage Windows NT4/2000 in a TCP/IP environment The ability to install and manage AIX in a TCP/IP environment The ability to install and manage DB2 as well as the ability to apply maintenance code to DB2 and associated databases A sufficient understanding of TCP/IP and DNS to install and manage the Central Dispatch distributed server management system by Resonate Experience in complex client-server systems An understanding of Microsoft IIS Web Server 3.4 Suggested reading The documents described in the following sections should be reviewed prior to beginning your installation. The AIX operating system See the following documents: AIX Online Technical Library at: http://www-1.ibm.com/servers/aix/library/techpubs.html Redbooks – IBM Redbook: IBM Certification Study Guide AIX Installation and System Recovery – IBM Redbook: AIX v4.3 and Windows 2000, Side by Side Important: We strongly recommend that you spend time understanding the implementation manuals and the configuration parameters prior to commencing the installation. A number of deployment and operational options need to be configured during the installation process, and a good knowledge of these options will help avoid problems.24 Siebel 7 Using DB2 UDB V7.x Resonate Central Dispatch See the following documents: Resonate Central Dispatch Site Preparation Guide Resonate Central Dispatch Resonate Commander Installation Guide for AIX Resonate Central Dispatch User Guide Resonate Central Dispatch, An In-Depth Technical White Paper Resonate literature is available at: http://www.resonate.com/solutions/literature.php IBM DB2 Universal Database See the following documents: IBM DB2 Universal Database for UNIX Quick Beginnings, V7 IBM DB2 Universal Database Administration Guide: Implementation, V7 IBM DB2 Universal Database Command Reference DB2 UDB Online Technical Library at: http://www-3.ibm.com/software/data/db2/library/DB2 code update documentation: – Overview of FixPak for IBM DB2 Universal Database* Version 7.1 for UNIX Siebel 7 Enterprise See the following documents: Siebel System Requirements and Supported Platforms, V7 What's New In Siebel 7: A guide for Administrators and Developers, V7 Siebel Server Installation Guide for UNIX, V7 Siebel Server Installation Guide for Microsoft Windows, V7 Siebel Server Administration Guide, V7 Siebel Global Deployment Guide, V7 Siebel Web Client Installation Guide, V7 Siebel Tools Reference, V7 Authentication And Access Control Administration Guide, V7 Siebel technical notes – Siebel Technical Note 0140: Managing the Siebel Development EnvironmentChapter 3. Planning considerations for Siebel 7 25 – Siebel Technical Note 0303: Siebel High Availability Solutions – Siebel Technical Note 0313: Addendum to Siebel Web Server Extension Installation for Siebel 7.0.3 3.5 Platform selection and configuration The following factors must be considered in selecting the configuration that best suits your organization. This section will highlight some specific considerations that need to be addressed to establish the design. The Siebel Installation Guide for Microsoft Windows -eBusiness Applications, 10PA1-S100-07020, recommends installation in three environments: Development environment Test environment Production environment It is assumed that the production environment will be physically isolated from the test and development environments. 3.5.1 Scalability Scalability refers to the system’s ability to support a particular growing application workload. In Siebel 7, this application workload may be generated by users using dedicated Web clients, mobile Web clients, a server managed GUI client, a hand held client, or a wireless client. The scalability aspect also includes the server environment. During the planning process, the server configuration must be capable of supporting the client workload, as well as other non-client workloads such as system management functions and other batch functions. Critical to planning a particular configuration is to understand the workload required to be supported. This includes the number of users, number of concurrent users, volume of data, frequency and type of transactions, etc. Number of users Users can be any of the following: Application users Support users Batch users26 Siebel 7 Using DB2 UDB V7.x Application users cover business users of the Siebel 7 application irrespective of what client interface they choose such as Web or non-Web interfaces. While collecting total number of users, identifying the user touchpoint is important. For Web based users, this number will impact the sizing and capacity of the Web server environment. Support users would cover both application and system administration users. In general, this category of user would not be high volume users on the system. Batch users are defined as non-interactive user account that will be required to run application and system batch tasks. An example of this would be accounts used for system management tasks such as backup and recovery. Concurrent users The number of concurrent users tends to vary during different periods of the day. You need to break down the concurrent users by Siebel component, for example, Siebel Call Center, Siebel Sales, Siebel Marketing, and Siebel Service. The number of concurrent users must be taken into consideration for the sizing and configuration if DB2. For further information on planning for DB2 sizing, refer to IBM DB2 Universal Database for UNIX Quick Beginnings, GC09-2970-00; and IBM DB2 Universal Database for Windows Quick Beginnings, GC09-2971-00. Transaction usage The transaction makeup of each Siebel component will help determine the way the load should be placed on various servers, including the numbers of servers that may be required to support the user load. The transaction profile should not only reflect the component transaction usage, but also the transaction intent, for example Read, Create, Update and Delete. These transaction classifications have meaning within both the Siebel 7 and DB2 contexts. The Server definition should support the peak load for all of the above transaction categories of each component. The growth rates of transactions should be factored into the design, especially those originating from Web-based clients. Important: Do not forget to include the number of testing and training users that need to be supported.Chapter 3. Planning considerations for Siebel 7 27 EIM As described earlier, EIM allows Siebel and external application to exchange data. The planning phase of the Siebel 7 installation should accommodate the sizing for the Siebel Interface tables. For further information refer to Siebel Enterprise Integration Manager Administration Guide, Version 7, 10PA1-E100-07000. 3.5.2 Availability The tolerance for system unavailability, and the cost of contingency, will vary from organization to organization. When planning for application availability, consideration should be given to all components of the application. In this section we discuss three aspects of application availability: Hardware environment Database environment Siebel eBusiness Applications These sections should be used as a guide rather than an exhaustive checklist list of considerations. Hardware environment In designing the configuration that will be used to support the availability requirements of an organization, planning should include hardware configurations that may offer not only performance for normal throughput, but also failover capabilities. Where a component is deemed to be critical, redundancy should be built into the configuration on a component level rather than a system level. Important: For system migrations, S_type_IF tables are used for releases prior to version 6.x, for post version 6.x releases EIM_type tables are used. Siebel advise that S_type_IF tables are provided for backward compatibility, but will become obsolete in future releases. It is strongly recommended that these tables be changed during the Siebel 7 implementation /migration.28 Siebel 7 Using DB2 UDB V7.x Database environment Two high availability configurations are available in DB2: Hot Standby (asymmetric mode): In this configuration, one server is actively used to run DB2, while the second is in standby mode, ready to take over if there is an operating system or hardware failure involving the first server. Mutual Takeover (symmetric mode): In this configuration (also called HACMP or MSCS cluster), both servers actively run DB2 systems. If one of the servers in the HACMP or MSCS cluster fails, the database server on the failing machine will be started on the available machine. In a mutual takeover configuration, a database server on one machine can fail independently of the database server on another machine. Any database server can be active on any machine at any given point in time. Each of these configurations can be used to failover one or more partitions of a partitioned database. For information about DB2 high availability on different platforms, refer to Data Recovery and High Availability Guide and Reference Version 7, and DB2 UDB Administration Guide: Planning, SC09-2946. Siebel eBusiness Applications There are several different scenarios that can be implemented to ensure high availability. One approach is to isolate clients by type, since clients access the Siebel database in different ways: Connected clients: The failover solution is appropriate since such clients connect directly to the database server. Unless a connected client performs activities such as administrative tasks, it does not connect to the Siebel server. Mobile clients: With mobile clients, a connection is established through the Siebel Gateway Server and the Siebel Server. A failover solution is appropriate for both the Siebel Gateway Server and the Siebel Server. If one of the servers is down, mobile clients can still work, but synchronization will fail. Users can synchronize later, when the working environment is established again. If the Siebel Server cannot be restored, then the mobile client will need to be moved to a different Siebel Server supporting mobile clients, or the failed Siebel Server will have to be rebuilt. In both situations, a new Database Extract (a DBExtract task on the Siebel Server) will need to be created for each mobile client that was previously defined on the failed Siebel Server. Chapter 3. Planning considerations for Siebel 7 29 Thin clients: With thin clients, a connection is established through the Web server, the Siebel Gateway server, the Siebel Server, and Resonate Central Dispatch. A failover solution is appropriate for all these components. If one of the servers goes down, any uncommitted transactions (i.e., those in progress) are lost. The thin client would also need to reconnect and re-authenticate. 3.5.3 Security Siebel Applications enable you to control user access to information by defining responsibilities. Each responsibility provides access to a particular set of views, including the ability to see specific data and take specific actions. Siebel 7 provides three mechanisms to authenticate the Siebel user. Database authentication: User authentication is based on the underlying application database. Seeding data is provided for this approach. Using this option will require every user to have a valid account on the database server. Security adapter authentication: The External Security Adapter is an interface that enables you to use an external system to authenticate users, rather than taking the traditional approach of using the database. With the External Security Adapter, you maintain user information in a Lightweight Data Access Protocol (LDAP) repository. After a user logs on to the Siebel eBusiness Application, and once the user ID is verified by LDAP, a credential is provided by LDAP to the user for accessing the Siebel Applications. Support for several LDAP services are offered, including IBM SecureWay, iPlanet and Microsoft Directory Services in Siebel 7. Web single sign on (Web SSO): This architecture uses an external authentication service to authenticate Web users. Standard directories such as LDAP can be used. Customers are given the ability to create their own custom adapters. The Web Single Sign On implementation allows for users to be authenticated by a third party and then passed back to the Siebel application. This option can be used to deploy Siebel 7 into an existing Web site or portal. Careful consideration is required as to the type of authentication that will be used. Each Siebel component can be authenticated using a different architecture, however this decision should with the knowledge that each component will be required to be administered separately. A consistent approach to the security model may produce less of an administration overhead. For further details regarding the setup and administration options available with Siebel 7, reference should be made to: Authentication and Access Control Administration Guide eBusiness Applications Version 7, 10PA1-AA00-07000.30 Siebel 7 Using DB2 UDB V7.x 3.5.4 Backup and recovery The backup strategy for the database depends upon the availability requirements and the windows available to perform the backup. Refer to Chapter 7, “Backup and recovery” on page 159 for a detailed discussion of this topic. 3.6 Global deployment See the Siebel Global Deployment Guide for information on the impact of global deployment of the Siebel Enterprise encompassing multiple regions, multiple languages, or spanning time zones with local time and number format. 3.7 Sizing models The primary components of sizing involve an estimation of processor, memory, and disk requirements. As discussed above, sizing the Siebel environment depends upon a number of factors including the Siebel eBusiness Applications chosen, the workload for each of these applications, and the platforms of interest. Siebel 7 studies for the various applications and environments are currently underway and their results will be available from Techline. Please request sizing information from Techline using established procedures to obtain the latest sizing information. Here is the Techline URL for obtaining sizing information: http://www.ibm.com/erp/sizing For questions and to submit a sizing questionnaire, you can contact: IBM Americas Techline Solutions Sizing e-Mail: eSizings@us.ibm.com Phone: 800-426-0222 FAX: 1-770-659-5245© Copyright IBM Corp. 2002 31 Part 2 Configuring Siebel 7 on AIX and Windows In this part of the book, we describe the installation of Siebel 7 on the following platforms: IBM AIX Windows 2000 Part 232 Siebel 7 Using DB2 UDB V7.x© Copyright IBM Corp. 2002 33 Chapter 4. Installing Siebel 7 on IBM AIX In this chapter we describe the installation process for Siebel 7 on IBM AIX servers. Our focus is on the installation of a 3-tier configuration using multiple Siebel Servers. 434 Siebel 7 Using DB2 UDB V7.x 4.1 Overview of the installation process The installation of Siebel 7 should be viewed as a process which is composed of a number of steps that need to be performed in the order presented here. Figure 4-1 depicts the generalized order of the steps in the installation process beginning with the bottom right hand corner, and moving anti-clockwise to the left bottom corner Figure 4-1 Siebel 7 installation process Siebel Gateway Server Siebel Server (and Enterprise) Siebel Database Server Copy Siebel DLL Populate Siebel File System Configure DB: Import Configure DB2 Client Communication and ODBC Update Instances & Binds Install DB2 7.1 Service Pck FP3sa Install Additional AIX Code Apply AIX Update Configure TCP/IP Networking Configure Users and Groups Share Siebel File System Install the OS, Pre-Siebel Components and DB2 Database Install the Siebel Enterprise and the Seed Database Configure DB: Install Toolkit Client (seatools) Install License Dedicated Client (SEAW) Install the Siebel Clients Install DB2 7.1 Server and DB2 Clients Grantusr Script Execution Configure 'SIEBEL' Database Create an "empty" Database Configure Registry and DBM Parameters Test Web Client Configure Directory Services Install SWE Plug-in Install the Siebel Web and Directory Services Components Test Server Check Web Statistics Install Resonate Building the Enterprise: A Layered Approach To Siebel 7 Configure AIX Install Base AIX 4. 1. 2. 3.Chapter 4. Installing Siebel 7 on IBM AIX 35 4.2 Our Siebel 7 environment Our environment is depicted in Figure 4-2, which should be referenced while reading the information contained in this chapter. Figure 4-2 Siebel 7 environment ibm151 192.168.27.151 AIX 4.3.3 Siebel DB Web Browser DB2 Fix Pack DB2 7.1 Solaris Patch Solaris DB2 Fix Pack DB2 7.1AIX Patch AIX DB2 Fix Pack DB2 7.1AIX Patch AIXSiebel Database Server Siebel Application Server Siebel Gateway ServerSiebel Application Server ibm152 192.168.27.152 AIX 4.3.3 DB20DBC DB2 Fix Pack DB2 7.1SP2 Win 2000 Siebel Application Server apalachicola 192.168.27.20 Windows 2000 TCP/IP atchafalaya 192.168.27.50 Windows NT 4 DB2 Fix Pack DB2 7.1 SP 6A NT 4 SEAW & Tools Resonate Central Dispatch TCP/IP DB20DBC TCP/IP lostworld 192.168.27.220 Solaris 5.8 36 Siebel 7 Using DB2 UDB V7.x The configuration consists of five machines as shown in Table 4-1. Table 4-1 Siebel 7 configuration details A sixth machine used Hummingbird Connectivity and PC Anywhere software for remote access. Careful consideration must be given to the following I/S infrastructure when building the Siebel Enterprise: Type, version and patch level of all operating system code Network connectivity Network layout, that is, the node to the scheduler is “hop-for-hop” the reverse of the route from the scheduler to that node Domain Name Services Microsoft Domain Controller: user and groups UNIX: User/Group numeric ID identical on all systems Using AFS or NIS+ The Siebel file system with NFS and/or SAMBA in the mixed UNIX and Microsoft Windows computing environment 4.3 Software requirements Table 4-2 lists the software requirements for installation of Siebel 7 in a IBM AIX environment. Refer to Siebel System Requirements and Supported Platforms Version 7.0.2, 10PA1-RP00-07020, for additional information. For Windows software requirements, refer to 5.3, “Software requirements” on page 96. IP Address Server Platform Components 192.168.27.20 apalachicola Windows 2000 DNS, DHCP,Web Server, SWE 192.168.27.50 atchafalaya Windows NT Scheduler, file system, All clients 192.168.27.151 ibm151 IBM AIX 4.3.3 Siebel Server, Gateway, DB Scripts 192.168.27.152 ibm152 IBM AIX 4.3.3 Siebel Server 192.168.27.220 lostworld Solaris 5.8 NFS Share, DB2 Siebel databaseChapter 4. Installing Siebel 7 on IBM AIX 37 Table 4-2 Siebel 7 software requirements Important: Please ensure that the prerequisites are in place before commencing the Siebel 7 installation. Products EXACT patch level or service pack IBM AIX AIX 4.3.3 5765-C34 LCD4-0286-06 volumes 1-4 AIX 4.3 Update CD 5765-C34 LCD-0995-11 AIX 4.3.3.0-8 Patch Sun Solaris Solaris 5.8 Solaris 8 Recommended Patch Cluster Jan/03/02 Microsoft Windows NT NT 4.0 Service Pack SP6a Java Virtual Machine 3802 Microsoft Windows 2000 Service Pack SP2 Java Virtual Machine 3802 IBM DB2 UDB EE (Enterprise Edition) Solaris V 7.1 DB2 code update U475337_4577 /FP3sa for DB2 UDB 7.1 Solaris IBM DB2 UDB EE (Enterprise Edition) AIX V 7.1 DB2 code update U475375_4539 /FP3sa for DB2 UDB 7.1 AIX IBM DB2 UDB Runtime Client V7.2 Fix Pack 3SA Siebel Web Client Microsoft Internet Explorer 5.5 Service Pack 2 Java Virtual Machine 3802 Microsoft Foundation Class (MFC) V 2.0 Microsoft Universal Data Access V 2.638 Siebel 7 Using DB2 UDB V7.x 4.4 Hardware requirements Table 4-3 lists the hardware requirements for installing Siebel 7 in an IBM AIX environment. Refer to Siebel System Requirements and Supported Platforms, Version 7.0.2, 10PA1-RP00-07020 for additional information. For Windows hardware requirements, refer to 4.4, “Hardware requirements” on page 38. Table 4-3 Siebel 7 hardware requirements 4.5 Installing pre-Siebel software The following steps form the foundation of a standard software environment which we created on each server used in our configuration. 4.5.1 Installing base AIX Refer to the IBM Redbook IBM Certification Study Guide AIX Installation and System Recovery for information on installing the AIX Operating System and Related Patches. Visit the following Web site to view the AIX Online Technical Library: http://www-1.ibm.com/servers/aix/library/techpubs.html 4.5.2 Configuring TCP/IP networking Use the telnet command to verify network connectivity between each pair of systems. Do the same with ping to verify both the IP address and machine name. Check that all routes between the schedulers and other nodes are symmetric. Siebel 7 server type Minimum hardware requirements Siebel Gateway B50 1 GB memory Siebel Server B50 1 GB memory Siebel Database Server As recommend by Vendor Sun Ultra 1 GB memory 18 GB disk Attention: The installation of the AIX and Solaris 5.8 operating system for the DB2 database server is not within the scope of this document.Chapter 4. Installing Siebel 7 on IBM AIX 39 On UNIX, use traceroute to verify that for each pair of systems every path is hop-to-hop the same as the reverse path. In addition to the IP addresses of the systems involved, placeholder addresses and a virtual address or VIP also need to be available. 4.5.3 Configuring users and groups In a complex network of UNIX servers it is often assumed that a system such as the Network Information System (NIS or NIS+) or the Andrew File System (AFS) is used. This makes the administration of users and groups very simple and the movement of files easy. However, in the simple situation being presented here, these complex solutions are not needed. To make the Siebel Enterprise work with local authorization only, all userids and groups should be identical on each of the UNIX systems. To maintain consistency between UNIX systems, the numeric identity is the same for each user across systems and for each group between systems. These users from the /etc/passwd file would look similar on all UNIX systems: resonate:!:701:504::/home/resonate:/usr/bin/ksh resmon:!:702:504::/home/resmon:/usr/bin/ksh db2inst1:!:501:504::/home/db2inst1:/usr/bin/ksh db2fenc1:!:502:505::/home/db2fenc1:/usr/bin/ksh db2as:!:503:506::/home/db2as:/usr/bin/ksh sadmin:!:601:504::/home/sadmin:/usr/bin/ksh siebel:!:602:603::/home/siebel:/usr/bin/ksh These groups from the /etc/group file would look similar on all UNIX systems: db2iadm1:!:504:resonate,resmon,db2inst1,sadmin db2fadm1:!:505:db2fenc1 db2asgrp:!:506:db2as sse_role:!:603:db2inst1,db2fenc1,sadmin,siebel,db2as 4.5.4 Sharing the Siebel File System Create a File System and use NFS to share all of the AIX and Siebel code being installed. Attention: The VIP is only assigned to the Central Dispatch Scheduler installed later, never to a physical machine.40 Siebel 7 Using DB2 UDB V7.x However, due to the mix of UNIX and Windows client machines, it would not be the optimal choice for the Siebel File System. A product like SAMBA may be more appropriate. 4.5.5 Installing Resonate Resonate Central Dispatch is a distributed server management system provided by Siebel on the installation CD-ROM along with other third party products. Central Dispatch must be installed on all Siebel Servers when you intend to deploy: Application Object Managers that can be load-balanced (such as Call Center, eSales, and others) across Siebel Servers Load-balancing on Web servers (even if the load-balancing is not done by Central Dispatch) Even a single IBM HTTP Server (IHS) as your Web server Resonate — installation steps on UNIX Refer to Resonate Central Dispatch, An In-Depth Technical White Paper for an overview of Central Dispatch. Refer to the Resonate Central Dispatch Site Preparation Guide, the Resonate Central Dispatch Resonate Commander Installation Guide for AIX, and Chapter 3 of the Siebel Server Installation Guide for UNIX, v7 for the actual installation instructions. 1. As the root user, navigate to the directory with the Resonate Central Dispatch code. 2. Change to the directory: unix subdirectory 3. Execute: install-cd-commander 4. At each prompt, respond as described in Table 4-4. Restriction: IBM HTTP Server is currently not certified for use with the Siebel Enterprise Attention: Installing Central Dispatch scheduler node on Windows is covered in 5.6.7, “Installing Resonate” on page 100.Chapter 4. Installing Siebel 7 on IBM AIX 41 Table 4-4 Resonate prompts and response 5. After the reboot, issue the following command to verify that the agents have started correctly: ps -ef | grep 'resonate/bin' 6. Note the following processes: – reporter-agent.bin – cdagent 7. Issue the following to verify that the Central Dispatch virtual address exists: ifconfig -a # ifconfig -a en1: flags=4e080863 inet 192.168.27.152 netmask 0xffffff00 broadcast 192.168.27.255 lo0: flags=e08084b inet 127.0.0.1 netmask 0xff000000 broadcast 127.255.255.255 inet6 ::1/0 inet 192.168.27.188 netmask 0xffffff00 broadcast 192.168.27.255 The corresponding ipconfig /all from the Windows NT based scheduler node is shown in Figure 4-3. Figure 4-3 ipconfig /all on the scheduler nodeChapter 4. Installing Siebel 7 on IBM AIX 43 Adding ibm151 as a server node The use of Dispatch Manager to add the first server node ibm151 to the Central Dispatch site is shown in the following series of screen captures (Figure 4-4 on page 43 through Figure 4-10 on page 49). Normally all of the server nodes would be added at this time. Figure 4-4 atchafalaya — currently this is the scheduler node [blue] Attention: After Central Dispatch components are installed on an AIX server assigned as a Central Dispatch Server node, the machine will fail to boot if the Central Dispatch Scheduler is down or not accessible over the network.44 Siebel 7 Using DB2 UDB V7.x Figure 4-5 ibm151 — a server node before Add/ApplyChapter 4. Installing Siebel 7 on IBM AIX 45 Figure 4-6 ibm151 — a server node after Add/Apply46 Siebel 7 Using DB2 UDB V7.x Figure 4-7 Stopping the central dispatch siteChapter 4. Installing Siebel 7 on IBM AIX 47 Figure 4-8 Starting the central dispatch site 48 Siebel 7 Using DB2 UDB V7.x Figure 4-9 Site view — server node ibm151 is active [green] Chapter 4. Installing Siebel 7 on IBM AIX 49 Figure 4-10 Site view of the ibm151 node with no messages 50 Siebel 7 Using DB2 UDB V7.x 4.5.6 Installing the DB2 server and DB2 clients Refer to the IBM DB2 Universal Database for UNIX Quick Beginnings, V7 for the actual installation instructions. Refer to the additional information packaged with DB2 FP3sa for a listing of APAR fixes included in the patch as well as additional installation instructions. The two documents are APAR fixes included in WR21254_4540 (Fixpak 3sa) and Overview of FixPak for IBM DB2 Universal Database* Version 7.1. DB2 UDB installations of both the server and the client must have fixpack FP3sa installed prior to the installation of Siebel code. The same DB2 patch will install on top of both DB2 server products as well as DB2 client products. To highlight the cross platform compatibility of DB2 UDB, the Siebel DB2 database will be installed on SUN Solaris. Siebel Servers will run on AIX systems having their respective version of DB2 UDB Enterprise Edition clients installed. DB2 server: Solaris operating system configuration From the DB2 Quick Beginnings: DB2 for UNIX guide, these kernel parameters will need to be added to /etc/system. A reboot will be required. * Recommended kernel parameters for "DB2 for Solaris" * for systems with more than 512MB of physical memory *set msgsys:msginfo_msgmax = 65535 set msgsys:msginfo_msgmnb = 65535 set msgsys:msginfo_msgmap = 258 set msgsys:msginfo_msgmni = 256 set msgsys:msginfo_msgssz = 16 set msgsys:msginfo_msgtql = 1024 set msgsys:msginfo_msgseg = 32768 *set shmsys:shminfo_shmmax = 536870912 set shmsys:shminfo_shmseg = 16 set shmsys:shminfo_shmmni = 300 *set semsys:seminfo_semmni = 1024 set semsys:seminfo_semmap = 1026 set semsys:seminfo_semmns = 2048 set semsys:seminfo_semmnu = 2048 Important: After applying the DB2 FP3sa patch for DB2 7.1, do not start either the DB2 instance or the Administration server without performing instance updates. Failure to apply the updates will keep the instances from starting.Chapter 4. Installing Siebel 7 on IBM AIX 51 DB2 server: Installing on Solaris 1. As root, change to the directory: /cdrom db2_v71_ee_sun_sbcs sol_7_doc/directory 2. Run the program: db2setup 3. The initial screen displays installation choices for DB2 code and documentation. Make the selections shown in Figure 4-11. Figure 4-11 Selection of code to install52 Siebel 7 Using DB2 UDB V7.x 4. Next you will see the screen shown in Figure 4-12. Figure 4-12 Create both DB2 instance and Administration server Chapter 4. Installing Siebel 7 on IBM AIX 53 5. Next you will see the screen shown in Figure 4-13. Figure 4-13 Instance owner 54 Siebel 7 Using DB2 UDB V7.x 6. Next you will see the screen shown in Figure 4-14. Figure 4-14 Fenced user Attention: The DB2 Warehouse Control Database and Distributed Join do not need to be configured for building the Siebel Enterprise.Chapter 4. Installing Siebel 7 on IBM AIX 55 7. Next you will see the screen shown in Figure 4-15. Figure 4-15 Administration server owner56 Siebel 7 Using DB2 UDB V7.x DB2 client: Installation of DB2 on AIX Select all of the choices with the exception of the DB2 UDB Enterprise Edition. The installation will proceed as in the case of the Solaris DB2 installation. Install both the DB2 instance and the Administration server. See Figure 4-16. Figure 4-16 Selections for Siebel Servers Note: Review the steps for the DB2 Solaris installation. The installation process of AIX DB2 server code without the DB2 server is very much the same. If only the DB2 client code is installed, there will be no instances created.Chapter 4. Installing Siebel 7 on IBM AIX 57 DB2: Installing Update U475375_xxxx /FP3sa IBM provides extensive documentation as part of each DB2 Update. One document lists all APARS included in the update. The Overview of FixPak has detailed information about the update along with installation instructions and post-update actions. Review the installation steps in Table 4-5. The process would be the same for AIX and Solaris. If only the DB2 client code is installed, there will be no instance update steps. Table 4-5 Patch update steps Use the command line to apply the DB2 patch and update all instances. See Example 4-1. Example 4-1 Applying the DB2 patch # su -db2inst1 Sun Microsystems Inc. SunOS 5.8 Generic February 2000 $ db2stop SQL1064N DB2STOP processing was successful. $ db2admin stop SQL4407W The DB2 Administration Server was stopped successfully. $ exit Important: After applying the DB2 FP3sa patch for DB2 7.1, do NOT start either the DB2 instance or the Administration server without performing instance updates. Failure to apply the updates will keep the instances from starting. Sequence Userid Directory Action 1 db2inst1 db2stop 2 db2inst1, db2as db2admin stop 3 root delta, install installallpatch 4 root /opt/IBMdb2/V7.1/instance db2ilist 5 root /opt/IBMdb2/V7.1/instance db2iupdt 6 root /opt/IBMdb2/V7.1/instance dasilist 7 root /opt/IBMdb2/V7.1/instance dasiupdt 8 db2inst1 db2start 9 db2inst1, db2as db2admin start58 Siebel 7 Using DB2 UDB V7.x # ls APAR.txt FixpakReadme.txt delta_install siebel_4577_fp32.tar # cd delta* # ls 172037-000 172037-014 172037-028 172037-042 172037-056 172037-001 172037-015 172037-029 172037-043 172037-057 172037-002 172037-016 172037-030 172037-044 172037-058 172037-003 172037-017 172037-031 172037-045 172037-059 172037-004 172037-018 172037-032 172037-046 172037-060 172037-005 172037-019 172037-033 172037-047 172037-061 172037-006 172037-020 172037-034 172037-048 172037-062 172037-007 172037-021 172037-035 172037-049 172037-063 172037-008 172037-022 172037-036 172037-050 172037-064 172037-009 172037-023 172037-037 172037-051 172037-065 172037-010 172037-024 172037-038 172037-052 172037-066 172037-011 172037-025 172037-039 172037-053 172037-067 172037-012 172037-026 172037-040 172037-054 backoutallpatch 172037-013 172037-027 172037-041 172037-055 installallpatch # ./installallpatch INFO: Do NOT interrupt while installing patch 172037-000... Installation of was successful. INFO: Do NOT interrupt while installing patch 172037-001... Installation of was successful. INFO: Do NOT interrupt while installing patch 172037-002... Installation of was successful. INFO: Do NOT interrupt while installing patch 172037-003... … ( continues )…Chapter 4. Installing Siebel 7 on IBM AIX 59 INFO: Do NOT interrupt while installing patch 172037-050... Installation of was successful. # # cd /opt/IBMdb2 # ls V7.1 # cd V7.1 # ls Readme bin conv function include java map qp spb adm bnd doc ha install java12 misc samples tivready adsm cfg doc.cmn icuweb instance lib msg security # cd instance # ls dasicrt db2gpmig db2idefs db2imdbm db2iset disp_msg dasidrop db2iauto db2idrop db2imigr db2ishut dasilist db2icfg db2iinfo db2imnod db2istop dasiupdt db2icknm db2ilist db2inst.defs db2istrt db2ckmig db2icrt db2imchk db2instcfg db2iupdt db2clpid db2idbm db2imdbd db2ipcld db2iutil # ./dasiupdt db2as Sun Microsystems Inc. SunOS 5.8 Generic February 2000 DBI1070I Program dasiupdt completed successfully. ## ./db2iupdt db2inst1 Sun Microsystems Inc. SunOS 5.8 Generic February 2000 DBI1070I Program db2iupdt completed successfully. ## su -db2inst1 Sun Microsystems Inc. SunOS 5.8 Generic February 2000 $ $ db2start SQL1063N DB2START processing was successful. $ $ db2admin start SQL4406W The DB2 Administration Server was started successfully. $60 Siebel 7 Using DB2 UDB V7.x DB2 server: Executing database scripts The scripts in Appendix A, “Database setup scripts on UNIX” on page 213 were used to create a small DB2 database (SIEBEL) with tablespaces for use in building a small Siebel Enterprise. The parameters chosen would need to be reviewed for relevance in a large Production Enterprise. DB2 client: Shell configuration files The following is the db2inst1 .profile. The DB2 update has been modified to be more generic and the Siebel information added at ahead of time. This configuration can then be copied from the /home/db2inst1 directory to any location where needed. See Example 4-2. Example 4-2 The db2inst1 .profile PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:. export PATH if [ -s "$MAIL" ] # This is at Shell startup. In normal then echo "$MAILMSG" # operation, the Shell checks fi # periodically. # The following three lines have been added by UDB DB2. if [ -f /home/db2inst1/sqllib/db2profile ]; then . /home/db2inst1/sqllib/db2profile fi # The following three lines have been added by Siebel. if [ -f /siebel/sea703/siebenv.sh ]; then . /siebel/sea703/siebenv.sh fi Note: The siebenv.sh script will be added and edited during the installation of the Gateway.Chapter 4. Installing Siebel 7 on IBM AIX 61 DB2 client: Cataloging the node and database Use the following commands to catalog the Siebel Database on the application servers: db2 catalog tcpip node solaris remote 192.168.27.220 server db2cdb2inst1 db2 catalog database siebel as siebel at node solaris 4.6 Installing Siebel Enterprise Server software This section deals with installing the Siebel Enterprise components Gateway and Application Servers. 4.6.1 Installing Siebel Gateway Server Refer to Chapter 4 of the Siebel Server Installation Guide for UNIX, v7 for the actual installation instructions for the Gateway Server. Install the Siebel Gateway Server as the database username (sadmin in our case) to be used by the Siebel Server for version checking, auto starting of server components, and operation of the Synchronization Manager. On the UNIX platform: 1. Set umask to 027 prior to installing the Gateway. 2. Change to the directory: /unix_server_aix_1_enu/gtwysrvr/install 3. Execute the shell script: install_gateway The responses to the script prompts are shown in Table 4-6.62 Siebel 7 Using DB2 UDB V7.x Table 4-6 Siebel Gateway prompts and responses 4. Edit the siebenv.sh file. The siebenv.sh file is used to initialize the Siebel environment. The file is located in $SIEBEL_HOME. Edit the LIBPATH variables adding the DB2 sqllib/lib path. as follows. This will insure that DB2 libraries are available to the Siebel processes. See Example 4-3. Example 4-3 Editing the siebenv.sh file SIEBEL_ROOT=/siebel/sea703 ; export SIEBEL_ROOT SIEBEL_HOME=/siebel/sea703 ; export SIEBEL_HOME SIEBEL_LIB_DIR=/siebel/sea703/lib ; export SIEBEL_LIB_DIR MWHOME=${SIEBEL_ROOT}/mw ; export MWHOME SQLANY=${SIEBEL_ROOT}/SYBSsa70 ; export SQLANY SIEBEL_LANGUAGE=enu ; export SIEBEL_LANGUAGE PATH=${PATH}:${SIEBEL_ROOT}/bin:${MWHOME}/bin ; export PATH Prompt or activity Responses Please choose the language in which all remaining installer text will be displayed [1] 1 Please specify the directory into which Siebel should be installed [/siebel] /siebel/sea703 Installation directory /siebel/sea703 does not exist: would you like to create it [Y] y Please specify Gateway Server port number [2320] Enter Would you like to accept these settings? (Y to install files. N to change) [Y] y Would you like to accept these settings? (Y to install files. N to change) [Y] y ... installation proceeds... Wait for installation Would you like to configure this section? (Y to configure. No to accept values as shown) [Y] y Should the Siebel Gateway Serve have autostart enabled (Y or N) [] y y Do you want to apply these parameter values [Y] y Gateway Server Installation complete Installation CompeteChapter 4. Installing Siebel 7 on IBM AIX 63 PATH=${PATH}:${SQLANY}/bin if [[ a${LIBPATH} = ${LIBPATH}a ]] then LIBPATH=/usr/lib:${SIEBEL_ROOT}/lib:${MWHOME}/lib:/home/db2inst1/sqllib/lib else LIBPATH=/usr/lib:${SIEBEL_ROOT}/lib:${MWHOME}/lib:/home/db2inst1/sqllib/lib :${LIBPATH} fi LIBPATH=${LIBPATH}:${SQLANY}/lib export LIBPATH MWREGISTRY=${MWHOME}/system/registry.bin ; export MWREGISTRY ODBCINI=${SIEBEL_ROOT}/sys/.odbc.ini ; export ODBCINI SIEBEL_GATEWAY=ibm151; export SIEBEL_GATEWAY MW_GMA_VADDR=0xb0000000 ; export MW_GMA_VADDR LIBPATH=${LIBPATH}:${SIEBEL_ROOT}/lib/odbc/merant export LIBPATH SIEBEL_CODEPAGE=1252; export SIEBEL_CODEPAGE LIBPATH=${LIBPATH}:${SIEBEL_ROOT}/lib/odbc/merant export LIBPATH NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1; export NLS_LANG SIEBEL_CODEPAGE=1252; export SIEBEL_CODEPAGE RESONATE_ROOT=/usr/local/resonate; export RESONATE_ROOT DB2CLIINIPATH=/siebel/sea703; export DB2CLIINIPATH 4.6.2 Installing the Siebel Server Refer to Chapter 5 of the Siebel Server Installation Guide for Unix v7 for the actual installation instructions. Install the Siebel Server as the database username (sadmin in our case) to be used by the Siebel Server for version checking, auto starting of server components and operation of the Synchronization Manager. On the UNIX platform: 1. Set umask to 027 prior to installing the Application Server 2. Change to the directory: /unix_server_aix_1_enu/siebsrvr/install 3. Execute the shell script: install_server The responses to the script prompts are shown in Table 4-7. Note: The siebenv.sh configuration files are executed by the login profile.64 Siebel 7 Using DB2 UDB V7.x Table 4-7 Siebel Server prompts and responses Prompts or activity Responses Please choose the language in which all remaining install text will be displayed 1-enu Please specify the directory into which Siebel should be installed [/siebel] /siebel/sea703 /Is Resonate installed for this Enterprise? [N] y Please specify the directory in which Resonate is installed [/usr/local/resonate/] Enter 'Now beginning File Installation’ '******** The indicated packages are selected for installation [X] Siebel Server Executables.... Would you like to accept these settings? (Y to install files, N to change) [Y] y The indicated language packages are selected for installation [X] enu Would you like to accept these settings? (Y to install files, N to change) [Y] y The indicated Component Groups are selected to be enabled upon startup of the Siebel Server. [X] System Management Do you want to apply these settings? n The indicated Component Groups are selected to be enabled upon startup of the Siebel Server. [X] System Management [X] Siebel Call Center Do you want to apply these settings? y Now beginning Siebel Enterprise Configuration ******* Enter a name for the new Siebel Enterprise [siebel] Enter Please enter the Siebel File System path [/siebel/filesystem] Enter Please enter the Siebel service owner (Resonate administrator) username [] resonateChapter 4. Installing Siebel 7 on IBM AIX 65 Please enter the Siebel Service owner (Resonate administrator) password [ resonate Please re-enter the Siebel Service owner (Resonate administrator) password [] resonate Please specify the Virtual IP address (VIP) or Virtual Host name for the Enterprise Server. 192.168.27.18 Provide a brief description of this Enterprise [Siebel Enterprise] Enter Select the server database used by your organization [2] 2-DB2 UDB Enter the name of the database [] siebel Enter the database table owner [siebel siebel Please enter the database username to be used by the Siebel Server for version checking, auto starting of server components and operation of the Synchronization Manager [sadmin] sadmin Enter the database user's password [] sadmin Re-enter the database user's password [] sadmin Please specify the port to be used by the Synchronization Manager [40400] Enter Please specify the FirstLogic Root Directory [/usr/postware] /siebel/postware Please specify the Chart Server host [] Enter You should enter a valid host name 2-Keep the input and continue the installation Chart Image Format [1] 1-png Please select the Encryption Type [1] 1-NONE Do you want to apply these parameter values? [Y] y Now beginning the Siebel Server Configuration ******** Prompts or activity Responses66 Siebel 7 Using DB2 UDB V7.x Run the Siebel program odbcsql to test ODBC connectivity with the Siebel database that was created earlier. This program should be used to verify connectivity before the Siebel Database Server code is installed and the database creation is attempted. See Example 4-4. Example 4-4 Running the odbcsql program $ odbcsql ODBCSQL -ODBC SQL Interface program Copyright (c) 2001 Siebel Systems, Inc. All rights reserved. This software is the property of Siebel Systems, Inc., 2207 Bridgepointe Parkway, San Mateo, CA 94404. Enter a name for the new Siebel Server [ibm151] Enter Enter a description for this Siebel Server [Siebel Server ibm151] Enter DB2Dir [] /home/db2inst1 Select the appropriate licensing option for eBriefing and eContent Services [1] 3-None Would you like to configure this section? (Y to configure, N to accept values as shown) [Y] n Do you want to configure a Search Server? [1] 3-None Would you like to configure this section? (Y to configure, N to accept values as shown) [Y] y Should this Siebel Server have autostart enabled (Y or N)? [] y Do you want to apply these settings? [Y] y Do you want to start Siebel Server ibm151? [Y] y Important: If the Siebel Server is started at this time, it will fail to start completely while database connectivity errors can be seen in the error logs. This is normal. The Siebel database has not yet been installed in the DB2 database. Prompts or activity ResponsesChapter 4. Installing Siebel 7 on IBM AIX 67 User agrees that any use of this software is governed by: (1) the applicable user limitations and other terms and conditions of the license agreement which has been entered into with Siebel Systems or its authorized distributors; and (2) the proprietary and restricted rights notices included in this software. WARNING: THIS COMPUTER PROGRAM IS PROTECTED BY U.S. AND INTERNATIONAL LAW. UNAUTHORIZED REPRODUCTION, DISTRIBUTION OR USE OF THIS PROGRAM, OR ANY PORTION OF IT, MAY RESULT IN SEVERE CIVIL AND CRIMINAL PENALTIES, AND WILL BE PROSECUTED TO THE MAXIMUM EXTENT POSSIBLE UNDER THE LAW. If you have received this software in error, please notify Siebel Systems immediately at (650) 295-5000. Type help for usage information. ODBC> set source=siebsrvr_siebel ODBC> login sadmin/sadmin SQL DBMS: DB2/SUN version 70.20.0000 ODBC driver: libdb2.a version 07.02.0000 (login time: 0.28s) ODBC> Siebel Database Server Installation Refer to the Siebel Server Installation Guide for UNIX, v7 Chapters 6 and 7 for the actual installation instructions for the Siebel Database Server and installation scripts. There are two parts to the Siebel Database Server installation. 1. The installation process copies Siebel database construction scripts, the Siebel file system files, and the stored procedure files to the Siebel home directory. Notes: Installation logs for the Siebel Server are located in $SIEBEL_HOME/log/. Runtime logs are located in $SIEBEL_HOME/enterprises/siebel/ibm151/log/.68 Siebel 7 Using DB2 UDB V7.x 2. The execution of installation tasks involves copying files or executing database creation scripts. Installing the Siebel Database Server Install the Siebel Server as the database username (sadmin in our case) to be used by the Siebel Server for version checking, auto starting of server components and operation of the Synchronization Manager. On the UNIX platform: 1. Set umask to 027 prior to installing the Siebel Database Server. 2. Change to the directory: /unix_server_aix_1_enu/dbsrvrsrvr/install 3. Execute the shell script: install_dbsrvr The responses to the script prompts are shown in Table 4-8. Table 4-8 Siebel Database Server prompts and responses This is the minimal response set as both the Gateway Server and Siebel Server are already installed on this machine. 4.6.3 Copying the Siebel DLL In Siebel version 7.0.3, copy the stored procedure file from $DBSRVR_ROOT /db2udb/siebproc/DBSRVR_OS to the appropriate $INST_HOME/sqllib/function directory. See Example 4-5. Prompts or activity Responses Please choose the language in which all remaining installer text will be displayed [1] 1-enu The indicated packages are selected for installation [X] DB2 UDB [ ] Oracle files [X] Sample File Attachments Would you like to accept these settings (Yes to install files, No to change) [Y] y Note: The configuration setup file, siebenv.sh, has been executed by the login profile.Chapter 4. Installing Siebel 7 on IBM AIX 69 Example 4-5 Copying the stored procedure file # pwd /home/db2inst1/sqllib/function # ls Xf.properties Xf_no.properties db2psmds Xf_da.properties Xf_pt_BR.properties db2sg Xf_de.properties Xf_sv.properties db2udp Xf_es.properties Xf_zh_CN.properties db2vwxf Xf_fi.properties Xf_zh_TW.properties libdb2u.a Xf_fr.properties com siebproc Xf_it.properties db2clifn.a src Xf_ja.properties db2cliks tblpd Xf_ko.properties db2mq unfenced 4.6.4 Populating the Siebel File System Copy all of the files from $DBSRVR_ROOT/db2udb/files to the /att directory of the Siebel file system. Also, copy the KB.kb file from $DBSRVR_ROOT/db2udb/files to the /cms directory within the Siebel File System. 4.6.5 Configuring DB Install Using the database username sadmin, execute the shell script: dbsrvr_config.ksh The responses to the script prompts are shown in Table 4-9. Table 4-9 Loading Siebel Database -prompts and responses Prompts or activity Responses Please specify the Siebel Server root directory: /siebel/sea703 Please specify the Database Server root directory: /siebel/sea703 Please select which Database Server options you want to configure 1-Install Database Has GRANTUSR.SQL been run by the DBA to create Siebel users/roles? (Y/N) y70 Siebel 7 Using DB2 UDB V7.x 4.6.6 Configuring DB Import Under database username (sadmin), execute the following shell script to import the Siebel repository: dbsrvr_config.ksh The responses to the script prompts are shown in Table 4-10. Select one of the following options: 1-Install Siebel Database Please choose one of the following languages: 1-English Please select the Database Platform from the following options 1-IBM DB2 UDB v7.1 Please select the ODBC Datasource for the database siebsrvr_siebel Please specify the User Name for the database sadmin Please specify the User Name Password for the database sadmin Please specify the Table Owner Password for the database siebel Please specify the Index Tablespace name siebel Please specify the Index Tablespace name tbs_idx Please specify the 4K Tablespace name tbs_4k Please specify the 16K Tablespace name tbs_16k Please specify the 32K Tablespace name tbs_32k Would you like to run srvrupgwiz? (Y/N) y Important: Review all of the logs generated by the database installation task to ensure that no errors exist. Prompts or activity ResponsesChapter 4. Installing Siebel 7 on IBM AIX 71 Table 4-10 Siebel Repository prompts and responses Prompts or activity Responses Please review the values of the following environmental variables: SIEBEL_ROOT = /siebel/sea703LANGUAGE = enu Are these correct? (Y/N) y Please specify the Siebel Server root directory: /siebel/sea703 Please specify the Database Server root directory /siebel/sea703 Please select which Database Server options you want to configure 3-Import/Export Repository Select one of the following options: 1-Import Repository Please specify your import repository option: 1-Import Siebel Repository Please choose one of the following languages: 1-English Please select the Database Platform from the following options: 1-IBM DB2 UDB v7.1 Please select the ODBC Datasource for the database siebsrvr_siebel Please specify the User Name for the database sadmin Please specify the User Name Password for the database sadmin Please specify the Table Owner for the database siebel Please specify the Table Owner Password for the database siebel Please specify the import repository name Siebel Repository /siebel/sea703/common/mstrep.dat /siebel/sea703/c ommon/mstrep. dat Would you like to run srvrupgwiz? (Y/N) y Important: Review all of the logs generated by the database installation task to ensure that no errors exist.72 Siebel 7 Using DB2 UDB V7.x 4.6.7 Verifying the Siebel Enterprise Stop and restart all of the Siebel components. Siebel provides the following shell script to control the state of the Gateway and Siebel Server. siebel_server The svc.siebsrvr.siebel:ibm151 file maintains information on the current status of the Siebel Server as well startup and shutdown information. The file is located in: $SIEBEL_HOME/sys/. siebsvc -s siebsrvr -a "-g ibm151 -e siebel -s ibm151" yes stopped Fri Jan 18 23:52:14 2002 0 The svc.gtwyns file maintains information on the current status of the Gateway Server. These files are located in: $SIEBEL_HOME/sys/. Check the logs for the Siebel Server and verify that it has started correctly. There will be database connection or repository access errors if the license key has not been entered into the database. 4.6.8 Installing an additional Siebel Server Refer to Chapter 5 of the Siebel Server Installation Guide for UNIX, v7 for the actual installation instructions for the Siebel Server. Install the Siebel Server as the database username (sadmin in our case) to be used by the Siebel Server for version checking, auto starting of server components and operation of the Synchronization Manager. On the UNIX platform: 1. Set umask to 027 prior to installing the Siebel Server. Attention: Do NOT edit or change the file in any way. Attention: Do NOT edit or change the file in any way.Chapter 4. Installing Siebel 7 on IBM AIX 73 2. Change to the directory: /unix_server_aix_1_enu/siebsrvr/install 3. Execute the shell script: install_server The responses to the script prompts are shown in Table 4-11. Table 4-11 Additional Siebel Server prompts and responses Prompts or activity Responses Please choose the language in which all remaining install text will be displayed 1-enu Please specify the directory into which Siebel should be installed [/siebel] /siebel/sea703 Installation directory /siebel/sea703 does not exist; would you like to create it now? [Y] y Please enter the address of the Siebel Gateway Server [ibm152] 192.168.27.151 Please enter the port of the Siebel Gateway Server [2320] Enter /Is Resonate installed for this Enterprise? [N] y Please specify the directory in which Resonate is installed [/usr/local/resonate/] Enter Would you like to accept these settings? (Y to install, N to change) y 'Now beginning File Installation’ '******** The indicated packages are selected for installation [X] Siebel Server Executables.... Would you like to accept these settings? (Y to install files, N to change) [Y] y The indicated language packages are selected for installation [X] enu Would you like to accept these settings? (Y to install files, N to change) [Y] y74 Siebel 7 Using DB2 UDB V7.x The indicated Component Groups are selected to be enabled upon startup of the Siebel Server. [X] System Management Do you want to apply these settings? n The indicated Component Groups are selected to be enabled upon startup of the Siebel Server. [X] System Management [X] Siebel Call Center Do you want to apply these settings? y Now beginning Siebel Enterprise Configuration ******* Now beginning Siebel Enterprise Configuration 1) Siebel 2) Create new Enterprise Select an enterprise for this Siebel Server [1] siebel Would you like to review the configuration of this Enterprise? [N] n Now beginning the Siebel Server Configuration ****** Enter a name for the new Siebel Server [ibm152] Enter Enter a description for this Siebel Server [Siebel Server ibm152] Enter DB2Dir [] /home/db2inst1 Select the appropriate licensing option for eBriefing and eContent Services [1] 3-None Would you like to configure this section? (Y to configure, N to accept values as shown) [Y] n Do you want to configure a Search Server? [1] 3-Skip Would you like to configure this section? (Y to configure, N to accept values as shown) [Y] y Should this Siebel Server have autostart enabled (Y or N)? [] y Do you want to apply these settings? [Y] y Do you want to start Siebel Server ibm152? [Y] y Prompts or activity ResponsesChapter 4. Installing Siebel 7 on IBM AIX 75 Recycle all of the Enterprise Server components. The Gateway server should always be started first and shut down last. 4.6.9 Viewing Siebel Servers in Resonate Central Dispatch Viewed in Central Dispatch Manager, Figure 4-17 through Figure 4-20 show what the Siebel Servers of the new Enterprise will look like. Figure 4-17 Resonate Central Dispatch Manager log76 Siebel 7 Using DB2 UDB V7.x Figure 4-18 When both servers become operationalChapter 4. Installing Siebel 7 on IBM AIX 77 Figure 4-19 Siebel Server ibm151 78 Siebel 7 Using DB2 UDB V7.x Figure 4-20 Siebel Server ibm152 4.7 Installing Siebel clients Refer to the Siebel Web Client Installation Guide, v7 for the actual installation instructions.Chapter 4. Installing Siebel 7 on IBM AIX 79 4.7.1 SEAW client installation 1. Change to the directory: SEAW 2. Execute the program: install.exe Use the responses in Table 4-12 to install the client. Table 4-12 SEAW client prompts and responses For the results, see Figure 4-21 and Figure 4-22. Prompts or activity Responses Setup Type Custom Destination folder C:\sea703\client Select Components Add Server Manager Choose Languages Base, English Server Database IBM DB2 Universal Database 7.2 Document Integrator Microsoft Office Siebel FileSystem \\192.168.27.50\SiebFiles Siebel Remote Server False Database Alias SIEBEL Table Owner siebel Gateway Server Address 192.16.27.151 Enterprise Server siebel Request Component SRMsynch Request Server Name Leave blank Search Configuration Do not change Hostname and Port Number Program Folder Siebel Client 7.0.380 Siebel 7 Using DB2 UDB V7.x Figure 4-21 The SEAW client Chapter 4. Installing Siebel 7 on IBM AIX 81 Figure 4-22 Click “View”82 Siebel 7 Using DB2 UDB V7.x 4.7.2 Installing the license Verify that the client is functional: 1. Login with the username and password of sadmin (Figure 4-23). Figure 4-23 Logging into SEAW client 2. A request for a valid Enterprise license key should appear at the first login (Figure 4-24). Figure 4-24 License Request window 3. Next you will see the Enterprise View (Figure 4-25).Chapter 4. Installing Siebel 7 on IBM AIX 83 Figure 4-25 Enterprise View84 Siebel 7 Using DB2 UDB V7.x 4.7.3 Installing the Toolkit client (seatools) Refer to the Siebel Tools Reference, v7 for the actual installation instructions of the Siebel TOOL Development environment. While our focus is on the production environment, we have included here installation information relating to the development environment. Installing Siebel Tools Siebel Tools is supplied on an individual CD-ROM: 1. Change to the directory: tools 2. Execute: install.exe Use the responses in Table 4-13 to install the Toolkit client. Table 4-13 Toolkit client prompts and responses Start Siebel Tools and verify that it functions correctly (Figure 4-26). Prompts or activity Responses Setup Typical Destination Folder c:\sea703\tools Choose Languages Base, English Server Database IBM DB2 Universe Database 7.2 Siebel FileSystem \\192.168.27.50\SiebFiles Siebel Remote Server False Database Alias SIEBEL Table Owner siebel Program Folders Siebel Tools 7.0.3Chapter 4. Installing Siebel 7 on IBM AIX 85 Figure 4-26 Siebel Tools 4.8 Installing Siebel Web and Directory Service Refer to Chapter 13 of the Siebel Server Installation Guide for Microsoft Windows, v7, for the actual instructions on installing Siebel Web and Directory Service components.86 Siebel 7 Using DB2 UDB V7.x 4.8.1 Installing Siebel Web Server Extension (SWSE) Verify that the Microsoft Web Server is available and that the available Web Browser is at the correct patch level. 1. Change to the directory: SWEApps 2. Execute: install.exe Use the responses in Table 4-14 to complete the installation of the SWSE. Table 4-14 SWSE prompts and responses Prompts or activity Responses Destination Folder c:\sea703\SWEApp Choose Languages Base, English Program Folder Siebel Web Server Extensions 7.0.3 Start Copying Files Next Use Resonate Load Balancing Check 'Yes' Gateway VIP 192.168.27.188 Gateway Port 2320 Enterprise Server Name siebel Encryption Type none First Internet Address of Web Server 192.168.27.20 Second Internet Address of Web Server apalachicola HTTP port number 80 HTTPS port number 443 Employee's Anonymous Login Name GUEST Employee's Anonymous Login Password GUEST Employee's Anonymous Login Password [confirm] GUEST Contact Login User Name sadminChapter 4. Installing Siebel 7 on IBM AIX 87 After the installation, do the following: 1. Stop, then start, the Microsoft IIS Web Server. 2. Connect to the Web server using the directory services: http://localhost/eservice This (/eservice) matches the following entry in the eapps.cfg file listed in Appendix B, “Siebel Web Server Extension configuration and log files” on page 219. [/eservice] AnonUserName = sadmin AnonPassword = sadmin ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/eServiceObjMgr/StartCommand = SWECmd=GotoView&SWEView=Home+Page+View+(eService) Also listed in Appendix B, “Siebel Web Server Extension configuration and log files” on page 219 is the SWSE log file ss020123.log file generated during this installation. Use the browser to view the following login and statistics pages (see Figure 4-27 on page 88 through Figure 4-29 on page 90). Contact Login User Password sadmin Contact Login User Password [confirm] sadmin Logging Error Level details Web Update Protection Key leave blank Important: Siebel has issued Alert #0306 and #0307 dealing with the Siebel Web Extension. Refer to Appendix D, “Siebel technical alerts” on page 235. Prompts or activity Responses88 Siebel 7 Using DB2 UDB V7.x Figure 4-27 Web based login screenChapter 4. Installing Siebel 7 on IBM AIX 89 Figure 4-28 SWSE statistics -top of page90 Siebel 7 Using DB2 UDB V7.x Figure 4-29 SWSE Statistics -bottom of pageChapter 4. Installing Siebel 7 on IBM AIX 91 4.9 Comments Considerations involving high availability and global deployment have not been covered here. To learn more about High Availability and the Siebel Enterprise, read Siebel Technical Note 0303: Siebel High Availability Solutions. See the Siebel Global Deployment Guide for information on impact to the AIX operating system caused by global deployment of the Siebel Enterprise encompassing multiple regions, multiple languages, or spanning time zones with local time and number format.92 Siebel 7 Using DB2 UDB V7.x© Copyright IBM Corp. 2002 93 Chapter 5. Installing Siebel 7 on Windows 2000 In this chapter we describe the installation process for Siebel 7 on Windows 2000 servers. Our focus is on the installation of a 3-tier configuration using multiple Siebel Servers, and the creation of a VIP (Virtual IP addresses) using Resonate software. 594 Siebel 7 Using DB2 UDB V7.x 5.1 Overview of the installation process The installation of Siebel 7 should be viewed as a process which is composed of number of steps that need to be performed in the order presented here. Figure 5-1 depicts the generalized order of the steps in the installation process, beginning with the bottom right corner, and moving counterclockwise to the bottom left corner. Except for the installation and configuration of a second Siebel Server, and the Resonate Server, the steps outlined can also be used to install Siebel 7 on a single server. Figure 5-1 Siebel 7 installation process Siebel Gateway Server Siebel Server (and Enterprise) Siebel Database Server Copy Siebel DLL Configure DB Install Populate Siebel File System Configure DB2 Client Communication and ODBC Create an "empty" database Configure DB2 Registry and DBM Parameters Install DB2 Fix Pack 3sa Install SWE Plug-in Test Web Client Check Web Statistics Dedicated Client (SEAW) Install Windows 2000 Advance Server or Server Install SP2 MDAC 2.6/MFC 2.0 Configure TCP/IP Networking Setup Active Directory and DNS and the Domain Controller Configure Users and Groups Install Resonate Share Siebel File System Install the OS, Pre-Siebel Components and DB2 Database Install the Siebel Enterprise and the Seed Database Configure DB Import Install the Siebel Clients Toolkit Client (seatools) Install License Install the Siebel WEB & Directory Services Components Install DB2 7.2 Server and DB2 Clients ODBC Rebind Grantusr Script Execution Configure 'SIEBEL' Database Building the Enterprise: A Layered Approach To Siebel 7 Test Server 4. 1. 2. 3. Configure DIrectory Services Attention: We recommend that you practice the installation on a single server before attempting a multi-server installation. This approach will allow you to familiarize yourself with the steps involved before embarking on the complexity of a multi-server environment.Chapter 5. Installing Siebel 7 on Windows 2000 95 5.2 Our Siebel 7 environment Our environment is described in Figure 5-2 and should be referenced while reading the information contained in this chapter. The configuration consists of: One Windows 2000 server for the DB2 UDB database Two Windows 2000 servers for the two Siebel Servers One Windows 2000 server for the Siebel Gateway Server and Resonate Dispatch Manager software, i.e., they were coresident One Windows 2000 server for the use as a Primary Domain controller One Windows 2000 server for the Siebel Web Server Extensions One Windows 2000 server for the Web-based client Figure 5-2 Siebel 7 test configuration Primary Domain Controller Name: pdc Siebel FileSystem:\\pdc\siebelfs IP Address: 192.168.0.107 Accounts: sadmin resonatefull resonatemonitor siebel sse_group DB2UDB Server Name: dbsrvr IP Address: 192.168.0.110 DB2 UDB 7.2 FixPack3SA Siebel Server Name: ssrvr1 IP Address: 192.168.0.101 Siebel Application Server Siebel Database Server Resonate Node Dedicated Web Client IIE 5.5 SP2 Siebel Web Client Thin Client Siebel Server Name: ssrvr2 IP Address: 192.168.0.105 Siebel Application Server Resonate Node Siebel Gateway Server Name: gw IP Address: 192.168.0.104 Siebel Name Server (Gateway) Resonate Dispatch Manager //\\ Web Server Name: ws IP Addres: 92.168.0.114 Siebel Web Extensions Microsoft IIS Siebel Enterprise Server siebel_es VIP Address: 192.168.0.7096 Siebel 7 Using DB2 UDB V7.x 5.3 Software requirements Table 5-1 lists the software requirements for installation of Siebel 7 in a Microsoft Windows 2000 environment. Refer to Siebel System Requirements and Supported Platforms Version 7.0.2, 10PA1-RP00-07020 for additional information. Table 5-1 Siebel 7 software requirements 5.3.1 Browser requirements Table 5-2 details the required browser software needed to support the Siebel 7 client environment. For additional information and additional clients supported, refer to Siebel System Requirements and Supported Platforms Version 7.0.2, 10PA1-RP00-0702. Note: Siebel 7 requires the Resonate Load Balancing software to be deployed in a configuration having more that one Siebel Server. Important: Please ensure that the prerequisites are in place before commencing the Siebel 7 installation. Products Exact patch level or service pack Microsoft Windows 2000 Microsoft Windows 2000 Advanced Server Service Pack 2 Security Update -10/18/2001 IBM DB2 UDB EE (Enterprise Edition) V 7.2 Fix Pack 3SA IBM DB2 UDB Runtime Client V7.2 Fix Pack 3SA Microsoft Internet Information Server V 5.0 Service Pack 2 Microsoft Internet Explorer V 5.5 Service Pack 2 Microsoft Foundation Class (MFC) V 2.0 Microsoft Universal Data Access V 2.6Chapter 5. Installing Siebel 7 on Windows 2000 97 Table 5-2 Siebel 7 client software requirements 5.4 Hardware requirements Table 5-3 lists the hardware requirements for installing Siebel 7 in a Microsoft Windows 2000 environment. Refer to Siebel System Requirements and Supported Platforms Version 7.0.2, 10PA1-RP00-07020 for additional information. Table 5-3 Siebel 7 hardware requirements Figure 5-4 details the required hardware needed to support the Siebel 7 client environment. For additional information and additional clients supported, refer to Siebel System Requirements and Supported Platforms Version 7.0.2 10PA1-RP00-07020. Table 5-4 Siebel 7 client hardware requirements Client Browser IE 5.5 SP2 (JVM3802) Browser IE 6.0 (JVM3802) Microsoft Windows 95 OSR 2 Yes Yes Microsoft Windows 98 SE Yes Yes Microsoft Windows NT Workstation 4.0 Service Pack 6a Yes Yes Microsoft Windows 2000 with Service Pack 2 Yes Yes Siebel 7 Server type Minimum hardware requirements Siebel Gateway PIII XEON @500 MHZ /256 Mb memory Siebel Server PIII XEON w/2 processors @500 MHZ /1Gb memory each Web Server PIII XEON @500 MHZ /512 Mb memory Siebel Database Server As recommend by Vendor Client type Minimum hardware requirements Siebel Web Client — High Interactive PIII 500 MHz 128Mb Memory 10Gb storage Siebel Web Client — Standard Interactive As recommend by operating system or browser vendor98 Siebel 7 Using DB2 UDB V7.x 5.5 Static IP address requirements Static IP addresses are required for each server used as either a Siebel Gateway,Siebel Server, Central Dispatch Controller or Backup Dispatch Controller operating in a VIP configuration. One additional static IP address will be required to act as the IP address of the VIP configuration. While it is not mandatory, we recommend that all systems acting as servers be configured with static IP addresses. 5.6 Installing pre-Siebel software The following steps form the foundation of a standard software environment which we created on each server used in our testing. The only exception was the database server which had DB2 UDB EE installed, as opposed to DB2 UDB Runtime client installation. 5.6.1 Installing Windows 2000 Server or Advanced Server We recommend that the systems used as servers in the Siebel 7 environment either be newly acquired systems or have a reinstallation of the operating system done on the hardware. While either Windows 2000 or Windows 2000 Advanced Server can be used, we recommend the use of Windows 2000 Advanced Server. 5.6.2 Installing Microsoft software updates After the installation of the base operating system on the hardware the operating system is required to have Service Pack 2 and the Security Update dated 10/18/2001 applied. These software fixes can be obtained at the Microsoft Internet site: http://www.microsoft.com Siebel Dedicated Web Client PIII 500 MHz 192 Mb memory 300Mb storage Siebel Mobile Web Client PIII 500 MHz 256 Mb memory 500Mb storage Siebel Tools Client PIII500 MHz 256 Mb memory 2Gb storage Client type Minimum hardware requirementsChapter 5. Installing Siebel 7 on Windows 2000 99 MDAC and MFC software can be found on the Siebel 7 Windows_server_enu CD-ROM in the \ses\Thirdpty directory in the \MADC and \MFC subdirectories. Both of these need to be installed on the each of the servers. 5.6.3 Configuring TCP/IP networking Install a static IP address on each server in the environment and test the inter-connectivity by using a ping or tracert command from the command window between the servers, for example: ping 192.160.0.70 tracert 192.160.0.70 5.6.4 Setting up Active Directory, DNS, and Domain Controller In our environment we established an Active Directory, DNS (Domain Name Server) and PDC (Primary Domain Controller) on a separate server. While we did not establish a Backup Domain Controller, we strongly recommend the creation of a backup system in a production environment. 5.6.5 Configuring users and groups The Siebel 7 installation requires up to 3 standard Windows Domain user accounts: Siebel service owner account is the one under which all Siebel processes and components operate. In our environment the account was sadmin, the password also being sadmin. Resonate manager account is required when you use the Resonate Central Dispatch for connection brokering. In our environment the account was resonatefull, the password being resonate. Resonate monitoring account is required for the Resonate Central Dispatch connection brokering server. In our environment the account was resonatemonitor, the password being resonate. Note: The steps to establish an Active Directory, DNS, and Domain Controller are beyond the scope of this book. Please refer to the appropriate Microsoft documentation. In our environment we didn’t have access to an existing PDC. We created one for the setup of our environment; however, we see no restrictions on using an existing one.100 Siebel 7 Using DB2 UDB V7.x We recommend that you follow these guidelines for account creation: The login name and password for the Siebel service owner/Resonate manage account should be the same on all the computers in the Central Dispatch site. The account name cannot contain embedded spaces. The service owner/Resonate manager account password should preferably not require a change on next logon and must be set not to expire. Under Windows, the Siebel Server services operate under the Siebel service owner/Resonate manager account. This must be an account that has administrator privileges in each one of the machines in which Central Dispatch, the Siebel Gateway, and the Siebel Servers will run. Refer to Chapter 2 and Chapter 7 of the Siebel Server Installation Guide for Microsoft Windows Version 7.0.1 10, PA1-S-7010 for further information on the creation of the accounts. 5.6.6 Sharing the Siebel File System Create a file system share to which the files will be copied during the database setup steps. In our environment the following share was created on the pdc server: \\pdc\siebelfs 5.6.7 Installing Resonate As mentioned earlier, a multiple Siebel Server configuration requires Resonate Load Balancing software to be installed on the Siebel Gateway machine and on each of the servers chosen as a Siebel Servers. In our environment we chose to use the Gateway server system as the Central Dispatch scheduler. This is not a requirement but represents a typical use of the Gateway server. Prior to the actual installation you will need to use the tracert command to display the route from your scheduler machine to each of the Siebel Servers and from each of the Siebel Servers to the scheduler system. The command is as follows: tracert 192.168.0.101 If you find any asymmetric routes, you will need to adjust the routing to be symmetric.Chapter 5. Installing Siebel 7 on Windows 2000 101 Use a ping command from the command window on each Siebel Server to communicate to the Central Dispatch server(s). This will insure the DNS entries are working correctly. For example in our environment: ping ssrvr1 Supporting documentation The actual installation documentation for Resonate Central Dispatch /Resonate Commander can be found in the Siebel 7 Bookshelf CD-ROM under the ThirdParty\Resonate directory. The Siebel Server Installation Guide for Microsoft Windows Version 7.0.1, 10PA1-S1000710 contains information on the installation process. Resonate — installation steps on Windows 1. Place the Siebel 7 Windows Server ancillary_enu CD-ROM in the CD-ROM drive of the server. Navigate to the thirdpty\enu\resonate\Win2K directory and execute the setup.exe. Note: A route is symmetric precisely when the route from a node to the scheduler is hop-for-hop the reverse of the route from the scheduler to the node. This is important if any node in your site is on a different subnet from either (or both) of the scheduler (primary and/or backup). Note: The steps which follow need to be carried on each system that is going to be included in the VIP environment managed by the Resonate software. 102 Siebel 7 Using DB2 UDB V7.x The screen shown in Figure 5-3 will appear. Select Node and Management Tools. Click Next. Figure 5-3 Resonate Installation — Select Components screenChapter 5. Installing Siebel 7 on Windows 2000 103 2. The Assigning Place Holder Address screen will appear. In this screen, a placeholder address will be displayed. This address only needs to be changed if there is a conflict with another address on your network. If you need to edit this address, click the Edit button, then click Next. See Figure 5-4. .Figure 5-4 Assign Placeholder IP Address and Subnet Mask screen104 Siebel 7 Using DB2 UDB V7.x 3. The next screen displays the host address and adapter card to which the loop back adapter will be bound. Click Next. See Figure 5-5. Figure 5-5 Bind RXPVNIC screenChapter 5. Installing Siebel 7 on Windows 2000 105 4. The next screen will be the Account Entry. In this screen, the Resonate Administration account and the Resonate Monitor account that were created will be entered. See 5.6.5, “Configuring users and groups” on page 99. Enter the accounts and click Next. See Figure 5-6. Figure 5-6 Identify User Accounts screen106 Siebel 7 Using DB2 UDB V7.x 5. The Specify Ports screen is displayed. Accept the defaults. Click Next. See Figure 5-7. Figure 5-7 Specify Ports screenChapter 5. Installing Siebel 7 on Windows 2000 107 6. The Start Copying Files screen is displayed. Review the entries selected and if acceptable, click Next. See Figure 5-8. Figure 5-8 Start Copying Files screen 7. At this point a screen will be displayed asking if you wish to restart the computer. You will have to restart to complete the installation. 8. After the system is restarted, check the installation by opening a command window and running the command: ipconfig /all You should see a Microsoft loop back adapter with the placeholder address that was shown in Figure 5-4 on page 103.108 Siebel 7 Using DB2 UDB V7.x Configuring Central Dispatch In the next set of steps, the Central Dispatch system will be configured. In our environment the Siebel Gateway machine (Hostname: gw) was chosen to be the Central Dispatch server. 1. Log onto the machine as follows: Start —> Programs —> Resonate —> Dispatch Manager 2. Then, in the Connect to Node box, enter the hostname. A Password box will be displayed and the password for the resonatefull account will be entered. In our case the node was gw and the password was resonate for the ressonatefull account. See Figure 5-9. Figure 5-9 Resonate Login screenChapter 5. Installing Siebel 7 on Windows 2000 109 1. The Site View screen will be displayed. See Figure 5-10. Figure 5-10 Resonate — initial Site View screen 2. Select the Site Setup tab at the bottom of the Site View screen. The Site Setup screen is displayed. Click on the VIP tab at the top of the screen and enter the IP address of the VIP. In our environment that was 192.168.0.70. 110 Siebel 7 Using DB2 UDB V7.x Click Add and the IP address will be highlighted in the panel. See Figure 5-11. Figure 5-11 Resonate VIP address assignmentChapter 5. Installing Siebel 7 on Windows 2000 111 3. Next click the Licensing tab and add the license key contained in a file call license.txt provided in the Thirdpty\enu\resonate subdirectory of the Siebel 7 Windows_server_ancillary CD-ROM. Click Set New Key. See Figure 5-12. Figure 5-12 Resonate License Key Entry screen112 Siebel 7 Using DB2 UDB V7.x 4. Next click the System Nodes tab. Add the first node to the Central Dispatch. Our first node was the Gateway Node. Enter the IP address in the Node Name box. Click Add. See Figure 5-13. Figure 5-13 Adding System Node Non Load Balanced — Resonate configuration Note: The Server Enable and Server Auto-reenable boxes are NOT checked. This is due to the fact that the Gateway is not a load-balancing node.Chapter 5. Installing Siebel 7 on Windows 2000 113 5. Add another node by entering the IP address In our case the ssrvr1 or IP address 192.168.0.101. Note that the Server Enable and Server Auto-reenable boxes are checked because the server is a Siebel Server and is load-balanced. One would continue to add any additional load-balanced servers in the same manner. See Figure 5-14. Figure 5-14 Adding System Node Load Balanced — Resonate configuration114 Siebel 7 Using DB2 UDB V7.x 6. Click the Operations tab. The start site screen will appear. Click Start to start the configuration. See Figure 5-15. Figure 5-15 Resonate start siteChapter 5. Installing Siebel 7 on Windows 2000 115 7. At this point the Site View screen will appear and then nodes will be displayed in blue and green — blue being the Primary Dispatch node and green the load-balanced node(s). If any node is displayed in red, then click the Messages tab and examine the log. See Figure 5-16. Figure 5-16 Resonate Site View — operations status 5.6.8 Installing DB2 server and DB2 clients The following is an overview of the steps to install DB2 UDB software. Installing DB2 UDB EE on Database Server 1. Install DB2 UDB Enterprise Edition code as documented in DB2 Quick Beginnings for Windows v7.2 GC09-2971-00. 2. Install the DB2 UDB Fix Pack 3SA.116 Siebel 7 Using DB2 UDB V7.x 3. After the initial installation, the DBA should review the information contained in Chapter 7 of the Siebel Server Installation Guide for Microsoft Windows Version 7.0.1, 10PA1-S-7010. That document contains the initial recommendations for database parameters, environmental settings, and initial database sizing. In Appendix C, “Database setup scripts on Windows” on page 225 there are a set of scripts which can be modified and run from the DB2 Command Window in Windows 2000 which will create and initially configure the DB2 UDB server environment. 4. Increase the number of ODBC statement handles to 6 by rebinding the CLI packages using the CLIPKG bind option To rebind CLI package use the DB2 Command Window – Open the DB2 Command Window. Start —> Programs —> IBM DB2 —> Command Window. – Navigate to the subdirectory \sqllib\bnd. – Connect to the DB2 UDB database as the instance owner. – Enter the following command: db2 bnd @db2cli.lst blocking all grant public clipkg 6 5. Create the following Windows accounts and groups on the database server: a. Siebel table owner account siebel b. Siebel administrator account sadmin c. Siebel local group sse_role d. Add sadmin and siebel accounts to the sse_role group Note: The Fix Pack can be dowloaded from the following site: ftp://ftp.software.ibm.com/ps/products/db2/fixes/english-us/siebel Note: The scripts contained in Appendix C, “Database setup scripts on Windows” on page 225 are representative of only the sizing and parameters needed to create the initial database. The scripts do not represent what would be considered a production system. They must be modified to meet production requirements. The scripts are presented in both a syntax for both Windows 2000 and AIX. Note: For more information about the DB2 bind command and the CLIPKG option see the DB2 UDB Administration Guide.Chapter 5. Installing Siebel 7 on Windows 2000 117 Installing DB2 UDB Runtime client We recommend the installation of DB2 UDB Runtime client software on all servers to be used in the Siebel 7 server environment, as part of the foundation software installation. Create and test a System ODBC DSN (Data Source Name) connection using the CCA (Client Configuration Assistant) to the database created above. In our environment that System ODBC DSN was named siebel. As in the case of the DB2 UDB EE installation the Fix Pack 3SA must be applied to initial installation. Also, refer to DB2 Quick Beginnings for Windows v7.2 GC09-2971-00 for additional information regarding the installation. 5.7 Installing Siebel Enterprise Server software This section is contains the information used to configure our environment. We recommend that you refer to Figure 5-2 on page 95 while reading this section to understand the sequence of steps involved and values supplied. Rather than including a large number of screen shots, we have presented a table identifying the screen name and the values entered in response to installation screen variables. The Installation variables in the tables are in the same sequence as presented in the actual installation screens. 5.7.1 Installing Siebel Gateway Server Refer to Chapter 4 of the Siebel Server Installation Guide for Microsoft Windows Version 7.0.1, 10PA1-S-7010 for the actual installation instructions. Siebel Gateway installation responses Insert the Siebel 7 Windows_Server_enu CD-ROM and navigate to the \ses directory and click the Install icon. Click the OK on the Choose Language box and the installation process will be started. See Table 5-5. Tip: During our numerous installation runs, a couple of points became apparent. If an installation failed for whatever reason, it was simply easier to uninstall the software and delete the directories and files created. Then we would reinstall and configure again. Second, a number of times, the installation process would indicate a successful installation. However, a review of the log files revealed errors that would prevent use of the software. Therefore, we recommend that you always review the log files.118 Siebel 7 Using DB2 UDB V7.x Table 5-5 Gateway installation variables Gateway post-installation checks After the installation of the Gateway is finished, the SESsetup.err and SESsetup.log files need to be examined for errors. In our environment those files were located in the C:\sea702 directory. Additionally, since the response was YES to the installation variable “Start the Gateway Name Server now”, the namesrvr.log file needs to be examined for errors. In our environment that file was located in the C:\sea702\gtwysrvr\log directory. Installation screen Installation variable Selection or string entered Select Component Select Component Siebel Gateway Server Select Destination Directory Destination Directory C:\sea702 Choose Languages Choose Language Base+Languages English (American) Select Program Folder Select Program Files Siebel Enterprise Server 7.0.2 System Service Configuration -Windows User Account Windows User Account sadmin System Service Configuration -Windows User Account Windows User Account Password sadmin System Service Configuration -Windows User Account Windows User Account Password (confirm) sadmin System Service Configuration -Gateway Listening Port Gateway Listening Port 2320 System Service Configuration -Configure System Service for Automatic Start Configure System Service for Automatic Start Yes (checked) System Service Configuration -Start the Gateway Name Server now Start the Gateway Name Server now Yes (checked) Chapter 5. Installing Siebel 7 on Windows 2000 119 5.7.2 Installing the Siebel Server Refer to Chapter 5 of the Siebel Server Installation Guide for Microsoft Windows Version 7.0.1, 10PA1-S-7010 for the actual installation instructions. Siebel Application Server installation responses Insert the Siebel 7 Windows_Server_enu CD-ROM and navigate to the \ses directory and double-click the Install icon. Click the OK button on the Choose Language box and the installation process will be started. Table 5-6 lists the installation variables used in our environment. Table 5-6 Siebel Server installation variables Installation screen Installation variable Selection or string entered Select Compontents Select Compontents Siebel Server Select Type Setup Type Typical Choose Language Choose Language Base + Language Files /English American eBriefings and eContent Service eBriefings and eContent Services Neither checked Select Program Folder Program Folder Siebel Enterprise Server 7.0.2 Begin Siebel Server Configuration Co-located with Siebel Gateway Name Server Box not checked Begin Siebel Server Configuration Gateway Name Server Hostname gw Begin Siebel Server Configuration Enterprise Server sieb_es Begin Siebel Server Configuration Use Resonate Dispatch yes Begin Siebel Server Configuration Select Software for Siebel Datamatching None Begin Siebel Server Configuration First Logic Root Directory blank Configure Database Options -Siebel Database Platform Siebel Database Platform DB2 UDB120 Siebel 7 Using DB2 UDB V7.x Configure Database Options Database User Account sadmin Configure Database Options Database User Account Password sadmin Configure Database Options Database User Account Password (confirm) sadmin Configure Database Options Table Owner siebel Configure Database Options Database Alias siebel Configure Database Options Register External Oracle ODBC Driver box not checked Setup the Siebel Environment Path to Siebel File System \\pdc\siebelfs Setup the Siebel Environment Chart Image Format PGN Setup the Siebel Environment Encryption Type None Enterprise Configuration for Resonate Enterprise Configuration for Resonate blank Windows Service Configuration System Account for Resonate Administrator System Account resonatefull Windows Service Configuration Password for Resonate Admistrator System Account resonate Windows Service Configuration Password for Resonate Administrator System Account (Confirm) resonate Enterprise Configuration for Resonate Gateway VIP 192.168.0.70 Configure Remote Search Server Remote Server Hostname blank Installation screen Installation variable Selection or string enteredChapter 5. Installing Siebel 7 on Windows 2000 121 Siebel Server post-installation checks After the installation of the Siebel Server is finished, the SESsetup.err and SESsetup.log files need to be examined for errors. In our environment those files were located in the C:\sea702 directory. Additionally, since the response was NO to the installation variable “Start the Siebel Service now”, there will be no log files to examine at this point. The reason the service was not started is that at this point no database exists for the server. 5.7.3 Installing Siebel Database Server The Database Server installation of the Siebel software is composed of several individual steps: database software, database components, and import of the repository. Refer to Chapter 8 of the Siebel Server Installation Guide for Microsoft Windows Version 7.0.1, 10PA1-S-7010 for the actual installation instructions. Configure Remote Search Server Remote Search Port Number 2048 Activate Siebel Modules Enable Compontents Call Center Basic Service Attributes Siebel Server name ssrvr1 Basic Service Attributes Siebel Server description Siebel Server ssrvr1 Siebel Server network port settings Override Sychronization Manager Port box not checked Windows Service Configuration Widows User Account sadmin Windows Service Configuration Windows User Account Password sadmin Windows Service Configuration Windows User Account Password (Confirm) sadmin Windows Service Configuration Set Siebel Server service to start automatically yes Windows Service Configuration Start the Siebel Service now no Installation screen Installation variable Selection or string entered122 Siebel 7 Using DB2 UDB V7.x Installing Siebel Database Server software Insert the Windows_Server_Program_enu CD-ROM into the CD-ROM drive of a installed Siebel Server system. Navigate to the enu\ses directory and click the Install icon. The Choose Setup Language screen appears. Click OK. The installation process will then start. See Table 5-7. Table 5-7 Database software installation responses After the installation process has completed review the SESsetup.log for any errors. In our environment the file was located in C:\sea702 directory. Creating the database account and authorization Execute the script grantusr.sql by using a DB2 Command Window on the target database. The script is located in the \sea702\dbsrvr\DB2UDB directory. If the scripts in Appendix C, “Database setup scripts on Windows” on page 225 are used, this step is not needed. Copying the Siebel DLL Navigate to the \sea702\dbsrvr\DB2UDB\SIEBPROC\WIN32 directory. Copy the siebproc.dll file to the DB2 UDB function subdirectory. In our environment that was located at C:\sqllib\function. Installation screen Installation variable Selection or string entered Select Compontents Select Compontents Siebel Database Server Select Type Select Type Typical Choose Languages Choose Languages Base + Languages English (American) Select Program Folder Select Program Folder Siebel Enterprise Server 7.0.2 Important: If you are installing Siebel Server on a Windows 2000 system, but wish to use DB2 UDB on a AIX system as the database server, then you must copy the siebproc file located in the directory \sea702\dbsrvr\DB2UDB\SIEBPROC\AIX to the directory /sqllib/function on the AIX system.Chapter 5. Installing Siebel 7 on Windows 2000 123 Populating the Siebel File System All of the files in the located in \sea702\dbsrvr\files subdirectory must be copied to the location identified as the Siebel File System into the \att subdirectory. In our environment all the files in C:\sea702\dbsrvr\files were selected and copied to \\pdc\siebelfs\att. Configuring DB Install This operation will create in the database the tables, views, packages, procedures, and triggers. Also, the database is “seeded” with initial data. Launch the Database Server Configuration Utility by selecting the following (see Table 5-8): Start -> Programs -> Siebel Enterprise Server 7.0.2 -> Configure DB Server Table 5-8 Database components — installation responses Note: The Siebel installation will create the correct directory structure in the location identified as the Siebel file system. Installation screen Installation variable Selection or string entered Siebel Enterprise Parameters Gateway Server Address gw Siebel Enterprise Parameters Enterprise Server Name siebel_es Installation and Configuration Parameters Siebel Server Directory C:\sea702\siebsrvr Siebel Database Service Options Siebel Database Directory C:\sea702\dbsrvr Siebel Database Service Options Siebel Database Operation Install Database Siebel Database Service Options Siebel User/Role Creation Grantusr has been run by DBA to create Siebel user and roles Siebel Language Option Select Installation Operation Install Siebel Database Siebel Language Option RDBMS Platform IBM DB2 UDB v7.1 Installation and Configuration Parameters ODBC Data Source Name SiebSrvr_siebel_es124 Siebel 7 Using DB2 UDB V7.x This installation creates a number of log files in the sea702\Siebrvr\log subdirectory such as UpgWiz.log. You need to review the logs for any errors. Installation and Configuration Parameters Database User Name sadmin Installation and Configuration Parameters Database Password sadmin Installation and Configuration Parameters Database Password (confirm) sadmin Installation and Configuration Parameters Database Table Owner siebel Installation and Configuration Parameters Database Table Owner Password siebel Installation and Configuration Parameters Database Table Owner Password (confirm) siebel Installation and Configuration Parameters Database Server OS Windows Installation and Configuration Parameters Index Table Space Name tbs_idx Installation and Configuration Parameters 4K Table Space Name tbs_4k Installation and Configuration Parameters 16K Table Space Name tbs_16k Installation and Configuration Parameters 32K Table Space Name tbs_32K Note: A number of Siebel log files are increments on each run of the installation. For, example the file UpgWiz.log would be renamed to UpgWiz_01.log and a new UpdWiz.log would be created on an additional installation. Installation screen Installation variable Selection or string enteredChapter 5. Installing Siebel 7 on Windows 2000 125 Configuring DB Import This step is done to populate the repository table in the database with application objects. Regardless of the number of business applications you are using, only a single import is required. Launch the Database Server Configuration Utility by selecting the following (see Table 5-9): Start -> Program -> Siebel Enterprise Server 7.0.2 -> Configure DB Server. Table 5-9 Repository installation responses Installation screen Installation variable Selection or string entered Siebel Enterprise Parameters Gateway Server Address gw Siebel Enterprise Parameters Enterprise Server Name siebel_es Installation and Configuration Parameters Siebel Server Directory C:\sea702\siebsrvr Installation and Configuration Parameters Siebel Database Directory C:\sea702\dbsrvr Siebel Database Server Options Siebel Database Operation Import/Export Repository Import Repository Option Select Repository Operation Import Repository Import Repository Parameters Import Selection Import Standard Siebel Repository Import Repository Parameters RDBMS Platform IBM DB2 UDB v7.1 Installation and Configuration Parameters ODBC Data Source Name siebel Installation and Configuration Parameters Database User Name sadmin Installation and Configuration Parameters Database Password sadmin Installation and Configuration Parameters Database Password (confirm) sadmin Installation and Configuration Parameters Database Table Owner siebel126 Siebel 7 Using DB2 UDB V7.x This installation creates a number of log files in the sea702\Siebrvr\log subdirectory such as UpgWiz.log. You need to review the logs for any errors. Starting the Siebel Server Service At this point, you can now start the Siebel Server service. Launch it by selecting the following: Start —> Programs —> Administrative Tools —> Services Scroll down and find the Siebel Server. Right-click the service and select Start. After doing so, check the log files in sea702\Siebrvr\log for errors. In our environment, C:\sea702\siebsrvr\log\siebel_es.ssrvr1.log was the main log file. Also, the status can be determined by opening a command window and navigating to the \sea702\siebsrvr\BIN directory and using the Server Manager to check the status by listing the compontents running on the server. For example, in our environment the command would be: srvrmgr /g gw /e siebel_es /u sadmin /p sadmin /c "list comp" See Table 5-10. Installation and Configuration Parameters Database Table Owner Password siebel Installation and Configuration Parameters Database Table Owner Password (confirm) siebel Installation and Configuration Parameters Import Repository Name Siebel Repository Installation and Configuration Parameters Repository File Name C:\sea702\dbsrv\common\ mstrep.dat Tip: When you have finished entering responses, you will be presented with a message asking to start the process. Click OK. A screen will appear that indicates the steps which will be taken. It will have a spinning globe in the upper left corner. You need to click OK again to start the actual process. Installation screen Installation variable Selection or string enteredChapter 5. Installing Siebel 7 on Windows 2000 127 Table 5-10 Siebel Server Manager command parameters 5.7.4 Installing additional Siebel Servers In our environment we installed two Siebel Servers as indicated in Figure 5-2 on page 95. The only changes from the steps in Table 5-6 on page 119 are that the value Siebel Server name installation variable was changed to ssrvr2 and the selection of Yes for the installation variable “Start the Siebel Service now”. All other installation variables and post-installation checks remain the same. 5.8 Installing Siebel Database Server: DB2 UDB EE on AIX During the course of testing with the setup and configuration of Siebel on Windows 2000, we created an environment in which the database server was a located on a IBM RS 6000 44P Model 270. We performed the following steps: 1. Shut down the Siebel Server service on all the Siebel Server systems. (ssrvr1 and ssrvr2). 2. Shut down the Siebel Gateway service on the Siebel Gateway system (gw). 3. Shut down and disconnected the Windows 2000 Siebel Database Server (dbsrvr) from the network. 4. Configured the RS 6000 server to have the same IP address (192.168.0.110) and hostname (dbsrvr) as the removed Windows 2000 server. 5. Connected the RS 6000 to the network. 6. Performed the procedure “Configuring DB Install” on page 123. Parameter Meaning /g Gateway Server Name (required) /e Siebel Enterprise Server Name (required) /u Server Administrator Username (required) /p Server Administrator Password (required) /c Execute single command Important: Check the \sea702\siebsrvr\log service startup log for errors. In our environment the file was C:\sea702\siebsrvr\log\siebel_es.ssrvr2.log.128 Siebel 7 Using DB2 UDB V7.x 7. Performed the procedure “Configuring DB Import” on page 125. 8. Started the Siebel Gateway service. 9. Started the Siebel Server service on each of the systems. 5.9 Installing the Siebel clients This process is identical to the one described in 4.7, “Installing Siebel clients” on page 78. 5.10 Installing Siebel Web and Directory Services This process, for installing the Siebel Web and Directory Services components, is identical to the one described in 4.8, “Installing Siebel Web and Directory Service” on page 85. Important: If you are using AIX as the database server but installing the Siebel software from a Windows 2000 system you must select AIX to the Database Server Components -Database Server OS installation variable. Also, the siebproc file in the \sea702\dbsrvr\DB2UDB\SIEBPROC\AIX directory must be copied to the /sqllib/function directory on the AIX system Note: The scripts to create the database on the AIX system can be found in Appendix C, “Database setup scripts on Windows” on page 225.© Copyright IBM Corp. 2002 129 Part 3 Administration and management In this part of the book, we describe the considerations, tools, and techniques needed to manage the Siebel 7 environment on DB2 UDB. Part 3130 Siebel 7 Using DB2 UDB V7.x© Copyright IBM Corp. 2002 131 Chapter 6. Performance management Performance management involves modifying the system environment to ensure that previously defined application performance objectives are met. Since applications tend to be dynamic in nature, performance management is an ongoing activity. In this chapter we discuss the following topics as they relate to Siebel 7 applications. Performance considerations of the DB2/Siebel environment Operating system considerations DB2 UDB application considerations DB2 UDB system considerations Siebel query considerations Capacity planning considerations All recommendations only apply to a production environment. 6132 Siebel 7 Using DB2 UDB V7.x 6.1 Performance in the Siebel/DB2 environment In the Siebel/DB2 environment, improving performance of an application eventually boils down to optimizing memory, CPU, IO and network resources. Following are some considerations: Memory optimization involves minimizing paging/swapping. CPU utilization can be improved through well-tuned applications, limiting users of multi-connections, reducing long jobs during high interactive periods, minimizing paging and swapping, and setting priorities for jobs submitted. Disk I/O can have a significant impact on performance since disk I/O can be 1,000 to 200,000 times slower than memory. Disk efficiency can be improved by avoiding I/O, enabling parallel I/O, and using advanced file systems: – Some disk I/O can be avoided by buffering data in memory. An index-only access with index in memory can also avoid I/O. – DB2 has integrated parallelisms internally, which read from many disks simultaneously — consequently, distributing tablespace containers over all available disks to spread workload evenly. Network communication overhead can be reduced by using a high speed network, and application design efforts such as reducing the number of interactions on the network by applying data blocking, compound SQL, and stored procedures. The Siebel system on DB2 does well in this area. 6.2 Operating system considerations This section focuses on monitoring operating system resources for performance problems. We review the various system resources that should be monitored, the tools that may be used to do so, and provide broad guidelines for achieving good performance. Jobs are scheduled at predefined intervals to collect system performance statistics and transform them into insert statements. The system performance statistics are then inserted into special user-defined tables (non-Siebel tables). These special user-defined tables are ultimately used for trend analysis. They provide a pretty good overall picture of your system resource utilization over a period of time.Chapter 6. Performance management 133 6.2.1 System resources and bottlenecks System resource utilization/bottlenecks can be classified into four types: CPU utilization: A system is considered CPU bound when the total utilization (user + system) is greater than 80%. A good rule of thumb is to keep the average CPU usage the below 80%, so that it has spare capacity to handle short bursts of unpredictable demand While monitoring CPU, short intervals (1 to 3 seconds) of 100% CPU busy can be ignored. The focus should be on the long-term, since average CPU utilization is an issue. Memory and paging: The following thresholds should be monitored: – Paging space is considered low when greater than 70% of paging space is active. – Paging is considered bound when: • Paging volume %busy is greater than 30% of the I/O. • Paging logical volume-to-paging volume activity is greater than 40%. Disk and I/O: The following thresholds should be monitored: – A disk is I/O-bound when CPU %iowait is greater than 40%. – A disk is I/O-bound when it is regularly more than 45% busy. Process problems: The following process monitoring should be observed: – Monitor processes that appear to be getting unusually high amounts of CPU. – While monitoring processes, ignore short bursts (1 to 3 seconds) of 100% CPU busy, and focus on the long term average CPU utilization. 6.2.2 Monitoring system resources on AIX In this section we describe tools for monitoring system resources on AIX. Tools available in AIX The following tools are available in AIX to monitor system resources. Performance ToolKit/6000 (also known as PTX or xmperf): 134 Siebel 7 Using DB2 UDB V7.x This is an excellent X-Window graphical performance monitoring tool. It can show historical data and is good for trend analysis of all system resources. This is an optional AIX component. Online Monitor (nmon): This is a freely available and useful tool. It provides a snapshot of AIX statistics. It is available to IBM and IBM Business Partners via PartnerInfo and is located at: http://w3.aixncc.uk.ibm.com File I/O Monitor (filemon): This tool is used to monitor the performance of the File System and report I/O activity on behalf of files, virtual memory segments, logical volumes, and physical volumes. Following is an example: – Enter: filemon -O all -o filemon.out – Start the workload. – Enter: trcstop Disk I/O statistics (iostat): This tool reports CPU and I/O statistics for TTY devices, disks and CD-ROMs. Following is an example: $ iostat 10 20 List Paging Space (lsps): This tool displays paging space characteristics such as physical volume, volume group name, size, percentage of paging space used and whether the space is active or inactive. Following is an example: $ lsps -a -s [paging space] Network Monitor (netpmon): This tool reports network activities and network-related CPU usage. Following is an example: $ netpmon -O all -o netpmon.out Process State (ps): This tool displays the status of currently active processes. Following is an example: $ ps -ef Chapter 6. Performance management 135 System Activity Reporter (sar): This command is a standard UNIX command, used to gather statistical data about the system. Following are examples: $ sar 10 100 $ sar -P ALL 1 10 System Virtual Memory Monitor (svmon): This command is used to capture and analyze a snapshot of virtual memory. Following are examples: $ svmon -G $ svmon -Ssu 10 Virtual Memory Management Statistics (vmstat): This command is used to report statistics on kernel threads in the run and wait queues, memory, paging, disks, interrupts, system calls, context switches, and CPU activity. Following is an example: $ vmstat 10 20 Administrating system resources using AIX tools Except for xmperf, all the AIX tools mentioned give snapshots of the system. They need to be deployed during problem determination; that is, when you have a problem, you would run these tools to find out where the bottlenecks are. Note: For more detailed information related to monitoring AIX system resources, refer to: Understanding IBM RS/6000 Performance and Sizing, SG24-4810 RS/6000 Performance Tools in Focus, SG24-4989 Customizing Performance Toolbox and Performance Toolbox Parallel Extensions for AIX, SG24-2011, which can be found at: http://www.redbooks.ibm.com/redbooks/SG242011.pdf AIX standard documentation, which can be found at: http://www.rs6000.ibm.com/doc_link/en_US/a_doc_lib/aixgen/136 Siebel 7 Using DB2 UDB V7.x In administrating and managing an AIX system, system administrators should consider scheduling the AIX tools at predefined intervals to collect information. The information generated from these jobs can then be consolidated into DB2 tables for trend analysis. For details, please refer to Customizing Performance Toolbox and Performance Toolbox Parallel Extension for AIX, SG24-2001. Depending on the interval and the data collected, one should be able to obtain a good picture of system resource consumption that includes: Peak CPU usage, I/O usage, memory usage by hour, by day, by month The top ten processes by CPU usage, I/O usage, or memory usage The growth rate of the system for capacity planning purposes Many more trends 6.2.3 Monitoring system resources on Windows NT/2000 In this section we discuss tools for monitoring system resources on Windows NT/2000. Monitoring tools available in Windows NT/2000 The following tools are available for monitoring Windows 2000 system resources: Windows 2000 Performance Monitor (perfmon.exe) Windows 2000 Data Log Server (datalog.exe) Windows 2000 Performance Data Log Server (pdlsvc.exe) Microsoft SMS Tivoli IT Director A starting point to use the Win2000 performance tool can be found by selecting: Start -> Programs -> Administrative Tools -> Performance The Win2000 performance tool is a graphical tool for measuring performance of your own computer or other computers on your network. You can monitor processors, memory, cache, threads, processes and db2 performance parameters. Use this tool to capture information at regular intervals, for storage in user-defined DB2 tables, for trend analysis and capacity planning. 6.3 DB2 UDB application considerations In addition to memory and number of disks used in a system, the following considerations also have an impact on the performance of Siebel: Choice of type of user tablespaces, that is, Database Managed Space (DMS) versus System Managed Space (SMS) Temporary tablespace considerationsChapter 6. Performance management 137 User tablespace deployment Table size and placement considerations Parallelism considerations DB2 log placement 6.3.1 DMS or SMS user tablespaces DB2 supports two types of tablespaces: DMS and SMS. We recommend that you use DMS tablespaces for the DB2/Siebel system, because they reduce dynamic space allocation at the operating system level, allow you to add more containers to tablespaces in the future, and, by using raw devices, can bypass the overhead (if any) of the operating system's file system buffers. In general, DMS storage is recommended over SMS for tablespaces used for data and indexes because: DMS allows adding containers to a tablespace after it was created. Existing data is automatically rebalanced across the new set of containers to retain optimal I/O efficiency. More importantly, DMS allows extending or resizing the existing containers. All these three functions can be done by issuing the alter tablespace command. SMS does not have any of the three extensibilities. A table can be split across multiple DMS tablespaces based on the type of data being stored, such as long field and LOB data, indexes, regular table data, and reduction of expensive operating system calls. With the DB2 Database Manager allocating data pages, the operating system can be freed to handle other tasks. This is particularly true for OLTP-type workloads. SMS has to store a table and its index in the same tablespace. DMS pre-allocates pages for data, while SMS needs to extend the tablespace one page a time. Therefore, DMS can free the CPU from searching for free pages throughout the file system. In an SMS tablespace, there is one file in the container (directory) per object. In an SMS tablespace, if any container becomes full, then the entire tablespace is considered full, and the only option is to expand the file system for the directory, which is not the case with DMS tablespaces. SMS tablespaces are convenient to use for small table data and temporary tablespaces (more later), but not for performance. 138 Siebel 7 Using DB2 UDB V7.x When using DMS, the following recommendations apply: For DMS table containers, we generally define one container per RAID unit. (For ESS and AIX, we recommend three to four containers per file system). Make the EXTENTSIZE of the tablespace a multiple of RAID stripe size. Ensure that the prefetch size of the tablespace is (1) a multiple of the extent size; (2) the RAID stripe size by the number of RAID parallel devices (or a multiple of this product). Use the DB2 registry variable DB2_STRIPED_CONTAINERS to align extents to the RAID stripe size. Use the DB2 registry variable DB2_PARALLEL_IO to enable parallel disk I/O. For tables and indexes in DMS tablespaces, choose extent sizes based on the table size estimates given in the database sizing earlier. This will reduce dynamic extensions. 6.3.2 Temporary tablespace considerations Temporary tablespaces should be of type SMS, rather than DMS. Temporary tablespaces are heavily used in operations like sorts. Experiments indicate that it is beneficial to use SMS for temporary tablespaces, because devices can only be opened in synchronous mode (there is no file system to cache the requests). As a result, there is little benefit in using DMS devices for temporary space. DB2 allocates temporary space in a round-robin fashion if there are two or more tablespaces. If queries are executing against tables in tablespaces that are defined with a page size of larger than the default 4 KB, some of them may fail because of the lack of a temporary tablespace defined with a larger page size (for example, an ORDER BY on 1012 columns). You may need to create a temporary tablespace with a larger page size (8 KB, 16 KB, or 32 KB). In fact, any Data Manipulation Language (DML) statement could fail unless there exists a temporary tablespace with the same page size as the largest page size of user data. 6.3.3 User tablespace deployment Use multiple tablespaces to separate tables from indexes and to also separate the database objects by their size, growth, concurrency and high amount of inserts/updates/deletes. For example, use separate table and index tablespaces for key/large tables (for example, the top 20 tables) and their indexes. Chapter 6. Performance management 139 We recommend the following for Siebel 7 tablespaces: Dedicated DMS tablespaces for the top 10 to 20 largest and most active tables, as shown in Table 6-2 on page 141 At least one dedicated 4K DMS tablespace for indexes, such as SIEBEL_IDX as shown in Table 6-1 on page 139 Three SMS (4K, 16K and 32K) temporary tablespaces Three DMS (4K, 16K and 32K) for the rest of the regular tables If you use Siebel Enterprise Integration Manager (EIM) frequently, you may want to put the interface tables (names starting with EIM_) on different devices from the Siebel base tables, because both are accessed simultaneously during EIM operations. You may create a DMS tablespace for EIM tables and a DMS tablespace for EIM indexes. The easiest time to put the tables in a different tablespace is immediately after finishing the installation; create new tablespaces and use export/import utilities or the Copy Table tool in the Control Center. Table 6-1 shows examples of an existing Siebel 7 implementation on DB2 UDB. We list the top 12 tables which are distributed to dedicated tablespaces. For instance, Table S_CONTACT has its own tablespace of 16K DMS, S_CONTACT_16K, which takes 18,874Mb disk space across 4 different containers. Table S_EVT_ACT also has its own tablespace S_EVT_ACT_16K of 28,312Mb, while Siebel_16K contains all the rest of the 16K tables. The same is true for 4K and 32K pagesized tables. Table 6-1 Example of tablespaces used for Siebel 7 on DB2 at Siebel Ebiz Tablespace name Type Total pages Total MB Containers S_CONTACT_16k DMS-16K 1,179,648 18,874 4 S_EVT_ACT_16K DMS-16K 1,769,472 28,312 6 S_PROD_DEFECT_TBS DMS-32K 36,864 1,180 2 S_ACCNT_POSTN_TBS DMS-4K 1,179,648 4,719 4 S_COLUMN_TBS DMS-4K 294,912 1,180 6 S_DNB_ORG_TBS DMS-4K 4,423,680 17,695 15 S_DOCK_TXN_TBS DMS-4K 11,796,480 47,186 5 S_ESCL_REQ_TBS DMS-4K 294,912 1,180 2 S_EVT_ACT_X_TBS DMS-4K 1,474,560 5,898 5 S_OPTY_POSTN_TBS DMS-4K 442,368 1,769 3 S_ORG_TERR_TBS DMS-4K 884,736 3,539 3140 Siebel 7 Using DB2 UDB V7.x 6.3.4 Table size and placement considerations In most implementations, the Siebel tables shown in Table 6-2 and their corresponding indexes are either the most commonly used, or can be large in some or in all deployments. For example, the tables S_EVT_ACT, S_CONTACT, and S_ORG_EXT are large in all enterprise-level deployments of Siebel eBusiness Applications. These tables and indexes should be stored on different devices, if possible. As a general rule, indexes should be in a different tablespace and, on different physical devices from the tables on which they are created. We recommend that you especially place important Siebel tables in terms of activity on their own tablespaces and, if it is possible, spread them on several separate disk spindles. Table 6-2 is a list of high-activity tables that may be stored in separate tablespaces and disks. S_POSTN_CON_TBS DMS-4K 2,359,296 9,437 4 SIEBEL_16K DMS-16K 1,769,472 28,312 6 SIEBEL_32K DMS-32K 589,824 18,874 4 SIEBEL_4K DMS-4K 11,796,480 47,186 4 SIEBEL_IDX DMS-4K 14,745,600 58,982 5 TEMP32K SMS-32K 24,179 774 4 DBA_4K SMS-4K 89,041 356 2 SYSCATSPACE SMS-4K 162,350 649 4 TEMP4K SMS-4K 32 0 4 USERSPACE1 SMS-4K 18,085 72 2 TOTAL 296,174 90 Tablespace name Type Total pages Total MB ContainersChapter 6. Performance management 141 Table 6-2 A list of high activity tables that may require separate tablespaces and disks This list of tables depends on the functional modules that you purchased from Siebel, and also on your customizations for your Siebel implementation. 6.3.5 Parallelism considerations The main objective of parallelism is to minimize the I/O wait by spreading the database across multiple disks. This can be achieved by: Using multiple tablespaces for frequently accessed tables and placing them on different devices Distributing large tables on multiple-containers across multiple-disks Using separate tablespaces for indexes and tables Using dedicated tablespace for large and frequently accessed tables. A DB2 registry parameter, DB2_PARALLEL_IO, turns on parallel I/O (when necessary) for tablespaces with even one container. This is under the assumption that the container is on RAID disks and therefore can sustain parallel I/Os. The DB2_PARALLEL_IO registry variable should be set to specify the tablespaces (either all, or a specific one) that have containers on RAID devices. S_ACCNT_CHRCTR S_ACCNT_CO_MSTR S_ACCNT_POSTN S_ADDR_ORG S_ADDR_PER S_ASSET S_CALL_LST_CON S_CON_CHRCTR S_CON_TERR S_ACCNT_CHRCTR S_CRSE_TSTRUN S_CRSE_TSTRUN_A S_CS_RUN S_CS_RUN_ANSWR S_CTLGCAT_PATH S_CYC_CNT_ASSET S_DNB_CON_MRC S_DNB_ORG S_DNB_ORG_SIC S_DNB_UPDATE S_DOCK_INIT_ITEM S_DOCK_TXN_LOG S_DOCK_TXN_LOGT S_DOCK_TXN_SET S_DOCK_TXN_SETT S_ESCL_ACTN_REQ S_ESCL_LOG S_ESCL_REQ S_EVT_ACT S_EXP_ITEM S_EXP_RPT S_EXP_RPT_APPR S_IC_CALC S_IC_CALC_IT S_IC_CMPNT_EARN S_IC_TXN S_IC_TXN_IT S_IC_TXN_POSTN S_INVC_ITM_DTL S_INVLOC_ROLLUP S_INVOICE S_INVOICE_ITEM S_INV_LGR_ENTRY S_OPTY_POSTN S_OPTY_PROD S_OPTY_TERR S_OPTY_POSTN S_ORG_EXT S_ORG_TERR S_PARTY S_PARTY_PER S_PARTY_REL S_PARTY_RPT_REL S_POSTN_CON S_PROC_REQ S_PROD_BASELINE S_PROD_CONSUME S_PROD_SHIPMENT S_PROD_TARGET S_QUOTE_ITEM S_SRM_REPLY S_SRM_REQUEST S_SRM_REQ_PARAM S_SRV_REQ Note: It is important to set this on before the tablespace is created.142 Siebel 7 Using DB2 UDB V7.x If you just want to turn on parallel I/O for tablespaces 1, 2, 5 and 7, then you run the commands: $ db2set DB2_PARALLEL_IO = 1, 2, 5, 7 $ db2stop $ db2start If you want to turn on parallel I/O for all the tablespaces, you use the commands: $ db2set DB2_PARALLEL_IO = * $ db2stop $ db2start After setting the registry variable, DB2 must be stopped (db2stop), and then restarted (db2start) for the changes to take effect. 6.3.6 DB2 log placement We recommend that you allocate the DB2 log files on physical disks that do not have high I/O activity. For instance, avoid putting the logs on the same disk as the operating system or high volume databases. This will allow for efficient logging activity with a minimum of overhead (such as waiting for I/O). You can track the number of I/Os related to database logging by using a database system monitor. You can change the log path to different disks by using Configure... from the Control Center menu, or by running the following command: db2 update db cfg for using newlogpath Consider having more primary logs than the default setting of 10: db2 update db cfg for using logprimary Primary log files are preallocated, while secondary log files are created if primary logs are not sufficient. Therefore, you will reduce the overhead of creating secondary logs during high DB2 activity if you have sufficient primary logs. Notice that the maximum number of logs (primary and secondary) is 128. Since DB2 V7 has increased log file size from 4GB to 32 GB. Important: Note that if RAID disk subsystems are utilized for tablespace containers, then the DB2 registry parameter DB2_STRIPED_CONTAINERS should be set to ON before the table spaces are created, so that the container tag page is actually an extent and not a single page. This is done by the commands: $ db2set DB2_STRIPED_CONTAINERS = ON $ db2stop $db2startChapter 6. Performance management 143 If you have enough disks for your system, we recommend that you have around 30 GB of DB2 log files for Siebel Applications, update LOGFILSIZ to 64,000 pages of 4K, and update LOGPRIMARY to 120 files. Since every customized system is not copied exactly, we found that the “configuration performance using wizard” in the DB2 control center is a good starting point for setting these database configuration parameters. 6.4 DB2 UDB system considerations A number of system level resources also need to be monitored and tuned in order to achieve good performance of the Siebel 7 environment. These include Buffer pool Database reorganization: Maintaining up-to-date statistics DB2 Governor System wide information can be obtained using two types of performance monitors: Event Monitor: The Event Monitor is useful for monitoring a particular event, especially in the problem determination or performance tuning areas, where you are looking for occurrences of a situation. For example, if you are interested in deadlocks and want to see what processes are holding the locks, or what locks each process is waiting on and how the deadlock was resolved, the Event Monitor will provide these answers. Snapshot Monitor: The Snapshot monitor gives you an overall picture up to and including that point in time. It will capture the number of locks held, bufferpool usage, number of lock escalations and so on, at a particular time. In the context of administrating and managing a Siebel DB2 UDB environment, the Snapshot monitor is very useful. But the information must be captured at regular intervals, so that trend analysis can be performed. Information that should be monitored and collected can be classified into the following types: Sort-related information Total Sort Heap Allocated Post Threshold Sorts Piped Sorts Requested Piped Sorts Accepted Total Sorts144 Siebel 7 Using DB2 UDB V7.x Total Sort Time Sort Overflows Active Sorts Hash join-related information Total Hash Joins Hash Join Threshold Total Hash Loops Hash Join Overflows Buffer pool-related information Buffer Pool Data Logical Reads Buffer Pool Data Physical Reads Buffer Pool Data Writes Buffer Pool Index Logical Reads Buffer Pool Index Physical Reads Buffer Pool Index Writes Total Buffer Pool Physical Read Time Total Buffer Pool Physical Write Time3 Database Files Closed Buffer Pool Asynchronous Data Reads Buffer Pool Asynchronous Data Writes6 Buffer Pool Asynchronous Index Writes Buffer Pool Asynchronous Index Reads Buffer Pool Asynchronous Read Time Buffer Pool Asynchronous Write Time Buffer Pool Asynchronous Read Requests Buffer Pool Log Space Cleaners Triggered Buffer Pool Victim Page Cleaners Triggered Buffer Pool Threshold Cleaners Triggered Buffer Pool Information Buffer pool Name Time Waited for Prefetch Buffer pool Hit Ratio (calculated): (1 -((Buffer Pool Data Physical Reads + Buffer Pool Index Physical Reads)/(Buffer Pool Data Logical Reads + Buffer Pool Index Logical Reads))) * 100% Index Buffer pool Hit Ratio (calculated):Chapter 6. Performance management 145 (1 -((Buffer Pool Index Physical Reads)/(Buffer Pool Index Logical Reads))) * 100% Data Page Hit Ratio for Buffer pool (calculated): 1 -(Buffer Pool Data Physical Reads/Buffer Pool Data Logical Reads) Overall Buffer pool Hit Ratio (calculated): 1 -((Buffer Pool Data Physical Reads + Buffer Pool Index Physical Reads)/(Buffer Pool Data Logical Reads + Buffer Pool Index Logical Reads)) Catalog cache information Catalog Cache Lookups Catalog Cache Inserts Catalog Cache Overflows Catalog Cache Heap Full Catalog Cache Hit Ratio (Calculated): (1 -(Catalog Cache Inserts/Catalog Cache Lookups)) Package cache information Package Cache Lookups Package Cache Inserts Package Cache Overflows Maximum Package Cache Size Section Lookups Section Inserts (1 -(Package Cache Inserts/Package Cache Lookups)) Logging information — circular logging only Maximum Secondary Log Space Used Maximum Total Log Space Used Secondary Logs Allocated Currently Logging information for both circular and archival logging Number of Log Pages Read Number of Log Pages Written Unit of Work Log Space Used Total Log Space Used Total Log Available Lock and deadlock information Locks Held146 Siebel 7 Using DB2 UDB V7.x Total Lock List Memory In Use Deadlocks Detected Number of Lock Escalations Exclusive Lock Escalations Lock Mode Lock Status Lock Object Type Waited On Lock Object Name Number of Lock Timeouts Maximum Number of Locks Held Connections Involved in Deadlock Lock Escalation Lock Mode Requested There are more performance variables available for monitoring; we have simply highlighted the most important ones. For a detailed description of this subject, see DB2 System Monitor Guide and Reference V7, SC09-2956, DB2 Troubleshooting Guide V7 GC09-2850. 6.4.1 DB2 bufferpool management The bufferpool is one of the most important tuning areas in the DB2 environment. This is the area of memory into which database pages (table rows or indexes) are temporarily read, and where they are manipulated. All bufferpools are available to all applications using the database. The purpose of the bufferpool is to improve database performance. Data can be accessed much faster from memory than from disk. Therefore, the more data (rows and indexes) the database manager is able to read from or write to memory, the better the database performance. Bufferpool hit ratio A measure of the effectiveness of the bufferpool is the bufferpool hit ratio. The more data found in the bufferpool, the better it is for performance, since this avoids unnecessary I/O operations. The bufferpool hit ratio should be as high as possible. This is determined through an iterative process wherein you increase the number of buffers and measure the buffer pool hit ratio until there is no further improvement in the ratio. You can measure the bufferpool hit ratio (and many other parameters) with the DB2 Performance Monitor (available from the Control Center), or the SNAPSHOT command from the command line: $ db2 get snapshot for bufferpools on Chapter 6. Performance management 147 This is calculated as follows: (data + index) physical pages read 1 -__________________________________ (data + index) logical pages read The four parameters can be obtained by issuing the db2 get snapshot ... command as shown above. Bufferpool size DB2 does not use all of its memory just for bufferpools. Bufferpool space is allocated from the same shared memory segment as the lock list, database heap, and utility heap (determined by configuration parameters locklist, dbheap, and util_heap_sz, respectively). Because of this, you should try to get as optimal a size as possible for your bufferpool through the iterative process outlined earlier. If your tables are too big to fit into bufferpools, try at least to put indexes with heavy hit ratios in separate bufferpools. IBM DB2 Universal Database Administration Guide: Performance Version 7, provides more information on this subject. If your usage of EIM processing is high, you may consider having separate bufferpools for EIM tables. You will limit the impact of EIM processing on online users by flushing the bufferpools of EIM processes. Shared memory considerations on UNIX On a UNIX-based system, the database shared memory (database global memory) that can be allocated is constrained due to addressing schemes in which shared memory segments start at specific addresses. The database shared memory is memory that are allocated during the first connect to the database. Note: Using multiple bufferpools requires deep db2 skills to optimize the performance. Note: There is a compromise here: EIM is not always running and then when it’s not running the memory allocated to EIM is wasted.148 Siebel 7 Using DB2 UDB V7.x Shared memory is allocated both at instance activation time and database activation time. At instance activation time, memory is allocated in Global control blocks. At database activation time, shared memory (like bufferpool, locklist, database heap) is allocated. For AIX, the shared memory limitation is approximately 1.75 GB. Very often, we want to maximize the database bufferpools in order to avoid excessive I/O costs, but we also must be aware of the inherent shared memory limitations; otherwise, we will likely get an SQL10003C error: Not enough system resources. To estimate the shared memory used, do the following: 1. Calculate the bufferpool usage, with: db2 select bpname, npages, pagesize from syscat.bufferpools Then sum up all the bufferpools. 2. From the output of the command: db2 get db cfg for Sum up the following heaps: – Locklist – Utility heap – Database heap – Package heap – Logbufsz – Catalog cache size The cumulative sum should be within the shared memory constraints. Use suggested values from 6.4, “DB2 parameters for a Siebel environment” on page 98 for these parameters. 6.4.2 Database reorganization Run reorgchk on a regular basis to determine which tables require reorganization: $ db2 reorgchk current statistics on table all Run reorg on tables that require reorganization. Reorganizing large tables may be time-consuming and require too much temporary space. The reorg should be run on a weekly or monthly basis, depending on table activity. $ db2 reorg table siebel.s_evt_act index siebel.s_evt_act_f1Chapter 6. Performance management 149 After reorganizing a table, we recommend that you use the runstats command to provide the optimizer with current statistics. 6.4.3 Maintaining up-to-date statistics DB2 catalog statistics should be updated in a timely manner so that the DB2 optimizer can use this information to determine optimal access paths to the data. The statistics include the number of records, number of pages, average record length, and number of unique values, etc. In a Siebel on DB2 UDB environment, there are two methods to update these statistics. This can be done by running either: DB2 runstats utility (for experienced DB2 DBAs) The updatestats.ksh script provided by Siebel (recommended for general use) The pros and cons of each approach are discussed in the following sections. The updatestats script The updatestats.ksh script invokes a C stored procedure called SIEBSTAT via the ODBC interface, and updates statistics for those tables listed in the corresponding updatestats.sql file. It scans the tables and indexes to gather statistics about each DB2 object, such as the number of rows in the table, the number of unique key values in the index, etc. You can create multiple updatestats scripts to update statistics on groups of tables and indexes by editing the updatestats.sql file. The DB2 runstats utility (for the experienced DB2 DBA) In most DB2 installations, the DB2 runstats utility has been used when a table has had many updates, or after reorganizing a table. With Siebel Applications, we recommend that you use the following options: The with distribution option specifies that distribution statistics are requested. The and indexes all option specifies that statistics will be updated on both the table and its indexes. The shrlevel change option specifies that other users can read from and write to the table while statistics are calculated. Tip: We recommend that you use this script if you are not experienced in DB2 database administration; however, there is no functionality difference between DB2 runstats and the updatestats.ksh script. 150 Siebel 7 Using DB2 UDB V7.x The following example shows the runstats update statistics about the physical characteristics of a table and the associated indexes: db2 runstats on table siebel.s_evt_act with distribution and indexes all shrlevel change An experienced DB2 DBA may tend to prefer the runstats utility over the updatestats script. 6.4.4 The DB2 Governor The DB2 Governor can be used to decrease the priority of the EIM applications and the Workflow applications. This enables one to provide end-user tasks and queries with more consistent response times. DB2 Governor is a server application that performs automatic checking to determine: Where bottlenecks are occurring in the system Where certain types of database activity are occurring If DB2 UDB using all the server resources to their full extent Which applications are more resource-consuming than others, so the DB2 Governor can force the applications The DB2 Governor collects statistics about application running against a database. It then checks these statistics against rules you have specified for the database. Examples of rules may include: (1) increasing priority of application A; (2) slowing down application B; (3) not letting any unit of work run for over 15 minutes. and so on. DB2 Governor will enforce these rules by forcing resource-intensive applications off the system. The following is an example to use db2gov: $ db2gov START SIEBEDB siebelgov.cfg siebelgov.log In this command, SIEBEDB is the DB name, siebelgov.cfg is the DB2 Governor configuration files of rules. DB2 Governor logs any actions into siebelgov.log. It’s the same as running other monitors. Then stop the governor running against database SIEBELDB: $ db2gov STOP SIEBELDB For more details, please see the DB2 Command Reference and the DB2 Administration Guide. Note: If you are new to DB2, we recommend that you use the Siebel script. Using runstats can kill performance on some tables.Chapter 6. Performance management 151 6.5 Siebel query considerations Siebel 7 is one of the most important applications on DB2 in the market place. Its query performance can be enhanced by: Optimizing access to database by optimizing SQL statements Maximizing concurrency by minimizing deadlocks, lock waits, etc. Minimizing data transmission by integrating compound SQL and stored Procedures Minimizing data movement by tuning SQL queries Since a single query can degrade the performance of the entire system, all SQL queries executed by Siebel clients should be monitored for performance problems. We will consider SQL queries originating from the following clients: A Siebel dedicated Web client is executing SQL directly on DB2. A Siebel thin client is passing requests to the Siebel server, which then executes SQL against DB2. 6.5.1 Siebel dedicated Web clients This section describes a process by which one can isolate the components that contribute to the total response time to the user. Figure 6-1 lists the steps involved from the time a user begins waiting until control is returned to him. Figure 6-1 Components that contribute to user response time User Siebel client Network Database 1. User action (Navigate to screen, enter query, etc.). 2. Siebel generates SQL statement. 3. SQL statement sent over network to RDBMS server. 4. Database server processes SQL statement. 5. SQL statement results sent over network to client. 6. Siebel receives SQL statement results and displays. 7. User has control.152 Siebel 7 Using DB2 UDB V7.x The user wait time is the time from the completion of step 1 to the completion of step 6. Note that this process applies to all supported database vendors; however, the methods for diagnosing problems with the database engine and SQL statement processing will vary by vendor. Steps 1 and 7 represent time spent by the user not waiting. Steps 2 and 6 represent time spent processing by the Siebel client application; this time is generally negligible and, with rare exceptions, not tunable through configuration. Steps 3 and 5 represent time spent to transfer data over the network. Step 4 represents time spent processing at the database. Determining Siebel client processing time Generate the SQL for the action in question (if you are unfamiliar with generating SQL, see “Generating SQL output from the Siebel client application” on page 155). Use the db2batch utility on the same client machine that demonstrates the poor performance, and execute the SQL statement that was generated. For SQL queries, measure the time it takes for the first record to be displayed. For other types of SQL statements (such as inserts, updates etc.), measure how long it takes for the statement to complete processing. Compare this time to the user wait time. The difference is the time spent processing by the Siebel client application. The SQL generated from this step will be used in the subsequent steps also. Determining network time Transfer the same SQL file used in the previous step to the DB2 server. Run the statement through db2batch on the DB2 server and measure the processing time. For SQL queries, measure the time it takes for the first record to be displayed. For other types of SQL statements (such as inserts, updates, etc.), measure how long it takes for the statement to complete processing. Compare the times between this step and the prior step. The difference is the amount of time introduced by the network. If the difference is large, you should investigate the network between the DB2 server and the affected clients. If the total processing time for the SQL statement running on the DB2 server is short, you most likely do not need to investigate the database processing time.Chapter 6. Performance management 153 Determining database processing time if the network time is short, this step may be performed from either the client machine or the DB2 server. There are several likely causes for poor SQL performance including: The SQL statement. The database server is not tuned, or is overloaded. The hardware on which the database server resides is not tuned, or is overloaded. For Siebel 6 users, keep in mind the improvement of the following issues regarding the tuning of individual SQL: The correct optimization class is already set by Siebel 7 and should not be changed. (in Siebel 6, however, the correct optimization class must be determined and set accordingly, in building DB2 plan) Similarly, the presence of the OPTIMIZE FOR 1 ROWS clause must also be determined and used accordingly Siebel 6, in building the DB2 plan. In Siebel 7, this is built into the query already and not something the users control. Sometimes the performance problem is not access path-related, but is due instead to the values used in the query. If the plan (access path) seems optimal, make sure the values substituted for the parameters markers are reasonable. For example, we have observed Siebel-generated queries that have predicates like NAME >= ? and at runtime use 0x01 for the ?, which makes the predicate basically useless since the predicate qualifies every single row. In the above cases, it may be possible to work with Siebel Experts Service to remove the predicate from the query. Table 6-3 through Table 6-5 relate probable symptoms to probable cause of problems, and should not be viewed as being definitive. Further investigation is required to home in on the actual cause of the problem.154 Siebel 7 Using DB2 UDB V7.x Table 6-3 SQL statement not tuned Table 6-4 Database server not tuned Table 6-5 Hardware is not tuned or is overloaded Indications Poor performance is observed for a particular view or particular query. Causes Configured views result in SQL that does not perform well. Data content in the Siebel database results in poor index selection. Diagnosis Generate the plan that the DB2 is using to execute the query. Use Visual Explain with the poorly performing SQL generated in the prior steps. The DB2 Performance Tuning Guide can help you in the interpretation of the plan output. If you believe that changes to indexes are necessary, review the output with a Siebel Enterprise Architect prior to recommending that an index change be made. Indications Poor performance is observed across all Siebel views, as well as other DB2 applications running on the same DB2 server. Causes Various. Diagnosis Review the DB2 Performance Tuning Guide and start with the Siebel DBA checklist items. Indications Poor performance is observed across all Siebel views, as well as across all applications running on the same physical server. Causes Lack of hardware resources (memory, I/O, CPU, etc.). Hardware not configured optimally for database. Diagnosis Review DB2 documentation for AIX to determine the appropriate hardware configuration.Chapter 6. Performance management 155 Generating SQL output from the Siebel client application In the command line for your Siebel application startup, use the /s filename option. This will begin spooling all of the SQL that Siebel generates to an output file named filename. If filename does not include an absolute path, it is placed in the Siebel bin directory. If you are not familiar with the SQL output, you may want to run Siebel once, up to the point of executing action with poor performance, but not actually performing the action. Then exit and save the output file. Restart the Siebel client and follow the same process, except that you should execute the poor performance action this time and then exit Siebel. The difference between the output files is the SQL with poor performance. Often this will consist of multiple SQL statements, although frequently it is only one of the statements actually causing the poor performance. If several statements are included for the action with poor performance, perform your tests using all of them until you are able to isolate the ones causing the problem. In order to run the generated SQL through db2batch, you will need to edit the output file to select just the desired portion of code. In addition, you can use DB2 Event Monitor to get a summary of activity at the completion of events such as statement execution, transaction completion, or when an application disconnects. 6.5.2 Siebel thin clients and Web clients Siebel thin clients do not execute SQL directly on DB2, and therefore one cannot collect SQL on the client side. In this case, use the Event Monitor to monitor SQL statements. Issue the following commands to get the Event Monitor (statemon) for statement information: $ db2 update monitor switches using statement on $ db2 "create event monitor statemon for statements write to file > '/siebeldump/db2dump' manualstart" $ set event monitor statemon state 1 Once this is done, you need to run your siebel applications from the Siebel client. Note you usually have enough data for analysis after running for 2 to 3 minutes. $ set event monitor statemon state 0 $ db2evmon -db siebel -evm statemon > statemon_read $ db2 drop event monitor statemon You can also use the graphical tools in Event Monitor and Event Analyzer available in the Control Center for the same purpose. 156 Siebel 7 Using DB2 UDB V7.x You can identify the poorly performing SQL statement from the file statemon_read. 6.5.3 Analyzing the SQL After you identify the poorly performing SQL statements, the following approach may be used to test and optimize the SQL statements: Create the Explain table by executing EXPLAIN.DDL in the sqllib\misc directory (you only need to do this once for your database). $ db2 -tvf explain.dll The Explain statement is useful when you want to gather Explain information for a dynamic SQL statement. It can be invoked either from the command line, the control center, or from an application program. $ db2 explain all with snapshot for “ Your SQL statement “ This command populates a number of Explain tables including the snapshot columns of the Explain_statement table. You can use the Visual Explain or other command (db2exfmt, db2expln, or dynexpln). The results file will include the SQL you entered and the optimized SQL suggested by DB2, for example: $ db2exfmt -d [DB_NAME] -o [Output fil] 6.5.4 The Index Advisor utility The Index Advisor utility can be used in cases when poorly performing SQL statement has been identified. Use Smart Guide to determine the appropriate indexes required to improve the performance of the SQL statement 6.6 Capacity planning considerations Capacity planning is the ability to predict and estimate the growth of system resources such that you can put in place some planning and budgeting to cater for future growth. (In this context, we mean resource requirements in the next two to five years.) Factors that affect growth are: Implementation of new applications into the production environment Rolling out the application in phases to different departments Rolling out new features in phases to the user community Unexpected growth of tables Changes in user expectation and uses for the applications Many other possibilitiesChapter 6. Performance management 157 As you can see, some activities are planned, and some are not. The demand for more capacity for those planned activities is accounted for. But activities that are unexpected can have a major impact on the demand on your system resources. To be able to cater for unexpected growth, you must put a strategy in place to collect information and perform trend analysis. In the following sections, we examine what information can be collected for the purposes of capacity planning. 6.6.1 Monitoring disk space requirements There are two DB2 objects that you can monitor and collect information about for capacity planning purposes: DB2 tables and tablespaces. You will need to know the growth rate of each Siebel table and tablespace, because this information will give you an insight into the expected growth rate of your Siebel database. DB2 tables You should schedule weekly runstats for most of the Siebel and system tables. After the runstats, a script is run to extract table-related information from the SYSCAT.TABLES and format it into insert statements. Information to be extracted from DB2 tables is as follows: TABNAME COLCOUNT CARD NPAGES FPAGES OVERFLOW Current timestamp At this point, you can perform trend analysis on this special user-defined table. It will give you a useful view of the growth pattern of your Siebel tables. If you have another strategy for EIM tables, you might not want to collect this information for EIM tables. You may run runstats and the script before or after an EIM process. DB2 tablespaces The same technique applies to DB2 tablespaces. Tablespace information is collected from the db2 list tablespaces show detail command. Note: You can use the information collected on the Siebel tables to schedule your runstats.158 Siebel 7 Using DB2 UDB V7.x Information to be extracted from DB2 tablespaces is as follows: Total pages Usable pages Used pages Free pages Current timestamp 6.6.2 Monitoring for CPU and memory These topics have already been covered in the section “Operating system considerations” on page 132.© Copyright IBM Corp. 2002 159 Chapter 7. Backup and recovery When a database becomes unusable because of hardware, software, or user errors, it needs to be recovered to a point of consistency. DB2 provides a number of capabilities to protect database assets from such failures. Database Administrators (DBAs) should have a strategy in place to protect Siebel’s critical database assets against possible failure. In this chapter we provide an overview of DB2 database and recovery capabilities, and discuss the considerations involved in protecting the Siebel 7 environment. Topics are organized as follows: DB2 backup and recovery overview Backing up Siebel databases and files Recovery scenarios Backing up the primary development enterprise 7160 Siebel 7 Using DB2 UDB V7.2 7.1 DB2 backup and recovery overview DB2 supports three types of recoveries: Crash recovery: This is the automatic recovery of the database if a failure occurs before all of the changes that are part of one or more units of work (transactions) are completed and committed. This is done by rolling back incomplete transactions and completing committed transactions that were still in memory when the crash occurred. To enable crash recovery to be done automatically, the DBA must enable the automatic restart configuration parameter autorestart ON. We recommend that this option be enabled for the Siebel 7 environment. Point-in-time recovery: This is the recovering of the database or tablespace to a prior point in time as a result of user errors or application logic errors. One may achieve this by either restoring a backup image without applying any log records at all, or applying log records up to a certain point instead of all log records to the end of the log. A point-in-time recovery requires a great deal of care in execution and is not covered in this section since it results in the loss of transactions that have been successfully processed, and must be adequately handled. Point-of-failure recovery: This requires a backup of the database and archived logs (by enabling the logretain or the userexit database configuration parameter, or both). It involves a ROLLFORWARD recovery to occur, wherein all log records up to the end of the log are applied to restore transaction consistency at the point of failure. This type of failure is relevant to media failures such as a disk crash. Critical to point-in-time and point-of-failure recovery is the taking of backups at regularly scheduled intervals, and the availability of DB2 active and archived logs. 7.1.1 Backup overview DB2 supports backup at either the database level or the tablespace level. Database backups may be offline or online. – Online backups are permitted only if roll-forward recovery is enabled. The utility can perform an online backup while the database is being accessed and modified by other applications. – To perform an offline backup, the utility must be able to connect to the database in exclusive mode. BACKUP fails if any application, including the calling application, is already connected to the database. If the connection Chapter 7. Backup and recovery 161 is successful, BACKUP locks out other applications until the backup is completed. Tablespace backups can also be online or offline. In practice, it is usually done online. A table space level backup contains one or more table spaces for a database, specified when the command is executed.As in the case of online database backup, the database must be configured with roll-forward recovery enabled. Table space level backup can be used to recover from problems that only affect specific table spaces. While this recovery is taking place, all other table spaces are available for processing. Backups may be either full or incremental. Incremental backups As the size of databases, and particularly warehouses, continues to expand into the terabyte and petabyte range, the time and hardware resources required to back up and recover these databases are also growing substantially. Full database and table space backups are not always the best approach when dealing with large databases, because the storage requirements for multiple copies of such databases are enormous. DB2 V7.2 now supports incremental backup and recovery. An incremental backup is a backup image that contains only pages that have been updated since the previous backup was taken. In addition to updated data and index pages, each incremental backup image also contains all of the initial database meta-data (such as database configuration, table space definitions, database history, and so on) that is normally stored in full backup images. The benefits of incremental backups are: Smaller backup size, reduced amount of data read during backups Ability to recover without doing frequent full backups or lengthy log processing Two types of incremental backup are supported: Incremental backups where the image contains a copy of all database data that has changed since the most recent successful full backup operation. This is also known as a cumulative backup image, because a series of incremental backups taken over time will each have the contents of the previous incremental backup image. The predecessor of an incremental backup image is always the most recent successful full backup of the same object.162 Siebel 7 Using DB2 UDB V7.2 Delta backups where the image is a copy of all database data that has changed since the last successful backup (full, incremental, or delta) of the table space in question. This is also known as a differential, or non-cumulative, backup image. The predecessor of a delta backup image is the most recent successful backup containing a copy of each of the table spaces in the delta backup image. The key difference between incremental and delta backup images is their behavior when successive backups are taken of an object that is continually changing over time. Each successive incremental image contains the entire contents of the previous incremental image, plus any data that has changed, or is new, since the previous backup was produced. Delta backup images contain only the pages that have changed since the previous image was produced. The following are commands to use these features: $ db2 update db siebel using trackmod yes $ db2 terminate $ db2 connect to siebel user sadmin using sadmin $ db2 backup db siebel to /siebeldb/backup/$ db2 backup db siebel online incremental or $ db2 backup db siebel online incremental delta Figure 7-1 is an illustration of two types of incremental backups in DB2, the cumulative backup and the delta backup. Figure 7-1 Cumulative backup and delta backup in DB2 Full Delta Backups Full Sunday Mon Tue Wed Thu Fri Sat Sunday Cumulative Backups Full FullChapter 7. Backup and recovery 163 7.1.2 Restore overview Restore operations may either be performed at the database level or at the tablespace level. Restores may be offline or online, as well as full or incremental. Backup and restore database can be done easily from control center. It is also possible to restore an existing image of a database to a new database or tablespace, as follows: $ db2 restore db siebel from /siebeldb/bachup into siebeldb redirect \ $ db2 => without rolling forward This command requests that the old database siebel be restored into a new database called siebeldb. Restore from incremental backup images A restore operation requires: 1. Identifying the incremental target images created by “db2 backup db siebel online incremental” and the like 2. Restoring the most recent full database or table space image to establish a baseline against which each of the subsequent incremental backup images can be applied 3. Restoring each of the required full or table space incremental backup images, in the order in which they were produced, on top of the baseline image restored in Step 2. 4. Repeating Step 3 until the target image from Step 2 is read a second time. The target image is accessed twice during a complete incremental restore operation. First only initial data is read from the image. Secondly the complete image is read and processed. Both these steps are performed automatically. To restore a set of incremental backup images, specify the TAKEN AT timestamp option on the RESTORE DATABASE command. Specify the time stamp for the last image that you want to restore. For example: $ db2 restore db siebel incremental automatic taken at 20011218141256 This will result in the DB2 restore utility performing each of the steps described above automatically. During the initial phase of processing, the backup image with time stamp 20011218141256 is read, and the restore utility verifies that the database, its history, and the table space definitions exist and are valid164 Siebel 7 Using DB2 UDB V7.2 New backup/recovery features in DB2 UDB V7.2 We do not intend to discuss the details of these features: Increased configurable capacity — logs and locks The db2ckbkp utility Testing the integrity of a backup image to determine whether it can be restored or not Display information about the backup that is stored in the backup header Flushing logs during online backup On-demand log archiving Suspended I/O Dual logging Parallel recovery Backup from split image Named pipe support for backup Incremental and delta backups Block transactions when log directory is full 7.2 Backup Siebel databases and files The successful factors for a DB2 database recovery are: Regularly scheduled backups of the Siebel DB2 database Availability of DB2 logs for any recovery purposes Archive of the DB2 logs Availability of the DB2 database backup image In the following discussion, we named our database siebel. 7.2.1 Backup DB2 database To ensure full recovery of the DB2 database, we recommend the following: At a minimum, schedule a full weekly offline DB2 backup and a daily online DB2 backup. If your database size is more than 100 GB, we recommend that you use incremental backups, which may be performed daily. Production environment In a production environment, circular logging should not be used. This is achieved as follows: Enable Archival Logging (LOGRETAIN=RECOVERY) for your Siebel production database by entering: $ db2 update db cfg for siebel using LOGRETAIN ONChapter 7. Backup and recovery 165 Or consider enabling DB2 USEREXIT to archive DB2 logs to disk or to the Tivoli Storage Manager by entering: $ db2 update db cfg for siebel using USEREXIT ON Testing or development environments Such environments generally use circular logging. In such cases, full offline DB2 backups should be scheduled, because recovery is only possible from an available offline DB2 backup image copy. An example of a backup image in UNIX is like: $ db2 backup db siebel online to /siebeldb/bachup/with 2 buffers \ > buffer 1024 parallelism 2 You will get an image like the following but with different date, timestamp, userid for the database siebel: SIEBEL.0.sadmin.NODE0000.CATN0000.20011214101123.001 In this example, SIEBEL is the database alias name, 0 is the backup type (0 means full database backup), sadmin is instance name, NODE0000 is the node name, CATN0000 is the CAT node, the rest is the time stamp and 001 is the backup sequence. Tablespace level online backup To ensure that restored table spaces are synchronized with the rest of the database, the table spaces must be rolled forward to the end of the log (or to the point where the table spaces were last used). For this reason, table space level backup and restore can only be performed if roll-forward recovery is enabled. If roll-forward recovery is disabled at any time after a table space level backup is executed, it will not be possible to restore from the backup, and then to roll the table space forward to the current point in time. In this case, all table space level backups taken prior to that time are no longer restorable. The restore operation will fail if the user tries to restore from such a backup. In cases where it cannot be determined that the backup is not valid (if, for instance, the database has been restored and rolled forward, thus creating a new log sequence), the restore may be successful, and the broken restore set will be detected during roll-forward recovery. Note: If you activate DB2 USEREXIT, you do not need to activate LOGRETAIN as it is implicit, although it will not show in the database configuration. DB2 provides sample userexit code, which the installation should modify to suit their particular environment, before installing in the appropriate directory.166 Siebel 7 Using DB2 UDB V7.2 $ db2 backup db siebel tablespace tbs_4k, syscatspace online to \ > /siebeldb/backup_tbs/, /siebeldb/backup/with 4 buffers buffer 1024 \ > parallelism 2 In this process, two backup images are being written in parallel. The two devices or directories contain the following two images: siebel.3.sadmin.NODE0000.CATN0000.20011217170705.001 siebel.3.sadmin.NODE0000.CATN0000.20011217170101.002 Siebel 7 on DB2 UDB is a highly indexed database, which contains 2092 tables and 10,835 indexes (for Siebel V7.0.2). The user may choose to separate data, index, long field (LONG), and large objects (LOB) into different table spaces. Long field and LOB data for the same table must reside in the same table space. Each component of a table may be backed up and restored with the table space in which it resides, independently of the other components of the table. 7.2.2 Backing up Siebel files When you back up your database, you should also back up the following Siebel objects using the standard operating system backup command: The Siebel install directory for all Siebel components The Siebel File System 7.3 Recovery scenarios In this section, we review various recovery scenarios and the action to be taken to restore the DB2 database to an acceptable state. These are five possible recovery scenarios: Scenario 1: DB2 or the system crashed without any disk failure. This is when, after a DB2 or system crash, the disk holding DB2 data and DB2 logs are intact. Scenario 2: DB2 or the system crashed with data disk failure. This is when the disks holding the DB2 data are lost, but the DB2 logs are intact. Scenario 3: DB2 or the system crashed with DB2 log disk failure. This is when the disks holding the DB2 logs are lost.Chapter 7. Backup and recovery 167 Scenario 4: The total system crashed and system rebuild/restore are required. This is in the event of a major disaster and a full system restore/rebuild is necessary. Scenario 5: Point-in-time recovery. This is when there is no system or DB2 crash, but a user would like to roll back the database to a past point in time. 7.3.1 With DB2 circular logging enabled — recovery actions Here we describe the recovery actions. For scenario 1: DB2 should automatically perform a crash recovery on the first DB2 connection after the crash when auto restart is enabled. $ db2 update db cfg for siebel using AUTORESTART ON No further action is required from the DB2 perspective. Run the Siebel File System Utility (SFSUTL) to ensure no orphan attachments exist. Consider re-extracting all mobile clients. For Scenarios 2, 3 and 4: Replace the failed disk. Ensure that the DB2 file systems for data and logs that are affected by the disk failure are available/online. Restore the DB2 database from the latest DB2 offline backup image. Restore the corresponding Siebel files. Run the Siebel File System Utility (SFSUTL) to ensure no orphan attachments exist. Consider re-extracting all mobile clients. For Scenario 5: Identify the appropriate DB2 offline backup image. Restore the DB2 database from the designated DB2 offline backup image. Restore the corresponding Siebel files.168 Siebel 7 Using DB2 UDB V7.2 Run the Siebel File System Utility (SFSUTL) to ensure no orphan attachments exist. Consider re-extracting all mobile clients. 7.3.2 With DB2 archival logging enabled — recovery actions With this option enabled, each scenario is handled differently. For Scenario 1: DB2 should automatically perform a crash recovery on the first DB2 connection after the crash when auto restart is enabled. db2 update db cfg for siebel using AUTORESTRAT ON No further action is required from the DB2 perspective. Run the Siebel File System Utility (SFSUTL) to ensure no orphan attachments exist. Consider re-extracting all mobile clients. For Scenario 2: A DB2 restore from a backup followed by a DB2 rollforward to end of log is required to fully recover from the situation. After the data disks are back online: Ensure that the DB2 file systems for data and logs that are affected by disk failure are available/online. Run db2 list history backup all for siebel to identify the latest DB2 backup image to restore to and take note of the Earliest Log that is associated with this backup image. Make a copy of all the DB2 logs, starting from the earliest log in step 1 to the latest logs currently in the DB2 log directory. This is required as a precaution in case you need to re-restore the database due to unforeseen circumstances, because at the end of the DB2 rollforward process, DB2 will truncate the last log. Restore DB2 from the designated offline image copy. Roll forward to the end of logs and stop. Restore the corresponding Siebel files.Chapter 7. Backup and recovery 169 Run the Siebel File System Utility (SFSUTL) to ensure no orphan attachments exist. Consider re-extracting all mobile clients. For Scenarios 3 and 4: Since you have lost all your current DB2 logs, your only option is to do a DB2 restore from a backup, followed by a DB2 rollforward to the last available logs that have been archived. After the data and log disk are back online: Ensure that the DB2 file systems for data and logs that are affected by disk failure are available/online. Run db2 list history backup all for [name of database] to identify the latest DB2 offline backup image to restore to, and take note of the earliest log that is associated with this backup image. Make a copy of all the DB2 logs, starting from the earliest log in step 1 to the latest archived logs. This is required in case you need to re-restore the database due to unforeseen circumstances, because at the end of the DB2 rollforward process, DB2 will truncate the last log. Restore DB2 from the designated offline image copy. Roll forward to the end of logs and stop. Restore the corresponding Siebel files. Run the Siebel File System Utility (SFSUTL) to ensure no orphan attachments exist. Consider re-extracting all mobile clients. For Scenario 5: In this scenario, there is no system or DB2 crash, but due to user errors, they have requested that you roll the database backward to undo the change. To accomplish this, you have to restore the database from a backup taken before the point in time requested by the user, and roll forward the database to the point in time requested by the customer. The action to be taken is as follows: Run db2 list history backup all for [name of database] to identify the latest DB2 backup image to restore to, and take note of the earliest log that is associated with this backup image.170 Siebel 7 Using DB2 UDB V7.2 Make a copy of all the DB2 logs starting from the earliest log in step 1 to the latest logs currently in the DB2 log directory. This is required as a precaution in case you need to re-restore the database due to unforeseen circumstances, because at the end of the DB2 rollforward process, DB2 will truncate the last log. Restore DB2 from the designated offline image copy. Roll forward to the desired point in time and stop. Restore the corresponding Siebel files. Run the Siebel File System Utility (SFSUTL) to ensure no orphan attachments exist. Consider re-extracting all mobile clients. 7.4 Backing up the Primary Development Enterprise Backing up the Development Enterprise is important, since it contains the master Siebel Repository. We recommend that you do daily backups of the development database, enable roll forward recovery (archiving logging), and also export the Repository using the exprep.ksh script. © Copyright IBM Corp. 2002 171 Chapter 8. Enterprise Integration Manager (EIM) Siebel Enterprise Integration Manager (EIM) is a major component of the Siebel environment. From Siebel’s point of view, this is their major interface with other external corporate data sources. In this chapter, we highlight the importance of EIM and factors that might have an impact on its performance. 8172 Siebel 7 Using DB2 UDB V7.x 8.1 What is Enterprise Integration Manager? EIM manages the exchange of data between Siebel database tables and other corporate databases. You can use EIM to perform bulk imports, exports, merges, and deletes. Examples of these functions include: When initially implementing a Siebel application, you can load the Siebel database tables with data and file attachments created by external applications. For example, you might import information about product lines and products from an Inventory Control database into the Siebel database. As part of maintaining the database, you can update it with information created by external applications. When initially implementing a non-Siebel application, you can export data from the Siebel database tables for use by that application. As part of maintaining a non-Siebel database, you can update it with information from the Siebel database. In response to some external events such as corporate mergers, you can merge two or more database rows into a single row. As part of maintaining the Siebel database, you can identify rows to be deleted from a table and its associated child and intersection tables. For a detailed discussion of EIM, see Siebel Enterprise Integration Manager Administration Guide, Siebel 2000, v6.0, 10PA1-EL01-06000 Important: Loading data directly into Siebel base tables using DB2 Load, DB2 Import, SQL Insert, Update or Delete is not supported. Due to the complexity of table relationships, you must use EIM to import data into Siebel base tables. Do not attempt to modify data directly in the physical tables. Note: There are other ways to update data in addition to Siebel client or EIM. You can also write programs (e.g. VB/COM) that communicate with the Siebel Object Manager (SOM layer). Such programs are allowed to manipulate data since they are effectively using the Business Components (BusComps). For more information, refer to Siebel VB Language Reference, 10PA1-VB00-06000.Chapter 8. Enterprise Integration Manager (EIM) 173 8.2 EIM architecture Siebel EIM architecture consists of two data components and two data managing processes. One data component is the non-Siebel data that resides in the external data source. The other data component is the Siebel database that consists of Siebel interface tables and base tables. One data managing process is the non-Siebel utility/process to import into and export from the EIM interface table. The other data managing process is the Siebel EIM process. See Figure 8-1 for an illustration of this architecture. The Siebel EIM process either transfers data from the interface table to the base table, or extracts from the base table and populates the interface table, depending on the EIM configuration file. The EIM interface table acts as a staging area for the EIM process. Figure 8-1 Siebel EIM architecture 8.3 Types of EIM interface tables Siebel interface tables are intermediate database tables that act as a staging area between the Siebel database and other external databases. As of Siebel 2000.x, there are two different types of interface tables: S_ type interface tables (with S_prefix and IF suffix) were released prior to Version 6.x, and EIM_ type interface tables (with EIM_ prefix), which are new in version 6. Base tables EIM tables Non-Siebel data RDBMS -Vendor supplied utility Siebel Data Database Siebel EIM DB2 IMPORT utility DB2 LOAD utility SQL INSERT174 Siebel 7 Using DB2 UDB V7.x You should use EIM_ type interface tables if: This is your first Siebel implementation. You have multiple organizations in your Siebel environment. You export, delete, or merge data using EIM. You set explicit primaries. 8.4 EIM processing Primarily, the following steps are involved in an EIM process: Preparing the interface table Preparing the EIM configuration file Running EIM Checking the results 8.4.1 Preparing the interface tables Depending on the type of EIM processing (import, export, merge, delete or update), the selected interface table must be prepared. For import, merge or delete processing, the interface tables must first be populated from the external data source. The combination of rowid and batch number for each row in the interface table must be unique. For export, the interface table must not contain any row with a batch number identical to the batch number your EIM export process will be running. 8.4.2 The EIM configuration file EIM reads the configuration file (.ifb) to determine where the data is stored and to where the data needs to be transferred. The interface tables store de-normalized data and EIM determines the relationship based on the EIM table-mapping definitions. As such, any base table extensions must be updated using Siebel Tools. Siebel Tools is a graphical user interface tool for use by developers to customize the Siebel applications. Following are EIM parameters that can have an impact on the performance of EIM processing: ONLY BASE TABLES/IGNORE BASE TABLES Use these parameters to include tables you are interested in, or to exclude the tables that are not required. This will reduce the amount of unnecessary EIM processing.Chapter 8. Enterprise Integration Manager (EIM) 175 ONLY BASE COLUMNS/IGNORE BASE COLUMNS Use these parameters to include the columns you are interested in, or to exclude the columns that are not required. This will reduce the amount of unnecessary EIM processing. ONLY BASE COLUMNS/INSERT ROWS Use this parameter to control whether EIM will attempt to insert new records into the target base table(s). The default value is TRUE. ONLY BASE COLUMNS/UPDATE ROWS Use this parameter to control whether EIM will attempt to update existing records in the target base table(s). The default value is TRUE. COMMIT EACH PASS This should always be set to TRUE, to ensure the smallest unit of work within your EIM processing. COMMIT EACH TABLE You might want to use this in conjunction with COMMIT EACH PASS. COMMIT OPERATIONS (IMPORT only) This specifies the number of insert and update operations to be performed before a commit is invoked, and with the value greater than zero, it prevents the transaction rollback space from overflowing when large data sets are imported. The default for COMMIT OPERATIONS is not set; a commit is thus invoked only at the end of the import by default. Note that this parameter is useful only for row-by-row processing (with transaction logging on). It is not used for set-based processing operations. ROLLBACK ON ERROR With this set to TRUE, you should also consider using a smaller batch size, as this can have an impact on the size of the DB2 logs required. UPDATE STATISTICS To minimize the performance impact of running multiple concurrent EIM processes on the same EIM table, you should consider disabling this option. We recommend that every section in an IFB include the parameters for ONLY/IGNORE BASE TABLES, ONLY/IGNORE BASE COLUMNS, INSERT ROWS, and UPDATE ROWS. These four parameters allow you to fine-tune EIM and have it perform the minimal amount of SQL statements. We also recommend that (if possible) you segregate data in the EIM table so that insert-only transactions are processed separately from update-only transactions. This requires that you segregate the transactions by batch number in the EIM table, and that you include two Sections (for each previous Section) in the IFB as shown in Example 8-1. 176 Siebel 7 Using DB2 UDB V7.x Example 8-1 IFB example — segregate transaction by batch number [Process Accounts] TYPE = IMPORT ONLY BASE TABLES = S_ORG_EXT ONLY BASE COLUMNS = BATCH = 1-100 [Process New Accounts] TYPE = IMPORT ONLY BASE TABLES = S_ORG_EXT ONLY BASE COLUMNS = BATCH = 1-50 INSERT ROWS = TRUE UPDATE ROWS = FALSE [Process Existing Accounts] TYPE = IMPORT ONLY BASE TABLES = S_ORG_EXT ONLY BASE COLUMNS = BATCH = 51-100 INSERT ROWS = FALSE UPDATE ROWS = TRUE 8.4.3 Running an EIM process You can run an EIM process (import, export, delete, or merge) once you have done the following: Identified the data for EIM processing Prepared the related interface tables Modified the EIM configuration file accordingly To run an EIM process, use a Graphical User Interface (GUI). For example, from the Siebel Call Center screen, choose Screens > Server Administration > Servers > Server Tasks and follow the instructions outlined in Siebel Enterprise Integration Manager Administration Guide, Siebel 2000, v6.0, 10PA1-EL01-06000.Chapter 8. Enterprise Integration Manager (EIM) 177 8.4.4 Checking the results It is very important to check the results of your EIM processing. Monitor the status of the EIM process by: Reviewing the IF_ROW_STAT columns in the interface table: EIM updates the IF_ROW_STAT column of the respective row in the interface tables after each phase of EIM processing. Reviewing the Task Info log: The Task Info log consists of three general sections: – Startup messages – Run-time messages – Row count summary of each process Enabling the trace facility: EIM also provides a tracing and SQL tracing facility. The trace flags can be set during the EIM task definition. For details, refer to Siebel Enterprise Integration Manager Administration Guide, Siebel 2000, v6.0, 10PA1-EL01-06000. 8.5 Tuning EIM processing In this section we highlight the factors that can affect/improve the performance of EIM processing. They are: Placement of EIM tables: Because EIM tables are not used by any online user, they should be placed in separate tablespaces and bufferpools (if possible). This will minimize I/O and bufferpool contention. This is especially true when EIM processes are run during the day, when online users can be impacted. Indexes of base tables: For the initial loading of the base tables, you might want to consider dropping the indexes of base tables before running the EIM. Then, recreate the indexes after successful loading of the base tables. Data-related considerations: Separate and group rows based on different activities (insert/updates/delete/merge) into different batches.178 Siebel 7 Using DB2 UDB V7.x By separating and grouping rows based on activities, you can tune the configuration in the EIM ifb file. With the specified ifb file, you can either choose IGNORED or INCLUDE BASE TABLES or COLUMNS. This will eliminate unnecessary processing. Use concurrent EIM processing: You might consider running the EIM tasks in parallel. Concurrent EIM processes can run against the same EIM interface table only if they are operating on different batch numbers. To minimize the possibility of a deadlock and lock contention when doing parallel EIM processing, choose UPDATE STATISTICS using a single EIM run. However, subsequently do the following: – Run a parallel EIM with UPDATE STATISTICS turned off. – Ensure that COMMIT EACH PASS and COMMIT EACH TABLE are turned on to free up locks as soon as possible. – Use a small number of records in each batch number in the EIM table. We recommend approximately 2,000 to 3,000 records in each batch number. Consider DB2-related activities: You can view DB2-related activities from these perspectives: – Batch size and DB2 logs: Changes to DB2 data are logged into the DB2 log, which must be big enough to accommodate the complete unit of work. If there are insufficient DB2 logs available, DB2 will crash and force a crash recovery as that is the only way to ensure data integrity. During the crash recovery, DB2 will flush all committed transactions to disks and rollback all uncommitted transactions. DB2 has a limit of 128 logs file (primary and secondary) and a log space limit of 4 GB (max). If you have exceeded these limits, do the following: • Reduce the number of concurrent EIM processes. • Ensure that your COMMIT ON PASS is enabled. – Tune the SQL: If, after tuning and sizing your database, your EIM is still performing poorly, we recommend you tune the SQL. – Avoid lock escalation: Increase the LOCKLIST and MAXLOCKS DB2 parameters if lock escalation is observed in the db2diag.log file. Chapter 8. Enterprise Integration Manager (EIM) 179 – Disable the updating of DB2 statistics: Consider disabling UPDATE STATISTICS within the EIM processing. Instead, you might want to put in place a process to monitor the percentage of change of EIM tables and issue a run update statistics job outside the EIM processing. We recommend that you run EIM using UPDATE STATISTICS once for a given EIM interface table. Subsequent runs can have UPDATE STATISTICS turned off. 8.6 An EIM tuning challenge In this section we highlight an interesting challenge related to tuning the EIM process. 8.6.1 The challenge When importing, exporting, merging or deleting data, EIM performs a sequence of tasks. Each task involves multiple passes. At least one pass is required for each EIM interface table included in the process. In some cases, EIM may repeat several tasks. Some of these tasks update columns in the EIM tables. It is the updating process that presents the challenge. To understand the problem, let’s look at some SQL statements in an EIM process in detail. Assume that when processing EIM interface table S_ACCOUNT__IF, we have to perform two passes on this table. The sequences/observations are as follows: 1. The statistics before the start of the EIM process are as shown in Table 8-1. Note that the column T_ORG_EXT_RID is a column in the S_ACCOUNT_IF table. Table 8-1 Starting statistics Attention: Never update statistics on any EIM interface tables after you have updated them as part of EIM processing. Variable Value Description NUMNULLS (from SYSCAT.COLUMNS) 10000 Number of nulls value in column T_ORG_EXT__RID Batch Size 10000 Number of rows for that batch180 Siebel 7 Using DB2 UDB V7.x 2. The S_ACCOUNT__IF table has about 23 indexes, but only two are related to this example; see Table 8-2. Table 8-2 Two indexes of S_ACCOUNT__IF 3. For the first pass, EIM updates column T_ORG_EXT__RID; see Example 8-2. Example 8-2 SQL to update column T_ORG_EXT__RID UPDATE siebelS_ACCOUNT_IF T1 SET T_ORG_EXT__RID = '1+9ZY+' || rtrim(char(int(siebel.nextseq('siebel', 'S_APP_VER', 'DCKING_NUM', '6') -416311))), T_ORG_EXT__UNQ = 'Y' WHERE (T_ORG_EXT__EXS = 'N' AND ROW_ID = ( ...........) ) 4. In the second pass, EIM updates T_ORG_EXT__RID again; see Example 8-3. One of the predicates in the second pass is T2.T_ORG_EXT__RID IS NOT NULL. Based on the columns statistics, index S_ACCOUNT_IF_T02 is ideal for this SQL, because there should be no rows qualifying the predicates. But in reality, the column has been updated by the first EIM pass and there are no null values in the column. Therefore, using index S_ACCOUNT_IF_T04 might be a better choice! The problem is that the column statistics have not been updated before the second pass, thereby resulting in the wrong access path. Example 8-3 Second SQL to update the T_ORG_EXT__RID UPDATE siebel.S_ACCOUNT_IF T1 SET T_ORG_EXT__RID = (SELECT MIN(T_ORG_EXT__RID) FROM siebel.S_ACCOUNT_IF T2 WHERE (T2.T_ORG_EXT__RID IS NOT NULL AND T2.ACCNT_NAME = T1.ACCNT_NAME AND (T2.ACCNT_LOC = T1.ACCNT_LOC OR (T2.ACCNT_LOC IS NULL AND T1.ACCNT_LOC IS NULL)) AND T2.IF_ROW_BATCH_NUM = 11)) Index name Index columns S_ACCOUNT_IF_T02 IF_ROW_BATCH_NUM,T_ORG_EXT__RID S_ACCOUNT_IF_T04 IF_ROW_BATCH_NUM,ACCNT_NAME,ACCNT_LOC, TORG_EXT_BU_IDChapter 8. Enterprise Integration Manager (EIM) 181 This is a tricky situation. The ideal situation is to have some dynamic way of collecting the statistics. Failing that, you might have to set numnulls to 0 initially. 8.7 EIM tuning scenarios In this section, we describe two EIM tuning scenarios that frequently happen in many existing customers, so that you can avoid a similar problem in your installation. In these cases, the customer had created a Siebel Enterprise for their User Acceptance Test (UAT) environment. 8.7.1 Scenario 1 Following are the details of our Scenario 1. Background The customer had created an EIM IFB with two sections. The first section would load Contact records into S_CONTACT, and the second section would load associated Contact Address records into S_ADDR_PER. No records existed in S_CONTACT or S_ADDR_PER, since this was a new Siebel implementation. The customer loaded multiple batches of related data for Contacts and Contact Addresses. The customer observed that the throughput for Contacts remained approximately constant, but the throughput for Contact Addresses seemed to decline at an almost exponential rate. Analysis We verified that there was sufficient hardware capacity for the Siebel Server and the Database Server. We then verified that the EIM IFB had at least some of the parameters to help focus the EIM task (in this case, the customer was using ONLY BASE TABLES and ONLY BASE COLUMNS). We set the parameters INSERT ROWS=TRUE and UPDATE ROWS=FALSE in each IFB Section since the customer was only inserting new records. Finally, we verified that the DB2 instance and database were configured as expected. We ran the EIM task again, using the parameters ErrorFlags=1 and TraceFlags=1, and then reviewed the resulting trace file. The parameter TraceFlags=1 caused EIM to write a summary after each batch; the summary lists the elapsed execution time for each of the 11 steps for every batch number. We reviewed the trace file and noticed that the elapsed time for Step 11 of each Contact Address batch would increase as more Contacts and Contact Addresses were loaded into the base tables (S_CONTACT and S_ADDR_PER).182 Siebel 7 Using DB2 UDB V7.x We ran the EIM task again, using the parameters ErrorFlags=1, TraceFlags=1, and SQLTrace=1. This produced a very large trace file since all SQL statements were now being captured in the trace file. We reviewed the trace file and noticed that a single SQL statement (UPDATE S_CONTACT SET...) in Step 11 was the source of the problem. Results We and the customer realized that the DB2 Optimizer thought there were no records in the table S_CONTACT. Statistics had been collected for both S_CONTACT and S_ADDR_PER prior to loading any records in either table, and had not been collected since loading thousands of records into both S_CONTACT and S_ADDR_PER. We and the customer deduced that the DB2 Optimizer thought there were no records in S_CONTACT and was therefore not using any indices when performing the UPDATE statement on S_CONTACT in Step 11. To test the hypothesis, the customer rolled back the UAT database to the point where there were no records in the S_CONTACT and S_ADDR_PER tables. We ran the EIM task again (with ErrorFlags=1 and TraceFlags=1) and allowed approximately 5,000 records to be loaded into both S_CONTACT and S_ADDR_PER. As expected, Step 11 for the Contact Addresses performed poorly. We ran the RUNSTATS utility for the S_CONTACT table, and then ran the EIM task again and loaded an additional 5,000 records into both S_CONTACT and S_ADDR_PER. The SQL statement (UPDATE S_CONTACT SET...) in Step 11 for the Contact Addresses now performed optimally. Recommendations We recommend that you collect new statistics (either using RUNSTATS or the script UPDATESTATS.KSH) after loading data into a table that previously had no records. 8.7.2 Scenario 2 Following are the details of our Scenario 2. Background The customer had created a Siebel Enterprise Server for their User Acceptance Test (UAT) environment. They began to do the initial data loads using EIM and were upset to see EIM's throughput at approximately one to two rows per second.Chapter 8. Enterprise Integration Manager (EIM) 183 Analysis We verified that there was sufficient hardware capacity for the Siebel Server and the Database Server. We then verified that the EIM IFB had at least some of the parameters to help focus the EIM task (in this case, the customer was using ONLY BASE TABLES and ONLY BASE COLUMNS). We then began to review the configuration of the DB2 UDB instance and database. It was discovered that the bufferpools had been left at the default value of 250 pages. Results The customer increased the number of pages allocated for the various bufferpools, stopped the DB2 instance, restarted the DB2 instance, and then ran the same EIM task again. The throughput for the EIM task increased to approximately 50 rows per second for Contacts (S_CONTACT) and 140 rows per second for Contact Addresses (S_ADDR_PER). Recommendations We recommend that you ensure that an adequate number of buffers are specified to accommodate EIM activity.184 Siebel 7 Using DB2 UDB V7.x© Copyright IBM Corp. 2002 185 Part 4 Migrating from Siebel 6.x In this part of the book, we describe our Siebel 6.x Windows NT environment and the steps we took to migrate it to a Siebel 7 Windows 2000 environment. Part 4186 Siebel 7 Using DB2 UDB V7.x© Copyright IBM Corp. 2002 187 Chapter 9. Migrating from Siebel 6.x to Siebel 7.0.2 In this chapter we describe the process involved in migrating from a Siebel 6.x version to a Siebel 7.0.2 version on a Windows 2000 platform. We cover the following topics: Siebel 7 features Overview of the migration process Environment migrated 9188 Siebel 7 Using DB2 UDB V7.x 9.1 Siebel 7 features The two major groups of Siebel 7 eBusiness Applications are: Employee applications: These are typically used by internal employees of an enterprise such as Siebel Call Center and Siebel Sales. Customer or Partner applications: These are typically used by external partners, customers, and prospects of an enterprise, such as Siebel eSales (a customer application) and Siebel eChannel Partner Portal (a partner application). In prior releases, these were called .COM applications. Within each of these two application groups, products are one of two types: Base applications (one or more is required with a product purchase) Options (available for purchase with a base product purchase) The Siebel eBusiness Applications user interface has changed significantly in Siebel 7. Siebel 7 now runs on a Web browser and supports the familiar browser navigation capabilities. This section provides a general overview of Siebel 7 functionality and key changes that have occurred from previous releases. We address changes in several key tasks between 6.x releases and the 7.0.2 release. The new Siebel 7 features are categorized by user type as follows: Object changes End user Administrators and developers 9.1.1 Object changes A number of additional database objects have been added in Siebel 7. These are briefly highlighted in Table 9-1. Note that any custom indexes and triggers are unique to each installation, and will likely require changes in Siebel 7. Note: The reader should consult the Siebel documentation for more comprehensive information.Chapter 9. Migrating from Siebel 6.x to Siebel 7.0.2 189 Table 9-1 Database objects Backup and recovery strategies, as well as performance tuning tasks, are significantly impacted by some of these changes. 9.1.2 End user enhancements The following is the list of areas in the applications where key enhancements have been made: User Access Information Homepage Siebel Application windows New navigation techniques Searches Queries Additional new features such as spell-checking and data quality Object Names Siebel 6.2 Siebel 7.0.2 Tablespaces 11 10 Tables 1525 2292 Views 1752 3190 Indexes 7327 10886 EIM Interface tables 390 485 Screens 257 505 Applets 3460 5641 Business Components 1643 2751 Business Objects 470 710 Class 665 1486 Projects 512 805 Web Pages 26 57 Web Templates 82 320 Integration Objects 54 302190 Siebel 7 Using DB2 UDB V7.x 9.1.3 Administrator and developer level enhancements These are some of the administrator and developer level enhancements: Installation enhancements Upgrade enhancements Integration enhancements Application development enhancements System administration enhancements Application administration enhancements 9.2 Overview of the migration process We have described the migration process as comprising the following tasks: Pre-upgrade tasks Upgrading the production environment Client upgrade tasks Post upgrade tasks 9.2.1 Pre-upgrade tasks Many tasks comprise the pre-upgrade process. These are briefly reviewed here. Ensuring that database requirements are met Ensure that the production database configuration meets the database requirements described in the Siebel Server Installation Guide for Microsoft Windows. Backing up the production database Perform a full backup of the production database, using the utilities specific to specific database platform. This backup protects your production repositories and environment. Note: For detailed information about enhancements, navigation techniques, and new features in Siebel 7.0, please refer to What is New in Siebel 7, for end users, administrators, and developers. It is also suggested that you refer to Siebel 7.0 Fundamentals. Attention: We will only be focusing on migrating a production environment. We only validated the migration process, and did not attempt to tune the process to reduce migration time.Chapter 9. Migrating from Siebel 6.x to Siebel 7.0.2 191 We recommend that you back up your database repository at key stages of the production environment upgrade: Before any upgrade activity is started After upgrading the Siebel Database Schema After upgrading the Custom Database Schema Preparing mobile and dedicated users for the upgrade Complete the following tasks: Perform a partial synchronization for mobile users, sending all transactions to the server database. Verify that mobile clients have synchronized and that all changes have been merged into the server database. Check that no transaction files remain in the synchronization inbox for any mobile user. The synchronization inbox for each user is on the Siebel Server. Microsoft Windows inboxes will be in the directory: C:\ SIEBSRVR_ROOT\docking\mobileusername\ Transaction files are in the format, number.dx; for example, 00000023.dx. – Log on to a Siebel eBusiness Application, such as Call Center, as the Siebel Administrator. Use the Server Administration -Server Tasks screen to make sure that each Transaction Merger task has successfully completed. – Verify that Workflow Monitor and Workflow Action agents have processed all pending requests. When the Workflow Manager has completed successfully, the S_ESCL_REQ table will not have any rows. To prevent synchronization of mobile clients with the database server, stop or disable all Siebel Remote components on all Siebel Servers, as described in Siebel Remote and Replication Manager Administration Guide and in the Siebel System Administration Guide. Disconnect all thin clients from the database server by stopping the appropriate Application Object Managers, as described in Siebel System Administration Guide. Disconnect all the dedicated clients from the database server. Warning: Mobile users must make no further changes to their local databases until the upgrade has been completed. Any changes made before the upgrade has been completed will be lost when they are re-initialized following the upgrade.192 Siebel 7 Using DB2 UDB V7.x Upgrading the DB2 software Upgrade your existing DB2 UDB to Release 7.1 with fixpak 3sa. If upgrading DB2 UDB 7.1, you must use a DB2 database with 4K, 16K and 32K tablespaces defined on it, otherwise, the upgrade process will fail. Ensure that the DB2 upgrade has succeeded before proceeding. For more detailed information about DB2 UDB 7.1 fixpak 3sa tablespace requirements and bufferpool requirements, please refer to Siebel Systems Requirements and Supported Platforms. Server upgrade tasks These tasks are described in the following sections. Verifying the DB2 UDB Configuration 7 Verify the database configuration before beginning the upgrade process. While specific requirements vary by database platform, inadequate resources will cause the upgrade to fail, and valuable time will have to be spent to adjust the environment and resume the upgrade. To obtain better performance from DB2, we recommend the following minimal guidelines: Define at least 25 primary and 100 secondary logs of at least 32 MB log size. Set the locklist parameter to at least 5,000, or preferably 15,000. Set the maxlocks parameter to 20. DMS tablespace has at least 25% of free pages. If not, increase tablespace size by adding containers. Ensure sufficient file system space to allow your DMS tablespace to grow after determining tablespace page requirements. In addition, verify that the tablespaces are not near their capacity. This can be done by connecting to the database and issuing the following command: db2 list tablespaces show detail Note: Make sure both server database and client database connectivity software on all systems meet the version requirements specified in Siebel Systems Requirements and Supported Platforms.Chapter 9. Migrating from Siebel 6.x to Siebel 7.0.2 193 Increase the number of ODBC statement handles. DB2 UDB can quickly run out of ODBC statement handles, depending on the number of business objects your enterprise uses. Because it is difficult to know how many business objects your users actually use, you should increase this number automatically each time you install or upgrade the DB2 UDB client, or when rebinding database utilities. We recommend that you increase the number of CLI packages to six by rebinding the CLI packages, using the special DB2 CLIPKG bind option. Upgrading the DB2 UDB instance After upgrading DB2 UDB, upgrade the DB2 UDB instance. To upgrade the instance run the following command on the database server to upgrade to the current version of your RDBMS software: db2updv7 -d DB_NAME For more detailed information about tablespaces and bufferpools, please refer the DB2 manuals and Siebel Upgrade guide for Microsoft Windows. Preparing the Siebel Database Prepare the Siebel Database as follows: Determine tablespace page size requirements. Create DB2 temporary tablespaces. Increase 4K and 16K tablespaces and bufferpools. Create 16-K and 32-K tablespaces and bufferpools. For the purpose of creating tablespaces and bufferpools, use the scripts provided in Appendix C, “Database setup scripts on Windows” on page 225. Updating the file system directory In previous releases, the file system had a flat structure with one directory. The Release 7.0 file system contains subdirectories. During the upgrade of the production environment, Siebel Anywhere looks for certain files in the file system subdirectories, but these files only exist in the root file system directory. Therefore, you need to create the appropriate subdirectories in your previous installation directory structure, and then copy the required files from the root file system directory to the new subdirectories.194 Siebel 7 Using DB2 UDB V7.x Here is how to make the file attachments accessible by Siebel eBusiness Applications: In the existing file system structure, create an \att subdirectory if it does not already exist; for example, \\ siebfile\att, where siebfile is your root file system directory. Copy all files located under the \\ siebfile directory to the \\ siebfile\att directory so that all file attachments will be accessible by Siebel eBusiness Applications. Verify that files have copied correctly to the \\ siebfile\att directory. After this has been verified, clean up the file system. Preparing the Siebel tables Prepare the Siebel tables as follows: Reevaluate custom indexes. Release 7.0 upgrade drops and recreates custom indexes on base tables. However, custom indexes on interface tables are not recreated during the upgrade, but they can be restored when the upgrade is complete. Custom indexes may need to be changed to reflect schema changes. You should reevaluate custom indexes for applicability in the new release. If custom indexes were in the current schema that were not defined through Siebel Tools in the Siebel repository, then custom indexes will be dropped during the upgrade process. Disable customized triggers. Release 7.0 does not support customized triggers. Any customized triggers must first be disabled before performing the upgrade. You will then need to recreate them after the upgrade is finished. Drop customized views. Any customized views created on Siebel base tables must be dropped before performing the upgrade. If they are still applicable after the upgrade, they will need to be recreated after the upgrade is finished.Chapter 9. Migrating from Siebel 6.x to Siebel 7.0.2 195 Preparing the Siebel repositories for upgrade Two separate repositories are used during the production upgrade process: Existing production repository: To prevent a naming conflict, before you run the upgrade, rename your existing production repository (“Siebel Repository”) to “Prior Customer Repository”. After the upgrade, your new Release 7.0 production repository will be given the name “Siebel Repository”. New customer repository: This repository will be loaded when you run the upgrade wizard. To rename the existing repository, use the version of Siebel Tools that matches your old version of Siebel eBusiness Applications (for example, Siebel Tools Release 6.x for upgrades from Release 6.x). Connect directly to the production database server, and then perform the following steps to make sure that your existing repositories follow the correct naming conventions: To rename the repository, follow these steps: 1. Using the appropriate prior version of Siebel Tools, connect to the Siebel Database Server. 2. Change the name of the existing repository, as follows: – In the Object Explorer, click the Types tab. – Click Repository. – In the Repository View, click Name. – Locate the appropriate repository in the list applet and rename it Prior Customer Repository. See Figure 9-1. 3. Step off the list to commit the record to the database. Refer to Figure 9-2 and Figure 9-3. Note: The upgrade process will verify the repository names. If no repository is named as Prior Customer Repository, the Siebel Repository will be renamed to Prior Customer Repository in the target database so that the upgrade will execute properly.196 Siebel 7 Using DB2 UDB V7.x Figure 9-1 Renaming existing Siebel Repository as Prior Customer RepositoryChapter 9. Migrating from Siebel 6.x to Siebel 7.0.2 197 Figure 9-2 New Siebel Repository198 Siebel 7 Using DB2 UDB V7.x Figure 9-3 Siebel Repositories List For more detailed information about renaming repositories, please refer to Siebel Tools Reference Guide.Chapter 9. Migrating from Siebel 6.x to Siebel 7.0.2 199 9.2.2 Upgrading the production environment After completing all the pre-upgrade tasks outlined above, the actual upgrade of the production environment can begin. Upgrading the Siebel Administrator client Upgrade the Siebel Administrator client to version 7.0 before proceeding with the upgrade. To install the version 7.0 client software on the Siebel Administrator client, follow the instructions in the Siebel Web Client Administration Guide. Upgrading servers (Gateway, Application, and Database) All the production environment servers must be upgraded — Gateway Name Server, Application Servers, and Siebel Servers — to the Release 7.0 software. If you have multiple servers in your production environment, you will need to perform the upgrade procedure described in this section for all the Siebel Servers. Caution: Be sure to uninstall the previous versions of Siebel server and client software before installing the new versions. This should be done to validate proper functioning. Caution: Do not log on or install Siebel Tools before running the upgrade wizard. You cannot connect to Siebel Tools version 7.0 until Step One of the upgrade database phase, “Upgrading the Siebel Database Schema,” has completed successfully. Caution: If any attempt is made to upgrade Production environment without Development environment, the process may fail as the Siebel upgrade process looks for a file custrep.dat file. This file will be created only when you first upgrade your Development Environment. Once this file is created and available for Production environment upgrade, the upgrade process for production environment will run smoothly without any errors. Caution: Do not attempt to install the new version of Siebel eBusiness Applications software without first removing the previous version as instructed. If you attempt this, your installation might not operate correctly.200 Siebel 7 Using DB2 UDB V7.x To upgrade your production environment servers, perform the following procedures on each server: Stop all Siebel Servers, Application Servers, and the Gateway Name Server service. Uninstall the previous version of the Application Server or Siebel Server software. Uninstall the earlier version of the Gateway Name Server. Install the version 7.0 Gateway Name Server software. Install the version 7.0 Siebel Application Server on all application servers. 9.2.3 Client upgrade tasks This process provides an upgrade path for all customer data, database schema elements, business objects, and user interface elements of the application. In Release 7.0, several new features are intended to eliminate as much manual work as possible regardless of whether customers are upgrading from the Siebel dedicated client, Windows or Java thin client, or Siebel HTML thin client. Three areas that need additional attention during migration to Release 7.0 Web client are: Custom applets and views to the Web client Scripts on UI objects and with references to UI constructs Client-side interfaces to external desktop applications The Siebel eBusiness Applications Release 7.0 Application Upgrader includes a new Web Client Migration Wizard that helps to upgrade customized view and applet definitions used by the Siebel dedicated client, Windows thin client, and Java thin client in previous Siebel releases. This wizard is run after the repository has been upgraded. The Web Client Migration Wizard supports a batch mode that converts multiple view or applet definitions at a time, using customizable models to automatically bind the user interface controls to Web client templates.Chapter 9. Migrating from Siebel 6.x to Siebel 7.0.2 201 Figure 9-4 depicts one of the screens in the Web Client Migration Wizard that allows the user to select the set of Applets to be converted. While this process is automated, customers will may want to make further manual adjustments to the templates produced to make sure that their customized interface takes full advantage of the interactivity and rich functionality of the Release 7.0 Web client. This process is only required for views or applets customized in previous Siebel releases, because the Release 7.0 Web client includes standard versions of all applets and views from previous dedicated client releases. Figure 9-4 One of the Web client migration screens The Web Client Migration Wizard will not automatically migrate Siebel VB or Siebel eScript scripts attached to Applets. These scripts will either need to be moved to the server or to be rewritten in JavaScript, the Web client-supported language for user interface scripting. The Release 7.0 Web client supports most of the events and methods on user interface objects supported by prior Siebel releases in order to ease this transition. In addition, the Web client provides comparable inbound and outbound client-side integration capabilities to what was available in the Business Object Interfaces in prior of the Siebel dedicated client.202 Siebel 7 Using DB2 UDB V7.x Figure 9-5 and Figure 9-6 show a view that has been migrated from windows client to the Web client using the Web Client Migration Wizard. Figure 9-5 Sample Contact List View from Windows client Chapter 9. Migrating from Siebel 6.x to Siebel 7.0.2 203 Figure 9-6 Contact List view migrated to Web client using Web Client Migration Wizard Client migration approach The following is an overview of migration of applets and views, scripts, and client side interfaces. Applets and Views All the standard Applets and Views that are part of the Siebel eBusiness Applications Release 7.0 have Web layouts. The following types of Applet and View customizations need to be migrated: New Applets New Views204 Siebel 7 Using DB2 UDB V7.x Customized Applets (Added/deleted Controls or List Columns) Customized Views (Added /Deleted Applets) This is how to migrate applets and views that have been added or customized: After the Application Upgrader has completed, invoke the Migration Wizard from Tools > Upgrade > Web Client Migration… Select the various types of customizations that you wish to migrate. Select Model Applets and Views for each category. Run the Wizard. – When the Wizard has completed, it will mark all the migrated Applets and Views. Review the migrated Applets and Views and perform any re-migration using the Web Layout Wizard. Scripts In Release 7.0, there are two basic types of scripts customers can write to add procedural logic to an application configuration: Server scripts: These are scripts that execute within the Object Manager. These existed prior to Release 7.0 and continue to be supported in the 7.0 release. These scripts are written in Siebel VB (for Windows platforms) and Siebel eScript (for Windows or UNIX). The following are the various types of server scripts: – Business Component script – Business Service script – Application script – Applet Web script These scripts allow developers to script the behavior of Business Components, Business Services, Applications, and Applets, by writing event handlers for the various events exposed by the scripting model. Browser Scripts: In Release 7.0, there is a new type of script called Browser Script that executes in a browser. Such scripts are written in JavaScript and interact with the Document Object Model (DOM) as well as with the Siebel Object Model available in the Browser through the Browser Interaction Manager. A developer can script the behavior of Siebel events as well as browser events that are exposed through the DOM. Note that the DOM for Internet Explorer and Netscape Navigator are different. Siebel Tools allows you to write scripts for the appropriate Browser Type by selecting the appropriate User Agent.Chapter 9. Migrating from Siebel 6.x to Siebel 7.0.2 205 The following describes the overall approach to follow when migrating the scripts. All scripts written on Applets will need to be either migrated to Applet Web Script or BusComp Scripts, or rewritten as Browser Scripts. The scripts on the Application, Business Services, and Business Components will need to be reviewed to identify references to methods, such as UI methods, which cannot be accessed from server scripts. – Identifying scripts to be reviewed or migrated: The number of Applet scripts can be determined from the Object List Editor in Flat mode. The Validator can be run for BusComp, Business Service, and Applications for which the “Scripted” flag is set to “True”. This will help locate server side scripts that may need modification. – Applet scripts: Applet script migration falls into the following major areas: • Certain Applet scripts such as Control_Click event handlers may be moved to Business Components. • ActiveX Controls that have been scripted, will need to be rescripted in Browser Script. • Other Applet scripts need to be rewritten in Browser Script. – BusComp and Application scripts: BusComp and Application scripts that contain references to UI methods need to be modified. For example, calls to MsgBox need to be replaced by calls to the SetCustomError method. Other modifications may include moving scripts to Browser Script. When writing Browser Script, make sure that the User Agent for Scripting is specified appropriately. The User Agent must be one that supports High Interactivity. Client-side interfaces Outbound COM interfaces Invoking a desktop application, such as Microsoft Excel from the Siebel client. In Release 7.0, this functionality is available through Browser Scripts on Microsoft Internet Explorer only. Inbound COM interfaces Desktop Applications can communicate with the Siebel client through an Automation interface in the Windows client. In Release 7.0, the Web client running inside Internet Explorer provides a similar automation interface.206 Siebel 7 Using DB2 UDB V7.x For complete and detailed information about how to upgrade clients on the Windows platform, please refer to Part 3 of the Upgrade Guide for Microsoft Windows in the Siebel Bookshelf. 9.3 The environment we migrated This section describes the environment we migrated and the steps we took to migrate it. Note that our source environment had all Siebel components on a single server, as was the target environment. Table 9-2 Source and target environments 9.3.1 Upgrading the servers on the Windows platform To stop all servers: Stop all Siebel Servers, Siebel Application Servers, and Siebel Gateway Name Server service by navigating to: Start > Settings > Control Panel > Services Environment from which we migrated Environment to which we migrated IBM 4 way Netfinity 5000 Server IBM 4 way Netfinity 5500 Server 2 GB memory 2 GB memory 40 GB hard disk 40 GB hard disk Siebel 6.2.1 eBusiness Applications Siebel 7.02 eBusiness Applications Database size 2 GB Database size 2 GB Windows NT 4.0 (Service Pack 6a) Windows 2000 Server (Service Pack 2) DB2 UDB 6.1 with FixPack 8a DB2 UDB 7.2 with FixPack 3sa Internet Explorer 5.0 Internet Explorer 5.5 with Service Pack 2 Siebel eBusiness Applications 6.2.1 Siebel eBusiness Applications 7.0.2 Microsoft IIS 4.0 Microsoft IIS 5.0 Attention: It took approximately 3 hours to migrate to the Production environment AFTER all the pre-upgrade tasks had been completed. While we have not documented migrating the development environment, it took approximately the same time for that environment too.Chapter 9. Migrating from Siebel 6.x to Siebel 7.0.2 207 To uninstall the earlier version of the production Siebel Servers: If you wish to preserve your installation-specific Siebel Server configuration parameters, record your current configuration. You will need to reapply that configuration manually after completing the upgrade. Installation-specific parameters will be lost when you uninstall your existing Siebel Servers. When you install the new Siebel Server Release 7.0 software, you can reset these parameters manually through the Server Manager. This is how to uninstall the previous release of the Application Server or Siebel Server software. – For upgrades from Release 5.x, double-click the uninstall icon in the Siebel Server program folder. – For upgrades from Release 6.x, navigate to the Control Panel, and double-click Add/Remove Programs. Select the previous release of Siebel Server, and then click Add/Remove. Follow the instructions in the InstallShield wizard to uninstall the applications. – Delete the entire Application Server or Siebel Server installation directory tree, and then restart the machine. To uninstall the earlier version of the Siebel Gateway Name Server: – For upgrades from Release 5.x, double-click the Uninstall icon in the Siebel Gateway Name Server program folder. – For upgrades from Release 6.x, navigate to Start > Settings > Control Panel > Add/Remove Programs. Select the previous release of Siebel Gateway Name Server, then click Add/Remove. Follow the instructions in the Install Shield wizard to uninstall the applications. – Delete the entire Siebel Gateway Name Server installation directory tree, and then restart the machine. To install the version 7.0 Siebel Gateway Name Server software: Refer to the appropriate chapter on installing the Siebel Gateway Name Server in the Siebel Server Installation Guide for Microsoft Windows. To install the version 7.0 production environment Siebel Servers: Make sure that each application server on which a Siebel Server will be installed has the correct versions of all required third-party software products, Note: To avoid conflicts with the ODBC drivers used by the new Siebel Server software, remove any older versions of the ODBC drivers. If the vendor has provided an uninstall option, use it. If the vendor has not provided an uninstall option, contact the vendor for removal instructions.208 Siebel 7 Using DB2 UDB V7.x as documented in the Release 7.0 Siebel System Requirements and Supported Platforms. Install and configure the Siebel Database Server: Install the new Siebel Server on all application servers, as described in the Siebel documentation. To install the Release 7.0 Siebel Database Server software in your production environment, follow the instructions for installing database server components in the Siebel Server Installation Guide for Microsoft Windows, in the chapter on installing the Siebel Database Server. To configure the Siebel Database Server on the Windows Platform: Launch the Siebel Software Configuration Utility by selecting: Start > Programs > Siebel Enterprise Servers 7.0 > Configure DB Server. The Siebel Enterprise Parameters: Gateway Server Address screen appears. – Enter the values for Gateway Server and Enterprise Name and click Next. – Accept the default directory name or change it to suite your requirements and click Next. – Siebel Database Server Options Screen appears. – Select Upgrade Database option and click Next. Choose Upgrade Siebel Database Schema (upgrep) and click Next. The Upgrade the Siebel Database: Upgrade Options screen appears. – In Environment Type Screen, Select Production and click Next. – In the Current Siebel Version Screen, select the version you are upgrading from and click Next. – In the language selection screen, select the language and click Next. – In RDBMS platform screen, select appropriate database and click Next.. In our case it is the default value IBM DB2 UDB – In the ODBC Data Source Name, accept the default value SiebSrvr_siebel and click Next. – In the Database Username and Password Screen, enter the username and password and click Next. – In the following screen that appears, enter the values for table owner, password, tablespaces for 4K, 16K and 32K and for tablespace index values and click Next. – In the database platform screen, select the platform (in our case Windows) and click Next. – In the review configure parameters screen, review all the values that were provided, and if the values appear to be correct click Next. – In the Apply Configuration without any changes, click Finish. Chapter 9. Migrating from Siebel 6.x to Siebel 7.0.2 209 – In the Siebel Upgrade Wizard screen, click OK to proceed. A check mark will be appearing beside each item as it is completed. When status bar registers that the upgrade process is completed, click OK to exit the Siebel Upgrade Wizard. At this stage, Siebel upgrade repository process is completed and you can review for any errors in the log files (Figure 9-7). Figure 9-7 Sample Production database upgrade completion screen The scripts (both command and SQL scripts) used in the following tasks are available in Appendix E, “Migration scripts” on page 245. These scripts can be used in the same sequence as it is provided and can be modified to suit your environment. Set up the database registry values. Set the Siebel recommended database configuration parameters. Create the Siebel Database Instance. Back up the previous versions of the Siebel Database. Map tablespaces and bufferpools. Do a redirected restore of the backed up Siebel Database. Set up the ODBC connection for Siebel 7. Update the database registry values and configuration parameters.210 Siebel 7 Using DB2 UDB V7.x© Copyright IBM Corp. 2002 211 Part 5 Appendixes In this part of the book we include sample scripts used in our installations, as well as other technical information: Appendix A, “Database setup scripts on UNIX” on page 213 Appendix B, “Siebel Web Server Extension configuration and log files” on page 219 Appendix C, “Database setup scripts on Windows” on page 225 Appendix D, “Siebel technical alerts” on page 235 Appendix E, “Migration scripts” on page 245 Appendix F, “Migrating DB2 data from one DB2 platform to another” on page 257 Appendix G, “Sample database configuration” on page 261 Part 5212 Siebel 7 Using DB2 UDB V7.x© Copyright IBM Corp. 2002 213 Appendix A. Database setup scripts on UNIX In this appendix, we provide a sample set of scripts to build a minimal DB2 UDB database for the installation of Siebel 7 on AIX. A214 Siebel 7 Using DB2 UDB V7.x A.1 Update DB2 registry (shell) db2set -i db2inst1 db2_hash_join=no db2set -i db2inst1 db2_rr_to_rs=yes db2set -i db2inst1 db2_mmap_write=off db2set -i db2inst1 db2_mmap_read=off db2set -i db2inst1 db2_correlated_predicates=on db2set -i db2inst1 db2_index_2bytevarlen=on db2set -i db2inst1 db2_pipeline_plans=on db2set -i db2inst1 db2_interesting_keys=on db2set -i db2inst1 db2_parallel_io=* db2set -i db2inst1 db2_striped_containers=on db2set -i db2inst1 db2_avoid_prefetch=on db2set -i db2inst1 db2_no_pkg_lock=no A.2 Update DB2 Database Manager configuration (SQL) update db manager configuration using udf_mem_sz 1024 ; update db manager configuration using sheapthres 100000 ; update db manager configuration using dir_cache yes ; update db manager configuration using aslheapsz 15 ; update db manager configuration using rqrioblk 32767 ; update db manager configuration using mon_heap_sz 128 ; update db manager configuration using query_heap_sz 16384 ; update db manager configuration using keepdari yes ; update db manager configuration using maxagents 1000 ; update db manager configuration using num_initagents 0 ; update db manager configuration using max_coordagents -1 ; update db manager configuration using indexrec restart ; update db manager configuration using max_querydegree 1 ; update db manager configuration using intra_parallel no ; update db manager configuration using fcm_num_buffers 4096 ; update db manager configuration using fcm_num_rqb 1024 ; update db manager configuration using fcm_num_connect -1 ; update db manager configuration using fcm_num_anchors -1 ; A.3 Create Siebel DB2 Database with 3 tablespaces (SQL) create database SIEBEL on '/data/' \ using codeset IBM-1252 territory US collate using IDENTITY \ DFT_EXTENT_SZ 32 \ ----tablespace 0 catalog tablespace managed by system using \ ('/data/syscat/catlog_01.db2') \ extentsize 8 prefetchsize 8 \Appendix A. Database setup scripts on UNIX 215 ----tablespace 1 temporary tablespace managed by system using \ ('/data/temp/temp_01.db2') \ extentsize 32 prefetchsize 32 \ ----tablespace 2 user tablespace managed by system using \ ('/data/user/user_01.db2') \ extentsize 24 prefetchsize 48 \ --with "Siebel database SIEBEL" A.4 Update Siebel DB2 Database configuration (SQL) update db cfg for SIEBEL using dft_degree 1 ; update db cfg for SIEBEL using dft_queryopt 3 ; update db cfg for SIEBEL using dbheap 7429 ; update db cfg for SIEBEL using cache_sz 1024 ; update db cfg for SIEBEL using logbufsz 512 ; update db cfg for SIEBEL using util_heap_sz 3072 ; update db cfg for SIEBEL using locklist 048 ; update db cfg for SIEBEL using app_ctl_heap_sz 8192 ; update db cfg for SIEBEL using sortheap 1024 ; update db cfg for SIEBEL using stmtheap 1024 ; update db cfg for SIEBEL using applheapsz 2048 ; update db cfg for SIEBEL using pckcachesz 2048 ; update db cfg for SIEBEL using stat_heap_sz 8192 ; update db cfg for SIEBEL using maxlocks 20 ; update db cfg for SIEBEL using locktimeout 150 ; update db cfg for SIEBEL using chngpgs_thresh 60 ; --please enter number of cpu's update db cfg for SIEBEL using num_iocleaners 1 ; --please enter number of disk on the database update db cfg for SIEBEL using num_ioservers 1 ; update db cfg for SIEBEL using indexsort yes ; update db cfg for SIEBEL using seqdetect yes ; update db cfg for SIEBEL using dft_prefetch_sz 128 ; update db cfg for SIEBEL using logretain no ; --choose the correct log path update db cfg for SIEBEL using newlogpath '/logs/' ; update db cfg for SIEBEL using maxappls 100 ; update db cfg for SIEBEL using avg_appls 30 ;216 Siebel 7 Using DB2 UDB V7.x update db cfg for SIEBEL using maxfilop 500 ; --create 32 mg log file --update db cfg for SIEBEL using logfilsiz 8000 ; update db cfg for SIEBEL using logfilsiz 4000 ; update db cfg for SIEBEL using logprimary 25 ; --secondary logs should be around 100 on a production system. update db cfg for SIEBEL using logsecond 10 ; update db cfg for SIEBEL using softmax 80 ; A.5 Alter or update DB2 bufferpools (SQL) --default DB2 bufferpool should be 50% of memory alter bufferpool ibmdefaultbp size 10000 ; --create a new 4K buffer pool between 100 -200 mg create bufferpool buf4ktemp size 10000 pagesize 4 k ; --create a 16K bufferpool, make size 25% of memory create bufferpool buf16ktemp size 400 pagesize 16 k ; --create a 32k bufferpool create bufferpool buf32ktemp size 400 pagesize 32 k ; A.6 Create Siebel Database containers & tablespaces (SQL) --tablespace 3 create regular tablespace tbs_4k pagesize 4 k managed by database using ( file '/data/tbs_4k_01.db2' 384000) extentsize 32 prefetchsize 16 bufferpool ibmdefaultbp ; --tablespace 4 create regular tablespace tbs_idx pagesize 4 k managed by database using ( file '/index/tbs_idx_01.db2' 320000) extentsize 32 prefetchsize 16 bufferpool buf4ktemp ; --tablespace 5 create regular tablespace tbs_16k pagesize 16 k managed by database using ( file '/data/tbs_16k_01.db2' 32000) extentsize 32 prefetchsize 16 bufferpool buf16ktemp ; --tablespace 6 create regular tablespace tbs_32k pagesize 32 k managed by databaseAppendix A. Database setup scripts on UNIX 217 using ( file '/data/tbs_32k_01.db2' 8000) extentsize 32 prefetchsize 16 bufferpool buf32ktemp ; --tablespace 7 create temporary tablespace temp4k pagesize 4 k managed by system using ('/logs/temp/temp_4k_01.db2') extentsize 32 prefetchsize 128 bufferpool buf4ktemp ; --tablespace 8 create temporary tablespace temp16k pagesize 16 k managed by system using ('/logs/temp/temp_16k_01.db2') extentsize 32 prefetchsize 128 bufferpool buf16ktemp ; --tablespace 9 create temporary tablespace temp32k pagesize 32 k managed by system using ('/logs/temp/temp_32k_01.db2') extentsize 32 prefetchsize 128 bufferpool buf32ktemp ; A.7 Grant database users and groups (SQL) grant dbadm on database to user sadmin ; grant dbadm on database to user siebel ; grant connect,bindadd,createtab on database to user db2fenc1 ; grant connect, bindadd, createtab on database to group sserole ; grant connect, bindadd, createtab on database to group sse_role ; A.8 Increase number of ODBC statement handles (shell) #!/usr/bin/ksh cd /home/db2inst1/sqllib/bnd db2 connect to siebel db2 bind @db2cli.lst blocking all grant public clipkg 6 db2 terminate218 Siebel 7 Using DB2 UDB V7.x© Copyright IBM Corp. 2002 219 Appendix B. Siebel Web Server Extension configuration and log files This appendix lists the Siebel Web Server Extension (SWSE) configuration and log files generated during SWSE installation. B220 Siebel 7 Using DB2 UDB V7.x B.1 SWSE configuration file The eapps.cfg file generated during SWSE installation is listed here: [include] eapps_fins.cfg eapps_sis.cfg [swe] Language = enu Log = details LogDirectory = c:\sea703\SWEApp\log ClientRootDir = c:\sea703\SWEApp WebPublicRootDir = c:\sea703\SWEApp\public\enu WebUpdatePassword = SessionMonitor = FALSE AllowStats = TRUE LogSegmentSize = 0 LogMaxSegments = 0 [defaults] AnonUserName = GUEST AnonPassword = GUEST AnonUserPool = 10 StatsPage = _stats.swe HTTPPort = 80 HTTPSPort = 443 EnableFQDN = FALSE FQDN = CHANGE_ME EnableRedir = FALSE AnonSessionTimeout = 900 GuestSessionTimeout = 300 SessionTimeout = 900 [/erm] AnonUserName = sadmin AnonPassword = sadmin ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/ERMObjMgr/StartCommand = SWECmd=GotoView&SWEView=Portal+Page+Home+View [/echannel] AnonUserName = sadmin AnonPassword = sadmin ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/eChannelObjMgr/[/pmanager]Appendix B. Siebel Web Server Extension configuration and log files 221 ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/pManagerObjMgr/[/wpsales] SessionTimeout = 3600 ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/WebphoneSalesObjMgr/[/wpserv] SessionTimeout = 3600 ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/WebphoneServiceObjMgr/[/wpechan] SessionTimeout = 3600 ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/WebphoneeChannelObjMgr/[/wpeserv] SessionTimeout = 3600 ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/WebphoneeServiceObjMgr/[/eai] ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/EAIObjMgr/EnableExtServiceOnly = TRUE [/ecustomer] AnonUserName = sadmin AnonPassword = sadmin ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/eCustomerObjMgr/StartCommand = SWECmd=GotoView&SWEView=Home+Page+View+(eCustomer) [/emarketing] AnonUserName = sadmin AnonPassword = sadmin ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/eMarketObjMgr/StartCommand = SWECmd=GotoView&SWEView=Home+Page+View+(eMarketing) [/esales] AnonUserName = sadmin AnonPassword = sadmin ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/eSalesObjMgr/StartCommand = SWECmd=GotoView&SWEView=Home+Page+View+(eSales)222 Siebel 7 Using DB2 UDB V7.x [/eauctionswexml] AnonUserName = sadmin AnonPassword = sadmin ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/eAuctionSWEXMLObjMgr/[/eservice] AnonUserName = sadmin AnonPassword = sadmin ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/eServiceObjMgr/StartCommand = SWECmd=GotoView&SWEView=Home+Page+View+(eService) [/etraining] AnonUserName = sadmin AnonPassword = sadmin ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/eTrainingObjMgr/StartCommand = SWECmd=GotoView&SWEView=Home+Page+View+(eTraining) [/eevents] AnonUserName = sadmin AnonPassword = sadmin ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/eEventsObjMgr/StartCommand = SWECmd=GotoView&SWEView=Home+Page+View+(eEvents) [/sales] ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/SSEObjMgr/[/fieldservice] ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/SFSObjMgr/[/callcenter] ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/SCCObjMgr/[/marketing] ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/SMObjMgr/[/fsce] ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/FSCEObjMgr/EnableExtServiceOnly = TRUE [/salespalm]Appendix B. Siebel Web Server Extension configuration and log files 223 ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/SalesPalmObjMgr/EnableExtServiceOnly = TRUE [/salesce] ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/SalesCEObjMgr/EnableExtServiceOnly = TRUE Impact of Central Dispatch on the eapps.cfg file The section for [/eservice] from the eapps.cfg file is repeated below. [/eservice] AnonUserName = sadmin AnonPassword = sadmin ConnectString = siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/eServiceObjMgr/StartCommand = SWECmd=GotoView&SWEView=Home+Page+View+(eService) If Central Dispatch is not used for load balancing (does not apply to our case), then connection strings within the eapps.cfg file are modified to show the location of the gateway server [192.168.27.151] and the Siebel server name [ibm152]. [/eservice] AnonUserName = sadmin AnonPassword = sadmin ConnectString = siebel.TCPIP.NONE.none://192.168.27.151:2320/siebel/eServiceObjMgr/ibm152 StartCommand = SWECmd=GotoView&SWEView=Home+Page+View+(eService) Where 192.168.27.151 represents the gateway server and ibm152 represents the single Siebel Application Server.224 Siebel 7 Using DB2 UDB V7.x B.2 SWSE log file The log file, eapps.cfg, generated during the installation of the extension is listed here. The file is located in the log directory of the SWSE installation directory: 00002011 2002-01-23 15:00:10 0000-00-00 00:00:00 -0800 00000000 001 001f 0001 09 siebel 2208 2052 c:\sea703\SWEApp\log\ss020123.log 7.0.3 [14010] LANG_INDEPENDENT GenericLog GenericLog 0 2002-01-23 15:00:10 #Software: Siebel Web Engine (SWE) ISAPI extension #Version: 7.0.3 #Date: 2002-01-23 15:00:10 GenericLog GenericLog 0 2002-01-23 15:00:10 [2052] INFO 2052: [SWSE] Successfully initialized extension state (22 applications). GenericLog GenericLog 0 2002-01-23 15:00:10 [1700] INFO 1700: [SWSE] Initialized application "/eservice/" (URI "/eservice/"). GenericLog GenericLog 0 2002-01-23 15:00:10 [1700] DETAILS 1700: [SWSE] Anon pool has 0 of 0 sessions available GenericLog GenericLog 0 2002-01-23 15:00:10 [1700] DETAILS 1700: [SWSE] Starting new anon session GenericLog GenericLog 0 2002-01-23 15:00:10 [1700] DETAILS 1700: [SWSE] User : sadmin Attempting to open a session ... GenericLog GenericLog 0 2002-01-23 15:00:11 [1700] DETAILS 1700: [SWSE] User : sadmin Open Session : siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/eServiceObjMgr/!2.21c8. 143f.386c3ac0 succeeded in 0.7943 seconds. GenericLog GenericLog 0 2002-01-23 15:00:11 [1700] DETAILS 1700: [SWSE] New anon session (!2.21c8.143f.386c3ac0) started GenericLog GenericLog 0 2002-01-23 15:00:11 [1700] DETAILS 1700: [SWSE] Checked out anon session: !2.21c8.143f.386c3ac0. GenericLog GenericLog 0 2002-01-23 15:00:48 [1700] DETAILS 1700: [SWSE] User : sadmin Attempting to open a session ... GenericLog GenericLog 0 2002-01-23 15:00:49 [1700] DETAILS 1700: [SWSE] User : sadmin Open Session : siebel.TCPIP.NONE.none://192.168.27.188:2320/siebel/eServiceObjMgr/!2.21c8. 1440.386c3ae6 succeeded in 0.3046 seconds. GenericLog GenericLog 0 2002-01-23 15:00:49 [1700] DETAILS 1700: [SWSE] Checked in anon session: !2.21c8.143f.386c3ac0© Copyright IBM Corp. 2002 225 Appendix C. Database setup scripts on Windows In this appendix, we provide a sample set of scripts to build a minimal DB2 UDB database for the installation of Siebel 7 on Windows. C226 Siebel 7 Using DB2 UDB V7.x C.1 Db2set parameters REM #--REM #--db2 set commands REM #--REM #--db2set -i db2 db2_hash_join=no db2set -i db2 db2_rr_to_rs=yes db2set -i db2 db2_mmap_write=off db2set -i db2 db2_mmap_read=off db2set -i db2 db2_correlated_predicates=on db2set -i db2 db2_index_2bytevarlen=on db2set -i db2 db2_pipeline_plans=on db2set -i db2 db2_interesting_keys=on db2set -i db2 db2_parallel_io=* db2set -i db2 db2_striped_containers=on db2set -i db2 db2_avoid_prefetch=on db2set -i db2 db2_no_pkg_lock=no REM #--REM #--db2 stop database manager REM #--db2 stop database manager force REM #--db2 start database manager REM #--db2set -i db2 -ALL mkdir C:\db2data mkdir C:\db2logs mkdir C:\db2index mkdir C:\db2dump mkdir C:\SiebFilesAppendix C. Database setup scripts on Windows 227 C.2 Database Manager configuration parameters ----update database manager configuration ----db2 -tvf; restart DB2 --update db manager configuration using udf_mem_sz 1024 ; update db manager configuration using sheapthres 50000 ; update db manager configuration using dir_cache yes ; update db manager configuration using aslheapsz 1024 ; update db manager configuration using rqrioblk 65535 ; update db manager configuration using mon_heap_sz 2048 ; update db manager configuration using query_heap_sz 16384 ; update db manager configuration using keepdari yes ; update db manager configuration using maxagents 1000 ; update db manager configuration using num_initagents 0 ; update db manager configuration using max_coordagents -1 ; update db manager configuration using indexrec restart ; update db manager configuration using max_querydegree 1 ; update db manager configuration using intra_parallel no ; update db manager configuration using fcm_num_buffers 4096 ; update db manager configuration using fcm_num_rqb 1024 ; update db manager configuration using fcm_num_connect -1 ; update db manager configuration using fcm_num_anchors -1 ; stop dbm force ; start dbm ; get dbm cfg ;228 Siebel 7 Using DB2 UDB V7.x C.3 Database creation on Windows 2000 --purpose: create siebel db2 database ----db2 -vf --(precreate db2data, db2logs and db2index directories on d:) --create database SIEBEL on 'C:' \ using codeset IBM-1252 territory US collate using IDENTITY \ DFT_EXTENT_SZ 32 \ ----tablespace 0 catalog tablespace managed by system using \ ('c:\db2data\syscat\catlog_01.db2') \ extentsize 8 prefetchsize 8 \ ----tablespace 1 temporary tablespace managed by system using \ ('c:\db2data\temp\temp_01.db2') \ extentsize 32 prefetchsize 32 \ ----tablespace 2 user tablespace managed by system using \ ('c:\db2data\user\user_01.db2') \ extentsize 24 prefetchsize 48 \ --with "Siebel database SIEBEL" Appendix C. Database setup scripts on Windows 229 C.4 Database creation on AIX --purpose: create siebel db2 database ----db2 -vf --(precreate db2data, db2logs and db2index directories on d:) --create database SIEBEL on /siebeldb/siebel \ using codeset IBM-1252 territory US collate using IDENTITY \ DFT_EXTENT_SZ 32 \ ----tablespace 0 catalog tablespace managed by system using \ ('/siebeldb/syscat/catlog_01.db2') \ extentsize 8 prefetchsize 8 \ ----tablespace 1 temporary tablespace managed by system using \ ('/siebeldb/temp/temp_01.db2') \ extentsize 32 prefetchsize 32 \ ----tablespace 2 user tablespace managed by system using \ ('/siebeldb/user/user_01.db2') \ extentsize 24 prefetchsize 48 \ --with "Siebel database SIEBEL" 230 Siebel 7 Using DB2 UDB V7.x C.5 Database configuration ----update SIEBEL database configuration ----db2 -tvf; restart DB2 --update db cfg for SIEBEL using dft_degree 1 ; update db cfg for SIEBEL using dft_queryopt 3 ; update db cfg for SIEBEL using dbheap 7429 ; update db cfg for SIEBEL using catalogcache_sz 5558 ; update db cfg for SIEBEL using logbufsz 512 ; update db cfg for SIEBEL using util_heap_sz 2048 ; update db cfg for SIEBEL using locklist 2048 ; update db cfg for SIEBEL using app_ctl_heap_sz 8192 ; update db cfg for SIEBEL using sortheap 1024 ; update db cfg for SIEBEL using stmtheap 4096 ; update db cfg for SIEBEL using stat_heap_sz 8192 ; update db cfg for SIEBEL using maxlocks 20 ; update db cfg for SIEBEL using locktimeout 150 ; update db cfg for SIEBEL using chngpgs_thresh 60 ; update db cfg for SIEBEL using num_iocleaners 1 ; update db cfg for SIEBEL using indexsort yes ; update db cfg for SIEBEL using seqdetect yes ; update db cfg for SIEBEL using dft_prefetch_sz 128 ; update db cfg for SIEBEL using logretain no ; ----newlogpath needs to modified for AIX path /sqllib/db2logs --update db cfg for SIEBEL using newlogpath 'd:\db2logs\' ; update db cfg for SIEBEL using maxappls 100 ; update db cfg for SIEBEL using avg_appls 30 ; update db cfg for SIEBEL using maxfilop 500 ; update db cfg for SIEBEL using logfilsiz 8000 update db cfg for SIEBEL using logprimary 20 ; update db cfg for SIEBEL using softmax 80 ; update db cfg for SIEBEL using applheapsz 2048 ; update db cfg for SIEBEL using pckcachesz 800 ; stop dbm ; stop dbm force; start dbm;Appendix C. Database setup scripts on Windows 231 C.6 Bufferpool creation ----db2 -tvf; restart ----default DB2 bufferpool alter bufferpool ibmdefaultbp size 10000 ; --create a new 4K buffer pool create bufferpool buf4ktemp size 10000 pagesize 4 k ; --create a 16K bufferpool create bufferpool buf16ktemp size 4096 pagesize 16 k ; --create a 32k bufferpool create bufferpool buf32ktemp size 1024 pagesize 32 k ; --stop the database to include the new buffers. --connect reset ; --stop dbm ; --stop dbm force ; --start dbm ;232 Siebel 7 Using DB2 UDB V7.x C.7 Tablespace creation on Windows 2000 --d2 -tvf --(You do not need the 4kl for Siebel 7) --tablespace 3 create regular tablespace tbs_4k pagesize 4 k managed by database using ( file 'C:\db2data\tbs_4k_01.db2' 921600) extentsize 32 prefetchsize 16 bufferpool ibmdefaultbp ; --tablespace 4 create regular tablespace tbs_idx pagesize 4 k managed by database using ( file 'C:\db2index\tbs_idx_01.db2' 921600) extentsize 32 prefetchsize 16 bufferpool buf4ktemp ; --tablespace 5 create regular tablespace tbs_16k pagesize 16 k managed by database using ( file 'C:\db2data\tbs_16k_01.db2' 76800) extentsize 32 prefetchsize 16 bufferpool buf16ktemp ; --tablespace 6 create regular tablespace tbs_32k pagesize 32 k managed by database using ( file 'C:\db2data\tbs_32k_01.db2' 25600) extentsize 32 prefetchsize 16 bufferpool buf32ktemp ; --tablespace 7 create temporary tablespace temp4k pagesize 4 k managed by system using ('C:\db2data\temp\temp_4k_01.db2') extentsize 32 prefetchsize 128 bufferpool buf4ktemp ; --tablespace 8 create temporary tablespace temp16k pagesize 16 k managed by system using ('C:\db2data\temp\temp_16k_01.db2') extentsize 32 prefetchsize 128 bufferpool buf16ktemp ; --tablespace 9 create temporary tablespace temp32k pagesize 32 k managed by system using ('C:\db2data\temp\temp_32k_01.db2') extentsize 32 prefetchsize 128 bufferpool buf32ktemp ;Appendix C. Database setup scripts on Windows 233 C.8 Tablespace creation on AIX ----d2 -tvf ----tablespace 3 create regular tablespace tbs_4k pagesize 4 k managed by database using ( file '/siebeldb/tbs_4k_01.db2' 921600) extentsize 32 prefetchsize 16 bufferpool ibmdefaultbp; --tablespace 4 create regular tablespace tbs_idx pagesize 4 k managed by database using ( file '/siebeldb/tbs_4kidx_01.db2' 921600, file '/siebeldb/tbs_4kidx_02.db2' 921600, file '/siebeldb/tbs_4kidx_03.db2' 921600) extentsize 32 prefetchsize 16 bufferpool buf4ktemp; --tablespace 5 create regular tablespace tbs_16k pagesize 16 k managed by database using ( file '/siebeldb/tbs_16k_01.db2' 76800) extentsize 32 prefetchsize 16 bufferpool buf16ktemp; --tablespace 6 create regular tablespace tbs_32k pagesize 32 k managed by database using ( file '/siebeldb/tbs_32k_01.db2' 25600) extentsize 32 prefetchsize 16 bufferpool buf32ktemp; --tablespace 7 create temporary tablespace temp4k pagesize 4 k managed by system using ('/siebeldb/temp_4k_01.db2') extentsize 32 prefetchsize 128 bufferpool buf4ktemp; --tablespace 8 create temporary tablespace temp16k pagesize 16 k managed by system using ('/siebeldb/temp_16k_01.db2') extentsize 32 prefetchsize 128 bufferpool buf16ktemp; --tablespace 9 create temporary tablespace temp32k pagesize 32 k managed by system using ('/siebeldb/temp_32k_01.db2') extentsize 32 prefetchsize 128 bufferpool buf32ktemp;234 Siebel 7 Using DB2 UDB V7.x C.9 Database grants script C.10 Windows 2000 ODBC rebind script C.11 AIX ODBC rebind script ----d2 -tvf ----Add users to the database grant dbadm on database to user sadmin ; grant dbadm on database to user siebel ; --Add group to database sse_role grant connect, bindadd, createtab on database to group sse_role ; REM --REM --Increase the Number of ODBC Client Statement Handles to 6 REM --db2 connect to siebel d: cd "c:\sqllib\bnd" REM --db2 bind @db2cli.lst blocking all grant public clipkg 6 REM --db2 terminate ##Increase the Number of ODBC Client Statement Handles to 6 #db2 connect to siebel #cd /home/sqllib/bnd #db2 bind @db2cli.lst blocking all grant public clipkg 6 #db2 terminate© Copyright IBM Corp. 2002 235 Appendix D. Siebel technical alerts This appendix contains Siebel technical alerts in the form of Siebel Technotes. D236 Siebel 7 Using DB2 UDB V7.x Siebel Technote 0307 Last Modified: 16 November 2001 Area(s): Installation Release(s): V7 (Siebel 7) Latest release tested against: V7 (Siebel 7) ----------------------------------------------------------------------------Description A known defect with certain versions of Microsoft Internet Explorer (IE) on some platforms may cause end-users of some Siebel eBusiness applications to experience intermittently diminished service due to the browser unexpectedly freezing. This only affects Siebel version 7.0.2 eBusiness Applications such as Siebel Sales, Call Center, Field Service, etc that use the High Interactivity Framework on the following browsers/platforms: 1. IE 5.5 or IE 6.0 on Windows 95, Windows 98, or Windows ME 2. IE 5.5 on Windows NT, Windows 2000, Windows XP without Microsoft Windows HTTP Services (WinHTTP) installed. Other Siebel version 7.0.2 applications and platform combinations are not affected. For example, applications such as eSales, eService, Employee Relationship Management, which do not require the High Interactivity framework, will not experience this problem on any platforms. In addition, users of the High Interactivity applications running on the following platforms will not be affected: 1. IE 6.0 on Windows NT, Windows 2000, or Windows XP 2. IE 5.5 on Windows NT, Windows 2000, or Windows XP with WinHTTP installed. Instructions for installing WinHTTP are included in the Appendix to this document. A Microsoft-recommended solution has been developed and is documented in Technote 0306: Addendum to Siebel Web Server Extension Installation. Users must read this document prior to deploying Siebel eBusiness Applications version 7.0.2. Appendix D. Siebel technical alerts 237 Siebel Web Server Extension Technote 0306 TECHNICAL NOTE 0306: Addendum to Siebel Web Server Extension Installation --------------------------------------------------------------------------------Last Modified: 16 November 2001 Area(s): Installation Release(s): V7 (Siebel 7) Latest release tested against: V7 (Siebel 7) --------------------------------------------------------------------------------Background: This document describes additional configuration steps after installing Siebel version 7.0.2 build 10777 required in order to address a known defect with certain versions of Microsoft Internet Explorer (IE) on some platforms. If not corrected, this defect will cause end-users to experience intermittently diminished service due to the browser unexpectedly freezing. The steps described in this document implement a Microsoft-recommended solution to address this behavior by using a Siebel-signed ActiveX control to update the browser settings for the duration of the Siebel session only. It will not affect or modify the behavior of any other application or browser session. This only applies to applications such as field service call center and sales that use the High Interactivity Framework. It does not apply to deployment of applications such as eSales, eService and Employee Relationship Management, which do not require the framework. These steps must be followed if any of the users of the application meet one of the following criteria: 1. Running IE 5.5 or IE 6.0 on Windows 95, Windows 98, or Windows ME 2. Running IE 5.5 on Windows NT, Windows 2000, Windows XP without Microsoft Windows HTTP Services (WinHTTP) installed. These steps are not required if all users of the application meet one of the following criteria: 1. Running IE 6.0 on Windows NT, Windows 2000, or Windows XP238 Siebel 7 Using DB2 UDB V7.x 2. Running IE 5.5 on Windows NT, Windows 2000, or Windows XP with WinHTTP installed. Instructions for installing WinHTTP are included in the Appendix to this document. The use of bookmarks to access the Siebel Application login page, may negate the effects of this solution resulting intermittent browser freeze when using the affected browsers. The last section of this document describes the alternatives for using bookmarks in conjunction with this solution. Summary: Configure two files (index.html, and ax.html) for each application that is being used. These files will check the client machine configuration, change browser settings and then redirect the browser to the default page that launches the Siebel login screen. The changes to these files must be made for each application separately. The instructions below describe the environment in which multiple virtual directories point to the same physical location. This is the typical Siebel application setup when multiple applications reside in one Web server. If applications are deployed on multiple web servers, these steps need to be repeated for each web server. Instructions: For each of the applications implemented, steps 1-4 must be followed. These instructions use the following conventions: a. Bold face is used to denote placeholders that must be substituted by appropriate values specific to the installation. b. APP_NAME refers to names of the deployed applications that are affected. The default names for these applications are "callcenter", "fieldservice" and "sales" etc. c. The physical directory in which the Siebel Web Server Extension is installed is assumed to be EAPPS_ROOT, example: c:\sea702\sweapp. d. LANG reflects the language being installed, example: ENU for US English, FRA for French. e. IP_ADDRESS refers to the actual IP address of the web server, example: 10.20.30.40. For clustered systems, it refers to the virtual IP address assigned to the host. f. WEB_SITE_NAME refers to the DNS name of web site, example: abc.companyname.com. For clustered systems use the virtual/cluster DNS host name. Appendix D. Siebel technical alerts 239 1. Copy Files Locate index.html and ax.html files under EAPPS_ROOT/public/LANG, example: C:\sea702\sweapp\public\enu. Make copies of these files as described below: Examples: For Call Center applications: · Copy the ax.html file to a file named axcallcenter.html in the EAPPS_ROOT/public/LANG directory · Copy the index.html file to a file named indexcallcenter.html in the EAPPS_ROOT/public/LANG directory For Sales applications: · Copy the ax.html file to a file named axsales.html In the EAPPS_ROOT/public/LANG directory · Copy the index.html file to a file named indexsales.html in the EAPPS_ROOT/public/LANG directory For Service applications: · Copy the ax.html file to a file named axservice.html in the EAPPS_ROOT/public/LANG directory · Copy the index.html file to a file named indexservice.html in the EAPPS_ROOT/public/LANG directory Repeat this step for all applications that to be deployed that use the High Interactivity Framework. 1. Edit ax*.html files for each application For each of the ax*.html files generated in Step 1 in the EAPPS_ROOT/public/LANG directory, perform the following change: Edit ax*.html and change the line with the appropriate values for the placeholders in bold window.navigate ("http://IP_ADDRESS/APP_NAME/default.htm");240 Siebel 7 Using DB2 UDB V7.x Users MUST use the actual IP address and for clustered systems, the virtual IP address assigned to the host. The application name is substituted for the APP_NAME, example: sales, service, or callcenter, etc. As an example: if abc.companyname.com has IP address 10.20.30.40, for callcenter use the following values in axcallcenter.html: window.navigate ("http://10.20.30.40/callcenter/default.htm") 2. Edit "index*.html files for each application For each of the "index*.html" files generated in step 1.) in the EAPPS_ROOT/public/LANG directory, perform the following change: Edit "index*.html" and change the line with the appropriate values for the placeholders in bold window.navigate ("http://IP_ADDRESS/APP_NAME/default.htm"); to reflect the actual IP address or virtual IP address for clustered systems, and the application name. (same as in step 2). In the same file, "index*.html" change the line window.navigate ("http://WEB_SITE_NAME/APP_NAME/axAPP_NAME.html"); to reflect the machine name (DNS) of the server (do not use an IP address here). For clustered systems this should be replaced by the virtual/cluster DNS host name. The application name is substituted for the APP_NAME, (example: sales, service or callcenter). The URL name must also be updated to reflect the application, example: axsales.html for sales, using names from step 1; see the sales example below: window.navigate (http://abc.companyname.com/sales/axsales.html"); 3. Change the default URL for each application: The default URL for each application must be changed to point to index*.htm file edited in step 3. The detailed steps to be followed when using Microsoft IIS as the web server are described below. For each of the applications used, use the IIS Admin Utility in Windows NT or IIS Snap-in Windows 2000, to highlight the virtual directories for the given application for step 1, example: sales, fieldservice or callcenter. · Right click on each virtual directory name to be edited, and chose "properties" · In the properties dialog, chose the "documents" tabAppendix D. Siebel technical alerts 241 Highlight the "default.htm" entry and chose the "remove" button Press the "add" default document button and type the name of the index file to be used for that directory. (example: if the virtual directory being edited is the fieldservice directory, add filename "indexfieldservice.html"; for callcenter add "indexcallcenter.html" for sales add "indexsales.html") Repeat this step for each high interactivity application that is used. Similar steps need to be performed to update the default files for each of the application virtual directories if iPlanet on Solaris is the web server in use. Additional Instructions for using a bookmark to access the Siebel application login page Users of Siebel applications that use the High Interactivity Framework such as Call Center, Sales, Field Service, can bookmark the login page of the application using the standard "Add to Favorites" option in Internet Explorer. However, doing this can negate the effect of the solution described in this document and may result in the browser defect manifesting itself in the form of a browser freeze. As noted in the beginning of this document, this problem only affects certain browser and operating system combinations -IE 5.5 without WinHTTP on all platforms, and any browser on Windows 95, Windows 98, or Windows ME. Users on the affected browsers and platforms should either explicitly type in the URL for the Siebel application, example: http://abc.companyname.com/callcenter, or follow the steps below in order to use a bookmark to enter the application: · Add the Siebel application Login Page to Favorites in the standard manner i.e. navigate to the login page and add it as a favorite using the Favorites option in the browser too bar or menu. · Name of the Favorite added above will be "Siebel Call Center" (or other Siebel application, as applicable). · Click on the Favorite button on the Internet Explorer Toolbar and select the Favorite that was created · Right click on the selection and choose "Properties". A dialog box will pop up. · Edit the URL string shown in the dialog such that any characters after the Siebel application name are deleted. Example:242 Siebel 7 Using DB2 UDB V7.x http://abc.companyname.com/callcenter/start.swe?SWECmd=Start should be modified to http://abc.companyname.com/callcenter/This URL should be identical to the URL used initially to reach the Siebel application. · Click OK to dismiss the dialog box. The updated bookmark can now be used to access the Siebel Application without encountering the intermittent browser problem. Appendix Installing WinHTTP As noted in the beginning of the document, the browser freeze behavior can be avoided if each user machine is running Windows NT, Windows 2000, or Windows XP and has Microsoft Windows HTTP Services (WinHTTP) installed on it. WinHTTP is contained in an object called ServerXMLHTTP which is included with the Microsoft XML Parser (MSXML) version 3.0 or later. For general information about ServerXMLHTTP and WinHTTP, please see http://support.microsoft.com/support/kb/articles/Q290/7/61.ASP Thus WinHTTP gets installed automatically when MSXML 3.0 is installed. Users can download and install MSXML 3.0 from the following Microsoft Developer Network (MSDN) Web site: http://msdn.microsoft.com/xml/default.asp Note: Although MSXML SDK 3.0 Release works on Windows 95 and Windows 98, WinHTTP is not supported on these platforms. The MSXML 3.0 MergeModule Redistribution Package makes it possible for developers to distribute MSXML 3.0 with their applications by using the Microsoft Windows Installer technology. Users can download this redistribution package from the following MSDN Web site at: http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?u rl=/msdn-files/027/001/592/msdncompositedoc.xml Users can also redistribute MSXML 3.0 via the internet with the MSXML 3.0 .cab File Redistribution Package. For more information and to download this package, refer to the following MSDN Web site: Appendix D. Siebel technical alerts 243 http://msdn.microsoft.com/downloads/default.asp?URL=/code/sample.asp?url=/msdn-files/027/001/548/msdncompositedoc.xml Note: The preceding methods are the only recommended ways to install the Microsoft XML parser. Microsoft does not recommend the installation of the individual MSXML DLLs. 244 Siebel 7 Using DB2 UDB V7.x© Copyright IBM Corp. 2002 245 Appendix E. Migration scripts This appendix provides the migration scripts that were used at the International Competency Center (ICC), in San Mateo, CA in migrating Siebel 6.2.1 to Siebel 7.0.2 from Windows NT 4.0 with DB2 6.1 with Fixpak 8 to Windows 2000 with DB2 7.1 with Fixpak 3sa. This appendex covers all the scripts that have been used in migration of production environment. The scripts described in this appendix to be run in the sequence it is provided. E246 Siebel 7 Using DB2 UDB V7.x E.1 Set up the database registry values The following db2 command script file set_db2_reg.cmd file is used to set up the Siebel recommended registry values. Set_db2_reg.cmd script to set up the registry values REM # REM # Set up the Siebel recommended DB2 registry values REM # REM # NT Batch Command File! db2set -i DB2 DB2_STRIPED_CONTAINERS=ON db2set -i DB2 DB2_PARALLEL_IO=* db2set -i DB2 DB2_HASH_JOIN=NO db2set -i DB2 DB2_RR_TO_RS=YES db2set -i DB2 DB2_MMAP_WRITE=OFF db2set -i DB2 DB2_MMAP_READ=OFF db2set -i DB2 DB2_CORRELATED_PREDICATES=YES db2set -i DB2 DB2MEMDISCLAIM=YES db2set -i DB2 DB2MEMMAXFREE=1000000 db2set -i DB2 DB2_PRED_FACTORIZE=YES db2set -i DB2 DB2_NO_PKG_LOCK=NO db2set -i DB2 DB2_PIPELINED_PLANS=on db2set -i DB2 DB2_SPINMON=ON db2set -i DB2 DB2COMM=TCPIP db2set -i DB2 DB2_INDEX_2BYTEVARLEN=ON db2 stop database manager db2 stop database manager force REM db2start db2 start database manager db2set -i DB2 -ALL mkdir d:\db2data mkdir d:\db2index mkdir d:\db2logs mkdir d:\db2dump rem --share SiebFiles mkdir d:\SiebFilesAppendix E. Migration scripts 247 E.2 Set the database configuration parameters The following SQL script is used to set the database configuration. set_dbm_cfg.sql script REM # REM # Set up the Siebel recommended DB2 registry values REM # REM # NT Batch Command File! db2set -i DB2 DB2_STRIPED_CONTAINERS=ON db2set -i DB2 DB2_PARALLEL_IO=* db2set -i DB2 DB2_HASH_JOIN=NO db2set -i DB2 DB2_RR_TO_RS=YES db2set -i DB2 DB2_MMAP_WRITE=OFF db2set -i DB2 DB2_MMAP_READ=OFF db2set -i DB2 DB2_CORRELATED_PREDICATES=YES db2set -i DB2 DB2MEMDISCLAIM=YES db2set -i DB2 DB2MEMMAXFREE=1000000 db2set -i DB2 DB2_PRED_FACTORIZE=YES db2set -i DB2 DB2_NO_PKG_LOCK=NO db2set -i DB2 DB2_PIPELINED_PLANS=on db2set -i DB2 DB2_SPINMON=ON db2set -i DB2 DB2COMM=TCPIP db2set -i DB2 DB2_INDEX_2BYTEVARLEN=ON db2 stop database manager db2 stop database manager force REM db2start db2 start database manager db2set -i DB2 -ALL mkdir d:\db2data mkdir d:\db2index mkdir d:\db2logs mkdir d:\db2dump rem --share SiebFiles mkdir d:\SiebFiles248 Siebel 7 Using DB2 UDB V7.x E.3 Create Siebel Database on production database The following create_siebel_db.sql script is used to create Siebel Database on production database of Siebel 7.0.2 environment using Windows 2000 with DB2 7.1 fixpak 3sa database. create_siebel_db.sql script to create Siebel database on production environment --# --# Create the DB2 Database ala Dennis --# --# DB2 command file. Use DB2 -vf --CREATE DATABASE SIEBEL \ ON D: ALIAS SIEBEL USING CODESET IBM-1252 TERRITORY US COLLATE \ USING IDENTITY DFT_EXTENT_SZ 32 \ USER TABLESPACE MANAGED BY SYSTEM USING ('D:\DB2DATA\USERSPACE1.db2') \ EXTENTSIZE 24 PREFETCHSIZE 48 \ --OVERHEAD 18.70 TRANSFERRATE 1.01 \ CATALOG TABLESPACE MANAGED BY SYSTEM USING ('D:\DB2DATA\catalog.db2') \ EXTENTSIZE 8 PREFETCHSIZE 8 \ --OVERHEAD 18.60 TRANSFERRATE 1.00 \ TEMPORARY TABLESPACE MANAGED BY SYSTEM USING ('D:\DB2DATA\temporary.db2') \ EXTENTSIZE 32 PREFETCHSIZE 32 \ --OVERHEAD 18.60 TRANSFERRATE 1.00 \ WITH "Siebel Database SIEBEL"Appendix E. Migration scripts 249 E.4 Set bufferpools The following set_bufferpools.sql script is used to set the bufferpools for the database on the production database. This script needs to be executed before any migration task is attempted but after the database is created. This task can also be accomplished through DB2 command center. Use the following DB2 command from DB2 command level to run the script: db2 -tvf set_bufferpools.sql set_bufferpools.sql script to set the bufferpools --This CLP file was created using DB2LOOK Version 6.0 --Timestamp: Mon Nov 27 10:58:56 2000 --Database Name: SIEBEL --Database Manager Version: DB2/NT Version 6.1.0 --Database CodepagF: 1252 --# --# Connect to database first --# Use: db2 -tvf CONNECT TO SIEBEL; --------------------------------------DDL Statements for BUFFERPOOLS --------------------------------------ALTER BUFFERPOOL "IBMDEFAULTBP" SIZE 6000 ; CREATE BUFFERPOOL "BUF4K" SIZE 6000 PAGESIZE 4096 NOT EXTENDED STORAGE; CREATE BUFFERPOOL "BUF16K" SIZE 1500 PAGESIZE 16384 NOT EXTENDED STORAGE; CREATE BUFFERPOOL "BUF32K" SIZE 1000 PAGESIZE 32768 NOT EXTENDED STORAGE; COMMIT WORK; CONNECT RESET; TERMINATE;250 Siebel 7 Using DB2 UDB V7.x E.5 Create DB2 log files The following create_logs.sql script is used to create a db2 log file folder for migration. create_logs.sql .sql script to create log file folder --# --# --# Use db2 -tvf UPDATE DB CFG FOR SIEBEL USING NEWLOGPATH D:\DB2LOGS\ ; UPDATE DB CFG FOR SIEBEL USING MAXAPPLS 3000 ; UPDATE DB CFG FOR SIEBEL USING AVG_APPLS 10 ; UPDATE DB CFG FOR SIEBEL USING MAXFILOP 500 ; --Create 32 mg log file UPDATE DB CFG FOR SIEBEL USING LOGFILSIZ 8000 ; UPDATE DB CFG FOR SIEBEL USING LOGPRIMARY 25 ; --Secondary Logs should be around 100 on a production system. UPDATE DB CFG FOR SIEBEL USING LOGPRIMARY 100 ; UPDATE DB CFG FOR SIEBEL USING SOFTMAX 80 ;Appendix E. Migration scripts 251 E.6 Redirected restore The following loaddb_siebel.sql script is used to restore the backup of database of siebel 6.2.1 on windows NT using DB2 6.1 with fixpak 8. This is redirected restore procedure. The value 20011214162920 is the timestamp generated by the system when the backup is taken. This value may change accordingly on different systems. loaddb_siebel.sql script for redirected restore before Siebel Repository name is changed --without prior restore database siebel \ user db2admin using db2admin \ from s:/\ taken at 20011214162920 \ into siebel \ newlogpath d:/db2logs \ with 4 buffers buffer 1024 \ redirect parallelism 4 \ without rolling forward252 Siebel 7 Using DB2 UDB V7.x E.7 Tablespace mapping The following siebel_map.sql script is used to set the tablespace mapping on the db2 database on the production system. siebel_map.sql script to run DDL statements for bufferpools --DDL Statements for TABLESPACES ----------------------------------------# Create the DB2 Database ala Dennis set tablespace containers for 2 using (PATH 'D:\DB2DATA\USERSPACE1.db2') ; --EXTENTSIZE 24 PREFETCHSIZE 48 OVERHEAD 18.70 TRANSFERRATE 1.01 \ --CATALOG TABLESPACE MANAGED BY SYSTEM USING set tablespace containers for 0 using (PATH 'D:\DB2DATA\catalog.db2') ; --EXTENTSIZE 8 PREFETCHSIZE 8 OVERHEAD 18.60 TRANSFERRATE 1.00 \ --TEMPORARY TABLESPACE MANAGED BY SYSTEM USING set tablespace containers for 1 using (PATH 'D:\DB2DATA\temporary.db2') ; --EXTENTSIZE 32 PREFETCHSIZE 32 OVERHEAD 18.60 TRANSFERRATE 1.00 \ --WITH "Siebel Database SIEBEL" --CREATE TEMPORARY TABLESPACE TEMP32K IN NODEGROUP IBMTEMPGROUP PAGESIZE 32768 MANAGED BY SYSTEM set tablespace containers for 3 using (PATH 'D:\DB2DATA\temp32k1.db2') ; --CREATE TEMPORARY TABLESPACE TEMP16K IN NODEGROUP IBMTEMPGROUP PAGESIZE 16384 MANAGED BY SYSTEM set tablespace containers for 4 using (PATH 'D:\DB2DATA\temp16k1.db2') ; --CREATE TEMPORARY TABLESPACE TEMP4K IN NODEGROUP IBMTEMPGROUP PAGESIZE 4096 MANAGED BY SYSTEM set tablespace containers for 5 using (PATH 'D:\DB2DATA\temp4k1.db2') ; --CREATE REGULAR TABLESPACE TBS_4K IN NODEGROUP IBMDEFAULTGROUP PAGESIZE 4096 MANAGED BY DATABASE set tablespace containers for 6 using (FILE 'D:\DB2DATA\tbs_4K_01.dat'512000, --CREATE REGULAR TABLESPACE TBS_16K IN NODEGROUP IBMDEFAULTGROUP PAGESIZE 16384 MANAGED BY DATABASE set tablespace containers for 7 using (FILE 'D:\DB2DATA\tbs_16k_01.dat'64000, --CREATE LONG TABLESPACE TBS_4KL IN NODEGROUP IBMDEFAULTGROUP PAGESIZE 4096 MANAGED BY DATABASE set tablespace containers for 8 using (FILE 'D:\DB2DATA\tbs_4kL_01.dat'256000, --CREATE REGULAR TABLESPACE TBS_IDX IN NODEGROUP IBMDEFAULTGROUP PAGESIZE 4096 MANAGED BY DATABASE set tablespace containers for 9 using (FILE 'D:\DB2INDEX\tbs_idx_01.dat'512000, --CREATE REGULAR TABLESPACE TBS_32K IN NODEGROUP IBMDEFAULTGROUP PAGESIZE 32768 MANAGED BY DATABASE set tablespace containers for 10 using (FILE 'D:\DB2DATA\tbs_32k_01.db2'24000,Appendix E. Migration scripts 253 E.8 Continue the redirected restore process The following siebel_loaddb_continue.sql script is used to continue the redirected restore process which described in loaddb_siebe.sql script. E.9 Update database bindings The following update_db.sql script is used to update the database bindings. siebel_loaddb_continue-sql script to continue the restore process restore database siebel continue ; update_db.sql script to update database bindings CONNECT TO siebel ; BIND "d:\program files\SQLLIB\BND\@db2ubind.lst" GRANT PUBLIC ; BIND "d:\program files\SQLLIB\BND\@db2cli.lst" GRANT PUBLIC ; terminate ;254 Siebel 7 Using DB2 UDB V7.x E.10 Update the database configuration The following set_db_cfg.sql script is used to update database configuration after the redirected restore process is completed. set_db_cfg.sql script to update database configuration after redirected restore is completed --# Make sure the log directory is created --# USE: db2 -tvf connect to siebel ; update database cfg for siebel using dft_degree 1 ; update database cfg for siebel using dft_queryopt 3 ; update database cfg for siebel using dbheap 7429; update database cfg for siebel using catalogcache_sz 5558; update database cfg for siebel using logbufsz 512 ; update database cfg for siebel using util_heap_sz 5000 ; update database cfg for siebel using buffpage 2048 ; update database cfg for siebel using locklist 15000 ; update database cfg for siebel using app_ctl_heap_sz 2048 ; update database cfg for siebel using sortheap 10000 ; update database cfg for siebel using stmtheap 1200 ; update database cfg for siebel using applheapsz 2500 ; update database cfg for siebel using pckcachesz 2048 ; update database cfg for siebel using stat_heap_sz 8000 ; update database cfg for siebel using maxlocks 20 ; update database cfg for siebel using locktimeout 30 ; update database cfg for siebel using chngpgs_thresh 60 ; update database cfg for siebel using num_iocleaners 1 ; update database cfg for siebel using num_ioservers 2 ; update database cfg for siebel using indexsort yes ; update database cfg for siebel using seqdetect yes ; update database cfg for siebel using dft_prefetch_sz 128 ; update database cfg for siebel using logretain yes ; update database cfg for siebel using maxappls 2000 ; update database cfg for siebel using avg_appls 1600 ; update database cfg for siebel using maxfilop 500 ; update database cfg for siebel using logfilsiz 8000 ; update database cfg for siebel using logprimary 10 ; update database cfg for siebel using logsecond 100 ; update database cfg for siebel using softmax 80 ; get database configuration for siebel ;Appendix E. Migration scripts 255 E.11 ODBC connectivity The following command script set_ODBC_for_siebel_7_only.cmd is used to set ODBC connectivity for Seibel 7. This command script is to be run from DB2 command level prompt. set_ODBC_siebel_7_only.cmd script for setting up ODBC client handles REM --REM --Increase the Number of ODBC Client Statement Handles to 6 REM --db2 connect to siebel d: cd "d:\program files\sqllib\bnd" REM --db2 bind @db2cli.lst blocking all grant public clipkg 6 REM --db2 terminate256 Siebel 7 Using DB2 UDB V7.x© Copyright IBM Corp. 2002 257 Appendix F. Migrating DB2 data from one DB2 platform to another In this appendix we describe techniques for migrating DB2 data from one DB2 platform to another. In the case of migration from another RDBMS to DB2, we suggest that you use EIM. When you move data between DB2s on different platforms, use the db2move and db2look tools. This is true only for initial migration. For all further updates of Siebel data, use EIM. See Chapter 8, “Enterprise Integration Manager (EIM)” on page 171 for details about EIM. F258 Siebel 7 Using DB2 UDB V7.x F.1 Moving DB2 databases between platforms We describe how to copy database objects (for example, tables, tablespaces) between DB2 on the same or a different operating system. For this purpose you can use db2move (database movement) and db2look (DB2 statistics and DDL extraction) tools. Procedures described in the following sections are applicable to different versions of DB2 on operating systems where DB2 UDB for UNIX, Windows, and OS/2 are available. F.1.1 Moving database objects: examples In this section we describe some examples of moving database objects using DB2 tools. DB2MOVE EXPORT, DB2MOVE IMPORT If you only need to copy tables between two DB2s, or if you want to import tables into a new database (the other option is to load), follow the steps described below. This approach is usable if your tables are not already created. Import is generally slower than load, so consider using db2move load, described in the next section. 1. Logon to the platform from which you want to export tables as a user, with the required authorization for export. 2. Use the db2move tool to export all tables and their contents: db2move export To export a subset of tables, use the options described in DB2 UDB Command Reference, SC09-2844. You will get the following files generated by EXPORT: – tabnnn.ixf The exported PC/IXF file of a specific table that is needed for creation of tables. – db2move.lst The list of all files can be used as input to the db2move IMPORT or LOAD action. – tabnnn.msg files The export message file of the corresponding table. – export.out The summarized result of the export action.Appendix F. Migrating DB2 data from one DB2 platform to another 259 – tabnnnc.yyy The exported LOB files of a specific table when your tables contain LOBs. – system.msg The message file containing system messages when your table contains LOBs. 3. Transfer db2move.lst and all tabnnn.ixf files (also tabnnnc.yyy, if your tables contain LOBs) to your target server by using, for example, FTP. You do not need to copy tabnnn.msg files, because they include only messages produced by export. 4. Logon to the target operating system as a user, with the required authorization for import. 5. Create a new database: create db 6. Use db2move to import tables into an existing database: db2move import DB2MOVE EXPORT, DB2LOOK, DB2MOVE LOAD If you need to load the contents of the tables into a database, or if you want to copy objects other than just tables, you have to use db2look and db2move. In order to use the db2move load command, the target tables must already exist. Use this approach if you have a larger amount of data, since load is faster than import. For creating tables and other database objects, use the output created from db2look. 1. Logon as a user, with the required authorization for export. 2. As in the previous example, use db2move to export all tables and their contents: db2move export 3. Use db2look to get DDL statements for creation of all required objects: db2look -d -a -e -l -x -o You should have the information about all objects created by all users in the outfile: – DDL statement for database objects such as tables, views, automatic summary tables, indexes, triggers, user defined functions, etc. – Authorization DDL (GRANT statement, for example) – DDL statements for user-defined tablespaces, user-defined bufferpools, and user-defined nodegroups260 Siebel 7 Using DB2 UDB V7.x 4. Transfer .sql, db2move.lst, and all tabnnn.ixf files (as well as tabnnnc.yyy, if your tables contain LOBs) to your target operating system by using, for example, FTP. Be careful to upload the .sql file in text mode, not binary mode. You do not need to copy tabnnn.msg files, because they include only messages produced by export. 5. Logon onto the target operating system as a user, with the required authorization for load. 6. Create a new database: create db 7. Edit .sql and correct the CONNECT TO statement to match your new database name. 8. Run the .sql file containing DDL to create all database objects. The file is created by db2look (see step 3): db2 -tvf .sql 9. Use db2move to load tables into an existing database: db2move load Attention: User-defined functions are not copied by using db2move and db2look. You have to reinstall UDFs manually.© Copyright IBM Corp. 2002 261 Appendix G. Sample database configuration This appendix describes some of the major parameters in the DB2 database manager and database configuration files in an existing customer configuration. G262 Siebel 7 Using DB2 UDB V7.x G.1 Customer environment A large organization has implemented Siebel 7 in support of around 4000 concurrent users. The configuration is 3-tier as follows: DB2 UDB 7.2 fixpack 3sa as the backend database on an IBM AIX S85 machine, Memory 32GB, Database size 300GB Siebel Enterprise Server with 18 Siebel Servers 7.0.2 on Windows 2000 Advanced Servers, IBM Netfinity Model 6000R, with 4 CPUs per server, 4GB memory per server, and 100 GB disk storage per server The following database environment variables and database configuration parameters were used in their environment G.1.1 DB2 environment variables DB2DBDFT=pebiz001 DB2_INTERESTING_KEYS=ON DB2_PIPELINED_PLANS=ON DB2_INDEX_2BYTEVARLEN=ON DB2TCPCONNMGRS=1 DB2_STRIPED_CONTAINERS=ON DB2_CORRELATED_PREDICATES=YES DB2MEMMAXFREE=3000000 DB2MEMDISCLAIM=YES DB2_MMAP_WRITE=off DB2_MMAP_READ=off DB2_RR_TO_RS=YES DB2COMM=tcpip DB2CODEPAGE=1252 DB2_PARALLEL_IO=* DB2AUTOSTART=TRUEAppendix G. Sample database configuration 263 G.1.2 Database Manager configuration parameters Database Manager Configuration Node type = Database Server with local and remote clients Database manager configuration release level = 0x0900 CPU speed (millisec/instruction) (CPUSPEED) = 8.620283e-07 Max number of concurrently active databases (NUMDB) = 3 Data Links support (DATALINKS) = NO Federated Database System Support (FEDERATED) = NO Transaction processor monitor name (TP_MON_NAME) = Default charge-back account (DFT_ACCOUNT_STR) = Java Development Kit 1.1 installation path (JDK11_PATH) = Diagnostic error capture level (DIAGLEVEL) = 3 Diagnostic data directory path (DIAGPATH) = /v01/db2/pdb2i01/db2dump Default database monitor switches Buffer pool (DFT_MON_BUFPOOL) = OFF Lock (DFT_MON_LOCK) = OFF Sort (DFT_MON_SORT) = OFF Statement (DFT_MON_STMT) = OFF Table (DFT_MON_TABLE) = OFF Unit of work (DFT_MON_UOW) = OFF SYSADM group name (SYSADM_GROUP) = PDB2IGRP SYSCTRL group name (SYSCTRL_GROUP) = SYSMAINT group name (SYSMAINT_GROUP) = Database manager authentication (AUTHENTICATION) = SERVER Cataloging allowed without authority (CATALOG_NOAUTH) = NO Trust all clients (TRUST_ALLCLNTS) = YES Trusted client authentication (TRUST_CLNTAUTH) = CLIENT Default database path (DFTDBPATH) = /v01/db2/pdb2i01 Database monitor heap size (4KB) (MON_HEAP_SZ) = 5000 UDF shared memory set size (4KB) (UDF_MEM_SZ) = 256 Java Virtual Machine heap size (4KB) (JAVA_HEAP_SZ) = 512 Audit buffer size (4KB) (AUDIT_BUF_SZ) = 0 Backup buffer default size (4KB) (BACKBUFSZ) = 1024 Restore buffer default size (4KB) (RESTBUFSZ) = 1024264 Siebel 7 Using DB2 UDB V7.x Sort heap threshold (4KB) (SHEAPTHRES) = 80000 Directory cache support (DIR_CACHE) = YES Application support layer heap size (4KB) (ASLHEAPSZ) = 15 Max requester I/O block size (bytes) (RQRIOBLK) = 65535 Query heap size (4KB) (QUERY_HEAP_SZ) = 16384 DRDA services heap size (4KB) (DRDA_HEAP_SZ) = 128 Priority of agents (AGENTPRI) = SYSTEM Max number of existing agents (MAXAGENTS) = 9000 Agent pool size (NUM_POOLAGENTS) = 180 (calculated) Initial number of agents in pool (NUM_INITAGENTS) = 0 Max number of coordinating agents (MAX_COORDAGENTS) = MAXAGENTS Max no. of concurrent coordinating agents (MAXCAGENTS) = MAX_COORDAGENTS Max number of logical agents (MAX_LOGICAGENTS) = MAX_COORDAGENTS Keep DARI process (KEEPDARI) = YES Max number of DARI processes (MAXDARI) = MAX_COORDAGENTS Initialize DARI process with JVM (INITDARI_JVM) = NO Initial number of fenced DARI process (NUM_INITDARIS) = 0 Index re-creation time (INDEXREC) = RESTART Transaction manager database name (TM_DATABASE) = 1ST_CONN Transaction resync interval (sec) (RESYNC_INTERVAL) = 180 SPM name (SPM_NAME) = SPM log size (SPM_LOG_FILE_SZ) = 256 SPM resync agent limit (SPM_MAX_RESYNC) = 20 SPM log path (SPM_LOG_PATH) = TCP/IP Service name (SVCENAME) = db2cpdb2i01b APPC Transaction program name (TPNAME) = IPX/SPX File server name (FILESERVER) = IPX/SPX DB2 server object name (OBJECTNAME) = IPX/SPX Socket number (IPX_SOCKET) = 879E Discovery mode (DISCOVER) = SEARCH Discovery communication protocols (DISCOVER_COMM) = TCPIP Discover server instance (DISCOVER_INST) = ENABLE Directory services type (DIR_TYPE) = NONE Directory path name (DIR_PATH_NAME) = /.:/subsys/database/Directory object name (DIR_OBJ_NAME) = Routing information object name (ROUTE_OBJ_NAME) = Default client comm. protocols (DFT_CLIENT_COMM) = Appendix G. Sample database configuration 265 Maximum query degree of parallelism (MAX_QUERYDEGREE) = 1 Enable intra-partition parallelism (INTRA_PARALLEL) = NO No. of int. communication buffers(4KB)(FCM_NUM_BUFFERS) = 4096 Number of FCM request blocks (FCM_NUM_RQB) = 1024 Number of FCM connection entries (FCM_NUM_CONNECT) = (FCM_NUM_RQB * 0.75) Number of FCM message anchors (FCM_NUM_ANCHORS) = (FCM_NUM_RQB * 0.75) G.1.3 Database configuration parameters Database Configuration for Database pebiz001 Database configuration release level = 0x0900 Database release level = 0x0900 Database territory = US Database code page = 1252 Database code set = 1252 Database country code = 1 Dynamic SQL Query management (DYN_QUERY_MGMT) = DISABLE Directory object name (DIR_OBJ_NAME) = Discovery support for this database (DISCOVER_DB) = ENABLE Default query optimization class (DFT_QUERYOPT) = 3 Degree of parallelism (DFT_DEGREE) = 1 Continue upon arithmetic exceptions (DFT_SQLMATHWARN) = NO Default refresh age (DFT_REFRESH_AGE) = 0 Number of frequent values retained (NUM_FREQVALUES) = 10 Number of quantiles retained (NUM_QUANTILES) = 20 Backup pending = NO Database is consistent = NO Rollforward pending = NO Restore pending = NO Multi-page file allocation enabled = NO Log retain for recovery status = NO User exit for logging status = YES Data Links Token Expiry Interval (sec) (DL_EXPINT) = 60 Data Links Number of Copies (DL_NUM_COPIES) = 1 Data Links Time after Drop (days) (DL_TIME_DROP) = 1 Data Links Token in Uppercase (DL_UPPER) = NO266 Siebel 7 Using DB2 UDB V7.x Data Links Token Algorithm (DL_TOKEN) = MAC0 Database heap (4KB) (DBHEAP) = 23000 Catalog cache size (4KB) (CATALOGCACHE_SZ) = 5558 Log buffer size (4KB) (LOGBUFSZ) = 512 Utilities heap size (4KB) (UTIL_HEAP_SZ) = 10000 Buffer pool size (pages) (BUFFPAGE) = 1000 Extended storage segments size (4KB) (ESTORE_SEG_SZ) = 65536 Number of extended storage segments (NUM_ESTORE_SEGS) = 48 Max storage for lock list (4KB) (LOCKLIST) = 25000 Max appl. control heap size (4KB) (APP_CTL_HEAP_SZ) = 400 Sort list heap (4KB) (SORTHEAP) = 32 SQL statement heap (4KB) (STMTHEAP) = 40960 Default application heap (4KB) (APPLHEAPSZ) = 3750 Package cache size (4KB) (PCKCACHESZ) = 40000 Statistics heap size (4KB) (STAT_HEAP_SZ) = 12000 Interval for checking deadlock (ms) (DLCHKTIME) = 10000 Percent. of lock lists per application (MAXLOCKS) = 80 Lock timeout (sec) (LOCKTIMEOUT) = 300 Changed pages threshold (CHNGPGS_THRESH) = 30 Number of asynchronous page cleaners (NUM_IOCLEANERS) = 24 Number of I/O servers (NUM_IOSERVERS) = 48 Index sort flag (INDEXSORT) = YES Sequential detect flag (SEQDETECT) = YES Default prefetch size (pages) (DFT_PREFETCH_SZ) = 128 Track modified pages (TRACKMOD) = OFF Default number of containers = 1 Default tablespace extentsize (pages) (DFT_EXTENT_SZ) = 32 Max number of active applications (MAXAPPLS) = 9000 Average number of active applications (AVG_APPLS) = 10 Max DB files open per application (MAXFILOP) = 1000 Log file size (4KB) (LOGFILSIZ) = 64000 Number of primary log files (LOGPRIMARY) = 120 Number of secondary log files (LOGSECOND) = 0 Changed path to log files (NEWLOGPATH) = Path to log files = /v01/db2/pebiz001/activelogs/First active log file = S0048426.LOG Group commit count (MINCOMMIT) = 1 Percent log file reclaimed before soft chckpt (SOFTMAX) = 50Appendix G. Sample database configuration 267 Log retain for recovery enabled (LOGRETAIN) = OFF User exit for logging enabled (USEREXIT) = ON Auto restart enabled (AUTORESTART) = ON Index re-creation time (INDEXREC) = SYSTEM (RESTART) Default number of loadrec sessions (DFT_LOADREC_SES) = 1 Number of database backups to retain (NUM_DB_BACKUPS) = 12 Recovery history retention (days) (REC_HIS_RETENTN) = 366 TSM management class (TSM_MGMTCLASS) = TSM node name (TSM_NODENAME) = TSM owner (TSM_OWNER) = TSM password (TSM_PASSWORD) =268 Siebel 7 Using DB2 UDB V7.x© Copyright IBM Corp. 2002 269 Glossary activity A specific task or event to be completed. applet In Siebel Applications, a visual application unit that appears on screen as part of a view. application In Siebel Applications, a subset of the applications that can be invoked from an icon on the desktop or Start menu. base table A table containing columns that are defined and used by Siebel Applications. data manager See data object layer. Data Objects layer The architectural layer in the repository that consists of data object definitions. These include object definitions that directly represent tables, columns, and indexes in the underlying DBMS Enterprise Integration Manager (EIM) Manages the exchange of data between Siebel database tables and other corporate databases. It is used to perform bulk imports, exports, merges, and deletes extension column A column that is not used by standard Siebel applications, but is used by custom-configured applications extension table A table in Siebel Applications that provides additional columns to a data table that cannot be directly added to the original table. Interface tables A table that denormalizes a group of base tables into a single table that external programs can interface to. Used by EIM to import initial data for populating one or more base tables. mobile client Typically, refers to a portable computer used by a field representative who does not have continuous access to a network. opportunity A potential revenue-generating event that is associated to an account, potential revenue, probability of completion, sales methodology, etc. repository The complete set of object definition defining a Siebel application or suite of applications. It is part of the Siebel client, compiled into the Siebel repository file (the .srf file). responsibility A class of users requiring access to the same set of application features. A user’s responsibility identifies the views that he or she can navigate to in Siebel Applications. screen In Siebel Applications, a screen is a logical collection of views. A list of the views available for the screen appears when you click a tab in the tab bar or choose a menu option in the screen menu seed data Required data created in the Siebel database during a Siebel Applications installation process that is needed for the application to start up. view A display panel consisting of a particular arrangement of applets. The Siebel application window displays one view at any one time. You can change the currently active view by selecting a different view from the view bar or from a submenu of the screen menu. 270 Siebel 7 Using DB2 UDB V7.x© Copyright IBM Corp. 2002 271 eAI eBusiness Application Integration EIM Enterprise Integration Manager IBM International Business Machines Corporation ITSO International Technical Support Organization SWSE Siebel Web Server Extension Abbreviations and acronyms272 Siebel 7 Using DB2 UDB V7.x© Copyright IBM Corp. 2002 273 Related publications The publications listed in this section are considered particularly suitable for a more detailed discussion of the topics covered in this redbook. IBM Redbooks For information on ordering these publications, see “How to get IBM Redbooks” on page 274. IBM Certification Study Guide AIX Installation and System Recovery, SG24-6183 Other resources These publications are also relevant as further information sources: IBM DB2 Universal Database for UNIX Quick Beginnings, v7, GC09-2970 IBM DB2 Universal Database for Windows Quick Beginnings, v7, GC09-2971 IBM DB2 Universal Database Administration Guide: Implementation, v7, SC09-2944 IBM DB2 Universal Database Command Reference, SC09-2951 Siebel System Requirements and Supported Platforms, v7 What's New In Siebel 7: A guide for Administrators and Developers, v7 Siebel Server Installation Guide for UNIX, v7 Siebel Server Installation Guide for Microsoft Windows, v7 Siebel Server Administration Guide, v7 Siebel Global Deployment Guide, v7 Siebel Web Client Installation Guide, v7 Siebel Tools Reference, v7 Authentication And Access Control Administration Guide, v7 Siebel technical notes – Siebel Technical Note 0140: Managing the Siebel Development Environment – Siebel Technical Note 0303: Siebel High Availability Solutions274 Siebel 7 Using DB2 UDB V7.x Siebel Technical Note 0313: Addendum to Siebel Web Server Extension Installation for Siebel 7.0.3 Resonate Central Dispatch Site Preparation Guide Resonate Central Dispatch Resonate Commander Installation Guide for AIX Resonate Central Dispatch User Guide Resonate Central Dispatch™ An In-Depth Technical White Paper Referenced Web sites These Web sites are also relevant as further information sources: DB2 UDB Online Technical Library at: http://www-3.ibm.com/software/data/db2/library/AIX Online Technical Library at: http://www-1.ibm.com/servers/aix/library/techpubs.html Resonate literature is available at: http://www.resonate.com/solutions/literature.php How to get IBM Redbooks You can order hardcopy Redbooks, as well as view, download, or search for Redbooks at the following Web site: ibm.com/redbooks You can also download additional materials (code samples or diskette/CD-ROM images) from that site. IBM Redbooks collections Redbooks are also available on CD-ROMs. Click the CD-ROMs button on the Redbooks Web site for information about all the CD-ROMs offered, as well as updates and formats. © Copyright IBM Corp. 2002 275 Index BBacking up Siebel Files 166 Backup DB2 Database 164 Base tables 177, 269 Batch size 178 Benefits of DB2 UDB with Siebel 17 DData Exchange Layer 12 Data Manager 11 DB2Snapshot Monitor 143 DB2 Archival Logging 168 DB2 Backup & Recovery 160 Backup overview 160 DB2 Backup & Recovery Overview 160 DB2 Circular Logging 167 DB2 Client Catalog the Node and Database 61 DB2 logs EIM processing 178 DB2 parameters LOCKLIST 178 MAXLOCKS 178 DB2 statistics disabling the update 179 DB2 tools db2look 258 db2move 258 db2diag.log 178 EeAI framework 15 EIMArchitecture 173 concurrent processing 178 configuration file 174 ifb file 178 Interface Tables 173 parameters 174 Processing 174 Tuning 177 tuning challenge 179 Tuning Scenarios 181 UPDATE STATISTICS 179 EIM Overview 172 EIM processing tuning 177 Enterprise Integration Manager (EIM) 269 Hhorizontal solutions 3 I Interface tables 269 LLDAP 29 O Object Manager 10 Operating System Considerations 132 PPerformance Analyzing the SQL 156 Capacity Planning Considerations 156 Database Reorganization 148 DB2 Bufferpool Management 146 DB2 Governor 150 DB2 Log Placement 142 DB2 UDB Application Considerations 136 DB2 UDB System Considerations 143 DMS or SMS User Tablespaces 137 Index Advisor Utility 156 Maintaining up-to-date statistics 149 Parallelism Considerations 141 Siebel Query Considerations 151 Table Size & Placement Considerations 140 Temporary Tablespace Considerations 138 User Tablespace Deployment 138 Performance in the Siebel/DB2 environment 132276 Siebel 7 Using DB2 UDB V7.x RRecovery Scenarios 166 Redbooks Web site 274 Contact us xiv Resonate Server 8 SSiebel 7 Availability 27 End user Enhancements 189 Features 188 Global Deployment 30 Information Gathering 22 Object Changes 188 Overview of the Migration Process 190 Planning Considerations 22 Platform selection and configuration 25 Scalability 25 Security 29 Sizing Models 30 Skills Requirements 23 Suggested Reading 23 Siebel 7 Application Architecture 4 Siebel 7 Development Tools 12 Browser Script Editor 12 Globalization Development Environment 13 Object Comparison and Selective Synchronization 14 Real Time Access to External Data 13 Upgrade Inheritance 14 Siebel 7 on AIX Additional Siebel Server 72 Configure DB Import 70 Configure DB Install 69 Configure TCP/IP Networking 38 Configure Users and Groups 39 Copy Siebel DLL 68 DB2 Server and DB2 Clients 50 Hardware Requirements 38 Install License 82 Our Siebel 7 Environment 35 Overview of the Installation Process 34 Resonate 40 Share Siebel File System 39 Siebel Clients 78 Siebel Database Server 67 Siebel Gateway Server 61 Siebel Server 63 Siebel Web Server Extension (SWSE) 86 Software Requirements 36 Toolkit Client (seatools) 84 Verify the Siebel Enterprise 72 View Siebel Servers in Resonate Central Dispatch 75 Siebel 7 on Windows Our Siebel 7 Environment 95 Overview of the Installation Process 94 Software Requirements 96 Siebel Client Types 5 Siebel Dedicated Web Client 6 Siebel Handheld Client 6 Siebel Mobile Web Client 6 Siebel Web Client 6 Siebel Wireless Client 6 Siebel Connectivity Tools 14 Siebel Database 5 Siebel Enterprise Server 7 Siebel File System 5, 69 Siebel Gateway Server 7, 61 Connection Broker 8 Name Server 8 Siebel Migration 187 Environment Migrated 206 Siebel Product Architecture 10 Data Exchange Layer 12 Data Manager 11 Object Manager 10 User Interface 10 Siebel products architecture 10 Siebel Repository 269 Siebel Server 9 Siebel Server Manager 8–9 Siebel Tools 84 Siebel Web Engine 7 Siebel Web Server Extension 6 SQLTuning 178 SWSE 6, 86 Vvertical solutions 3(0.5” spine) 0.475”<->0.875” 250 <-> 459 pages Siebel 7 Using DB2 UDB V7.x: Planning & Installation Guide for AIX/Win2K ® SG24-6415-00 ISBN 073842465X INTERNATIONAL TECHNICAL SUPPORT ORGANIZATION BUILDING TECHNICAL INFORMATION BASED ON PRACTICAL EXPERIENCE IBM Redbooks are developed by the IBM International Technical Support Organization. Experts from IBM, Customers and Partners from around the world create timely technical information based on realistic scenarios. Specific recommendations are provided to help you implement IT solutions more effectively in your environment. For more information: ibm.com/redbooks Siebel 7 Using DB2 UDB V7.x Planning & Installation Guide for AIX/Win2K Overview of Siebel 7 eBusiness Application Architecture Planning and Installation of Siebel 7 using DB2 UDB 7.x Migrating from Siebel 6.x to Siebel 7.0.2 This IBM Redbook deals with planning and installation of Siebel 7 applications using DB2 V7.x, as well as a migration from Siebel 6.x. We provide an overview of Siebel Systems and their two-tier and three-tier architectures in the UNIX and Windows environments. Then we describe the connection to the Siebel-DB2 database server on AIX and Windows 2000, as well as the necessary customization. We provide installation guidelines for setting up Siebel applications on AIX and Windows 2000 servers, and DB2 on AIX/Windows 2000. We also document a migration of a Siebel application from Siebel 6.x to Siebel 7 in a Windows 2000 environment. This book will be particularly helpful to those installing Siebel 7 on AIX and Windows 2000 for the first time. Back cover