SAP Backup Using Tivoli Storage Manager
SAP Backup Using Tivoli Storage Manager
SAP Backup Using Tivoli Storage Manager
Budi Darmawan Miroslav Dvorak Dhruv Harnal Gerson Makino Markus Molnar Rennad Murugan Marcos Silva
ibm.com/redbooks
International Technical Support Organization SAP Backup using Tivoli Storage Manager June 2009
SG24-7686-00
Note: Before using this information and the product it supports, read the information in Notices on page xi.
First Edition (June 2009) This edition applies to Version 5, Release 5, Modification 0 of Tivoli Storage Manager and its related components: Tivoli Storage Manager Server, 5608-ISM Tivoli Storage Manager for Enterprise Resource Planning, 5608-APR Tivoli Storage Manager for Databases, 5608-APD Tivoli Stroage Manager for Advanced Copy Services, 5608-ACS Tivoli Storage Manager for SAN, 5608-SAN
Copyright International Business Machines Corporation 2009. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
Contents
Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv The team that wrote this book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviii Part 1. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Chapter 1. SAP data management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1 SAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 Data management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Book structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Chapter 2. SAP overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1 SAP product history. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 SAP solutions and products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.1 Enterprise solutions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.2 Business solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.3 SAP solutions for small businesses and mid-size companies . . . . . 13 2.3 SAP NetWeaver overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.1 Key capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3.2 Database positioning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.3.3 Application platform in detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.4 SAP architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.4.1 Technical components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.4.2 Central instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.4.3 Central services instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.4.4 Database instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.4.5 Dialog instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.5 SAP system topologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.6 Change and Transport System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.6.1 Clients and their roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.6.2 System landscape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.6.3 Change management in the SAP system landscape . . . . . . . . . . . . 34 2.7 SAP database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.7.1 Supported databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.7.2 Database administration facilities . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
iii
2.7.3 Connectivity and integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Chapter 3. SAP data protection considerations . . . . . . . . . . . . . . . . . . . . . 41 3.1 Strategic view of data protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.1.1 Measuring data availability and protection service levels . . . . . . . . . 44 3.1.2 Failure types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.2 Protection of SAP data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.2.1 Protection of the operating system . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.2.2 Protection of SAP file systems data . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.2.3 Protection of the SAP database . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.2.4 Include exclude options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.3 Database backup types and considerations . . . . . . . . . . . . . . . . . . . . . . . 61 3.3.1 Backup modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.3.2 Backup types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.3.3 Backup cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 3.3.4 Backup policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.3.5 Retention period and tape release . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.4 Data protection and data retention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.5 Tivoli Storage Manager and the SAP landscape. . . . . . . . . . . . . . . . . . . . 69 3.5.1 Centralized SAP system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 3.5.2 Distributed SAP system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 3.5.3 High availability SAP system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.6 High availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.6.1 Availability and performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.6.2 High availability related consideration . . . . . . . . . . . . . . . . . . . . . . . . 78 3.6.3 Disaster recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.7 Backup scheduling considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.7.1 SAP scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.7.2 Tivoli Storage Manager scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.7.3 Operating system schedulers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.7.4 External workload scheduling tools . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Chapter 4. Introduction to IBM Tivoli Storage Manager . . . . . . . . . . . . . . 89 4.1 IBM Tivoli Storage Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 4.1.1 IBM Tivoli Storage Manager overview . . . . . . . . . . . . . . . . . . . . . . . 90 4.1.2 IBM Tivoli Storage Manager architecture . . . . . . . . . . . . . . . . . . . . . 92 4.1.3 IBM Tivoli Storage Manager server. . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.1.4 IBM Tivoli Storage Manager backup/archive client . . . . . . . . . . . . . . 95 4.1.5 Tivoli Storage Manager backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 4.2 IBM Tivoli Storage Manager storage agent. . . . . . . . . . . . . . . . . . . . . . . . 97 4.3 Tivoli Storage Manager for Enterprise Resource Planning . . . . . . . . . . . . 97 4.3.1 Integration of Data Protection for SAP with SAP . . . . . . . . . . . . . . . 98
iv
4.3.2 Data Protection for SAP for Oracle database . . . . . . . . . . . . . . . . . . 99 4.3.3 Tivoli Data Protection for SAP for DB2 . . . . . . . . . . . . . . . . . . . . . . 104 4.4 Tivoli Storage Manager for Databases . . . . . . . . . . . . . . . . . . . . . . . . . . 105 4.4.1 Tivoli Data Protection for Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 4.4.2 Tivoli Data Protection for Microsoft SQL Server . . . . . . . . . . . . . . . 105 4.5 ADINT/TSM client for MaxDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4.6 Tivoli Storage Manager for Advanced Copy Services. . . . . . . . . . . . . . . 107 4.6.1 Supported storage hardware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 4.6.2 Introduction to copy services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 4.6.3 Tivoli Storage Manager for Advanced Copy Services on SAP . . . . 111 Chapter 5. IBM DB2 CommonStore for SAP . . . . . . . . . . . . . . . . . . . . . . . 115 5.1 CommonStore for SAP overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 5.2 Scenarios and features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 5.2.1 Data archiving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 5.2.2 Document archiving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 5.3 CommonStore for SAP server prerequisites . . . . . . . . . . . . . . . . . . . . . . 121 5.4 CommonStore clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 5.4.1 CommonStore archiving client . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 5.4.2 CommonStore Viewing Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 5.4.3 CommonStore Utility Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 5.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Chapter 6. Database backup and recovery tools . . . . . . . . . . . . . . . . . . . 127 6.1 Database backup and recovery tools . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 6.2 SAP BR*Tools for Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 6.2.1 User interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 6.2.2 Backup control function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 6.2.3 Archived redo log backup functions . . . . . . . . . . . . . . . . . . . . . . . . 135 6.2.4 Restore and recovery functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 6.2.5 Media interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 6.2.6 Backup repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 6.2.7 BR*Tools and Tivoli Storage Manager for ERP - Oracle . . . . . . . . 139 6.2.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 6.3 Oracle Recovery Manager (RMAN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 6.3.1 User interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 6.3.2 Backup control functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 6.3.3 Archive redo log backup functions . . . . . . . . . . . . . . . . . . . . . . . . . 147 6.3.4 Restore and recovery functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 6.3.5 Media interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 6.3.6 Backup repository and retention control . . . . . . . . . . . . . . . . . . . . . 151 6.3.7 Integration of BR*Tools with Oracle RMAN . . . . . . . . . . . . . . . . . . 152 6.3.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Contents
6.4 IBM DB2 UDB backup recovery tools . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 6.4.1 User interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 6.4.2 Backup control functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 6.4.3 Archived redo log backup functions . . . . . . . . . . . . . . . . . . . . . . . . 159 6.4.4 Restore and recovery functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 6.4.5 Media interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 6.4.6 Backup repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 6.4.7 DB2 UDB built-in Tivoli Storage Manager support . . . . . . . . . . . . . 163 6.4.8 DB2 UDB with Tivoli Storage Manager for ERP (DB2) . . . . . . . . . . 165 6.4.9 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 6.5 SAP MaxDB backup recovery tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 6.5.1 User interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 6.5.2 Backup control functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 6.5.3 Archived redo log backup functions . . . . . . . . . . . . . . . . . . . . . . . . 174 6.5.4 Restore and recovery functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 6.5.5 Media interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 6.5.6 Backup repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 6.5.7 MaxDB with ADINT/TSM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 6.5.8 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 6.6 Summary of backup tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Chapter 7. High availability and disaster recovery concepts . . . . . . . . . 183 7.1 High availability solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 7.1.1 High Availability Cluster Multi-Processing (HACMP) . . . . . . . . . . . 185 7.1.2 Microsoft Cluster Service (MSCS) . . . . . . . . . . . . . . . . . . . . . . . . . 187 7.1.3 Oracle Real Application Cluster (RAC) . . . . . . . . . . . . . . . . . . . . . . 188 7.1.4 Tivoli System Automation for Multiplatforms . . . . . . . . . . . . . . . . . . 190 7.1.5 Other high availability solutions. . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 7.2 Disaster recovery solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 7.2.1 HACMP Extended Distance option (HACMP/XD) . . . . . . . . . . . . . . 192 7.2.2 Metro Mirror. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 7.2.3 Oracle Maximum Availability Architecture (MAA) . . . . . . . . . . . . . . 195 7.2.4 Oracle Dataguard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 7.2.5 DB2 High Availability Disaster Recovery (HADR) . . . . . . . . . . . . . . 197 7.2.6 Microsoft SQL Server Log Shipping . . . . . . . . . . . . . . . . . . . . . . . . 199 7.2.7 Microsoft SQL Server Mirroring. . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 7.2.8 Other options from IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 7.3 Usage matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Part 2. Sample implementation and operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Chapter 8. Case study introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 8.1 DB2 environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 8.2 Oracle environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
vi
8.3 Drivers and clients mapping to server roles . . . . . . . . . . . . . . . . . . . . . . 207 Chapter 9. DB2 backup using Tivoli Storage Manager . . . . . . . . . . . . . . 211 9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 9.1.1 Data protection for SAP and DB2 . . . . . . . . . . . . . . . . . . . . . . . . . . 212 9.1.2 DB2 built-in Tivoli Storage Manager support . . . . . . . . . . . . . . . . . 213 9.2 Planning for Data Protection for SAP with DB2. . . . . . . . . . . . . . . . . . . . 213 9.2.1 Lab environment overview and backup consideration . . . . . . . . . . 214 9.2.2 Backup methods to be used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 9.2.3 Installation prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 9.2.4 Tivoli Storage Manager software packages to be used . . . . . . . . . 217 9.2.5 Defining backup policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 9.3 Configuration of Storage Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 9.4 Configuration for DB2 backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 9.4.1 Configuration on the Tivoli Storage Manager server. . . . . . . . . . . . 219 9.4.2 Data protection configuration on SAP server . . . . . . . . . . . . . . . . . 223 9.4.3 Optional DB2 configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 9.4.4 Schedule configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 9.5 Backup and restore using DB2 and the API client . . . . . . . . . . . . . . . . . 233 9.5.1 Executing tablespace backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 9.5.2 Executing database backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 9.5.3 Executing restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 9.5.4 Monitoring backup and restore execution on DB2 . . . . . . . . . . . . . 235 9.5.5 Finding backup and restore log files or information . . . . . . . . . . . . 236 9.5.6 Releasing backup tapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 9.6 Tivoli Storage Manager for ERP-DB2 installation . . . . . . . . . . . . . . . . . . 241 9.6.1 Required information for Data Protection for SAP . . . . . . . . . . . . . 242 9.6.2 Installing Tivoli Storage Manager for ERP . . . . . . . . . . . . . . . . . . . 242 9.6.3 System changes after Tivoli Data Protection for SAP installation . . 244 9.7 Tivoli Storage Manager for ERP configuration . . . . . . . . . . . . . . . . . . . . 245 9.7.1 Configuration on the Tivoli Storage Manager server. . . . . . . . . . . . 245 9.7.2 Data protection configuration on SAP server . . . . . . . . . . . . . . . . . 246 9.7.3 Manual configuration alternative . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 9.7.4 Automation options of Data Protection for SAP . . . . . . . . . . . . . . . 252 9.7.5 Schedule configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 9.8 Backup and restore using Data Protection for SAP . . . . . . . . . . . . . . . . 254 9.8.1 Executing backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 9.8.2 Executing restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 9.8.3 Backup and restore for DB2 partitions . . . . . . . . . . . . . . . . . . . . . . 255 9.8.4 Monitoring backup and restore execution . . . . . . . . . . . . . . . . . . . . 256 9.8.5 Getting reports from backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 9.8.6 Releasing tapes and backup expiration . . . . . . . . . . . . . . . . . . . . . 260 9.9 Troubleshooting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Contents
vii
9.9.1 Log files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 9.9.2 Configuration files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 9.9.3 Common error messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 9.9.4 Other problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 9.10 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Chapter 10. Oracle backup using Tivoli Storage Manager for ERP . . . . 265 10.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 10.1.1 Data Protection for SAP and BACKINT . . . . . . . . . . . . . . . . . . . . 266 10.1.2 Data Protection for SAP and RMAN . . . . . . . . . . . . . . . . . . . . . . . 267 10.2 Data protection planning for SAP with Oracle . . . . . . . . . . . . . . . . . . . . 268 10.2.1 Lab environment overview and backup considerations . . . . . . . . 268 10.2.2 Backup methods to be used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 10.2.3 Installation prerequisites for Data Protection for SAP - Oracle . . . 270 10.2.4 Tivoli Storage Manager software packages to be used . . . . . . . . 271 10.2.5 Defining backup policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 10.3 Tivoli Storage Manager for ERP - Oracle installation . . . . . . . . . . . . . . 273 10.4 BR*Tools with Oracle RMAN configuration . . . . . . . . . . . . . . . . . . . . . . 276 10.4.1 Tivoli Storage Manager server configuration . . . . . . . . . . . . . . . . 276 10.4.2 SAP database server configuration. . . . . . . . . . . . . . . . . . . . . . . . 277 10.4.3 Scheduling configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 10.5 Configuration of BR*Tools with the BACKINT interface . . . . . . . . . . . . 286 10.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Chapter 11. LAN-free backup and restore. . . . . . . . . . . . . . . . . . . . . . . . . 289 11.1 LAN-free backup and restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 11.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 11.2.1 Atape driver installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 11.2.2 Storage agent installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 11.2.3 Configuration worksheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 11.3 Setup and configuration of storage agent . . . . . . . . . . . . . . . . . . . . . . . 300 11.3.1 Configuration on the Tivoli Storage Manager client . . . . . . . . . . . 302 11.3.2 Configuration on the Tivoli Storage Manager server. . . . . . . . . . . 303 11.4 Setup and configuration for DB2 environment . . . . . . . . . . . . . . . . . . . 305 11.4.1 Required Tivoli Storage Manager definitions . . . . . . . . . . . . . . . . 306 11.4.2 Tivoli Storage Manager API configuration. . . . . . . . . . . . . . . . . . . 308 11.4.3 Tivoli Storage Manager for ERP configuration . . . . . . . . . . . . . . . 310 11.5 Setup and configuration in Oracle environment . . . . . . . . . . . . . . . . . . 314 Chapter 12. FlashCopy backup and restore . . . . . . . . . . . . . . . . . . . . . . . 317 12.1 Conventional FlashCopy method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 12.2 Introduction Advanced Copy Services for SAP . . . . . . . . . . . . . . . . . . . 319 12.2.1 Backup to Tivoli Storage Manager server without FlashCopy . . . 322 12.2.2 Backup to Tivoli Storage Manager server from FlashCopy. . . . . . 323
viii
12.2.3 Different options for the FlashCopy function . . . . . . . . . . . . . . . . . 324 12.2.4 Backup of offline transaction logs . . . . . . . . . . . . . . . . . . . . . . . . . 324 12.2.5 Expiration consideration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 12.3 Implement Advanced Copy Services for SAP in DB2 . . . . . . . . . . . . . . 327 12.3.1 Data Protection for SAP (DB2) installation and configuration . . . . 327 12.3.2 Customizing the DB2 environment . . . . . . . . . . . . . . . . . . . . . . . . 329 12.3.3 Password handling methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 12.3.4 CIM installation and configuration . . . . . . . . . . . . . . . . . . . . . . . . . 331 12.3.5 Data Protection for FlashCopy installation and configuration . . . . 334 12.3.6 Data Protection for FlashCopy configuration . . . . . . . . . . . . . . . . 336 12.3.7 Other prerequisites for the backup server . . . . . . . . . . . . . . . . . . . 341 12.3.8 FlashBack restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 12.4 Implement Advanced Copy Services for SAP (Oracle) . . . . . . . . . . . . . 355 12.4.1 Data Protection for SAP (Oracle) installation and configuration . . 356 12.4.2 Password handling methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 12.4.3 CIM installation and configuration . . . . . . . . . . . . . . . . . . . . . . . . . 358 12.4.4 Data Protection for FlashCopy installation . . . . . . . . . . . . . . . . . . 358 12.4.5 Data Protection for FlashCopy configuration . . . . . . . . . . . . . . . . 360 12.5 FlashCopy cloning of SAP databases . . . . . . . . . . . . . . . . . . . . . . . . . . 367 12.5.1 FCClone process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 12.5.2 Installation requirements for FCClone. . . . . . . . . . . . . . . . . . . . . . 369 Part 3. Appendixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 Appendix A. DB2 basic operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 Get information about the current DB2 instance . . . . . . . . . . . . . . . . . . . . . . 374 Listing the current active databases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 Connecting to an active database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 Configuration parameters for the current instance . . . . . . . . . . . . . . . . . . . . . 374 Configuration parameters for the current database . . . . . . . . . . . . . . . . . . . . 375 Listing tablespaces information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 Monitoring backup and restore. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 Listing backup history. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 Listing the backup history from DB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 Listing backups from DB2 tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 Appendix B. Oracle basic operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 Oracle basic information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 Get information about the Oracle instance . . . . . . . . . . . . . . . . . . . . . . . . 382 Listing the Oracle database files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 Oracle control files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 Oracle redo log files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 Oracle tablespace list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 Oracle data file list. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Contents
ix
Oracle archived log list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 Monitoring backup execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 Abbreviations and acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 Other publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 Online resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 How to get Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 Help from IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Notices
This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications covering subject matter described 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: IBM Director of Licensing, IBM Corporation, North Castle Drive, Armonk, NY 10504-1785 U.S.A. The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk. IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental. COPYRIGHT LICENSE: This information contains sample application programs in source language, which illustrate programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs.
xi
Trademarks
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. These and other IBM trademarked terms are marked on their first occurrence in this information with the appropriate symbol ( or ), indicating US registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at http://www.ibm.com/legal/copytrade.shtml The following terms are trademarks of the International Business Machines Corporation in the United States, other countries, or both: AIX 5L AIX CICS DB2 Universal Database DB2 DRDA DS6000 DS8000 Enterprise Storage Server ESCON eServer FlashCopy GPFS HACMP IBM Informix iSeries OS/390 OS/400 Passport Advantage POWER5 pSeries Redbooks Redbooks (logo) System p5 System p System Storage Tivoli TotalStorage WebSphere z/OS
The following terms are trademarks of other companies: ITIL is a registered trademark, and a registered community trademark of the Office of Government Commerce, and is registered in the U.S. Patent and Trademark Office. IT Infrastructure Library, IT Infrastructure Library is a registered trademark of the Central Computer and Telecommunications Agency which is now part of the Office of Government Commerce. Snapshot, and the NetApp logo are trademarks or registered trademarks of NetApp, Inc. in the U.S. and other countries. Oracle, JD Edwards, PeopleSoft, Siebel, and TopLink are registered trademarks of Oracle Corporation and/or its affiliates. ACS, Interchange, Red Hat, and the Shadowman logo are trademarks or registered trademarks of Red Hat, Inc. in the U.S. and other countries. ABAP, BAPI, mySAP, mySAP.com, SAP ArchiveLink, SAP NetWeaver, SAP R/2, SAP R/3 Enterprise, SAP R/3, SAP Strategic Enterprise Management, SAP, and SAP logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries. VMware, the VMware "boxes" logo and design are registered trademarks or trademarks of VMware, Inc. in the United States and/or other jurisdictions. ABAP, BAPI, mySAP, mySAP.com, SAP ArchiveLink, SAP NetWeaver, SAP R/2, SAP R/3 Enterprise, SAP R/3, SAP Strategic Enterprise Management, SAP, xApps, xApp and all SAP logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries. Image Viewer, J2EE, Java, JDBC, JRE, Solaris, Sun, Sun Java, and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
xii
Internet Explorer, Microsoft, MS, SQL Server, Windows Server, Windows, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. Intel Pentium, Intel, Pentium, Intel logo, Intel Inside logo, and Intel Centrino logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Linux is a trademark of Linus Torvalds in the United States, other countries, or both. Other company, product, or service names may be trademarks or service marks of others.
Notices
xiii
xiv
Preface
In this IBM Redbooks publication, we give an overview of different data management topics related to a typical SAP data center. The intrinsic functionality of SAP is not designed to completely handle all the tasks of a data center by itself, but the SAP system offers several interface possibilities to attach external tools to it to accomplish this task We explain SAP basic concepts and the issues with SAP data management. We introduce Tivoli Storage Manager and all of its products that are related to SAP data management. We provide some comparison between database backup and recovery tools. Finally, we discuss data archiving using IBM DB2 CommonStore for SAP, and discuss high availability requirements and disaster recovery considerations. The second part of this book discusses a practical implementation of SAP backup and recovery with Tivoli Storage Manager. We implement this setup on two separate SAP systems: one running DB2 and the other running Oracle database. We also implement LAN-free backup and FlashCopy scenarios. In the sample implementation section, we show many different tasks, such as backup and restore, database recovery, backup monitoring, and tuning. We also cover some advanced backup/availability considerations, such as split mirror backup and standby databases. This book helps individuals that operate an SAP environment to devise a strategy for a sound and comprehensive data backup solution using the IBM Tivoli Storage Management product family.
xv
Miroslav Dvorak is an IT Consultant with GC System a.s., an IBM Premier Business Partner in the Czech Republic. He graduated from the University of Economics in Prague with a Master's degree in Information Technology and has 10 years of experience in the IT field. His areas of expertise include data protection technologies, databases, IBM System p and AIX, and HACMP. He holds several certifications, including IBM eServer Certified Systems Expert pSeries HACMP for AIX 5L, IBM Certified Advanced Database Administrator - DB2 UDB V8.1 for LUW, Oracle Certified Associate 10g, and IBM Certified Advanced Deployment Professional - Tivoli Storage Management Solutions 2006. Dhruv Harnal is a Sr. Associate IT Specialist with IBM Software Labs, India.He has 4 years of experience in the IT industry, primarily on Tivoli Storage Manager, Tivoli Data Protection and Veritas Netbackup, IBM System Storage DS6800, SVC and DS8000, Brocade Directors and Switches, IBM TotalStorage Libraries, and Multi-path Drivers. He is also a BCFP, IBM certified IBM System p5 Virtualization expert. Gerson Makino is an IT Architect at Technology Integration & Management (TIM) with IBM Brazil, supporting IBM international customers. He is an IBM Certified IT Specialist, with more than 23 years of IT experience in a wide range of platforms from midrange to IBM mainframes. His areas of expertise include Oracle, DB2, and Microsoft SQL Server databases on UNIX, Linux, and Windows platforms, and Assembler/370, DB2, and CICS for MVS and OS/390 mainframes. He is an IBM DB2 Certified Database Administrator on DB2 UDB V8.1 for Linux, UNIX, Windows, and zOS operating systems, and an Oracle Certified Professional on Oracle 8i, 9i, and 10g databases. Markus Molnar is a Managing Consultant with IBM Australia. He has 6 years of experience in SAP Technology. He is an SAP certified Technology and OS/DB Migration consultant who has been working with different customers and projects running SAP on all kinds of platforms and databases. His areas of expertise include SAP Technology, Oracle, AIX, IXOS archiving server, and CommonStore for SAP. Rennad Murugan is an Advisory IT Specialist with the Integrated Delivery Centre (IDC) based in Johannesburg, South Africa. He provides technical support to multiple customers for Tivoli Storage Manager and its associated client products, Disaster Recovery, TotalStorage Productivity Centre, and broad based Storage Area Network environments (ESS, DS, Brocade, McData, and others). Rennad joined IBM in 2004 and has spent the last 3 years as a storage administrator. He is a certified TSM Deployment professional and holds a degree in Commerce, majoring in Management and Information Systems.
xvi
Marcos Silva is a System Specialist with IBM Brazil. He has 8 years of experience in the IT field. For the last 4 years, he has been working with the Tivoli Storage Manager products portfolio. His areas of expertise include AIX, Windows, Linux, and IBM Tape and Optical devices. He has been working for IBM since 2004. He is an ITIL Certified Professional, IBM Certified Deployment Professional for Tivoli Storage Manager V5.4, and IBM Certified Administration Professional for Tivoli Storage Manager V5.4. He supports international and local companies in the Storage Field for IBM in Brazil. Thanks to the following people for their contributions to this project: Wade Wallace International Technical Support Organization, Austin Center Mark Smith, Michell Spooner, Monty Poppe IBM UNIX Product Testing, Austin, TX Kathy Pang Tivoli Storage Manager Level 2 Support, IBM San Jose, CA
Preface
xvii
Comments welcome
Your comments are important to us! We want our books to be as helpful as possible. Send us your comments about this book or other IBM Redbooks in one of the following ways: Use the online Contact us review Redbooks form found at: ibm.com/redbooks Send your comments in an e-mail to: [email protected] Mail your comments to: IBM Corporation, International Technical Support Organization Dept. HYTD Mail Station P099 2455 South Road Poughkeepsie, NY 12601-5400
xviii
Part 1
Part
Concepts
In this part, we discuss background concepts of SAP and Tivoli Storage Manager. The discussion is divided into the following chapters: Chapter 1, SAP data management on page 3 Chapter 2, SAP overview on page 7 Chapter 3, SAP data protection considerations on page 41 Chapter 4, Introduction to IBM Tivoli Storage Manager on page 89 Chapter 5, IBM DB2 CommonStore for SAP on page 115 Chapter 6, Database backup and recovery tools on page 127 Chapter 7, High availability and disaster recovery concepts on page 183
Chapter 1.
1.1 SAP
SAP is an acronym for Systems Applications and Products. SAP provides a common centralized database for all the applications running in an organization. The application is assembled in such a versatile way that it handles all the functional departments within an organization. SAP solutions are based on SAP NetWeaver. It provides an integrated application platform, and this common technology platform helps reduce the total cost of ownership (TCO) across the entire IT landscape. This also supports the evolution of SAP Business Suite into a services-based architecture. SAP's products focus on Enterprise Resource Planning (ERP), which SAP helped to pioneer. The company's main product is SAP ERP. SAP ERP is an integrated application that fulfills the core business needs of midsize to large organizations across all industries and market sectors. Businesses are depending more and more on SAP. SAP is typically a critical application for those businesses, so it has to be protected. An SAP application must accommodate a business requirements, which means the systems must be available and the data must be reliable. From a data management perspective, all SAP components communicate to a database instance. This database instance can be highly available, but data in the database must be backed up to ensure recoverability.
This book discusses several IBM Tivoli Storage Manager components that can help you perform data management functions in SAP. The software functions that we discuss are: Tivoli Storage Manager Server and Backup Archive Client for backup of the file system objects Tivoli Storage Manager for Database for database backup Tivoli Storage Manager for Enterprise Resource Planning for SAP specific backup requirements Tivoli Storage Manager for Advanced Copy Services for FlashCopy Tivoli Storage Manager for SAN for LAN-free backup (direct to SAN backup)
Chapter 9, DB2 backup using Tivoli Storage Manager on page 211 demonstrates a backup implementation for SAP with a DB2 database. Chapter 10, Oracle backup using Tivoli Storage Manager for ERP on page 265 demonstrates a backup implementation for SAP with an Oracle database. Chapter 11, LAN-free backup and restore on page 289 explains a SAN and LAN-free backup implementation with Tivoli Storage Manager. Chapter 12, FlashCopy backup and restore on page 317 demonstrates the use of FlashCopy with DB2 database and Tivoli Storage Manager.
Chapter 2.
SAP overview
This chapter describes SAP. The discussion is divided into the following sections: 2.1, SAP product history on page 8 2.2, SAP solutions and products on page 11 2.3, SAP NetWeaver overview on page 13 2.4, SAP architecture on page 23 2.5, SAP system topologies on page 28 2.6, Change and Transport System on page 30 2.7, SAP database on page 35 2.8, References on page 39
SAP client
SAP client
SAP client
SAP client
Database server
SAP database
SAP R/3 through Version 4.6C consisted of various applications on top of SAP Basis, which is SAP's set of middleware programs and tools. When SAP R/3 Enterprise was launched in 2002, all applications were built on top of the SAP Web Application Server. Extension sets were used to deliver new features and keep the core as stable as possible. The Web Application Server contained all the capabilities of SAP Basis and enabled the use of Web technologies. At the end of the 1990s, SAP announced the mySAP.com strategy. mySAP.com uses standard Web and Internet technologies, and links e-commerce solutions to existing ERP applications. SAP also develops SAP Workplace, which evolved to become an enterprise portal solution with role-based access to information. SAPs latest integration and application platform is called SAP NetWeaver. SAP NetWeaver enables the integration of information, people, and processes inside and outside a company. With enterprise service-oriented architecture and SAP NetWeaver as foundation, SAP provides solutions to build end-to-end business processes. The first edition of mySAP ERP was launched in 2003 and bundled previously separate products, including SAP R/3 Enterprise, SAP Strategic Enterprise Management (SEM), and extension sets. The SAP Web Application Server was wrapped into NetWeaver, which was also introduced in 2003.
A complete architecture change took place with the introduction of mySAP ERP in 2004. R/3 Enterprise was replaced with the introduction of ERP Central Component (SAP ECC). The SAP Business Warehouse, SAP Strategic Enterprise Management, and Internet Transaction Server were also merged into SAP ECC, allowing users to run them under one instance. Architectural changes were also made to support an enterprise services architecture to transition customers to a service-oriented architecture. Figure 2-2 shows the SAP evolution.
Self service procurement Internet sales Self services Strategic Enterprise Management Supplier relationship management Composite applications SAP ECC
Industry extensions Enterprise extensions
Self service procurement Internet sales Self services Strategic Enterprise Management Composite applications
Industry solutions Extension Sets Application SAP Basis V4.6D SAP R/3 Enterprise SAP Web Application Server 6.20
Service-oriented architecture moves the ERP landscape toward Web services based business activities. This move increases adaptability, flexibility, openness, and efficiency of SAP. The move towards enterprise SOA helps companies reuse software components and not have to rely as much on in-house enterprise resource planning hardware technologies, which helps make ERP adoption more attractive for small- or mid-sized companies. You can learn more about Enterprise SOA at the following address: http://www12.sap.com/platform/soa/index.epx
10
11
Enterprise Resource Planning (ERP) ERP enables enterprises to perform financials, human capital management, procurement and logistics, product development and manufacturing, and sales and service, supported by functionality for analytics, corporate services, and user service delivery. It increases efficiency within your organization and helps extend end-to-end business processes to your customers, partners, and suppliers. Product Lifecycle Management (PLM) PLM helps manufacturers by giving them a single source of all the product-related information necessary to collaborate with Business Partners and to support product lines. Supply Chain Management (SCM) SCM helps companies enhance operational flexibility across global enterprises and provide real-time visibility for customers and suppliers. Supplier Relationship Management (SRM) With SRM, customers can collaborate closely with suppliers and integrate sourcing processes with applications throughout the enterprise to enhance transparency and lower costs. SAP Business Suite applications help manage the most critical business processes. Using them together adds even more value to your organization through seamless integration.
Duet
The Duet software enables seamless access to SAP business processes and data through Microsoft Office. It revolutionizes how information workers interact with enterprise applications. Duet is the result of a collaboration between SAP and Microsoft.
SAP Manufacturing
SAP Manufacturing integrates manufacturing with other enterprise processes. It takes into account the planning, execution, quality, maintenance, and environment, health, and safety aspects of manufacturing.
12
13
SAP NetWeaver is the basis for SAP solutions, as shown in Figure 2-3.
Business solution
SAP business suite
Business application
WebSphere NetWeaver .NET
Computing infrastructure
Figure 2-3 SAP NetWeaver architecture
SAP NetWeaver is built using open standards and industry de facto standards. It can be extended to interoperate with Microsoft .NET, Sun Java Enterprise Edition, and IBM WebSphere products. SAP NetWeaver's allow enterprises to run their business on a single, integrated platform that includes both applications and technology. Industry analysts refer to this type of integrated platform offering as an applistructure (applications + infrastructure). This approach is driven by the industry's need to lower IT costs through an enterprise architecture that is: More flexible, Better integrated with applications Built on open standards to ensure future interoperability and broad integration Provided by a vendor that is financially viable for the long term
14
Information integration
Business intelligence Knowledge management Data management
Process integration
Integration broker Business Process Management
Application platform
J2EE ABAP Database and operating system abstraction
As shown in Figure 2-4, SAP NetWeaver has the following key capabilities: People integration People integration brings together the right functionality and the right information to the right people. On the people level, SAP NetWeaver allows a seamless user experience across different systems, which allows collaboration functions and pervasive access. Information integration Information integration provides both structured and unstructured information that is consistent and accessible. Users have constant access to consistent information, no matter where it is stored. Process integration The Integration Broker provides a technical infrastructure for XML-based message exchange to enable the integration of SAP systems with each other on the one hand, and SAP and non-SAP systems on the other. With the Integration Broker, integration knowledge is shipped in the form of predefined integration scenarios. Furthermore, the Integration Broker provides a set of integrated tools for creating and managing all integration-relevant information. Processes are controlled from the Business Process Management functions.
15
Application platform The application server provides a complete development infrastructure on which you can develop, distribute, and execute platform-independent, robust, and scalable Web services and business applications. The Application Server supports Advanced Business Application Programming (ABAP), Java, and Web services applications. The application platform is the basis of SAP NetWeaver and is implemented by the application server. Solution Lifecycle Management Solution Lifecycle Management (SLCM) provides you with the technology required for the entire life cycle of your solution, from its implementation, through running a live system, to continuous modifications and upgrades. This includes the capabilities to perform data archiving. Composite Application Framework Different services and people with different roles within different departments need to work together to drive business processes. The most effective approach for such solutions is the composite methodology, which allows reuse and composition of different services, user interface components, and business processes into flexible solutions. Composite Application Framework (CAF) leverages all layers of SAP NetWeaver. In addition to the key capabilities described, SAP NetWeaver covers the following aspects: Security In todays world of collaborative business processes and open system environments, security no longer means just adding a firewall and using passwords to log on. It requires a complete approach that applies to both the IT landscape and also to issues that arise beyond your organization. The infrastructure of the SAP NetWeaver technology platform supports comprehensive security features for heterogeneous environments. Databases MaxDB MaxDB is SAPs own relational database system. You can use it in SAP solutions as a less expensive alternative to databases from other vendors. MaxDB is delivered as standard under NetWeaver Full Use License. SAP liveCache Technology SAP liveCache Technology is an object-based enhancement of the MaxDB database system. You can use SAP liveCache Technology either as a normal relational database system, or as a main memory-based special database system. SAP liveCache OneDB combines these two options.
16
SAP liveCache Technology is currently delivered as part of the SAP SCM/APO solution. Its use in other SAP solutions is forthcoming. SAP Knowledge Warehouse The SAP Knowledge Warehouse is the SAP Solution for all the material used in training, documentation, and handbooks. It is an integrated environment for creating, translating, presenting, distributing, and managing information objects.
17
Information integration
Business intelligence Knowledge management Data management
Application platform
Business services ABAP technology Java technology
Process integration
Integration broker Business Process Management
Application platform
J2EE ABAP Database and operating system abstraction
Platform services
This section discusses the following: Platform-wide services on page 18 ABAP technology on page 19 Java technology on page 20 Business services on page 22
Platform-wide services
The platform-wide services provide support for the different databases and operating services that are supported by SAP NetWeaver. It allows the ABAP, Java, and both ABAP and Java application servers to run seamlessly on different database and operating system platforms. The platform-wide services also allows exchange of application information. The exchange can be between different SAP systems or SAP and external systems.
18
ABAP technology
Advanced Business Application Programming (ABAP) is a programming language developed by SAP to develop business applications. One fundamental application area is for processing data in a central database. The SAP Application Server provides a complete development and runtime environment for ABAP-based applications. It is optimized for the development of highly scalable business applications. The ABAP development environment is used for both developing completely new applications and extending and modifying SAP standard applications. The entire infrastructure of the Web application server can be used to support creation of the complex applications by large groups of developers. The ABAP technology can be used to implement complete applications, including the user interfaces. However, it is also possible to implement only the core components, such as the business logic and data persistence in ABAP. The user interface can use a Java-based interface or other application. The user-interface can use the defined interfaces RFC, BAPIs, Web Services, and so on. The ABAP development and runtime environment makes it possible to develop complex business applications without being concerned explicitly about technical details such as process or memory administration, multi-user capability, database connections, or similar issues. These applications are provided in the base services or are integrated directly into the ABAP runtime. The application development is similarly independent of the underlying platform. The application server decouples the application coding completely from the operating system and database that are used. A central feature of the ABAP development is the direct integration of database access. The runtime environment ensures that every ABAP program automatically receives an open connection to the central database in the system, so that an application programmer does not need to worry about opening and closing database connections. ABAP objects contain Open SQL, a platform-independent SQL dialect that is a direct component of the language. It can be used to execute database accesses directly without having to use an API or a class library. Buffer mechanisms on the application server-side ensure that highly-scalable, complex database accesses are possible. In addition to Open SQL, object services are offered that enable persistent objects to be defined, whose persistence is completely taken over by the runtime.
19
The runtime system provides its own lock mechanism for synchronizing accesses to data in the database. This prevents two parallel transactions from being able to change the same data in the database. Mapping business processes to transactions ensures the integrity of the data.
Java technology
The Java Application Server is a fully compliant Java 2 Enterprise Edition (J2EE) 1.3 application server. The J2EE standard has been defined by the Java Community according to the rules of the Java Community Process. SAP has been a member of the Executive Committee of the Java Community since November 2002. The Java application server architecture avoids single points of failure in the cluster environment by load balancing client requests between server processes. Requests are parsed by the Java dispatcher and forwarded for processing to individual server processes. The server processes provides a failover system to preserve the state of the user session. If a server process becomes unavailable, the state of the user session is recovered transparently on another available server process. Some features and tools of the Java application server are: Java application server implements the Java Authentication and Authorization Service (JAAS) API, enabling efficient user and authentication management. Pluggable login modules based on the JAAS support various authentication methods, including basic authentication, log-on tickets, X509 certificates, Security Assertion Markup Language (SAML), and Web Services Security (WSSec). This enables integration in single sign-on (SSO) environments. The application server allows for filtered communication over firewalls and packet filtering devices. The transport layer security on the Java application server is implemented with support for Generic Security Services API, the Java Cryptography Extension, and Secure Network Communications (SNC) for SAP-specific communication. Web services are Web-based interfaces that can be integrated into a companys business scenarios. Using Web services enables you to combine functions implemented on different software components into a single process. Web services are self-contained, modularized, and executable entities that can be published, searched for, and accessed across a network. The Java Web Service infrastructure allows developers to integrate Web services, irrespective of where they reside or how they are implemented. Therefore, business processes spanning different systems, both intra-company and cross-company, can be implemented.
20
The Open SQL for Java framework provides a database abstraction level for truly portable database-independent applications. Open SQL for Java enhances performance by providing statement pooling and table buffers, caches open database connections in a server-side database connection pool transparently to applications, and facilitates maintenance by monitoring and tracing facilities. The Web AS Java also provides the Java Dictionary as a central repository for database objects. The Java Dictionary is fully integrated in the NetWeaver Developer Studio and enables portable definition, creation and modification of database objects, manages database objects life cycle, and performs statement checks against Open SQL grammar and table definitions. The SAP NetWeaver Administrator provides a central entry point to the whole SAP NetWeaver system landscape. The SAP NetWeaver Administrator enables starting and stopping of systems, services, and applications, as well as technical configuration, user management, system monitoring, log viewing, and application and performance tracing. The SAP NetWeaver Developer Studio provides a complete set of development tools covering all aspects of Java development to develop, build, deploy, and execute applications centrally. The SAP NetWeaver Developer Studio also provides access to the NetWeaver Development Infrastructure (NWDI). The NWDI enables distributed and team-oriented development through central source code storage and versioning, component-based build process, development landscapes, and transports management. Web Dynpro provides a client-independent programming model for developing professional user interfaces.Web Dynpro tools support application development during the implementation and design phases. Web Dynpro applications are developed with a declarative programming approach to produce a platform-independent metamodel. The necessary source code is then generated automatically and executed at runtime. You can access the source code of your application from the development environment and thus define events for your Web Dynpro application. The generated source code contains separate, specially marked areas for this purpose.
21
Business services
Table 2-1 gives an overview of some of the business services integrated into SAP NetWeaver.
Table 2-1 SAP NetWeaver business services overview Business service Smart forms Description Smart Forms are used to create and edit forms for mass printing in SAP systems. As well as standard output to a printer, Smart Forms are also compatible with e-mail, fax, and the Internet (using generated HTML output). SAPscript was the original tool for printing forms and creating texts in the SAP system. The form-related functions in SAPscript were replaced by Smart Forms in SAP Basis Release 4.6C. ArchiveLink is a system that links archived documents and related application documents that have been created in the SAP system. Content Server is an SAP NetWeaver content storage system for document-driven applications and business processes. SAP Business Workflow is a workflow management system that automates and visualizes the business processes of SAP applications. For many business or HR processes, you need to map the structure of your organization or enterprise according to tasks or functions. You can use Organizational Management to map organizational and reporting structures, and keep a record of any changes. Records Management also offers functions that are beyond conventional records management systems. You have direct and secure access to archived documents. You can save Office documents and notes directly to a record. In addition to documents, you can include other electronic elements such as business objects, transactions, reports, and workflows into record management from the local SAP system, other SAP systems, or non-SAP systems. These options enable the record to show all information objects for a business process, independently of the media involved.
SAPscript
Records management
For more information about available Business Services, visit the following address: http://help.sap.com/saphelp_nw04/helpdata/en/2c/ed8e3f55b20617e10000000 a114084/frameset.htm
22
23
Web browser requests Gateway Dispatcher Software Deployment Manager Message Server Enqueue Server
ABAP VM Java VM
ABAP VM Java VM
ABAP VM Java VM
Java VM
Java VM
Central Services
SAP database
There are several installation options for the SAP NetWeaver application server: ABAP System with integrated VM Container. With this installation, you can run ABAP programs and selected SAP Java applications. Java system. With this installation, you can run J2EE applications but not any ABAP programs. ABAP and Java system.
24
The components are: Dispatcher The dispatcher is the central process on an application server. It distributes the requests to the work processes. If all the processes are occupied, the requests are stored in the dispatcher queue. In addition to other tasks, the SAP dispatcher is responsible for the following principle tasks: Initialization, reading profile parameters, starting work processes, and logging on to the message server Evenly distributing the transaction load across work processes Connecting to the GUI layer Organizing communication processes Message server The message server exchanges messages and balances the load in the SAP system. Only one message server can run on each Java application server or ABAP application server usage type. The message server handles the communication between the dialog instances and also supplies information to the SAP Web dispatcher about load balancing. Enqueue server The enqueue server contains a lock table that handles logical database locks plus infrastructure locks set by the Java server process. The enqueue server also synchronizes data in a Java cluster. In usage type AS ABAP, the enqueue server handles only locks on data objects. Work processes An SAP application server has to process SAP requests from multiple front ends. The application server has the use of a dispatcher, which gathers the requests and transfers them for processing to the work processes. The work processes then execute the desired requests (for example, an ABAP program). Here are the following types of work processes: Dialog Update Background Enqueue Spool Executes dialog programs (ABAP). Asynchronous database changes (is controlled by a COMMIT WORK statement in a dialog work process). Executes time-dependent or event-controlled background jobs. Executes locking operations (if SAP transactions have to synchronize themselves). Print formatting (to printer, file or database).
25
Several dialog work processes usually run on one application server. There are usually only one or two other types of work processes. A work process consists of a screen processor, the ABAP interpreter, the database interface, and the task handler that calls these programs. Internet Communication Manager (ICM) The ICM sets up the connection to the Internet. It can process both server and client Web requests.It supports the protocols HTTP, HTTPS, and SMTP. The SAP Web AS may be a Web server or a client. Internet Graphics Service (IGS) The Internet Graphics Service (IGS) constitutes the infrastructure to enable the application developers to display graphics in an Internet browser with a minimum of effort. SAP Gateway The SAP Gateway provides a remote function call interface between the SAP instances, within an SAP System, and beyond system boundaries. Software Deployment Manager The Software Deployment Manager (SDM) is a tool with which you can manage and deploy software packages, in the form of Software Deployment Archives (SDA) and Software Component Archives (SCA), that you receive from SAP.
26
When the central services are located on a separate instance, the configuration of the central instance is the same as the configuration of the dialog instance. If the central services are not installed as a separate instance, the message server and enqueue server are part of the central instance.
Usage type Java application server Java dispatcher Server processes Internet Graphics Service (IGS)
27
When you add a dialog instance, it belongs to the software cluster. The central instance initiates an update of the dialog instance so the dialog instance has access to the deployed applications on that cluster (this also includes usage types such as EP or PI). A cluster always needs a load balancing solution, for example, SAP Web dispatcher.
28
SCS instance
This configuration can be enhanced by assigning additional machines. For an example, you can separate the database instance. Separating the database instance to a separate host avoids resource contention for database processing. Apart from the improved performance, locating the database instance on another physical machine may allow you to implement high availability solutions. The database is a critical component and it is therefore very important to ensure high availability for it. Nevertheless, hosting the database instance on a separate machine adds to the complexity because you need to configure, maintain, and back up another entity. Further separation can be performed and additional instances can be installed on different machines. Figure 2-8 shows a distributed topology.
ASCS instance SCS instance ABAP + Java dialog instance ABAP + Java dialog instance Java ABAP ABAP + Java dialog instance instance instance ABAP dialog Java ABAP + Java instance instance instance ABAP ABAP + Java dialog Java instance instance instance Java ABAP
instance instance ABAP Java instance instance
29
In a cluster environment, there is the notion of vertical and horizontal scaling. The concepts are: Vertical scaling is a technique for a cluster arrangement that includes many dialog instances created on one physical machine. The single machine needs enough resources to handle this configuration. We recommend that you monitor performance and memory before adding a new dialog instance. You can set up vertical scaling whenever required, as it does not need any special installation steps. Figure 2-9 shows vertical scaling topology.
Horizontal scaling is another clustering technique that separates the dialog instances across multiple physical machines. This configuration provides failover support and so ensures high availability of the application server processes. The disadvantages of this strategy are the increased installation and maintenance effort and also the cost of additional machines. Figure 2-10 shows SAP horizontal scaling topology.
30
31
Examples of other client roles are: Development test client (TEST) Prototype or sandbox client (SAND) Training client (TRNG)
32
DEV
CUST TEST SAND
SAP DB
QAS
QTST TRNG
SAP DB
PRD
PROD
SAP DB
Make all changes to Customizing data and Repository objects in the CUST client. When you release the corresponding change requests, they are transported into the QTST client. This means that changes to cross-client data only appear in the quality assurance client after the transport. In the quality assurance client, you can test whether the transports are complete, or whether any linked changes are missing and are still in unreleased change requests. If the test is successful, the change requests are transported into the PROD client. The PROD client is completely separate from the other clients as regards to cross-client data. If you need other clients with additional roles, you can set them up in one of the three systems. Set up the development test client (TEST) and the prototype client (SAND) in the development system. Set up the training client (TRNG) in the quality assurance system.
33
Two-system landscape
A two-system landscape is an alternative for smaller SAP implementations where little Workbench development takes place. The two-system landscape does not include a separate quality assurance system (QAS0. The quality assurance client is also in the development system (DEV). Figure 2-12 shows a two-system landscape.
DEV
CUST TEST QTST TRNG
SAP DB
PRD
PROD
SAP DB
One-system landscape
We do not recommend a one-system landscape containing all central clients in a single SAP system. Joint usage of hardware resources and cross-client data places serious restrictions on how a single system operates. In particular, once the system is used in production, you can no longer develop in it, unless you stop production operations for the development and test phases.
34
SAP provides various tools for modifying the SAP software. Which tools you use depends on the type and extent of your business requirements. Any modifications that you make with these tools are stored in certain tables in the SAP database.
35
SAP recommends that you use CCMS for database administration where possible. The advantage of using CCMS is that you have a central point for managing your database. You also get the full advantage of the SAP NetWeaver graphical user interface (GUI), for example, when displaying space usage in your database. The CCMS is a standard part of SAP NetWeaver. You can therefore use it for your database administration activities. The most important DBA functions in CCMS are as follows: DBA planning calendar Statistics updates using the cost-based optimizer Database system checks Database monitor Database alert monitor The functions and appearances differ slightly for different database platforms. You must perform certain DBA functions outside SAP NetWeaver with the tool provided by the database vendor or developed by SAP for each database (for example, for offline backups of the database). An example of a DBA tool outside SAP NetWeaver is BR*TOOLS, available for Oracle databases.
36
ABAP processor
RDBMS
The ABAP language offers the following options to communicate with the database: OpenSQL for ABAP, SAPs database-independent SQL dialect that is used by most standard SAP applications Native SQL, which is database-dependent The ABAP processor uses a database interface to connect to the database. The database interface provides a database platform abstraction layer and translates all Open SQL statements from the ABAP processor into native database-specific SQL statements. The database interface also performs the database platform-specific type mapping between ABAP data types and database data types. Each database platform provides a platform specific database shared library (DBSL) interface. The DBSL is part of the SAP kernel and developed in C. The DBSL shared library for DB2 on Linux, UNIX, and Windows (dbdb6slib.*) uses the DB2 Call Level Interface (CLI) to communicate with the DB2. This means that the DBSL shared library dynamically loads the DB2 client libraries.
37
Open SQL
Native SQL OpenSQL JDBC OpenSQL SQLJ EJB CMP Java Data Object (JDO)
Vendor JDBC
Open SQL processor SQL processor Database access layer Table buffer Statement cache SQL trace
RDBMS
Figure 2-14 Java application server database access
Java programs that run inside the SAP application server Java can use various standardized APIs to access the database, for example, JDO, SQLJ, or JPA. The database interface offers Java applications the following options to communicate with the database: OpenSQL for Java, SAPs database-independent SQL dialect Native SQL, which is database-specific The SAP application server for Java uses various services that assist in the communication with the DBMS (for example, the dbpool service for database connection pooling, which is not shown in Figure 2-14). All communication with the DBMS is done using the IBM DB2 Driver for JDBC and SQLJ, which is a pure Java Type 4 JDBC driver that is based on distributed relational database architecture (DRDA) and uses TCP/IP as the network protocol.
38
ABAP Dictionary or the Java Dictionary, or both, in case of an ABAP+Java SAP system. Figure 2-15 shows the relation between SAP application objects and database objects.
SAP system
Application Data dictionary SAP kernel Dictionary entries (objects) Tools
Database system
Database metadata Database schema Views Tables Indexes Tablespaces
Disk storage
Container on file Disksystem or raw storage Containerdevice on file
Disksystem or raw storage Containerdevice on file Disksystem or raw storage Containerdevice on file
system or raw device
Each SAP system corresponds to one database instance. Database schemas are used to group the database objects of the AS Java and AS ABAP. The relation between the database of the SAP system and the database schema is as follows: SAP ABAP-only system: One database with one schema named by default sap<sapsid> SAP Java-only system: One database with one schema named by default sap<sapsid>db SAP ABAP+Java system: One database with two schemas, that is, sap<sapsid> for the ABAP objects and sap<sapsid>db for the Java objects
2.8 References
For more information about the topics in this chapter, you can go to the SAP help page found at the following address: http://help.sap.com/saphelp_erp60_sp/helpdata/en/6a/44b2420e71c511e1000 0000a1550b0/frameset.htm
39
40
Chapter 3.
41
42
The business impact analysis analyzes the business functions within the company and the impact of specific failures on the continuity of the business processes. Business impact analysis tracks the critical business processes and also identifies the computer systems, applications, and data that are required to support these processes. The outcome of business impact analysis quantifies the potential impact of a failure or disaster on the computer systems in business terms (such as the estimated duration of the business function unavailability due to a certain failure) and also in monetary terms (such as the cost per hour of the unavailability of the business process, and the cost of data recreation in case of storage device failure). Business impact analysis should also specify the intangible impacts of business processes unavailability, such as a loss of market position or loss of customers. The analysis of the risk and business impact of an applications downtime provides the basis to determine the important data classes within the company and the minimal level of service level for protection, availability, and confidentiality that the data classes requires. In case of data protection and data availability, the service levels can be expressed by metrics recovery time objective (RTO) and recovery point objective (RPO). These measurements are discussed in 3.1.1, Measuring data availability and protection service levels on page 44. The higher level of data protection that you want to achieve, the higher the cost of the data protection technology will be. Thus, selecting an appropriate data protection strategy involves balancing the cost of the solution against the business impact of an unplanned application downtime. Generally, the cost of the data protection (data availability) should not exceed the loss sustained in the event of business process disruption caused by the loss of the data. As the business value of the applications varies, certain types of data require higher network throughput and better security and protection than other data types. The BIA helps distinguish the data classes within the company according to their business importance. It should also define the required level of protection against potential threats. Each group of data should be assigned an appropriate service level from the supporting infrastructure according to their business importance. By applying data classification during the analysis phase of the data protection project, you can achieve effective and efficient usage of storage technologies, as it reduces the number of situations where the less critical data is stored on a very expensive data storage that is dedicated to mission critical data.
43
44
While designing the data protection solution, RTO and RPO are not the only parameters you need to consider. To select an appropriate backup or high availability technology and to be able to provide the appropriate solution sizing, you have also take into account the other supportive criteria, such as: The data size: The size of the data to be protected is one of the most critical pieces of information required for the solution design. The combination of the RTO, RPO, and the data size helps you to determine if a given technology is sufficient enough to recover the given volume of data in the given time. In terms of backup technologies, if you know RTO and the size of backup data, you will be able to specify the minimal throughput for the data transfers during the restore operations. Data type: To design the appropriate data protection strategy, it is necessary to know the types of data that are going to be protected. Typically, the operation system binary files are backed by different techniques than the database data files. Future data growth: The estimate of the future growth of the data size allows the architect to choose the technology (that is, storage, networks or HA solutions) that will provide an appropriate scalability to support future data protection needs. Backup retention requirements: This required data retention, together with the RPO, RTO, and data size, is used to calculate the capacity required for the backup storage. Data retention is expressed usually by the number of backup versions or by the number of days the versions have to be retained. Recovery Object Granularity (ROG): Specifies the level of objects that the solution is able to backup/recover (that is, volume, file system, database, tablespace, and so on). Data Protection Window (DPW): The maximum available time during which a system can be suspended and the data can be copied to the backup media. Certain data protection techniques are more disruptive to the application than others. For example, the database is inaccessible to applications for the whole duration of an offline backup. Therefore, this type of backup is not suitable for the applications with low DPW values. On the other hand, online backup or FlashCopy techniques are suitable for this type of applications. Recovery Time Granularity (RTG): Specifies the frequency of the points of recovery. In other words, RTG stands for the frequency of backup events. Note: The metrics described above can are used to express the service level required by the applications from data protection solutions. The RPO, RTO, and annual uptime metrics are frequently used in Service Level Agreements as benchmarks for the outsourced IT services.
45
Let us look at a sample situation. A customer requires a backup solution design. The technology must protect the DB2 database against media failures and user failures. The protection against disaster events is not required. The customer requires the parameters described in Table 3-1.
Table 3-1 Recovery parameter requirement Parameter Recovery Time Objective (RTO) Recovery Point Objective (RPO) Data size Backup retention Data type Recovery Object Granularity (ROG) Recovery Time Granularity (RTG) Data Protection Window (DPW) Required value 6 hours 2 hours 500 GB 30 days Database DB2 Database Any point in time within the last 30 days 0
Analyzing the data in Table 3-1, we find that: A backup/restore technology can protect the customers data against media failure and user errors. As the required speed of recovery (RTO) is not extremely low, we do not have to consider a high availability solution in addition to backup. In case of failure, 500 GB volume of data has to be restored within 6 hours (RTO). This means that we have to use a technology that has a restore throughput at least 50 MBps (storage, networks, and processor). We also have to take into the account that after the full backup image is restored, some redo logs must be restored and applied. To minimize the recovery time, we have to reduce the time taken by the roll-forward operation (applying the redo logs after the full backup restore). Therefore, we suggest scheduling a daily full backup. Thus, in the worst case, we must restore and apply only the redo log files generated within the last 24 hours. The backup operation must not disrupt the application (DPW=0), therefore the DB2 daily full backup will be taken online. The maximum data loss set by the RPO parameter is 2 hours. It means that the company can afford to lose 2 hours or less of work performed before the failure occurred. Therefore, the solution must guarantee that the last redo log backup was performed in less than two hours before the failure. We consider using the DB2 log manager to back up offline log files directly to Tivoli
46
Storage Manager server. The log manager backs up the log right after it becomes offline. Therefore, this solution guarantees that the RPO requirement will be met. If we consider the full backup to be taken every day and that the required data retention is 30 days, the required capacity of the backup storage will be 500 GB x 30 = roughly 15 TB. We also have to consider that we will have to store all the offline redo logs generated within the last month (because of the point in time restore requirements). It can be as much as 3 to 5 GB depending on the number of transaction performed on the database. Thus, the total required space on the backup media can be as much as 20 TB. We plan to use LTO4 tapes as our backup media (1600 GB maximum capacity with compression enabled with 160 MBps of throughput and no compression). The tapes should be replicated so that the backup data is protected against the backup media failures. Therefore, the total required capacity on backup tapes is doubled (20 TB x 2 = 40 TB). We can also estimate that the storage capacity required for the DB2 backup would be around 25 LTO4 tapes (40 TB divided by 1.6 TB LTO4). If necessary, the required backup storage capacity could be reduced by employing full, incremental, or differential DB2 backups.
47
Additional types of errors require the administrators intervention and restore or recovery of the data from backup: User errors on page 48 Media errors on page 48 Disaster events on page 49
User errors
A user error includes the errors caused by human or a malfunctioning application. Typically, a user or application makes undesired changes to the data, such as deleting the contents of the database table or unwanted editing of a file. Such errors can be corrected if the deleted table or file has been backed up prior to deletion or the undesired change. This backup can be used to restore the condition of the object at the time of the error. Note: Oracle Database since Version 10g supports the FlashBack database function. This function can return the state of the entire database to a point in time in the past. Traditionally, this could be achieved only by restore and recovery. Recovery from user errors is restricted to a point prior to the user error and all database changes made subsequent to the error are lost. None of the mechanisms designed to protect data and provide availability, as described in this book, will provide recovery to a point after the user error. Therefore, it is of paramount importance to train users and implement proper user security procedures in order to prevent user errors. The data replication solutions that do not support versioning or asynchronous replication cannot protect the application data against user errors because the user error is replicated to other replicas of data as well. In general, the database specific export/import tools cannot be used to recover a lost SAP object. The reason for this is that the SAP database tables are often shared system-wide, and an import of such a table would risk overwriting the work of other users.
Media errors
A media error occurs when an external problem prevents the application from reading from or writing to data files. A typical example is a hard drive or network error. Media failures fall into two general categories: permanent and temporary. Permanent media failures are serious hardware problems that cause the permanent loss of data on the disk. Lost data cannot be recovered except by repairing or replacing the failed storage device and restoring backups of the files stored on the damaged storage device.
48
Temporary media errors are hardware problems that make data temporarily inaccessible; they do not corrupt the data. For example, a disk controller failure necessitates replacement of the disk controller, after which the data on the disk can be accessed. Another example of a temporary failure is a power failure on the SAN switch. When power is returned, the storage device and all associated data is accessible again. In general, the impact of media failure may be reduced by storage media duplication, such as LVM mirroring or a RAID setup. Also, the high availability (HA) solutions are suitable for recovery from media failures, such as HACMP or Oracle DataGuard. The HA solutions support a complete, redundant environment, including servers, networks, and storage. The HA enables the application to be moved automatically from a failing node to an intact node. If the HA is implemented, the disruption caused by a media failure can be reduced to seconds.
Disaster events
A disaster is any kind of natural disaster situation that can destroy or substantially damage the entire primary data center. The typical examples are floods or fires. A disaster can be considered a special type of permanent media failure that affects the whole data center, including the local storage systems, network connectivity, and even the local backup media. Only the backup or data replication to an offsite location can help reduce the impact of this threat. The distance between the primary data center and the offsite location has to be carefully considered with respect to all the potential threats. Depending on the required RPO and RTO values for disaster recovery, you can replicate data to an offsite location by: Periodically moving the backup replicas to the offsite locality (offsite vaulting). Transfer the backup data directly to the remote backup system through the network. Implement a high availability solution with a remote mirror, such as HACMP-XD with Metro Mirror or database log shipping.
49
For example, you have to consider a bare machine recovery of the operating system will be required. Also, you have to consider if you need an operating system backup tool that supports restore of the operating system to a different platform (for example, the restore of a system backup of Windows 2003 from an HP machine to an IBM machine). A backup of the operating system can usually be taken online. If you plan for the protection of an SAP application server, you have to consider the type and the frequency of the backup of the file systems. The backup of the binaries of the SAP application server can be taken by a file system backup using the Tivoli Storage Manager Backup Archive Client or similar application. You should also consider the level of the file system backup (image backup or file level backup). The SAP system uses the relational database as a main storage for all SAP data and meta information. This main storage is the basis for the tight integration of all SAP application modules and guarantees consistent data storage. Data in the SAP database is unique for every company and if the data is lost, it cannot be just reinstalled in the same way as the operating system. Therefore, it is important to take special care when planning the protection of the data stored in the SAP database.
Database Application
Control files Data files Log files Database backup restore tools DB2, MaxDB Oracle TSM for ERP DB2 MaxDB ADINT/ TSM Tivoli Storage Manager Backup Archive Client Windows Linux Christie BMR AIX all Control files Executables User data
Operating system
System state Partition information Base operating system rootvg User data
SysBack
TSM server
storage
50
We discuss each type of protection in the following sections: 3.2.1, Protection of the operating system on page 51 3.2.2, Protection of SAP file systems data on page 51 3.2.3, Protection of the SAP database on page 53
51
SAP file systems can be considered to be: Permanent files You can find these files on UNIX systems in the subdirectories /usr/sap/<SAPSID>/SYS and the database installation and database home directories. They include executable programs and profiles of the SAP system and of the database system. We recommend you back up the SAP directories after any SAP system upgrade and the database directories after a database software update. Temporary files You can find these files, on UNIX systems, in the subdirectory /usr/sap/<SAPSID>/<INSTANCE>. The loss of these files is not critical, and does not cause data inconsistency. SAP provides tools that can reset the references to these files in the database, when required. All the file systems that need to be backed up to protect SAP application server are specified in Table 3-2.
Table 3-2 SAP application server file systems File system /sapmnt/<SID> /usr/sap/<SID> /usr/sap/trans /usr/sap/<SID>/<insta nce_number> /usr/sap/<SID>/SYS/pr ofile /usr/sap/<SID>/exe Description Software and data for one SAP system. Instance-specific data with symbolic links to the data for one system. Global transport directory for all SAP systems. Instance-specific data of the Diagnostics Agent. Contains the profiles of the Diagnostics Agent instance. Contains global scripts for the Diagnostics Agent. Backup tool File System Backup (Tivoli Storage Manager backup archive client) File System Backup (Tivoli Storage Manager backup archive client) File System Backup (Tivoli Storage Manager backup archive client) File System Backup (Tivoli Storage Manager backup archive client) File System Backup (Tivoli Storage Manager backup archive client) File System Backup (Tivoli Storage Manager backup archive client)
The file systems shown in Table 3-2 are not database related. They are backed up as a part of the file system level backup. In case Tivoli Storage Manager Backup Archive Client is used for the file systems backup, those file systems should be included in daily incremental file systems backup. A weekly image backup of the file systems on the production servers should be considered to enhance the speed of the restore operation.
52
In the case of a bare machine recovery or disaster recovery, these file systems have to be restored from backup as soon as the recovery of the operating system is accomplished. After recovering the SAP file systems, you can start restoring the database. Note: The database should be backed up by the database specific backup/restore tool provided by the relational database system. It is necessary to exclude the database data and index files from daily incremental backup.
53
In relational database system, apart from regularly backing up the database, you also need to archive the redo log files. Redo log files contains notes on what data is changed in the database. You use the redo log files to re-apply the data changes after the backup is taken. The concept of database forward recovery with backup and redo logs is shown in Figure 3-2.
Operational
Operational
Full backup
Full backup
Redo log
Redo log
We recommend you keep at least two copies of the offline redo log files on a secure storage medium. For maximum security, store the copies in different locations.
Table
Index
54
Relational databases are similar in design. Tables and indexes from a database are stored in a logical entity called tablespaces. The tablespaces are defined as a group of physical storage (implemented as data files) that shares common properties, such as auto extend, path, and so on. A tablespace is used to group related logical structures together. For example, tablespaces commonly group all of an application's tables to simplify some administrative operations. A tablespace can be online (accessible) or offline (not accessible). A tablespace is normally online so that users can access the information within the tablespace. However, sometimes a tablespace may be taken offline to make a portion of the database unavailable while allowing normal access to the remainder of the database. This makes many administrative tasks easier to perform. The data files that provide physical storage for the database is stored in a file system. Most UNIX environment file system storage is arranged based on logical volumes. A logical volume can span more than one physical volume. A physical volume can either be a physical hard disk or a set of physical hard disks that are viewed as one. The combined size of a tablespace's data files is the total storage capacity of the tablespace. The combined storage capacity of a database's tablespaces is the total storage capacity of the database.
55
Redo log files: Every database has a set of two or more log files. The primary function of the log files is to record all changes made to the data. This is done by write ahead logging, which means that all modifications of data are recorded to log files prior to applying. If a failure prevents the database from writing the modified data permanently to the data files, the changes can be obtained from the log and applied again. If the changes were not committed before the crash, the database is able to roll back using the logs. Log files are critical in protecting a database against failures. To protect against a failure involving the log itself, some databases, such as Oracle, allow a multiplexed redo log so that two or more copies of the redo log can be maintained on different disks. For other databases, the disk containing log files must be mirrored to protect against failure. Log files can be broadly classified as active or archived log files. An active log file is used by the database to log transaction changes. Active logs are used by crash recovery to prevent a failure (system power or application error) from leaving a database in an inconsistent state. An archived log file is generally used for recovery to a specific point in time. Some databases like DB2 UDB further differentiate archived log files as online or offline depending on whether the archived log files are saved and moved from their default location. The information in a log file is used only to recover the database from an instance failure or media failure that prevents database data from being written to a database's data files. For example, if an unexpected power outage abruptly terminates database operation, data in memory cannot be written to the data files and the data is lost. However, any lost data can be recovered when the database is opened after power is restored. By applying the information in the most recent log files to the database's data files, the database is restored to the time at which the power failure occurred. Log files are also used to recover from user errors, for example, accidentally deleting a table from the database. Control files: Most databases use a control file. A control file contains entries that specify the physical state of the database. For example, it contains the following types of information: Database name Names and locations of a database's data files and log files Time stamp of database creation Like the log files, the database allows for copies of the control file for protection. Every time an instance of a database is started, its control file is used to identify the database and log files that must be opened for database operation to proceed. If the physical makeup of the database is altered (for example, a new data file or log file is created), the database's control file is automatically modified by the database to reflect the change. A database's control file is also used if database recovery is necessary.
56
Instance configuration files: Instance configuration files specify the information required to start the database instance. Instance configuration files may contain the following information: The database memory structure sizing The network communication of database The location of control files Most of the database backup/restore tools can back up the instance configuration files together with the control files. Table 3-3 provides the information about the directory structure of SAP databases and the type of backup that can be used when implementing Tivoli Storage Manager backup. Some of the directories can automatically backed up by the Database backup tools and some directories need to be backed up by a file system backup tool, such as Tivoli Storage Manager Backup Archive Client.
Table 3-3 SAP databases file system backup File system/Logical volume DB2 file systems /db2/db2<sid> Home directory of user db2<dbsid>. Contains the DB2 instance data for <DBSID>. Contains DB2 diagnostic log files, DB2 dump files, and further service engineer information. Contains at least the online database log files. SAP data. File System Backup (Tivoli Storage Manager backup archive client) File System Backup (Tivoli Storage Manager backup archive client) Database Backup (DB2 Backup), exclude from FS backup Database Backup (DB2 Backup), exclude from FS backup Description Backup tool
/db2/<SID>/db2dump
Oracle base directory File system for Oracle client software. Installation and upgrade directory for database software (staging area). Home directory of user ora<dbsid>.
File System Backup (Tivoli Storage Manager backup archive client) File System Backup (Tivoli Storage Manager backup archive client) File System Backup (Tivoli Storage Manager backup archive client) File System Backup (Tivoli Storage Manager backup archive client)
57
File system/Logical volume /oracle/<SID>/102_64 /oracle/<SID>/origlogA /oracle/<SID>/origlogB /oracle/<SID>/mirrlogA /oracle/<SID>/mirrlogB /oracle/<SID>/oraarch /oracle/<SID>/saparch /oracle/<SID>/sapreorg /oracle/<SID>/sapdata<n> MaxDB file systems /sapdb/<SID>/sapdata /sapdb/<SID>/sapdblog /sapdb/<SID>/sapdb
Description Home directory for Oracle instance <DBSID> (<ORACLE_HOME>). Original set A of redo logs. Original set B of redo logs. Mirrored set A of redo logs. Mirrored set B of redo logs. New standard backup file system for Oracle offline redo logs. BR*Backup log files. Working directory for database administration. SAP data.
Backup tool File System Backup (Tivoli Storage Manager backup archive client) Database Backup (BR*Tools), exclude from FS backup Database Backup (BR*Tools), exclude from FS backup Database Backup (BR*Tools), exclude from FS backup Database Backup (BR*Tools), exclude from FS backup Database Backup (BR*Tools), exclude from FS backup File System Backup (Tivoli Storage Manager backup archive client) File System Backup (Tivoli Storage Manager backup archive client) Database Backup (BR*Tools), exclude from FS backup
Database Backup (MaxDB), exclude from FS backup Database Backup (MaxDB), exclude from FS backup File System Backup (Tivoli Storage Manager backup archive client)
Note: BR*Tools logs are stored in the directory /oracle/<SID>/saparch. BRBACKUP automatically backs up the logs and profiles after every backup operation. In the case of bare metal restore or disaster recovery, logs and profiles must be restored to enable BR*Tools to restore data files. The process may be simplified if the logs and profiles are backed up by Tivoli Storage Manager backup archive client during the file system backup.
58
Include options
The include options can be one of the following: Objects within a broad group of excluded objects that you want to include for backup, archive, image, and space management services Objects to which you want to assign a specific management class Default management class for all objects that are not explicitly assigned to a management class Files that are included for backup or archive processing with encryption Files that are included for backup or archive processing with compression
59
If you do not assign a specific management class to objects, Tivoli Storage Manager uses the default management class in the active policy set of your policy domain. Use the query mgmtclass command to display information about the management classes available in your active policy set.
Exclude options
The exclude options exclude objects from backup, image, or archive services. For example, you might want to exclude all temporary files, any local caches of network files, all files that contain compiled object code that you can easily reproduce using other methods, or your operating system files. You can exclude specific files from encryption processing during a backup. When you exclude a file that was previously included, existing backup versions become inactive during the next incremental backup. The server can define exclude options with the inclexcl option. Exclude any system files or images that could corrupt the operating system when recovered. You should also exclude Tivoli Storage Manager client directory containing the client files.
exclude /unix/ exclude.dir /unix/ exclude /.../core For an SAP environment, you want to exclude database data files and archive logs. These data files and archive logs can be backed up with a separate utility. A sample exclude list for Oracle is shown in Example 3-2 on page 61.
60
A sample exclude list for DB2 is shown in Example 3-3. It assumes qas is the instance owner.
Example 3-3 Exclude list for DB2
exclude /qas/.../*
61
The database must stay inactive until the backup finishes. This guarantees that there are no data changes on the database at the time the backup is being taken. A consistent backup is always a backup of the entire database; it cannot be a partial or incremental backup. Note: Before you shut down or deactivate the database to take an offline backup, you have to stop the SAP application servers, including the central and dialog instances. An SAP instance can be started as soon as the backup is finished. The backup script should include the stop and start instructions as follows: ... su - <SID>adm -c "stopsap R3" <database deactivation/shut down and backup commands> su - <sapsid>adm -c startsap ... You can take an offline backup by either using a dedicated database backup tool, such as Oracle Recovery Manager, BR*Tools, the DB2 BACKUP command, or by a non-database backup tool, such as Tivoli Storage Manager backup archive client. The dedicated database backup tools guarantee that all the objects required for the successful database restore are included in the backup image. The database backup tool also guarantees that the location, time stamp, type, and other information about the backup copy is registered in the repository, such as BR*Tools logs or a DB2 database history file. Using the meta data in the repository, backup tools can perform an automatic restore based on the specified time stamp without prompting for the backup images to restore and their location. Note: A non-database backup tool can take an offline backup of a database, such as NT Backup or Tivoli Storage Manager Backup/Archive Client. You must be aware of the following items: You must ensure that all the files required for the successful restore are included in the backup image. It is your responsibility to include anything that is required to restore the database to a consistent state. These tools do not check whether anyone starts the database during the backup. The information about the backup image is not registered in the database tools repository, so there is no way to make an automatic restore. The administrator has to select the sources and versions of all the backup copies that need to be restored.
62
Inconsistent backup, or also called online backup or hot backup, is a backup that is taken while the database is active. The backup can be for the whole database or part of it. Changes can be performed during the backup operation. Therefore, the redo log files contain changes that have not been written to the data files. Such a backup image is not in a consistent state when it is restored, so information from redo logs must be applied to the database to achieve a consistent state (forward recovery). Note: Some database backup tools provide an option that specifies that the log files required to restore and recover a database from an online backup are included in the backup: Oracle RMAN: backup database plus archivelog DB2: backup database <sid> including logs BR*Tools: BRBACKUP -backup_type=online_cons All the log files generated during an online backup are required for restoration and recovery of the database to a consistent state. Most of the database cannot run online backup if the database does not operate in archivelog mode. Archivelog mode means that redo logs are archived instead of being overwritten. The redo logs are copied to an archive directory and should be moved regularly to a backup storage.
63
To be able to make an incremental backup, a reference backup called the complete backup (level 0) must be made. The complete backup (level 0) of the database backs up all database blocks that have already been used. Incremental backups can then made. The incremental backup (level 1, cumulative) of the database backs up all database blocks that have changed since the last complete backup (level 0). Partial backups A partial backup is a backup of part of a database. The backup of an individual tablespace's data files or the backup of a control file are examples of partial backups. A variety of partial backups can be taken to accommodate any backup strategy. For example, data files and control files can be backed up when the database is open or closed, or when a specific tablespace is online or offline. Here are some items you must consider when choosing a backup type: The frequency of complete database backups should depend on the degree of activity in your database. High database activity increases the number of redo log files written between complete backups, which increases the time required for recovery. Performing frequent complete backups reduces the number of redo log files that must be kept in order to make a complete recovery. This reduces the data loss if one of these redo log files is lost. You can only recover up to the gap in the redo log file sequence. SAP recommends keeping several generations of complete backups and the corresponding redo log files. This ensures that you can still recover the database, even if the last complete backup is lost. Incremental backup can take the role of redo log recovery by summarizing the changes to be performed to the complete backup up to the time the incremental backup is taken. Further recovery to the current state still uses redo log recovery. Backing up tablespaces that are changed frequently can reduce the time required for any necessary recovery. When a more recent (full or incremental) backup of an intensively used tablespace is available, fewer redo log entries have to be processed in order to recover the tablespace. If you can back up the entire database on a daily basis, tablespace backups are not necessary. You can use tablespace backup for large databases to minimize the backup impact for the whole database.
64
However, tablespace backups are no replacement for frequent backups of the complete database because: If you only perform tablespace backups for a long period of time, this increases your dependence on the archived redo log files, and therefore the risk of data loss if one of the redo log files is lost. If tablespace backups are used, you decide what has to be backed up. Therefore, it is possible that you might forget to back up certain tablespaces. Another type of partial backup is to back up the control file. The control file records the physical state and structure of the database. Therefore, you should back up the control file after every structure change. Mirrored control files protect you against the loss of a single control file. If data files are damaged, an older control file that mirrors the corresponding structure of the database may be necessary for recovery. For this reason, mirroring the control files is by no means a replacement for backing up the control file after every change in the structure of the database. Note: The data of a test database might not have to be backed up as often, depending on how your test system is used. If you accept the restriction that you will only be able to recover the database from the last offline backup, you can operate the database in NOARCHIVELOG mode. If you do not back up the database at all, you must reinstall the database in a recovery situation.
Online backup Redo log backup Full offline backup Redo log backup Database verify 28 days cycle
65
The guidelines are as follows: Perform a full online backup each working day, or perform an incremental backup daily and then merge the existing incremental backups so the result is a cumulative incremental backup. Perform a full offline backup weekly (for example, during the weekend) or at least once in the cycle. The full backup would minimize the recovery time needed and the amount of redo logs to be applied in recovery. Back up the offline redo log files each working day and after every online and offline backup. Be sure to back up the offline redo log files twice on separate tapes. You must verify the backup result: Verify backups for physical errors. Verify the database for logical errors at least once in the cycle. Keep the verified full offline backup from each cycle in long-term storage, replacing it with a new initialized tape in the pool. Although not necessary, you can perform additional backups after changes to the database structure and keep these tapes in long-term storage. You can do this after any of the following actions: A data file is added. A data file is moved to a different location. A tablespace is created, dropped, or reorganized.
66
The policies in Table 3-4 on page 66 include the following schemes: Daily online backup: Daily online backup is executed at a time that will not impact the business day or when some performance delay is acceptable. Monthly online backup: Some applications, for several reasons, require eventual restoration from time to time, such as recovery from application failure or for auditing purposes. Yearly online backup: Some applications, most due to audit requirements, require data retention for long periods (usually 5 to 10 years). Transaction log backup: The transaction log file is the most important component of the DB2 database backup. It is required to return the database to the last committed transaction. Due to the importance of this log file, we recommend implementing mirroring and taking a backup in the shortest interval possible. The backup interval should be decided according to business requirements. This interval determines how much information can be lost in the case of a log file failure (corruption or lost file).
67
68
DB2 CommonStore for SAP. Both solutions can use a Tivoli Storage Manager server for the media manager. See Figure 3-5 for more details.
Figure 3-5 shows the two different solutions that you should be aware of. This book describes the backup and restore procedures for SAP in detail. We only have a short summary of the CommonStore product in Chapter 5, IBM DB2 CommonStore for SAP on page 115.
Retrieve
Restore
Backup
Archive
69
70
requirements and hardware setup, are documented as well. The Tivoli Storage Manager for ERP or Tivoli Storage Manager for Database client is always installed on the server running the database instance.
SAP Components Database Instance (Dialogue Instance(s)) Base Components File System Backups - TSM BackupArchive Client Database Data Protection - TSM for ERP or TSM for Database LAN-Free additions - TSM for SAN Flash Copy additions
TSM for Advanced Copy Svcs
71
Two of the physical machines form a high availability cluster that enables failover capabilities for the SAP system and its important services, that is, the database and file system. Figure 3-9 on page 73 shows the components of an SAP system that need to be clustered.
72
The high availability system setup is a typical installation scenario for a production system in an SAP system landscape. The high availability system divides the load to different physical machines and protects the SAP system against unplanned downtime. A very common setup for a highly available SAP production system is two servers building a switchover cluster. One server is running the central instance and central services, while the other server is running the database. Each of the nodes is designed and sized for taking the workload and tasks of the other node over.
73
Figure 3-10 shows an example of a typical high availability setup with two systems and where the SAP components reside. The necessary Tivoli Storage Manager base components and Tivoli Storage Manager additions that can be installed, depending on the requirements and hardware setup, are documented as well.
Switchover
Solution
SAP Components Database Instance (Dialogue Instance(s)) Base components File System Backups - TSM BackupArchive Client Database Data Protection - TSM for ERP or TSM for DB LAN-Free additions - TSM for SAN Flash Copy additions
TSM for Advanced Copy Svcs
The Tivoli Storage Manager backup archive client is needed on all physical machines to back up the file systems holding executables, control files, and so on, for the SAP and database installation. The Tivoli Storage Manager for ERP or Tivoli Storage Manager for Database client is needed on the server running the database instance, and on the second server to which the database fails over. The Tivoli Storage Manager for ERP or Tivoli Storage Manager for Database client is installed locally, which means two installations are executed. If the client is unavailable on the failover server, the database backups and redo log backups will fail.
74
The Tivoli Storage Manager for SAN and Tivoli Storage Manager for ACS products are installed as well on both systems in case they are in use. To enable the different products to participate in the high availability failover processing, they must be defined as an application to the high availability software. The default Tivoli Storage Manager scheduler is active in each node for local backups. Additionally, another Tivoli Storage Manager scheduler is active in the cluster node with the cluster resource group actively assigned. The Tivoli Storage Manager schedulers handling the resource group backups need to be integrated into the cluster failover tasks. In normal conditions, each node would have two scheduler processes: one for the cluster resources and one for the local file systems. After a failure, additional scheduler processes are started on a node in order to protect the resources that have moved over from another node. The backup-archive client password files must be stored on cluster disks so that after a failure, the generated backup-archive client password is available to the takeover node. The file systems to be protected as part of a resource group are defined using the backup-archive client domain option. The domain option is specified in the dsm.sys file, which should also be stored on a cluster disk so that it can be accessed by the takeover node. The Tivoli Storage Manager for ERP or Tivoli Storage Manager for Database has only one ProLE process running on each host, even after takeover. Both hosts should have the same level of Tivoli Storage Manager API installed. On both hosts, the dsm.sys file (in /usr/Tivoli/Tivoli Storage Manager/client/api/bin/dsm.sys) must contain all server names required for takeover. Backint connects to ProLE using the IP address for localhost (should be 127.0.0.1 for IPv4). For Tivoli Storage Manager for SAN, the simplest way to deploy Storage Agents in a cluster environment is to install a single Storage Agent on each physical host in the cluster. If a Backup-Archive Client instance fails from one physical host (hostA) to another physical host (hostB), it is serviced by the Storage Agent on hostB. When deploying this type of configuration, the Storage Agents should have unique names on each host, for example, staA on hostA and staB on hostB. The Storage Agents should have the same network address and communication protocol, for example, each Storage Agent can be configured to use the TCP/IP loopback address (127.0.0.1) and TCP/IP port 1500. Other considerations must be taken into account to correctly manage how tape mounts are used during a failover of an instance of the Backup-Archive Client in a clustered environment. For Tivoli Storage Manager for ACS, three systems are required when planning for a high availability environment where a primary and takeover system will become established with a high availability solution. The takeover system for the database cannot be the FlashCopy backup system.
75
76
unacceptably slow performance. Even though this book focuses on the availability aspects of the system, the close relationship to the performance aspects should not be ignored. To increase the availability of a system, it is essential to minimize downtime. Downtime can be categorized as planned and unplanned, and at a more detailed level, it can be separated into planned and unplanned downtimes for the various services that make up SAP systems, which includes the following elements: Front-end services, which provide the user interface, such as the Web browser or SAPGUI Middleware services for connection to the Web, including the Internet Transaction Server (ITS) and the HTTP Web server SAP services and components: Individual application components of the SAP Business Suite, such as the SAP Business Warehouse (SAP BW), Enterprise Buyer Professional (EBP), and so on SAP Enterprise Portal components SAP system services, such as the SAP kernel, which supports application components of the SAP Business Suite Underlying hardware and software services, such as the database management system (DBMS) services, network and operating system services, and various hardware services, including servers, disks, and uninterruptible power supply (UPS) Unavailability or downtime can be planned or unplanned. Planned downtime: Planned downtime is the time for scheduled maintenance and upgrades, during which a system cannot be used for normal production operations. This time is used for a variety of purposes so that a system can function optimally and reliably. Some of the possible causes of planned downtime are as follows: Hardware maintenance Upgrades to new releases Offline database reorganization Offline database backup
77
Unplanned downtime: Unplanned downtime is the time during which a system cannot be used for normal productive operations due to unforeseen failure in hardware or software components, or operator mistakes. Unplanned downtime can be extremely costly to an organization. The source of unplanned downtime can be in any of the layers that make up the complete software and hardware environment: Front-end and middleware services for connection to the Web, including the Internet Transaction Server (ITS), the SAP Web Application Server (SAP Web AS), and the SAP Enterprise Portal. SAP system services of the individual application components of the SAP Business Suite, such as the Business Warehouse (BW), Business-to-Business Procurement (BBP) and the SAP kernel. Underlying hardware and software services, such as the database services, network and operating system services, and various hardware services, including servers, disks, memory, and uninterruptible power supply (UPS).
3. Implement measures to mitigate the risk of having a failure based on your availability requirement. There are some common procedures for managing your system listed in Table 3-5 on page 79.
78
Table 3-5 SAP NetWeaver procedures for system management System area SAP NetWeaver Application Server Change Management System upgrade (SAP) System failure (SAP) Description SAP NetWeaver Application Server: High Availability SAP NetWeaver Application Server Java: High Availability SAP NetWeaver Application Server ABAP: High Availability Upgrade (AS-ABAP) System Failure (SAP NetWeaver AS) Switchover Software for High Availability System Failure (AS Java) Data Archiving (AS-ABAP) Cluster Technology EarlyWatch Computing Center Management System (CCMS) SAP Solution Manager Database High Availability SAPDBA: Informix Database Manager: MaxDB DB2CC Tools for DB2 UDB SQL Server Enterprise Manager Switchover Software for High Availability Replicated Database Servers Replicated Databases Disaster Recovery Database Reconnect (AS-ABAP) Disaster Recovery Network High Availability Switchover Software for High Availability -
Archiving (SAP) Cluster administration System monitoring and tuning Database administration (backup, upgrades, and monitoring/tuning) Database failure
Database - SAP connection failure Disaster recovery Network Fault reporting with follow-up Switchover System load assessment for mission-critical applications
79
Table 3-6 lists some database-specific recommendations for database point of failure mitigation.
Table 3-6 SAP NetWeaver high availability database-specific recommendations Database Oracle Single Points of Failure (SPOFs) Database Instance Database background processes (DBWR, LGWR, SMON, PMON, and so on) Memory structures (SGA and semaphores) You can protect the database instance using Switchover Software or Replicated Database Servers (only available for certain databases). Database files Control file Current online redo log file Data files You can protect the control file and the current online redo log file by using Oracle or proprietary disk mirroring. You can protect the data files by using disk mirroring. You should also protect all files by doing backups. You can use Oracle Standby Databases for a more comprehensive high availability solution that can withstand a disaster at one site. Database instance You can protect the database instance using Switchover Software. Database data You can protect all relevant files by using Informix or proprietary disk mirroring. SAP strongly recommends some form of mirroring (preferably Informix) for, at the very least, the critical dbspaces (logdbs, physdbs, and rootdbs). In any case, you should also perform regular archives and backups. See also the Informix High-Availability Data Replication (HDR) Web page at the following address: http://help.sap.com/saphelp_nw70/helpdata/EN/08/5744c54ae611d 1894f0000e829fbbd/content.htm Database instance You can protect the database instance using Switchover Software. Database data You can protect all relevant devices by using proprietary disk mirroring (RAID 1 preferred) for all data volumes and log volumes. If you want to use log volumes without RAID mirroring, consider the possibility of mirroring using log mode. In any case, you should also perform regular backups. You can use the MaxDB Standby Database or MaxDB Hot Standby for a more comprehensive high availability solution that can withstand a disaster at one site.
Informix
MaxDB
80
Single Points of Failure (SPOFs) Database instance You can protect the database instance using Switchover Software. Database data You should always perform regular backups. See also the Replicated Standby Database for DB2 UDB for UNIX and Windows Web page at the following address: http://help.sap.com/saphelp_nwmobile71/helpdata/en/08/5744d24 ae611d1894f0000e829fbbd/content.htm Database instance You can protect the database instance using Data Sharing for DB2 UDB for z/OS. Database data You can protect the data by performing regular backups and using disk mirroring. You can also use a standby database to protect the data against disaster. See also the Replicated Standby Database for DB2 UDB for z/OS and Data Sharing for DB2 UDB for z/OS Web page at the following address: http://help.sap.com/saphelp_nw70/helpdata/en/b3/81bd94bcde11d 2951600a0c930df15/content.htm Database instance You can protect the database instance using Switchover Software. Database data You should always perform regular backups. See the following high availability solutions: Microsoft Cluster Server on Windows Microsoft SQL Server Standby Database Comprehensive Microsoft SQL Server High Availability Solution
81
You must consider the following steps to protect your installation: To protect SAP application host running enqueue and message services This can be achieved by having a standby system available (at a remote site) that can be started up in the event of a disaster. If a standby system, which could also be another application server that has been reconfigured, is started to provide the critical SAP services, all other application servers have to be restarted. To protect the database The entire database can be replicated, but you have to use a method provided by the various database vendors. This approach is known as Hot Site Backup or Standby Database. The products discussed in Chapter 7, High availability and disaster recovery concepts on page 183 follow the concept of replication transparency. This means that the functionality to achieve replication is built into the database service instead of having to be coded by the client applications.
82
You can schedule backups using predefined planning patterns that automatically set all technical details for the execution of the backup. Note: A backup that has been scheduled in the Planning Calendar is displayed in the Job List of the Enterprise Manager. However, a backup that has been scheduled in the Enterprise Manager is not visible in the Planning Calendar. DBA Cockpit Transaction provides a scheduler, as shown in Figure 3-11, for database administration and backup planning. The scheduler can be started with the transaction code db13 in the SAPGUI command line or by selecting Tools CCMS DB administration DBA scheduling in the SAPGUI menu.
83
Figure 3-13 on page 85 shows scheduling a backup task using SAP cockpit.
84
85
The client scheduler is invoked using the dsmc schedule command. The scheduler can be started automatically from inittab. The schedule itself is defined in the Tivoli Storage Manager server using the DEFINE SCHEDULE command with the ACTION=COMMAND parameter to support command files. The schedule must be associated to the backup domain. The information about triggered events for the particular Tivoli Storage Manager node as well as the result of the event is recorded in the Tivoli Storage Manager servers Activity Log on the server side and in the event log of the Tivoli Storage Manager Client Scheduler on the client side. There are three possible results of the triggered events: Completed Missed Failed The task was accomplished successfully (return code = 0). The task cannot be started within the defined time frame. The task failed during processing (return code <> 0).
We use Tivoli Storage Manager scheduling in the case studies. See the detailed definitions in 10.4.3, Scheduling configuration on page 283 for Oracle databases and 9.4.4, Schedule configuration on page 229 and 9.7.5, Schedule configuration on page 253 for DB2 databases. Besides the database backup, you also have to back up files from your database and application environment that are needed for a full recovery. In a typical production environment, this has to be scheduled in a separate schedule. You can also schedule this using the Tivoli Storage Manager scheduling.
86
We schedule the script using crontab. The entry in crontab to start the script backup.ksh on Monday through Friday at 11:30 p.m. is shown in Figure 3-14. # Sample crontab entry to be included in the root crontab jobs. # Save the database files (online backup) scheduled at 11:30 p.m. # Monday through Friday 30 23 * * 1,2,3,4,5 /usr/bin/su - db2qas -c /db264/TSM/sapscripts/backup.ksh
Figure 3-14 Sample crontab entry to start a shell script to a specified schedule
87
88
Chapter 4.
89
90
The base functions provided by Tivoli Storage Manager and its complementary products are as follows: Data protection (periodic backup and restore as well as disaster recovery): In operational backup and restore of data, the backup process creates a copy of the data to protect against the operational loss or destruction of file or application data. The customer defines how often to back up (frequency) and how many copies (versions) to hold. The restore process places the backup copy of the data back into a customer-designated system or workstation. Disaster recovery refers to all the activities required to organize, manage, and automate the recovery process from a major loss of IT infrastructure and data across the enterprise. It includes processes to move data offsite into a secure vault location, to rebuild IT infrastructure, and to reload data successfully in an acceptable time frame. Data resource management (vital record retention, archive, and retrieval): The archive process creates a copy of a file or a set of files representing an endpoint of a process for long-term storage. Files can remain on the local storage media or can be deleted. The customer controls how long (through the retention period) an archive copy is to be retained. The retrieval process locates the copies within the archival storage and places them back into a customer-designated system or workstation. The solution is network based, which means that these functions are available to the whole networked environment. Administration costs are minimized by centralized management of Tivoli Storage Manager components.
91
Web administration
WAN
Mobile clients
LAN
Tivoli Storage Manager is using a relational database and transaction log. The database and transaction log track meta data such as: What is backed up Where it is stored What are the policies Schedules Administrators The transaction log enables a two-phase commit, which protects the integrity of the database and allows for interrupted backups and restores to be restarted.
92
The relational database empowers Tivoli Storage Manager to perform tasks such as: Move data from one type of storage pool to another Retroactively update backed-up data when a policy changes Track individual files Schedule any type of client or administrative process Reclaim expired dead space on tapes The Tivoli Storage Manager client sends its data to the Tivoli Storage Manager server either over LAN or over SAN. Most backups occur based on schedules, but clients can perform on demand backups whenever they want. Clients can also perform their own restores. The actual data that the client sends is stored in the storage pools. Tivoli Storage Manager is unique in the fact that the storage pools can form a storage hierarchy made up of more than 500 supported devices. This allows for flexibility, longevity, and, most important, fast backups and fast restores. Most businesses back up their data initially to disk storage. This allows for hundreds of clients to back up at the same time. Then, based on policies, the data migrates in a fashion that expedites restores to tape or CD. When the data migrates, all data belonging to one client is moved together to the next pool. By keeping all of that data together, restores are faster because not as much tape positioning is required. This migration process can also accommodate movement to collocated tapes, which further expedites restores by just having one users data on them. The environment can be firewall protected, but you still can use the GUI interface of a Tivoli Storage Manager client. Tivoli Storage Manager allows individual configuration of nearly every TCP port that it uses for communication, as shown in Figure 4-2.
Internet DMZ Intranet
Unsecured network
Allowed on TCPPORT
TCPADMINPORT
Firewall
Client
Firewall
A Al llow
R T
Client
Figure 4-2 Tivoli Storage Manager client running under a firewall environment
93
For more information about client protection and ports, refer to IBM Tivoli Storage Manager: Building a Secure Environment, SG24-7505. TCP/IP port To enable the backup/archive client, command-line Administrative Client, and the scheduler to run outside a firewall, the port specified by the tcpport server option must be opened by the firewall administrator. This port is set on the client and the server using the tcpport option. The setting must be the same on the client and server. The default TCP/IP port is 1500. TCP/IP ports for the remote workstation The two TCP/IP ports for the remote workstation client must be opened. Use the WEBPORTS option in the remote workstations option file to specify these ports. If you do not specify the values for the Web ports option, the default zero (0) causes TCP/IP to randomly assign two free port numbers.
94
The supported environment for Tivoli Storage Manager V5.5 server on AIX platform are: AIX 5L V5.3 (64 bit only) AIX V6.1 (64 bit only) Tivoli Storage Manager V5.5 servers uses the following protocols: TCP/IP, which comes standard with AIX Shared Memory Protocol In this book, we are focusing on AIX servers; for other supported versions, refer to: http://www-1.ibm.com/support/docview.wss?rs=663&context=SSGSG7&uid=swg2 1243309&loc=en_US&cs=utf-8&lang=en
95
for a basic editing of this file. Within the client options file, an include-exclude list can be specified. This list can be used to identify how specific files or directories are handled during backup operations. Tivoli Storage Manager Client backs up any file not specifically excluded. These operations can be performed manually from the client machine or remotely using a Web-based interface. Backup and archive operations can also be scheduled to run automatically. An administrative client can be optionally installed with the backup archive client. The administrative client package consists of the Tivoli Storage Manager server command line, which can be used to remotely manage a Tivoli Storage Manager server from a network-attached machine. The backup/archive clients are implemented as multi-session clients, which means that they are able to take advantage of the multi-threading capabilities of modern operating systems. For UNIX supported environments, refer to: http://www-01.ibm.com/support/docview.wss?rs=663&context=SSGSG7&uid=swg 21052226&loc=en_US&cs=utf-8&lang=en For Windows Intel supported environments, refer to: http://www-01.ibm.com/support/docview.wss?rs=663&context=SSGSG7&uid=swg 21197133&loc=en_US&cs=utf-8&lang=en In this book, we are focusing on UNIX and Windows Intel platforms. For further information about other supported environments, refer to: http://www-01.ibm.com/support/search.wss?rs=663&tc=SSGSG7&atrn=Keywords &atrv=ClientRequirements
96
This method is not integrated in SAP BR*Tools, which means that transactions br12 or CCMS cannot show the backup reports. You have to manage the backup process and reports manually from Tivoli Storage Manager interfaces. Tivoli Storage Manager basic backup can be used to back up non-database related objects such as SAP libraries and executables.
97
The current version supports Oracle and DB2 only. For the other RDBMS, you can use Tivoli Storage Manager for Databases, which supports Oracle, Informix, and Microsoft SQL Server, as discussed in 4.4, Tivoli Storage Manager for Databases on page 105. The following features are available: It handles large amounts of data. It has optimized CPU usage that reduces the overall time for backup and restore. It is optimized for an SAP environment. It supports multiple management classes. For additional information about Tivoli Storage Manager for Enterprise Resource Planning, go to the Tivoli Storage Manager documentation available at the following address: http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/index.jsp
98
TSM API
backint
init<SID>.sap
99
Figure 4-4 shows a diagram of the backup and restore process in connection with Data Protection for SAP.
Configuration file
profile
SAP DBA
More discussion about the SAP backup and restore process is discussed in Chapter 6, Database backup and recovery tools on page 127. The hardware and software requirements for Data Protection for SAP for Oracle database can be found at the following address: http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/index.jsp?toc=/c om.ibm.itsmerp.doc/toc.xml Figure 4-5 on page 101 shows the Tivoli Data Protection for SAP for Oracle functionalities and interfaces.
100
SAP database
Data files Control files Redo logs
BRBACKUP
Tivoli Storage Manager server data
data
BRARCHIVE
data
data
SAP repository
/oracle/<sid>/ saparchive /oracle/<sid>/ sapbackup
BR*Tools
Figure 4-6 Data Protection for SAP for Oracle using Backint
101
The backup will proceed as follows: 1. BR*Tools takes control. 2. BRBACKUP calls the Data Protection for SAP using Backint. 3. Backint changes the tablespace(s) to backup mode using the following command: alter tablespace <tablespace name> begin backup 4. Backint using Tivoli Data protector for SAP reads all the data files and saves them to Tivoli Storage Manager Server. 5. BR*Tools updates the catalog with information regarding the backed up data file. Note: Using this method, the chosen data files are sent to Tivoli Storage Manager one by one. No compression or block checking are performed at this level. When a database is in backup mode, the amount of redo logs written to disk increases. This is because Oracle writes the entire dirty block to the disk, not just the updated data. In some cases, when the backup routine fails for any reason, the data file remains in active backup mode. This can cause some performance impact and additional I/O to the disk.
102
Oracle database
Data files Control files Redo logs Offline redo logs
BR*Tools
RMAN
SAP repository
/oracle/<sid>/ saparchive /oracle/<sid>/ sapbackup
Repository catalog
Catalog DB
Control files
Figure 4-7 Data Protector for SAP for Oracle using RMAN
Some additional features only available to RMAN are: Data Recovery Advison (Version 11g and above). This feature helps you in analyzing and deciding what is the best recovery plan. Fast Backup Compression (Version 10g and above). This feature helps reduce the amount of data sent to the tapes. Network-enabled database duplication (Version 11g and above). Cloning databases in the network is easy. There are no requirements to have a existing backup. Integration with Windows Volume Shadow Copy Services - VSS (Version 11g and above). This feature allows the Oracle Database to participate in the VSS infrastructure on Windows platforms. Backup Set encryption (Version 10g and above). With this feature, only the backup creator is able to restore. Unused Block Compression (Version 10g and above). This feature is enabled by default. It reduces the amount of data sent to the tape by reducing the backup time.
103
Recovery history
Update (after backup) Restore Backup Restore Tivoli Storage Manager server
backup
DB2 process
DB2 API Tivoli Storage Manager API
The archiving of DB2 offline log files is provided by the SAP tool BRARCHIVE. The retrieval of DB2 offline log files is provided by the SAP tool BRRESTORE and by the Data Protection for SAP tool BackOM. As of DB2 Version 9.X, offline log files can be archived and retrieved with the DB2 built-in Log Manager. The DB2 Command-Line Processor (CLP) interprets commands for the DB2 database and passes control to a DB2 Server Process. In the case of Data Protection for SAP, the LOAD <libraryname> option causes DB2 to invoke the Data Protection for SAP shared library. This process kicks off the backup or restore, loads the library dynamically, and communicates with it through the Tivoli
104
Storage Manager API. For starting a backup or restore, the DB2 CLP communicates with the DB2 Server Process, providing the Server Process with the relevant information for processing the database For more information, go to the following address: http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/index.jsp?toc=/c om.ibm.itsmerp.doc/toc.xml
105
Both the command-line interface and Graphic User Interface (GUI) are available to manage backups and restores. Additional information about backing up SQL Server using Tivoli Storage Manager can be found in Backing up Microsoft SQL Server with IBM Tivoli Storage Manager, SG24-6148.
MaxDB server
ADINT/TSM
DBMCLI DBMGUI
The following is the list of the main features provided by ADINT/TSM: Full database backup (online and offline) Full database backup without checkpoint (online and offline) Database Log backup Incremental backup Incremental backup without checkpoint The backup command and managing tools are not integrated with the BR*Tools. You have to use the available MaxDB tools to perform administrative tasks: dbmcli dbmgui webdbm
106
Additional information about ADINT/TSM can be found at the following address: http://www-05.ibm.com/de/entwicklung/esd/
107
We have used the abbreviated term Data Protection for FlashCopy as a generic term for all these products, specifying either SAP Oracle, SAP DB2, DB2, or Oracle where we have to be more specific. Tivoli Storage Manager for Advanced Copy Services was previously known as Tivoli Storage Manager for Hardware, which was supported on the IBM Enterprise Storage System (ESS) only. It had the following modules: Data Protection for IBM ESS for SAP with DB2 Data Protection for IBM ESS for SAP with Oracle Data Protection for IBM ESS for DB2 Data Protection for IBM ESS for Oracle Updated information about the Tivoli Storage Manager for Advanced Copy Services is available at the following address: http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/index.jsp?topic= /com.ibm.itsmerp.doc/fbro000074.htm
108
system are directly presented to the host. SVC provides virtualization by creating a pool of managed disks from the attached storage systems, which are then mapped to a set of virtual disks for use by attached host computer systems. SVC provides a single interface to the management and provisioning of diverse disk systems, as well as a single set of FlashCopy, Metro Mirror, and Global Mirror functions. For more details, go to the following address: http://www.ibm.com/servers/storage/software/virtualization/svc/index .html Enterprise Storage Server The IBM TotalStorage Enterprise Storage Server (ESS) architecture is the basis for subsequent enterprise disk systems. It can be attached to IBM and non-IBM servers of many types, and provides high capacity and function. Because it has been replaced by next generation disk products, it is no longer marketed; however, it is still commonly found in client environments. For more details, go to the following address: http://www.ibm.com/servers/storage/disk/ess/index.html
109
type selected. The FlashCopy types, full volume copy (COPY), no copy (NOCOPY), and incremental (INCR), are available. A FlashCopy operation always works on a full disk volume, (there is no partial volume FlashCopy). Similarly, on a FlashBack restore, all data on the volume is overwritten. Therefore, the content of the volume on which you perform FlashCopy should be a unit of information, as it contains only SAP data files. Defining a separate volume group or groups for the SAP data devspace should prevent this occurrence. For performance reasons, you might want to define more than one volume group, so that those tablespaces with higher activity can be separated onto different volume groups or storage arrays in the disk storage system. A relationship is then established between the source and the target volumes, and a bitmap of the source volume is created. When this step is finished, the data can be accessed on the target volume as though the data had already been copied; for example, we could start a backup of the target volume to a Tivoli Storage Manager server at this point. The copy process continues in the background. Figure 4-10 shows the process we have just described.
Flash copy
s ces Source disk
Ba ac ckup co cess ser py ba ver pro for b ckup ce ack ssi ng up
c se a aba Dat
Target disk
FlashBack
(fast restore)
Database server
server
In the bitmap-table, used for the relationship between source and target volumes, each track copied by the FlashCopy service will be marked as processed. Reads can be done on both volumes, on the source as well as on the target side. Whenever a track is not yet copied to the target, the track will be read from the
110
source volume. Whenever a write operation is done to the source volume, that track has to be copied to the target volume first, because we must know the status at the time of starting the FlashCopy process. This process ensures that the production server is minimally affected by the backup operation, which can be started as soon as the relationship is established between source and target volumes. Remote Mirror is another option for volume replication; however, it does not allow concurrent access to the target volumes while the copy process is running. The FlashCopy service provides this capability by creating a bitmap for the source volume. FlashCopy is the copy service method used by Tivoli Storage Manager for Advanced Copy Services.
111
Production system
BR*Tools brbackup brachive brrestore Oracle server + client SQL * NET SQL * NET
Backup system
BR*Tools brbackup brachive brrestore Oracle client
TCP/ IP NFS
TCP/ IP NFS
AIX
AIX
SAN
Source
Target
Figure 4-11 Principle of Data Protection for FlashCopy on an Oracle based SAP system
112
113
Backup system
BR*Tools DP for Flashcopy tdphdwdb2
DB2 client
TCP/ IP NFS
TCP/ IP NFS
AIX
AIX
SAN
Source
Target
Figure 4-12 Principle of Data Protection for FlashCopy on a DB2 based SAP system
114
Chapter 5.
115
116
Searching documents for text patterns (without retrieving them) Performing attribute-based searches (on print lists, especially journals) Deleting documents To prohibit unauthorized access to archived documents, CommonStore applies security measures to prevent the forgery or manipulation of URLs and eavesdropping on contents. These measures include the use of a PKCS#7 digital signature and public key procedure according to the Digital Signature Standard. The degree of protection and rights of access to a document can be specified when a document is stored by SAP. All ArchiveLink operations are based on the notion that the SAP database represents a master index catalog of all documents, including those whose content resides in the external archive. According to this approach, ArchiveLink passes no document-related information to the external archiving system. Instead, a symbolic Universal Unique Identifier (UUID) is created for each document and applied to it to identify it throughout its life cycle. ArchiveLink itself maintains a table that maps each business document (for example, credit memo or customer invoice) to its corresponding UUID. For many SAP users, however, it is a requirement to access archived documents independently of SAP or mySAP.com (that is, without using the SAP GUI or the mySAP.com Workplace). In this case, to support searching the external archive for business information like customer number or fiscal year, CommonStore provides proprietary function modules that transfer these respective document attributes from SAP to the archive database. In order to support archiving functions and scenarios that cannot be covered by the client/server perspective, HTTP Content Server Interface is based on CommonStore, which supports the additional protocols covered by ArchiveLink. In their entirety, the supported ArchiveLink 4.5 functions (which have not been changed with SAP Release 4.6 or mySAP.com) comprise: HTTP Content Server Interface Business Application Programming Interface (BAPI) for bar code-based archiving scenarios OLE (Object Linking and Embedding) functionality for storing inbound documents or PC files and starting external viewing applications (for example, archive clients) on 32-bit Windows front ends
117
When used with SAP Releases prior to 4.5 that do not support HTTP Content Server Interface, CommonStore substitutes the operation with Remote Function Call (RFC). See CommonStore architecture in Figure 5-1 for more details about this topic.
As shown in Figure 5-1, CommonStore consists of the following components: The CommonStore Server is the most important component of CommonStore. It handles the whole archiving functionality. The CommonStore client, which in turn consists of the CommonStore Dynamic Link Library (DLL) and either the CommonStore Archiving Client or the CommonStore Viewing Client (alternatively, the SAP ArchiveLink Viewer can be used). See also the IBM DB2 CommonStore for SAP: Client Installation and Users Guide, SH12-6744 for more information.
118
119
120
In addition to these basic document types handled by CommonStore, a typical requirement for an archiving system is to store documents from external applications and make them available to SAP users. This particularly includes computer output on laser disc (COLD) that was generated outside of SAP.
121
Content Manager OnDemand for z/OS and OS/390 V7.1 or later Tivoli Storage Manager V4.1 or later (for AIX, HP-UX, Sun Solaris, Windows, and z/OS) The CommonStore server software requirements are: CommonStore for SAP is shipped with a correct version of the Java Runtime Environment (JRE), except in Sun Solaris. On Windows, it requires the SAP graphical user interface. A matching connector. The choice depends on your archive server software: For Content Manager for Multiplatforms V7.1, it requires Content Manager client V7.1 including Fix Pack 1 (7.1.0.1) or later. For Content Manager for Multiplatforms V8.x, Content Manager V8 connector is required. In Content Manager V8.2 and V8.3, this connector is a subcomponent of the IBM Information Integrator for Content (IIC), which is delivered with the product. DB2 Client. For the correct version, see IBM Content Manager for Multiplatforms: Planning and Installing Your Content Management System, GC27-1332. For Content Manager OnDemand for Multiplatforms, Content Manager OnDemand for Multiplatforms V7.1.1.0 or later is required. This is the same as the archive server software and because of that, you must install exactly the same version (same package as for the archive server). This is required because the Content Manager OnDemand server software contains the interface to CommonStore, which must exist on the computer where CommonStore for SAP is installed. You do not have to configure this server, and the server hosting your archive can be on a different machine. If you want to install the connector on the same system as the archive server, you do not have to install the package again. For Tivoli Storage Manager, Tivoli Storage Manager API client V4.2 or later is required. To use Tivoli Storage Manager with CommonStore on Linux, API Version 5.2 or later is required.
122
Each CommonStore for SAP Client is delivered in an installation package of its own. All CommonStore clients require a running CommonStore Server for request processing.
123
The CommonStore Archiving Client requires the following hardware and software: Intel Pentium 800 MHz processor or equivalent with 512 MB RAM Windows 2000 with Service Pack 1 (or higher) or Windows XP Microsoft Internet Explorer 5.5 or higher Microsoft Internet Explorer plug-ins for different document types CommonStore Server V8.1 or higher
124
The CommonStore Viewing Client requires the following hardware and software: Intel Pentium 800 MHz processor or equivalent with 512 MB RAM Windows 2000 with Service Pack 1 (or higher) or Windows XP Microsoft Internet Explorer 5.5 or higher Microsoft Internet Explorer plug-ins for different document types CommonStore Server V8.1 or higher
125
The CommonStore Utility Client requires the following hardware and software: Intel Pentium 800 MHz processor or equivalent with 512 MB RAM. 10 MB of disk space for the installation. The required temporary disk space varies, depending on the workload and the size of trace and log files. One of the following operating systems: AIX Linux Microsoft Windows 2000 Microsoft Windows XP Microsoft Windows Server 2003 Sun Solaris
For Sun Solaris only: Java Runtime Environment (JRE), Version 1.4.2 or later. Note: For all other operating systems, a JRE is installed automatically with the CommonStore Utility Client. For Windows operating systems only: SAP graphical user interface (SAP GUI).
5.5 References
The following references provide more information: DB2 CommonStore for SAP Version 8.3 manuals: http://www-01.ibm.com/support/docview.wss?rs=51&context=SS6QJP&dc=DA 400&uid=swg27007919&loc=en_US&cs=UTF-8&lang=en&rss=ct51db2 DB2 CommonStore for SAP Client V8.3 Installation and User's Guide, SH12-6743: http://publibfp.boulder.ibm.com/epubs/pdf/h1267433.pdf DB2 CommonStore for SAP Server V8.3 Installation and User's Guide, SH12-6744: http://publibfp.boulder.ibm.com/epubs/pdf/h1267443.pdf IBM CommonStore site: http://www-01.ibm.com/software/data/commonstore/sap/ CommonStore brochure: ftp://ftp.software.ibm.com/software/data/cmgr/pdf/cssapv82.pdf
126
Chapter 6.
127
128
Database managers provide interfaces to transfer backup data to backup media or third-party media management systems such as IBM Tivoli Storage Manager. The media interfaces are based either on open standards (such as DB2 XBSA) or can be specific for the particular RDBMS (such as BR*Tools BACKINT interrface or Oracle RMAN SBT interface). Interface adapters for particular backup management systems are developed by the media management systems vendors. This conceptual relationship is shown in Figure 6-1.
Database Server User Interface Backup Tool Database Instance Backup Interface TSM Backup Adapter
Backup Repository
Data
Figure 6-1 System architecture: database backup adapters for Tivoli Storage Manager
Backup adapters for IBM Tivoli Storage Manager are installed as part of the software packages Tivoli Storage Manager for Databases or Tivoli Storage Manager for Enterprise Resource Planning (formerly known as Tivoli Data Protection modules). Those Tivoli Storage Manager backup solutions include backup adapters based on the shared libraries. The backup adapters are compatible with the interfaces of database backup tools. The Tivoli Storage Manager backup adapter is called (or dynamically linked) by the backup management component of the database using the backup interface. The backup adapter communicates with the Tivoli Storage Manager server through the Tivoli Storage Manager client application program interface (API). The basic functions provided by backup adapters are transfer the backup objects to and from the Tivoli Storage Manager server, instruct the Tivoli Storage Manager server to delete the selected backup objects, and retrieve information about the backup objects. Note: IBM DB2 UDB provides integrated Tivoli Storage Manager backup support, so it can directly call the Tivoli Storage Manager API client to transfer data to Tivoli Storage Manager server.
129
The following Tivoli Storage Manager clients provide backup adapters for Oracle, MS SQL, IBM DB2 UDB, and SAP MaxDB databases: General purpose Tivoli Storage Manager backup adapters for databases: IBM Tivoli Storage Manager for Databases - Oracle: Tivoli Storage Manager backup adapter for Oracle RMAN implements Oracle Media Management API, Secure Backup to Tape (SBT) API V2.0. IBM Tivoli Storage Manager for Databases - Microsoft SQL Server: Tivoli Storage Manager adapter for Microsoft SQL Server implements Microsoft SQL Server Virtual Device Interface (VDI), which enables the Microsoft SQL backups to be transferred to Tivoli Storage Manager server. It supports both earlier and VSS backups. IBM DB2 built-in Tivoli Storage Manager support - DB2 UDB provides an integrated support for Tivoli Storage Manager. Thus, the Tivoli Storage Manager API client is the only component that is required to enable transfers of DB2 backup data to the Tivoli Storage Manager server. IBM ADINT/TSM: The Tivoli Storage Manager adapter is similar to Tivoli Storage Manager for ERP and is designed to enable SAP MaxDB integration with Tivoli Storage Manager server. SAP-oriented Tivoli Storage Manager backup adapters for databases: Tivoli Storage Manager for ERP - Oracle: This software package implements the Tivoli Storage Manager backup adapters for Oracle RMAN (SBTAPI) and for SAP BR*Tools (BACKINT). Tivoli Storage Manager for ERP (Oracle) can serve either as a backup adapter between SAP BR*Tools and Tivoli Storage Manager server or as a backup adapter between Oracle RMAN and Tivoli Storage Manager server. The BACKINT adapter can also be integrated with SAP MaxDB RDBMS to perform MaxDB transfers to Tivoli Storage Manager. Tivoli Storage Manager for ERP - DB2: Implements shared libraries that can integrate DB2 UDB backup tools with Tivoli Storage Manager server. SAP-oriented Tivoli Storage Manager adapters support additional functions specific to the SAP environment. You can integrate Tivoli Storage Manager for ERP clients with Administration Center, which serves as a solution for the central administration of database backup/recovery tasks. The Administration Center includes productivity tools such as a configuration manager, a performance monitor, operation monitoring, backup recovery simulation, and bottleneck analysis for tuning, clonning support, and reporting. These functions are intended to relieve the administrator of repetitive taks and to help manage and optimize the overall backup and recovery process.
130
Table 6-1 Summary of Tivoli Storage Manager adapters for DB2 UDB, Oracle, and MaxDB Adapter or backup tool DB2 UDB Oracle RMAN SAP BR*Tools for Oracle N/A N/A N/A Yes (BACKINT) N/A SAP MaxDB
Built-in Tivoli Storage Manager Support Tivoli Storage Manager for Databases (Oracle) Tivoli Storage Manager for ERP (DB2) Tivoli Storage Manager for ERP (Oracle) ADINT/TSM
All the backup solutions mentioned above can be integrated with the advanced backup techniques such as LAN-free backup, parallel transfer of backup data to and from Tivoli Storage Manager server, or multiplexing. Implementation of these techniques can significantly reduce backup and restore times and eliminate the impact of backup data transfers on LAN throughput. Tip: Tivoli Storage Manager for ERP can be integrated with Tivoli Storage Manager for Advanced Copy Services (TDP for FlashCopy Devices for mySAP). The integration provides for consistent user interfaces and coherent process flow of backup and restore between direct (tape) and FlashCopy (disk or tape) techniques. For more specific information about this topic, refer to the corresponding Tivoli Storage Management Product Web site: Tivoli Storage Managemer for Enterprise Resource Planning: http://www-01.ibm.com/software/tivoli/products/storage-mgr-erp/ IBM ADINT/TSM: http://www-05.ibm.com/de/entwicklung/adint_tsm/index.html Tivoli Storage Manager for Databases: http://www-01.ibm.com/software/sysmgmt/products/support/IBMTivoliSto rageManagerforDatabases.html
131
Tivoli Storage Manager for Advanced Copy Services: http://www-01.ibm.com/software/tivoli/products/storage-mgr-advancedcopy-services/ IBM FlashCopy Cloning of SAP Databases: http://www-05.ibm.com/de/entwicklung/esd/fcc/
132
BR0651I BRTOOLS 7.00 (32) BR0280I BRTOOLS time stamp: 2008-09-26 18.07.11 BR0656I Choice menu 1 - please make a selection ----------------------------------------------------------------------BR*Tools main menu 1 2 3 4 5 6 7 8 9 = Instance management Space management Segment management Backup and database copy Restore and recovery Check and verification Database statistics Additional functions Exit program
Standard keys: c - cont, b - back, s - stop, r - refr, h - help ----------------------------------------------------------------------BR0662I Enter your choice:
133
Before the offline backup, BRBACKUP automatically closes the database and opens it as soon as the backup is accomplished. BRBACKUP can also change the status of the tablespace to be backed up to BEGIN/END BACKUP. You can also instruct BRBACKUP to use software compression. The software compression client could enhance the backup, especially if the network is slow. If you plan to enable software compression for sending backup data to a tape storage pool on the Tivoli Storage Manager server, you should consider disabling hardware compression. Note: BRBACKUP supports incremental backups only when configured to use Oracle RMAN as an interface. The integration of RMAN into BRBACKUP is limited to cumulative incremental backups at level 1. The most frequently used BRBACKUP function is a full database backup. You can perform a full backup by running BRBACKUP with the following options: The mode option (-mode/-m) is set to FULL or ALL. You can start a full backup either in online mode (-type/-t online_cons) or in offline mode (-type offline). In case of the online_cons type, the offline redo log files generated during the full backup are also backed up to the same media. The backup storage media is defined by the BR*Tools profile file specified by the BRBACKUP parameter -profile/-p. The user name and password used by BRBACKUP to log on the Oracle database system is specified by the parameter -user/-u. If you are working as a DBA authenticated to the database by the OS ($OPSuser), you can just use / as value of this parameter. The parameter -confirm/-c stands for an unattended mode. This is mostly used in the backup scripts, so BRTOOLS will not prompt you for confirmations. Example 6-2 shows an example invocation of BRBACKUP.
Example 6-2 Online backup using the databasesBRBACKUP tool
134
Note: In addition to backup data files, BRBACKUP can be used to back up other files and directories, such as SAP binary files. However, BRBACKUP is not an optimal tool to back up a large quantity of small files. To back up non-database files, Tivoli Storage Manager Backup/Archive Client should be used.
$su - orcadm $BRARCHIVE -c -u / -sd -p /oracle/ORC/102_64/dbs/initORC.sap In addition to data files and redo logs, BRBACKUP and BRARCHIVE can also back up the following objects: BR*Tools profiles init<SID>.ora and init<SID>.dba The BRBACKUP and BRARCHIVE logs The summary BRSPACE log space<SID>.log, the log of database structure changes struc<SID>.log, and the log of database parameter changes param<SID>.log.
135
charger01:orcadm 2> brtools BR0651I BRTOOLS 7.00 (32) BR0280I BRTOOLS time stamp: 2008-09-30 16.52.25 BR0656I Choice menu 1 - please make a selection ----------------------------------------------------------------------BR*Tools main menu 1 2 3 4 5 6 7 8 9 = Instance management Space management Segment management Backup and database copy Restore and recovery Check and verification Database statistics Additional functions Exit program
Standard keys: c - cont, b - back, s - stop, r - refr, h - help ----------------------------------------------------------------------BR0662I Enter your choice: The restore and recovery function is provided under menu number 5 (see Example 6-5). Press 5 and Enter.
Example 6-5 BR*Tools Restore and recovery menu
BR0280I BRTOOLS time stamp: 2008-09-30 16.56.45 BR0656I Choice menu 11 - please make a selection ----------------------------------------------------------------------Restore and recovery 1 2 3 4 5 = Complete database recovery Database point-in-time recovery Tablespace point-in-time recovery Whole database reset Restore of individual backup files
136
6 - Restore and application of archivelog files 7 - Disaster recovery 8 - Reset program status Standard keys: c - cont, b - back, s - stop, r - refr, h - help ----------------------------------------------------------------------BR0662I Enter your choice: The BR*Tools restore and recovery menu allows you to perform the restore tasks, as shown in Example 6-5 on page 136. The restore and recovery functions available in the BR*Tools menu are as follows: 1 - Complete database recovery This function is used to restore and recover (to the time of failure) the entire Oracle databse. Typically, this command is used if the data files have been lost due to a media error. This function: Restores the missing data files from backup media Performs the database recovery to the time of failure 2 - Database point-in-time recovery Point in time recovery is used to restore and recover database to a specified point in time. Typically, this option is used in case of data corruption due to user error. 3 - Tablespace point-in-time recovery This function provides the same function as the previous one. One or more tablespaces can be selected for this type of restore and recovery. 4 - Whole database reset This command allows you to reset an Oracle database after a failure. Typically, you have to perform a database reset in the following situations: All copies of the redo log files have been lost due to an error, but a backup of the data files is available. You performed a complete offline backup or a consistent online backup immediately before the failure. With this function you can reset the database to a consistent state, either to a point in time of the complete offline backup or to a point in time of the consistent online backup.
137
7 - Disaster recovery This option is used to restore an Oracle database in case the entire SAP system has been lost and there are not any other options to recover it. The only components required for BR*Tools disaster recovery are: The SAP system and Oracle database must be installed. The file system .../sapdataX/ has to be recreated. Options 5 and 6 are considered advanced options. For additional information about these functions, refer to the SAP BR*Tools documentation. The BR*Tools restore and recovery tasks are mostly executed from the BRTOOLS menu. However, you have the option to call the BRRESTORE and BRRECOVER tools directly from the command line: BRRESTORE is used to restore the whole database or parts of it (data files, control files, and archive redo log files). BRRESTORE can be run directly from a command line and is also called by the BRRECOVER program when it performs automatic database recovery. Before BRRESTORE starts placing the data files back into the file system, it determines whether there is the appropriate free space on the file system. In addition to restoring data files, BRRESTORE recovers the directories and links. The only prerequisite for executing restore is the directory $SAPDATA_HOME and the sapdata<x> subdirectories (mount points). BRRECOVER is a BR*Tools component used for database restore and recovery after media errors, user errors, or disasters occur and the entire database has to be restored, including backup profiles and logs. BRRECOVER can be used to recover either the entire database (complete database recovery, disaster recovery, or database point-in-time recovery) or part of the database (tablespace point-in-time recovery, individual data files restore, or restore and application of backed up archive redo log files). To restore data files, BRRECOVER calls the utility BRRESTORE.
138
Oracle RMAN: By integrating BR*Tools with Oracle RMAN, BR*Tools can utilize RMAN backup and restore functions. In this configuration, BR*Tools allocates a dynamic RMAN SBT channel and uses it to transfer backup data to a backup media of the channel. Note: Both the adapters SBT API for RMAN and BACKINT for BR*Tools are included in Tivoli Storage Manager for ERP (Oracle) installation package. Thus, BR*Tools can transfer data to the Tivoli Storage Manager server either directly through BACKINT or indirectly through the RMAN channel configured to use Tivoli Storage Manager SBT API. In both of these configurations, BR*Tools employs BACKINT to back up its profiles and logs to a Tivoli Storage Manager server.
139
4. BACKINT transfers the data to Tivoli Storage Manager server using the Tivoli Storage Manager Client API. 5. The BR*Tools updates the repository containing information about the status of the files. Note: If cpio, dd, or the BACKINT interface is used, BRBACKUP sets the tablespaces to backup status before it is copied to the backup media. As soon as the backup is finished, BRBACKUP switches the tablespaces back to normal mode. The backup status of tablespaces may lead to an extensive generation of redo log data. This may lead to a problem in the tablespace that is known as fractured blocks. The RMAN backup function copies data blocks while the tablespace stays in normal mode. Thus, if you use Oracle RMAN integrated with BR*Tools, the extensive log writing issue does not occur. The BACKINT adapter is an executable that provides the interface between BR*Tools and an external media management system. The BACKINT adapter supports the following functions: BACKUP: The backup function defines a backup request, including all the files specified in a list. If the backup request cannot be processed completely, the interface informs the user which files have been backed up successfully (partial backup). The sequence in which the files are saved can be freely determined by the external backup utility. If backup starts, the external backup/restore interface program generates an unique backup ID (BID) for a set of saved files in one session, which clearly identifies the backup. This BID will be given to the appropriate SAP database utility at the end of a backup run. RESTORE: The restore function is used to pass on a restore request to the external backup/restore interface program. This request consists of a user ID, backup IDs, a list of files to be restored, and a list of directories where files should be created. The last parameter is optional. If the backup ID is not set, the last backup of the related file is used. The return information indicates which files have been restored successfully and which backup IDs have been used. INQUIRE: The inquire function provides information about the backups managed by the external backup/restore interface program. This function is called using the UID, BID, and the file name (the last two parameters are optional). If the BID is not set, a list of available backups (BIDs) is provided, which includes the specified file. If a file name is not specified, a list of files belonging to a specific BID is generated.
140
DELETE: The delete function is used to inform Backint for SAP DB about previously saved files or pipes, which are to be deleted or expired. The files or pipes that are not needed any longer are specified by their UID, BID, and name.
Configuration
The BR*Tools configuration is stored in the initialization profile file init<SID>.sap. The configuration file contains parameters that affect the performance of backup and restore functions. The default location of the file is <ORACLE_HOME>/dbs (UNIX) or <ORACLE_HOME>\database (Windows). Some parameters specified in the profile can be overriden if the BR*Tools programs are called with different command options. In the BR*Tools profile, you can specify the backup adapter that will be used to transfer data (cpio, BACKINT, or RMAN). If you set up BR*Tools to use the BACKINT adapter, you have to reference the appropriate BACKINT profile (*.utl file) in the BR*Tools profile. If you want to instruct BR*Tools to use Oracle RMAN, you also have to define the RMAN channel parameters in the BR*Tools profile. The configuration profile of Tivoli Storage Manager for ERP is defined in the file init<SID>.utl, which is usually located in the same directory as the BR*Tools profile (init<SID>.sap). The configuration parameters in init<SID>.utl include Tivoli Storage Manager node name and the management classes to be used for data files backup and offline redo logs backup. If the backup retention is going to be controlled by Tivoli Storage Manager for ERP, you can set up the number of backup versions to be kept in this file. The configuration file of the Tivoli Storage Manager API (dsm.sys) is, by default, stored in the Tivoli Storage Manager API installation directory (specified by the environmental variable DSMI_DIR). The configuration file of the Tivoli Storage Manager API Client defines the network settings (protocol and network address of the Tivoli Storage Manager server) to enable communication between the API Client and the Tivoli Storage Manager server. You also specify in this file the authentication type (PASSWORDACCESS) that the Tivoli Storage Manager API client will use to connect to the Tivoli Storage Manager server. Additionally, if the Storage Agent is operable on the local node in this file, you can instruct Tivoli Storage Manager API Client to use the LAN-free backup (using the LANFREE yes|no option).
141
You can perform the following steps to configure BR*Tools to use the Tivoli Storage Manager BACKINT adapter with Tivoli Storage Manager for ERP: On the Tivoli Storage Manager server: a. Define a policy domain with two management classes that will be used to transfer data and logs. Define an archive copy group for each of the management classes. If the retention control will be performed at the Tivoli Storage Manager server, specify RETVER=<days> for the number of days for each archive copy group. If retention control will be performed at the Tivoli Storage Manager for ERP level, specify RETVER=nolimit. b. Register the Tivoli Storage Manager node with the defined domain. Update the parameter MAXNUMMP for the Tivoli Storage Manager node to MAXNUMMP=2 (based on the parralelism required). On the client node: a. Update or create dsm.sys for the Tivoli Storage Manager API client. The parameter PASSWORDACCESS=PROMPT must be set for this configuration. b. Configure the environment values DSMI_DIR and DSMI_LOG for the Oracle user. the Tivoli Storage Manager API client looks for the dsm.sys configuration file in the directory specified by DSMI_DIR. c. Install Tivoli Storage Manager for ERP - Oracle on the Oracle server, with SAP already installed. The installation wizard lets you specify the name of Tivoli Storage Manager server stanza in dsm.sys, the Tivoli Storage Manager node name, and the management classes to be used for backup of data and archived logs. d. Configure the client resources for Oracle server in the Tivoli Storage Manager for ERP configuration file (<ORACLE_HOME>\dbs\init<SID>.utl). Check the defined Tivoli Storage Manager node name and Tivoli Storage Manager management classes to be used for the backup of offline redo log files and data files. Make sure that the SERVER parameter refers to an existing stanza in the dsm.sys file. If the retention control will be driven by Tivoli Storage Manager for ERP, set up the MAX_VERSIONS parameter. e. Switch the user to the Oracle instance owner and update the password of the Tivoli Storage Manager node using the following command: backint -p <full_path>\init<SID>.utl -f password f. Instruct BR*Tools to use the BACKINT interface by setting the backup_dev_type parameter in the SAP initialization file (init<SID>.sap) as follows: backup_dev_type = util_file
142
g. Instruct BR*Tools to use the file init<SID>.utl (created by Tivoli Storage Manager for ERP installation wizard) by setting the util_par_file parameter in the SAP initialization file: util_par_file=<full_path>/init<SID>.utl For more specific information about this setup, refer to the Data Protection for SAP - Installation and Users Guide, SC33-6340. Note: Tivoli Storage Manager for ERP uses the Tivoli Storage Manager archive functions to transfer data to Tivoli Storage Manager server and vice versa. Thus, the management classes assigned to Tivoli Storage Manager for ERP (init<SID>.utl) must have an archive copy group defined.
143
If you use Tivoli Storage Manager expiration, deactivate DP for SAP versioning by setting MAX_VERSIONS=0. BR*Tools (BACKINT for Tivoli Storage Manager) can control FlashCopy and FlashBack operations performed by Tivoli Data Protection for FlashCopy Devices for mySAP (Oracle). However, the only mySAP DBA tool that can be used for FlashBack operation is BRRESTORE when started with the -m full option. Other tools, such as SAPDBA, BRTOOLS, and BRRECOVER, are not suited to running a complete database restore because they have no interface that allows a disk-oriented restore.
6.2.8 References
See also the following references for more information about the topics in this section: SAP Netweaver 7.1, Oracle Restore and Recovery, 2008, found at; https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/ 97a4f439-0d01-0010-d488-d29b45e2f5ab Interface Specification: Oracle Database Administration, BC-BRI BACKINT Interface for Oracle Databases, 2008, found at; https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/ 24ae2e3a-0d01-0010-838f-ace2a9154bac SAP White Paper: Oracle Database Administration, SAP Database Administration for Oracle, 2008, found at: https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/ 20e638fc-a706-2a10-9d82-c40503247d30 Data Protection for SAP - Installation and Users Guide, SC33-6340
144
We discuss the following topics in this section: 6.3.1, User interfaces on page 145 6.3.2, Backup control functions on page 146 6.3.3, Archive redo log backup functions on page 147 6.3.4, Restore and recovery functions on page 148 6.3.5, Media interfaces on page 150 6.3.6, Backup repository and retention control on page 151 6.3.7, Integration of BR*Tools with Oracle RMAN on page 152 6.3.8, References on page 155
145
run { allocate channel t1 type 'sbt_tape parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)'; backup database plus archivelog all delete input; delete noprompt obsolete recovery window of 30 days; } In Example 6-6, archived logs are backed up right after the database online backup is made. This ensures that you can restore all the archived logs through the time of backup. Thus, media recovery after restoring the online backup is guaranteed. Offline full backup The RMAN script in Example 6-7 performs Oracle database offline (cold) backup using the Tivoli Storage Manager media management library.
Example 6-7 Oracle offline backup using RMAN
run { allocate channel t1 type 'sbt_tape parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)'; shutdown; startup mount; backup database; sql 'alter database open'; } Partial (tablespace or datafile) backup To back up the selected data file test.dbf, run this command: BACKUP DATAFILE '/u01/oracle/oradata/test.dbf'; To back up the selected tablespaces USERS and SYSTEM, run this command: BACKUP TABLESPACE USERS,SYSTEM;
146
Incremental backup RMAN level 0 backup is the base full backup for subsequent incremental backups. The only difference between a level 0 incremental backup and a full backup is that a full backup is never part of an incremental strategy. To do this type of backup, run this command: BACKUP INCREMENTAL LEVEL 0 DATABASE; RMAN level 1 backup is the incremental backup, either differential or cumulative. A differential backup backs up all database blocks changed after the latest incremental backup at level 1 or 0. To do this type of backup, run this command: BACKUP INCREMENTAL LEVEL 1 DATABASE; A cumulative backup backs up all database blocks changed after the latest incremental backup at level 0. To do this type of backup, run this command: BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE; Controlfile and configuration files backup We recommend turning on the parameter controlfile autobackup. If controlfile autobackup is enabled, Oracle backs up the Oracle controlfile and parameter file whenever a successfull backup record is written in the RMAN repository or whenever a structural change to the database influences the content of the controlfile (such as when a data file is created or resized). To do this type of backup, run this command: CONFIGURE CONTROLFILE AUTOBACKUP ON;
147
Example 6-8 illustrates the backup of offline redo logs that have been generated during the database backups. The redo log backup is performed using the same RMAN channel.
Example 6-8 Oracle offline redo logs backup using RMAN
run { allocate channel t1 type 'sbt_tape parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)'; backup archivelog all delete input; }
148
RMAN will access the control file to determine the location of the backup images that are required by the restore operation. If the control files have been lost due to failure, you have to restore the latest version of the control file backed up by control file autobackup feature. To do so, you have to provide the DBID of the database to be restored. See Example 6-9 for the necessary commands to perform this type of restore.
Example 6-9 Restore controlfile from autobackup
set dbid <DBID of databaze>; startup nomount; run { allocate channel t1 type 'sbt_tape' parms ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)'; restore controlfile from autobackup; Database recovery: To perform a complete database recovery, issue the command recover database. To perform a database recovery for a given log sequence, use the command recover database until logseq=<log_seq#> thread=<log_thd#>. To perform a database recovery to a point in time, use the command recover database until time '2008-05-18:10:10:00'. The RMAN script in Example 6-10 presumes that the media failure affected only the database data files. Control files as well as the active redo files remain intact. The failed storage media have been replaced. Therefore, we can perform the full database restore and complete recovery. The example presumes that the full backup of database and offline redo log files was taken regularly before the failure occurred.
Example 6-10 Restore and complete recovery of Oracle database using RMAN
shutdown immediate; startup nomount; run { allocate channel t1 type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)'; restore database; recover database; alter database open noresetlogs; }
149
Before the restore operation can start, we have to put the the database into the nomount mode (startup nomount). Than we can dynamically allocate the RMAN channel named t1 that uses Tivoli Storage Manager SBT media (allocate channel). As soon as the channel is allocated, we execute the database restore function with no parameters. It instructs RMAN to restore all the data files from the last available database backup. As soon as the restore is finished, we have to restore the offline redo logs and apply all the transactions from redo logs that had been performed on the database since the last backup to the time of failure. This is done by using the recover database command. Database recovery uses the offline redo logs restored from Tivoli Storage Manager as well as the online redo logs that remained intact to apply the changes. As soon as the database recovery is finished, we can open the database with the noresetlogs option, because the active log files have not been affected by the failure and the log files chain has not been interrupted.
150
You can define the persistent RMAN channel by using the RMAN CONFIGURE command, as shown in Example 6-11. The persistent configuration of RMAN is saved in the Oracle control files.
Example 6-11 Persistent channel definition
configure channel device type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin64/tdpo.opt)'; configure default device type to 'sbt_tape'; Example 6-12 demonstrates the dynamic channel allocation within the RMAN run block. Channel t1 is allocated to use the Tivoli Storage Manager SBTAPI interface. The backup function is initiated within the same run block after the channel allocation command.
Example 6-12 Dynamic channel allocation
run { allocate channel t1 type 'sbt_tape parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)'; backup database plus archivelog delete input; }
151
REPORT The REPORT OBSOLETE command lists all the backup pieces that are not compliant with the RMAN persistent retention policy settings. DELETE You can control the retention of the backups of data files and redo logs by using the RMAN DELETE command. The DELETE command removes the selected physical backup images and updates the corresponding records in the control file to indicate that the backups have been deleted. The delete obsolete command removes any backup pieces that are not compliant with the RMAN persistent retention settings. If the persistent retention policy is not set up, you can use the DELETE OBSOLETE REDUNDANCY=30 commands to delete the obsolete backup versions older than 30 versions. To delete backup images older than 30 days, use the command DELETE OBSOLETE RECOVERY WINDOW OF 30 DAYS. Note: The RMAN retention policy can be defined as part of a RMAN persistent configuration. The retention can be specified either by the number of backup versions to keep on the backup media (CONFIGURE RETENTION POLICY TO REDUNDANCY 2;) or by the number of days the backup versions should be kept (CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS;).
152
the advantages of integrating RMAN with BR*Tools are: Database blocks are checked for logical errors during the backup. Only the used database blocks are backed up. Tablespaces do not need to be set to BEGIN BACKUP mode, so the amount of logs generated during the backup is reduced. BRBACKUP integrated with RMAN supports cumulative incremental backup at level 1. Note: For Oracle versions prior to 10g, usage of RMAN incremental backup may not reduce the duration of the backup process much, as the database has to check every database block being backed up for changes. Oracle 10g implements a new feature called Block Change Tracking. Block Change Tracking solves this problem by tracking all the data blocks that have been changed. This results in faster incremental backup processing, because during the backup process Oracle only needs to read the changed blocks in data files. You can enable Oracle block change tracking by issuing the following command: ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '/oacle/admin/BCT/track.dbf'; The information about data block changes will be saved in the file track.dbf, as specified as a parameter of alter database command. The Tivoli Storage Manager media management library (SBTAPI) is a part of Tivoli Storage Manager for ERP installation. In addition to Tivoli Storage Manager media management library for RMAN, Tivoli Storage Manager for ERP provides the BACKINT interface for Tivoli Storage Manager. In this configuration, BR*Tools uses BACKINT to back up BR*Tools profiles and logs. Database backup images are transferred to a Tivoli Storage Manager server by RMAN through the SBT channel. Tip: The SAP integration of Oracle RMAN does not use a recovery catalog. Oracle uses a database control file as a repository to keep track of backups, so the Oracle parameter control_file_record_keep_time should be set to a value that is higher than the one for the RMAN retention policy.
153
A database backup consists of two steps: 1. BRBACKUP calls the backup function of Oracle RMAN. RMAN reads the database blocks to be backed up and sends it to the Tivoli Storage Manager media management library. The Tivoli Storage Manager media management library calls the Tivoli Storage Manager client API to send backup data to the Tivoli Storage Manager server. 2. After the database backup is completed, BRBACKUP sends the Oracle controlfile, BR*Tools initialization profiles, and BR*Tools log files to the Tivoli Storage Manager server using the BACKINT adapter. The control file sent in this step contains the information backup performed in step 1. You can perform the following steps to configure BR*Tools to use the RMAN Tivoli Storage Manager channel: On the Tivoli Storage Manager server: a. Define a policy domain with two management classes that will be used to transfer data and logs. Define an archive management class within each of the management classes. If the retention control will be performed at the Tivoli Storage Manager server, specify RETVER=#of days for each archive copy group. If the retention control will be performed at Tivoli Storage Manager for ERP, specify RETVER=nolimit. b. Register the Tivoli Storage Manager node with the defined domain. Update the parameter MAXNUMMP for the Tivoli Storage Manager node to MAXNUMMP=2 (based on the parralelism required). On the client node: a. Update or create DSM.OPT and DSM.SYS to configure the Tivoli Storage Manager API client. The parameter PASSWORDACCESS must be set to PROMPT in this configuration. b. Set up the environment values DSMI_DIR and DSMI_LOG for the Oracle OS user. c. Install Tivoli Storage Manager for ERP (Oracle) on the Oracle server, with SAP already installed. d. Configure the client resources for Oracle server in the Tivoli Storage Manager for ERP configuration file (<ORACLE_HOME>\dbs\init<SID>.utl). Check the defined Tivoli Storage Manager node name and Tivoli Storage Manager management classes to be used for the backup of offline redo log files and data files. Make sure that the SERVER parameter refers to an existing stanza in the dsm.sys file. If the retention control will be driven by Tivoli Storage Manager for ERP, set the MAX_VERSIONS parameter.
154
e. Switch to the Oracle instance owner and update the Tivoli Storage Manager node password for Oracle using the following command: backint -p <ORACLE_HOME>\dbs\init<SID>.utl -f password f. Make sure that RMAN can access the Tivoli Storage Manager SBTAPI. The following links must exist (be created): ln -s /usr/tivoli/tsm/tdp_r3/ora/libtdp_r3.<ext> /usr/lib/libobk.<ext> ln -s /usr/lib/libobk.<ext> $ORACLE_HOME/lib/libobk.<ext> g. Instruct BR*Tools to use RMAN by setting the backup_dev_type and rman_parms in the SAP initialization file (init<SID>.sap) as follows: backup_dev_type = rman_util rman_parms="ENV=(XINT_PROFILE=<ORACLE_HOME>/dbs/init<SID>.utl,PRO LE_PORT=<portnumber>,&BR_INFO)" h. Instruct BR*Tools to use the file init<SID>.utl for Tivoli Storage Manager specific parameters by setting the util_par_file parameter in the SAP initialization file: util_par_file=<path to Tivoli Storage Manager for ERP util file init<SID>.utl>
6.3.8 References
For more information about the topics discusssed in this section, refer to the following documents: Oracle Database Backup and Recovery Basics, B14192-03 Data Protection for SAP - Installation and Users Guide, SC33-6340 Backing Up Oracle Using Tivoli Storage Management, SG24-6249 SAP White Paper Oracle Database Administration - BR*Tools with Oracle RMAN, 2008, found at: https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/ a8910c3a-0d01-0010-a6a9-f4a8aae140fe
155
156
157
Tip: When performing an online backup on a DB2 database, you can specify that the log files generated during the backup operation are included in the backup image, as these logs are needed for recovery after restoration from online backup. This provides an additional protection against the deletion of the log files required for successful recovery. Use the INCLUDE LOGS parameter, as shown in this command: BACKUP DATABASE <SID> ONLINE USE TSM INCLUDE LOGS; Offline backup Before running an offline backup, all the database connections have to be closed. You have to stop the SAP system before starting the offline backup by running this command: FORCE APPLICATION ALL; TERMINATE; BACKUP DATABASE <SID> USE TSM; Partial (tablespace) backup A partial database backup performs a backup of the selected subset of DB2 tablespaces. The comma separated tablespace names must be specified after the TABLESPACE keyword as follows: BACKUP DATABASE <SID> TABLESPACE <tablespace names> USE TSM; Incremental backup An incremental backup captures all the changes that occured on the database since the last full backup. This back can be done by running this command: BACKUP DATABASE <SID> ONLINE INCREMENTAL USE TSM; A delta backup saves any data that has changed since the last backup of any type (full, incremental, or delta). This backup can be done by running this command: BACKUP DATABASE <SID> ONLINE DELTA USE TSM;
158
Note: To run a tablespace level backup or online backup, DB2 must be configured in archive log mode instead of circular log mode. You can enable archive mode log by setting the LOGARCHMETH1 database configuration parameter. You must take a full backup after turning on the archive log mode. To perform an incremental or delta backup, in addition to setting the enabled archive mode, you must set the database configuration parameter TRACKMOD to ON. This allows the database manager to keep track of database blocks modifications. The command to set TRACKMOD to ON is: UPDATE DB CFG USING TRACKMOD 0N;
159
DB2 Log Manager can transfer offline log files to two different backup destinations in parallel. You can enable the second backup location by setting up the database configuration parameter LOGARCHMETH2. The backup media (the values of the LOGARCHMETH1 and LOGARCHMETH2 parameters) that can be used by DB2 Log Manager are as follows: DISK:<directory>: Archived logs are placed into the local directory specified by the parameter <directory>. The command syntax is: UPDATE DB CFG FOR <SID> USING LOGARCHMETH1 DISK:/BACKUPS TSM:<management class>: DB2 uses the Tivoli Storage Manager built-in support (plus Tivoli Storage Manager API client) to back up archived logs to the Tivoli Storage Manager server. The command syntax is: UPDATE DB CFG FOR <SID> USING LOGARCHMETH1 TSM:SAP_LOGS_MGMT VENDOR:<vendor library path>: The media management API provided by the storage vendor is used to transfer backup data to the media management system. The command syntax is: UPDATE DB CFG FOR <SID> USING LOGARCHMETH1 VENDOR:/usr/tivoli/tsm/tdp_r3/db264/libtdpdb264.a If you are configuring a vendor media library as a backup destination, the environment settings file for the vendor library must be defined to DB2 within the LOGARCHOPT1 parameter. The command syntax is: UPDATE DB CFG FOR <SID> USING LOGARCHOPT1 /db2/<SID>/tdp_r3/vendor.env USEREXIT: A user exit executable provided by a third party is called to back up archived logs. Note: The former database configuration parameters USEREXIT and LOGRETAIN have been integrated into the LOGARCHMETH* configuration parameters. During the migration to DB2 Version 8.2 (or when updating to DB2 Version 8.1 FP7, which corresponds to DB2 Version 8.2), LOGARCHMETH1 is set to USEREXIT if the database is using that parameter. The user exit method is not supported for DB2 Version 9.1 and higher.
160
161
162
The basic commands that are used to manage DB2 recovery history information are as follows: LIST HISTORY: Used to list the records of backup/recovery and administrative events in the history file. The command syntax is: LIST HISTORY BACKUP ALL FOR DB <SID> LIST HISTORY ARCHIVE LOG ALL FOR DB <SID> UPDATE HISTORY: Used to update the location, device type, comment, or status in the DB2 history record. The command can be used when, for example, backups have been moved to a different location or if the backup images are no longer available. PRUNE HISTORY: Used to delete entries from the recovery history file.
Configuration
The configuration of the DB2 backup interface is performed partly in the DB2 database configuration and partly in the the operating system. You can perform the following steps to set up DB2 UDB to use the Tivoli Storage Manager API interface: On the Tivoli Storage Manager server: a. Define a policy domain with one management class that will be used to transfer data and logs. Define a backup copy group and archive copy group within the management class. Assign the defined management class as a default management class for the defined policy domain. For the backup copy group, specify the retention parameters as VEREX=1, VERDEL=0, RETEXT=0, RETONLY=0. For the archive management class, specify RETVER=NOLIMIT. b. Register the Tivoli Storage Manager node with the defined domain. Update the parameters for Tivoli Storage Manager node as BACKDEL=Yes, MAXNUMMP=2 (depending on the required parallelism level)
163
On the client node: a. Update or create dsm.opt and dsm.sys to configure the Tivoli Storage Manager API client for DB2. The parameter PASSWORDACCESS=GENERATE must be set for this configuration. b. Set up the environment values DSMI_DIR, DSMI_CONFIG, and DSMI_LOG for the DB2 owner user. DSMI_CONFIG should point to the dsm.opt file, which contains the name of the server stanza, from dsm.sys file, to be used. c. Update the Tivoli Storage Manager client password file for DB2 node using the executable <DB2_HOME>\sqllib\adsm\dsmapipw. You need to switch to root before updating the password using dsmapipw. Before updating the password, you might need to export the variables DSMI_DIR, DSMI_CONFIG, and DSMI_LOG so that they can be used by the root user. d. Restart the DB2 instance. e. Optionally, you can enable DB2 automatic log management so that it sends archived logs to Tivoli Storage Manager using the built-in support. This can be specified by setting the DB2 configuration parameter LOGARCHMETH1 as follows: udpate db cfg for <SID> using LOGARCHMETH1 TSM:<management_class> f. If you use the direct log backup method specified in step e, you should also specify DB2 configuration parameter FAILARCHPATH. FAILARCHPATH points to the directory to be used as a temporary storage for offline logs in case that the Tivoli Storage Manager server is unavailable. This can prevent the DB2 from filling up the log directory. The command syntax is: update db cfg for <SID> using FAILARCHPATH <offline_log_path>
164
To delete versions of backup images specified by the number of images to be kept: DB2ADUTL DELETE FULL KEEP <# OF BACKUP IMAGES> DB <SID> WITHOUT PROMPTING; To delete the versions of backup images specified by the number of days: DB2ADUTL DELETE FULL OLDER THAN <# OF DAYS> DB <SID> WITHOUT PROMPTING; To delete the set of offline logs specified by the name of the first and last log file: DB2ADUTL DELETE LOGS BETWEEN S0000000.LOG AND <NAME OF THE LAST LOG TO DELETE> QUERY: Used to display the backup objects (backup images, redo log backups, or both) stored on the Tivoli Storage Manager server. The command syntax is: DB2ADUTL QUERY FULL DB2ADUTL QUERY LOGS EXTRACT: Copies DB2 objects from the Tivoli Storage Manager server to the current directory on the local machine. GRANT: Adds the access rights to the Tivoli Storage Manager files on the current Tivoli Storage Manager node to all users or to the users specified. Granting access to users gives them access for all current and future files related to the database specified. REVOKE: Removes access rights to the Tivoli Storage Manager files on the current Tivoli Storage Manager node from all users or to the users specified. QUERYACCESS: Retrieves the current access list. A list of users and Tivoli Storage Manager nodes is displayed. Note: To enable DB2ADUTL to delete obsolete backups, th eparameter BACKDEL=YES must be set for the Tivoli Storage Manager node. This parameter grants the Tivoli Storage Manager client the right to delete stored backup objects.
6.4.8 DB2 UDB with Tivoli Storage Manager for ERP (DB2)
Tivoli Storage Manager for ERP (DB2) is a software package developed by IBM. In addition to backup and restore functions, Tivoli Storage Manager for ERP provides functionality designed especially for the SAP environment. Tivoli Storage Manager for ERP (DB2) provides the Tivoli Storage Manager adapter for DB2. DB2 can interact with Tivoli Storage Manager for ERP (DB2) through the
165
vendor library interface. The interaction of DB2 and Tivoli Storage Manager for ERP proceeds as follows: 1. The DB2 Command-Line Processor interprets backup and restore commands and passes control to a DB2 Server Process. 2. The DB2 Server Process dynamically loads the Tivoli Storage Manager for ERP shared library, reads the data from the database containers, reads the DB2 configuration files, and passes the backup data to the DB2 vendor library. 3. The Tivoli Storage Manager shared library transfers the data to the Tivoli Storage Manager server using the Tivoli Storage Manager client API. Figure 6-4 gives an overview of these steps.
DB2 Instance TSM for ERP (DB2) BackOM VENDOR API TSM API Client
TSM Server
DB2 Data
Control Data
Tivoli Storage Manager for ERP (DB2) keeps information about all tablespaces of a database backed up for every backup image on Tivoli Storage Manager. This information about the physical database layout, the Tablespace Definition Information (TDI), is stored in addition to the production data. The TDI is a prerequisite for redirected restore.
166
The Backup Object Manager (backom) provides redirected restore functionality based on the redirected restore facility of DB2. With redirected restore, an administrator can: Restore a DB2 database to a different location. Change the physical database layout of a restored database, including the location of tablespace containers, the number of tablespace containers, their names, and their sizes. Clone a database, changing both the name and the location of the database. With Backup Object Manager, a redirected restore of a database can be performed nearly automatically using a simple set of commands. BackOM also performs some plausibility checks before actually starting the operation.
Configuration
You can perform the following steps to configure DB2 to use Tivoli Storage Manager for ERP: On the Tivoli Storage Manager server: a. Define a policy domain with two management classes that will be used to transfer data and logs. Define an archive copy group for both management classes. If the retention control will be performed at the Tivoli Storage Manager server, specify RETVER=<days> for each archive copy group. If the retention control will be performed at Tivoli Storage Manager for ERP level, specify RETVER=nolimit. b. Register TSM node with the defined domain. Update the parameter MAXNUMMP for TSM node to MAXNUMMP=2 (based on the parralelism required). On the client node: a. Update or create Tivoli Storage Manager API client option files DSM.OPT and DSM.SYS. The parameter PASSWORDACCESS=GENERATE must be set for this configuration. b. Configure the environment values DSMI_DIR, DSMI_CONFIG, and DSMI_LOG in the DB2 instance owner users profile. You need to restart the DB2 instance to make the parameters effective for DB2. c. Install Tivoli Storage Manager for ERP (DB2) on the DB2 UDB server, with SAP already installed. The installation wizard lets you specify the name of Tivoli Storage Manager server stanza (in dsm.sys), the Tivoli Storage Manager node name, and th emanagement classes to be used for the backup of data and archived logs.
167
d. Check the client resource for the Tivoli Storage Manager server in the Tivoli Storage Manager for ERP configuration file /db2/<SID>/tdp_r3/init<SID>.utl. Verify that the following environment variables are set correctly in the DB2 owner users profile: XINT_PROFILE, DB2_VENDOR_LIB, TDP_DIR e. Switch to the DB2 instance owner and update the Tivoli Storage Manager client password for DB2 node using the following command: $/usr/tivoli/tsm/tdp_r3/db264/backom -c password f. Restart the DB2 instance. g. Optionally, you can set up DB2 automatic log management so that the archived logs are sent to Tivoli Storage Manager using the Tivoli Storage Manager media management library provided by Tivoli Storage Manager for ERP. This can be achieved by setting the DB2 configuration parameters LOGARCHMETH1 and LOGARCHOPT1 as follows: udpate db cfg for <SID> using LOGARCHMETH1 VENDOR:/usr/tivoli/tsm/tdp_r3/db264/libtdpdb264.a update db cfg for <SID> using LOGARCHOPT1 /db2/<SID>/tdp_r3/vendor.env h. If you use the direct log backup method specified in step g, you should also specify db2 configuration parameter FAILARCHPATH. FAILARCHPATH points to a directory to be used as a temporary storage for offline logs in case that the Tivoli Storage Manager server is unavailable. This can prevent the DB2 from filling up the log directory. The command syntax is: update db cfg for <SID> using FAILARCHPATH <offline log path>
168
You can also run an online backup by calling the Tivoli Storage Manager API library directly on the DB2 CLI: BACKUP DB <SID> ONLINE LOAD /usr/tivoli/tsm/tdp_r3/db264/libtdpdb264.a DB2 offline backup with Tivoli Storage Manager for ERP: backom -c b_db -a <SID> DB2 tablespace backup with Tivoli Storage Manager for ERP: backom -c b_db -a <SID> -T <comma separated tablespace names> DB2 incremental backup with Tivoli Storage Manager for ERP You can instruct Backup Object Manager to make an incremental backup by specifying the option R followed by the type of backup. You can specify one of the following three backup types: Full Incremental Delta The following example ilustrates the online incremental backup using Backup Object Manager: backom -c b_db -a <SID> -O -R incremental You can also make an incremental backup by calling the backup function on the DB2 CLI as follows: BACKUP DB <SID> ONLINE INCREMENTAL LOAD /usr/tivoli/tsm/tdp_r3/db264/libtdpdb264.a
169
To restore perform an offline restore of a database from the full backup taken on February 22 2008 at 16:10: 30 using using Backup Object Manager (backom), run this command: db2sid>backom -c r_db -a <SID> -t 20080222161030 Partial database restore To perform an online restore of the tablespaces syscatspace and userspace1 from the last backup, run this command: DB2>restore database <SID> tablespace (syscatspace1,userspace1) online LOAD /usr/tivoli/tsm/tdp_r3/db264/libtdpdb264.a; Database roll-forward recovery Note: In order to perform the roll-forward operation, DB2 needs access to the backed up offline logs. Make sure that the DB2 configuration parameters LOGARCHMETH1 and LOGARCHOPT1 have the same values that they had during the time the backup of the logs was taken. If the log files are to be restored using the Tivoli Storage Manager vendor library provided by Tivoli Storage Manager for ERP, the correct settings are as follows: LOGARCHMETH1=VENDOR:/usr/tivoli/tsm/tdp_r3/db264/libtdpdb264.a LOGARCHOPT1=/db2/<SID>/tdp_r3/vendor.env To perform an offline rollforward on an entire database to end of logs (complete full recovery), run this command: DB2>rollforward database <SID> to end of logs and complete; To perform an offline rollforward on an entire database to a point in time (incomplete full recovery), rund this command: DB2>rollworward database <SID> to 2008-03-10-15.50.21.253422 To perform an online rollforward on a tablespace userspace1 to end of logs (complete tablespace recovery), run this command: DB2>rollforward datatabase <SID> to end of logs and stop tablespace (userspace1)
170
DB2 List DB2 Logfile Backups (Tivoli Storage Manager for ERP) To list all the backups of archived logs for <SID> database, run this command: db2sid>backom -c q_log -a <SID> DB2 Delete Database Backups (Tivoli Storage Manager for ERP) To delete all DB2 backup images that were created before June 2002, run this command: db2sid>backom -c d_db -a <SID> -t 1900*-20020601000000 DB2 Delete Backup of Archived Logs (Tivoli Storage Manager for ERP) To delete all DB2 log files that were created before June 2002, run this command: db2sid>backom -c d_log -a <SID> -t 1900*-20020601000000
6.4.9 References
The following are some additional references that you can use for more information about the topics discussed in this section: IBM Tivoli Storage Management Concepts, SG24-4877 IBM Tivoli Storage Management Concepts, SG24-4877 Backing Up DB2 Using IBM Tivoli Storage Management, SG24-6247
171
the failure, you also have to restore the log area. Thus, to ensure the appropriate data protection, you should back up the data and log areas regularly. MaxDB supports the backup and restore functionality for both data and log areas. Every backup is made to a backup media represented by the corresponding media definition in the MaxDB configuration. In addition to the disk backup, MaxDB supports interfaces to external media management systems, such as Tivoli Storage Manager. MaxDB backups can be transferred to a Tivoli Storage Manager server through the following adapters: ADINT/TSM: An IBM software product designed and optimized to transfer MaxDB backup data to and form Tivoli Storage Manager. BACKINT: An adapter that is compatible with BR*Tools and Oracle backups and restores. The Tivoli Storage Manager BACKINT adapter is a part of the Tivoli Storage Manager for ERP (Oracle) software package. This section includes the following topics: 6.5.1, User interfaces on page 172 6.5.2, Backup control functions on page 173\ 6.5.3, Archived redo log backup functions on page 174 6.5.4, Restore and recovery functions on page 174 6.5.5, Media interfaces on page 176 6.5.6, Backup repository on page 177 6.5.7, MaxDB with ADINT/TSM on page 178 6.5.8, References on page 180
172
173
An example for a backup using full backup is: $su - sdb -c "/sapdb/programs/bin/dbmcli -uUTL -d CST -u gcbckusr,passw0rd backup_start BACK_full recovery DATA" Incremental backup saves the blocks that have changed since the last full backup. The command syntax is: dbmcli -d <database_name> -u <user_name>,<password> -uUTL -c backup_start incrF
174
3. Query the external backup tool for existing backup IDs. You have to query both DATA and LOG media types. Run the following command: dbmcli -d <SID> backup_ext_ids_get <External Media ID> 4. List the backup IDs fetched in the previous step by running the following command: dbmcli -d <SID> backup_ext_ids_list Example 6-13 shows a sample listing of external IDs.
Example 6-13 External IDs listed by backup_ext_ids_list function
AVAILABLE|desmoines01_CSX_2008.05.22_00.45.06_SAVEDTNCHK_ADSM_DATA|DATA RECOVERY |2008-05-22 00:45:06| AVAILABLE|desmoines01_CSX_2008.06.08_20.09.13_SAVEDTNCHK_ADSM_data|DATA RECOVERY |2008-06-08 20:09:13| AVAILABLE|desmoines01_CSX_2008.06.08_20.43.43_SAVEDTNCHK_ADSM_data|DATA RECOVERY |2008-06-08 20:43:43| AVAILABLE|desmoines01_CSX_2008.06.08_20.50.07_SAVEDTNCHK_ADSM_data|DATA RECOVERY |2008-06-08 20:50:07| AVAILABLE|desmoines01_CSX_2008.06.08_20.50.58_SAVELOG_ADSM_log|LOG RECOVERY |2008-06-08 20:50:58| AVAILABLE|desmoines01_CSX_2008.06.08_21.56.18_SAVEDTNCHK_ADSM_data|DATA RECOVERY |2008-06-08 21:56:18| AVAILABLE|desmoines01_CSX_2008.06.10_10.30.40_SAVEDTNCHK_ADSM_data|DATA RECOVERY |2008-06-10 10:30:40| AVAILABLE|desmoines01_CSX_2008.06.10_10.31.56_SAVELOG_ADSM_log|LOG RECOVERY |2008-06-10 10:31:56| 5. Restore the data area from the latest backup image. Specify the external backup ID of the latest backup of type DATA similar to the one shown in Example 6-13. The command syntax is: dbmcli -d <SID> recover_start <Backup Media ID> <backup type> EBID <Backup ID> 6. Restore the log area. In the restore command, specify the latest external backup ID of type LOG. The time stamp of the Log backup must be newer than the time stamp of the DATA backup, and this time stamp can be collected again from Example 6-13. The command syntax is: dbmcli -d <SID> recover_start ADSM_log LOG EBID desmoines01_CSX_2008.06.10_10.31.56_SAVELOG_ADSM_log 7. Switch the restored MaxDB database to online mode by running this command: dbmcli -d <SID> db_online
175
176
Note: To enable online MaxDB backups or log backups to Tivoli Storage Manager, you can use one of the following packages: IBM ADINT/TSM: Provides an ADINT interface (device type TSM) IBM Tivoli Storage Manager for ERP: Provides a BACKINT interface for Oracle (device type BACK) Both the ADINT and BACKINT interfaces exchange data with MaxDB through pipes. Therefore, the media type defined for those channels has to be PIPE. Device or file of data carrier: The name of the OS device or path and name of file or pipe. Example 6-14 shows the definition.
Example 6-14 MaxDB media definition
177
Configuration
You can perform the following steps to configure SAP MaxDB to use ADINT/TSM: On the Tivoli Storage Manager server: a. Define a policy domain with two management classes that will be used to transfer data and logs. Define the archive copy group for both management classes. If the backup retention will be controlled by ADINT, specify the parameter RETVER=nolimit for both of the archive copy groups. If the expiration of backups will be controlled by the Tivoli Storage Manager server, specify RETVER= # of versions to keep for both of the archive copy groups. b. Register a Tivoli Storage Manager node with the domain defined in the previous step.
178
On the client node: a. Update or create the Tivoli Storage Manager API client option files DSM.OPT and DSM.SYS. The parameter PASSWORDACCESS must be set to GENERATE for this configuration. b. Configure the following environment values (DSMI_DIR and DSMI_LOG) in the MaxDB users profile. c. Install ADINT/TSM into the MaxDB server. The installation wizard lets you specify the name of Tivoli Storage Manager server stanza (in dsm.sys), the Tivoli Storage Manager node name, and management classes for data and logs. d. Switch to the MaxDB instance owner and update the Tivoli Storage Manager node password for MaxDB using the following command: sdb$adint2 -x e. Register ADINT/TSM in the MaxDB environment by setting the variables ADINT and ADA_OPT as follows: sdb$dbmcli -d <SID> -u <username>,<password> -uUTL dbmcli>dbm_configset -raw ADINT /usr/tivoli/tsm/adint64 dbmcli>dbm_configset -raw ADINT_UTL /sapdb/adint/init<SID>.utl f. Define the MaxDB media for ADINT/TSM with the following parameters: Backup name: The media name must start with ADSM (MaxDB up to V7.5). Backup type: DATA or LOG, depending on the purpose of the media. Device type: PIPE. Type of media management system: TSM (MaxDB V7.6 and higher only).
If you are using MaxDB V7.5 or earlier, you can define the media as follows: dbmcli -d <SID> -u <username>,<password> -uUTL dbmcli>medium_put ADSM_full /tmp/data.pipe1 PIPE DATA dbmcli>medium_put ADMS_log /tmp/log.pipe1 PIPE LOG If you are using MaxDB V7.6 and later, specify the media definition as follows: dbmcli -d <SID> -u <username>,<password> -uUTL dbmcli>medium_put BACK_full /tmp/data.pipe1 PIPE DATA 0 8 NO NO \\ \\ TSM dbmcli>medium_put BACK_log /tmp/log.pipe1 PIPE DATA 0 8 NO NO \\ \\ TSM
179
6.5.8 References
You can use the following links and books as further references about the topics discussed in this section: SAP Backup and Restore Interface for SAP DB Systems of Version 7.X (Backint for SAP DB), 2003, found at: http://www.sapdb.org/pdf/backint_eng.pdf SAP MaxDB Library: Connecting to a Backint for Oracle Interface, found at: http://maxdb.sap.com/doc/7_7/45/746a5712e14022e10000000a1553f6/frame set.htm IBM ADINT/Tivoli Storage Manager for MaxDB - Installation and Users Guide, 2005, found at: http://www-05.ibm.com/de/entwicklung/adint_tsm/download/user_guide.p df SAP, MaxDB - The Professional DBMS, 2005, found at: http://mysql2.mirrors-r-us.net/doc/maxdb/pdf/whitepaper.pdf Data Protection for SAP - Installation and Users Guide, SC33-6340
180
BRBACKUP ...
Restore Command Complete or incomplete (PIT) recovery command List backup command
brrestore brrecover
restore db rollforward db
brtools interface
DBMCLI>back up_ext_ids_ge t; DBMCLI>back up_ext_ids list by TSM Server: RETVER or by TSM for ERP: MAX_VERSIO NS
delete ...
181
Oracle RMAN
BR*Tools
DB2 UDB (TSM for ERP) TSM VENDOR API (TSM for ERP) DB2 History File
SAP MaxDB
SBTAPI (TSM for ERP or TSM for Databases) Oracle Control Files (optionally also RMAN Catalog)
ADINT (ADINT/TSM) or BACKINT (TSM for ERP) MaxDB Backup Hitory File
Backup Repository
182
Chapter 7.
183
184
185
There are many options to implement HACMP, and all these options depend on costs. Figure 7-2 shows some of the implementation options.
The HACMP technology provides you with a combination of physical components and software feature that provide an highly available environment built on your business requirements. HACMP has the following highlights: Helps reduce unplanned outages and improve system availability Offers ease of use through configuration wizards, auto-discovery, and a Web-based interface Allows backup systems to be located at a remote site for geographic disaster recovery Provides failover on demand to enable system maintenance without service interruption Offers new support for Linux to extend HACMP across IBM System p environments Tivoli Storage Manager backups run in HACMP just as they do in an stand-alone environment. The Tivoli Storage Manager client installation switches over from the primary server to the standby server just as the other applications do. You just have to make sure that all connectivity to the storage devices and to the Tivoli Storage Manager server are the same in both servers.
186
Additional information about HACMP can be found at the following address: http://www-03.ibm.com/systems/p/advantages/ha/index.html
LAN WAN
Node A
Node B
Databases
Figure 7-3 Sample MSCS scenario
Tivoli Storage Manager backups run in MSCS just as they do in an stand-alone environment. The Tivoli Storage Manager client installation switches over from the primary server to the standby server just as the other applications do. You just have to make sure that all connectivity to the storage devices and to the Tivoli Storage Manager server are the same in both servers.
187
Note: You have to install the Tivoli Storage Manager client software on a local disk on each cluster node and in the same location (directory). Additional information about the Microsoft Cluster Services software can be found at the following address: http://www.microsoft.com/windowsserver2003/enterprise/clustering.mspx
188
Oracle clients
LAN WAN
Node A
Shared cache
Databases
Hub/Switch Fabric
Node B
Note: A cluster file system (CFS) is a prerequisite for using RAC in the SAP environment. The use of raw devices or those of Automatic Storage Management (ASM) is not supported in the SAP environment (see SAP Note Number 527843, which can be found at http://service.sap.com/sap/support/notes/527843). For Oracle RAC databases, you have the following backup options when using Tivoli Storage Manager: Hot Backup, using the standard dsmc client backup command. You have to properly put the database in backup mode (run alter tablespace <tablespace name> begin backup or alter database begin backup) and, when you are finished with the backup, you must turn off the backup mode (run alter tablespace <tablespace name> end backup or alter database end backup).
189
Data Protection for SAP for Oracle. It is available both for the Backint and RMAN interfaces. Data Protection for Oracle. It is available only for the RMAN interface. The Tivoli Storage Manager backups runs in Oracle RAC just they do in a stand-alone environment. The Tivoli Storage Manager client installation switches over from the primary server to the standby server just as the other applications do. You just have to make sure that connectivity to the storage devices and to the Tivoli Storage Manager server are available from both servers. Additional information about Oracle RAC can be found at the following address:
http://www.oracle.com/technology/products/database/clustering/index.html
190
Additional information can be found in the Tivoli System Automation V3.1 documentation library at the following address: http://publib.boulder.ibm.com/tividd/td/IBMTivoliSystemAutomationforMul tiplatforms3.1.html
191
Linux Cluster. It is available to some Linux distributions (confirmed this availability with your Linux provider).
192
Tivoli Storage Manager backups run in HACMP/XD just as they do in an stand-alone environment. The Tivoli Storage Manager client installation switches over from the primary server to the standby server just as the other applications do. You just have to make sure that all connectivity to the storage devices and to the Tivoli Storage Manager server are the same in both servers. Additional information about the available features can be found at the following address: http://www-03.ibm.com/systems/p/advantages/ha/disaster/tech.html
193
The main function of this feature is to continuously update the target ESS Disks. The read and write protocol guarantees that the target disk is constantly updated by ensuring that the primary copy is written only if the secondary copy has been safety written. The target ESS Disk is usually located at a remote location and communication occurs over a Fibre Channel link or over ESCON. Figure 7-7 shows a sample Metro Mirror implementation.
The main functions of Metro Mirror are: Provides synchronous copy (mirroring to another ESS). Provides a disaster recovery solution. It supports remote copy to long distance sites (at least 103 km). Establishes itself on a volume level. Provides a direct connection between ESS System using Fibre Channel or ESCON links. Note: This solution is available to all SAP supported environments (DB2, Oracle, MaxDB, and Microsoft SQL Server).
194
195
All backup methods available for Oracle RAC remain valid for Oracle MAA. The most up to date information about Oracle Maximum Availability Architecture can be found at the Oracle Web site at the following address: http://www.oracle.com/technology/deploy/availability/htdocs/maa.htm
196
In case of a disaster, you can quickly activate the standby database (which becomes the primary database). After rebuilding the original primary database, you can switch back to the original environment. The standby database itself is the backup. You can back up the standby environment to avoid processing impacts to the primary database when a disaster occurs. To take the backup, you have to shut down the primary database or switch it to read only mode and then back up all database files. The most up to date information about Oracle Dataguard can be found at the Oracle Web site at the following address: http://www.oracle.com/technology/deploy/availability/htdocs/DataGuardOv erview.html
197
Asynchronous: In this mode, log writes are considered successful only when the log records have been written to the log files on the primary database and have been delivered to the TCP layer of the primary system's host machine. Because the primary system does not wait for acknowledgement from the standby system, transactions might be considered committed when they are still on their way to the standby system. Figure 7-9 shows a sample DB2 HADR scenario.
For DB2 HADR, you have the following available solutions to back up your databases: Tivoli Storage Manager for ERP for DB2 The built-in Tivoli Storage Manager DB2 interface Tivoli Storage Manager for Advanced Copy Services A technical article describing how to implement DB2 HADR on DB2 Version 8.1 can be found at the following address: http://www.ibm.com/developerworks/db2/library/techarticle/dm-0508zeng/
198
199
Yes No No No
200
Database supported Oracle DB2 SQLServer MaxDB SQL Server SQL Server Version 2005 sp1 and later DB2 Version 8 and later ANY
HA Yes
DR No
Microsoft SQL Server Log Shipping Microsoft SQL Server Mirroring DB2 HADR Metro Mirror (formerly PPRC)
Yes Yes
Yes Yes
Yes Yes
No No
Yes Yes
Yes No
Yes Yes
Yes Yes
201
202
Part 2
Part
203
204
Chapter 8.
205
Besides the servers, some storage components are set up for the case study. Tape library: The tape library is an IBM Total Storage 3584 with three LTO-3 tape drives. Disk system: The disk system is an IBM System Storage DS8000 server.
Software version -
206
DB version -
a. Oracle is installed as Oracle Real Application Cluster (RAC) V11g with GPFS V3.s2.
Besides the servers, some storage components are set up for the case study. Tape library: The tape library is an IBM Total Storage 3584 with three LTO-3 tape drives. Disk system: The disk system is an IBM System Storage DS4300 server.
Server
207
Server
208
Flash-copy Multipath Subsystem Device Driver (SDD) Multipath SDD Path Control Module (SDDPCM) DB client Tivoli Storage Manager client DP for FlashCopy Devices for mySAP DS CLI Client Multipath Subsystem Device Driver (SDD) Multipath SDD Path Control Module (SDDPCM) DB client Tivoli Storage Manager client DP for FlashCopy Devices for mySAP DS CLI Client Tivoli Storage Manager server Multipath Subsystem Device Driver (SDD) Multipath SDD Path Control Module (SDDPCM) DB client Tivoli Storage Manager client TDP client DP for FlashCopy Devices for mySAP DS CLI Client Multipath Subsystem Device Driver (SDD) Multipath SDD Path Control Module (SDDPCM) DB client Tivoli Storage Manager client TDP client DP for FlashCopy Devices for mySAP DS CLI Client Tivoli Storage Manager server
Clients
FC Mount
Drivers
Clients
Server
Table 8-6 lists the requirements for FlashCopy with Advanced Copy Services.
Table 8-6 FlashCopy with Advanced Copy Services Server purpose Flash-copy with ACS API SAP CI Drivers Clients SAP CS Drivers Clients SAP DI Drivers Clients Tivoli Storage Manager client Tivoli Storage Manager client Tivoli Storage Manager client TDP Tivoli Storage Manager client Tivoli Storage Manager client Tivoli Storage Manager client
209
Flash-copy with ACS Multipath Subsystem Device Driver (SDD) Multipath SDD Path Control Module (SDDPCM) DB client Tivoli Storage Manager client DP for FlashCopy Devices for mySAP OpenSSL CIM Server Base Providers for AIX (Pegasus) CIM Server Runtime Environment (Pegasus) DS Open API CIM Agent Multipath Subsystem Device Driver (SDD) Multipath SDD Path Control Module (SDDPCM) DB client Tivoli Storage Manager client DP for FlashCopy Devices for mySAP OpenSSL CIM Server Base Providers for AIX (Pegasus) CIM Server Runtime Environment (Pegasus) DS Open API CIM Agent Tivoli Storage Manager server Multipath Subsystem Device Driver (SDD) Multipath SDD Path Control Module (SDDPCM) DB client Tivoli Storage Manager client TDP client DP for FlashCopy Devices for mySAP OpenSSL CIM Server Base Providers for AIX (Pegasus) CIM Server Runtime Environment (Pegasus) DS Open API CIM Agent Multipath Subsystem Device Driver (SDD) Multipath SDD Path Control Module (SDDPCM) DB client Tivoli Storage Manager client TDP client DP for FlashCopy Devices for mySAP OpenSSL CIM Server Base Providers for AIX (Pegasus) CIM Server Runtime Environment (Pegasus) DS Open API CIM Agent Tivoli Storage Manager server
Clients
FC Mount
Drivers
Clients
Server
210
Chapter 9.
211
9.1 Introduction
There are several mechanism for backing up DB2 database with Tivoli Storage Manager. We explore some of the most common SAP backup processes with DB2 database in this section. They are: 9.1.1, Data protection for SAP and DB2 on page 212 9.1.2, DB2 built-in Tivoli Storage Manager support on page 213
The Data Protection for SAP package also contains the Administration Assistant, aimed at increasing the administrators productivity. The Administration Assistant typically resides on a different server and communicates with Data Protection for SAP using TCP/IP. It can control several instances of Data Protection for SAP. Its
212
functionality covers configuring an instance of Data Protection for SAP, data transfer performance monitoring, and monitoring of the backup status of connected SAP systems.
Recovery history
Update (after backup) Restore Backup Restore Tivoli Storage Manager server
backup
DB2 process
213
This section discusses the following topics: 9.2.1, Lab environment overview and backup consideration on page 214 9.2.2, Backup methods to be used on page 216 9.2.3, Installation prerequisites on page 216 9.2.4, Tivoli Storage Manager software packages to be used on page 217 9.2.5, Defining backup policies on page 217
A tape library with three LTO3 drives is attached to the Tivoli Storage Manager server through a 2 Gbps SAN network. Table 9-2 lists the performance characteristics of Linear Tape Open (LTO) drives.
Table 9-2 LTO drive characteristics Drive type LTO4 Cartridge capacity native/compressed (GB) 800/1600 Drive throughput native /compressed (MBps) 120/240 File access time (seconds) 100
214
Based on Table 9-2 on page 214, the performance parameters of LTO3 drive are as follows: Transfer rate of 80 MBps (native)/160 MBps (with data compression) Cartridge capacity of 400 GB (native)/800 GB (with data compression) The device class TAPE defined on the Tivoli Storage Manager server for the library is of type ULTRIUM3C. The suffix C in ULTRIUM3C indicates that hardware compression is enabled on the LTO3 drives. Tivoli Storage Manager server is connected to the SAP server through a 1 Gbps LAN. According to Table 9-3, we can expect a real transfer speed of 180 GB/hr.
Table 9-3 Common LAN throughputs Technology Fast Ethernet Gigabit Ethernet T1 T3 MBps 100 MBps 1000 MBps 1.54 MBps 45 MBps Assume speed 18 GB/hr at 40% efficiency 180 GB/hr at 40% efficiency 0.5 GB/hr at 80% efficiency 16 GB/hr at 80% efficiency
From the information in Table 9-1 on page 214, we can deduce that the throughput required on restore has to be at least 100 GB/20 minutes (RTO) = 300 GB/hr. The throughput limit of LTO3 drive is around 280 GB/hr (native)/ 560 GB/hr (with compression enabled) and the throughput limit of 1 Gbps LAN with 40% efficiency can be as much as 180 GB/hr. According to the considerations above, in our environment, 100 GB of data can be transferred from the tape to an SAP server in around 35 minutes. The minimal requirement throughput for database restore is 300 GB/hr. Most likely, this cannot be achieved using LAN transfers. We must consider an enhanced data transfer mechanism. As the SAP server is equipped with a secondary Fibre Channel HBA adapter, we can implement a LAN-free solution. For the LAN-free implementation, we could use SAN zoning to
215
enable the SAP server to directly access LTO3 drives in the tape library through SAN. In the case of a LAN-free solution, the bottleneck for data transmission would likely be on the LTO3 tape drive. As we use compression on drive, the required bandwidth should be achievable (the maximal LTO3 drive throughput with compression enabled can be as much as 560 GB/hr).
216
217
Therefore, we calculate that the total storage requirements of the backup media is 4 TB. This would require five LTO3 cartridges.
General considerations
In our lab environment, we set up a tape storage pool as a destination for DB2 database backups. These backups are transferred LAN-free, which means directly from the SAP server to a LTO3 tape drive through SAN network. The transfers of large files can use the full backup throughput of the sequential medium. The backup of offline log files is triggered by DB2 Log Manager whenever the next log is ready for backup. To avoid a tape mount every time the log backup is performed, we use a disk-tape storage pool hierarchy for the backup of log files. Thus, the logs backup is stored in the disk storage pool first. As soon as the storage pool fills to 70%, the migration process at the Tivoli Storage Manager server will be triggered. The migration process will move data from the disk storage pool to the tape storage pool.
Backup retention
The retention period required for backup for this solution is 30 days. In the solution based on DB2 built-in Tivoli Storage Manager support, the backup retention is controlled by the program DB2ADUTL. DB2ADUTL is called from the backup script every time after the full backup finishes. It removes all the obsolete backup versions and keep just the last 30 versions. As a full backup is scheduled on a daily basis, the retention can cover a period of the last 30 days. DB2ADUTL also removes all the offline logs backed up in Tivoli Storage Manager that are older than the oldest full backup version. In the solution based on Tivoli Storage Manager for ERP, the deletion of obsolete backup versions is driven by Tivoli Storage Manager for ERP. Therefore, both archive copy groups for data files backup and log files backup are configured with parameter RETVER=NOLIMIT, so that the files are not considered expired and deleted by the Tivoli Storage Manager server. You can enable versioning by using the parameter MAX_VERSIONS in the Tivoli Storage Manager for ERP configuration file (init<SID>.utl). The required backup retention period is 30 days and we plan to trigger a full backup daily. Therefore, we set MAX_VERSIONS=30.
218
219
Backup policy: This policy defines how many tapes are required and for how long you have to keep those tapes. The incorrect definition of these policies affect your tape management operations by using more tape as required or having no data to be restored due to the Tivoli Storage Manager Server or DB2 expiration process. The node chosen to back up your database should be allowed to remove backups/archive from Tivoli Storage Manager server. The backup load from the database usually goes directly to tape, as it can exploit the sequential method. Make sure you have a tape storage pool in place. For the archive load, the data should be sent first to disk due to the repetitive nature of the archive process to avoid the frequent tape mounts of automatic log archival. If there are multiple DB2 databases under one DB2 instance, all databases make use of the same Tivoli Storage Manager client API setup. This means all the database backups are using the same management class to which this Tivoli Storage Manager node belongs. Perform the following steps on the Tivoli Storage Manager server: 1. We define a policy domain DATABASE_API with management class DATABASE. We assign this management class as a default management class for this policy domain. 2. We also define the BACKUP copy group and the ARCHIVE copy group within the management class DATABASE. The retention of backup images of the database are controlled by the DB2 utility DB2ADUTL as well as the retention of redo logs backups. The policy rules of the BACKUP copy group apply to DB2 backups. It has the options of VEREX=1, VERDEL=0, RETEX=0, and RETONLY=0. The policy rules of the ARCHIVE copy group will apply to DB2 offline logs backups. It has the option of RETVER=nolimit. The overall setup is shown in Figure 9-3 on page 221.
220
3. For the BACKUP copy group in the DATABASE management class, the destination storage pool, BACKUPTAPE, is of device type TAPE. For the archive copy group in the DATABASE management class, the destination storage pool, BACKUPDISK, is of type DISK. Storage pools (stgpool) represent the actual physical devices that hold backup archive data. Each copy group, backup, or archive sends data to the destination storage pool. You should create specific storage pools for each target destination in Tivoli Storage Manager. Other options that are important are: Collocation: Specifies which objects would reside in the same tape volumes. Migration: Migration rule from one pool to another (disk to tape). Reclamation: Rule for reclaiming unused backup versions. 4. Storage pool BACKUPTAPE is the next storage pool for storage pool BACKUPDISK in the storage hierarchy. Therefore, data from BACKUPDISK is automatically migrated to BACKUPTAPE.
221
The maximum size of data that a storage pool can handle is specified in the MAXSIZE parameter. If an object is larger than MAXSIZE, Tivoli Storage Manager checks the next storage pool hierarchy (typically tape). If the data object is larger than the MAXSIZE of all storage pools in the hierarchy, then the Tivoli Storage Manager server rejects that object. The maximum size specification allows you to send a really large object directly to tape without putting it temporarily to disk and migrating it to tape. 5. The Tivoli Storage Manager client must authenticate to the Tivoli Storage Manager server using a node name and password. A node is registered at the Tivoli Storage Manager by the Tivoli Storage Manager administrator using the REGISTER NODE command. The following are the parameters for the registration: NODENAME PASSWORD Specifies the name of the client node to be registered. The maximum length of the name is 64 characters. Specifies the client node's password. The maximum length of the name is 64 characters. The password is not case-sensitive. Specifies the name of the policy domain to which the node is assigned. If you do not specify a policy domain name, the node is assigned to the STANDARD policy domain. Specifies whether the client node can delete its own archive files from the server. The parameter is optional. The default value is YES. Specifies whether the client node can delete its own backup files from the server. The parameter is optional. The default value is NO. Specifies the maximum number of mount points a node is allowed to lose on the server or storage agent. The parameter is optional. The default value is 1. You can specify an integer from 0-999. A value of 0 specifies that a node cannot acquire any mount point for a backup or archive operation. The server, however, will still allow the node a mount point for a restore or retrieve operation.
DOMAIN
ARCHDELETE
BACKDELETE
MAXNUMMP
Note: Your database node should have the values of BACKDELETE and ARCHDELETE set to YES. If these values is set to NO, the db2adutl delete command cannot manually deactivate the DB2 backup and archive objects and they will reside on Tivoli Storage Manager storage forever.
222
We register the Tivoli Storage Manager node with the DATABASE_API policy domain and set the parameters for Tivoli Storage Manager node, as shown in Example 9-1.
Example 9-1 Tivoli Storage Manager node registration
SErvername TSM1_API_DB2 COMMMethod TCPip TCPPort 1500 TCPServeraddress lincoln02 passwordaccess generate nodename desmoines01_api enablelanfree yes 2. The Tivoli Storage Manager node desmoines01_fs is a member of policy domain FSBACKUPS. All the schedules associated with desmoines01_fs must be defined in the same policy domain. The value of parameter PASSWORDACCESS in TSM1_FS stanza is generate. This allows Tivoli Storage Manager Backup Archive Client and Tivoli Storage Manager Client Scheduler to store the password locally after a prompt on the initial invocation. The client scheduler can be started automatically using /etc/inittab.
223
3. We use the same dsm.sys profile file for Tivoli Storage Manager Backup Archive Client and Tivoli Storage Manager for ERP. We create a symbolic link called dsm.sys in the Tivoli Storage Manager Backup Archive installation directory pointing to dsm.sys in the Tivoli Storage Manager API directory, as shown in Example 9-3.
Example 9-3 Created link to dsm.sys file
ln -s /usr/tivoli/tsm/client/api/bin64/dsm.sys /usr/tivoli/tsm/client/ba/bin/dsm.sys 4. We create the Tivoli Storage Manager API Client configuration file dsm_api.opt under /usr/tivoli/tsm/client/api/bin64. It refers to the SErvername stanza in dsm.sys. The contents of dsm_api.opt are shown in Example 9-4.
Example 9-4 API Client configuration file
SErvername
TSM1_API_DB2
5. We adjust the db2qas users profile by adding the Tivoli Storage Manager API variables DSMI_DIR, DSMI_CONFIG, and DSMI_LOG. We created the error log directory /var/log/tsm, and adjusted the access rights to enable the db2qas user to perform read and write operations to the log directory using the command chmod ugo+rw /var/log/tsm. Because the user is using a C-shell, we add the lines shown in Example 9-5 from .cshrc_profile.
Example 9-5 Lines added to .cshrc_profile of the db2qas user
setenv DSMI_DIR /usr/tivoli/tsm/client/api/bin64 setenv DSMI_CONFIG /usr/tivoli/tsm/client/api/bin64/dsm_api.opt setenv DSMI_LOG /var/log/tsm 6. We temporarily export the variables DSMI_DIR and DSMI_CONFIG from the root users environment and established the password for Tivoli Storage Manager node (desmoines01_api) using the DSMAPIPW utility, as shown in Example 9-6.
Example 9-6 Establishing the password for Tivoli Storage Manager node
# export DSMI_DIR=/usr/tivoli/tsm/client/api/bin64 # export DSMI_CONFIG=/usr/tivoli/tsm/client/api/bin64/dsm_api.opt # cd /db2/db2qas/sqllib/adsm/ # ./dsmapipw ************************************************************* * Tivoli Storage Manager * * API Version = 5.5.0 * *************************************************************
224
Enter your current password: XXXXX Enter your new password: XXXXX Enter your new password again: XXXXX Your new password has been accepted and updated. 7. We restart the SAP system and DB2 instance to reflect the environment settings modified in step 5 on page 224. The commands are listed in Example 9-7.
Example 9-7 Restarting SAP and DB2
# su - qasadm $ stopsap $ startsap 8. We modify the DB2 database configuration settings to instruct DB2 Log Manager to send offline logs to Tivoli Storage Manager using the Tivoli Storage Manager API client. We do not explicitly specify the management class, so the default management class in the policy domain is used. We also update the database configuration parameter FAILARCHPATH, which specifies the path where the offline log files would be placed if the primary archive destination (Tivoli Storage Manager server) is unavailable. The commands are listed in Example 9-8.
Example 9-8 Updating DB2 database configuration
$ su - db2qas $ db2 update db cfg for QAS using LOGARCHMETH1 TSM $ db2 update db cfg for QAS using FAILARCHPATH /db2/QAS/log_archive
225
******************************************************************** * Tivoli Storage Manager ******************************************************************** SErvername TSM_API COMMMethod TCPip TCPPort 1500 TCPServeraddress 9.3.65.141 nodename desmoines01_API passwordaccess generate errorlogname /usr/tivoli/tsm/client/ba/bin/dsmerror_API.log SErvername TSM_FS COMMMethod TCPPort TCPServeraddress nodename passwordaccess Compression Txnb Tcpw Tcpb tcpnodelay errorlogname
****************************************************************** * Tivoli Storage Manager *********************************************************************** * * SErvername A server name defined in the dsm.sys file * SErvername TSM_API * Name of the stanza The error log is the file specified by the ERRORLOGNAME in the dsm.sys or the DSIERROR.LOG file that is located in the DSMI_LOG directory. That file must be set to a path that the database user of the application can write to. If the user performing the backup and restore does not have write permissions to the log
226
file, the process will fail. The Tivoli Storage Manager API return code for this situation is 106 (Access to the specified file or directory is denied).
Password handling
Each Tivoli Storage Manager client must have a password to access a server. The root user must run dsmapipw from the $HOME/sqllib/adsm directory of the instance owner to establish and reset the Tivoli Storage Manager password. Make sure that the correct DSMI environment variables are set when the root user executes the dsmapipw program. When executed, the dsmapipw program prompts you for the: Old password, which is the current password for the Tivoli Storage Manager node stored in the server. New password, which is the new password for the node. You should check that a new file was created in the /etc/security/adsm directory that contains the encrypted password. The name of this file is the same as the value specified for the servername option in the dsm.opt file. If you receive any errors, you should look at the dsierror.log file, which shows any API error messages. For a listing of API error messages, refer to Tivoli Storage Manager Using the Application Program Interface V4R1, SH26-4123. Note: The passwordaccess parameter must be set to generate. This parameter specifies that Tivoli Storage Manager Client encrypts and stores the user password locally and generates a new password when the old one expires. DB2 is then not required to supply a password each time it initializes a session with the Tivoli Storage Manager server. If you use the db2 command to store any parameters into DB2, passwordaccess must be set to prompt.
227
Create client option file and specify options: The client options file is a plain text file, and the default name of this file is dsm.opt. On UNIX systems, the client options file is a combination of two plain text files, dsm.opt and dsm.sys. Before you take a backup using an API, make sure you have the following items fully configured and properly running; A Tivoli Storage Manager server with the appropriate management classes and copy group for DB2 backup A prepared backup environment: A tape library that can mount tapes for a Tape Storage Pool. Enough disk space for a Disk Storage Pool.
228
The four parameters are: TSM_MGMTCLASS This parameter specifies the management class the DB2 backups should go to. The management class must be in the same Tivoli Storage Manager policy domain where the Tivoli Storage Manager API node is defined. TSM_NODENAME This parameter is used to override the default setting for the node name to make it possible to restore a database that was backed up to Tivoli Storage Manager from another node. The default is that you can only restore a database from Tivoli Storage Manager on the same node from which you took the backup. TSM_PASSWORD This parameter is used to override the default setting for the password associated with the Tivoli Storage Manager. TSM_OWNER This parameter is used to override the default setting for the owner associated with the Tivoli Storage Manager product. The owner name is needed to allow you to restore a database that was backed up to Tivoli Storage Manager from another node. To set or unset these parameters, use the following command: db2 update db cfg for <dbname> using <parameter-name> value|NULL The complete description of all those parameters can be found in the Tivoli Storage Manager documentation at the following address: http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com .ibm.db2.udb.doc/admin/r0000343.htm
229
TSM1>define schedule FSBACKUPS SAP_FULL_ON action=command object="/tsm/scripts/db2_full_on.ksh" startt=23:00 period=1 peru=day duration=10 duru=min To activate the execution of the schedule defined in the Tivoli Storage Manager node desmoines01_fs, we must link the schedule definition in Tivoli Storage Manager server with the Tivoli Storage Manager node. This is achieved by defining a schedule association, as shown in Example 9-13.
Example 9-13 Definition of schedule associations
230
export DSM_DIR=/usr/tivoli/tsm/client/ba/bin export DSM_CONFIG=/usr/tivoli/tsm/client/ba/bin/dsm.opt export DSM_LOG=/var/log/tsm The parameter DSM_CONFIG instructs Tivoli Storage Manager Client Scheduler to use /usr/tivoli/tsm/client/ba/bin/dsm.op as the default profile. Tivoli Storage Manager Client Scheduler looks for a directory specified by DSM_DIR for the dsm.sys file. The dsm.sys file in /usr/tivoli/tsm/client/ba/bin is just a symbolic link pointing to /usr/tivoli/tsm/client/api/bin64/dsm.sys. 3. Now we can test the configuration of Tivoli Storage Manager Scheduler by executing dsmc sched from the command line, as shown in Example 9-15.
Example 9-15 The first authentication of the Tivoli Storage Manager Client scheduler
# dsmc sched IBM Tivoli Storage Manager Command Line Backup/Archive Client Interface Client Version 5, Release 5, Level 0.0 Client date/time: 09/29/08 14:22:14 (c) Copyright by IBM Corporation and other(s) 1990, 2007. All Rights Reserved. TSM Backup-Archive Client Version 5, Release 5, Level 0.0 Querying server for next scheduled event. Node Name: DESMOINES01_FS Please enter your user id <DESMOINES01_FS>: Please enter password for user id "DESMOINES01_FS": Session established with server TSM: AIX-RS/6000 Server Version 5, Release 5, Level 0.0 Server date/time: 09/29/08 17:01:18 Last access: 09/29/08 14:21:18 Next operation scheduled: -----------------------------------------------------------Schedule Name: SAP_FULL_ON Action: Command Objects: /tsm/scripts/db2_full_on.ksh Options: Server Window Start: 23:00:00 on 09/29/08 ------------------------------------------------------------
231
Schedule will be refreshed in 7 hours and 9 minutes. 4. We modify /etc/inittab to start Tivoli Storage Manager Client Scheduler automatically during the AIX startup. The entry is shown in Example 9-16.
Example 9-16 Startup Tivoli Storage Manager Client Scheduler using /etc/inittab
tsmsched:2345:respawn:/usr/tivoli/tsm/client/ba/bin/dsmc sched >/dev/null 2>&1 5. We copy backup scripts to the /tsm/scripts directory. The return code of the scripts reflects the result of the backup command db2 backup db qas. Tivoli Storage Manager Scheduler considers RC=0 a successful result. If another value is returned by the scripts, the schedule event is considered as Failed. The db2_full_on.ksh script is listed in Example 9-17. The script includes backup retention control, as the DB2 built-in Tivoli Storage Manager support facility does not automatically control backup retention. The script is designed so that it can be executed from root (Tivoli Storage Manager Client Scheduler is running as root). You must adjust some variables in the script beginning, such as USER, SID, KEEP_FULL. The retention of backup images is controlled by the parameter KEEP_FULL. The script deletes any older backup versions above the number of versions to keep defined by this parameter. It also deletes any offline logs that are older than the oldest full backup image kept in Tivoli Storage Manager.
Example 9-17 Backup script db2_full_on.ksh #!/bin/ksh MAXRC=0 RC=0 USER=db2qas SID=QAS KEEP_FULL=30 . /db2/QAS/sqllib/db2profile echo "\n\n **************** Backup full SID: $SID ****************" su - $USER -c "db2 backup db $SID online use tsm without prompting" RC=$?;[ $RC -gt $MAXRC ] && MAXRC=$RC if [ $RC -eq 0 ];then echo Delete obsolete backup copies, keep $KEEP_FULL versions. su - $USER -c "db2adutl delete full keep $KEEP_FULL db $SID without prompting" RC=$?;[ $RC -gt $MAXRC ] && MAXRC=$RC # Look for the last valid backup.
232
OLDEST_LOG=`su - $USER -c "db2adutl query full"|grep -p "FULL DATABASE BACKUP"|grep -v "FULL DATABASE BACKUP"|tail -2|awk '{print $6}'|cut -c2-8` if [ `expr $OLDEST_LOG : "^[0-9]*"` != 7 ]; then echo "The logname doesnt have correct format: $OLDEST_LOG" return 2 fi OLDEST_LOG=`expr $OLDEST_LOG : "^\([0-9]*\)" - 1` OLD_LOG=`printf "S%-7.7d" $OLDEST_LOG` echo Delete obsolete logs files. su - $USER -c "db2adutl delete logs between S0000000.LOG and $OLD_LOG db $SID without prompting" RC=$?;[ $RC -gt $MAXRC ] && MAXRC=$RC fi echo $0 finished with RC=$MAXRC at `date` return $MAXRC
9.5 Backup and restore using DB2 and the API client
This section shows backup and restore operations for a DB2 environment using the Tivoli Storage Manager API. This section covers the following topics: 9.5.1, Executing tablespace backup on page 233 9.5.2, Executing database backup on page 234 9.5.3, Executing restore on page 234 9.5.4, Monitoring backup and restore execution on DB2 on page 235 9.5.5, Finding backup and restore log files or information on page 236 9.5.6, Releasing backup tapes on page 240
233
If you have to do this task, you can use our example, where the command to back up tablespace qas#ddici from a database called QAS is db2 backup db qas tablespace qas#ddici online use tsm. Example 9-18 shows the result.
Example 9-18 Backup a tablespace
desmoines01:db2qas 8> db2 backup db qas tablespace qas#ddici online use tsm Backup successful. The time stamp for this backup image is : 20080917145403 For more information about the DB2 backup command, go to the following address: http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com .ibm.db2.udb.admin.doc/doc/r0001933.htm
desmoines01:db2qas 9> db2 backup db qas online use tsm Backup successful. The time stamp for this backup image is : 20080917150147
234
For more information about the DB2 restore command, go to the following address: http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com .ibm.db2.udb.admin.doc/doc/r0001933.htm Note: The commands we use in this section are listed here as an example. Before you use your own commands, you should have an experienced Database Administrator do an analysis of those commands; you may need to created a duplicate environment to test them.
desmoines01:db2qas 6> db2 list utilities ID Type Database Name Partition Number Description Start Time State Invocation Type Throttling: Priority Progress Monitoring: Estimated Percentage Complete = = = = = = = = 5 BACKUP QAS 0 online db 09/17/2008 15:01:47.897730 Executing User
= Unthrottled = 30
235
You can monitor the backup progress by looking at the Estimated Percentage Complete field. Also, you can run the query session command in the Tivoli Storage Manager console to see if the connection from the DB2 client and the Tivoli Storage Manager server has succeeded. The result is shown in Example 9-21.
Example 9-21 Session list
sm: TSM>q ses Sess Number -----1,314 1,320 Comm. Method -----Tcp/Ip Tcp/Ip Sess State -----Run RecvW Wait Time -----0 S 0 S Bytes Sent ------79.7 K 1.6 K Bytes Recvd ------1.5 K 66.5 M Sess Type ----Admin Node Platform Client Name
Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID -- --- ------------------ ---- --- ------------ ------------ -------------B D 20080808185040001 F D S0000000.LOG S0000000.LOG ---------------------------------------------------------------------------Contains 34 tablespace(s):
236
00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 00025 00026 00027 00028 00029 00030 00031 00032 00033 00034
SYSCATSPACE SYSTOOLSPACE QAS#DBD QAS#DBI QAS#FACTD QAS#FACTI QAS#EL700D QAS#EL700I QAS#CLUD QAS#CLUI QAS#LOADD QAS#LOADI QAS#SOURCED QAS#SOURCEI QAS#USER1D QAS#USER1I QAS#ES700D QAS#ES700I QAS#PROTD QAS#PROTI QAS#ODSD QAS#ODSI QAS#DOCUD QAS#DOCUI QAS#STABD QAS#STABI QAS#BTABD QAS#BTABI QAS#POOLD QAS#POOLI QAS#DIMD QAS#DIMI QAS#DDICD QAS#DDICI
More information about the db2 list history command can be found at the following address: http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com .ibm.db2.udb.admin.doc/doc/r0001991.htm
237
Retrieving FULL DATABASE BACKUP information. 1 Time: 20080917150147 Oldest log: S0000001.LOG Number: 0 Sessions: 1
DB Partition
Retrieving INCREMENTAL DATABASE BACKUP information. No INCREMENTAL DATABASE BACKUP images found for QAS
Retrieving DELTA DATABASE BACKUP information. No DELTA DATABASE BACKUP images found for QAS
Retrieving TABLESPACE BACKUP information. No TABLESPACE BACKUP images found for QAS
Retrieving INCREMENTAL TABLESPACE BACKUP information. No INCREMENTAL TABLESPACE BACKUP images found for QAS
Retrieving DELTA TABLESPACE BACKUP information. No DELTA TABLESPACE BACKUP images found for QAS
Retrieving LOAD COPY information. No LOAD COPY images found for QAS
238
Retrieving LOG ARCHIVE information. No LOG ARCHIVE images found for QAS To list all the archivelog backups using db2adutl, run the db2adutl query full archivelog command.
239
Example 9-25 shows the select command that lists all the backups of the DB2 instance called QAS.
Example 9-25 Sample SQL command to extract backup information from DB2 table
db2 => select start_time, end_time , substr(comment,1,30) FROM SYSIBMADM.DB_HISTORY WHERE OPERATION = 'B' AND OPERATIONTYPE = 'F' START_TIME -------------20080808185040 20080903155506 20080916170618 20080917101256 20080917132110 20080917143131 20080917143647 20080919103555 20080919112156 20080925163934 END_TIME -------------20080808190533 20080903160133 20080916171958 20080917101327 20080917132111 20080917143132 20080917143648 20080919103557 20080919113723 20080925163935 3 -----------------------------DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE
10 record(s) selected. More information about the sysibmadm.db_history table can be found at the following address: http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com .ibm.db2.udb.admin.doc/doc/r0022351.htm
desmoines01:db2qas 30> db2adutl delete full taken at 20080917150147 db QAS Query for database RAWSAMPL Retrieving FULL DATABASE BACKUP information. Taken at: 20080917150147 DB Partition Number: 0 Sessions: 1
240
Do you want to delete this file (Y/N)? y Are you sure (Y/N)? y Retrieving INCREMENTAL DATABASE BACKUP information. No INCREMENTAL DATABASE BACKUP images found for QAS Retrieving DELTA DATABASE BACKUP information. No DELTA DATABASE BACKUP images found for QAS In addition you can use the following commands: Releasing DB2 online backups: db2adutl delete keep <NR> or db2adutl delete older than <NR> database <database name> Releasing DB2 transaction log backups: db2 PRUNE LOGFILE PRIOR TO <archive_name>
241
242
Tivoli Storage Manager node name: DESMOINES01_TDP Backup management class: DBBACKUPS Archive management class: LOGS We perform the following steps to install Tivoli Storage Manager for ERP (DB2): 1. Log on as the root user to server desmoines01. 2. Install the Tivoli Storage Manager API Client on desmoines01. 3. Invoke the installation file for Tivoli Storage Manager for ERP (DB2) for AIX using the 5.5.0.0-TIV-TSMERPDB2-AIX64.bin -console command. The -console parameter gives us a text-based interface instead of the Java GUI. The installation process is shown in Example 9-27.
Example 9-27 Example of Tivoli Storage Manager for ERP - DB2 installation process
Please enter the required information Enter DB2 UDB database SID (max. 6 characters) [] QAS Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1] 1 ----------------------------------------------------------------------Please enter the required information Enter directory for Data Protection for SAP (DB2) configuration files (only directories without blanks are valid) [/db2/QAS/dbs] /db2/QAS/tdp_r3 Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1] 1 ----------------------------------------------------------------------To connect to the TSM server with basic settings the installer updates the configuration files with the provided parameters. If you don't want the parameters updated answer the next question with NO. [X] 1 - Yes (recommended for first time installation) [ ] 2 - No (recommended for update installation) To select an item enter its number, or 0 when you are finished [0]: 0 Enter TSM server. The name must already exist in dsm.sys. [] TSM1_TDP_DB2 Enter TSM node name [] desmoines01_tdp Enter management class for database backups [] dbbackups Enter management class(es) for log file backups [] logs Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1] 1
243
----------------------------------------------------------------------To enable Data Protection for SAP (DB2) to connect to the Administration Assistant Server the following information is needed. If you don't specify a server, the connection will be disabled. Enter network address of Administration Assistant Server []desmoines01 Enter port for Administration Assistant Server [5126] Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1] 1 ----------------------------------------------------------------------Data Protection for SAP (DB2) will be installed in the following location: /usr/tivoli/tsm/tdp_r3/db264
9.6.3 System changes after Tivoli Data Protection for SAP installation
The following system modifications are performed by the installation: An entry is created in /etc/inittab to start the ProLE daemon automatically. An entry is created in /etc/services for the service tdpr3db2 or tdpr3db264. The environment variable DB2_VENDOR_LIB points to the fully qualified path where the shared library of Data Protection for SAP resides. The environment variable XINT_PROFILE points to the Data Protection for SAP profile located in the path for configuration files specified during installation. The file name is init<SID>.utl, where <SID> is the DB2 database SID specified during installation. The environment variable TDP_DIR points to the path where Data Protection for SAP saves its configuration files and creates its own process logs. Initially, this path is set to <profile path>/tdplog, where <profile path> is the path for Tivoli Data Protection for SAP profile specified during installation. With DB2 V8.2 or higher, if a DB2 instance is running, the DB2 configuration will be updated automatically. The configuration changes are for: The VENDOROPT parameter in the DB2 configuration to the Tivoli Data Protection for SAP vendor environment file. LOGARCHMETHn and LOGARCHOPTn are set, if requested. The installation sets the following values: LOGARCHMETHn LOGARCHOPTn VENDOR:/<path>/<library> /<path>/vendor.env
244
Note: If the DB2 instance has not been started prior to Tivoli Data Protection installation, the above actions have no effect and must be performed manually at a later time (as discussed in 9.7.3, Manual configuration alternative on page 249); otherwise, backups will fail.
245
4. We register the Tivoli Storage Manager node with the DATABASE_TDP policy domain and set the parameters for the Tivoli Storage Manager node, as shown in Example 9-28.
Example 9-28 Tivoli Storage Manager node registration
SErvername TSM1_TDP_DB2 COMMMethod TCPip TCPPort 1500 TCPServeraddress lincoln02 passwordaccess prompt enablelanfree yes 2. We decide to use the same dsm.sys profile file for Tivoli Storage Manager Backup Archive Client and for Tivoli Storage Manager for ERP. Therefore, we created a symbolic link dsm.sys in the Tivoli Storage Manager Backup Archive installation directory pointing to dsm.sys in the Tivoli Storage Manager API directory, as shown in Example 9-3 on page 224.
246
ln -s /usr/tivoli/tsm/client/api/bin64/dsm.sys /usr/tivoli/tsm/client/ba/bin/dsm.sys 3. We adjust the db2qas users profile by adding the Tivoli Storage Manager API variables DSMI_DIR and DSMI_LOG to the .cshrc_profile file, as shown in Example 9-31.
Example 9-31 Lines added to .cshrc profile of the db2qas user
setenv DSMI_DIR /usr/tivoli/tsm/client/api/bin64 setenv DSMI_LOG /var/log/tsm 4. We create an error log directory in /var/log/tsm. We adjust the access rights that enable the db2qas user to perform read and write operations to the log directory using the chmod ugo+rw /var/log/tsm command. 5. The Tivoli Storage Manager for ERP installation procedure creates the profile initQAS.utl in the /db2/QAS/dbs directory. The contents of this directory are shown in Example 9-32.
Example 9-32 /db2/QAS/dbs/initQAS.utl
BACKUPIDPREFIX MAX_SESSIONS BUFFSIZE MAX_VERSIONS CONFIG_FILE SERVER SESSIONS PASSWORDREQUIRED ADSMNODE BRBACKUPMGTCLASS BRARCHIVEMGTCLASS END
The initQAS.utl in Example 9-32 contains the node name, management classes, and server stanzas reference from dsm.sys (tsm1_tdp_db2). The versioning on the Tivoli Storage Manager server is using RETVER=NOLIMIT. Tivoli Storage Manager for ERP performs the expiration of the obsolete backup versions by specifying the MAX_VERSIONS parameter. We use 30 versions to match the backup requirement from Table 9-1 on page 214. The MAX_VERSIONS parameter defines the maximum number of database backup versions to be kept in backup storage. Every time a full backup completes successfully, the version count is incremented by 1 and stored in the Tivoli Data Protection for SAP configuration file. This value is also
247
assigned to the tablespace files and to all subsequent DB2 log file backups. If the number of versions kept in backup storage is larger than the specified maximum number of backup versions (stored in the parameter MAX_VERSIONS), the oldest version is deleted, together with the corresponding tablespace and incremental and log file backups until only the specified maximum number of the most recent versions remain. For partitioned DB2 databases, backup version control is done on a partition basis. Therefore, full backups should always be initiated for all partitions at the same time. Partial backups get the same version number as the last successful full backup. When Tivoli Data Protection for SAP deletes an old full backup, all partial backups with the same version number are also deleted. Every database instance needs its own configuration file (see parameter CONFIG_FILE) and a unique BACKUPIDPREFIX. Every database partition needs its own configuration file. Partitions of a partitioned database should have the same BACKUPIDPREFIX. 6. We switch from root to db2qas to update the locally stored password for Tivoli Storage Manager node desmoines_tdp using the backom command, as shown in Example 9-33. Tivoli Data Protection for SAP should be installed after the Tivoli Storage Manager installation has been completed. Tivoli Data Protection for SAP must use the same password access method as specified within Tivoli Storage Manager. When Tivoli Data Protection for SAP is installed, it is assumed that the password method selected during the Tivoli Storage Manager installation was manual password handling (PASSWORDACCESS prompt). The default parameters for Tivoli Data Protection for SAP are set according to this assumption. If a different password method is set within Tivoli Storage Manager, adjust the Tivoli Data Protection for SAP parameters accordingly. To be able to work with Tivoli Data Protection for SAP, you have to provide Tivoli Data Protection for SAP with the password for the Tivoli Storage Manager node. You can use the backom -c password command to set the password.
Example 9-33 Update the Tivoli Storage Manager node password
#su - db2qas desmoines01:db2qas 1>/usr/tivoli/tsm/tdp_r3/db264/backom -c password 7. There are two ways of creating the configuration file (*.bki): When setting the Tivoli Storage Manager password with the backom utility, the configuration files for all DB2 partitions are created automatically in the path <path>/<db2node>/, where <path> is the directory denoted by the value of keyword CONFIG_FILE in the profile and <DB2NODE> is
248
replaced automatically by a DB2 partition name referenced in the DB2 configuration file db2node.cfg. If the database is not partitioned, NODE0000 is used as the only DB2 partition name. You can manually create the required paths. For each database partition, create the directory <path>/<db2node>/. The naming convention for a name to be built from the node (partition) number is a string starting with NODE followed by a four digit partition number. Copy the existing file init<SID>.bki into each of these paths. 8. We set DB2 Log Manager to use the vendor API library provided by Tivoli Storage Manager for ERP for automatic backup of offline log files. This is adjusted as shown in Example 9-34. We discuss more about this topic in Built-in log manager setup on page 250.
Example 9-34 DB2 Log Manager changes for Tivoli Storage Manager for ERP
#su - db2qas desmoines01:db2qas 1>db2 update db cfg for QAS using LOGARCHMETH1 VENDOR:/usr/tivoli/tsm/tdp_r3/db264/libtdpdb2.a desmoines01:db2qas 1>db2 update db cfg for QAS using LOGARCHOPT1 /db2/QAS/tdp_r3/vendor.env desmoines01:db2qas 1>db2 update db cfg for QAS using FAILARCHPATH /db2/QAS/log_archive 9. Restarting DB2 Instance (optional). If your DB2 installation is older than DB2 Version 8.2 or 8.1 Fix Pack 7, then you must restart DB2 to pick up the option files and environment variable changes. Otherwise, you must specify all parameters in the OPTIONS parameter of the BACKUP DATABASE or RESTORE DATABASE commands.
249
The VENDOROPT configuration must refer to the fully qualified path of the file containing Data Protection for SAP environment settings for DB2. Make sure that the environment settings of your system match the settings in this file. This command can be used as an alternative to the db2set command. Its advantages are: There is no need to restart the DB2 instance. You can define the default values for the OPTIONS parameter of the BACKUP DATABASE and RESTORE DATABASE commands in the DB2 configuration. The same settings apply to database backup and restore and log file archive and retrieve. Note: When using the BACKUP DATABASE and RESTORE DATABASE commands with the USE SNAPSHOT option for snapshot-based backup and restore by DB2 Advanced Copy Services, the VENDOROPT parameter is currently not examined. In this case, any options other than the default values must be set using the OPTIONS keyword.
LOGARCHOPT2 FAILARCHPATH
NULL NULL
250
Parameter NUMARCHRETRY
Description Number of retries to archive a log file to the primary or secondary archive destination before trying to archive log files to a failover directory. This is only used if FAILARCHPATH is set. If NUMARCHRETRY is not set, DB2 will continuously retry archiving to the primary or secondary log archive destination. Number of seconds to wait after a failed archive attempt before trying to archive the log file again. Subsequent retries will only take effect if NUMARCHRETRY is at least set to 1. For Tivoli Data Protection for SAP, specification of a file containing additional parameters that DB2 may need to use to communicate with (vendor) storage systems during backup, restore, archive or retrieve operations. These options are then made available as environment variables.
Default 5
ARCHRETRYDELAY
VENDOROPT
NULL
Thus, you must at least set LOGARCHMETH1 and LOGARCHOPT1. The changes are invoked within the DB2 command environment as follows: For UNIX and Linux: update db cfg for <SID> using LOGARCHMETH1 VENDOR:/<path>/libtdpdb2.a update db cfg for <SID> using LOGARCHOPT1 /<path>/vendor.env For Windows: update db cfg for <SID> using LOGARCHMETH1 VENDOR:<path>\tdpdb2.dll update db cfg for <SID> using LOGARCHOPT1 <path>\vendor.env When updating the LOGARCHMETH database configuration parameters, the change will take effect on the next log file to be archived. The former database configuration parameters USEREXIT and LOGRETAIN are integrated into the LOGARCHMETH configuration parameters. During migration to DB2 Version 8.2 (or when updating to DB2 Version 8.1 FP7, which corresponds to DB2 Version 8.2), LOGARCHMETH1 will be set to USEREXIT if the database is using that parameter. All of the other database configuration parameters are defined with their default values. This means that the old Userexit executable provided with the SAP-DB2 Administration Tools package should still be available to the database until the database administrator decides to change these settings.
251
Note: Remember to set up the number of Tivoli Storage Manager sessions used by Tivoli Data Protection for SAP properly. Typically, during online database backups, log archives will be initiated. Thus, configure Tivoli Data Protection for SAP in such a way that at least one Tivoli Storage Manager session, one for the database backup and one for the log archives, is available for each of these operations.
252
REDOLOG_COPIES n|1 Specifies the number of copies Tivoli Data Protection for SAP stores for each processed Oracle redo log. The valid range is from 1 to 9. If not specified, Tivoli Data Protection for SAP stores one copy of the redo logs. The number of different BRARCHIVE management classes (keyword BRARCHIVEMGTCLASS) specified must be greater than or equal to the number of log file copies specified.
Messaging
You can establish policies that trigger Data Protection for SAP to send different classes of log messages to a Tivoli Storage Manager server.
253
#!/usr/bin/ksh MAXRC=0 SID=QAS sid=qas echo "\n\n Database $SID online backup..." su - db2${sid} <<EOB /usr/tivoli/tsm/tdp_r3/db264/backom -c b_db -a $SID -R full -O EOB MAXRC=$? return $MAXRC
254
desmoines01:db2qas 26> backom -c b_db -a QAS -O ======================================================================= Data Protection for SAP(R) - Backup Object Manager - Version 5, Release 5, Modification 0 Level 2 for AIX LF 64-bit Build: 316L compiled on Jun 19 2008 (c) Copyright IBM Corporation, 1996, 2008, All Rights Reserved. ======================================================================= BKI8637I: Full online backup of 'QAS' started ... The complete syntax of backom backup command can be found at the following address: http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/index.jsp?topic= /com.ibm.itsmerp.doc/fbrd000050.htm
255
You can find complete information about backing up DB2 Partitions with this command at the following address: http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com .ibm.db2.udb.admin.doc/doc/c0005945.htm
desmoines01:db2qas 6> db2 list utilities ID Type Database Name Partition Number Description Start Time State Invocation Type Throttling: Priority Progress Monitoring: Estimated Percentage Complete = = = = = = = = 5 BACKUP QAS 0 online db 09/17/2008 15:01:47.897730 Executing User
= Unthrottled = 30
You can monitor the backups progress by looking at the Estimated Percentage Complete field, as shown in Example 9-37. You can check if the connection from the DB2 client and Tivoli Storage Manager Server succeeded through the Tivoli Storage Manager console (run the query session command). The result is shown in Example 9-38.
Example 9-38 Session list
sm: TSM>q ses Sess Number -----1,314 Comm. Method -----Tcp/Ip Sess State -----Run Wait Time -----0 S Bytes Sent ------79.7 K Bytes Recvd ------1.5 K Sess Type ----Admin Platform -------AIX Client Name -----------------ADMIN
256
1,320
Tcp/Ip
RecvW
0 S
1.6 K
66.5 M
Node
DB2/AIX 64 DESMOINES01_API
257
List backup objects available on Tivoli Storage Manager. This command lists backup objects available on Tivoli Storage Manager (database or tablespace backups, DB2 log file backups, and file backups): backom -c q_raw [-f <file name>] [-e <execution profile>] [-m <output mode>] [-v]
desmoines01:db2qas 20> db2 LIST HISTORY BACKUP ALL FOR DB QAS List History File for QAS Number of matching file entries = 73 Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID -- --- ------------------ ---- --- ------------ ------------ --------B D 20080808185040001 F D S0000000.LOG S0000000.LOG ---------------------------------------------------------------------Contains 34 tablespace(s): 00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 SYSCATSPACE SYSTOOLSPACE QAS#DBD QAS#DBI QAS#FACTD QAS#FACTI QAS#EL700D QAS#EL700I QAS#CLUD QAS#CLUI QAS#LOADD QAS#LOADI QAS#SOURCED QAS#SOURCEI QAS#USER1D QAS#USER1I QAS#ES700D
258
00018 00019 00020 00021 00022 00023 00024 00025 00026 00027 00028 00029 00030 00031 00032 00033 00034
QAS#ES700I QAS#PROTD QAS#PROTI QAS#ODSD QAS#ODSI QAS#DOCUD QAS#DOCUI QAS#STABD QAS#STABI QAS#BTABD QAS#BTABI QAS#POOLD QAS#POOLI QAS#DIMD QAS#DIMI QAS#DDICD QAS#DDICI
To get the complete list of the database archivelog backups, you can use the db2 list history archivelog all command. The complete format of the command db2 list history can be found at the following address: http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com .ibm.db2.udb.admin.doc/doc/r0001991.htm
db2 => select start_time, end_time , substr(comment,1,30) FROM SYSIBMADM.DB_HISTORY WHERE OPERATION = 'B' AND OPERATIONTYPE = 'F' START_TIME -------------20080808185040 20080903155506 20080916170618 20080917101256 END_TIME -------------20080808190533 20080903160133 20080916171958 20080917101327 3 -----------------------------DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE
259
10 record(s) selected. A complete description of the sysibmadm.db_history table can be found at the following address: http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com .ibm.db2.udb.admin.doc/doc/r0022351.htm
9.9 Troubleshooting
This section shows some troubleshooting procedures to fix configuration and backup and restore problems. This section helps you with setup problems and defects. If you encounter a performance problem, refer to Planning Data Protection for SAP Installation and Users Guide for DB2, SC33-6341. If an error occurs, check the description of the error message. Besides being displayed on the screen, the error messages also can be found in log files. Resolve the problem indicated in the error message and retry the action.
260
261
Usually, all Tivoli Storage Manager environment variables are assigned during the DB2 owner account login. To find the correct login script, do the following steps: a. Get information about the default shell using the command echo $SHELL. b. List the home directory to get the login script. It is .cshrc for a C shell or .profile for a Korn shell or Bourne shell. c. Look at the script .tsmenv.csh, .tsmenv.sh, or .tsmenv.ksh, according to the default shell used. This script defines and assigns a value to all Tivoli Storage Manager environment variables, as shown in Example 9-42.
Example 9-42 Listing of environment
desmoines01:db2qas 6> echo $SHELL /bin/csh desmoines01:db2qas 7> ls -a .* . .dbsrc.sh .sapenv_desmoines01.csh .. .login .sapenv_desmoines01.sh .cshrc .login.1 .cshrc.1 .login.2 .dbenv.csh .mh_profile .dbenv.sh .profile .dbenv_desmoines01.csh .profile.1 .dbenv_desmoines01.sh .rhosts .dbenv_thick01.csh .rhosts.1 .dbenv_thick01.sh .sapenv.csh .dbsrc.csh .sapenv.sh
262
The possible messages are: SQL2062N An error occurred while accessing media "/.../sqllib/adsm/libtsm.a". Reason code: "106". or ANS 1003E Backup failed to start for node XXX, file system XXXX, errno = 106 Ensure that the DB2 instance owner running the backup operation has full write authority to this error log.
9.10 References
Considerations for using Tivoli Storage Manager: http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/ com.ibm.db2.udb.admin.doc/doc/c0024708.htm Configuring a Tivoli Storage Manager client: http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/ com.ibm.db2.udb.admin.doc/doc/t0024706.htm db2adutl - Managing DB2 objects within TSMcommand: http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/ com.ibm.db2.udb.admin.doc/doc/r0002077.htm IBM Tivoli Storage Manager for Enterprise Resource Planning - Data Protection for SAP - Installation and User's Guide for DB2, found at: http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/index.jsp?top ic=/com.ibm.itsmerp.doc/fbrd0000.htm IBM DB2 Database for Linux, UNIX, and Windows Information Center: http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/ com.ibm.db2.udb.doc/welcome.htm
263
Developing a backup and recovery strategy: http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/ com.ibm.db2.udb.admin.doc/doc/c0005945.htm Data Protection for SAP - Installation and Users Guide for DB2, SC33-6341 IBM Tivoli Storage Management Concepts, SG24-4877
264
10
Chapter 10.
265
10.1 Introduction
This section introduces the concepts of Data Protection for SAP. There are two interfaces you can use: BACKINT or Oracle Recovery Manager. We discuss both interfaces in these sections: 10.1.1, Data Protection for SAP and BACKINT on page 266 10.1.2, Data Protection for SAP and RMAN on page 267
Figure 10-1 Data Protection for SAP with BR*Tools using the BACKINT Interface
Based on the interaction shown in Figure 10-1, a backup proceeds as follows: 1. BR*Tools utility BRBACKUP informs Oracle what data has to be backed up and puts the database into the proper backup state, online or offline.
266
2. BRBACKUP calls Data Protection for SAP using the BACKINT interface with a list of all files to be backed up. 3. Data Protection for SAP reads all the requested files from the database and reports back to BRBACKUP. BRBACKUP adds these files to the repository containing all processed backups. 4. BACKINT saves the data to Tivoli Storage Manager. 5. BR*Tools updates the file repository containing information about the status of the files.
Figure 10-2 Data Protection for SAP with BR*Tools using the RMAN Interface
Based on the interaction shown in Figure 10-2, a backup proceeds as follows: 1. BR*Tools utility BRBACKUP informs Oracle RMAN what data has to be backed up. The RMAN process puts the database into the proper backup state, online or offline. 2. The Oracle server process loads Data Protection for SAP and interacts with it through the Media Management API.
Chapter 10. Oracle backup using Tivoli Storage Manager for ERP
267
3. Data Protection for SAP reads the requested data from the database and reports back to BRBACKUP. BRBACKUP adds this data to the repository containing all processed backups. 4. Data Protection for SAP saves the data to a Tivoli Storage Manager server. 5. BR*Tools updates the repository containing information about the status of the data. RMAN has its own repository, with a control file for a separate recovery catalog database.
2Gbps SAN
Gigabit LAN
lincoln02
Tivoli Storage Manager server AIX 6.1 Tivoli Storage Manager 5.5.0.0
268
In our lab environment, the SAP central instance and database are located on a partition called charger01 running AIX Version 6.1. Tivoli Storage Manager server runs on another AIX V6.1 machine called lincoln02. SAP system data is stored in an Oracle database (Version 10g). The System ID of our database is ORC. The size of database ORC is around 100 GB. The service level requirements of the backup solution are listed in Table 10-1.
Table 10-1 Parameters required for Oracle backup and restore Parameter Application Recovery Time Objective (RTO) Recovery Point Objective (RPO) Data size Backup retention Data type Database in archive mode Recovery Time Granularity (RTG) Required value SAP 3 hours 2 hours 100 GB 30 days Oracle database Yes any point in time
A tape library with three LTO3 drives is attached to the Tivoli Storage Manager server through a 2 Gbps SAN network. Table 10-2 lists the performance characteristics of Linear Tape Open (LTO) drives.
Table 10-2 LTO drive characteristics Drive type LTO4 LTO3 LTO2 LTO1 Cartridge capacity native/compressed (GB) 800/1600 400/800 200/400 100/200 Drive throughput native /compressed (MBps) 120/240 80/160 35/70 15/30 File access time (seconds) 100 68 49 54
Based on Table 10-2, the performance parameters of an LTO3 drive are as follows: Transfer rate of 80 MBps (native) / 160 MBps (with data compression) Cartridge capacity of 400 GB (native) / 800 GB (with data compression)
Chapter 10. Oracle backup using Tivoli Storage Manager for ERP
269
The device class TAPE defined on the Tivoli Storage Manager server for the library is of type ULTRIUM3C. The suffix C in ULTRIUM3C indicates that hardware compression is enabled on the LTO3 drives. The Tivoli Storage Manager server is connected with the SAP server through a 1 Gbps LAN. According to Table 10-3, we can expect a real transfer speed of 180 GB/hr.
Table 10-3 Common LAN throughputs Technology Fast Ethernet Gigabit Ethernet T1 T3 MBps 100 MBps 1000 MBps 1.54 MBps 45 MBps Assumed speed 18 GB/hr at 40% efficiency 180 GB/hr at 40% efficiency 0.5 GB/hr at 80% efficiency 16 GB/hr at 80% efficiency
For the requirements in Table 10-1 on page 269, let us calculate the throughput: For RTO, we need a restore speed of at least 100 GB / 2 hours or 50 GB/hr. This can be satisfied by both the LTO3 drive transfer speed and Gigabit Ethernet assumed speed. The backup rate for 100 GB data can be transferred to the tape library in less than 35 minutes. We do not have to consider any other enhancements, such as LAN-free backup, parallelism, or multiplexing.
270
For hardware and software prerequisites, as well as product versions supported and maintenance levels required by the current version of Data Protection for SAP and the Administration Assistant, refer to the Release Notes in the Tivoli Information Center found at the following address: http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/topic/com.ibm.it smreadme.doc_5.5/relnotes.html
Chapter 10. Oracle backup using Tivoli Storage Manager for ERP
271
General considerations
Tivoli Storage Manager provides several options to enhance backup and restore performance. You can set up Tivoli Storage Manager for ERP to back up and restore data to multiple drives in parallel. You can enable multiplexing, which allows you to simultaneously transfer data from different data files through one session to exploit the throughput provided by a tape drive. Disk sorting is an enhancement used by Tivoli Storage Manager for ERP to minimize the backup protection window. It sorts database files in order to avoid simultaneous reading of the files residing on the same disk. Another option to enhance backup and restore is to use multiple network paths to balance network traffic across all available network connections to the Tivoli Storage Manager server. On a Tivoli Storage Manager server, you can also enable collocation to keep data of one node (or a group of nodes) together on one tape (or on the same group of tapes). We recommend deactivating collocation for backups with Tivoli Storage Manager for ERP in order to enable parallel sessions to use multiple tape drives in parallel. Collocation must also be deactivated in order to use the multiple log copy function. In our lab environment, we set up tape storage pool as a destination for Oracle data files backup, as the transfers of large files can easily exploit the backup throughput of a sequential medium. In this solution, a client scheduler triggers a backup of offline redo log files every 2 hours. To avoid a tape mount every time the log backup is performed, we use a disk-tape storage pool hierarchy for the backup of log files.
Backup retention
The retention period required for backup for this solution is 30 days. There are two possible ways to control the data retention if using Tivoli Storage Manager for ERP: Either Tivoli Storage Manager for ERP backup version control can be used, or you can use the Tivoli Storage Manager server expiration function. We set the deletion of obsolete backup versions to be driven by Tivoli Storage Manager for ERP. Therefore, both archive copy groups for data files backup and log files backup are configured with parameter RETVER=NOLIMIT, so that the files are not considered expired and deleted by the Tivoli Storage Manager server.
272
You can enable versioning by using the parameter MAX_VERSIONS in the Tivoli Storage Manager for ERP configuration file (init<SID>.utl). The required backup retention period is 30 days, and we plan to trigger a full backup daily. Therefore, we set MAX_VERSIONS=30.
Chapter 10. Oracle backup using Tivoli Storage Manager for ERP
273
We perform the following steps to install Tivoli Storage Manager for ERP Oracle: 1. Log in as root user to server charger01. 2. Install the Tivoli Storage Manager API client on charger01. 3. Invoke the installation file for Tivoli Storage Manager for ERP - Oracle for the AIX operating system. For this installation, we specified the parameter -console so we can run the installation from a telnet client. In case you run the installation from an X Window System terminal, you can execute the installation binary file with no parameters, which invokes a Java-based installation GUI.
Example 10-1 Installation of Tivoli Storage Manager for ERP
/tmp/backup/5.5.0.0-TIV-TSMERPORA-AIX.bin -console 4. We used the following installation parameters: Oracle SID ORC SAP configuration file /oracle/ORC/102_64/dbs dsm.sys stanza TSM1_TDP_ORACLE
Tivoli Storage Manager node name CHARGER01_TDP Backup management class DBBACKUPS Archive management class LOGS Install Oracle RMAN support Yes The installation process is shown in Example 10-2.
Example 10-2 Example of Tivoli Storage Manager for ERP - Oracle installation process
Please enter the required information Enter Oracle SID [SID] ORC Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1] ----------------------------------------------------------------------Please enter the required information Enter directory where the SAP BR-Tools are located. [/usr/sap/ORC/SYS/exe/run] /usr/sap/ORC/SYS/exe/run
274
Enter directory where the SAP configuration file (initSID.sap) is located. [/oracle/ORC/dbs] /oracle/ORC/102_64/dbs Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1] ----------------------------------------------------------------------To connect to the Administration Assistant Server the following information is needed. If you do not specify a server, the connection will be disabled. Enter network address of Administration Assistant Server [charger01] Enter port for Administration Assistant Server [5126] Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1] ----------------------------------------------------------------------To connect to the Tivoli Storage Manager server with basic settings the installer updates the configuration files with the provided parameters. If you do not want the parameters updated answer the next question with NO. Should the installer update these settings? [X] 1 - Yes (recommended for first time installation) [ ] 2 - No (recommended for update installation) To select an item enter its number, or 0 when you are finished [0]: enter dsm.sys. enter enter enter Tivoli Storage Manager server. The name must already exist in [TSMSERV] TSM1_TDP_ORACLE TSM node name [R3NODE] charger01_tdp backup management classes [MDB] dbbackups archive management classes [MLOG1 MLOG2] logs
Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1] ----------------------------------------------------------------------To support Oracle RMAN with Data Protection for SAP a shared library must be installed. In addition some action must be done to link the oracle executable against this library. For more information read the installation manual. Do you want to install Oracle RMAN support? [X] 1 - Yes
Chapter 10. Oracle backup using Tivoli Storage Manager for ERP
275
[ ]
2 -
No
To select an item enter its number, or 0 when you are finished [0]: Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1] ----------------------------------------------------------------------Data Protection for SAP will be installed in the following location: /usr/tivoli/tsm/tdp_r3/ora64
276
SErvername TSM1_TDP_ORACLE COMMMethod TCPip TCPPort 1500 TCPServeraddress lincoln02 passwordaccess prompt
Chapter 10. Oracle backup using Tivoli Storage Manager for ERP
277
2. Define a second stanza in dsm.sys for Tivoli Storage Manager Backup Archive Client for backup of file systems. Example 10-5 shows this TSM1_FS stanza. This stanza is also used by the Tivoli Storage Manager client scheduler to authenticate with the Tivoli Storage Manager server as node charger01_fs. The value of parameter PASSWORDACCESS in TSM1_FS stanza is generate, so the Backup Archive Client and client scheduler store the password locally after the initial invocation. The client scheduler can then be started automatically from /etc/inittab. Tivoli Storage Manager node charger01_fs is a member of policy domain FSBACKUPS, so all the schedules associated with charger01_fs have to be defined in the same policy domain.
Example 10-5 /usr/tivoli/tsm/client/api/bin64/dsm.sys
3. We decide to use the same dsm.sys profile file for Tivoli Storage Manager Backup Archive Client and for Tivoli Storage Manager API client. We create a symbolic link for dsm.sys in the Tivoli Storage Manager Backup Archive Client installation directory pointing to dsm.sys in the Tivoli Storage Manager API directory, as shown in Example 10-6.
Example 10-6 Create link to dsm.sys file
ln -s /usr/tivoli/tsm/client/api/bin64/dsm.sys /usr/tivoli/tsm/client/ba/bin/dsm.sys 4. Preparation for the oraorc user: Adding Tivoli Storage Manager API variables: Add DSMI_DIR and DSMI_LOG to the oraorc user profile. Example 10-7 on page 279 shows the additional lines. Creating error log directory /var/log/tsm: Adjust the access rights to enable the oraorc user to perform read and write operations to the log directory (chmod ugo+rw /var/log/tsm).
278
setenv DSMI_DIR /usr/tivoli/tsm/client/api/bin64 setenv DSMI_LOG /var/log/tsm 5. The Tivoli Storage Manager for ERP installation creates a profile shown in Example 10-8. It contains the parameters specified during the installation and some additional settings. In the installation shown in Example 10-2 on page 274, we specify: Tivoli Storage Manager node name: charger01_tdp Tivoli Storage Manager management classes that will be used for data (DBBACKUPS) and redo logs backup (LOGS) The server stanza in the dsm.sys called TSM1_TDP_ORACLE to be used for the SERVER parameter in this configuration
Example 10-8 /oracle/ORC/102_64/dbs/initORC.utl
BACKUPIDPREFIX ORC___ MAX_SESSIONS 2 MAX_BACK_SESSIONS 2 MAX_ARCH_SESSIONS 2 REDOLOG_COPIES 2 RL_COMPRESSION YES MULTIPLEXING 2 BUFFSIZE 131072 MAX_VERSIONS 30 BATCH YES EXITONERROR yes REPORT 2 TRACEMAX 10000 CONFIG_FILE /oracle/ORC/102_64/dbs/initORC.bki SERVER TSM1_TDP_ORACLE SESSIONS 2 PASSWORDREQUIRED YES ADSMNODE charger01_tdp BRBACKUPMGTCLASS dbbackups BRARCHIVEMGTCLASS logs USE_AT 0 1 2 3 4 5 6 END 6. On the Tivoli Storage Manager server, the archive copy groups for SAP data and logs are set with RETVER=NOLIMIT. We have to instruct Tivoli Storage Manager for ERP to perform the expiration of the obsolete backup versions. This is set by updating the MAX_VERSIONS parameter in initORC.utl. In
Chapter 10. Oracle backup using Tivoli Storage Manager for ERP
279
Example 10-8 on page 279, we set Tivoli Storage Manager for ERP to retain 30 backup versions. 7. We switched the user from root to oraorc and updated the locally stored password for Tivoli Storage Manager node charger01_tdp, as shown in Example 10-9.
Example 10-9 Update the Tivoli Storage Manager node password
# su - oraorc oraorc 1> backint -p /oracle/ORC/102_64/dbs/initORC.utl -f password Data Protection for SAP(R) Interface between BR*Tools and Tivoli Storage Manager - Version 5, Release 5, Modification 0.0 for AIX LF 64-bit Build: 316B compiled on Oct 23 2007 (c) Copyright IBM Corporation, 1996, 2007, All Rights Reserved. BKI2027I: Using TSM-API version 5.5.0.0 (compiled with 5.3.0.0). BKI2000I: Successfully connected to ProLE on port tdpr3ora64. BKI0005I: Start of program at: Mon Sep 29 13:44:38 CDT 2008 . BKI0049I: Please enter password for node CHARGER01_TDP on server TSM1_TDP_ORACLE: BKI0051I: Password successfully verified for node CHARGER01_TDP on server TSM1_TDP_ORACLE. BKI0020I: End of program at: Mon Sep 29 13:44:45 CDT 2008 . BKI0021I: Elapsed time: 07 sec . BKI0024I: Return code is: 0. 8. We have to make sure RMAN can access the Tivoli Storage Manager SBTAPI library. RMAN expects the SBT API library provided by a third party to be available as /oracle/ORC/102_64/lib/libobk.a. Therefore, we have to create the following links: ln -s /usr/tivoli/tsm/tdp_r3/ora/libtdp_r3.a /usr/lib/libobk.a ln -s /usr/lib/libobk.a /oracle/ORC/102_64/lib/libobk.a 9. To instruct BR*Tools to use RMAN as a backup interface, we modified the BR*Tools configuration profile, as shown in Example 10-10 on page 281. The modifications are: Parameter backup_def_type = rman_util instructs BR*Tools to allocate and use a dynamic RMAN channel instead of a BACKINT adapter. RMAN channel features are specified by the parameter rman_parms. BR*Tools use the features specified by this parameter to dynamically allocate an RMAN channel. The RMAN channel will use SBTAPI of Tivoli
280
Storage Manager for ERP shown in step 8 on page 280. Use the following parameters: XINT_PROFILE PROLE_PORT The location of the Tivoli Storage Manager for ERP configuration file. The communication port of the ProLE process. This port is defined by the ProLE startup command (on the AIX operating system, it is located in /etc/inittab). It typically reflected in /etc/services as port name tdpr3ora or tdpr3ora64.
The parameter util_par_file used for the BACKINT interface is still present in initORC.sap, as shown in Example 10-10. Even though BR*Tools will use RMAN for backup transfers to Tivoli Storage Manager server, it still uses BACKINT to back up BR*Tools profiles and logs to the Tivoli Storage Manager server.
Example 10-10 Tivoli Storage Manager for ERP - RMAN in initORC.sap
backup_mode = all restore_mode = all backup_type = online backup_dev_type = rman_util backup_root_dir = /oracle/ORC/sapbackup stage_root_dir = /oracle/ORC/sapbackup compress = no compress_cmd = "compress -c $ > $" uncompress_cmd = "uncompress -c $ > $" compress_dir = /oracle/ORC/sapreorg archive_function = save archive_copy_dir = /oracle/ORC/saparch archive_stage_dir = /oracle/ORC/saparch tape_copy_cmd = cpio disk_copy_cmd = copy stage_copy_cmd = rcp pipe_copy_cmd = rsh cpio_flags = -ovB cpio_in_flags = -iuvB cpio_disk_flags = -pdcu dd_flags = "obs=64k bs=64k" dd_in_flags = "ibs=64k bs=64k" saveset_members = 1 rman_parms = "ENV=(XINT_PROFILE=/oracle/ORC/102_64/dbs/initORC.utl,PROLE_PORT=5126,& BR_INFO)"
Chapter 10. Oracle backup using Tivoli Storage Manager for ERP
281
copy_out_cmd = "dd ibs=8k obs=64k of=$" copy_in_cmd = "dd ibs=64k obs=8k if=$" rewind = "tctl -f $ rewind" rewind_offline = "tctl -f $ offline" tape_pos_cmd = "tctl -f $ fsf $" tape_size = 100G exec_parallel = 0 tape_address = /dev/rmt0.1 tape_address_rew = /dev/rmt0 volume_archive = (ORCA01, ORCA02, ORCA03, ORCA04, ORCA05, ORCA06, ORCA07, ORCA08, ORCA09, ORCA10, ORCA11, ORCA12, ORCA13, ORCA14, ORCA15, ORCA16, ORCA17, ORCA18, ORCA19, ORCA20, ORCA21, ORCA22, ORCA23, ORCA24, ORCA25, ORCA26, ORCA27, ORCA28, ORCA29, ORCA30) volume_backup = (ORCB01, ORCB02, ORCB03, ORCB04, ORCB05, ORCB06, ORCB07, ORCB08, ORCB09, ORCB10, ORCB11, ORCB12, ORCB13, ORCB14, ORCB15, ORCB16, ORCB17, ORCB18, ORCB19, ORCB20, ORCB21, ORCB22, ORCB23, ORCB24, ORCB25, ORCB26, ORCB27, ORCB28, ORCB29, ORCB30) expir_period = 30 tape_use_count = 100 util_par_file = /oracle/ORC/102_64/dbs/initORC.utl During the configuration, you should consider the following parameters of Tivoli Storage Manager for ERP profile: backup_type Identifies the default type of the database backup. This parameter is only used by BRBACKUP (the default is offline). Determines the backup medium that will be used (the default is tape). In order to use the backint interface, this parameter must be set either to util_file or util_file_online (see Table 10-4 on page 283). For RMAN, this parameter is set to rman_util. This parameter specifies where the parameter file, which is required for a backup with an external backup program, is located. When backup_dev_type is set to rman_util, this parameter defines various parameters required for RMAN channel allocation.
backup_dev_type
util_par_file
rman_parms
282
To understand the possible combinations of backup_dev_type and backup_type, refer to Table 10-4.
Table 10-4 BR*Tools profile parameter options Operation Offline backup Online backup Online backup with individual tablespace locking Online backup via RMAN backup_dev_type util_file util_file util_file_online rman_util backup_type offline online online online
TSM1>define schedule FSBACKUPS SAP_FULL_ON action=command object="/tsm/scripts/br_full_on.ksh" startt=22:00 period=1 peru=day duration=10 duru=min
Chapter 10. Oracle backup using Tivoli Storage Manager for ERP
283
Schedule SAP_LOGS is triggered every 2 hours. SAP_LOGS performs s backup of offline redo logs by executing the /tsm/scripts/br_logs_on.ksh script at the client node. The definition is shown in Example 10-12.
Example 10-12 Client schedule SAP_LOGS
TSM1>define schedule FSBACKUPS SAP_LOGS action=command object="/tsm/scripts/br_logs_on.ksh" startt=21:30 period=2 peru=hour duration=10 duru=min 2. To activate the SAP_FULL_ON and SAP_LOGS schedules for the Tivoli Storage Manager node charger01_fs, we must link both schedules with Tivoli Storage Manager node. This is achieved by defining schedule associations, as shown in Example 10-13.
Example 10-13 Definition of schedule associations
TSM1>define association FSBACKUPS SAP_FULL_ON charger01_fs TSM1>define association FSBACKUPS SAP_LOGS charger01_fs
export DSM_DIR=/usr/tivoli/tsm/client/ba/bin export DSM_CONFIG=/usr/tivoli/tsm/client/ba/bin/dsm.opt export DSM_LOG=/var/log/tsm The parameter DSM_CONFIG instructs Tivoli Storage Manager client scheduler to use /usr/tivoli/tsm/client/ba/bin/dsm.opt as the default option file. Tivoli Storage Manager client scheduler looks for the directory specified by DSM_DIR for the dsm.sys file. We have our dsm.sys in /usr/tivoli/tsm/client/ba/bin, which is just a symbolic link pointing to /usr/tivoli/tsm/client/api/bin64/dsm.sys. 3. We test the configuration of Tivoli Storage Manager scheduler by executing the dsmc sched command. The result is shown in Example 10-15.
284
# dsmc sched IBM Tivoli Storage Manager Command Line Backup/Archive Client Interface Client Version 5, Release 5, Level 0.0 Client date/time: 09/29/08 14:22:14 (c) Copyright by IBM Corporation and other(s) 1990, 2007. All Rights Reserved. TSM Backup-Archive Client Version 5, Release 5, Level 0.0 Querying server for next scheduled event. Node Name: CHARGER01_FS Please enter your user id <CHARGER01_FS>: Please enter password for user id "CHARGER01_FS": Session established with server TSM: AIX-RS/6000 Server Version 5, Release 5, Level 0.0 Server date/time: 09/29/08 14:21:18 Last access: 09/29/08 14:21:18 Next operation scheduled: -----------------------------------------------------------Schedule Name: SAP_LOGS Action: Command Objects: /tsm/scripts/br_logs_on.ksh Options: Server Window Start: 21:30:00 on 09/29/08 -----------------------------------------------------------Schedule will be refreshed in 7 hours and 9 minutes. 4. We modify /etc/inittab to start the Tivoli Storage Manager client scheduler automatically during the AIX operating system startup. Example 10-16 shows the added line.
Example 10-16 Startup of client scheduler in /etc/inittab
tsmsched:2345:respawn:/usr/tivoli/tsm/client/ba/bin/dsmc sched >/dev/null 2>&1 5. We copied backup scripts to the /tsm/scripts directory. The return code of the scripts reflects the result of the backup operation. The brbackup or brarchive commands are called with the BR*Tools profile specified by parameter -p. Tivoli Storage Manager scheduler considers RC=0 a successful
Chapter 10. Oracle backup using Tivoli Storage Manager for ERP
285
result. If another value is returned by the script, the scheduled event is considered to have failed. The script br_full_on.ksh found in Example 10-17 is responsible for executing a full online backup using BR*Tools.
Example 10-17 Tivoli Storage Manager backup script /tsm/scripts/br_full_on.ksh
#!/bin/ksh RC=0 su - oraorc <<EOB brbackup -c -u / -t ONLINE_CONS -m FULL -p /oracle/ORC/102_64/dbs/initORC.sap EOB RC=$? echo "\n\n$0 finished RC=$RC \n" return $RC The script br_logs_on.ksh found in Example 10-18 is responsible for executing a backup of offline redo log files. The log files that have been successfully sent to Tivoli Storage Manager server are deleted from the local storage by using the parameter -sd.
Example 10-18 Offline redo logs backup script /tsm/scripts/br_logs_on.ksh
#!/bin/ksh RC=0 su - oraorc <<EOB brarchive -c -u / -sd -p /oracle/ORC/102_64/dbs/initORC.sap EOB RC=$? echo "\n\n$0 finished RC=$RC \n" return $RC
286
backup_mode = all restore_mode = all backup_type = online backup_dev_type = util_file_online backup_root_dir = /oracle/ORC/sapbackup stage_root_dir = /oracle/ORC/sapbackup compress = no compress_cmd = "compress -c $ > $" uncompress_cmd = "uncompress -c $ > $" compress_dir = /oracle/ORC/sapreorg archive_function = save archive_copy_dir = /oracle/ORC/saparch archive_stage_dir = /oracle/ORC/saparch tape_copy_cmd = cpio disk_copy_cmd = copy stage_copy_cmd = rcp pipe_copy_cmd = rsh cpio_flags = -ovB cpio_in_flags = -iuvB cpio_disk_flags = -pdcu dd_flags = "obs=64k bs=64k" dd_in_flags = "ibs=64k bs=64k" saveset_members = 1 #rman_parms = "ENV=(XINT_PROFILE=/oracle/ORC/102_64/dbs/initORC.utl,PROLE_PORT=5126,& BR_INFO)" copy_out_cmd = "dd ibs=8k obs=64k of=$" copy_in_cmd = "dd ibs=64k obs=8k if=$" rewind = "tctl -f $ rewind" rewind_offline = "tctl -f $ offline" tape_pos_cmd = "tctl -f $ fsf $" tape_size = 100G exec_parallel = 0 tape_address = /dev/rmt0.1 tape_address_rew = /dev/rmt0 volume_archive = (ORCA01, ORCA02, ORCA03, ORCA04, ORCA05, ORCA06, ORCA07, ORCA08, ORCA09, ORCA10, ORCA11, ORCA12, ORCA13, ORCA14, ORCA15, ORCA16, ORCA17, ORCA18, ORCA19, ORCA20, ORCA21, ORCA22, ORCA23, ORCA24, ORCA25, ORCA26, ORCA27, ORCA28, ORCA29, ORCA30) volume_backup = (ORCB01, ORCB02, ORCB03, ORCB04, ORCB05, ORCB06, ORCB07, ORCB08, ORCB09, ORCB10,
Chapter 10. Oracle backup using Tivoli Storage Manager for ERP
287
expir_period = 30 tape_use_count = 100 util_par_file = /oracle/ORC/102_64/dbs/initORC.utl The changes in the backup method do not affect the schedules that we define in 10.4.3, Scheduling configuration on page 283.
10.6 References
Refer to the following books for more information about the topics covered in this chapter: Data Protection for SAP - Installation and Users Guide for Oracle, SC33-6340 IBM Tivoli Storage Management Concepts, SG24-4877
288
11
Chapter 11.
289
290
11.2 Installation
The installation procedure covers: 11.2.1, Atape driver installation on page 291 11.2.2, Storage agent installation on page 294 11.2.3, Configuration worksheets on page 297
A p p l ic a t io n P ro g ra m
A ta p e D e v ic e D r iv e r
SC SI or FC HBA D r iv e r
Ta p e D e v ic e
291
Preinstallation considerations
Before proceeding with the installation, verify the following items: The tape device is properly functioning, properly attached to the server, and is powered up. If you are attaching an IBM TotalStorage Enterprise Tape System 3590 Model E or Model H Tape Drive with the Fibre Channel Attachment, make sure it is defined with the hard addressing option. You have logged onto the server using an account with root authority. You have a command shell window open on the server to perform the installation procedure. Make sure the current path is defined in the command shell PATH variable. This can be accomplished in the korn shell using the following command: export PATH=.:$PATH If the tape device was configured previously by another device driver (not Atape), remove any existing device definitions for it. For example, run the command rmdev -l ost1 -d. Note: The Atape driver will come in the format Atape.x.x.x.x.bin, where x.x.x.x is the version number of the Atape device driver.
0503-292 This update will not fully take effect until after a system reboot. installp: bosboot process completed. This message refers to the updates to the boot record only. If the installation summary shows that the Atape driver was installed successfully, it is not necessary to reboot the machine at this time. If the installation summary shows that the install failed, you should correct the error, reboot the machine, and attempt to install the Atape driver a second time.
292
Installation procedure
Enter the following command to list the currently installed Atape.driver version: lslpp -l Atape.driver To install the Atape driver in the current directory, use the smit command. This will install and commit the Atape driver on the system. Verify that the installation is similar to what is shown in Example 11-2.
Example 11-2 Verification of Atape driver installation
# lslpp -l Atape.driver Fileset Level State Description --------------------------------------------------------------------Path: /usr/lib/objrepos Atape.driver 11.2.0.0 COMMITTED IBM AIX Enhanced Tape and Medium Changer Device Driver Once the installation of the Atape driver has completed successfully, run the cfgmgr command to allow AIX to pick up the new devices. Verify the tape devices, as shown in Example 11-3.
Example 11-3 Verification of tape devices attached to server using SAN
# lsdev -Cc tape rmt0 Available 07-08-02 Other FC SCSI Tape Drive rmt1 Available 07-08-02 Other FC SCSI Tape Drive rmt2 Available 07-08-02 Other FC SCSI Tape Drive
Uninstalling
When uninstalling, all devices that use the Atape driver must be closed and cannot be in use when Atape is uninstalled or the uninstall will fail. You can uninstall the Atape device driver using the smit command menu to uninstall the software. Verify the uninstallation, as shown in Example 11-4.
Example 11-4 Verification of Atape driver deinstallation
293
294
Fileserver/Database Clients
LAN
A SAP SYSTEM
TSM CLIENT PROGRAM
DATA PROTECTION STORAGE AGENT
em yst PS SA
Me
ta d
at a
Met
ad a
ta
TSM SERVER
TAPE LIBRARY
SAN
filesystem/database disks
The storage agent can support several clients while installed on only one of the clients. You can install the storage agent on a client machine that shares storage resources with the Tivoli Storage Manager server or on a client machine that does not share storage resources but is connected to a client machine that does share storage resources with the Tivoli Storage Manager server. You must specify the LANFREECOMMMETHOD option in the dsm.sys client system options file to allow the client machine that shares storage resources to communicate with the storage agent. A Tivoli Storage Manager server, acting as a library manager, controls the storage devices. This server may be the server working in conjunction with the storage agent or another Tivoli Storage Manager server in the enterprise. The Tivoli Storage Manager server keeps track of the meta data that the client has stored. The meta data, such as policy information and file name and size, is passed over the LAN connection between the storage agent and server.
295
The storage agent communicates with the server to obtain and store database information and to coordinate device and volume access. The server and client coordinate and negotiate data access through the SAN. The client will use the storage agent for operations where appropriate. For example, if a SAN path is defined, the client (by means of the storage agent) transfers data on that path. If a failure occurs on the SAN path, failover occurs and the client uses its LAN connection to the Tivoli Storage Manager server and moves the client data over the LAN.
Installation procedure
To install the storage agent in the current directory, use the smit command menu. This installs and commits the storage agent on the system. Verify the installation by using the following procedure shown in Example 11-5 on page 297.
296
Description
----------------------------------------------------------------------Path: /usr/lib/objrepos tivoli.tsm.StorageAgent.rte 5.5.0.0 COMMITTED IBM Tivoli Storage Agent Runtime
Uninstalling
When uninstalling, all devices that use the storage agent must be closed and cannot be in use when the storage agent is uninstalled or the uninstallation will fail. You can uninstall the storage agent using the smit command menu to uninstall software Verify the uninstallation by using the command shown in Example 11-6.
Example 11-6 Verification of storage agent deinstallation
# lslpp -l tivoli.tsm.StorageAgent.rte lslpp: 0504-132 Fileset tivoli.tsm.StorageAgent.rte not installed. For more information, refer to IBM Tivoli Storage Manager for SAN for AIX Storage Agent User's Guide Version 5.4, SC32-0129 and the information found at the following address: http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/index.jsp?topic= /com.ibm.itsmagent.doc/anrlst5432.htm
297
298
Shared disk Local path name: Enter the name of the local path to the network-mounted file system. For example, enter /shareddisk.
Table 11-2 contains the configuration information worksheet for the server systems.
Table 11-2 Server system configuration information Server properties Enter information about the Tivoli Storage Manager server that the storage agent will need to communicate with the server. You can verify the server information by issuing the QUERY STATUS command from a Tivoli Storage Manager administrative command line. Name: Enter the name of the server. For example, enter tsmsrver. Password: Enter the password for the server. For example, enter not4u. TCP/IP address: Enter the TCP/IP address for the server. For example, enter tsmsrver.tucson.ibm.com. TCP/IP port: Enter the TCP/IP port for the server. For example, enter 1502. Device information External library Executable location: Enter the fully qualified path to the external library manager executable for each storage agent to which Tivoli Storage Manager can send media access requests. Library name: Enter a name of your choosing that is less than or equal to 32 characters. ACSLS, 3494, or SCSI library information Library name: Enter the name of an ACSLS, 3494, or SCSI library. Library device name: Enter the device name for an ACSLS, 3494, or SCSI library, which you will use when you define the path. ACSLS, 3494, or SCSI drive device names Enter the names of the tape drives for which you will define paths. Drive 1 Drive 2 Drive 3
299
Drive 4 Shared disk Local path name: Enter the name of the local path to the network-mounted file system. For example, enter /shareddisk. Client node names Record the names of the client nodes on which you will install and configure the storage agent. This information will be needed when you register the nodes, set the policy for them, and place any needed restrictions on them.
Ensure that your tape library and drives are visible to the Tivoli Storage Manager server as well as to the client machine. You must create zones on your SAN to ensure visibility of these devices to the respective servers.
300
Client DESMOINES01
dsm.sys ServerName CommMethod TCPPort TCPServerAddress Nodename Enablelanfree Lanfreecommmethod Lanfreetcpport TSM_TCP_LANFREE TCPIP 1500 9.3.65.141 desmoines01_TDP YES TCPip 1500
The following are the configuration items we discuss in this section: 11.3.1, Configuration on the Tivoli Storage Manager client on page 302 11.3.2, Configuration on the Tivoli Storage Manager server on page 303
301
2. You must run the dsmsta setstorageserver command, as shown in Example 11-8 Note: The command syntax is as follows: DSMSTA SETSTORAGESERVER--MYName--=--storage_agent_name---> >--MYPAssword--=--storage_agent_password------------------> >--MYHLAddress--=--storage_agent_hladdress----------------> >--SERVERName--=--server_name-----------------------------> >--SERVERPAssword--=--server_password---------------------> >--HLAddress--=--server_tcpip_address---------------------> >--LLAddress--=--server_tcpip_port-----------------------><
Example 11-8 Example of setstorageserver command
302
3. The command in Example 11-8 on page 302 generates some information in the devconfig,out file, which is located in the /usr/tivoli/tsm/StorageAgent/bin directory. The commands output is similar to what is shown in Example 11-9.
Example 11-9 Result of set storage server command in devconfig.out file
SET STANAME SA_DESMOINES01 SET STAPASSWORD 21c5ac459fb6c64f9aa2c3c4522db77c81 SET STAHLADDRESS 9.3.65.137 DEFINE SERVER TSM HLADDRESS=9.3.65.141 LLADDRESS=1500 SERVERPA=21c8f66ce8ce1eef58edb4cca39dd04830
define server sa_desmoines01 serverpassword=passw0rd hladdress=9.3.65.137 lladdress=1500 2. You must define paths from the storage agent to the drives on Tivoli Storage Manager. The drives must be zoned using SAN so that the client machine has direct access to it. You must check the defined tape drives on the storage agent by issuing the command shown in Example 11-11. The result of the command confirms that the drives have been zoned correctly.
Example 11-11 List of defined tape drives on the storage agent
# lsdev -Cc tape rmt0 Available 07-08-02 Other FC SCSI Tape Drive rmt1 Available 07-08-02 Other FC SCSI Tape Drive rmt2 Available 07-08-02 Other FC SCSI Tape Drive
303
3. With the list of the defined tape drives, define the paths on the Tivoli Storage Manager Server, as shown in Example 11-12.
Example 11-12 Example of defining a path in Tivoli Storage Manager
define path sa_desmoines01 drv0 srct=server destt=drive library=lto1 device=/dev/rmt0 define path sa_desmoines01 drv1 srct=server destt=drive library=lto1 device=/dev/rmt1 define path sa_desmoines01 drv2 srct=server destt=drive library=lto1 device=/dev/rmt3 4. We start the Storage Agent from command line by issuing dsmsta for testing the connection to Tivoli Storage Manager server. The expected output is similar to Example 11-13.
Example 11-13 Running storage agent # dsmsta ANR7800I DSMSERV generated at 00:44:34 on Nov 6 2007. Tivoli Storage Manager for AIX-RS/6000 Version 5, Release 5, Level 0.0 Licensed Materials - Property of IBM (C) Copyright IBM Corporation 1990, 2007. All rights reserved. U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corporation. ANR0900I Processing options file /usr/tivoli/tsm/StorageAgent/bin/dsmsta.opt. ANR7811I Using instance directory /usr/tivoli/tsm/StorageAgent/bin. ANR4726I The ICC support module has been loaded. ANR8285I Shared Memory driver ready for connection with clients on port 1510 ANR0408I Session 1 started for server TSM1 (AIX-RS/6000) (Tcp/Ip) for storage agent. ANR0408I Session 2 started for server TSM1 (AIX-RS/6000) (Tcp/Ip) for library sharing. ANR9792E Library 3584 on library manager TSM1 is currently not being shared. ANR0409I Session 2 ended for server TSM1 (AIX-RS/6000). ANR0993I Server initialization complete. ANR0916I TIVOLI STORAGE MANAGER distributed by Tivoli is now ready for use. ANR0408I Session 3 started for server TSM1 (AIX-RS/6000) for event logging. TSM:SA_DESMOINES01> ANR8200I TCP/IP Version 4 driver ready for connection with clients on port 1500
5. We also test the connection from the Tivoli Storage Manager server. We list the sessions of server sa_desmoines01, as shown in Example 11-14 on page 305.
304
Example 11-14 Listing sessions tsm: TSM1>sa_desmoines01: q sess ANR1699I Resolved SA_DESMOINES01 to 1 server(s) - issuing command Q SESS against server(s). ANR1687I Output for command 'Q SESS ' issued against server SA_DESMOINES01 follows: Sess Comm. Sess Wait Bytes Bytes Sess Number Method State Time Sent Recvd ------ ------ ------ ------ ------------1 Tcp/Ip IdleW 0 S 2.2 K 2.8 K Server 3 Tcp/Ip IdleW 0 S 1.6 K 253 Server 4 Tcp/Ip Run 0S 167 234 Admin Platform Type Client Name
ANR1688I Output for command 'Q SESS ' issued against server SA_DESMOINES01 completed. ANR1694I Server SA_DESMOINES01 processed command 'Q SESS ' and completed successfully. ANR1697I Command 'Q SESS ' processed by 1 server(s): 1 successful, 0 with warnings, and 0 with errors.
6. We edit /etc/inittab so that the storage agent is started during the AIX startup. We add the line shown in Example 11-15.
Example 11-15 Storage Agent line in /etc/inittab
autostgagnt:2:once:/usr/tivoli/tsm/StorageAgent/bin/dsmsta quiet >/dev/console 2>&1 7. If you want to start the storage agent manually from the /usr/tivoli/tsm/StorageAgent/bin directory, issue the command nohup ./dsmsta quiet &.
305
Policy Domain Name: DATABASE_TDP Policy Set Name: STANDARD Mgmt Class Name: DBBACKUPS Default Mgmt Class ?: Yes Description: Space Management Technique: None Auto-Migrate on Non-Use: 0 Migration Requires Backup?: Yes Migration Destination: SPACEMGPOOL Last Update by (administrator): ADMIN Last Update Date/Time: 09/19/08 14:48:24 Managing profile: Changes Pending: No A LOGS management class was defined for archiving logs to a disk storage pool, as shown in Example 11-17.
Example 11-17 Example of LOGS management class
Policy Domain Name: DATABASE_TDP Policy Set Name: STANDARD Mgmt Class Name: LOGS Default Mgmt Class ?: No Description: Space Management Technique: None
306
Auto-Migrate on Non-Use: Migration Requires Backup?: Migration Destination: Last Update by (administrator): Last Update Date/Time: Managing profile: Changes Pending:
The definition for the copy group for the DBBACKUPS management class is shown in Example 11-18.
Example 11-18 Example of copy group for dbbackups management class
Policy Domain Name: DATABASE_TDP Policy Set Name: STANDARD Mgmt Class Name: DBBACKUPS Copy Group Name: STANDARD Copy Group Type: Archive Retain Version: No Limit Retention Initiation: Creation Retain Minimum Days: Copy Serialization: Shared Static Copy Frequency: CMD Copy Mode: Absolute Copy Destination: TAPEDATA Last Update by (administrator): ADMIN Last Update Date/Time: 09/19/08 14:49:48 Managing profile: Changes Pending: No The definition for the copy group for the LOGS management class is shown in Example 11-19.
Example 11-19 Example of copy group for logs management class
Policy Domain Name: DATABASE_TDP Policy Set Name: STANDARD Mgmt Class Name: LOGS Copy Group Name: STANDARD Copy Group Type: Archive Retain Version: No Limit Retention Initiation: Creation Retain Minimum Days: Copy Serialization: Shared Static Copy Frequency: CMD
307
Copy Mode: Copy Destination: Last Update by (administrator): Last Update Date/Time: Managing profile: Changes Pending:
14:50:00
*********************************************************************** * * Tivoli Storage Manager * *********************************************************************** * SErvername TSM_TDP COMMMethod TCPip TCPPort 1500 TCPServeraddress 9.3.65.141 nodename desmoines01_TDP passwordaccess generate Compression off Txnb 2097152 Tcpw 2048 Tcpb 32 tcpnodelay yes errorlogname /usr/tivoli/tsm/client/api/bin64/dsmerror.log resour 8 ENABLELANFREE yes lanfreecommmethod tcpip lanfreetcpp 1500
308
Note: The API clients dsm.sys is different than the one in the backup/archive client file. For the backup/archive client, dsm.sys resides in /usr/tivoli/tsm/client/ba/bin. You can keep both dsm.sys files synchronized by creating a symbolic link as follows: ln -s /usr/tivoli/tsm/client/ba/bin/dsm.sys /usr/tivoli/tsm/client/api/bin64/dsm.sys When one dsm.sys file is updated, the other one is automatically updated as well. This can also be done for the dsm.opt files in both directories. To back up databases using the Tivoli Storage Manager API, you must also make some changes in DB2. Perform the following steps: 1. Switch to the DB2 user by issuing the following command: su - db2qas 2. Set the environment variables to include the following: DSMI_DIR=/usr/tivoli/tsm/client/api/bin64 DSMI_CONFIG=/usr/tivoli/tsm/client/api/bin64/dsm.opt DSMI_LOG=/var/log/tsm 3. List the DB2 configuration by issuing the following command: db2 get db cfg for QAS 4. You will see there is an option to add a Tivoli Storage Manager management class. You are required to add the management class that was defined for data to go straight to tape, as well as the management call for the archive logs.To configure this option, issue the following commands: db2 update db cfg using TSM_MGMTCLASS DBBACKUPS db2 update db cfg using LOGARCHMETH1 TSM:LOGS Note: The TSM_MGMTCLASS option can be used to provide a temporary override for backup options. 5. Once this task is done, the database would have to be stopped and restarted. We recommend that you stop the database by stopping the SAP application. To do this task, you must log in as an administrative user (such as qasadm) and issue the stopsap command. This brings down the database. Otherwise, you can also issue the db2stop command to stop the database; if the database does not stop, use the db2stop force command. 6. Start the database. If you also stop SAP, you can start the instance using the startsap command. Otherwise, DB2 can be started using the db2start command.
309
7. Update the password for Tivoli Storage Manager using the dsmapipw command. You must run this command from the /db2/db2qas/sqllib/adsm directory and issue the ./dsmapipw command. See the execution result in Example 11-21.
Example 11-21 dsmapipw results
************************************************************* * Tivoli Storage Manager * * API Version = 5.5.0 * ************************************************************* Enter your current password: Enter your new password: Enter your new password again: Your new password has been accepted and updated.
SErvername TSM_TDP COMMMethod TCPip TCPPort 1500 TCPServeraddress 9.3.65.141 nodename desmoines01_TDP passwordaccess prompt TCPBuffsize 32 TCPWindowsize 24 Compression Off errorlogname /usr/tivoli/tsm/tdp_r3/db264/dsmerror_TDP.log ENABLELANFREE yes lanfreecommmethod tcpip lanfreetcpp 1500 Once this is done, the <initSID>.utl file must be edited to point to the tape device management class so that data is transferred straight to tape. This file is located in /db2/<SID>/tdp_r3. A sample edited file is shown in Example 11-23 on page 311.
310
#---------------------------------------------------------------------# # Data Protection for SAP (R) interface for DB2 UDB # # Sample profile for Data Protection for SAP (R) Version 5.4 # #---------------------------------------------------------------------# See the 'Data Protection for SAP (R) Installation & # User's Guide' for a full description. # # For a comment symbol the character '#' can be used. # Everything following this character will be interpreted as comment. # # Data Protection for SAP (R) accesses its profile # in "read only" mode. All variable parameters like passwords, date of # last password change, current version number will be written into the # file specified with the CONFIG_FILE parameter. The passwords will be # encrypted. #---------------------------------------------------------------------# Prefix of the 'Backup ID' which is used for communication with # the SAP-DB2 Administration Tools and stored in the description field # of the Tivoli Storage Manager archive function. # Maximum 6 characters. # Default: none. #---------------------------------------------------------------------BACKUPIDPREFIX QAS___ #---------------------------------------------------------------------# Number of parallel sessions to be established. # Note: This number must not exceed the number of tape drives # simultaneously available to the node on the Tivoli Storage Manager # servers to be accessed. # The valid range of MAX_SESSIONS is from 1 and 32. # Default: none. #---------------------------------------------------------------------MAX_SESSIONS 2 # Tivoli Storage Manager client sessions #---------------------------------------------------------------------# Number of backup copies of the DB2 log files. # The valid range of REDOLOG_COPIES is from 1 to 9. # Default: 1. #---------------------------------------------------------------------#REDOLOG_COPIES 2
311
#---------------------------------------------------------------------# Specifies the block size for disk I/O (in bytes). # The default values have been chosen from our performance experiments # in standard hardware environments. # The valid range of BUFFSIZE is from 4KB to 32MB. # Default: 131072 (128 KB) on UNIX, 32768 (32 KB) on Windows. #---------------------------------------------------------------------BUFFSIZE 131072 # block size in bytes #---------------------------------------------------------------------# This optional parameter controls how Data Protection for SAP(R) uses # the internal buffers for transferring data during a backup. # Valid values: SIMPLE | PREVENT | AUTO # Default: SIMPLE #---------------------------------------------------------------------#BUFFCOPY AUTO #---------------------------------------------------------------------# Name of a program to be called before the backup task is started. # Default: none. #---------------------------------------------------------------------#FRONTEND pgmname parameterlist #---------------------------------------------------------------------# Name of a program to be called after the backup task is completed. # Default: none. #---------------------------------------------------------------------#BACKEND pgmname parameterlist #---------------------------------------------------------------------# Maximum number of data base backup versions to be kept. # Note: Version control by Data Protection for SAP (R) is only # activated if the parameter MAX_VERSION is not 0. # The valid range of MAX_VERSIONS is from 0 to 9999. # A value of 0 means no versioning. # Default: 0, no versioning. #---------------------------------------------------------------------#MAX_VERSIONS 4 #---------------------------------------------------------------------# Specifies whether a null block compression of the data is to be # performed before transmission to Tivoli Storage Manager. # Although RL compression introduces additional CPU load, throughput # can be improved when the network is the bottleneck. RL compression in
312
# Data Protection for SAP(R) should not be used together with # Tivoli Storage Manager API compression. # Default: NO #---------------------------------------------------------------------#RL_COMPRESSION YES # NO is default #---------------------------------------------------------------------# Controls generation of a trace file. # Note: We recommend using the trace function only in cooperation with # Data Protection for SAP (R) support. # Default: OFF. #---------------------------------------------------------------------#TRACE OFF #TRACEFILE /db2/C21/sqllib/log/tdpr3.trace #---------------------------------------------------------------------# Denotes the maximum size of the trace file in KB. # If not specified, the trace file size is unlimited. #---------------------------------------------------------------------#TRACEMAX <max. size> # trace file size in KB #---------------------------------------------------------------------# Specify the full path of the configuration file. # Default: none. #---------------------------------------------------------------------CONFIG_FILE /db2/QAS/tdp_r3/%DB2NODE/initQAS.bki #---------------------------------------------------------------------# Denotes if Data Protection for SAP (R) shall send error/status # information to a Tivoli Storage Manager server. # The servername must match one of the servers listed in a SERVER # statement. Valid values for verbosity are ERROR | WARNING | DETAIL. # Default: none. #---------------------------------------------------------------------#LOG_SERVER servername [verbosity] #LOG_SERVER server_a ERROR #********************************************************************** # Statement for servers and paths. # Multiple servers may be defined. #********************************************************************** SERVER SESSIONS TSM_TDP 2
313
# Use a password
*********************************************************************** * * Tivoli Storage Manager * *********************************************************************** SErvername server_a COMMMethod TCPip TCPPort 1500 TCPServeraddress 9.3.65.141 nodename charger01_tdp passwordaccess prompt Compression off Txnb 2097152 Tcpw 2048 Tcpb 32 tcpnodelay yes errorlogname /usr/tivoli/tsm/client/api/bin64/dsmerror.log resour 8 ENABLELANFREE yes lanfreecommmethod tcpip lanfreetcpp 1500
314
Note: The API clients dsm.sys is different than the one for the backup/archive client file. The backup/archive clients dsm.sys resides in /usr/tivoli/tsm/client/ba/bin. You can keep both dsm.sys files synchronized by creating a symbolic link as follows: ln -s /usr/tivoli/tsm/client/ba/bin/dsm.sys /usr/tivoli/tsm/client/api/bin64/dsm.sys When one dsm.sys file is updated, the other one is automatically updated as well. This can also be done for the dsm.opt files in both directories.
315
316
12
Chapter 12.
317
dscli>mkflash -dev IBM.2107.75CMRY2 -freeze -record 0100:0300 0101:0301 0102:0302 The parameters passed into the command are: -dev Specifies the storage image ID, which consists of a manufacturer, machine type, and serial number. This parameter is required if you do not specify a fully qualified ID for the source and target volumes and you do not specify a value for the devid variable in your profile file. Triggers the queue full condition for the source volume. All writes to the source volume are queued by the host and are written after the queue full condition is reset. During the queue full condition, the source volume
-freeze
318
reports long busy status.The queue full condition is reset by an extended long busy timeout condition. The timeout condition affects all FlashCopy source volumes that are contained within a respective logical subsystem and that are established or modified with the -freeze parameter. -record Records the changed tracks on both volumes within a FlashCopy pair. Select this parameter when you establish an initial FlashCopy volume pair that you intend to use with the resyncflash command.
7. After you have established the FlashCopy relationship, you can resynchronize later changes made to the source volume using the resyncflash command, as shown in Example 12-2.
Example 12-2 The resyncflash command
dscli>resyncflash -dev IBM.2107.75CMRY2 -freeze -record 0100:0300 0101:0301 0102:0302 8. You can run a cfgmgr command on the backup server to re-configure the disks and physical volume IDs and then do an importvg of the volume groups containing the FlashCopied disks, as shown in Example 12-3.
Example 12-3 importvg of FlashCopy volumes on backup server
319
The FlashCopy function itself has three options: FlashCopy with option copy FlashCopy with option incremental FlashCopy with option nocopy In general, you can issue a backup and a restore of an SAP database using either the native backup utility, provided by the database application (available for DB2 only), Data Protection for SAP, or Data Protection for FlashCopy. If you have installed Data Protection for FlashCopy, we recommend using it for all backup functions, even backups to the Tivoli Storage Manager server without FlashCopy. Each backup method has its own query function to list the backups made. If you have made backups to Tivoli Storage Manager using Data Protection for FlashCopy (as recommended), these backups are listed by queries from all methods. Example 12-4 shows how a backup is listed in queries from DB2 after an offline backup of a DB2 SAP database from the production system to the Tivoli Storage Manager server has occurred. We use the db2 list history backup all for QAS command.
Example 12-4 Listing all backup history from the QAS database
Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID -- --- ------------------ ---- --- ------------ ----------- ---------B D 20080919211839001 F O S0000037.LOG S0000037.LOG ----------------------------------------------------------------------Contains 26 tablespace(s): 00001 SYSCATSPACE 00002 SYSTOOLSPACE 00003 QAS#STABD 00004 QAS#STABI 00005 QAS#BTABD 00006 QAS#BTABI 00007 QAS#CLUD 00008 QAS#CLUI 00009 QAS#POOLD 00010 QAS#POOLI 00011 QAS#DDICD 00012 QAS#DDICI 00013 QAS#DOCUD 00014 QAS#DOCUI 00015 QAS#EL620D 00016 QAS#EL620I 00017 QAS#LOADD 00018 QAS#LOADI
320
00019 QAS#PROTD 00020 QAS#PROTI 00021 QAS#ES620D 00022 QAS#ES620I 00023 QAS#SOURCED 00024 QAS#SOURCEI 00025 QAS#USER1D 00026 QAS#USER1I ----------------------------------------------------------------------Comment: DB2 BACKUP QAS OFFLINE Start Time: 20080919211839 End Time: 20080919214057 Status: A ----------------------------------------------------------------------EID: 95 Location: /usr/tivoli/tsm/tdp_r3/db264/libtdpdb264.a Example 12-5 shows how a backup is listed in Data Protection for SAP. We use the backom -c q_all -m detailed command.
Example 12-5 Listing a backup from Data Protection for SAP
======================================================================= Data Protection for SAP(R) - Backup Object Manager -Version 5, Release 5, Modification 0 Level 0 for AIX LF 64-bit Build: 316B compiled on Oct 23 2007 (c) Copyright IBM Corporation, 1996, 2007, All Rights Reserved. ======================================================================= ===> Backup images for database 'QAS' <=== >> DATABASE BACKUP Time: 20080919211839 Node: 0000 Session(s): 1 TDI: no BID: QAS___A0EQ1N3XXQ Server: nashville01 Mgmt Class: DBBACKUPS
321
Example 12-6 shows how a backup is listed in Data Protection for FlashCopy. We use the tdphdwdb2 -f inquire -p ./desmoines01/initQAS.fcs command.
Example 12-6 Backup from Data Protection for FlashCopy
IBM Tivoli Storage Manager for Advanced Copy Services Data Protection for FlashCopy Devices for mySAP(R) on DB2 (tdphdwdb2) FlashCopy Backup utility for IBM Tivoli Storage Manager - Version 5, Release 4, Level 2.0 for AIX (32 Bit) Build: 354 generated at 00:38:32 on Jul 30 2008 (c) Copyright IBM Corporation, 2000, 2007, All Rights Reserved. IDS2014I 00023 BSI_TAPEONLY - 20080919211839 - 20080919211833 - exchange.00023 /db2/QAS/dbs/initQAS.utl :0000:20080919211839 :0000:/db2/QAS/log_dir/NODE0000/ FULL_OFFLINE :0000:S0000037.LOG - - - 531304 - - This chapter discusses Data Protection for FlashCopy, so we always use tdbhdwdb2 or tdphdwora for backups and restores.
Backup
This type of backup can be initiated from Data Protection for FlashCopy, even though it will not make a FlashCopy. It must be initiated from the production server, because the backup server has no access to the database volumes. The backup can be either online or offline, and can be full or partial (for example, a single database). You might do this type of backup for migrating or moving a database (so that it is restored to another system), or in the event that the backup server is currently not available. Data Protection for FlashCopy calls Data Protection for SAP to perform the backup and keeps track of that backup in the IDS_CONTROL_FILE.
322
Restore
Restores are always initiated from the production server. In this scenario, even though the backup has to come from the Tivoli Storage Manager server, we can start the restore using Data Protection for FlashCopy program tdphdwdb2 or tdphdwora.
Backup
Backing up the FlashCopied SAP database from the backup server to Tivoli Storage Manager using Data Protection for FlashCopy is the most common way of using the product. Issuing tdphdwdb2 or brbackup on the backup server will cause the server to contact the database server on the production side to gather information about the volumes where the database is located. The volume names are passed to splitint, which takes the names of the source volumes and puts them into the file initQAS.fct together with the target volumes. The FlashCopy copy is then started by splitint and, after a few seconds (when source and target volumes are connected), the backup of the SAP database to the Tivoli Storage Manager server will be started by Data Protection for my SAP on the backup server. If both operations (FlashCopy and backup to Tivoli Storage Manager) finish without error, the target volumes are unmounted from the backup server.
Restore
In this case, because there are two backups made, you have the choice of restoring the SAP database from either the FlashCopy copy or from the backup on the Tivoli Storage Manager server. We refer to the restore from a FlashCopy copy as a FlashBack restore. For a DB2 system, using tdphdwdb2, you will be guided through the restore and recovery process and you will be prompted for all required actions. For an Oracle SAP system using tdphdwora, you have to follow the product manual for pre- and post-restore activities.
323
Note: If you withdraw a target volume set, you can no longer use this set for a FlashBack restore, because the relationship is broken.The target volumes will be unmounted by default after the FlashCopy operation and the backup to the Tivoli Storage Manager server is complete.If the FlashCopy type is NOCOPY, the target volumes are also withdrawn, because this type of FlashBack is not eligible for a FlashBack restore.
324
Note: Each time you back up the SAP database, either online or using FlashCopy, make sure to save the transaction logs using the methods described here.
DB2 logs
When the SAP software is using DB2 database, we have two methods to perform the backup of the offline log files: The SAP-DB2 Administration Tools include a utility called brarchive. This utility archives the offline logs to the Tivoli Storage Manager server and then deletes them from the logspace. A sample command is /db2/<SID>/admintools/bin> brarchive -sd. You can also use the DB2 archive log command. This is the recommended method. A sample command is db2 archive log for database <SID>. The archival commands close the current log and mark it inactive. In an SAP environment, the LOGARCHMETH1 option of the DB2 configuration file has to be set to VENDOR:<libraryname> and the LOGARCHOPT1 option has to point to the Data Protection for SAP vendor environment file, vendor.env. This file is created by Data Protection for SAP at installation time and points to the initSID.utl file. You can see our settings for these variables in Example 12-7. Use the db2 get db cfg for <SID> | grep LOGARCH command to verify the proper settings.
Example 12-7 Configuration settings for archiving logs
db2qas> db2 get db cfg for QAS | grep LOGARCH First log archive method (LOGARCHMETH1) VENDOR:/usr/tivoli/tsm/tdp_r3/db264/libtdpdb264.a Options for logarchmeth1 (LOGARCHOPT1) /db2/QAS/dbs/vendor.env Second log archive method (LOGARCHMETH2) Options for logarchmeth2 (LOGARCHOPT2)
= = = OFF =
These settings for LOGARCHMETH1and LOGARCHOPT1 DB2 will automatically send offline logs to the VENDOR library, which is the Data Protection for SAP library.
Oracle logs
When the SAP software is installed on the Oracle database, there is only one method available. Use the BR*Tools brarchive utility to perform a backup of the offline log files. This utility calls Data Protection for SAP to perform the actual backup of the offline logfiles.The command is the same as for DB2.
325
326
327
Management class for database backups Our management class for keeping QAS instance database objects is dbbackups. Management classes for log file backups Our management class for keeping QAS instance log objects is logs. Network address of administration assistant server (Optional) We used a Windows machine with IP address 9.41.222.171 for our administration assistant server. Port for Administration Assistant Server (Optional) We used the default port used in the installation of TDP for ERP. Figure 12-1 shows the lab environment.
Figure 12-1 Advanced Copy Services for SAP (DB2) lab environment
328
export XINT_PROFILE=/db2/QAS/dbs/initQAS.utl export TDP_DIR=/db2/QAS/dbs/tdplog export DB2_VENDOR_LIB=/usr/tivoli/tsm/tdp_r3/db264/libtdpdb264.a The changes in Example 12-8 are for a 64-bit system. If you are using a 32-bit environment, the shared library is called libtdpdb2.a in directory /usr/tivoli/tsm/tdp_r3/db2. The DB2 registry must be updated with a pointer to the vendor environment file. Use the command shown in Example 12-9.
Example 12-9 DB2 registry update
db2set DB2_VENDOR_INI=/db2/QAS/dbs/vendor.env
329
PASSWORDREQUIRED YES ADSMNODE desmoines01_tdp You also have to update the password using the backom -c password command on the production server.
passwordaccess generate nodename desmoines01_tdp Example 12-12 on page 331 shows the entries required in the Data Protection for SAP (DB2) utility file (/db2/<SID>/dbs/init<SID>.utl).
330
Example 12-12 Data Protection for SAP (DB2) utility file /db2/QAS/dbs/initQAS.utl
OpenSSL installation
We use the non-SSL communication mode, but CIM client requires OpenSSL package for its operations. Open SSL can be downloaded from the AIX toolbox for Linux application page at the following address: http://www-03.ibm.com/systems/power/software/aix/linux/index.html You can check the availability of OpenSSL with the command shown in Example 12-13.
Example 12-13 OpenSSL package
# rpm -qa | grep -i openssl openssl-0.9.7l-2 You can install OpenSSL using the rpm -ivh <OpenSSLrpmpackage> command.
331
sysmgt.pegasus.osbaseproviders This fileset is installed in the /usr/pegasus/provider directory. The software is in the installp format and can be installed using SMIT. No configuration is required on the CIM client.
C:\Program Files\IBM\cimagent>stopcimom.bat The CIM Object Manager - DS Open API service is stopping...... The CIM Object Manager - DS Open API service was stopped successfully. C:\Program Files\IBM\cimagent>startcimom.bat The CIM Object Manager - DS Open API service is starting... The CIM Object Manager - DS Open API service was started successfully. In our case, we installed the CIMOM on a Windows machine that was accessible over LAN to the DS8000 server, and the production and backup servers.
332
Our next step is to configure the storage devices, DS6000 or DS8000, within the CIM agent. Specify the IP address of the DS6000 or DS8000, and the user name and password with the addess and addessserver commands. You can then view those settings using the lsess and lsessserver commands, as shown in Example 12-15.
Example 12-15 CIM agent configuration
C:\Program Files\IBM\cimagent>setdevice Application setdevice started in interactive mode To terminate the application enter: exit To get a help message enter: help >>> addess 9.3.80.176 uptuser <password> An ess provider entry for IP 9.3.80.176 successfully added >>> addessserver 9.3.80.176 uptuser <password> An essserver entry for IP 9.3.80.176 successfully added >>> lsess IP : USER : ENCRYPTED PASSWORD 9.3.80.176 : uptuser : dkqhUMREFYIrXR4G >>> lsessserver IP : USER : ENCRYPTED PASSWORD : IPA 9.3.80.176 : uptuser : bEqOTMvsO3IFxf0L : NOT SET You can also verify the CIM agent configuration using the verifyconfig command, as shown in Example 12-16.
Example 12-16 Verify CIM agent configuration
C:\Program Files\IBM\cimagent>verifyconfig.bat -u superuser -p <passwd> Sat Sep 20 02:46:04 IST 2008 Verifying configuration of CIM agent for the IBM TotalStorage DS Open Application Programming Interface... Communicating with SLP to find WBEM services... 1 WBEM services found host=9.41.222.208, port=5988 Connecting to CIM agent, host=9.41.222.208, port=5988 Found 2 IBMTSESS_StorageSystem instances: 2107.75CMRY2 2107.75CMRY1 Internal Server at 9.3.80.176 configured for 2107.CMRY1 Internal Server at 9.3.80.176 configured for 2107.CMRY2 Verification Successful Note: We have changed the password of the superuser user within CIM agent using the setuser and chuser commands.
333
Preparation
The rshd and rexecd daemons must be enabled on the production server, and you should refresh the inetd daemon if any changes were made to the inetd.conf file. Ensure that the .rhosts file is created in the home directory of the DB2 user ID (db2qas in our configuration) to enable the rsh command to work from the backup server to the production server. NFS exports the configuration directory /db2/QAS/dbs, as it is a common directory to keep all Data Protection for SAP (DB2) and Data Protection for FlashCopy configuration files, work directories, and log files so that the information is consistent across both the production and backup servers. The environment variables INSTHOME, DB2DBDFT, DB2INSTANCE, DSM_DIR, DSM_CONFIG, DSM_LOG, DSMI_DIR, DSMI_CONFIG and DSMI_LOG must all be set.
# ./5.4.2.0-TIV-TSMACSSAPDDB2FTP-AIX.bin -console Initializing InstallShield Wizard........ Launching InstallShield Wizard........ ----------------------------------------------------------------------Welcome to ... IBM Tivoli Storage Manager for Advanced Copy Services Data Protection for FlashCopy Devices for mySAP This will install Data Protection for FlashCopy Devices for mySAP on your computer. Version 5.4.2.0. Please visit our webpage: http://www.ibm.com/software/tivoli
334
Press 1 for Next, 3 to Cancel or 5 to Redisplay [1] 1 ----------------------------------------------------------------------IBM Licence Acceptance Panel International Program License Agreement . . . Press Enter to continue viewing the license agreement, or, Enter "1" to accept the agreement, "2" to decline it or "99" to go back to the previous screen, "3" Print, "4" Read non-IBM terms. 1 Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1] 1 ----------------------------------------------------------------------Data Protection for FlashCopy Devices for mySAP will be installed in the following location: /usr/tivoli/tsm/acssap/db2 with the following features: DB2_AIX for a total size: 70 MB Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1] 1 Installing Data Protection for FlashCopy Devices for mySAP. Please wait...
335
Please read the information below. ATTENTION! You have to execute the script ./setup.sh once for each user who will run Data Protection for FlashCopy Devices for mySAP. You will find the script setup.sh in the installation directory /usr/tivoli/tsm/acssap/db2. Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1] 1 ----------------------------------------------------------------------The InstallShield Wizard has successfully installed Data Protection for FlashCopy Devices for mySAP. Choose Finish to exit the wizard. Press 3 to Finish or 5 to Redisplay [3] 3
336
# /usr/tivoli/tsm/acssap/db2/setup.sh Please enter the SAPSID for the Production SAP System: [C21] QAS Please enter the DBSID for the Production SAP System: [QAS] QAS DB2 UDB V9 found on this machine checking DB2 Instance...OK DB2 instance db2qas is a DB2 V9 instance checking DB2 Instance Bit-Width...OK DB2 instance db2qas is a 64 bit instance checking DB2 Instance Type...OK DB2 instance db2qas is a multiple partitions instance Please enter the path for the configuration files: [/db2/QAS/dbs] Please enter the path for the executables: [/db2/QAS/dbs] reading db2nodes.cfg...OK single partition number of Servers : 1 list of Servers : desmoines01 max # Nodes per Server : 1 Is desmoines01 your [P]roduction or [B]ackup server ? [P/B] P check/create directory /db2/QAS/dbs/desmoines01 ... Free space in filesystem = 10109932 KB Dirname = /db2/QAS/dbs Space available = 10109932 KB, Required = 10000 KB Free space in filesystem = 10109932 KB Dirname = /db2/QAS/dbs Space available = 10109932 KB, Required = 10000 KB Free space in filesystem = 1419036 KB Dirname = /usr/tivoli/tsm/acssap/db2 Space available = 1419036 KB, Required = 100000 KB group dba exists with GID 211... user db2qas exists in group dba... /db2/QAS/dbs/desmoines01/initQAS.fcs already exists. Old .fcs will be kept. /db2/QAS/dbs/desmoines01/initQAS.fct already exists. Old .fct will be kept. checking TSM ACS mySAP socket server... /db2/QAS/dbs/splitint already exists. Rename ? [Y/N] Y creating acsprole TCPIP service port tsmacsdb2 57326/tcp... acsprole TCPIP service port ->tsmacsdb2 57326/tcp <- already exists waiting for TSM ACS mySAP acsprole to start.........OK Setup successful.
337
LOGON_HOST_PROD desmoines01 db2qas LOGON_HOST_BACK nashville01 BACKUP_MAX 30 IDS_CONTROL_FILE /db2/QAS/dbs/desmoines01/save/idssave CONFIG_FILE /db2/QAS/dbs/desmoines01/initQAS.fcp WORK_DIR /db2/QAS/dbs/desmoines01/work TRACE YES LOG_TRACE_DIR /db2/QAS/dbs/logtraces TDPR3_CONFIG_FILE /db2/QAS/dbs/initQAS.utl PROLE_SERVICE_NAME tsmacsdb2 COPYSERVICES_HARDWARE_TYPE DS8000 DB2_REMOTE_DBALIAS R_QAS DB2_RECOVERY_LOG /db2/QAS/dbs/tdplog/tdprlf.QAS.NODE0000.log DB2_TDPR3_LIB /usr/tivoli/tsm/tdp_r3/db264/libtdpdb264.a PRIMARY_COPYSERVICES_SERVERNAME 9.41.222.208 COPYSERVICES_SERVERPORT 5988 COPYSERVICES_USERNAME superuser COPYSERVICES_COMMPROTOCOL HTTP FlashCopy_TYPE COPY
338
In the TARGET_VOLUME lines, the highlighted number is the serial number of the target volume, and the next two fields are for the serial number and size of the source volume. These two fields do not have to be specified, because they will be automatically populated when the splitint program runs for the first time to make the association between the target and source volumes.
# su - db2qas desmoines01:db2qas 1> cd /db2/QAS/dbs desmoines01:db2qas 2> ./tdphdwdb2 -p ./desmoines01/initQAS.fcs -f configure IBM Tivoli Storage Manager for Advanced Copy Services Data Protection for FlashCopy Devices for mySAP(R) on DB2 (tdphdwdb2) FlashCopy Backup utility for IBM Tivoli Storage Manager - Version 5, Release 4, Level 2.0 for AIX (32 Bit) Build: 354 generated at 00:38:32 on Jul 30 2008 (c) Copyright IBM Corporation, 2000, 2007, All Rights Reserved. Profile Log file Trace file Function Log file Trace file ./desmoines01/initQAS.fcs splitint_?_20080923152826.log splitint_?_20080923152826.trace configure tdphdwdb2_?_20080923152826.log tdphdwdb2_?_20080923152826.trace
-- Parameters of tdphdwdb2 profile -LOGON_HOST_PROD LOGON_HOST_BACK BACKUP_MAX IDS_CONTROL_FILE CONFIG_FILE WORK_DIR TRACE LOG_TRACE_DIR TDPR3_CONFIG_FILE SUPPORT_ADMIN_ASSISTANT desmoines01 db2qas nashville01 30 /db2/QAS/dbs/desmoines01/save/idssave /db2/QAS/dbs/desmoines01/initQAS.fcp /db2/QAS/dbs/desmoines01/work YES /db2/QAS/dbs/logtraces /db2/QAS/dbs/initQAS.utl NO
339
COPYSERVICES_HARDWARE_TYPE DS8000 DB2_REMOTE_DBALIAS R_QAS DB2_RECOVERY_LOG /db2/QAS/dbs/tdplog/tdprlf.QAS.NODE0000.log DB2_TDPR3_LIB /usr/tivoli/tsm/tdp_r3/db264/libtdpdb264.a DB2_PARALLELISM 1 DB2_NUM_BUFFERS 2 DB2_BUFFER_SIZE 1024 PRIMARY_COPYSERVICES_SERVERNAME 9.41.222.208 COPYSERVICES_SERVERPORT 5988 COPYSERVICES_USERNAME superuser FlashCopy_TYPE COPY VOLUMES_FILE /db2/QAS/dbs/desmoines01/initQAS.fct DB2 instance db2qas is using DB2 UDB Version 9.1.0.3 Checking DB2 Instance Bitwidth... DB2 instance db2qas is running in 64 bit mode. IDS2506I The DB2 instance db2qas is running in 64 bit mode. tdphdwdb2 is running in compatibility mode. DP for mySAP Version 5.5.0. found IDS2105I Start of tdphdwdb2 program at: 09/23/08-15:28:26 . DB2 instance db2qas is a EEE instance. Default database path: /db2/QAS TCPIP service name: sapdb2QAS Enter the TCPIP service port for the socket server [57330]: Function password IDS2051I: Enter the password for the user 'db2qas' : IDS2052I: Enter the password for the user 'db2qas' again: IDS2051I: Enter the password for the user 'superuser on the DS' : IDS2052I: Enter the password for the user 'superuser on the DS' again: IDS2306I Issuing command 'rah "<>cd /db2path/dbs ; ./tdphdwdb2 -f configure -t EEE -P 57330 -p /db2path/dbs/<>/initQAS.fcs -T 20080923152826" echo hdwIntRC: $? ' ... rah: omitting myself, desmoines01 hdwIntRC: 0 IDS2306I Issuing command 'grep idscntlQAS /etc/services | grep -w 57330 echo hdwIntRC: $? ' ... idscntlQAS 57330/tcp hdwIntRC: 0 IDS2306I Issuing command 'chservices -a -v idscntlQAS -p tcp -n 57330 echo hdwIntRC: $? ' ... idscntlQAS 57330/tcp hdwIntRC: 0 IDS2306I Issuing command 'mkitab "sockQAS:2:respawn:su - db2qas -c 'cd /db2path/dbs ; /db2path/dbs/tdphdwdb2 -f initsocket -p ./desmoines01/initQAS.fcs '>/dev/null 2>&1"' ... IDS2306I Issuing command 'grep idscntlQAS_0 /etc/services | grep -w 57331
340
echo hdwIntRC: $? ' ... idscntlQAS_0 57331/tcp hdwIntRC: 0 IDS2306I Issuing command 'chservices -a -v idscntlQAS_0 -p tcp -n 57331 echo hdwIntRC: $? ' ... idscntlQAS_0 57331/tcp hdwIntRC: 0 IDS2306I Issuing command 'mkitab "sockQAS_0:2:respawn:su - db2qas -c 'cd /db2path/dbs ; /db2path/dbs/tdphdwdb2 -f initsocket -p ./desmoines01/initQAS.fcs -s 0 '>/dev/null 2>&1"' ... IDS2106I Exiting with return code 0.
[root@nashville01] /usr/tivoli/tsm/acssap/db2 # ./setupDB2BS QAS desmoines01 checking rsh connection to desmoines01...OK checking 'rsh' command output on desmoines01...OK checking hostname on desmoines01...OK hostname on desmoines01 = desmoines01 checking ENV-setting in /etc/environment on desmoines01...OK checking DB2 Instance on desmoines01... DB2 UDB V9 found on this machine You have installed a single version of DB2 V9 on the backup system:
341
Install Path Level Fix Pack Special Install Number Install Date ----------------------------------------------------------------------/opt/IBM/db2/V9.1 9.1.0.0 0 Wed Sep 17 16:08:17 2008 CDT The DB2 V9 installation path /db2/db2qas/db2_software is not found on the backup system Select the DB2 V9 installation you want to use for this installation [1] - /opt/IBM/db2/V9.1 Enter number: [1] 1 DB2 instance db2qas is a DB2 V9 instance checking DB2 Instance Bit-Width on desmoines01...OK DB2 instance db2qas is a 64 bit instance checking DB2 Instance Type on desmoines01...OK DB2 instance db2qas is a EEE instance reading db2nodes.cfg on desmoines01...OK single EEE partition number of Servers : 1 list of Servers : desmoines01 max # Nodes per Server : 1 list of Nodes : 0 checking sapdb2QAS TCPIP service port on desmoines01...OK creating TCPIP service port sapdb2QAS 5912/tcp... TCPIP service port ->sapdb2QAS 5912/tcp # SAP DB2 Communication Port<- already exists checking DB2_db2qas TCPIP service port on desmoines01...OK checking DB2_db2qas_END TCPIP service port on desmoines01...OK creating TCPIP service port DB2_db2qas 5914/tcp... TCPIP service port ->DB2_db2qas 5914/tcp<- already exists creating TCPIP service port DB2_db2qas_END 5917/tcp... TCPIP service port ->DB2_db2qas_END 5917/tcp<- already exists checking prole setup on desmoines01...OK checking DP for FC socket server configuration for EEE instance: checking idscntlQAS TCPIP service port on desmoines01...OK creating TCPIP service port idscntlQAS 57330/tcp... TCPIP service port ->idscntlQAS 57330/tcp<- already exists checking sockQAS setup on desmoines01...OK checking DP for FC socket server configuration for EEE node: 0 checking idscntlQAS_0 TCPIP service port on desmoines01...OK creating TCPIP service port idscntlQAS_0 57331/tcp... TCPIP service port ->idscntlQAS_0 57331/tcp<- already exists checking sockQAS_0 setup on desmoines01...OK
342
checking NFS Export /db2/QAS/dbs on desmoines01...OK checking Filesystem /db2/QAS...OK checking Filesystem /db2/db2qas...OK creating directories... /db2 exists/created /db2/db2qas exists/created /db2/QAS exists/created /db2/QAS/db2qas exists/created /db2/QAS/sapdata1 exists/created /db2/QAS/sapdata2 exists/created /db2/QAS/sapdata3 exists/created /db2/QAS/sapdata4 exists/created /db2/QAS/log_dir/ exists/created /db2/QAS/log_archive exists/created /db2/QAS/log_retrieve exists/created /db2/QAS/db2dump exists/created /db2/QAS/errors exists/created /db2/QAS/dbs exists/created creating group dbqasadm... group dbqasadm exists with GID 204 creating user db2qas... user db2qas exists with UID 203 changing login shell for user db2qas to /usr/bin/ksh... checking 'su' command output...OK creating group dba... group dba exists with GID 211 adding user db2qas to group dba... user db2qas added successful to group dba changing owner for directories /db2/QAS... chown db2qas.dbqasadm for /db2/QAS successful creating NFS mount /db2/QAS/dbs from desmoines01... NFS mount for /db2/QAS/dbs exists mounting NFS mount /db2/QAS/dbs... mounting NFS mount /db2/QAS/dbs successful checking DP for FC (tdphdwdb2) symbolic link in /db2/QAS/dbs... checking DP for FC (tdphdwdb2) file mode and owner...OK checking DP for FC (splitint) symbolic link in /db2/QAS/dbs... checking DP for FC (splitint) file mode and owner...OK checking license for DP for FC for mySAP... checking license for DP for mySAP...OK copying of db2qas user environment from desmoines01 to nashville01... /db2/db2qas/.dbenv_nashville01.sh... /db2/db2qas/.dbenv_nashville01.csh... /db2/db2qas/.profile... /db2/db2qas/.cshrc...
343
/db2/db2qas/.login... creating DB2 instance db2qas... DB2 instance db2qas exists checking tsm settings... DSM_CONFIG=/db2/QAS/sqllib/adsm/dsm.opt DSM_DIR=/usr/tivoli/tsm/client/ba/bin DSM_LOG=/db2/QAS/errors DSMI_CONFIG=/usr/tivoli/tsm/client/api/bin64/dsm.opt DSMI_DIR=/usr/tivoli/tsm/client/api/bin64 DSMI_LOG=/var/log/tsm tsm settings...OK checking dsm.opt...rm: Remove /db2/QAS/dbs/dsm.opt.copy? OK checking dsm.sys...OK checking DB2 authentication on desmoines01...OK DB2 Authentication: SERVER_ENCRYPT configuring DB2 instance... db2set DB2COMM=TCPIP... db2 update dbm cfg using SVCENAME sapdb2QAS... DB20000I The UPDATE DBM CONFIGURATION command completed db2 update dbm cfg using SYSADM_GROUP dbqasadm... DB20000I The UPDATE DBM CONFIGURATION command completed db2 update dbm cfg using DFTDBPATH /db2/QAS... DB20000I The UPDATE DBM CONFIGURATION command completed db2 update dbm cfg using DIAGPATH /db2/QAS/db2dump... DB20000I The UPDATE DBM CONFIGURATION command completed db2 list node directory... Node Directory Number of entries in the directory = 1 Node 1 entry: Node name Comment Directory entry type Protocol Hostname Service name = = = = = = REMQAS LOCAL TCPIP desmoines01 sapdb2QAS
Node name = REMQAS tcpip node REMQAS already cataloged db2 list database directory...
344
System Database Directory Number of entries in the directory = 1 Database 1 entry: Database alias Database name Node name Database release level Comment Directory entry type Authentication Catalog database partition number Alternate server hostname Alternate server port number = = = = = = = = = = R_QAS QAS REMQAS b.00 Remote SERVER_ENCRYPT -1
Database alias = R_QAS remote database QAS on REMQAS already cataloged as R_QAS db2start... 09/17/2008 16:14:19 0 0 SQL1026N The database manager is already active. SQL1026N The database manager is already active.
Installation completed successfully ----------------------------------------------------------------------Please do the following steps now on BS as user root: - start setup.sh script for DP for FC for mySAP cd /usr/tivoli/tsm/tdpessr3/db2 (TDP for ESS for mySAP 32bit <= 5.3.0.x) cd /usr/tivoli/tsm/tdpessr3/db264 (TDP for ESS for mySAP 64bit <= 5.3.0.x) cd /usr/tivoli/tsm/tdpessr3/db2 (DP for FC for mySAP = 5.3.1.x) cd /usr/tivoli/tsm/acssap/db2 (DP for FC for mySAP >= 5.4.0.0) ./setup.sh - start setup.sh script for DP for cd /usr/tivoli/tsm/tdp_r3/ cd /usr/tivoli/tsm/tdp_r3/db2 cd /usr/tivoli/tsm/tdp_r3/db264 ./setup.sh - start installer (update install) mySAP (for (for (for < 3.3 TDP for R/3 < 3.2.0.10) DP for mySAP 32bit >= 3.2.0.10) DP for mySAP 64bit >= 3.2.0.10)
345
# ./setup.sh Please enter the SAPSID for the Production SAP System: [C21] QAS Please enter the DBSID for the Production SAP System: [QAS] QAS DB2 UDB V9 found on this machine checking DB2 Instance...OK DB2 instance db2qas is a DB2 V9 instance checking DB2 Instance Bit-Width...OK DB2 instance db2qas is a 64 bit instance checking DB2 Instance Type...OK DB2 instance db2qas is a multiple partitions instance Please enter the path for the configuration files: [/db2/QAS/dbs] Please enter the path for the executables: [/db2/QAS/dbs] reading db2nodes.cfg...OK single partition number of Servers : 1 list of Servers : nashville01 max # Nodes per Server : 1 Is nashville01 your [P]roduction or [B]ackup server ? [P/B] B Free space in filesystem = 10150796 KB Dirname = /db2/QAS/dbs Space available = 10150796 KB, Required = 10000 KB Free space in filesystem = 10150796 KB Dirname = /db2/QAS/dbs Space available = 10150796 KB, Required = 10000 KB Free space in filesystem = 1312276 KB Dirname = /usr/tivoli/tsm/acssap/db2 Space available = 1312276 KB, Required = 100000 KB group dba exists with GID 211... user db2qas exists in group dba... checking TSM ACS mySAP socket server... creating acsprole TCPIP service port tsmacsdb2 57326/tcp... waiting for TSM ACS mySAP acsprole to start.........OK Setup successful.
346
Note: We have to update the vendor environment file details in the DB2 registry of the backup server using the command db2set DB2_VENDOR_INI=/db2/QAS/dbs/vendor.env after we run the setup.sh script.
# su - db2qas nashville01:db2qas 1> cd /db2/QAS/dbs nashville01:db2qas 2> ./tdphdwdb2 -p ./desmoines01/initQAS.fcs -f FlashCopy IBM Tivoli Storage Manager for Advanced Copy Services Data Protection for FlashCopy Devices for mySAP(R) on DB2 (tdphdwdb2) FlashCopy Backup utility for IBM Tivoli Storage Manager - Version 5, Release 4, Level 2.0 for AIX (32 Bit) Build: 354 generated at 00:38:32 on Jul 30 2008 (c) Copyright IBM Corporation, 2000, 2007, All Rights Reserved. IDS1411I The intended FlashCopy type has a value of 'COPY'. Profile /db2/QAS/dbs/desmoines01/initQAS.fcs Log file splitint_?_20080919192714.log Trace file splitint_?_20080919192714.trace Function FlashCopy Log file tdphdwdb2_?_20080919192714.log Trace file tdphdwdb2_?_20080919192714.trace -- Parameters of tdphdwdb2 profile -LOGON_HOST_PROD desmoines01 db2qas LOGON_HOST_BACK nashville01 BACKUP_MAX 30 IDS_CONTROL_FILE /db2/QAS/dbs/desmoines01/save/idssave CONFIG_FILE /db2/QAS/dbs/desmoines01/initQAS.fcp WORK_DIR /db2/QAS/dbs/desmoines01/work TRACE YES LOG_TRACE_DIR /db2/QAS/dbs/desmoines01/logtraces TDPR3_CONFIG_FILE /db2/QAS/dbs/initQAS.utl SUPPORT_ADMIN_ASSISTANT NO COPYSERVICES_HARDWARE_TYPE DS8000 DB2_REMOTE_DBALIAS R_QAS
347
DB2_RECOVERY_LOG /db2/QAS/dbs/tdplog/tdprlf.QAS.NODE0000.log DB2_TDPR3_LIB /usr/tivoli/tsm/tdp_r3/db264/libtdpdb264.a DB2_PARALLELISM 1 DB2_NUM_BUFFERS 2 DB2_BUFFER_SIZE 1024 PRIMARY_COPYSERVICES_SERVERNAME 9.41.222.208 COPYSERVICES_SERVERPORT 5988 COPYSERVICES_USERNAME superuser FlashCopy_TYPE COPY VOLUMES_FILE /db2/QAS/dbs/desmoines01/initQAS.fct DB2 instance db2qas is using DB2 UDB Version 9.1.0.3 Checking DB2 Instance Bitwidth... DB2 instance db2qas is running in 64 bit mode. IDS2506I The DB2 instance db2qas is running in 64 bit mode. tdphdwdb2 is running in compatibility mode. Data Protection for mySAP Version 5.5.0. found IDS2005I Start of tdphdwdb2 program at: 09/19/08-19:27:14 . DB2 instance db2qas is a EEE instance. Default database path: /db2/QAS TCPIP service name: sapdb2QAS Checking for the node directory entry REMQAS ... DB2 instance db2qas is a EEE instance. Default database path: /db2/QAS TCPIP service name: sapdb2QAS Checking system database directory IDS0099I message_id = REQ_DB_READ_DB2NODES_CFG IDS0099I status = MSG_OK IDS0099I message_id = ANS_DB_READ_DB2NODES_CFG IDS0099I status = MSG_OK connect to Node 0 set client connection to Node 0 Checking for the node directory entry REMQAS_0 ... Checking system database directory Connecting to the database R_QAS_0 node 0 with user db2qas using ***** ... TBS name=SYSCATSPACE | ID=0 | Type=DMS | State=0 - Normal TBS name=SYSTOOLSPACE | ID=1 | Type=DMS | State=0 - Normal TBS name=SYSTOOLSTMPSPACE | ID=2 | Type=SMS user temp | State=0 Normal TBS name=PSAPTEMP | ID=3 | Type=SMS system temp | State=0 - Normal TBS name=QAS#STABD | ID=4 | Type=DMS | State=0 - Normal TBS name=QAS#STABI | ID=5 | Type=DMS | State=0 - Normal TBS name=QAS#BTABD | ID=6 | Type=DMS | State=0 - Normal TBS name=QAS#BTABI | ID=7 | Type=DMS | State=0 - Normal
348
TBS name=QAS#CLUD | ID=8 | Type=DMS | State=0 - Normal TBS name=QAS#CLUI | ID=9 | Type=DMS | State=0 - Normal TBS name=QAS#POOLD | ID=10 | Type=DMS | State=0 - Normal TBS name=QAS#POOLI | ID=11 | Type=DMS | State=0 - Normal TBS name=QAS#DDICD | ID=12 | Type=DMS | State=0 - Normal TBS name=QAS#DDICI | ID=13 | Type=DMS | State=0 - Normal TBS name=QAS#DOCUD | ID=14 | Type=DMS | State=0 - Normal TBS name=QAS#DOCUI | ID=15 | Type=DMS | State=0 - Normal TBS name=QAS#EL620D | ID=16 | Type=DMS | State=0 - Normal TBS name=QAS#EL620I | ID=17 | Type=DMS | State=0 - Normal TBS name=QAS#LOADD | ID=18 | Type=DMS | State=0 - Normal TBS name=QAS#LOADI | ID=19 | Type=DMS | State=0 - Normal TBS name=QAS#PROTD | ID=20 | Type=DMS | State=0 - Normal TBS name=QAS#PROTI | ID=21 | Type=DMS | State=0 - Normal TBS name=QAS#ES620D | ID=22 | Type=DMS | State=0 - Normal TBS name=QAS#ES620I | ID=23 | Type=DMS | State=0 - Normal TBS name=QAS#SOURCED | ID=24 | Type=DMS | State=0 - Normal TBS name=QAS#SOURCEI | ID=25 | Type=DMS | State=0 - Normal TBS name=QAS#USER1D | ID=26 | Type=DMS | State=0 - Normal TBS name=QAS#USER1I | ID=27 | Type=DMS | State=0 - Normal TBS container name=/db2/QAS/sapdata1/NODE0000/SYSCATSPACE.container000 TBS container name=/db2/QAS/sapdata1/NODE0000/SYSTOOLSPACE.container000 TBS container name=/db2/QAS/saptemp1/NODE0000/temp4/SYSTOOLSTMPSPACE.000 TBS container name=/db2/QAS/saptemp1/NODE0000/temp4/PSAPTEMP.000 TBS container name=/db2/QAS/sapdata1/NODE0000/QAS#STABD.container000 TBS container name=/db2/QAS/sapdata2/NODE0000/QAS#STABI.container000 TBS container name=/db2/QAS/sapdata1/NODE0000/QAS#BTABD.container000 TBS container name=/db2/QAS/sapdata2/NODE0000/QAS#BTABI.container000 TBS container name=/db2/QAS/sapdata3/NODE0000/QAS#CLUD.container000 TBS container name=/db2/QAS/sapdata2/NODE0000/QAS#CLUI.container000 TBS container name=/db2/QAS/sapdata5/NODE0000/QAS#POOLD.container000 TBS container name=/db2/QAS/sapdata1/NODE0000/QAS#POOLI.container000 TBS container name=/db2/QAS/sapdata5/NODE0000/QAS#DDICD.container000 TBS container name=/db2/QAS/sapdata2/NODE0000/QAS#DDICI.container000 TBS container name=/db2/QAS/sapdata1/NODE0000/QAS#DOCUD.container000 TBS container name=/db2/QAS/sapdata2/NODE0000/QAS#DOCUI.container000 TBS container name=/db2/QAS/sapdata6/NODE0000/QAS#EL620D.container000 TBS container name=/db2/QAS/sapdata2/NODE0000/QAS#EL620I.container000 TBS container name=/db2/QAS/sapdata3/NODE0000/QAS#LOADD.container000 TBS container name=/db2/QAS/sapdata2/NODE0000/QAS#LOADI.container000 TBS container name=/db2/QAS/sapdata3/NODE0000/QAS#PROTD.container000 TBS container name=/db2/QAS/sapdata2/NODE0000/QAS#PROTI.container000 TBS container name=/db2/QAS/sapdata3/NODE0000/QAS#ES620D.container000 TBS container name=/db2/QAS/sapdata1/NODE0000/QAS#ES620I.container000
349
TBS container name=/db2/QAS/sapdata2/NODE0000/QAS#SOURCED.container000 TBS container name=/db2/QAS/sapdata3/NODE0000/QAS#SOURCEI.container000 TBS container name=/db2/QAS/sapdata1/NODE0000/QAS#USER1D.container000 TBS container name=/db2/QAS/sapdata2/NODE0000/QAS#USER1I.container000 DB logretain status: RECOVERY DB userexit status : ON Verifying alias R_QAS_0 logpath: /db2/QAS/log_dir/NODE0000/ Database Path: /db2/QAS/db2qas/NODE0000/SQL00001/ IDS0099I message_id = REQ_SET_BACKUPID IDS0099I status = MSG_OK IDS0099I message_id = ANS_SET_BACKUPID IDS0099I status = MSG_OK IDS1035I The IDS control file exists and a new backup cycle entry has been created. IDS1101I New assigned Backup Sequence Number 00008 IDS1025I Time stamp: 09/19/08-19:27:23. IDS1026I Start of splitint on the production system ... IBM Tivoli Storage Manager for Advanced Copy Services Data Protection for FlashCopy Devices for mySAP(R) on DB2 (tdphdwdb2) FlashCopy Backup utility for IBM Tivoli Storage Manager - Version 5, Release 4, Level 2.0 for AIX (32 Bit) Build: 354 generated at 00:38:32 on Jul 30 2008 (c) Copyright IBM Corporation, 2000, 2007, All Rights Reserved. IDS1411I The intended FlashCopy type has a value of 'COPY'. Profile /db2/QAS/dbs/desmoines01/initQAS.fcs Log file splitint_?_20080919192714.log Trace file splitint_?_20080919192714.trace Function FlashCopy Log file tdphdwdb2_?_20080919192714.log Trace file tdphdwdb2_?_20080919192714.trace -- Parameters of tdphdwdb2 profile -LOGON_HOST_PROD desmoines01 db2qas LOGON_HOST_BACK nashville01 BACKUP_MAX 30 IDS_CONTROL_FILE /db2/QAS/dbs/desmoines01/save/idssave CONFIG_FILE /db2/QAS/dbs/desmoines01/initQAS.fcp WORK_DIR /db2/QAS/dbs/desmoines01/work TRACE YES LOG_TRACE_DIR /db2/QAS/dbs/desmoines01/logtraces TDPR3_CONFIG_FILE /db2/QAS/dbs/initQAS.utl SUPPORT_ADMIN_ASSISTANT NO COPYSERVICES_HARDWARE_TYPE DS8000
350
DB2_REMOTE_DBALIAS R_QAS DB2_RECOVERY_LOG /db2/QAS/dbs/tdplog/tdprlf.QAS.NODE0000.log DB2_TDPR3_LIB /usr/tivoli/tsm/tdp_r3/db264/libtdpdb264.a DB2_PARALLELISM 1 DB2_NUM_BUFFERS 2 DB2_BUFFER_SIZE 1024 PRIMARY_COPYSERVICES_SERVERNAME 9.41.222.208 COPYSERVICES_SERVERPORT 5988 COPYSERVICES_USERNAME superuser FlashCopy_TYPE COPY VOLUMES_FILE /db2/QAS/dbs/desmoines01/initQAS.fct DB2 instance db2qas is using DB2 UDB Version 9.1.0.3 Checking DB2 Instance Bitwidth... DB2 instance db2qas is running in 64 bit mode. IDS2506I The DB2 instance db2qas is running in 64 bit mode. tdphdwdb2 is running in compatibility mode. Data Protection for mySAP Version 5.5.0. found IDS2005I Start of tdphdwdb2 program at: 09/19/08-19:27:12 . IDS2121I Getting the source volumes ... Function getresources_prod Subfunction performsplit Backup list /db2/QAS/dbs/desmoines01/work/tdpessdb2_lst EEP0156I Finding the serial numbers ... IDS1404I The target set with ID '1' is selected for this run. Matching pair tgt: <75CMRY20100> src: <75CMRY20300> size: <10737418240_Bytes> Matching pair tgt: <75CMRY20101> src: <75CMRY20301> size: <10737418240_Bytes> Matching pair tgt: <75CMRY20102> src: <75CMRY20302> size: <10737418240_Bytes> DB2 instance db2qas is a EEE instance. Default database path: /db2/QAS TCPIP service name: sapdb2QAS Checking system database directory Checking local database directory /db2/QAS IDS1602I Waiting for SyncPoint 1 on all EEE nodes... Get first active logfile for database QAS NODE0000 ... set client connection to Node 0 First active logfile for DB QAS is: S0000021.LOG IDS1602I Waiting for SyncPoint 2 on all EEE nodes... IDS1602I Waiting for SyncPoint 3 on all EEE nodes... IDS2560I Suspend database QAS NODE0000 write activities... IDS0099I message_id = REQ_DB_SUSPEND IDS0099I status = MSG_OK
351
IDS0099I message_id = ANS_DB_SUSPEND IDS0099I status = MSG_OK IDS1602I Waiting for SyncPoint 4 on all EEE nodes... .. IDS2122I FlashCopying the sources to the target volumes ... Function FlashCopy_prod Subfunction performsplit Backup list /db2/QAS/dbs/desmoines01/work/tdpessdb2_lst EEP0272I Flushing the buffers to disk... IDS1030I FlashCopy started ... EEP1625I Number of volumes to be processed by FlashCopy: 3 EEP0354I Performing COPY FlashCopy of source volume 75CMRY20300 to target volume 75CMRY20100 EEP0354I Performing COPY FlashCopy of source volume 75CMRY20301 to target volume 75CMRY20101 EEP0354I Performing COPY FlashCopy of source volume 75CMRY20302 to target volume 75CMRY20102 IDS1031I FlashCopy successful. IDS1602I Waiting for SyncPoint 5 on all EEE nodes... ... IDS2562I Resume database QAS NODE0000 write activities... IDS0099I message_id = REQ_DB_RESUME IDS0099I status = MSG_OK IDS0099I message_id = ANS_DB_RESUME IDS0099I status = MSG_OK IDS1602I Waiting for SyncPoint 6 on all EEE nodes... ... IDS1602I Waiting for SyncPoint 7 on all EEE nodes... ... BID 20060719192714 UTL /db2/QAS/dbs/initQAS.utl INF EBT EBB FULL_ONLINE_DISK_ONLY EBC :0000:/db2/QAS/log_dir/NODE0000/ EBR :0000:S0000021.LOG IDS2033I Information from Data Protection for mySAP has been found with BACKUPID 20060719192714. IDS1602I Waiting for SyncPoint 8 on all EEE nodes... ... IDS2124I Exiting with return code 0. #INFO remote shell terminated successfully
352
IDS1027I splitint ended successfully on the production system. IDS1025I Time stamp: 09/19/08-19:28:56. IDS1540I Start of fcagent on the backup system ... IDS2123I Enabling the volumes and filesystems ... Function setresources Backup list /db2/QAS/dbs/desmoines01/save/tdpessdb2_lst IDS1076I Trying to set the semaphore for the critical part of importing/exporting ... IDS1046I Start of listing of importing volume groups/mounting file systems ... EEP0126I Trying to find new devices to match the source device. This process will take some time....... EEP0148I Importing volume groups now... EEP0149I Newly imported volume group: QAS_0tdp1 EEP0124I Mounting filesystem : /db2/QAS/db2qas. EEP0124I Mounting filesystem : /db2/QAS/sapdata1. EEP0124I Mounting filesystem : /db2/QAS/sapdata2. EEP0124I Mounting filesystem : /db2/QAS/sapdata3. EEP0124I Mounting filesystem : /db2/QAS/sapdata5. EEP0124I Mounting filesystem : /db2/QAS/sapdata6. EEP0124I Mounting filesystem : /db2/QAS/saptemp1. IDS1077I Semaphore released. IDS1047I End of listing. IDS1025I Time stamp: 09/19/08-19:31:44. IDS1602I Waiting for SyncPoint 1 on all EEE nodes... ... waiting for socket server to stop... IDS2124I Exiting with return code 0. The return code 0 indicates that the backup was successful.
353
Make multiple FlashCopy backups at different times, depending on how much disk you want to use for FlashCopies. This means you can restore the database to different points in time by selecting which target to FlashBack. There are a number of situations where FlashBack restore must not be used. It is very important to read carefully the sections When Not to Use FlashBack Restore and FlashBack Restore Limitations in the manual, Data Protection for FlashCopy Devices for mySAP Installation and Users Guide for DB2 UDB, SC33-8208. Special attention is required when making any change to the production servers hardware configuration, to make sure proper maintenance procedures are observed. We recommend thorough testing of FlashBack restore procedures. Also, the integrity of the FlashCopy target volumes must be maintained; there must be no updates to them after the FlashCopy is complete. FlashBack restore is not possible in these circumstances, among others: If the Data Protection for FlashCopy target volume file (.fct) for the FlashBack Restore is different from the target volume files used for the FlashCopy backup. If you are unsure of what backup images you have on the target volumes that you plan to restore using FlashBack Restore. If the source volume configuration on the production system differs from the source volume configuration during the FlashCopy backup, and you want to preserve the new source volume configuration (for example, if a volume has been added or deleted on the production system since the FlashCopy backup). If the backup of the database was performed using Data Protection for FlashCopy with the FlashCopy_TYPE parameter specified as NOCOPY. If the FlashCopy agent process is not physically completed. If there are logical volumes or file systems that belong to other applications in the database volume group, this can cause integrity problems. We recommend having only file systems and logical volumes that are part of the SAP database in the database volume group. FlashBack Restore cannot restore a database that was backed up with a version of Data Protection for ESS earlier than Version 5.3. The database copy on the target set to be restored must not have been brought online on the backup system at any time after the Data Protection for FlashCopy backup, because in this case, the integrity of the FlashCopy target volumes cannot be guaranteed. You can maintain the database copy as a standby database using db2inidb <dbname> as standby (which is how the Tivoli Storage Manager backup, if made, is done).
354
If you run the withdraw command for the target volumes, the integrity of the FlashCopy target volumes cannot be guaranteed; FlashBack restore is not possible. A FlashCopy backup from ESS volumes cannot be restored directly to DS volumes.
Figure 12-2 Advanced Copy Services for SAP (Oracle) lab environment
355
The installation and configuration tasks required for FlashCopy to work with SAP using Oracle database are: 12.4.1, Data Protection for SAP (Oracle) installation and configuration on page 356 12.4.2, Password handling methods on page 357 12.4.3, CIM installation and configuration on page 358 12.4.4, Data Protection for FlashCopy installation on page 358 12.4.5, Data Protection for FlashCopy configuration on page 360
356
PASSWORDREQUIRED YES ADSMNODE charger01_tdp You also have to update the password using backint on the production server.
357
passwordaccess generate nodename charger01_tdp Entries required in the Data Protection for SAP (Oracle) utility file (/oracle/<SID>/dbs/init<SID>.utl) are shown in Example 12-28.
Example 12-28 Data Protection for SAP (Oracle) utility file initORC.utl
358
The installation must be done as the root user. We used ASCII mode to do the installation, as shown in Example 12-29
Example 12-29 ACS for SAP for Oracle installation
# ./5.4.2.0-TIV-TSMACSSAPDORAFTP-AIX.bin -console Initializing InstallShield Wizard........ Launching InstallShield Wizard........ ----------------------------------------------------------------------Welcome to ... IBM Tivoli Storage Manager for Advanced Copy Services Data Protection for FlashCopy Devices for mySAP This will install Data Protection for FlashCopy Devices for mySAP on your computer. Version 5.4.2.0. Please visit our webpage: http://www.ibm.com/software/tivoli Press 1 for Next, 3 to Cancel or 5 to Redisplay [1] 1 ----------------------------------------------------------------------IBM Licence Acceptance Panel . . . Press Enter to continue viewing the license agreement, or, Enter "1" to accept the agreement, "2" to decline it or "99" to go back to the previous screen, "3" Print, "4" Read non-IBM terms. 1 Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1] 1 ----------------------------------------------------------------------Data Protection for FlashCopy Devices for mySAP will be installed in the following location: /usr/tivoli/tsm/acssap/oracle with the following features: Oracle_AIX for a total size: 70 MB Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1] 1
359
Installing Data Protection for FlashCopy Devices for mySAP. Please wait...
|-----------|-----------|-----------|------------| 0% 25% 50% 75% 100% |||||||||||||||||||||||||||||||||||||||||||||||||| Creating uninstaller... Finalizing the Vital Product Data Registry. Please wait... ----------------------------------------------------------------------Please read the information below. ATTENTION! You have to execute the script ./setup.sh once for each user who will run Data Protection for FlashCopy Devices for mySAP. You will find the script setup.sh in the installation directory /usr/tivoli/tsm/acssap/oracle. Press 1 for Next, 2 for Previous, 3 to Cancel or 5 to Redisplay [1] 1 ----------------------------------------------------------------------The InstallShield Wizard has successfully installed Data Protection for FlashCopy Devices for mySAP. Choose Finish to exit the wizard. Press 3 to Finish or 5 to Redisplay [3] 3
360
Executing the setup.sh script on the backup server on page 366 FlashCopy backup from the backup server on page 367
[root@charger01] /usr/tivoli/tsm/acssap/oracle # ./setup.sh Please enter the SAPSID for the Production SAP System: [C21] ORC Please enter the DBSID for the Production SAP System: [ORC] ORC Oracle user oraorc found Please enter the path for the executables: [/usr/sap/ORC/SYS/exe/run] Please enter the path for the configuration files: [/oracle/ORC/102_64/dbs] Free space in filesystem = 20034256 KB Dirname = /usr/sap/ORC/SYS/exe/run Space available = 20034256 KB, Required = 10000 KB Free space in filesystem = 290460896 KB Dirname = /oracle/ORC/102_64/dbs Space available = 290460896 KB, Required = 10000 KB Free space in filesystem = 1125036 KB Dirname = /usr/tivoli/tsm/acssap/oracle Space available = 1125036 KB, Required = 100000 KB Directory /usr/tivoli/tsm/acssap/oracle/5.4.2.0 will be created creating acsprole TCPIP service port tsmacsora 57325/tcp... waiting for TSM ACS mySAP acsprole to start.........OK Setup successful.
361
LOGON_HOST_PROD charger01 oraorc LOGON_HOST_BACK nashville01 BACKUP_MAX 30 IDS_CONTROL_FILE /oracle/ORC/sapbackup/idssave/idssave CONFIG_FILE /oracle/ORC/102_64/dbs/initORC.fcp WORK_DIR /oracle/ORC/sapbackup/work TRACE YES LOG_TRACE_DIR /oracle/ORC/sapbackup/logtraces VOLUMES_FILE /oracle/ORC/102_64/dbs/initORC.fct COPYSERVICES_HARDWARE_TYPE DS8000 PRIMARY_COPYSERVICES_SERVERNAME 9.41.222.208 COPYSERVICES_SERVERPORT 5988 COPYSERVICES_USERNAME superuser COPYSERVICES_COMMPROTOCOL HTTP FlashCopy_TYPE INCR
In the TARGET_VOLUME lines, the highlighted number is the serial number of the target volume, the next two fields are for the serial number and size of the source volume. These two fields do not have to be specified, because they will be automatically populated when the splitint program runs for the first time to make the association between the target and source volumes.
362
FCS_FILE /oracle/ORC/102_64/dbs/initORC.fcs
backup_type = online_mirror split_options = "-p /oracle/ORC/102_64/dbs/initORC.fcs" split_resync = yes primary_db = ORC.WORLD The parameter backup_type specifies the type of FlashCopy that brbackup will do as a default. In this case, it is an online_mirror. You can override this when you run brbackup by specifying the -t option on the command line. split_options allows options to be passed on to splitint, split_resync will unmount the file system, export the volume group, and potentially release the target volumes when the backup to Tivoli Storage Manager is complete on the backup server, and primary_db points to the Oracle instance string of the database referred to in the tnsnames.ora Oracle file.
# su - oraorc charger01:oraorc 8> cd 102_64/dbs charger01:oraorc 10> splitint -f password -p initORC.fcs BR*Tools Interface splitint for IBM Tivoli Storage Manager - Version 5, Release 4, Level 2 for AIX (32 Bit) Build: 304 generated at 14:34:45 on Mar 14 2006 (c) Copyright IBM Corporation, 2007 All Rights Reserved.
363
IDS1411I The intended FlashCopy type has a value of 'INCR'. Profile ./initORC.fcs Log file splitint_?_20082709223522.log Trace file splitint_?_20082709223522.trace -- Parameters of splitint profile -LOGON_HOST_PROD charger01 oraorc LOGON_HOST_BACK nashville01 BACKUP_MAX 30 IDS_CONTROL_FILE /oracle/ORC/sapbackup/idssave/idssave CONFIG_FILE /oracle/ORC/102_64/dbs/initORC.fcp WORK_DIR /oracle/ORC/sapbackup/work TRACE YES LOG_TRACE_DIR /oracle/ORC/sapbackup/logtraces SUPPORT_ADMIN_ASSISTANT NO COPYSERVICES_HARDWARE_TYPE DS8000 PRIMARY_COPYSERVICES_SERVERNAME 9.41.222.208 COPYSERVICES_SERVERPORT 5988 COPYSERVICES_USERNAME superuser FlashCopy_TYPE INCR VOLUMES_FILE /oracle/ORC/102_64/dbs/initORC.fct IDS1015I Start of splitint program at: 09/27/08-22:35:22 . Function password IDS1051I: Enter the password for the user 'oraorc' : IDS1052I: Enter the password for the user 'oraorc' again: IDS1051I: Enter the password for the user 'superuser on the DS' : IDS1052I: Enter the password for the user 'superuser on the DS' again: IDS1023I Exiting with return code 0.
remote_login_passwordfile = exclusive We have to provide SYSOPER authority to the Oracle user system in the production database. This sub-section lists some other prerequisites for the backup server.
364
We must create a file system called /oracle/ORC, approximately 128 MB in size, which will be used for creating the Oracle home directory, and create /usr/sap/ORC, approximately 128 MB in size, which will be used for creating the required directories and links to the SAP executables. After the file systems are created, mount them. Note: The following file systems have to be NFS mounted from the production server: /oracle/<SID>/102_64 /oracle/<SID>/sapreorg /oracle/<SID>/sapbackup /sapmnt/<SID> User ora<SID>, <SID>adm and groups dba and sapsys must be created on the backup server with the same UIDs and GIDs as on the production server.
cd /usr/sap/ORC mkdir -p SYS/exe chown -R orcadm:sapsys SYS cd SYS/exe ln -s /sapmnt/ORC/exe dbg ln -s dbg run
365
In the production server, the files will be named with the production host name, so after copying them to the backup server, rename them with the host name of the backup server.
Oracle client
The Oracle client is required on the backup server, so it must be installed. However, because we are accessing the /oracle/<SID>/102_64/dbs directory from the production server using NFS, we tried two alternative methods to have access to the required executables without actually installing the Oracle client on the backup server. Option 1: Put the Oracle client path from the production server into our LIBPATH environment variable using the .profile file of our Oracle user. Add the statement export LIBPATH=$LIBPATH:/oracle/ORC/102_64/lib. Option 2: Create a structure for the Oracle client directories to match the production server. The commands to do this task are shown in Example 12-38.
Example 12-38 Structure required for Oracle client
root@nashville01:/ mkdir -p /oracle/client/102_64 root@nashville01:/ chown -R oraORC:dba /oracle/client root@nashville01:/ ln -s /oracle/ORC/102_64/jdbc /oracle/client/102_64/jdbc root@nashville01:/ ln -s /oracle/ORC/102_64/lib /oracle/client/102_64/lib
root@nashville01:/ cd /usr/tivoli/tsm/acssap/oracle root@nashville01:/usr/tivoli/tsm/acssap/oracle ./setup.sh Please enter the SID for the Production SAP System: [C21] ORC Oracle user oraorc found Please enter the path for the executables: [/usr/sap/ORC/SYS/exe/run] /usr/sap/ORC/SYS/exe/run Please enter the path for the configuration files: [/oracle/ORC/102_64/dbs] /oracle/ORC/102_64/dbs /oracle/ORC/102_64/dbs/initORC.fcs already exists. Old .fcs will be kept. /oracle/ORC/102_64/dbs/initORC.fct already exists. Old .fct will be kept. /usr/sap/ORC/SYS/exe/run/splitint already exists. Rename ? [Y/N] n
366
/usr/sap/ORC/SYS/exe/run/PreRestore.sh already exists. Rename ? [Y/N] n /usr/sap/ORC/SYS/exe/run/PostRestore.sh already exists. Rename ? [Y/N] n Setup successful.
oraorc@nashville01:/oracle/ORC>brbackup -c -u system/<password> The <password> has to be replaced with the actual password of the Oracle user system. The return code 0 indicates that the backup was successful. Note: Coverage of Oracle recovery techniques is beyond the scope of this book. If you are not sure how to perform the Oracle database and SAP software application recovery, be sure to contact your SAP or Oracle consultant.
367
SAP supports different ways for cloning, which are described in the SAP manual Homogeneous System Copy, found at the following address: http://www.sapdb.org/7.4/htmhelp/21/692225b246b24f9202cb4433b5d691/cont ent.htm The following methods can be used: SAP copy tools R3SETUP and R3LOAD. Database-specific copy tools. Oracle: Use brbackup and brrestore to back up and clone with a new SID. DB2 UDB: Use the SAP DBA tool brdb6brt for a redirected restore. Using Data Protection for FlashCopy cloning. This method significantly reduces the time required for cloning without impacting the production database.
FCClone in Oracle
For SAP software installed on Oracle databases, the steps are as follows: 1. The FCClone process is started by the script FCclone.sh. 2. This executes pre-processing scripts. 3. The last FlashCopy clone is unmounted. 4. FCClone calls brbackup, which calls Data Protection for FlashCopy. That starts an online or offline FlashCopy backup. When all resources are mounted on the backup server (that is, when splitint is complete), Data Protection for FlashCopy stops the brbackup processing. 5. A copy of the original database is now accessible on the backup server. 6. FCClone now starts the command oraclonedb to perform all the required steps for cloning.
368
7. The cloned database is now operational and FCClone will execute post-processing scripts.
FCClone in DB2
For SAP software installed on DB2 databases, the steps are: 1. The FCClone process is started by the script FCclone.sh, which executes pre-processing scripts. 2. The last FlashCopy clone is unmounted. 3. FCClone calls tdphdwdb2 to start an online FlashCopy backup. 4. A copy of the original database is now accessible on the backup server. 5. FCClone now starts db2clonedb to perform all the required steps for cloning. 6. The cloned database is now operational and FCClone will execute post-processing scripts.
369
A remote shell connection for user db2<SID> should already be established between the backup and the production system at the preinstallation steps for Data Protection for FlashCopy.
370
Part 3
Part
Appendixes
The provided appendixes are: Appendix A, DB2 basic operations on page 373 Appendix B, Oracle basic operations on page 381
371
372
Appendix A.
373
desmoines01:db2qas 20> db2 get instance The current database manager instance is: db2qas
desmoines01:db2qas 21> db2 list active databases Active Databases Database name Applications connected currently Database path = QAS = 1 = /db2path/db2qas/NODE0000/SQL00001/
374
desmoines01:db2qas 22> db2 get dbm cfg Database Manager Configuration Node type = Enterprise Server Edition with local and remote clients Database manager configuration release level CPU speed (millisec/instruction) Communications bandwidth (MB/sec) = 0x0b00
Max number of concurrently active databases (NUMDB) = 8 Federated Database System Support (FEDERATED) = NO Transaction processor monitor name (TP_MON_NAME) = Default charge-back account Java Development Kit installation path /db2/db2qas/sqllib/java/jdk64 . . . (DFT_ACCOUNT_STR) = (JDK_PATH) =
desmoines01:db2qas 23> db2 get db cfg for qas Database Configuration for Database qas Database configuration release level Database release level . . . Backup pending Database is consistent Rollforward pending Restore pending . . . Log retain for recovery status = 0x0b00 = 0x0b00 = NO = NO = NO = NO = NO
375
User exit for logging status . . . Path to log files /db2path/log_dir/NODE0000/ Overflow log path (OVERFLOWLOGPATH) Mirror log path (MIRRORLOGPATH) /db2path/archlog_dir/NODE0000/ First active log file Block log on disk full (BLK_LOG_DSK_FUL) Percent max primary log space by transaction (MAX_LOG) Num. of active log files for 1 active UOW(NUM_LOG_SPAN)
Group commit count (MINCOMMIT) = 1 Percent log file reclaimed before soft chckpt (SOFTMAX) = 300 Log retain for recovery enabled (LOGRETAIN) = OFF User exit for logging enabled (USEREXIT) = ON . . . First log archive method (LOGARCHMETH1) = USEREXIT Options for logarchmeth1 (LOGARCHOPT1) = Second log archive method (LOGARCHMETH2) = OFF Options for logarchmeth2 (LOGARCHOPT2) = Failover log archive path (FAILARCHPATH) = Number of log archive retries on error (NUMARCHRETRY) = 5 Log archive retry Delay (secs) (ARCHRETRYDELAY) = 20 Vendor options (VENDOROPT) = /db2/QAS/tdp_r3/vendor.env . . . TSM management class (TSM_MGMTCLASS) = TSM node name (TSM_NODENAME) = TSM owner (TSM_OWNER) = TSM password (TSM_PASSWORD) = . . .
376
Tablespaces for Current Database Tablespace ID Name Type Contents tablespace. State Detailed explanation: Normal Tablespace ID Name Type Contents State Detailed explanation: Normal Tablespace ID Name Type Contents State Detailed explanation: Normal . . . = = = = 0 SYSCATSPACE Database managed space All permanent data. Regular
= 0x0000
= = = = =
= = = = =
377
desmoines01:db2qas 6> db2 list utilities ID Type Database Name Partition Number Description Start Time State Invocation Type Throttling: Priority Progress Monitoring: Estimated Percentage Complete = = = = = = = = 5 BACKUP QAS 0 online db 09/17/2008 15:01:47.897730 Executing User
= Unthrottled = 30
You can monitor the backup progress by looking at the Estimated Percentage Complete field in the db2 list utilities output.
378
Example 12-47 List of db2 list history backup for database QAS
desmoines01:db2qas 20> db2 LIST HISTORY BACKUP ALL FOR DB QAS List History File for QAS Number of matching file entries = 73 Op Obj Timestamp+Sequence Type Dev Earliest Log Current Log Backup ID -- --- ------------------ ---- --- ------------ ------------ --------B D 20080808185040001 F D S0000000.LOG S0000000.LOG ----------------------------------------------------------------------Contains 34 tablespace(s): 00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 . . SYSCATSPACE SYSTOOLSPACE QAS#DBD QAS#DBI QAS#FACTD QAS#FACTI QAS#EL700D QAS#EL700I QAS#CLUD QAS#CLUI QAS#LOADD QAS#LOADI QAS#SOURCED QAS#SOURCEI QAS#USER1D QAS#USER1I QAS#ES700D QAS#ES700I .
To get the complete list of the database archivelog backup, you can use the db2 list history archivelog all command. The command output is similar to the db2 list history backup command listed in Example 12-47. The complete format of the db2 list history command can be found at the following address: http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com .ibm.db2.udb.admin.doc/doc/r0001991.htm
379
db2 => select start_time, end_time , substr(comment,1,30) FROM SYSIBMADM.DB_HISTORY WHERE OPERATION = 'B' AND OPERATIONTYPE = 'F' START_TIME -------------20080808185040 20080903155506 20080916170618 20080917101256 20080917132110 20080917143131 20080917143647 20080919103555 20080919112156 20080925163934 END_TIME -------------20080808190533 20080903160133 20080916171958 20080917101327 20080917132111 20080917143132 20080917143648 20080919103557 20080919113723 20080925163935 3 -----------------------------DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE DB2 BACKUP QAS OFFLINE
10 record(s) selected. The complete description of the sysibmadm.db_history table can be found at the following address: http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com .ibm.db2.udb.admin.doc/doc/r0022351.htm
380
Appendix B.
381
# This file is used by ORACLE utilities. It is created by root.sh # and updated by the Database Configuration Assistant when creating # a database. # A colon, ':', is used as the field terminator. A new line terminates # the entry. Lines beginning with a pound sign, '#', are comments. # # Entries are of the form: # $ORACLE_SID:$ORACLE_HOME:<N|Y>: # # The first and second fields are the system identifier and home # directory of the database respectively. The third filed indicates # to the dbstart utility that the database should , "Y", or should not, # "N", be brought up at system boot time. # Multiple entries with the same $ORACLE_SID are not allowed. # # ORC:/oracle/ORC/102_64:Y
382
In Example B-1 on page 382, you can see the instance ORC defined for this server, which has the following characteristics: ORC; The Oracle instance name /oracle/ORC/102_64: The Oracle Home directory Y: This flag should be Y (for Yes) or N (for No). It indicates to the UNIX boot startup/shutdown procedures to start or stop the instance during the system startup or shutdown.
charger01:orcadm 5> ps -ef|grep ORC oraorc 471238 1 0 Sep 29 - 0:01 /oracle/ORC/102_64/bin/tnslsnr LISTENER -inherit orcadm 483382 1319090 0 15:15:22 pts/0 0:00 grep ORC orcadm 553180 1 0 Sep 29 - 0:02 ora_mman_ORC oraorc 585788 1 0 Sep 25 - 0:00 -csh -c /usr/sap/ORC/SYS/exe/run/acsprole -p tsmacsora tdpr3ora64 orcadm 610432 1 0 Sep 29 - 0:03 ora_mmon_ORC orcadm 618662 1 0 Sep 29 - 0:13 ora_ckpt_ORC oraorc 667784 1122376 0 15:06:18 - 0:00 brbackup -c -u / -t ONLINE_CONS -m FULL -p /oracle/ORC/102_64/dbs/initORC.sap orcadm 671824 1 0 Sep 29 - 0:00 ora_reco_ORC orcadm 676072 1 0 Sep 29 - 0:00 ora_arc0_ORC oraorc 704760 237704 9 15:06:23 - 0:30 oracleORC (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) orcadm 708804 1 0 Sep 29 - 0:24 ora_cjq0_ORC orcadm 716824 1 0 Sep 29 - 0:16 ora_mmnl_ORC orcadm 766102 1 0 Sep 29 - 0:13 ora_smon_ORC orcadm 852118 1 0 Sep 29 - 0:00 ora_q000_ORC orcadm 864462 1 0 Sep 29 - 0:02 ora_lgwr_ORC oraorc 954594 1 0 15:06:21 - 0:00 /usr/sap/ORC/SYS/exe/run/brconnect -R 667784 oraorc 962572 237704 0 15:06:23 - 0:00 oracleORC (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) orcadm 983078 1 0 Sep 29 - 0:00 ora_q001_ORC oraorc 999442 237704 0 15:06:23 - 0:00 oracleORC (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
383
orcadm 1011898 1 0 Sep 29 - 0:13 ora_pmon_ORC orcadm 1016014 1 0 Sep 29 - 0:01 ora_arc1_ORC oraorc 1052820 585788 0 Sep 25 - 0:17 /usr/sap/ORC/SYS/exe/run/acsprole -p tsmacsora tdpr3ora64 orcadm 1089664 1 0 Sep 29 - 0:01 ora_psp0_ORC orcadm 1114122 1 0 Sep 29 - 0:03 ora_dbw0_ORC orcadm 1257704 1 0 Sep 29 - 0:00 ora_qmnc_ORC In the list shown in Example B-2 on page 383, you can see many Oracle processes related to the instance ORC. The following list shows the most important processes: ora_smon ora_reco ora_pmon ora_lgwr ora_dbw This is a good indication that this instance has started. You can also see the Oracle owner in this list (orcadm, in this case).
charger01:orcadm 12> oraenv ORACLE_SID = [ORC] ? ORC The oraenv command defines and sets all required Oracle environment variables. The following is the list of most common Oracle environment variables: ORACLE_SID ORACLE_HOME TNS_ADMIN Defines the current Oracle instance. Defines the home directory of the Oracle software. Defines where you can find all configuration files related to the database connectivity (tnsnames.ora or listener.ora).
Now you are ready to connect to the Oracle instance, which can be done by using the sqlplus command, as shown in Example B-4 on page 385.
384
charger01:orcadm 7> sqlplus /nolog SQL*Plus: Release 10.2.0.2.0 - Production on Wed Oct 1 15:42:54 2008 Copyright (c) 1982, 2005, Oracle. All Rights Reserved. SQL> connect / as sysdba Connected. After you connect to the instance, you can check the current status of the Oracle instance, as shown in Example B-5.
Example: B-5 Sample Oracle commands to check the instance status
SQL> show sga Total System Global Area 4714397696 bytes Fixed Size 2083728 bytes Variable Size 2365588592 bytes Database Buffers 2332033024 bytes Redo Buffers 14692352 bytes SQL> select instance_name, version, startup_time, database_status, host_name from v$instance; INSTANCE_NAME VERSION STARTUP_TIME DATABASE_STATUS HOST_NAME ------------- -------------- ------------- ----------------- ---------ORC 10.2.0.2.0 29-SEP-08 ACTIVE charger01
385
SQL> select member from v$logfile; MEMBER ------------------------------------------------------------/oracle/ORC/origlogA/log_g11m1.dbf /oracle/ORC/mirrlogA/log_g11m2.dbf /oracle/ORC/origlogB/log_g12m1.dbf /oracle/ORC/mirrlogB/log_g12m2.dbf /oracle/ORC/origlogA/log_g13m1.dbf /oracle/ORC/mirrlogA/log_g13m2.dbf /oracle/ORC/origlogB/log_g14m1.dbf /oracle/ORC/mirrlogB/log_g14m2.dbf 8 rows selected.
386
SQL> 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
select b.tablespace_name name, kbytes_alloc kbytes, kbytes_alloc-nvl(kbytes_free,0) used, nvl(kbytes_free,0) free, largest, trunc(((kbytes_alloc-kbytes_free)/kbytes_alloc)*100,1) pct_used, c.contents from ( select trunc(sum(bytes)/1024/1024) Kbytes_free, trunc(max(bytes)/1024/1024) largest, tablespace_name from sys.dba_free_space group by tablespace_name ) a, ( select trunc(sum(bytes)/1024/1024) Kbytes_alloc, tablespace_name from sys.dba_data_files group by tablespace_name ) b, dba_tablespaces c where a.tablespace_name (+) = b.tablespace_name and a.tablespace_name = c.tablespace_name /
NAME KBYTES USED FREE LARGEST PCT_USED CONTENTS ----------------- -------- -------- ------ -------- -------- --------SYSTEM 840 839 1 0 99.8 PERMANENT PSAPSR3USR 20 2 18 18 10 PERMANENT PSAPSR3DB 5000 1611 3389 1455 32.2 PERMANENT PSAPSR3 40000 33139 6861 855 82.8 PERMANENT PSAPUNDO 4180 123 4057 1353 2.9 UNDO PSAPSR3700 50080 39176 10904 1512 78.2 PERMANENT SYSAUX 220 182 38 3 82.7 PERMANENT 7 rows selected.
387
SQL> select 2 tablespace_name, 3 substr(file_name, 1,45) fname, 4 trunc(bytes/1024/1024) sizemb 5 from dba_data_files 6 / TABLESPACE_NAME ---------------SYSTEM PSAPUNDO SYSAUX PSAPSR3 PSAPSR3 PSAPSR3 PSAPSR3 . . . FNAME SIZEMB ------------------------------------------- ---------/oracle/ORC/sapdata1/system_1/system.data1 840 /oracle/ORC/sapdata3/undo_1/undo.data1 4180 /oracle/ORC/sapdata1/sysaux_1/sysaux.data1 220 /oracle/ORC/sapdata1/sr3_1/sr3.data1 2000 /oracle/ORC/sapdata1/sr3_2/sr3.data2 2000 /oracle/ORC/sapdata1/sr3_3/sr3.data3 2000 /oracle/ORC/sapdata1/sr3_4/sr3.data4 2000
SQL> show parameter log_archive_dest NAME -----------------------------------log_archive_dest /oracle/ORC/oraarch/ORCarch log_archive_dest_1 log_archive_dest_10 log_archive_dest_2 log_archive_dest_3 log_archive_dest_4 TYPE VALUE ----------- ---------------------string string string string string string
388
log_archive_dest_5 log_archive_dest_6 log_archive_dest_7 log_archive_dest_8 log_archive_dest_9 log_archive_dest_state_1 log_archive_dest_state_10 log_archive_dest_state_2 log_archive_dest_state_3 log_archive_dest_state_4 log_archive_dest_state_5 log_archive_dest_state_6 log_archive_dest_state_7 log_archive_dest_state_8 log_archive_dest_state_9 SQL> select name||'='||value logdest 'log_archive_dest%';
string string string string string string enable string enable string enable string enable string enable string enable string enable string enable string enable string enable from v$parameter where name like
LOGDEST ----------------------------------------------------------------------log_archive_dest=/oracle/ORC/oraarch/ORCarch log_archive_dest_1= log_archive_dest_2= log_archive_dest_3= log_archive_dest_4= log_archive_dest_5= log_archive_dest_6= log_archive_dest_7= log_archive_dest_8= log_archive_dest_9= log_archive_dest_10= log_archive_dest_state_1=enable log_archive_dest_state_2=enable log_archive_dest_state_3=enable log_archive_dest_state_4=enable log_archive_dest_state_5=enable log_archive_dest_state_6=enable log_archive_dest_state_7=enable log_archive_dest_state_8=enable log_archive_dest_state_9=enable log_archive_dest_state_10=enable 21 rows selected.
389
In the example shown in Example B-10 on page 388, the archivelog destination is located in directory /oracle/ORC/oraarch/ORCarch. Note: Usually in the production environment, there is more than one archivelog destination, which is listed as a best practice in several Oracle publications.
Listing v$session_wait
From this table, you can see in real time all session waits and then decide what is the next step. The SQL command in Example B-11 shows the real time execution status.
Example: B-11 Sample output from v$session_wait table
SQL> select 2 s.sid, 3 w.event event, 4 w.P1TEXT, 5 w.P1, 6 w.P1RAW , 7 w.P2TEXT , 8 w.WAIT_TIME, 9 w.SECONDS_IN_WAIT, 10 w.state state 11 from 12 v$session s, 13 v$session_wait w, 14 v$process p 15 where s.sid = w.sid 16 and w.event not like 'SQL*Net message' 17 and w.event <> 'rdbms ipc message' 18 and s.paddr = p.addr
390
19
SID event P1TEXT P1 P1RAW P2TEXT P2 WAIT_TIME SECONDS_IN_WAIT state ----- ------------------------------------------------------------------ ----- -------------- ---------- ----- ----------------------- -------70 Streams AQ: qmn slave idle wait 0 00 0 0 142976 WAITING 71 Streams AQ: waiting for time management or cleanup tasks 0 00 0 0 173108 WAITING 74 Streams AQ: qmn coordinator idle wait 0 00 0 0 173104 WAITING 90 smon timer sleep time 300 0000000000012C failed 0 0 31511 WAITING 96 pmon timer duration 300 0000000000012C 0 0 173119 WAITING 5 rows selected.
Listing v$session_longops
Usually RMAN keeps the backup execution progress in this database view. You are able to see the backup progress and estimate the backup elapsed time. Example B-12 shows a sample output from this view.
Example: B-12 Sample output from v$session_longops
SQL> 2 3 4 5 6 7 8 9 10 11 12 13 14
Select a.sid, a.serial#, b.username, to_char(a.start_time, 'DD/MM HH24:MI') "start_time", a.time_remaining, a.elapsed_seconds, substr(a.message,1,160) message from v$session_longops a, v$session b where a.sid = b.sid and a.time_remaining > 0 /
391
SID SERIAL# USERNAME start_time TIME_REMAINING ELAPSED_SECONDS MESSAGE ---------- ---------- ------------------------------ ------------------------ ------------------------------------------------------------------------------------82 450 SYS 01/10 01:35 1 3 RMAN: aggregate input: backup 20: 23640965 out of 23640965 Blocks done 82 593 SYS 01/10 07:35 1 3 RMAN: aggregate input: backup 20: 23640965 out of 23640965 Blocks done 82 348 SYS 30/09 15:12 750 4750 RMAN: aggregate output: backup 20: 6475744 out of 6475744 Blocks done
392
393
HACMP HADR HAGEO HBA HDR HTML HTTP HTTPS IBM ICM IGS IIC ISV ITIL ITS ITSO J2EE JAAS JDBC JDO JFS JPA JRE LAN LGWR LTO LUN LUW
High Availability Cluster Multi Processing High Availability Disaster Recovery High Availability Geographic cluster Host Bus Adapter High availability Data Replication Hypertext Markup Language Hypertext Transfer Protocol HTTP Secure International Business Machine Corporation Internet Communication Manager Internet Graphic Service Information Integrator for Content Independent Software Vendor Information Technology Infrastructure Library Internet Transaction Server International Technical Support Organization Java 2 Enterprise Edition Java Authorization and Authentication System Java Database Connectivity Java Data Objects Journaled File System Java Persistence API Java Runtime Environment Local Area Network Log Writer Linear Tape Open Logical Unit Number Logical Unit of Work
LVM MAA MMS MSCS MVS NFS NWDI ODBC OLE PAM PKCS7 PLM PPRC RAC RAID RAM RDBMS RFC RFID RMAN ROG RPO RTG RTO SAML SAN SAP SAPR
Logical Volume Manager Maximum Availability Architecture Media Management System Microsoft Cluster Services Multiple Virtual Storage Network File System NetWeaver Development Infrastructure Open Database Connectivity Object Linking and Embedding Pluggable Authentication Module Public Key Cryptography Standard 7 Product Lifecycle Management Peer to Peer Remote Copy Real Application Cluster Redundant Array of Independent Disks Random Access Memory Relational Database Management System Remote Function Call Radio Frequency Identifier Recovery Manager Recovery Object Granularity Recovery Point Objective Recovery Time Granularity Recovery Time Objective Security Assertion Markup Language Storage Area Network System Application System Assurance Product Review
394
SBT SCA SCM SCS SCSI SDA SDD SDM SEM SGA SLCM SLP SMIT SMTP SNC SOA SPOF SQL SQLJ SRM SSL SVC TCO TCP TCP/IP TDI TDP
Secure Backup to Tape Software Component Archives Supply Chain Management SAP Central Services Small Computer System Interface Software Deployment Archives Subsystem Device Driver Software Deployment Manager Strategic Enterprise Management System Global Area Solution Lifecycle Management Service Location Protocol System Management Interface Tools Simple Mail Transfer Protocol Secure Network Communication Service-Oriented Architecture Single Point of Failure Structured Query Language SQL Java Supplier Relationship Management Secure Socket Layer SAN Volume Controller Total Cost of Ownership Transmission Control Protocol Transmission Control Protocol/Internet Protocol Tablespace Definition Information Tivoli Data Protection
TSA TSM UDB UPS URL UUID VDI VSS WAN WBEM WSSec XBSA
Tivoli System Automation Tivoli Storage Manager Universal Database Uninterruptible Power Supply Uniform Resource Locator Universally Unique Identifier Virtual Device Interface Virtual Source Safe Wide Area Network Web Based Enterprise Management Web Services Security X/Open Backup Services API
395
396
Related publications
The publications listed in this section are considered particularly suitable for a more detailed discussion of the topics covered in this book.
IBM Redbooks
For information about ordering these publications, see How to get Redbooks on page 406. Note that some of the documents referenced here may be available in softcopy only. Certification Study Guide: IBM Tivoli Storage Manager V5.4, SG24-7489 Deployment Guide Series: IBM Tivoli Storage Manager V5.5, SG24-7379 Get More Out of Your SAN with IBM Tivoli Storage Manager, SG24-6687 IBM Tivoli Storage Manager for Advanced Copy Services, SG24-7474 IBM Tivoli Storage Manager: Bare Machine Recovery for AIX with SYSBACK, REDP-3705 IBM Tivoli Storage Manager: Building a Secure Environment, SG24-7505 IBM Tivoli Storage Management Concepts, SG24-4877 IBM Tivoli Storage Manager Implementation Guide, SG24-5416 IBM Tivoli Storage Manager Versions 5.4 and 5.5 Technical Guide, SG24-7447 Infrastructure Solutions: Design, Manage, and Optimize a 60 TB SAP NetWeaver Business Intelligence Data Warehouse, SG24-7385 R/3 Data Management Techniques Using Tivoli Storage Manager, SG24-5743
Other publications
These publications are also relevant as further information sources: Tivoli Storage Manager client publications IBM Tivoli Storage Manager for HSM for Windows Administration Guide, SC32-1773
397
IBM Tivoli Storage Manager for Macintosh: Backup-Archive Clients Installation and User's Guide, SC32-0143 IBM Tivoli Storage Manager for NetWare: Backup-Archive Clients Installation and User's Guide, SC32-0144 IBM Tivoli Storage Manager for Space Management for UNIX and Linux: User's Guide, SC32-0148 IBM Tivoli Storage Manager for UNIX and Linux: Backup-Archive Clients Installation and User's Guide, SC32-0145 IBM Tivoli Storage Manager Using the Application Program Interface, SC32-0147 IBM Tivoli Storage Manager for Windows: Backup-Archive Clients Installation and User's Guide, SC32-0146 Tivoli Storage Manager Data Protection publications IBM Tivoli Storage Manager for Advanced Copy Services: Data Protection for Snapshot Devices for DB2 Installation and User's Guide, SC33-8330 IBM Tivoli Storage Manager for Advanced Copy Services: Data Protection for Snapshot Devices for SAP Installation and User's Guide for Oracle, SC33-8207 IBM Tivoli Storage Manager for Advanced Copy Services: Data Protection for WebSphere Application Server Installation and User's Guide, SC32-9075 IBM Tivoli Storage Manager for Databases: Data Protection for Informix Installation and User's Guide, SH26-4095 IBM Tivoli Storage Manager for Databases: Data Protection for Microsoft SQL Server Installation and User's Guide, SC32-9059 IBM Tivoli Storage Manager for Databases: Data Protection for Oracle for UNIX and Linux Installation and User's Guide, SC32-9064 IBM Tivoli Storage Manager for Databases: Data Protection for Oracle for Windows Installation and User's Guide, SC32-9065 IBM Tivoli Storage Manager for Enterprise Resource Planning: Data Protection for SAP Installation and User's Guide for DB2, SC33-6341 IBM Tivoli Storage Manager for Enterprise Resource Planning: Data Protection for SAP Installation and User's Guide for Oracle, SC33-6340 IBM Tivoli Storage Manager for Hardware: Data Protection for Enterprise Storage Server for DB2 UDB Installation and User's Guide, SC32-9060 IBM Tivoli Storage Manager for Hardware: Data Protection for Snapshot Devices for Oracle Installation and User's Guide, GC32-1772
398
Tivoli Storage Manager server publications IBM Tivoli Storage Manager for AIX Administrator's Guide, SC32-0117 IBM Tivoli Storage Manager for AIX Administrator's Reference, SC32-0123 IBM Tivoli Storage Manager for AIX Installation Guide, GC23-5969 IBM Tivoli Storage Manager for HP-UX Administrator's Guide, SC32-0118 IBM Tivoli Storage Manager for HP-UX Administrator's Reference, SC32-0124 IBM Tivoli Storage Manager for HP-UX Installation Guide, GC23-5970 IBM Tivoli Storage Manager for Linux Administrator's Guide, SC32-0119 IBM Tivoli Storage Manager for Linux Administrator's Reference, SC32-0125 IBM Tivoli Storage Manager for Linux Installation Guide, GC23-5971 IBM Tivoli Storage Manager Messages, SC32-0140 IBM Tivoli Storage Manager Performance Tuning Guide, SC32-0141 IBM Tivoli Storage Manager Problem Determination Guide, SC32-0142 IBM Tivoli Storage Manager for Sun Solaris Administrator's Guide, SC32-0120 IBM Tivoli Storage Manager for Sun Solaris Administrator's Reference, SC32-0126 IBM Tivoli Storage Manager for Sun Solaris Installation Guide, GC23-5972 IBM Tivoli Storage Manager for System Backup and Recovery Installation and User's Guide, SC32-6543 IBM Tivoli Storage Manager for Windows Administrator's Guide, SC32-0121 IBM Tivoli Storage Manager for Windows Administrator's Reference, SC32-0127 IBM Tivoli Storage Manager for Windows Installation Guide, GC23-5973 Tivoli Storage Manager storage agent publications IBM Tivoli Storage Manager for SAN for AIX Storage Agent User's Guide, SC32-0129 IBM Tivoli Storage Manager for SAN for HP-UX Storage Agent User's Guide, SC32-0130 IBM Tivoli Storage Manager for SAN for Linux Storage Agent User's Guide, SC32-0131
Related publications
399
IBM Tivoli Storage Manager for SAN for Sun Solaris Storage Agent User's Guide, SC32-0132 IBM Tivoli Storage Manager for SAN for Windows Storage Agent User's Guide, SC32-0133
Online resources
These Web sites are also relevant as further information sources: IBM Web pages ADINT/TSM - Overview http://www-05.ibm.com/de/entwicklung/adint_tsm/index.html ADINT/TSM User Guide http://www-05.ibm.com/de/entwicklung/adint_tsm/download/user_guid e.pdf AIX Device Drivers for System Storage Tape http://www-01.ibm.com/support/docview.wss?rs=543&tc=STCVQ6R&uid=s sg1S4000093 BackOM command reference page http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/index.jsp? topic=/com.ibm.itsmerp.doc/fbrd000050.htm Data Protection for SAP - Oracle: installation problem resolution page http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/index.jsp? topic=/com.ibm.itsmerp.doc/fbro000074.htm Data Protection for SAP Installation and User's Guide for DB2 http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/index.jsp? topic=/com.ibm.itsmerp.doc/fbrd0000.htm Data Protection for SAP Installation and User's Guide for DB2 Troubleshooting http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/topic/com. ibm.itsmerp.doc/fbrd000078.htm Data Protection for SAP release notes http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/index.jsp? topic=/com.ibm.itsmreadme.doc_5.5/relnote_erp550.html
400
DB2 - BACKUP DATABASE command http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topi c=/com.ibm.db2.udb.admin.doc/doc/r0001933.htm DB2 - Configuring Tivoli Storage Manager client http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topi c=/com.ibm.db2.udb.admin.doc/doc/t0024706.htm DB2 - Considerations for using Tivoli Storage Manager http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topi c=/com.ibm.db2.udb.admin.doc/doc/c0024708.htm DB2 - DB_HISTORY view http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topi c=/com.ibm.db2.udb.admin.doc/doc/r0022351.htm DB2 - Developing a backup and recovery strategy http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topi c=/com.ibm.db2.udb.admin.doc/doc/c0005945.htm DB2 - LIST HISTORY command http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topi c=/com.ibm.db2.udb.admin.doc/doc/r0001991.htm DB2 CommonStore for SAP Version 8.3 manuals http://www-01.ibm.com/support/docview.wss?rs=51&context=SS6QJP&dc =DA400&uid=swg27007919&loc=en_US&cs=UTF-8&lang=en&rss=ct51db2 DB2 Database for Linux, UNIX, and Windows documentation page http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topi c=/com.ibm.db2.udb.doc/welcome.htm DB2 Universal Database - tsm_nodename parameter http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topi c=/com.ibm.db2.udb.admin.doc/doc/r0000343.htm DB2 Universal Database - db2adutl command http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topi c=/com.ibm.db2.udb.admin.doc/doc/r0002077.htm DB2 V8.2 High Availability Disaster Recovery (HADR) in an SAP implementation http://www.ibm.com/developerworks/db2/library/techarticle/dm-0508 zeng/
Related publications
401
Enterprise Solution Development Data Protection http://www-05.ibm.com/de/entwicklung/esd/ IBM - CommonStore for SAP - Software http://www-01.ibm.com/software/data/commonstore/sap/ IBM - IBM FlashCopy Cloning - Overview http://www-05.ibm.com/de/entwicklung/esd/fcc/ IBM - Tivoli Storage Manager for Advanced Copy Services http://www-01.ibm.com/software/tivoli/products/storage-mgr-advanc ed-copy-services/ IBM CommonStore for SAP manual ftp://ftp.software.ibm.com/software/data/cmgr/pdf/cssapv82.pdf IBM DB2 CommonStore for SAP Client Installation and User's Guide http://publibfp.boulder.ibm.com/epubs/pdf/h1267433.pdf IBM DB2 CommonStore for SAP Server Installation and User's Guide http://publibfp.boulder.ibm.com/epubs/pdf/h1267443.pdf IBM Enterprise Storage Server family: Overview http://www.ibm.com/servers/storage/disk/ess/index.html IBM PowerHA for AIX (HACMP) http://www-03.ibm.com/systems/p/advantages/ha/index.html IBM PowerHA/XD for AIX (HACMP/XD) http://www-03.ibm.com/systems/p/advantages/ha/disaster/tech.html IBM Storage Device Driver download page ftp://service.boulder.ibm.com/storage/devdrvr IBM Support for CIM Agent for DS Open (API) http://www.ibm.com/servers/storage/support/software/cimdsoapi/ins talling.html IBM System Storage DS6000: Overview http://www.ibm.com/servers/storage/disk/ds6000/index.html IBM System Storage DS8000 Turbo http://www.ibm.com/servers/storage/disk/ds8000/index.html IBM System Storage SAN Volume Controller: Overview http://www.ibm.com/servers/storage/software/virtualization/svc/in dex.html
402
IBM Tivoli Storage Manager - Overview http://www.ibm.com/software/sysmgmt/products/support/IBMTivoliSto rageManager.html IBM Tivoli Storage Manager for Databases - Overview http://www-01.ibm.com/software/sysmgmt/products/support/IBMTivoli StorageManagerforDatabases.html IBM Tivoli Storage Manager for Enterprise Resource Planning - Overview http://www.ibm.com/software/sysmgmt/products/support/IBMTivoliSto rageManagerforEnterpriseResourcePlanning.html IBM Tivoli Storage Manager for ERP documentation page http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/index.jsp? toc=/com.ibm.itsmerp.doc/toc.xml IBM Tivoli Storage Manager for SAN installation page http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/index.jsp? topic=/com.ibm.itsmagent.doc/anrlst5432.htm IBM Tivoli Storage Manager maintenance download page ftp://index.storsys.ibm.com/tivoli-storage-management/maintenance / IBM Tivoli Storage Manager Release Notes http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/topic/com. ibm.itsmreadme.doc_5.5/relnotes.html IBM Tivoli System Automation for Multiplatforms documentation page http://publib.boulder.ibm.com/tividd/td/IBMTivoliSystemAutomation forMultiplatforms3.1.html IBM TotalStorage support: Search for host bus adapters, firmware, and drivers http://www-03.ibm.com/systems/support/storage/config/hba/index.ws s Tivoli Storage Manager Client Requirements on IBM AIX http://www-01.ibm.com/support/docview.wss?rs=663&context=SSGSG7&u id=swg21052226&loc=en_US&cs=utf-8&lang=en Tivoli Storage Manager Client Requirements on Microsoft Windows http://www-01.ibm.com/support/docview.wss?rs=663&context=SSGSG7&u id=swg21197133&loc=en_US&cs=utf-8&lang=en
Related publications
403
Tivoli Storage Manager for Enterprise Resource Planning http://www-01.ibm.com/software/tivoli/products/storage-mgr-erp/ Tivoli Storage Manager Supported Operating Systems http://www-1.ibm.com/support/docview.wss?rs=663&context=SSGSG7&ui d=swg21243309&loc=en_US&cs=utf-8&lang=en Microsoft Web pages: Microsoft database clustering page http://www.microsoft.com/windowsserver2003/enterprise/clustering. mspx Microsoft database mirroring page http://www.microsoft.com/technet/prodtechnol/sql/2005/dbmirror.ms px Microsoft log shipping page http://www.microsoft.com/technet/prodtechnol/sql/2000/reskit/part 4/c1361.mspx?mfr=true My SQL documentation http://mysql2.mirrors-r-us.net/doc/maxdb/pdf/whitepaper.pdf Oracle Web pages: Oracle Dataguard page http://www.oracle.com/technology/deploy/availability/htdocs/DataG uardOverview.html Oracle database clustering page http://www.oracle.com/technology/products/database/clustering/ind ex.html Oracle Maximum Availability Architecture page http://www.oracle.com/technology/deploy/availability/htdocs/maa.h tm SAP Web pages: BackInt interface manual https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uu id/24ae2e3a-0d01-0010-838f-ace2a9154bac BR*Tools with Oracle manual https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uu id/a8910c3a-0d01-0010-a6a9-f4a8aae140fe
404
Connecting MaxDB to BackInt http://maxdb.sap.com/doc/7_7/45/746a5712e14022e10000000a1553f6/fr ameset.htm Oracle restore and recovery manual https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uu id/97a4f439-0d01-0010-d488-d29b45e2f5ab SAP and SOA http://www12.sap.com/platform/soa/index.epx SAP BackInt manual http://www.sapdb.org/pdf/backint_eng.pdf SAP business service http://help.sap.com/saphelp_nw04/helpdata/en/2c/ed8e3f55b20617e10 000000a114084/frameset.htm SAP database administration for Oracle manual https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uu id/20e638fc-a706-2a10-9d82-c40503247d30 SAP database for system copying http://www.sapdb.org/7.4/htmhelp/21/692225b246b24f9202cb4433b5d69 1/content.htm SAP High availability page https://www.sdn.sap.com/irj/sdn/ha SAP High availability page (protected) http://service.sap.com/ha SAP NetWeaver key capability http://help.sap.com/saphelp_erp60_sp/helpdata/en/6a/44b2420e71c51 1e10000000a1550b0/frameset.htm SAP product availability matrix (protected) http://service.sap.com/pam SAP solution page http://www.sap.com/solutions/index.epx Tivoli Storage Manager Information Center http://publib.boulder.ibm.com/infocenter/tivihelp/v1r1/index.jsp
Related publications
405
406
Index
Numerics
5.5.0.0-TIV-TSMERPDB2-AIX64.bin 243 backup types 61, 63 backup_dev_type 282 backup_type 282 backup/archive client 95 BBP 78 begin backup command 96 BIA 42 BID 140 bootinfo command 216 BR*Tools 132 br12 transaction 97 BRARCHIVE command 99, 104, 132, 135, 252 BRBACKUP 267 BRBACKUP command 99, 132133 BRGUI command 133 BRRECOVER command 132, 138 BRRESTORE command 99, 104, 132, 138 BRTOOLS command 134 business impact analysis, see BIA Business services 22 business solutions 13 Business Warehouse, see BW Business-to-Business Procurement, see BBP BW 78
A
ABAP 16 ABAP central services, see ASCS ABAP technology 19 ACS 113 addessserver command 333 ADINT/TSM 106 178 Advanced Business Application Programming, see ABAP Advanced Copy Services, see ACS ALLOCATE command 150 alter statement 102 alter tablespace statement 189 API 129 application platform 18 application program interface, see API ARCHDELETE 222 archive command 325 ASCS 27 ASM 189 Automatic Storage Management , see ASM
C
CAF 16 Call Level Interface, see CLI CCMS 35, 83 CCMS transaction 97 central instance 26 central services 27 cfgmgr command 293, 319 Change and Transport System, see CTS CHANNEL 150 chmod command 224, 247 CIM agent 333 CLI 37, 156 CLP 104, 258, 378 COBIT 42 COLD 121 cold backup 61 command 330
B
BACKDELETE 222 Background 25 backint command 357 backom command 86, 168, 248, 254, 258, 260, 321, 330 BACKUP ARCHIVELOG command 147 BACKUP command 62 backup command 234 backup considerations 61 backup cycle 65 backup ID, see BID backup modes 61 backup policy 66 backup requirement 55 backup scheduling 82
407
command-line interface, see CLI Command-Line Processor, see CLP commands 330 addessserver 333 ALLOCATE 150 archive 325 backint 357 backom 86, 168, 248, 254, 258, 260, 321, 330 BACKUP 62 backup 234 BACKUP ARCHIVELOG 147 begin backup 96 bootinfo 216 BRARCHIVE 99, 104, 132, 135, 252 BRBACKUP 99, 132133 BRGUI 133 BRRECOVER 132, 138 BRRESTORE 99, 104, 132, 138 BRTOOLS 134 cfgmgr 293, 319 chmod 224, 247 CONFIGURE 151 cpio 138 crontab 86 DB2 104, 157 db2 85, 232, 234, 258, 374 db2_all 255 DB2ADUTL 164, 218 db2adutl 238 db2clonedb 369 db2inidb 354 db2set 250 DBMCLI 173 dbmcli 106 dbmgui 106 dd 138 DELETE 152 DSMAPIPW 224 dsmapipw 227, 310 dsmc 86, 96, 189, 231, 284 dsmsta 302 echo 262 grep 261 installp 292 LIST 151 list 162 list history 378, 380 LOAD 104
lslpp 293 mksysb 51 nohup 305 oraenv 384 PRUNE 163 ps 383 query 236 query mgmtclass 60 recover 149150 REGISTER NODE 222 REPORT 152 RESTORE 104, 234 restore 148, 235 resyncflash 319 rmdev 292 rollforward 234 rpm 331 rsh 334 SAPDBA 99 setupDB2BS 336, 341 show 388 smit 293 splitint 323, 339 sqlplus 384 startsap 309 stopsap 309 tdphdwdb2 322, 339 tdphdwora 322 UPDATE 163 verifyconfig 333 webdbm 106 withdraw 355 CommonStore for SAP archiving client 123 clients 122 CommonStore for SAP overview 116 server prerequisites 121 utility client 125 viewing client 124 complete backup 63 Completed 86 Composite Application Framework, see CAF computer output on laser disc, see COLD Computing Center Management System, see CCMS CONFIGURE command 151 consistent backup 61 Control Objectives for Information Technology, see
408
COBIT copy services 109 COPYSERVICES_SERVERPORT 338, 362 COPYSERVICES_USERNAME 338 cpio command 138 crontab command 86 CTS 30
D
data archiving 119 data availability 44 data management 4 data protection 42, 68 file systems 51 operating system 51 SAP database 53 data retention 68 database backup requirement 55 database administration, see DBA database backup 61 database backup tools 128 database instance 27 database recovery tools 128 database shared library, see DBSL database storage 54 db13 transaction 83 DB2 command 104, 157 db2 command 85, 232, 234, 258, 374 DB2 Control Center 156 DB2 Data Propagator 200 DB2 Geoplex 200 DB2 Tracker 200 db2_all command 255 DB2_VENDOR_LIB 168 DB2ADUTL 164 DB2ADUTL command 164, 218 db2adutl command 238 db2clonedb command 369 db2inidb command 354 db2set command 250 DBA 35 DBMCLI command 173 dbmcli command 106 dbmgui command 106 DBSL 37 dd command 138 DELETE command 152
Dialog 25 dialog instance 27 disaster recovery 81 distributed relational database architecture, see DRDA DLL 118 DMS 120 document archiving 120 Document Management System, see DMS document structure 5 DOMAIN 222 DRDA 38 DS6000 108, 192 DS8000 108, 192 DSIERROR.LOG 261 dsm.sys 274 DSMAPIPW command 224 dsmapipw command 227, 310 dsmc command 86, 96, 189, 231, 284 DSMI_CONFIG 164, 167, 224 DSMI_DIR 164, 224 DSMI_LOG 164, 167, 224 dsmsta command 302 Duet 12 Dynamic Link Library, see DLL
E
EBP 77 ECC 10 echo command 262 Enqueue 25 Enterprise Buyer Professional, see EBP Enterprise Resource Planning, see ERP enterprise solutions 11 Enterprise Storage Server, see ESS Enterprise Storage System, see ESS ERP 4, 8, 11, 97 ERP Central Component, see ECC ESS 108109 ESS 800 192 ESS Metro-Mirror 192
F
FAILARCHPATH 168 Failed 86 failure types 47 full backup 63
Index
409
G
Governance Risk, and Compliance, see GRC graphical user interface, see GUI GRC 13 grep command 261 GUI 36, 106
L
LAN 90, 290 LAN-free backup 97 LANFREECOMMMETHOD 295 Linear Tape Open, see LTO LIST command 151 list command 162 list history command 378, 380 LOAD command 104 local area network, see LAN Log Shipping 199 LOGARCHMETH1 168 LOGARCHOPT1 168 lslpp command 293 LTO 214, 269
H
HA 49, 76 HACMP/XD 190 HADR 197 High Availability Disaster Recovery, see HADR high availability, see HA hot backup 63 HP-UX Service Guard 191 HTTP 116 Hypertext Transfer Protocol, see HTTP
M
MAA 195 MAX_VERSIONS 180, 279 MAX_VERSIONS=0 180 MaxDB 106 Maximum Availability Architecture, see MAA MAXNUMMP 222 MAXNUMP 142 MAXVERSION 67 Media Management System, see MMS Metro Mirror replication 192 Mirroring 199 Missed 86 mksysb command 51 MMS 176
I
IGS 26 IIC 122 include exclude options 59 incremental backup 63 independent software vendor, see ISV Information Integrator for Content, see IIC installp command 292 Internet Graphics Service, see IGS Internet Transaction Server, see ITS ISV 291 IT Infrastructure Library, see ITIL ITIL 42 ITS 7778 ITSM architecture 92
N
NetWeaver 14 NetWeaver Development Infrastructure, see NWDI NODENAME 222 nohup command 305 NWDI 21
J
J2EE 20 JAAS 20 Java 2 Enterprise Edition, see J2EE Java Authentication and Authorization Service, see JAAS Java central services, see SCS Java Runtime Environment, see JRE Java technology 20 JFS 113 Journaled File System, see JFS JRE 122
O
Objects Linking and Embedding, see OLE ODBC 94 offline backup 61 OLE 124 one-system landscape 34 online backup 63 operational 76
410
Oracle Application Server 195 Oracle Dataguard 195 Oracle Recovery Manager, see RMAN Oracle SID 274 ORACLE_HOME 384 ORACLE_SID 384 oraenv command 384 organization 5
P
PAM 35 partial backup 64 PASSWORD 222 PASSWORDACCESS 142, 246, 277 Peer to Peer Remote Copy, see PPRC point 43 POWER5 108 PPRC 193 PRIMARY_COPYSERVICES_SERVERNAME 338, 362 Product Availability Matrix, see PAM PROLE_PORT 281 PROMPT 277 protection levels 44 PRUNE command 163 ps command 383
REPORT command 152 RESTORE command 104, 234 restore command 148, 235 resyncflash command 319 Retention period 67 RETVER 67, 219 RFC 118 RMAN 99, 144 rman_parms 282 rmdev command 292 roll-forward 94 rollforward command 234 rpm command 331 RPO 44, 217, 271 rsh command 334 RTO 4344
S
SAML 20 SAN 290, 294 SAN Volume Controller, see SVC SAP 4, 107 application platform 18 architecture 23 business solutions 13 central instance 26 central services 27 change and transport system 30 change management 34 clients 31 configuration file 274 data protection 49 database 17, 35 database instance 27 dialog instance 27 enterprise solutions 11 key capabilities 14 NetWeaver overview 13 product history 8 products 11 R/2 8 scheduler 82 solutions 11 system landscape 32 system topologies 28 transaction br12 97 CCMS 97
Q
query command 236 query mgmtclass command 60
R
R/2 8 RAC 195 RDBMS 54 Real Application Cluster, see RAC recover command 149150 Recovery Point Objective, see RPO Recovery Time Objective, see RTO Red Hat Cluster 191 Redbooks Web site 406 Contact us xviii redo log files 63 REGISTER NODE command 222 relational database management systems, see RDBMS Remote Function Call, see RFC
Index
411
db13 83 SAP Business Suite 11 SAP Business Warehouse, see SAP BW SAP BW 77 SAP Manufacturing 12 SAP MaxDB 171 SAP NetWeaver 13 SAP Service and Asset Management 12 SAPDBA command 99 SBT 130 SC33-6341 260 scheduling 82 SCS 27 SDA 26 SDM 26 Secure Backup to Tape, see SBT Secure Network Communications, see SNC Security Assertion Markup Language, see SAML SELECT statement 94 select statement 195 SEM 9 service levels 44 setupDB2BS command 336, 341 show command 388 smit command 293 SNC 20 SNIA 42 Software Deployment Archives, see SDA Software Deployment Manager, see SDM Solaris Cluster 191 splitint command 323, 339 Spool 25 SQL SELECT 94 SQL commands alter 102 alter tablespace 189 SELECT 94 select 195 sqlplus command 384 startsap command 309 stopsap command 309 storage agent 97 storage area network, see SAN Storage Networking Industry Association, see SNIA storage repository 94 Strategic Enterprise Management, see SEM SVC 332 SVC Metro Mirror 192
T
Tablespace Definition Information, see TDI tape release 67 TARGET_VOLUME 339 TCO 4 TDI 166, 257 TDP_DIR 168 tdphdwdb2 command 322, 339 tdphdwora command 322 three-tier system landscape 32 Tivoli Storage Manager 90 Advanced Copy Services 107 architecture 92 backup 96 backup/archive client 95 databases 105 Enterprise Resource Planning 97 overview 90 scheduling 85 server 94 storage agent 97 Tivoli Storage Manager, see TSM Tivoli System Automation 190 TNS_ADMIN 384 total cost of ownership, see TCO TSM 113 TSM_MGMTCLASS 229 TSM_NODENAME 229 TSM_OWNER 229 TSM_PASSWORD 229 TSM1_FS 284 two-system landscape 34
U
uninterruptible power supply, see UPS Universal Resource Locator, see URL Universal Unique Identifier, see UUID Update 25 UPDATE command 163 UPS 77 URL 116 util_par_file 282 UUID 117
412
V
VDI 130 verifyconfig command 333 Veritas Cluster Server 191 Virtual Device Interface, see VDI
W
webdbm command 106 withdraw command 355 workload scheduling tools 87
X
X/Open Backup Services APIs, see XBSA XBSA 162 XINT_PROFILE 168, 281
Index
413
414
Back cover
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.