Escolar Documentos
Profissional Documentos
Cultura Documentos
BASIS
Junho/200
jluiz@cemig.com.br
Pgina 1
ACADEMIA
BASIS
ndice
NDICE .................................................................................................................................................... 2
INTRODUO..................................................................................................................................... 11 PLANO DE ESTUDO................................................................................................................................. 11 ADVERTNCIA ........................................................................................................................................ 11 DIREITO DE AUTORIA ............................................................................................................................ 11 MARCAS REGISTRADAS. ........................................................................................................................ 12 PARTICIPANTES DA ACADEMIA ............................................................................................................ 12 PRIMEIRA SEMANA.......................................................................................................................... 13
R/3 BASIS TECHNOLOGY................................................................................................................ 13 BASIS SYSTEM AND THE SYSTEM ENVIRONMENT ............................................................................... 13 BUSINESS FRAMEWORK ARCHITECTURE ............................................................................................ 13 R/3 SYSTEM CLIENT/SERVER CONFIGURATIONS ............................................................................... 14 THE MIDDLEWARE BASIS ..................................................................................................................... 15 NAVIGATION ...................................................................................................................................... 17 LOGGING ONTO R/3 SYSTEM ................................................................................................................ 17 R/3 MENU STRUCTURE.......................................................................................................................... 17 SYSTEM KERNEL .............................................................................................................................. 19 R/3 PRESENTATION INTERFACE ........................................................................................................... 19 R/3 DATABASE INTERFACE ................................................................................................................... 19 WORK PROCESSES AND DISPATCHER .................................................................................................. 20 R/3 APPLICATION SERVICES................................................................................................................. 21 RULES FOR THE TYPE AND NUMBER OF PROCESSES IN THE APPLICATION ..................................... 21 R/3 TRANSACTION AND LUW............................................................................................................... 21 LOCK CONCEPT AND ASYNCHRONOUS UPDATE ................................................................................. 22 BACKGROUND PROCESSING ................................................................................................................. 23 R/3 PRINTER SERVICES ......................................................................................................................... 24 R/3 INSTANCE......................................................................................................................................... 24 INTERFACES....................................................................................................................................... 25 R/3 AS AN OPEN SYSTEM ....................................................................................................................... 25 R/3 GATEWAY SERVICE ........................................................................................................................ 25
jluiz@cemig.com.br Pgina 2
ACADEMIA
BASIS
COMMUNICATION WITH CPI-C............................................................................................................ 25 REMOTE FUNCTION CALL .................................................................................................................... 25 BUSINESS OBJECTS AND BAPIS ............................................................................................................ 26 R/3 SYSTEM AS AN OLE SERVER OR AN OLE CLIENT ....................................................................... 26 INTERNET ARCHITECTURE ................................................................................................................... 27 EDI ARCHITECTURE ............................................................................................................................. 27 DISTRIBUTION OF BUSINESS PROCESSES WITH ALE.......................................................................... 27 DATA TRANSFER AND BATCH INPUT.................................................................................................... 27 R/3 GRAPHICAL USER INTERFACE............................................................................................. 29 FRONTEND ADMINISTRATION .............................................................................................................. 29 SAPGUI INSTALLATION ....................................................................................................................... 29 TYPES OF ONLINE HELP........................................................................................................................ 29 SAPLOGON OPTIONS E TRACES ...................................................................................................... 30 SAP MAPI AND SAPGUI FOR JAVA .................................................................................................... 31 SAP ONLINE SERVICE SYSTEM (OSS)......................................................................................... 32 OSS OVERVIEW ..................................................................................................................................... 32 SAPNET .................................................................................................................................................. 32 SAP TECHNET ....................................................................................................................................... 32 STARTING AND STOPING R/3 NT VERSION ........................................................................... 33 OPERATING SYSTEM TASKS ................................................................................................................. 33 ADMINISTRATOR TASKS ....................................................................................................................... 33 PROCESS STARTUP SEQUENCE ............................................................................................................. 33 PARAMETER READ SEQUENCE ............................................................................................................. 34 LOGS AND TRACES ................................................................................................................................ 34 STARTUP DIAGNOSTICS......................................................................................................................... 34 BEFORE STOPPING THE R/3 SYSTEM .................................................................................................... 35 STOPPING THE R/3 SYSTEM................................................................................................................... 35 BACKUP OFF-LINE: DATABASE RECONNECT........................................................................................ 35 STARTING AND STOPING R/3 UNIX VERSION ...................................................................... 36 OPERATING SYSTEM TASKS ................................................................................................................. 36 DATABASE STARTUP AND LOGS ........................................................................................................... 36 R/3 STARTUP AND LOGS ........................................................................................................................ 36 STOPPING R/3 SYSTEMS ........................................................................................................................ 37 CCMS CONFIGURATION................................................................................................................. 38 OVERVIEW.............................................................................................................................................. 38 RZ10: PROFILE MAINTENANCE ........................................................................................................... 38 R/3 PROFILES ......................................................................................................................................... 38 OPERATION MODES ............................................................................................................................... 39 BACKGROUND PROCESSING ........................................................................................................ 41 BACKGROUND CONCEPTS AND FEATURES .......................................................................................... 41
jluiz@cemig.com.br Pgina 3
ACADEMIA
BASIS
OPERATION MODES AND SCHEDULING ............................................................................................... 41 EVENTS IN JOB SCHEDULING ................................................................................................................ 42 CHANGING OR MONITORING BACKGROUND JOBS ............................................................................. 42 JOB API, XBP-API AND XMI-API....................................................................................................... 43 AUTHORIZATION FOR BACKGROUND JOBS ......................................................................................... 43 ADVANCED BACKGROUND PROCESSING ................................................................................ 44 TYPES OF BACKGROUND JOBS ............................................................................................................. 44 PARALLEL PROCESSING USING ASYNCHRONOUS RFC...................................................................... 44 XMI/XBP INTERFACE ........................................................................................................................... 45 EVENTS IN JOB SCHEDULING ................................................................................................................ 45 EXTERNAL COMMANDS AND EXTERNAL PROGRAMS ........................................................................ 46 AUTHORIZATIONS FOR BACKGROUND ................................................................................................ 46 ABAP API SCHEDULING ....................................................................................................................... 46 BACKGROUND CHECK AND TROUBLESHOOTING ............................................................................... 47 DATA ARCHIVING ............................................................................................................................ 48 DEFINITION ............................................................................................................................................ 48 HOW ARCHIVE WORKS ......................................................................................................................... 48 ARCHIVE ENVIRONMENT ...................................................................................................................... 48 ACESSING ARCHIVED DATA ................................................................................................................. 49 PREPARATIONS FOR DATA ARCHIVING ............................................................................................... 49 MONITORING AN ARCHIVING RUN ...................................................................................................... 49 SYSTEM MONITORING ................................................................................................................... 51 WHAT, WHY, WHO AND WHEN .............................................................................................................. 51 MONITORING ARCHITECTURE ............................................................................................................. 51 PREPARING THE MONITOR ................................................................................................................... 51 MONITORING AND TOOLS ..................................................................................................................... 52 SEGUNDA SEMANA........................................................................................................................... 54
USERS AND AUTHORIZATION IN THE R/3 SYSTEM .............................................................. 54 USERS IN THE R/3 ENVIRONMENT ........................................................................................................ 54 AUTHORIZATION CONCEPTS ................................................................................................................ 54 AUTHORIZATION AS ER ........................................................................................................................ 55 AUTHORIZATION CHECKS .................................................................................................................... 55 PROFILE GENERATOR ........................................................................................................................... 55 USER MASTER RECORD ........................................................................................................................ 57 SETTINGS FOR SYSTEM PROFILE PARAMETERS ................................................................................. 57 SECURITY ............................................................................................................................................... 57 INFORMATION SYSTEM E AUTHORIZATION TRACES ......................................................................... 57 PASSWORD RULES ................................................................................................................................. 58 PROFILE GENERATOR SETUP ............................................................................................................... 58 TRANSPORTING AUTHORIZATIONS AND USERS .................................................................................. 58 SAPROUTER........................................................................................................................................... 59 SNC SECURE NETWORK COMMUNICATION ........................................................................................ 59
jluiz@cemig.com.br
Pgina 4
ACADEMIA
BASIS
SOFTWARE LOGISTICS................................................................................................................... 61 R/3 SYSTEM, SERVERS AND INSTANCES............................................................................................... 61 R/3 DATA ................................................................................................................................................ 61 R/3 CLIENTS ........................................................................................................................................... 61 STANDARD CLIENT ROLES.................................................................................................................... 62 R/3 LANDSCAPE ..................................................................................................................................... 62 CHANGE REQUESTS AND TRANSPORTS ............................................................................................... 62 CHANGE AND TRANSPORT SYSTEM PREREQUISITES ........................................................ 64 CONFIGURING THE SYSTEM LANDSCAPE ............................................................................................ 64 INITIALIZING CTO ................................................................................................................................ 65 TMS - TRANSPORT MANAGEMENTA SYSTEM ...................................................................................... 65 CHANGE MANAGEMENT FOR DEVELOPMENT...................................................................... 67 CHANGE REQUESTS ............................................................................................................................... 67 WBO - WORKBENCH ORGANIZER ........................................................................................................ 67 DEVELOPMENT CLASS AND TRANSPORT LAYERS .............................................................................. 68 HANDLING REPOSITORY OBJECTS....................................................................................................... 69 THE REPOSITORY .................................................................................................................................. 69 R/3 UPGRADE ......................................................................................................................................... 70 WORKBENCH ORGANIZER TOOLS ....................................................................................................... 70 SETTINGS FOR WBO ............................................................................................................................. 70 PLANNING CHANGE MANAGEMENT..................................................................................................... 71 CHANGE MANAGEMENT FOR CUSTOMIZING........................................................................ 72 CUSTOMIZING CONCEPTS ..................................................................................................................... 72 CUSTOMIZING TOOLS IMPLEMENTATION GUIDE (IMG)................................................................ 72 CUSTOMIZING CHANGE REQUESTS ..................................................................................................... 73 CUSTOMIZING TESTS............................................................................................................................. 74 CUSTOMIZING EXCEPTIONS ................................................................................................................. 74 CLIENT-INDEPENDENT CUSTOMIZING ................................................................................................. 74 PLANNING CUSTOMIZING CHANGE MANAGEMENT ........................................................................... 74 TRANSPORT MANAGEMENT......................................................................................................... 76 TRANSPORT PROCESS............................................................................................................................ 76 IMPORT QUEUES .................................................................................................................................... 76 TRANSPORTING BETWEEN TRANSPORT GROUPS ............................................................................... 77 TRANSPORT MONITORING .................................................................................................................... 77 TRANSPORT PROCESS............................................................................................................................ 77 ADVANCED TRANSPORT MANAGEMENT ................................................................................ 78 TRANSPORT DIRECTORY ...................................................................................................................... 78 THE TP PROGRAM .................................................................................................................................. 78 THE R3TRANS PROGRAM ...................................................................................................................... 79 THE IMPORT PROCESS .......................................................................................................................... 79 TRANSPORT MONITORING .................................................................................................................... 81
jluiz@cemig.com.br
Pgina 5
ACADEMIA
BASIS
CLIENT TOOLS .................................................................................................................................. 82 CLIENT TRANSPORT .............................................................................................................................. 82 CLIENT COMPARE ................................................................................................................................. 83 CLIENT MAINTENANCE SETTINGS ....................................................................................................... 84 AUTHORIZATIONS FOR CLIENT TOOLS ................................................................................................ 84 CLIENT AND SYSTEM STRATEGIES ........................................................................................... 85 TYPES OF LANDSCAPES ......................................................................................................................... 85 THREE-SYSTEM LANDSCAPES .............................................................................................................. 85 TWO-SYSTEM LANDSCAPES .................................................................................................................. 85 ONE-SYSTEM LANDSCAPES................................................................................................................... 85 LANDSCAPE REQUIREMENTS ................................................................................................................ 86 ASAP SYSTEM LANDSCAPE .................................................................................................................. 86 ASAP RECOMENDATIONS ..................................................................................................................... 87 ALTERNATIVE LANDSCAPES ................................................................................................................. 87 TRANSPORT ORGANIZER ...................................................................................................................... 88 R/3 UPGRADES AND OCS PATCHES............................................................................................ 89 R/3 EVOLUTION AND RELEASE STRATEGY ......................................................................................... 89 R/3 UPGRADE ......................................................................................................................................... 89 REPOSITORY SWITCH ............................................................................................................................ 90 MODIFICATION ADJUSTMENT .............................................................................................................. 91 AVOIDING MODIFICATIONS IN R/3 SYSTEMS ...................................................................................... 91 ONLINE CORRECTION SERVICE (OCS)................................................................................................ 92 TERCEIRA SEMANA ......................................................................................................................... 93
R/3 SPOOL AND PRINT..................................................................................................................... 93 R/3 SPOOL SYSTEM................................................................................................................................ 93 SPOOL AND OUTPUT REQUESTS ........................................................................................................... 93 SPOOL WORK PROCESS ........................................................................................................................ 93 LOCAL AND REMOTE PRINTING ........................................................................................................... 93 SPOOL ADMINISTRATION ...................................................................................................................... 94 FRONTEND PRINTING ............................................................................................................................ 94 LOGICAL SPOOL SERVERS .................................................................................................................... 95 SPOOL REQUEST MANAGEMENT .......................................................................................................... 95 R/3 OUTPUT MANAGEMENT.......................................................................................................... 96 DEVICE POOLS ....................................................................................................................................... 96 EXTERNAL OUTPUT MANAGEMENT SYSTEMS (OMS) ....................................................................... 96 SPOOL SERVER AND REQUESTS MANAGEMENT ................................................................................. 96 NON-STANDARD PRINTERS ................................................................................................................... 97 CHARACTER SET .................................................................................................................................... 97 FORMAT, PAGE FORMAT E FORMAT ACTIONS .................................................................................... 97 PRINT CONTROLS ................................................................................................................................... 97 MESSAGE CONTROL AND EDI .............................................................................................................. 97
jluiz@cemig.com.br
Pgina 6
ACADEMIA
BASIS
SAPCONNECT ......................................................................................................................................... 98 INSTALLATION CHECK .................................................................................................................. 99 HARDWARE E SOFTWARE ..................................................................................................................... 99 ORACLE DATABASE ............................................................................................................................... 99 R/3 SYSTEM .......................................................................................................................................... 100 R/3 WORKLOAD DISTRIBUTION ................................................................................................ 102 OVERVIEW............................................................................................................................................ 102 MECHANISM ......................................................................................................................................... 102 LOGON LOAD BALANCING .................................................................................................................. 102 BACKGROUND LOAD BALANCING ...................................................................................................... 103 SPOOL LOAD BALANCING ................................................................................................................... 103 UPDATE LOAD BALANCING ................................................................................................................ 103 CONFIGURATION SUMMARY ............................................................................................................... 104 QUARTA SEMANA........................................................................................................................... 106
DATABASE FUNDAMENTALS...................................................................................................... 106 ORACLE OVERVIEW ............................................................................................................................ 106 STARTING AND STOPING THE DATABASE .......................................................................................... 108 ORACLE SHARED PROCESSES ............................................................................................................. 108 R/3 ORACLE STRUCTURE .................................................................................................................... 109 NET8 BASIS .......................................................................................................................................... 110 DATABASE MONITORING .................................................................................................................... 111 BACKUP ESTRATEGY .................................................................................................................... 112 DATABASE BACKUP ............................................................................................................................. 112 BACKUP TYPES .................................................................................................................................... 112 BACKUP AND RECOVER DIAGRAM ..................................................................................................... 113 DATA LOSS ........................................................................................................................................... 113 BACKUP RECOMMENDATIONS ............................................................................................................ 113 FINAL RECOMMENDATIONS ............................................................................................................... 114 TAPE MANAGEMENT..................................................................................................................... 115 TAPE POOLS ......................................................................................................................................... 115 TAPE INITIALIZATION ......................................................................................................................... 115 TAPE LOCKING .................................................................................................................................... 115 TAPE SELECTION ................................................................................................................................. 115 TAPE LAYOUT ...................................................................................................................................... 116 SCHEDULING, PERFORMING AND MONITORING BACKUPS ........................................... 117 BACKUP TOOLS FEATURES ................................................................................................................. 117 BACKUP PROFILE PARAMETERS ......................................................................................................... 117
jluiz@cemig.com.br Pgina 7
ACADEMIA
BASIS
PHASES OF DATABASE BACKUP.......................................................................................................... 117 DATABASE BACKUP CHECK AND MONITORING ............................................................................... 118 OFFLINE REDO LOG FILES BACKUP .................................................................................................. 118 LOG FILE CLEANUP ............................................................................................................................. 119 FREESPACE ADMINISTRATION ........................................................................................................... 119 ONE-RUN STRATEGY ........................................................................................................................... 119 FURTHER DOCUMENTATION............................................................................................................... 119 ADVANCED BACKUP TECHNIQUES .......................................................................................... 120 ONE-RUN STRATEGY ........................................................................................................................... 120 CONSISTENT ONLINE BACKUP ........................................................................................................... 120 PARALLEL TAPE SUPPORT .................................................................................................................. 120 PARTIAL DATABASE BACKUPS ........................................................................................................... 120 BACKING UP DATA TABLESPACES ONLY .......................................................................................... 120 TWO-STEP DISK BACKUP.................................................................................................................... 121 STRUCTURES-RETAINING DATABASE COPY ..................................................................................... 121 SPLIT MIRROR DISK BACKUPS ........................................................................................................... 121 SAP TOOLS AND ORACLE STANDBY DATABASE ............................................................................... 122 EXTERNAL BACKUP TOOLS USING BC-BRI ..................................................................................... 122 RESTORE AND RECOVERY.......................................................................................................... 123 DATABASE ERRORS ............................................................................................................................. 123 SCENARIO ............................................................................................................................................. 123 PARTIAL RESTORE AND COMPLETE RECOVERY .............................................................................. 123 DATABASE RESET ................................................................................................................................ 123 POINT IN TIME RECOVERY ................................................................................................................. 124 HOW TO PROCEED AND WHO SHOULD MANAGE THE PROBLEM.................................................... 124 PARTIAL RESTORE USING SAPDBA.................................................................................................. 124 DATABASE RESET USING SAPDBA ................................................................................................... 125 FULL RESTORE AND RECOVERY USING SAPDBA............................................................................ 125 STORAGE MANAGEMENT............................................................................................................ 126 SPACE MANAGEMENT ......................................................................................................................... 126 FRAGMENTATIONS .............................................................................................................................. 126 DAILY MONITORING: SAPDBA -CHECK ........................................................................................... 126 TABLESPACE EXTENSION.................................................................................................................... 127 TABLES AND INDEXEX MONITORING ................................................................................................. 127 ANALYZING STORAGE ALLOCATION: SAPDBA -ANALYZE ............................................................ 127 REORGANIZATION ............................................................................................................................... 128 PERFORMANCE MONITOR.......................................................................................................... 130 PERFORMANCE ISSUES ........................................................................................................................ 130 COST-BASED OPTIMIZER .................................................................................................................... 130 MEMORY CONFIGURATION ................................................................................................................ 131 APPLICATION DESIGN ......................................................................................................................... 132 PHYSICAL AND LOGICAL LAYOUT ..................................................................................................... 133 QUINTA SEMANA ............................................................................................................................ 135
jluiz@cemig.com.br
Pgina 8
ACADEMIA
BASIS
TOP 10 PROBLEMS.......................................................................................................................... 135 ARCHIVE STUCK SITUATION .............................................................................................................. 135 THE INCORRECT TAPE SIZE DRIVERS WITH HARDWARE COMPRESSION ...................................... 135 A MISSING END BACKUP................................................................................................................. 135 A TABLESPACE OVERFLOW................................................................................................................ 136 A TABLE OR INDEX REACHING THE MAXEXTENTS LIMIT .......................................................... 136 ORACLE ERROR ORA-1555, SNAPSHOT TOO OLD........................................................................... 136 NET8 TCP/IP DELAY........................................................................................................................... 136 ORACLE ERROR ORA-1578, DATA BLOCK CORRUPTION ............................................................... 137 ORACLE ERROR ORA-600, INTERNAL DATABASE ERROR .............................................................. 137 POOR PERFORMANCE OF THE COST-BASED OPTIMIZER ................................................................. 137 INTRODUCTION TO WORKLOAD ANALYSIS......................................................................... 138 PERFORMANCE PROBLEMS................................................................................................................. 138 RESPONSE TIMES ................................................................................................................................. 138 WAIT TIME ........................................................................................................................................... 138 ROLL IN TIME ....................................................................................................................................... 139 DATABASE TIME ................................................................................................................................... 139 PROCESSING TIME ............................................................................................................................... 139 CPU TIME ............................................................................................................................................. 139 WORKLOAD STATISTICS ..................................................................................................................... 139 WORKLOAD ANALYSIS ........................................................................................................................ 139 ANALYSIS ROADMAP USING WORKLOAD MONITOR (ST03) ............................................................. 140 PERFORMANCE ANALYSIS MONITORS .................................................................................. 141 WORK PROCESS OVERVIEW ............................................................................................................... 141 ST06 - OPERATING SYSTEM MONITOR.............................................................................................. 141 ST02 - BUFFER MONITOR ................................................................................................................... 141 R/3 MEMORY MANAGEMENT ..................................................................................................... 142 R/3 MEMORY AREAS ........................................................................................................................... 142 LOCAL MEMORY ................................................................................................................................. 142 SHARED MEMORY ............................................................................................................................... 142 ALLOCATION CONCEPTS .................................................................................................................... 143 HEAP MEMORY MANAGEMENT ......................................................................................................... 143 R/3 EXTENDED MEMORY .................................................................................................................... 144 ANALYSIS ROADMAP: R/3 MEMORY CONFIGURATION (ST02) ....................................................... 144 HARDWARE CAPACITY VERIFICATION ................................................................................. 145 HARDWARE BOTTLENECKS ................................................................................................................ 145 ANALYSIS ROADMAP: HARDWARE CONSUPTION (ST06) ................................................................. 145 OPTIMIZING THE CONFIGURATION ................................................................................................... 145 EXPENSIVE SQL STATEMENTS .................................................................................................. 146 DETECTING EXPENSIVE SQL STATEMENTS ...................................................................................... 146 MONITORS TO ANALYSE ..................................................................................................................... 146
jluiz@cemig.com.br
Pgina 9
ACADEMIA
BASIS
DETAIL ANALYSIS AND TUNING ......................................................................................................... 147 TABLE STATISTICS FOR OPTIMIZER .................................................................................................. 147 TIPS FOR OPTIMIZING ABAP ............................................................................................................. 147 TABLE BUFFERING ........................................................................................................................ 148 CONCEPTS ............................................................................................................................................ 148 SYNCHRONIZATION ............................................................................................................................. 148 GRANULARITY OF INVALIDATION ...................................................................................................... 149 BYPASSING THE BUFFER ..................................................................................................................... 149 STRATEGY FOR TECHNICAL CRITERIA ............................................................................................. 149 OPTIMIZATION ..................................................................................................................................... 150 OTHERS ASPECTS ABOUT ORACLE ......................................................................................... 151 CACHE ANALYSIS ................................................................................................................................ 151 SHARED SQL AREA ............................................................................................................................. 151 ANALYZING SQL STATEMENTS ......................................................................................................... 151 UPDATE STATISTICS ............................................................................................................................ 152 IDENTIFY CODING ............................................................................................................................... 152 WORKFLOW AND REPORTING ............................................................................................................ 152 INDEX UTILIZATION ............................................................................................................................ 153 CREATING NA INDEX ........................................................................................................................... 153 SIMILAR STATEMENTS ........................................................................................................................ 153 VIEW PROCESSING .............................................................................................................................. 154 POOLED AND CLUSTERED TABLES ..................................................................................................... 154 WORKLOAD ANALYSIS GUIDE .................................................................................................. 155
ANEXOS .............................................................................................................................................. 158 GLOSSRIO........................................................................................................................................... 158 TRANSACTIONS .................................................................................................................................... 160 REPORTS ............................................................................................................................................... 165 OSS NOTES ........................................................................................................................................... 166 RZ10 PARAMETERS ............................................................................................................................. 167
jluiz@cemig.com.br
Pgina 10
ACADEMIA
BASIS
Introduo
Plano de Estudo
A estratgia para o estudo durante a academia ser de sete horas durante o perodo de aulas na SAP e de cerca de quatro horas dirias no hotel para rever a aula do dia. Idealmente a reviso da sexta-feira deve ser feita no sbado e uma re-leitura de todo o texto da semana no domingo. Este texto engloba e leva em conta o texto elaborado pelo meu grande amigo e colega de empresa() Mrcio Cicarelli (cicareli@cemig.com.br), durante a academia de Unix/Oracle de 1999. Na prtica eu (jluiz@cemig.com.br) vou elaborando o meu prprio resumo e anexando as partes elaboradas pelo Mrcio que acho relevantes. A ordem dos dois resumos um pouco diferente e em alguns captulos os textos no tem nada a ver um com o outro, mas na maioria os textos so bem parecidos ou com pequenas alteraes provocadas por um maior detalhamento ou comentrios. S para ter uma idia at o momento este resumo tem 75 mil palavras e o do Mrcio tinha cerca de 52 mil. A minha previso que at o final ele tenha cerca de 80 mil palavras. Apesar deste alto volume de palavras, o que interessa o contedo final (para eventualmente passarmos na prova). Por enquanto, alm da reviso do texto, ainda no foi incluido os desenhos e figuras que acho interessantes (para facilitar a compreeno dos conceitos). Elas sero disponibilizadas aps o aval da SAP (elas so muito parecidas e funcionalmente identicas as que esto nas apostilas).
Advertncia
Todos os exemplos e conceitos apresentados nesse texto so meramente ilustrativos. Eles so destinados apenas aos profissionais qualificados para as tarefas propostas, sendo extremamente recomendados a anlise dos mesmos antes da sua execuo. No existe qualquer garantia, quer implcita ou explcita, do perfeito funcionamento ou da aplicao dos conceitos aqui descritos. No garantimos com relao ao uso, ou ao resultado do uso, das instrues aqui apresentadas, em termos de correo, acurcia, confiabilidade, atualidade, ficando todos os riscos, tais como resultados, por sua conta e total responsabilidade. Se os exemplos provocarem erros, perda de dados ou quaisquer danos diretos, indiretos, decorrentes ou acidentais (incluindo danos por perda de receita, interrupo dos negcios, perda de informaes e similares), voc e no o autor assume o custo integral de todos os servios, reparos e correes necessrios. A garantia acima descrita a nica de qualquer tipo, tanto explcita como implcita. Nenhuma informao verbal ou escrita, ou anncio fornecido, pode contituir uma garantia ou de qualquer forma aumenta o escopo dessa garantia. Ao usar os exemplos e conceitos apresentados nesse texto, voc assume ter lido essa garantia limitada, compreendido-a, e concorda em se submeter a seus termos e condies. Voc tambm concorda que a garantia limitada o documento completo e exclusivo de acordo entre as partes e se sobrepe a todos os acordos e propostas anteriores, verbais ou escritos, e qualquer outra cominicao entre as partes com relao ao assunto termo de garantia limitada. Alm disso, o texto esta na sua forma inicial e no recebeu nenhum tipo de reviso ortogrfica ou gramatical, portanto voc certamente encontrar algumas frases com sentido duvidoso ou at mesmo erros grosseiros de portugus. Isso ocorreu porque o texto foi sendo elaborado durante a academia. Conto com a sua colaborao para corrigir o texto e agregar maiores detalhes ou informaes relevantes. Desde j, muito obrigado pelas dicas que voc certamente enviar para o meu e-mail.
Direito de autoria
Lembre-se sempre, copiar no crime, ignorar o autor ou assumir todo o crdito .
jluiz@cemig.com.br
Pgina 11
ACADEMIA
BASIS
Marcas registradas.
DEC, DECNet, VAX e VMS so marcas registradas da Digital Equipment Corporation. HP e HP-UX so marcas registradas da Hewlett-Packard. Microsoft, WINDOWS, NT, EXCEL e SQL-Server so marcas registradas da Microsoft Corporation. IBM, MVS, OS/2, DB2/6000, AIX, OS/400 e AS/400 so marcas registradas da IBM Corporation. OSF/Motif uma marca registrada da Open Software Foundation. ORACLE, Server manager, SQLPlus, Net8, SQL*Net so marcas registrada da ORACLE Corporation, Califrnia, EUA. INFORMIX-OnLine para SAP uma marca registrada da Informix Software Incorporated. UNIX e X/Open so marcas registradas da SCO Santa Cruz Operation. ADABAS uma marca registrada da Software AG. SAP, R/2, R/3, RIVA, ABAP/4, SAPoffice, SAPmail, SAPaccess, SAP-EDI, SAP ArchiveLink, SAP EarlyWatch, SAP Business Workflow e R/3 Retail so marcas registradas da SAP AG.
Participantes da Academia
Participante Instrutores : Erika Quirs Luiz Mestrinel Rinaldo Morais Empresa Alguns e
Acadmicos : Ana Maria Aroldo Higashi Cludio Milos Joao Luiz Barbosa Marcelo Silva Priscila Silva Renan Guedes Ricardo Magalhes
asousa@sondist.ebonet.net ahigashi@dmc-2.com.br e aroudo.higashi@zipmail.com claudio.milos@sap.com e milos27@hotmail.com jluiz@cemig.com.br e jluiz_barbosa@yahoo.com.br mvsilva@cemig.com.br priscila.silva@sap.com renan.guedes@spec.com.br ricardo.magalhaes@sap.com
cicareli@cemig.com.br
jluiz@cemig.com.br
Pgina 12
ACADEMIA
BASIS
jluiz@cemig.com.br
Pgina 13
ACADEMIA
BASIS
Client/Serve Principles
Na implementao R/3, a arquitetura client/server orientada para o software, e no para o hardware como estamos acostumados a ver. Desta forma, Client quem requisita e utiliza o servio e Server quem vai fornecer determinado servio. Um servidor de aplicao por exemplo server de alguns servios das estaes clients, porm client dos servios fornecidos pelo servidor de banco de dados. Ou seja, o conceito do papel de quem o cliente e de quem o servidor o que prevalece no importando quem tem mais hardware ou quem normalmente executa a atividade.
jluiz@cemig.com.br
Pgina 14
ACADEMIA
BASIS
Central, onde todos os componentes esto implementados em um mesmo host. Esta implementao corresponde a clssica implementao mainframe e no comum de ser implementada; Two-tier, onde uma camada normalmente executa as funes de presentation (usualmente um PC) e a outra camada executa os servios de application e database. Uma outra implementao two-tier poderia ser uma camada executando os servios de database e a outra composta por PCs mais potentes que executariam as funes de presentation e application. A primeira implementao comum em ambientes pequenos e com pouca disponibilidade de hardware para os servidores. A ltima implementao normalmente utilizada em simulaes ou desenvolvimento de software. Three-tier, onde cada servio tem o seu prprio host. Nesta configurao possvel ainda assegurar uma diviso de carga na camada de aplicao, garantindo que determinados hosts fiquem dedicados para aplicaes especficas. Por exemplo dedicar um host para servidor de aplicao dos usurios de MM, ganhando com isto performance na distribuio dos servios.
A configurao three-tier a mais recomendada em R/3 por garantir a melhor distribuio de carga e escalabilidade nos grandes sistemas. Todos os servidores de aplicao e banco de dados em uma configurao R/3 devem possuir endereo de IP fixo e estarem ligados entre si atravs de uma rede de alta velocidade. Um sistema R/3 agrupa todos os componentes que esto associados com um banco de dados. Se utilizamos uma implementao em 3 camadas, os componentes do R/3 estaro presentes em todas as camadas da hierarquia: Database Server, instalado em um host central, onde todos os servios de bancos de dados sero executados. Um ou mais Application Servers conectados ao servidos de banco de dados. Nestes servidores estaro sendo processados a lgica da aplicao, ou seja, os programas. Vrios Presentation Servers conectados aos servidores de aplicao. Estas mquinas so tambm chamadas de frontends ou workstations. Nestas mquinas os usurios iro interagir com o sistema R/3 utilizando uma interface que prover os servios de presentation.
ACADEMIA
BASIS
destas camadas as funcionalidades dos componentes R/3 so basicamente as mesmas, independentemente do hardware, software ou sistema operacional. A System Interface responsvel pelo interfaceamento do R/3 com as diversas plataformas em que ele pode ser implementado. A Flow Control fica logo acima das interfaces com o software bsico (System Interfaces). Ele o responsvel por tarefas tipo scheduling ou gerenciamento de memria, tarefas estas muito prximas ainda do sistema operacional e que so parcialmente efetuadas por ele, mas so gerenciadas pelo R/3 por razes de portabilidade e performance. A User Interface prov as opes de apresentao dos aplicativos. A Communication Interface o canal para a troca de informaes, seja pela transferncia de dados com o legado, seja pela comunicao program-toprogram provida pelo protocolo CPI-C ou ainda atravs da troca de informaes pelo protocolo EDI. Todos os programas no R/3 so escritos na linguagem ABAP, proprietria do sistema. O DYNPRO o screen interpreter e o sistema possui ainda um ABAP interpreter. A interao entre estes dois componentes forma a tecnologia Basis das aplicaes R/3. O funcionamento destes dois interpretadores (tela e programa) se baseia em informaes armazenadas no dicionrio do sistema, o ABAP Dictionary.
jluiz@cemig.com.br
Pgina 16
ACADEMIA
BASIS
Navigation
Logging onto R/3 System
O R/3 um sistema voltado para clients. Com este conceito possvel controlar vrias empresas em nico sistema, separando-as por client (ou mandante). As chaves para se logar no sistema tambm so separadas por client. Para efetuar um logon preciso ter chave no client especfico. Alm disso o sistema exige uma password e por ser multilngue, deve-se ainda especificar a lngua desejada no momento do logon. Um client pode ser visto como uma entidade organizacional separada dentro do R/3, com seus prprios dados : master data, transaction data, user master records e parmetros especficos de customizao. Apesar dos dados serem armazanados em tabelas nicas, os dados dos diferentes clients coexistem separados pela diferenciao do campo MANDT que faz parte da chave da maioria das tabelas (client dependents). A exceo mais famosa a tabela T000 (definio dos clients no sistema) que independent apesar de ter como primeiro o campo MANDT. Outra exceo so os objetos independentes de mandante (telas, programas, dicionrio de dados, programas compilados) que so mantidos em tabelas que servem a todos os mandantes de uma determinada instncia. O conceito de customizao a adaptao do sistema R/3 para as necessidades especficas de um usurio. Ao instalar um sistema R/3, ele vem basicamente com 3 clients default: 000 definido como um SAP standard no dever ser alterado pelos clientes, devendo ser utilizado como um template para a criao de novos clients 001 uma cpia do 000 com algumas configuraes j feitas para facilitar o trabalho (vale somente para os Estados Unidos). A partir da verso 4.0 este cliente j pode ser apagado e foi mantido apenas para compatibilidade com as verses anteriores. 066 utilizado pela SAP para se logar no ambiente do usurio para a execuo de determinadas tarefas Um client identificado pelos trs dgitos numricos e, com exceo dos 3 citados acima, cada instalao pode definir quantos clients se desejar (ou a sua base de dados suportar).
Title Bar, exibe o ttulo da task que est sendo executada Command Field, onde se pode escolher uma task diretamente sem a necessidade de navegar no menu Options, (tres bolas coloridas no canto superior direito), onde se pode configurar a interface SAPGUI de acordo com necessidades individuais dos usurios Standard Toolbar, onde se encontram os cones mais freqentemente usados para navegao no sistema, bem como cones para salvar dados e ativar o online help Checkboxes, Radio buttons, Text boxes e outras interfaces comuns no ambiente windows para a exibio de dados Status bar, exibe informaes referentes ao status atual do sistema (session number, system name, application server, worksations time, alm de mensagens de interao com o usurio. Text box inicializados com interrogao (?) so de preenchimento obrigatrio
jluiz@cemig.com.br
Pgina 17
ACADEMIA
BASIS
Uma tela no R/3 pode ser acessada de 3 maneiras distintas: Selecionando a opo no menu Atravs de teclas de atalho (ALT + tecla) Atravs do cdigo da transao diretamente digitado no command field O command field aceita vrios comandos que funcionam em conjunto com o cdigo da transao /n para encerrar a transao atual /o para abrir uma nova sesso /i para encerrar a sesso corrente /nend e /nex para efetuar logoff no sistema com e sem prompt, respectivamente Veja as notas 26171 (Possible entry values for command fields) e 182592 (Delete/change transactions codes in command fields) para saber mais a respeito do command field. A tecla F1 ativa o help de campos, menus, funes e mensagens. Help tambm exibe informaes tcnicas referentes aos campos de uma tela, como por exemplo o parameter ID do campo que pode ser utilizado para customizar a tela com parmetros default do usurio. (F1 + F9 tambm exibe as technical infos). A tecla F4 exibe os valores possveis em um campo, onde esta informao est disponvel (combo boxes). A opo System do menu utilizada para exibir as tarefas comuns aos usurios do R/3. A opo User profile Own Data do menu System permite ao usurio especificar valores defaults para seus campos, baseado no ID do campo (ver technical info). Na opo System possvel ainda configurar a lista de favoritos de cada usurio (User Profile Favorite maint) Session Manager uma ferramenta que permite ao usurio gerenciar todo o ambiente e at mesmo vrios sistemas de uma nica interface. No release 4.0 esta ferramenta ainda no se encontra em um estgio muito til, mas cresceu muito no release 4.6. De qualquer forma esta ferramenta no parece ser muito adequada ao ambiente windows pois ela simula a funcionalidade da barra de tarefa e a cada nova janela ela tenta fazer um novo login, ou seja, ela um pouco lenta. Ele tambm pode ser acessado a partir do R/3. Ele o boto dynamic menu e monta toda a arvore de menus do R/3. muito til para descobrir a transaction e o caminho de menu associado a ela. Alm do SapLogon e do Session Manager temos ainda o SapIcon que permite o acesso configurado direto a um mandante especfico.
jluiz@cemig.com.br
Pgina 18
ACADEMIA
BASIS
System Kernel
R/3 Presentation Interface
A interface de apresentao do R/3 o SAPGUI que apresenta uma funcionalidade muito parecida entre as diversas plataformas do R/3. Um usurio treinado em uma determinada plataforma, salvo pequenas excees est apto a operar o sistema nas suas mais diversas implementaes. O fluxo de informao entre o SAPGUI e o servidor de aplicao no consiste de telas preformatadas, mas sim de strings lgicos contendo dados e caracteres de controle, o que faz com que o trfego de dados se mantenha na casa de 1 a 2K por tela (cada enter). Estes strings so na verdade um protocolo de comunicao que sempre utilizado para conversar com o dispatcher e chamado de DIAG (dynamic information and action gateway) e a rede adequada a receber essa carga a prpria wan do ambiente. Do lado do servidor de aplicao temos o dispatcher que quem cuida da troca de dados, entre o application e o sapgui, e a ordem de processamento est na dispatche queue ou request queue. A regra sempre obedecer a FIFO (first in, first out) das conexes estabelecidas.
jluiz@cemig.com.br
Pgina 19
ACADEMIA
BASIS
jluiz@cemig.com.br
Pgina 20
ACADEMIA
BASIS
ACADEMIA
BASIS
(DB-LUW) que totalmente executada ou totalmente desfeita. No existe meio termo numa DB-LUW. Enquanto uma SAP-LUW garante a integridade lgica do banco de dados (um determinado lanamento dever existir nas tabelas x, y e z), uma DB-LUW garante a integridade fsica do DB e executado necessariamente pelo gerenciador do banco. Uma transao SAP inicia uma SAP-LUW que somente termina ao encontrar um comando COMMIT WORK no programa ABAP ou ento no final do asynchronous update.
jluiz@cemig.com.br
Pgina 22
ACADEMIA
BASIS
em processos V2, apenas aquele registro ser setado com erro e as demais atualizaes V2 continuam sendo executadas. Quando ocorrem os erros descritos acima, o usurio notificado atravs de mail e medidas corretivas precisam ser avaliadas. Ao trmino da SAP-LUW, a task de update remove os locks postados pelos dialog steps anteriores. Caso ocorram erros durante o update os locks tambm sero removidos. Updates pendentes com erro podem ser restartados pelo administrador do sistema. A SAP no recomenda que updates V1 sejam restartados, devendo este procedimento somente ser efetuado para updates dos tipo V2. Processos V1 devero ser regerados processando novamente a transao (veja a nota 16083) Quando um sistema R/3 sai, as entradas que esto com status INIT na VBLOG so processadas to logo o sistema retorne ao ar. Esta funcionalidade pode ser parametrizada pela profile do sistema. Resumindo uma SAP-LUW, onde cada tpico um dialog step : usurio abre uma transao para atualizar uma determinada informao; Na prtica o SAPGUI do usurio entra em contato com o dispatcher da instncia em questo e aciona o PAI da janela corrente e providencia a exibio da janela desejada; usurio preenche os dados chave para a identificao da informao e o PAI novamente acionado. Neste momento o work process selecionado pelo dispatcher para tratar deste dialog step localiza a informao desejada atravs do DB Interface e solicita ao Enqueue que a respectiva informao seja locada. Isto feito pela funo call function enqueue e pela incluso da lock table que fica na memria da onde esta sendo executado o enqueue. usurio, de posse da janela com os dados a serem atualizados, atualiza a informao e inicia um novo dialog step. Este o dialog step da nossa transao. Ele vai chamar a funo call function in update task que incluir as informaes a serem atualizadas na tabela vblog. Para o dialog work process a atividade encerra quando o commit work realizado. Mas na verdade para o R/3 o assunto ainda no est terminado pois o work process de update, a partir da tabela vblog, vai providenciar que a atualizao seja feita nas tabelas que possuem as informaes reais e desfazer o lock atravs da call function dequeue. Esta parte da transao, que feita pelo update work process conhecida como a segunda parte da SAP-LUW.
Background Processing
Processos que so schedulados para processamento pelos background work processes so tratados no sistema da mesma forma que os processos online. Processos background so schedulados na forma de jobs. Cada job possui um ou mais steps (que podem ser external ou ABAP programs) que so processados seqncialmente. Atravs das classes de processamento (A, B ou C) possvel setar prioridades entre os jobs. Os jobs batch normalmente no so schedulados para processamento imediato, mas so especificados para uma data/hora futura podendo ainda, quando necessrio, serem definidos como peridicos. O batch scheduler o responsvel pelo disparo automtico dos jobs configurados no sistema. Este mdulo um programa ABAP que roda em um dialog work process por instncia do sistema R/3. Ele varre a tabela de scheduling e encontrar um job candidato o encaminha para processamento pelos background work processes. O sistema efetua balanceamento de carga para distribuir os jobs batch entre os diversos servers que possuem work processes disponveis (do tipo B). Jobs batch podem ainda ser schedulados para processamento em servers especficos. Na escala de prioridade, para os jobs com mesmo horrio de inicio, os Jobs classe A tem maior prioridade que os classe B e por ltimo os jobs classe C. Dentro de um mesmo servidor e jobs schedulados com a mesma classe, tem prioridade aquele schedulado com especificao explcita de server (sem balanceamento). A partir da a ordem de inicializao definida pela ordem de criao do job. Se for necessrio saber a ordem em que os jobs sero executados basta abrir a SM37, listar os jobs e classifica-los pela ordem cronologica. Se houver alguns jobs no mesmo horrio devemos entrar em um a um para ver a data de criao e descobrir qual a ordem exata de execuo. Se for necessrio bloquear a execuo de jobs, basta setar o parmetro rdisp/btctime = 0
jluiz@cemig.com.br
Pgina 23
ACADEMIA
BASIS
R/3 Instance
Uma instncia R/3 uma unidade administrativa que combina componentes de um sistema R/3 para prover um ou mais servios. Todos os servios providos por uma instncia so iniciados (start da instncia) e parados (stop da instncia) ao mesmo tempo. Uma instncia parametrizada atravs de parmetros que descrevem todas as suas caractersticas. Cada instncia possui seus prprios buffers e um sistema R/3 central composto de uma nica instncia que possui todos os servios (DVEBMSGnn). O message server o responsvel pela comunicao entre os application servers e um central message service para prover servios de update trigger, enqueue e dequeue, background requests, e outras pequenas trocas de informaes (normalmente dados de controle e pequenas quantidades de dados da camada de aplicao) Cada dispatcher de um application server se comunica com um nico message server em cada ambiente R/3, que portanto s instalado uma nica vez na central instance. ele quem atribui qual work process vai processar o dialog step que est iniciando. O controle desta fila armazenada na dispatcher queue, tambm conhecida como request queue. Alm dos dispatcher, os presentation (SAPGUI) podero se logar nos application server atravs do message server para desta forma efetuar balancemento automtico de carga (load balancing). O gateway o responsvel pela troca de dados (normalmente com bom volume de dados) entre as instncias de um sistema R/3, entre sistemas R/3 e entre um sistema R/3 e outros sistemas So as profiles que configuram as diversas instncias e desta forma definem quem executa quais servios que estaro disponveis. Por nomeclatura costumamos chamar os dialogs, background, enqueue, update e spool de work process e o gateway e message de servios.
jluiz@cemig.com.br
Pgina 24
ACADEMIA
BASIS
Interfaces
R/3 as an Open System
R/3 um sistema aberto que permite a comunicao com vrias outras plataformas, quer seja entre as instncias de um sistema R/3 ou com outros sistemas R/3, R/2 ou sistemas no SAP atravs de rede. A Comunicao em rede pode ser dividida em 7 camadas, onde cada camada serve de interface entre a camada de baixo e camada de cima. Do ponto de vista da programao, desenvolver uma comunicao entre sistemas mais fcil a medida que esta conversa implementada nas camadas mais superiores. A SAP suporta os protocolos TCP/IP e SNA LU6.2. A comunicao entre sistemas R/3 se d em TCP/IP e a comunicao LU6.2 utilizada para a comunicao com sistemas R/2 baseados em mainframe. A programao R/3 suporta ainda CPI-C, RFC e OLE Automation como interfaces de comunicao. Os dois primeiros protocolos so proprietrios da SAP e o OLE um protocolo da Microsoft para a comunicao entre aplicativos na plataforma windows
jluiz@cemig.com.br
Pgina 25
ACADEMIA
BASIS
Function Builder (transao SE37) d ao programador uma excelente ferramenta para programar, documentar e testar as function modules, que tanto podem ser chamadas em modo local quanto remotamente. O Sistema R/3 gera automaticamente todo o protocolo necessrio para a comunicao RFC entre os sistemas. Os requerimentos para o RFC so os mesmos para o CPI-C. Os parmetros para a comunicao RFC so mantidos travs da transao SM59. O R/3 vem ainda acompanhado de uma biblioteca de funes C para comunicao externa via RFC com o R/3, o RFC-SDK (Software Development System), sendo que o que diferencia uma chamada RFC local de uma remota apenas o parmetro (destination) que especifica onde o comando ser executado Existem trs tipos de chamadas RFC : Synchronous RFC call, onde o programa que emitiu a chamada suspende a execuo at o retorno da chamada Asynchronous RFC call, onde a funo chamada roda em paralelo e independente do programa que emitiu o comando. O programador fica responsvel pela conexo lgica dos resultados obtidos Transactional RFC call, onde vrias funes so agrupadas em uma nica transao que executada no sistema remoto como uma nica LUW na seqncia com que elas foram codificadas. Caso ocorra um erro, o sistema que emitiu o comando recebe um cdigo de retorno que pode ser consultado pela transao SM58. Ainda neste caso o sistema destino no precisa estar disponvel no momento em que o comando emitido, podendo ainda ser parametrizado o intervalo entre os queries.
jluiz@cemig.com.br
Pgina 26
ACADEMIA
BASIS
para todos os objetos que so gerenciados centralizadamente pelo R/3 atravs da BOR (Business Object Repository). Como os BOR e function modules se encontram no R/3, para utiliza-los necessrio antes efetuar um logon, que pode ser feito de forma automatizada pelo programa.
Internet Architecture
ITS (Internet Transaction Server) forma o componente principal da arquitetura Internet da SAP. Ele composto de dois componentes, o Application Gate (A Gate) e o Web Gate (W Gate). Do ponto de vista do R/3, o A Gate age como um usurio comum, uma vez que o IST converte toda a conversa com o sistema para protocolos utilizados pelo SAPGUI. O A Gate mescla os dados recebidos com templates HTML e os envia atravs do W Gate para o HTTP server, onde so finalmente exibidos para o usurio atravs dos browsers padro (explorer ou netscape). A SAP fornece o IAC (Internet Application Component) que possui Web Transactions que nada mais so que mapeamentos Web de transaes standard R/3. Assim como qualquer pgina HTML, o usurio pode customizar o lay out de acordo com suas necessidades. Para permitir uma boa performance a SAP est rescrevendo algumas transaes para que essas funcionem de forma integrada com a internet.
EDI Architecture
Electronic Data Interchange uma forma estruturada e eletrnica para trocar informaes entre diversos sistemas. Esta arquitetura tem as seguintes caractersticas: EDI-enabled applications, que permite que transaes de negcio sejam processadas automaticamente A interface IDOC, que foi criada como uma interface aberta e consiste de documentos intermedirios e seus respectivos function modules subsystem EDI, que converte os documentos intermedirios em mensagens EDI e vice versa. O SAP no implementa esta facilidade O componente principal desta interface o Idoc, que um SAP standard que especifica a estrutura e o formato do dado que est sendo transferido.
ACADEMIA
BASIS
transferncia de dados do legado. Estes mtodos standard so controlados atravs do Data Transfer Workbench (transao SXDA). Caso no existam SAP standard disponvel, possvel definir e criar seus prprios mtodos. O mtodo consiste na bufferizao das operaes em uma BDC table (Batch Data Communication) que fica organizada em uma fila (batch input session). No passo seguinte esta fila processada e os dados so transferidos para a base de dados. O mtodo funciona como uma screencam mergeado com um pacote de dados onde cada registro submetido ao screencam simulando um usurio processando a transao. Um outro mtodo para entrada de dados o CALL TRANSACTION que fora a chamada de uma transao para processar os dados armazenados na BDC table. Tanto o batch input quanto o mtodo de call transaction chamam os mesmos programas que so processados em dialog mode pelos usurios, o que garante desta forma que as mesmas consistencias sejam efetuadas sobre a massa de dados. Outra forma de atualizao o Direct Input, onde os dados so lidos diretamente do arquivo de entrada, consistidos e transferidos para a base de dados sem passar pelas funes de aplicao normais. Dado a natureza atpica desta operao, ela efetuada apenas por algumas poucas funes R/3 e reservadas apenas para programas desenvolvidos pela prpria SAP. Devemos sempre ter em mente que a principal diferena entre o batch input e o call transaction a existencia de um arquivo intermedirio (conhecido como sesso) que viabiliza o reprecessamento. J no call transaction, quem deve possuir ou permitir este tipo de controle ou recurso o proprio programa abap que esta preparando os dados para serem inseridos no sistema. Uma outra boa forma de fazer a integrao de dados do legado para o R/3 a LSMW ou DLSM que agiliza na gerao das pastas de BDC e na eliminao da necessidade de codificao abap.
jluiz@cemig.com.br
Pgina 28
ACADEMIA
BASIS
Para testar o funcionamento da rede entre a estao e o host basta efetuar um ping ou telnet. As configuraes no windows ficam nos arquivos host e services, sendo que nesse ultimo devemos ter as linhas do tipo : SAPDPxx 32<sid#>/tcp dispatcher SAPGWxx 33<sid#>/tcp gateway SAPMS<sid> 36<sid#>/tcp message Para testar o funcionamento do SAPGUI utilize o comando sapgui <appserver> <nn> ou sapgui /H/appserver/S/32nn
SAPGUI Installation
Sempre que for instalar uma nova verso do SAPGUI necessrio deletar a verso anterior. O programa sappurge.exe pode ser utilizado para esta finalidade (ele interno da SAP mas pode ser conseguido). A instalao feita individualmente em cada PC. Programe a melhor forma para otimizar o trabalho. O arquivo SAPSETUP.INI pode ser editado para parametrizar a instalao. Nele se configura quais os componentes a serem instalados e os diretrios target e de work. O sapsetup.exe permite uma instalao dialog free startada a partir da linha de comando (veja o R/3 Installation Guide) o que assegura uma distribuio automtica do software e a manuteno do frontend utilizando logon scripts. A vantagem neste tipo de instalao que a configurao das estaes feita a partir de uma localizao central atravs de um logon script, que faz todas as checagens necessrias (hardware e network) e executa as operaes necessrias para instalar e manter o frontend. A desvantagem deste mtodo que se tem mais trabalho para implementar o check de verso no logon script e para analisar os resultados da instalao no arquivo sapsetup.log. A SAP recomenda que sob windows 95 e NT primeiro se faa uma instalao em um servidor (installation server) utilizando o installation wizard e posteriormente se instale os clients a partir dele. O programa utilizado na instalao o \Gui\Windows\Win32\Sapsetup.exe
ACADEMIA
BASIS
tanto com Windows 95, NT ou ainda quando um Web server disponvel na instalao (intranet) PlainHtmlFile converte documentos para HTML standard. Pode ser instalado em todas as plataformas de frontends e os documentos so acessados atravs de um file server que disponibiliza os dados de um diretrio por compartilhamento onde so exibidos atravs dos browsers convencionais nas estaes. Pode ser utilizado tanto com Windows 95, NT ou ainda quando um Web server disponvel na instalao (intranet) HtmlHelpFile converte documentos armazenados no formato HTML comprimido para Html convencional. Pode ser utilizado apenas em estaes Windows 95 ou NT. instalado em um file server compartilhado, como o anterior, mas sua principal vantagem que o espao necessrio no file server cerca de 90% menor, j que os arquivos se encontram compactados. O nico pr requisito que o browser j esteja instalado na estao antes da instalao do SAPGUI, j que o browser que contm todos os HTML controls necessrios.
O tipo de help e sua localizao so especificados como parmetros nas profiles do R/3. A configurao do arquivo SAPDOCCD.INI no frontend sobrepe a definio genrica das profiles do R/3 e deve ser utilizada como complementao a definio do sistema central. Os parmetros importantes e relevantes para a configurao do help so o eu/iwb/help_type, o eu/iwb/installed_language e o eu/iwb/path_win32.
jluiz@cemig.com.br
Pgina 30
ACADEMIA
BASIS
Resumindo os arquivos ini. O saplogin.ini possui a configurao das instncias e seus respectivos system numbers. No sapmsg.ini teremos a indicao de quais so os messages de cada um dos sistema R/3. No saproute.ini teremos as strings de roteamento do R/3 e no arquivo services teremos as portas que sero utilizadas pelo dispatcher, gateway, message e etc. Devemos sempre tomar cuidado ao alterar o service pois ele no segue um padro entre maquinas diferentes e principalmente com usos diferentes. Em relao a localizao dos arquivos, os sap*.ini esto no diretrio do windows e o service ou est no diretrio do win9x ou no system32/drivers/etc do winnt.
jluiz@cemig.com.br
Pgina 31
ACADEMIA
BASIS
OSS Functionality
A tela de pesquisa permite entrar com palavras chave relacionadas ao problema e incluir filtros na pesquisa, tais como release, database, verso de Hot Package, etc. Ao abrir chamados, o OSS j configurado com dados gerais da sua instalao requisita informaes sobre rea do problema, transao, descrio do problema e severidade. O SSCR uma funcionalidade do OSS que permite ao cliente obter key para desenvolvedores e para os objetos SAP que iro sofrer modifications. O SSCR exibe uma lista de todos os objetos e desenvolvedores registrados para o cliente na SAP. O OSS permite listar os Hot Packages e Legal change patches disponveis bem como as datas dos treinamentos oferecidos pela SAP.
OSS Access
O acesso ao OSS efetuado atravs da transao OSS1, que abre uma nova conexo SAPGUI no frontend do usurio. O acesso ao OSS preciso ser configurado atravs de um SAPRouter gateway que abre uma conexo segura entre a instalao do cliente e a rede mundial da SAP atravs dos roteadores que ligam as duas redes. O saprouter tambm controla e filtra quem pode e quem no pode acessar a partir de cada um dos lados envolvidos na conexo.
SAPNet
A SAPNet uma ferramenta que prov informaes e servios via internet. O acesso a SAPNet feito atravs da rea CUSTOMER PARTNER da pgina pblica da SAP (WWW.SAP-AG.DE). Dentro da SAPNet existem reas de Assistncia, Informao, Comunicao e Servios. Cada dia mais esta ferramenta est se aproximando do OSS e hoje em dia j dispomos da maioria dos recursos via browser. Alm disto dispomos de mecanismos para perquisar em todo o site da SAP incluindo ai muitos documentos no disponveis no OSS. Outro bom recursos j disponvel o download de hot packages e legal changes patches alm dos patches de kernel (executveis do R/3). No sapnet encontramos um bom recurso para um sizing inicial. A ferramenta se chama quick sizing e a partir de alguns dados funcionais e indicao da preferencia do ambiente operacional a ferramenta consegue um bom resultado no dimensionamento do ambiente de hardware.
SAP TechNet
A SAP TechNet uma ferramenta focada mais para o lado tcnico, acessada atravs de endereo www.sap.com/technet ou atravs da rea de communication da SAPNet. Os assuntos na SAP TechNet esto divididos por reas de interesse e podem ser navegados para encontrar uma grande diversidade de documentos e pdfs. Para facilitar a organizao a maior parte dos documentos esto na knowledge base e ainda existe uma rea conhecida como forum com um conjunto de perguntas feitas por outros clientes.
jluiz@cemig.com.br
Pgina 32
ACADEMIA
BASIS
Administrator Tasks
Para inicializar o R/3 devemos sempre seguir a seguinte seqncia : Os servios bsicos devem estar ativos (saposcol, sapSID_## e OracleServiceSAP) Abrir a conta SIDadm na console do NT Ativar a instncia do Oracle (pode ser feito pelo instance manager da oracle) Ativar a instncia do R/3 (pode ser feito atravs do sap service manager) O Sap Service Manager usa as cores para indicar a fase em que est cada servio, a saber : verde (processo sendo executado), vermelho (processo terminado anormalmente), amarelo (processo sendo inicializado) e branco (servio no est ativo ou com situao desconhecida)
jluiz@cemig.com.br
Pgina 33
ACADEMIA
BASIS
Startup Diagnostics
As principais razes de falha durante o processo de inicializao so : SAP Service Manager no consegue conectar com o SAP service. Normalmente ou ele no est ativo ou no esta configurado corretamente.
jluiz@cemig.com.br
Pgina 34
ACADEMIA
BASIS
SAP service no inicia. Ou as entradas no NT register esto erradas, ou tem algum problema de configurao ou a senha est errada Database no inicia. Verifique as variveis de ambiente, se o db est em dba mode, se algum arquivo foi perdido ou corrompido ou se o listener est desativado R/3 no inicia. Pode ser os compartilhamentos de disco, a configurao do servio (por exemplo, usurio errado ou sem autorizao), problemas de permisso nos arquivos, erro de tcp (host, services, dns, etc) ou erro na conexo com o database.
jluiz@cemig.com.br
Pgina 35
ACADEMIA
BASIS
ACADEMIA
BASIS
demais servios. O nvel de informaes gravadas nos trace files definido pelo parmetro rdisp/TRACE da instance profile. O default 1 (errors e warnings), aceitando valores 0, 1, 2 e 3. O correto acompanhamento das logs permite identificar o ponto onde ocorreu um erro no processo de start de uma instncia R/3
jluiz@cemig.com.br
Pgina 37
ACADEMIA
BASIS
CCMS Configuration
Overview
O Computing Center Management System, conhecido como CCMS e acionado pela transao SRZL, a ferramenta que prove o gerenciamento de : Performance, monitorao e anlise do R/3, sistema operacional e rede Profiles, modos de operao e logon groups Start/stop dos ambientes Banco de dados e do archiving do banco de dados; Carga de trabalho (workload) Impresses Segurana de acesso Antes de utiliz-lo, em toda sua potencialidade, ele deve ser configurado. Para isto os principais passos so : Importar as profiles e adequ-las ao ambiente disponvel para processamento Definir os modos de operao do sistema. Normalmente definimos dois (diurno e noturno) para balancear e distribuir a carga segundo o perfil de utilizao de cada horrio Criar as definies dos perfis das instncias com os seus respectivos parmetros de inicializao Associar cada um destes perfis aos modos de operaes Definir a tabela de horrios de entrada e sada de cada um destes perfis definidos no modo de operaes
R/3 Profiles
A incorreta configurao do CCMS no impede o funcionamento do R/3, porm impede que o CCMS exiba dados teis. A transao RZ10 do CCMS permite que se d manuteno nas profiles das instncias do R/3. Ela mantm os parmetros na base de dados do R/3 e a cada alterao efetuada uma nova verso gerada nesta base de dados. Quando ativamos uma verso de profile atravs desta interface, seus parmetros so copiados e transferidos para a profile ativa, que fica em diretrio prprio do sistema operacional. Desta forma a base de dados do R/3 pode conter vrias verses de uma mesma profile, um histrico das alteraes alm de documentao dos parmetros. Em ambientes distribudos com vrias instncias R/3, o diretrio de profiles compartilhado entre todas as instncias e permanece como repositrio central de todas as profiles. Para cada sistema R/3 existem vrias profiles. Uma DEFAULT profile e, para cada instncia do ambiente, uma instance e uma start profile. Atravs da ferramenta RZ10, existem dois modos de exibio/edio das profiles:
jluiz@cemig.com.br
Pgina 38
ACADEMIA
BASIS
Em basic mode, os parmetros que so alterados mais freqentemente so agrupados de acordo com suas interdependncias de modo que a alterao em um deles se reflita automaticamente nos demais. Nesta interface basic os parmetros aparecem sem os seus nomes tcnicos, mas apenas como campos em screen. Em extended mode, os parmetros aparecem e so editados em uma interface tipo editor de texto, onde cada parmetro listado com o seu nome tcnico e respectivo valor. O administrador aqui dever conhecer os seus nomes tcnicos e claro suas interdependncias.
O programa de instalao, R3SETUP, cria a primeira verso das profiles no sistema operacional de acordo com os recursos do sistema (memria e CPU). Durante o processo de configurao inicial do CCMS, importamos estas profiles para a base de dados R/3 utilizando a RZ10 e efetuamos as nossas customizaes. Isto permite uma gerncia centralizada de todas as profiles de um ambiente. As profiles utilizadas pelo R/3 para configurao da instncia durante o startup sempre a profile ativa, ou seja, aquela que se encontra copiada no sistema operacional. A partir do momento que importamos as profiles pela RZ10, todas as manutenes sempre devero se dar atravs desta interface nunca diretamente no sistema operacional para evitar que haja dessincronizao das ferramentas. Qualquer dvida quanto ao sincronismo poder ser verificado atravs de seus mecanismos de check e da comparao de verses. Do ponto de vista do R/3, uma profile consiste de duas partes lgicas: entradas nas tabelas da base de dados do R/3 e um arquivo no sistema operacional. Como a verso utilizada pelo startup a do OS (profile ativa), alteraes efetuadas nos parmetros devero ser salvas no sistema operacional e somente tero efeito no prximo start da instncia. Somente a verso mais recente de uma profile pode ser ativada pela ferramenta RZ10. Na prtica isto significa que a tentativa de ativar uma verso mais antiga faz com que a profile seja copiada com uma nova verso e ativada. Qualquer manuteno vai sempre gerando novas verses na base de dados que ficam documentadas como comentrios e headers no file do sistema operacional. Alteraes em parmetros de configurao de memria do R/3 podero ser ativados sem a necessidade de stop/start atravs da opo de Dynamic Switching na RZ10. O procedimento de check de profiles oferece vrios mecanismos de aferio de suas integridades: Comparar a profile da base de dados com a profile ativa no sistema operacional Verificar a sintaxe dos parmetros codificados Verificar se os valores especificados nos parmetros so vlidos ou ainda se no esto muito discrepantes (por exemplo 10 vezes maior que o default, etc.) Efetuar comparaes entre todas as profiles definidas para encontrar inconsistncias de definio. Com isto possvel encontrar erros na definio de mais de um message server, por exemplo. sistema efetua um check automtico de consistncia entre a profile ativa e a base de dados sempre que efetua um startup. Caso encontre alguma discrepncia um alert ativado no Alert Monitor
Operation Modes
Operation mode uma facilidade do R/3 que permite que se configure diferentes combinaes nos tipos de work processes que podem ser ativados ao longo do dia sem a necessidade de stop/start da instncia. Isto permite que possamos ter por exemplo uma maior disponibilizao de background work processes durante perodos de maior demanda desta funcionalidade, como perodos noturnos. J os perodos diurnos so caracterizados por uma demanda muito maior de processamento dialog. Operation mode permite portanto maximizar a utilizao dos recursos do sistema sem a necessidade de stop/start das instncias para que as configuraes tomem efeito. Uma configurao bsica de operation mode especifica os servios ou tipos dos work processes e os perodos escolhidos para cada intervalo. atravs desta funcionalidade que conseguimos configurar background work processes para processamento exclusivo de jobs classe A. Operation mode pode ser configurado baseado em alguns conceitos bsicos: nmero total de work processes deve permanecer o mesmo entre os operation modes de uma instncia, j que nenhum novo servio ser startado, apenas os processos tero suas funcionalidades reconfiguradas. jluiz@cemig.com.br Pgina 39
ACADEMIA
BASIS
Cada instncia dever permanecer com o requisito mnimo de dois dialog processes Cada sistema dever permanecer com um processo de enqueue e pelo menos um update.
A transao RZ10, atravs de seus mecanismos de check, oferece recursos para efetuar estas verificaes das profiles e dos operation modes configurados. A mudana de configurao entre operation modes pode ocorrer manualmente sob demanda do administrador do sistema atravs da RZ04 ou ento de forma automtica atravs da definio de um schedule de horrios chamado de timetable, que configura um ciclo completo de 24 horas. Este schedule de horrios mantido atravs da transao SM63. A timetable nica para todas as instncias de um sistema. Isto significa que todas devero possuir a mesma configurao de operation modes, porm cada uma poder ter a sua configurao individual de work processes. Alm da timetable normal que configura o ciclo de 24 horas do operation mode, possvel definir uma timetable excepcional para ser ativada em uma data especfica. Enquanto uma timetable normal deve possuir entradas que cobrem todas as 24 horas do dia, uma timetable excepcional poder possuir entradas apenas para um determinado perodo do dia. Nos demais perodos continuariam valendo as definies da timetable normal. Quando a mudana entre modos de operao ocorre, os work processes so distribudos automaticamente, sem necessidade de parada e restart das instncias. Nenhum tempo perdido por indisponibilidade do sistema, apenas o tipo dos work processes alterado, permanecendo porm o nmero total inalterado. possvel simular o switch de um operation mode em test mode e desta forma analisar possveis falhas atravs da log de switch. Discrepncias existentes na configurao das profiles ou na definio dos operation mode podero ser identificadas e eliminadas.
jluiz@cemig.com.br
Pgina 40
ACADEMIA
BASIS
Background Processing
Background Concepts and Features
Um job background um ou mais programas ABAB, external programs ou external commands que rodam seqencialmente (steps) sem a interveno do usurio, baseados em eventos (event-based) ou horrios (time-based) pr estabelecidos. So utilizados principalmente para: Processar automaticamente tarefas rotineiras Processar informaes vindas de sistemas legados Processar tarefas baseado na ocorrncia de determinados eventos Processar uma carga em massa no ambiente em horrios de baixa atividade online Podem ser schedulados para serem disparados baseados em determinados eventos que ocorram tanto dentro quanto fora do R/3 (event-based jobs). Podem ser arranjados em classes (A, B ou C) que possuem uma hierarquia de prioridade na execuo. O sistema permite que se reserve work process livres para execuo exclusiva de jobs classe A. O mecanismo de funcionamento o seguinte: pelo menos x (configurado pela RZ04) work processes ficam reservados para classe A independente de quais sero eles. Os jobs so disparados atravs de um servio, o batch scheduler, que roda no sistema R/3. Este servio um programa ABAP que roda em um dialog work process no servidor parametrizado nas profiles do ambiente atravs do parmetro rdisp/bcttime. Neste parmetro especificado o tempo em segundos com que este programa roda, normalmente 60 segundos. Quando se especifica um valor igual a 0, o batch scheduler fica inibido naquele server. Um outro parmetro, o rdisp/bctname, define o nome do server onde os events sero checados para o disparo de jobs atravs desta facilidade, os event-based jobs. A definio de quantos batch work process estaro disponveis, sem levar em conta o modo de operao, est no parmetro rdisp/wp_no_btc. Por definio um sistema R/3 deve ter pelo menos 2 batch work process, independente de qual instncia eles vo estar, para atender o sistema de transporte. Se o sistema R/3 no for trabalhar com transportes no necessrio ter batch work process (mas isto meio absurdo se pensarmos no dia-a-dia prtico). O mecanismo do batch scheduler, aps a ativao, segue o seguintes passos : Verifica a job-scheduling table ordenado por data de start, classe, servidor de destino e data da criao do job; Se o job for para ser executado na prpria instncia o dispatcher acionado para alocar um BTC, se o job for para ser executado em qualquer instncia o message acionado para determinar qual o servidor com menor carga.
ACADEMIA
BASIS
ser executados por usurios com autorizaes R/3 apropriadas. Os programas externos somente rodam em modo sncrono e os comandos externos rodam tanto em modo sncrono quanto assncrono, dependendo das necessidades do usurio. Os jobs podem ser schedulados para rodar de diferentes maneiras: Imediatamente, Com data e hora programada, Aps a ocorrncia de um evento Aps a execuo de um outro job Em um modo de operao especifica Com periodicidade, etc
Job Monitoring
Atravs da SM37 se monitora tanto os jobs que j rodaram quanto aqueles que se encontram schedulados. O job log pode ser pesquisado para verificar as mensagens do sistema para aquela execuo. A Spool list exibe a sada da execuo. A lista exibida na SM37 depende dos critrios marcados na tela inicial. necessrio uma especial ateno para a seleo dos jobs que no possuem uma data de start e para aqueles que dependem de algum evento (colocar * no evento e clicar nas opes de jobs sem data e com predecessores). Outro ponto a ser observado a diferena entre um job released e um job ready. O released j pode ser rodado, em funo da marcao do horrio e das autorizaes, mas no est na hora de ser executado. O ready j pode ser rodado mas ainda no foi atribudo para o work process que est disponvel (provavelmente o dispatcher est muito ocupado). De qualquer forma o tempo na situao de ready mnimo.
jluiz@cemig.com.br
Pgina 42
ACADEMIA
BASIS
Para ver os jobs existe tambm o Job Scheduling Monitor (RZ01) que exibe em modo grfico o schedule nos vrios servidores que compem o sistema ao longo do tempo. Esta transao tambm pode ser ativada a partir do Control/Monitoring do CCMS.
jluiz@cemig.com.br
Pgina 43
ACADEMIA
BASIS
ACADEMIA
BASIS
para suprir o problema de que longos background jobs no encontravam janela noturna suficiente ou ainda quando no se encontra background work process em nmero suficiente para processar os jobs. Esta sistemtica exige alguns pr requisitos de ordem tcnica e conceitual para que seja implementada corretamente. preciso garantir que: comando ABAP que dispara RFC assncrono o CALL FUNCTION STARTING NEW TASK DESTINATION IN GROUP. Outras tcnicas de processamento RFC assncrono podem levar a um impacto negativo na performance do sistema Existam pelo menos trs dialog work processes disponveis alm dos dois que so necessrios para o processamento dos dialogs job possa ser dividido em unidades lgicas independentes, uma vez que sero processadas paralelamente A dispatcher queue dever estar com menos de 10% ocupada para garantir que o critrio de balanceamento da carga seja feito corretamente Este critrio portanto no se adapta a programas que devem ser processados seqencialmente onde as unidades lgicas dependem do resultado da anterior. Da mesma forma no existe uma garantia da seqncia com que as partes sero processadas individualmente. Os resultados de todas as partes separadas devero ser coletadas, sincronizadas e analisadas no final. Para maiores detalhes veja as notas 66612 e 99284. Para ver quais so os servidores disponveis no RFC group utilize a transao RZ12.
XMI/XBP Interface
A nota 69352 descreve a forma como external programs devem se comunicar com o R/3 utilizando a external monitoring interface (XMI) ou o external background processing interface (XBP) Atravs da transao SE37 pode-se ter acesso aos functions groups que implementam estas facilidades: External job management: Function group SXJI cujos function modules possuem o prefixo SXMI_XBP External monitoring basics: Function group SXMB cujos function modules possuem o prefixo SXMI_XMB Connecting to esternal tools: Function group SXMI cujos function modules possuem o prefixo SXMI Existem sistemas de terceiros certificados pela SAP que permitem a administrao e gerncia do schedule de jobs no R/3 atravs de um ambiente externo ao sistema. Estes sistemas se comunicam com o R/3 efetuando um logon via RFC e posteriormente atravs dos function modules da interface XMI. A principal vantagem neste sistema a possibilidade de gerenciar diversas plataformas, inclusive diversos sistemas R/3 a partir de uma nica interface centralizada. A desvantagem que se trata de um produto externo ao R/3 que deve portanto ser homologado e de fornecedor idneo e confivel para possibilitar possveis upgrades em novos releases do R/3. Do lado do R/3 podemos monitorar a utilizao da interface XMI atravs da transao RZ15.
jluiz@cemig.com.br
Pgina 45
ACADEMIA
BASIS
conceitual. Outro exemplo o uso do evento SAP_OPMODE_SWITCH com um parametro NOITE e que vai significar que o job s deve ser disparado quando o switch for para o perodo noturno. Jobs schedulados sem argumentos so disparados tanto quando o evento ocorre com argumento quanto sem argumentos. Os user events podem ser disparados por trs formas distintas: manualmente atravs da transao SM64, dentro de um programa ABAP atravs de chamada prpria de funo (BP_EVENT_RAISE) ou ainda atravs de chamada a um programa externo, o sapevt. Neste ltimo caso a chamada poderia estar contida em um script ou at mesmo como um step de um job R/3 (external program step)
jluiz@cemig.com.br
Pgina 46
ACADEMIA
BASIS
usar: A BP_JOBVARIANT_SCHEDULE que schedula um report ABAP passando apenas a sua variante para execuo e o BP_JOBVARIANT_OVERVIEW para gerencia simplificada de jobs Para a programao normal, utiliza-se as funes JOB_OPEN, JOB_SUBMIT e JOB_END. Atravs destas facilidades possvel dar ao usurio a capacidade de schedular e gerenciar jobs sem contudo ter acesso a transao SM36 e SM37. Com isto possvel implementar uma maior segurana e implementar uma padronizao no nome dos jobs no ambiente atravs de uma interface bem mais simplificada para o usurio final.
jluiz@cemig.com.br
Pgina 47
ACADEMIA
BASIS
Data Archiving
Definition
Archiving uma sistemtica que permite transferir dados das bases de dados R/3 para arquivos, do tipo texto estruturado, armazenados fora do ambiente R/3, seja meio magntico ou tico, em formato compactado. implementado no R/3 atravs da transao SARA. Vrias razes podem justificar um projeto de archive: Falta de espao fsico no database Problemas com backup e recovery devido ao tamanho do banco Performance baixa devido a tabelas muito extensas Banco de dados possui grandes volumes de dados que raramente so utilizados Devido a razes legais ou motivado pelo negcio da empresa, uma srie de informaes precisam ser mantidas disponveis para consulta ao longo do tempo A freqncia e a necessidade de efetuar archiving varia portanto de empresa para empresa, baseado nos seus recursos de hardware disponveis e no seu objeto de negcio. Em relao ao negcio s faz sentido fazer archive de informaes que realmente podem ir para o arquivo morto.
Archive Environment
Existem uma srie de objetos de archive j desenvolvidos pela SAP para operacionalizar o archive em diversas reas e tabelas standard do SAP. A cada nova verso do R/3, uma tendncia que novos objetos sejam introduzidos. A ferramenta ADK (Archive Development Kit) a interface disponibilizada pela SAP entre os ABAP archiving programs e os archive files. Ela consiste de uma srie de function modules. Desta forma a leitura dos dados arquivados efetuada atravs de chamada a funes do ADK. Durante o processo de gravao, o ADK pode splitar os dados que sero arquivados em vrios files. Esta interface nica atravs do ADK garante que o dado armazenado seja visto pelos programas ABAP na forma exata com que foram arquivados. possvel utilizar o ADK para desenvolver objetos de archiving para tabelas Z, definidas pelo usurio. Nunca a utilize para acessar tabelas SAP standard, mesmo que no exista um objeto desenvolvido para determinada tarefa. O SAP ArchiveLink uma interface para gerencia dos files arquivados.
jluiz@cemig.com.br
Pgina 48
ACADEMIA
BASIS
jluiz@cemig.com.br
Pgina 49
ACADEMIA
BASIS
Para efetuar operaes de archive preciso possuir a autorizao especfica (S_ARCHIVE). A transao SARA possui uma funcionalidade de Info que descreve para cada objeto de archive as autorizaes necessrias para percorrer as tabelas do R/3 e recolher os dados. Alm disso no se deve esquecer que o archive roda em background, significando que o usurio envolvido no processo alm de possuir autorizao para a area funcional precisa possuir as autorizaes suficientes para esta tarefa de rodar os jobs de archives. Dicas prticas : Veja a tabela arch* para entender a relao entre os objetos de archives e as tabelas envolvidas Sempre que for fazer um archive faa o ciclo completo para evitar perda de controle, tanto do operacional quanto do R/3 Sempre procure notas sobre o objeto que ser arquivado pois como esta area est sendo desenvolvida podem ter novas verses e atualizaes Utilize o objeto bc_archive para arquivar os documentos de archive.
jluiz@cemig.com.br
Pgina 50
ACADEMIA
BASIS
System Monitoring
What, why, who and when
Os principais focos de monitorao so : R/3 (application servers, buffers, ) Database (performance, buffers, backups, ) Operationg system (cpu, file system, hardware contention, ) A monitorao no R/3 4.0 feita de uma forma simplificada atravs de uma grande arvore que ira mostrar, atravs de suas folhas, os diversos item que devemos estar atentos em todo o ambiente. A grande vantagem desta arvore a hierarquizao e categorizao de todos os elementos (tree elements e objects) que so relevantes, seus parmetros de valores (Attributes) e a captura automtica e centralizada de todas as informaes e um ponto de acesso unico para a tarefa de monitorao.
Monitoring Architecture
O Alert Monitor uma ferramenta configurvel que existe no R/3 e permite a monitorao de todo o ambiente a partir de uma nica interface que exibe mensagens e sinais de alerta no sistema. A monitorao dos diversos componentes e ferramentas do ambiente R/3 uma operao necessria executada pelos administradores do sistema para melhorar a performance, garantir a disponibilidade do sistema e identificar, analisar e corrigir erros que aparecerem no ambiente. Esta monitorao uma tarefa peridica que abrange desde o sistema operacional, passando pelos componentes do kernel R/3 e indo at a base de dados do sistema. Os objetos passveis de monitorao no ambiente R/3 so arranjados em uma rvore que sumariza em seus ns as diversas reas de atuao. Esta monitoring tree agrega atributos em seus ns que podem ir sendo detalhados at chegar a granularidade mnima da entidade monitorada. Um alert identificado em um destes atributos se reflete visualmente atravs de cores (verde-ok, amarelowarning, vermelho-alert) nos ns da rvore e hierarquicamente so transferidos para os galhos mais elevados. necessrio portanto ir efetuando operaes de drill down no Alert monitor at identificar o atributo que gerou a mensagem. previsto para releases futuros do R/3 que a funcionalidade do monitor se estenda para anlise do transport system e das transaes de aplicao O monitor do R/3 concebido com uma arquitetura aberta que permite inclusive que ferramentas de terceiros sejam incorporadas a sua rvore de monitorao. Cada n da rvore denominado MTE (monitoring tree element), que podem ser agrupados em classes de monitorao. Os objetos fsicos ou lgicos que so passveis de monitorao so denominados Monitoring Objects.
jluiz@cemig.com.br
Pgina 51
ACADEMIA
BASIS
pelo usurio. A rvore bsica de monitorao contm o Basic monitor, porm o usurio pode criar suas prprias rvores customizadas de monitorao.
Tool Assignment
Para adicionar uma ferramenta ou uma classe na MTE devemos seguir os seguintes passos : Definir a ferramenta e especificar o tipo da ferramenta (relatrio, funo, mdulo, transao, programa, etc), a localizao (servidor, banco de dados, etc) e modus operandis (background, foreground, manual) Liberar a transao para a finalidade Associar a ferramenta a classe ou ao no MTE. Isto facilita o acesso a ferramenta pois voce vai aciona-la diretamente. Eventualmente voce pode herdar esta definio de outra arvore ou at no implementar a ferramenta
jluiz@cemig.com.br
Pgina 52
ACADEMIA
BASIS
A SMLG permite definir e monitorar logon groups. Com esta facilidade possvel fazer balanceamento de carga atravs da distribuio inteligente dos usurios das diversas reas pelos servidores de aplicao da rede. A transao ST02 prov informaes referentes aos status dos buffers e o gerenciamento de memria do ambiente. A transao ST04 permite monitorar a base de dados do ambiente deforma detalhada, seja atravs de anlise de buffers ou da anlise fsica de discos e locks. A ST06 exibe informaes referentes ao sistema operacional recolhidas pelo programa saposcoll. A anlise pode ser tanto um retrato do instante quanto uma comparao evolutiva das ltimas 24 horas.
Os work processes alocam reas na memria para trabalhar os processos. Um dialog work process trabalha em modo multiplexado para otimizar a sua utilizao entre os diversos dialog steps que compem um transao R/3. Para permitir esta multiplexao, os dialog work processes efetuam operaes de roll out e roll in da user context area dos processos. Quando um processo rolled out por um work process e posteriormente rolled in por outro dialog da instncia ocorre o que chamamos de work process dispatch Diferentes tipos de memria so alocados pelos dialog work processes. Inicialmente o sistema aloca uma pequena poro da roll area (definido no parmetro ztta/roll_first) onde estabelece ponteiros para os diversos pedaos de memria que vo sendo alocados na extended memory do sistema. Uma vez esgotado o limite de memria obtido na extended memory, o dialog passa a utilizar o restante da roll area disponvel. Note que ao entrar em multiplexao, o processo de roll out/roll in efetua rolagem apenas da poro de memria alocada na roll area, j que a extended memory permanece alocada mas tem os seus ponteiros salvos no processo. Quando toda esta rea esgota, o dialog lana ento mo da memria local, ou heap area. Como esta memria no pode ser rolled out (por ser grande), o dialog entra em modo PRIV (private) e para de fazer multiplexao, permanecendo alocado para o usurio mesmo durante os dialog steps. Como os background work processes no necessitam fazer roll in/roll out por no serem conversacionais, a seqncia de alocao de memria varia em relao aos dialog. O sistema aloca a roll area, posteriormente a privaty memory (heap) e somente ento faz uso da extended memory, que fica desta forma mais dedicada para os dialog process. Quando se trabalha com vrios application servers em um ambiente R/3, necessrio que os servers permaneam sincronizados para garantir a integridade dos insert e updates que ocorrem no ambiente. Os dados que necessitam de sincronizao so escritos em uma tabela (DDLOG) que de tempos em tempos consultada e os dados l presentes sofrem refresh na memria das instncias, sendo desta forma sincronizados. O parmetro rdisp/buffrefmode especifica como a escrita e leitura desta tabela ocorre e o parmetro rdisp/buffreftime especifica a frequencia do refresh. O parmetro rdisp/buffrefmode possui um valor dividido em duas partes. O primeiro campo especifica se o sistema ir (sendon) ou no (sendoff) escrever valores na DDLOG. O segundo campo especifica se o sistema ir (exeauto) ou no (exeoff) efetuar leitura e consequentemente refresh dos dados l gravados. Sistemas distribudos com vrias instncias devero ter o parmetro rdisp/buffrefmode=sendon/ exeauto especificado em cada uma de suas instance profiles. At mesmo sistemas que possuem apenas uma instncia devero especificar este parmetro para sendoff/exeauto j que durante o processo de transporte o tp grava entradas nesta tabela para posterior refresh.
jluiz@cemig.com.br
Pgina 53
ACADEMIA
BASIS
Authorization Concepts
As autorizaes existem para limitar o acesso a transaes e objetos do sistema R/3 que necessitam de proteo. As autorizaes so agrupadas em profiles e estas profiles so associadas ao master record do usurio. Autorizaes podem ser no nvel da transao ou nos mais diversos nveis, como por exemplo em operaes na transao ou ainda em range de valores de campos As autorizaes sempre pertencem a authorization objects. Estes objetos de autorizao so agrupados em object classes que por sua vez so organizados ou categorizados por business area (FI, SD, etc.). As autorizaes so mantidas atravs da especificao de valores para determinados fields dentro de cada objeto de autorizao (que pode ter at 10 fields). Todas as autorizaes so do tipo positivas, ou seja, efetuam grants para o usurio e no revokes, ou seja, se duas autorizaes forem dadas, uma mais restritiva e outra mais ampla, vale a mais ampla. Um user master record pode possuir uma ou mais profiles, que podem ter sido geradas atravs da definio de activity groups (profile generator PFCG) ou manualmente. Uma profile pode ainda ser composta de mais de uma profile (composite profile) mas limitada a um mximo de 150 profiles. As profiles so associadas ao usurio tanto manualmente atravs da SU01 quanto durante o processo de gerao e manuteno das activity groups. Eventualmente pode ser necessrio criar objetos de autorizaes alm do standard. Para isso usamos a transao SU21 para manter objetos de autorizaes e a SU20 para manter os campos dos objetos de autorizaes. Em relao aos papis dos administradores de segurana no sistema poderamos dividir a administrao em trs nveis, a saber : Administrador de usurio: responsvel por manter os dados dos usurios, por associar os grupos de atividades e as profiles aos usurios e atender aos chamados dos usurios Administrador de profiles: responsvel por manter os grupos de atividades e as profiles de forma genrica sem entrar no mrito dos valores atribudos as responsabilidades e atendo-se apenas as transaes do perfil Administrador dos dados da autorizao: responsvel por manter os valores dentro das responsabilidades dos grupos de atividades Desta forma o superuser poderia delegar grande parte das tarefas para se dedicar as demais atividades de basis e os demais administradores poderiam entender bem mais das questes
jluiz@cemig.com.br
Pgina 54
ACADEMIA
BASIS
semnticas associadas as autorizaes aplicadas a cada funo a ser desempenhada pelos usurios.
Authorization as ER
Classes Objects Fields
Authoriz.
Values
Transaction
Profiles
Users
Authorization Checks
Quando o usurio efetua o logon no sistema suas autorizaes so carregadas para a user context area (que fica na roll area da instncia) e so verificadas a cada transao ou atividade executada pelo usurio. Antes que uma determinada transao ou operao ocorra, os fields do authorization object so checados contra os fields do usurio para aquele mesmo objeto de autorizao. Esta operao do tipo AND, ou seja, todos os n fields do objeto tem que ser atendidos. Caso a verificao falhe, o usurio recebe uma mensagem de erro e a operao no executada. Caso o usurio possua duas autorizaes contrastantes, vale aquela que libera o acesso, j que entre fields do mesmo tipo a operao OR. Para simplificar, podemos entender que a verificao de segurana ocorre nos seguintes em passos : Para ganhar acesso a transao Verifica se o usurio est autorizado a acessar a transao atravs da verificao do objeto s_tcode Verifica o objeto associado a transao em questo e se o usurio tem autorizao para este objeto e quais so elas. Ex. O usurio possui o s_tcode para mm01, mas possui o valor 03 para o campo actvt do objeto m_mate_sta Durante o processamento do cdigo abap Verificao das autorizaes verificadas pelo comando abap authority-check Algumas outras dicas isoladas de autorizaes : Durante um call transaction os dois primeiros passos, relacionados a segurana da transao, no so verificados Se o buffer do usurio for pequeno demais (veja parmetro auth/auth_number_in_userbuffer) algumas autorizaes podem ser perdidas Se for necessrio cancelar a verificao do s_tcode utilize o parmetro auth/no_check_on_tcode Se for necessrio saber quais autorizaes esto carregadas no buffer utilize a transao SU56 e se for necessrio saber qual autorizao est faltando utilize a SU53 Dicas de tabelas: Tabela TACT contm todos as atividades possveis no r/3 e a TACTZ contm o relacionamento das atividades possveis para um objeto
Profile Generator
O profile generator (PFCG) uma ferramenta que simplifica a administrao de segurana atravs de uma viso voltada para o menu de transaes da empresa permitindo que de forma mais interativa se crie e associe profiles para usurio ou grupo de usurios que executam determinada funo. Este
jluiz@cemig.com.br
Pgina 55
ACADEMIA
BASIS
grupo lgico de funes comuns que possuem profiles comuns so denominados Activity Groups. Um usurio pode estar associado a um ou mais activity groups. Ao se associar uma transao a um determinado activity group, o profile generator automaticamente identifica os authorization objects necessrios para aquela atividade e os associa a profile que ser gerada. Caso os fields sejam customer-independents, o sistema j prov os valores necessrios para a atividade, caso contrrio os valores precisam ser completados pelo administrador durante o processo de gerao. Ao gerar um activity group o administrador de segurana dever checar os valores propostos pelo sistema para os diversos field e altera-los ou prov-los conforme o caso, antes de salvar o processo O R/3 permite ainda que se crie os activity group com responsabilities, o que permite que uma mesma descrio funcional (activity group) seja associada para diferentes grupos de usurios, provendo assim diferentes nveis de autorizao dentro de uma mesma funcionalidade. Isto simplifica a administrao de segurana. Neste caso os usurios so associados a responsabilitie e no mais ao activity group. Isto significa que caso grupos distintos de usurios que efetuam as mesmas transaes em um sistema R/3 diferindo apenas nas autorizaes para operaes permitidas dentro destas transaes no mais precisam ser administrados a partir de activity groups distintos, mas sim atravs de responsabilities distintas dentro do mesmo activity group. Neste tipo de administrao, as autorizaes para transao so associadas apenas uma vez no activity group para os diversos usurios, o que simplifica caso uma nova transao comece a fazer parte de suas atividades. Ao exibir a lista de autorizaes no profile generator, o sistema divide a exibio em 3 nveis: primeiro nvel contm as object class, por exemplo Standard Finantial Accounting - FI segundo nvel contm os authorization objects, por exemplo Customer: Authorization for company codes F_KNA1_BUK No terceiro nvel contm authorizations, por exemplo Customer: Authorization for company codes T..... e abaixo dele o sistema lista todos os fields com seus respectivos valores Nesta lista possvel dar manuteno nos valores (clicando no lpis) ou ainda obter documentao detalhada de um authorization object s dar um duplo click na sua descrio (segundo nvel). Ao se clicar no item da montanha (authorization object) possvel obter uma lista das transaes daquele activity group que necessitam deste objeto de autorizao. O profile generator possui outra caracterstica. Nele possvel fazer o apontamento para os usurios que iro possuir um determinado perfil. Neste caso devemos executar o programa RHAUTUPD para rever as profiles e task profiles dos usurios. Na prtica o programa varre o cadastro de usurios removendo todas entradas relacionadas ao grupo de atividade que esta sendo trabalhado e depois insere-as novamente. Se for necessrio fazer isto para todos os grupos de atividades devemos utilizar a transao PFUD, que aciona o programa RHAUTUP1. recomendado que este programa esteja agendado para rodar diariamente durante o periodo noturno. Com isto temos a garantia que os apontamentos sempre estaro corretos. Os principais passos para a criao de um perfil, tambm conhecido como activity group, so : Especificar as atividades que sero desenvolvidas a partir dos caminhos de menu Criar as responsabilidades (opcional) Criar a authorization profile Associar os usurios ao activity group Atualizar, utilizando o rhautupd, o mestre de usurios Devemos procurar sempre alterar o nome gerado pelo standard para facilitar o compreendimento e a localizao. A SAP sugere que o nome sempre comee por S_. O profile utiliza as cpias de algumas tabelas standard (USOBT e USOBX) para trabalhar. A USOBT_C contm os objetos que precisam ser verificados e a USOBX_C os valores necessrios aos objetos. Estas tabelas podem ter seus contedos mantidos pela transao SU25. J a transao SU24 pode ser utilizada para ajustar os checks dos objetos. Como ilustrao, a transao SU24 mantm o tipo de check que ser feito, a saber : U no mantido; N no checked; C checkado mas os valores no so mostrados no profile generator e CM o check feito e o profile generator conhece os valores possveis.
jluiz@cemig.com.br
Pgina 56
ACADEMIA
BASIS
Security
Os clients 000 e 001 possuem os users SAP* (pwd 06071992) e DDIC (pwd 19920706) com, por default, autorizaes SAP_ALL, devendo o administrador alterar suas senhas na instalao. O client 066 utilizado pela SAP para consultoria remota possui o usurio EARLYWATCH (pwd support) que tambm dever ter a sua password alterada. O SAP possui um usurio SAP* com password PASS e autorizao SAP_ALL hard-coded em todos os seus sistemas. Isto significa que quando no existe um usurio SAP* na user master table (USR02) do sistema, este usurio pode ser usado para efetuar logon como SAP_ALL. Por razes de segurana portanto interessante que sempre tenhamos um usurio SAP* definido em cada client. A nota 68048 sugere um parmetro (login/no_automatic_user_sapstar) que quando especificado suprime a possibilidade de utilizao deste SAP* hard-coded. Porm sempre que se for criar um novo client necessrio permitir a existncia desta feature hard-coded para que se possa logar no novo client que no possua nenhum user ainda criado.
jluiz@cemig.com.br
Pgina 57
ACADEMIA
BASIS
Para uma analise localizada de falha de segurana pode-se utilizar a transao SU53, que exibe quais authorizations so requeridas em determinada task. A transao SU56 exibe o buffer de autorizao do usurio. Se uma determinada autorizao no est aparecendo, verifique: Se no houve uma manuteno de profile ou activity group enquanto o usurio estava logado. Neste caso necessrio um novo logon Se as autorizaes foram alteradas atravs de um transporte, preciso emitir um reset dos user buffers para que os novos dados sejam carregados (SU01 Environment Mass changes Reset all user buffs) Se o buffer no est muito pequeno. O parmetro auth/auth_number_in_userbuffer define o nmero de entradas reservada nesta rea para cada usurio, devendo ser aumentado se for o caso Ao se criar um usurio pela SU01 deve-se especificar a sua categoria, se Dialog, BDC (batch input), Background (batch jobs) ou CPIC (para conexo remota). Algumas destas categorias tem caractersticas prprias, como dialog ou background, mas servem tambm como informao documentacional.
Password Rules
Existem uma srie de parmetros para configurar o tratamento que o R/3 vai dar a senha do usurio. Alm da lista abaixo ainda podemos fazer uso da tabela USR40, atravs da SM30, para inserir palavras ou seqncias de caracter que no poderam ser utilizadas na senha. As entradas na USR40 podem tambm fazer uso de wildcards como *. Alm disso temos as seguintes regras : Tamanho mnimo da password (login/min_password_lng) com default 3 Primeiro caracter diferente de ! e ? Os tres primeiros caracteres no podem ser o mesmo nem ser iguais a parte do user name No pode ser sap* ou pass Nmero mximo de erros na senha para fechar a sesso (login/fails_to_session_end) com default 3 Nmero mximo de erros na senha para bloqueio da chave (login/fails_to_user_lock) com default 12 Libera os usurios que esto bloqueados por logon incorreto a meia-noite (login/failed_user_auto_unlock) Nmero de dias para que a senha expire (login/password_expiration_time) com default igual a 0, que significa que nunca expira O R/3 tambm j vem preparado (hard coded) para impedir uma srie de outras senhas, a saber :
jluiz@cemig.com.br
Pgina 58
ACADEMIA
BASIS
atividades perdemos o link com os usurios que possuem este grupo no ambiente de destino. Por outro lado, podemos levar todo o cadastro de usurios de um mandante para o outro. Isto pode resolver problemas pontuais mas no resolve o problema da manuteno das profiles que esto na produo e nem do ciclo normal de trabalho com os grupos de atividades. Para transportamos um grupo de atividade, lembre-se ele foi desativado pela transao OOCR, devemos clicar no icone do caminho na transao PFCG para transportarmos um grupo de atividade especifico. Para transportamos um conjunto de grupos de atividades devemos utilizar o programa RHMOVE30 que possui diversas formas de seleo. Aps importarmos a change que foi gerada no ambiente de destino devemos executar a transao SUPC para regerarmos a profile. Neste caso, quando geramos um grupo de atividade que veio do ambiente de desenvolvimento, precisamos atualizar a tabela T77TR (utilizando a SM31) para que o transporte fique configurado para no perder a associao com os usurios no ambiente de destino nos prximos transportes deste grupo de atividades.
SAPRouter
O SAPRouter um componente de software que vem com o R/3 ( no unix um script que pode ser adicionado no startsap e no NT um servio que deve estar ativo) para viabilizar a ligao de duas redes com a garantia de segurana e proteo de acesso em cada uma delas pelo proprio parceiro. Com o SAPRouter voce pode : Controlar e logar as conexes com o sistema R/3 Permitir que outros saprouters tenha acesso a uma rede especfica Proteger o sistema contra conexes e envio de dados de usurios no autorizados Encripitar senhas e outros dados por parceiros certificados pela SAP Controlar o acesso ao servio de OSS da sap Para utilizar o SAPRouter precisamos criar o diretrio saprouter debaixo da arvore \usr\sap; obter a verso mais nova disponvel no OSS e criar a tabela de rotas permitidas no arquivo \usr\sap\saprouter\saprouttab. Esta tabela que contm a definio de quem poder ou no passar de um lado para o outro. Ela um arquivo texto com cinco campos, a saber : Permit/Deny/Secure, endereo de origem, endereo de destino, servio e password. Os endereos podem tanto ser hostnames com ip e neste ultimo caso podemos utilizar tambm os wildcards para selecionarmos uma rede inteira (Ex. 123.45.*). J o servio e a password so opcionais, sendo que o servio assume o defalt de 3299 que a porta padro utilizada normalmente para saprouter. A grande dica na construo da routtab a definio do que proibido no inicio do arquivo e do que permitido no final. Isto necessrio por que a leitura e deciso feita do primeiro para o ultimo. Para especificarmos uma rota para o saprouter devemos utilizar o mesmo padro utilizado no SAPGUI. A nica novidade a chave /W/ para conter uma eventual password a ser passada a um saprouter. Para testar a rota podemos utilizar a dobradinha niping s no host origem e niping c H <host_origem> no host destino ou simplismente niping c H /H/<saprouter>/H/<host_destino>. O saprouter possui uma srie de variaes de parmetros. Elas podem ser obtidas simplismente acionando o saprouter na linha de comando sem parmetros. Algumas delas so importantes como R para dizem onde esta a routtab, -r para startar o servio, -s para parar o servio, -r V3 para selecionar o nvel mais alto de trace, -t para ativar o trace, -T para dizer onde vai ser gravado o arquivo de trace e G para dizer onde ser gravado o arquivo de log.
ACADEMIA
BASIS
66687. O padro SNC prove trs nveis de segurana, a saber : A autenticao da comunicao entre os parceiros sem a proteo do dados que ser trocado; Integridade que garante a autenticao e mais uma assinatura digital da informao que est trafegando para garantir sua autenticidade; e Confidencialidade que garante a autenticao a integridade e a confidencialidade que o dado no pode ser interpretado por outro que no sejam os parceiros da comunicao. Para ativarmos o SNC temos que definir qual ser o padro de nome dos usurios. Podemos escolher entre X.500 (que distingue o nome pela formao de diversos elementos), nome@dominio (que usa uma concatenao simples do nome do usurio e de seu domnio) e o padro de nome externo do R/3. Alm de definirmos o padro de nomes temos que incluir o parmetro snc/enable = 1 na default profile para ativar efetivamente o SNC. Com isto a SU01 passa a possuir mais uma pasta que contm o nome SNC do usurio. Podemos ainda alimentar a tabela USRACL, que contm o depara, diretamente com o nome interno e o nome externo dos usurios. Para os usurios RFC e CPIC podemos definir apenas um usurio interno para vrios usurios externos atravs da tabela USRACLEXT. Podemos tambm ativar nveis de insegurana para alguns casos. Por exemplo, aceitar sesses no seguras atravs do parmetro snc/accept_insecure_gui =1 ou snc/accept_insecure_cpic = 1. Alm da SU01, outras transaes passam a possuir maiores detalhes sobre o SNC, a saber : SM59 que controla as chaves RFC; a SM54 que controla as chaves CPIC e a SNC0 que controla a lista de acesso entre sistemas R/3. A utilizao do SNC pressupe a instalao de uma dll (secure.dll) junto com o SAPGUI alm do cliente do software de segurana que ser utilizado. Para o saplpd temos que incluir na cliente uma entrada no win.ini que habilita o uso do SNC pelo saplpd e indica a dll que ir interfacear com o produto de segurana. No geral devemos seguir algumas recomendaes para implementar o SNC. A primeira nunca misturar applications que utilizam SNC com outros que no utilizam. A seguinte ter certeza que o produto de segurana est apto a trabalhar com os padres de nomes estabelecidos pelo R/3; E por fim garantir as definies do nvel de proteo desejado, dos parceiros e protocolos que sero implementados, quais conexes sero protegidas e as respectivas portas a serem bloqueadas pelo software de segurana.
jluiz@cemig.com.br
Pgina 60
ACADEMIA
BASIS
Software Logistics
R/3 System, Servers and Instances
Uma instncia R/3 um grupo de servios que so inicializados e parados simultaneamente por um dispatcher, possuindo em comum uma profile de instncia. O nome de uma instncia composto pelos nomes que identificam os servios (Dialog Update (Verburren em alemo) Enqueue Background Message Gateway) por ela executados. Uma central instance contm tipicamente todos os servios R/3 instalados, da o seu nome ser DVEBMGSnn, j uma dialog instance possui o nome Dnn, onde nn o system number utilizado para compor o nmero das portas que efetuaro as chamadas ao dispatcher (32nn) e ao message server (36nn) na camada TCP/IP. Um server pode conter uma ou mais instncias R/3 configuradas. Um PC com o frontend SAPGUI instalado tambm considerado um server da camada presentation na arquitetura R/3. O database server um hardware que possui o RDBMS relacional instalado. comum em R/3 instalarmos o database server no mesmo host que contm a central instance. O conjunto de todos estes servidores com suas respectivas instncias R/3 compem um R/3 System. Um sistema agrega uma nica central instance que aloja o message server e normalmente um ou mais application servers.
R/3 Data
Os dados no R/3 podem ser divididos em duas categorias: Client dependents data, que so os dados pertencentes a apenas um client de um sistema R/3, como por exemplo os master, os transactional, customizing e user master data. Client independent data, que so as informaes pertencentes a todo o sistema, como algumas configuraes ou o repositrio de objetos O dicionrio ABAP um dicionrio de dados que faz parte do repositrio ABAP de um sistema R/3. Seus dados so client independents. Os programas ABAP armazenados no dicionrio so compilados uma vez no primeiro acesso (early binding) e ficam armazenados em um outro repositrio de executveis (tabelas D010*). Cada alterao em um programa fora a sua recompilao no primeiro acesso posterior. Este procedimento denominado late binding possvel atravs de um mecanismo de comparao de timestamp. Este mecanismo de early binding e late binding garante que a integridade das informaes contidas no dicionrio ABAP no afete a performance do sistema, uma vez que os executveis de telas e programas so mantidos atualizados automaticamente em uma rea separada dos respectivos fontes.
R/3 Clients
Um client em R/3 uma unidade independente em termos organizacionais, tcnicos e comerciais. Um client possui seus prprios usurios e seus prprios dados nas tabelas do R/3. Isto permite que um nico sistema R/3 administre vrios clients diferentes, cada um com seus prprios dados. Como a base de dados (consequentemente as tabelas) nica em um sistema R/3 os dados dos diferentes clients ficam armazenados no mesmo local e so diferenciados pelo kernel do R/3. Na prtica o R/3 implementa esta separao atravs de um campo MANDT (de mandante, ou client em alemo) que participa da chave primria das tabelas client dependents do R/3. Em qualquer chamada a estas tabelas o sistema incorpora na clausula WHERE do SQL o campo MANDT = nnn. A nica excesso a tabela T000 que defini quais so os clientes existentes na instncia e uma tabela com definio independente de client. Este campo que identifica um client composto de 3 dgitos nmericos. portanto importante que sempre que efetuamos um logon informemos o nmero do client. Este campo obrigatrio na tela de login inicial do R/3, juntamente com a chave e a password do usurio. Como os dados de clients diferentes funcionam no R/3 como bases de dados diferentes (separao por kernel), as empresas quando desejam implementar uma administrao coorporativa de suas subsidirias, o controle centralizado possvel atravs de uma outra facilidade que o campo configurvel jluiz@cemig.com.br Pgina 61
ACADEMIA
BASIS
denominado company code. Este campo define a menor unidade administrativa com que os relatrios externos podem varrer para uma viso centralizada. O conceito de authorities do R/3 sobre este campo company code permite ainda que uma companhia matriz acesse as suas filiais com finalidades de consultas ou auditoria impedindo que as diversas subordinadas tenham acesso aos dados umas da outras.
R/3 Landscape
O conceito de Landscape no R/3 refere-se a um grupo de sistemas R/3 compreendendo normalmente um desenvolvimento, uma qualidade e uma produo que compartilham change requests e rotas de transporte com o propsito de manter um sistema de desenvolvimento e customizao consistente. Por questes de segurana, aconselhado proteger o sistema utilizando o conceito de clients, implementando a segurana atravs do conceito de autorizaes garantindo a separao dos dados entre clients. aconselhvel ainda separar fisicamente os ambientes de implementao do desenvolvimento, qualidade e produo. Alm das questes bvias de segurana e performance do ambiente produtivo, tal implementao protege o sistema evitando que configuraes client independents do ambiente de desenvolvimento sejam implementadas na produo antes de um teste de validade. Uma implementao em dois ambientes tambm no aconselhvel porque todos os objetos transportados para o ambiente de consolidao ficam imediatamente valendo no ambiente de produo. A implementao mais recomendada pela SAP um landscape de trs ambientes que implementam clients e rotas prprias de transporte, consistindo dos 3 clients bsicos e os 3 adicionais: Um host composto de trs clients (SAND, TEST, CUST) onde fica o ambiente de desenvolvimento Um host de quality assurance (com dois clients QTST e TRNG) onde os novos desenvolvimentos so testados antes de serem migrados para o ambiente produtivo Um host para o ambiente de produo com o client PROD Os sistemas R/3 que compem um mesmo landscape devem possuir system IDs diferentes para a correta identificao das rotas de transporte
jluiz@cemig.com.br
Pgina 62
ACADEMIA
BASIS
Transporte o processo no R/3 que permite a distribuio destas alteraes ao longo do landscape. O R/3 fornece todas as ferramentas necessrias para a criao, documentao e distribuio das alteraes no landscape. A correta configurao do ambiente de transporte fundamental para o sucesso desta administrao: Todas as alteraes devem ser bem documentadas Um nico client recomendvel para todas as customizaes Todo o trabalho de desenvolvimento dever ocorrer em um nico sistema R/3, garantindo uma origem nica de todos os change requests Os desenvolvedores e customizadores devero ter profiles de autorizaes de acordo com suas necessidades de criao e release de change requests O CTS (Change and Transport System) uma facilidade introduzida pela SAP no release 4.0 do R/3 e composta das seguintes ferramentas: CTO, Change and Transport Organizer que prov funes para gerenciar o desenvolvimento de projetos que ocorram centralizados ou distribudos no ambiente. Ele composto das seguintes ferramentas: Workbench organizer (transao SE09), Customizing organizer (SE10) e Transport organizer (SE01) TMS, Transport Management System que organiza, monitora e executa os transporte ao longo de um landscape definido. O TMS utilizado ainda para as rotas de transporte ao longo do landscape e acionado pela transao STMS Ferramentas a nvel do sistema operacional (TP e R3Trans) que executam a comunicao com o sistema R/3, o banco de dados e os arquivos gerados no processo de export dos transportes
jluiz@cemig.com.br
Pgina 63
ACADEMIA
BASIS
jluiz@cemig.com.br
Pgina 64
ACADEMIA
BASIS
controlar as changes que devem ser importadas na produo atravs da manipulao do arquivo de buffer por um editor de texto. Desta forma passamos a in foreign group import no sistema R/3.
Initializing CTO
A transao SE06 utilizada para configurar o change and transport organizer. Ela deve ser executada uma vez a cada nova instalao de um sistema R/3, independentemente de ser uma instalao standard ou um database copy. Estas configuraes so globais no sistema R/3 e tem prioridade inclusive sobre as configuraes dos clients (SCC4). A transao SE06 estabelece o valor inicial para os change request e configura as opes iniciais do sistema definindo se o repositrio de objetos e os objetos de customizao client independents sero globalmente modificveis. Para os ambientes de produo e de qualidade no faz sentido permitir modificaes no sistema. J no sistema de desenvolvimento tudo pode ser permitido. Eventualmente podemos bloquear os objetos locais para garantir que o time de abap no vai criar objetos sem encapsula-los em change requests.
Transport Domain
Um transport domain compreende todos os sistemas R/3 administrados centralizadamente atravs do TMS. Quando se configura uma definio no TMS, o sistema cuida de distribuir via RFC a definio entre todos os sistemas que compem o domnio. Isto garante que as configuraes de transporte sejam consistentes em todos os sistemas pois todas as configuraes so feitas apenas no Domain Controler (sistema R/3 que ira controlar todos os outros sistemas R/3 do landscape). Por segurana podemos eleger um backup domain controler que entra em ao se o domain controler sair do ar. Este switch feito na mo e depois deve ser desfeito quando o domain controler estiver de volta. A SAP sugere que o Domain Controler seja o sistema R/3 dedicado a qualidade pois ele o que tem o menor volume de trabalho. Na prtica o Domain Controler o sistema R/3 de desenvolvimento pois ela normalmente a primeira a ser instalada. O TMS suporta vrios diretrios de transporte em um transport domain. Os sistemas R/3 que compartilham um mesmo diretrio compem um transport group. Atravs do TMS podemos executar transportes entre sistemas que pertenam a transport groups distintos mas ela no suportam transportes entre domnios diferentes. Devemos lembrar que se fizermos o tp import entre domnios diferentes o processo ser bem sucedido. O mesmo no pode ser garantido entre sistemas R/3 de verses diferentes pois podem existir diferenas na estrutura e na utilizao nos objetos encapsulados pela change. O Landscape pode ser definido como todos os sistemas R/3 que compartilham change requests com o propsito de manter ambientes consistentes de desenvolvimento e customizao. Por este motivo um system landscape normalmente sinnimo de um transport domain, embora um transport domain possa conter mais de um system landscape apenas para fazer uso da vantagem de um ambiente TMS centralizado. A configurao do TMS executada atravs da transao STMS no client 000 e com o usurio DDIC, ou um equivalente com a profile S_CTS_ADMIN, e passa pelos seguintes passos: Configurao do transport domain atravs da especificao dos sistemas R/3 e dos transport groups alm da definio de um deles como sendo o controlador do domnio. Configurao das rotas de transporte atravs da definio do sistema onde as changes sero consolidadas e do sistema onde a change ser finalmente delivered aps os testes Check e verificao das configuraes atravs das ferramentas do TMS
jluiz@cemig.com.br
Pgina 65
ACADEMIA
BASIS
O sistema escolhido como controlador do domnio dever ser um sistema com alto grau de segurana e disponibilidade, normalmente o production system ou o QAS. Esta tarefa no oferece nenhuma carga adicional ao sistema mas a SAP sugere que seja instalado no QAS que supostamente o sistema R/3 com menor carga de trabalho. A transao STMS, no momento da configurao inicial, ir criar um transport domain (DOMAIN_<SID>), um transport group (GROUP_<SID>), user CPIC no client 000 (user TMSADM para acesso de leitura), os destinos RFC requeridos pelo TMS (tmsADM@ para leitura e tmsSUP@ para leitura/gravao) e um arquivo DOMAIN.CFG no subdiretrio bin do diretrio de transporte que conter a configurao do TMS. recomendado que se tenha um servidor configurado como backup controler para o TMS, em caso de falha do principal. Como comum, no momento da configurao do TMS nem todos os sistemas existem, o R/3 permite que se defina todo o ambiente atravs da especificao de sistemas virtuais, permitindo com isto que se configure antecipadamente todas as rotas de transporte. A SAP prov o TMS com configuraes standard default que j prove rotas para landscape de um, dois ou trs sistemas, agilizando desta forma o trabalho de configurao inicial. As rotas de transporte so de dois tipos: de consolidao, do desenvolvimento (integration system) para o sistema de quality assurance (consolidation system) atravs de uma transporte layer (Z<SID>), e de delivery, onde os transportes consolidados so finalmente transportados do sistema de qualidade (consolidation system) para a produo (delivery system). Aps configurar o transport domain e definir as rotas de transporte, o TMS utilizado para distribuir esta configurao entre os sistemas e ativar a nova configurao. As alteraes efetuadas em objetos SAP so transportadas atravs da consolidation route SAP. Atravs do hierarchical list editor possvel visualizar e editar a configurao do TMS. O sistema aceita ainda a configurao atravs de ferramenta grfica drag-and-drop. O TMS prov ainda ferramentas para testar as conexes RFC, checar o diretrio de transporte e verificar o funcionamento do programa tp.
jluiz@cemig.com.br
Pgina 66
ACADEMIA
BASIS
jluiz@cemig.com.br
Pgina 67
ACADEMIA
BASIS
Quando o lder de um projeto cria um change request, o sistema associa a ele um nmero (<SID>K9nnnnn como por exemplo DEVK900736) e ao associar os desenvolvedores, cada um recebe uma task cujo cdigo estruturado no mesmo critrio. A medida que os desenvolvedores vo terminando suas tasks elas vo sendo liberadas individualmente. Quando todas estiverem liberados o gerente do projeto libera o change request que pode ento ser transportado para outros sistemas. As autorizaes do Change Management so usualmente gerenciadas em quatro grupos distintos e com abrangncia crescente na lista abaixo : S_CTS_SHOW, que permite apenas visualizar os change requests e ver suas logs S_CTS_DEVELO, mais abrangente que a anterior, fornecida aos desenvolvedores que passam a ter gerencia sobre suas tasks S_CTS_PROJECT, que a autorizao dos gerentes de projeto, que podem criar e gerenciar os change requests S_CTS_ADMIN, a autorizao do administrador do CTS e tem acesso mais abrangente a todas as suas ferramentas Para o dia-a-dia do projeto utilizaremos esta lista abaixo de profiles para os principais papeis a serem desempenhado durante o projeto : S_A.SYSTEM, normalmente utilizada pelos administradores do sistemas e inclui todas as autorizaes relativas ao CTS e STMS. Esta profile contm a autorizao s_cts_admin S_A.CUSTOMIZ, normalmente utilizada pelo lider da equipe e inclui autorizao para todas as atividades de configurao do ambiente. Esta profile contm a autorizao s_cts_project S_A.DEVELOP, normalmente utilizada para os abapers e configuradores e no permite a criao de change request. Esta profile contm a autorizao s_cts_develo S_A.SHOW, este perfil utilizado como curinga pois ele possui todas as autorizaes de basis mas todas elas somente para display. Esta profile contm a autorizao s_cts_show Todos os desenvolvedores ABAP precisam ter um registro composto de 20 dgitos obtido junto ao OSS e denominado SSCR, SAP Software Change Registration. Sem esta chave no possvel efetuar alteraes no repositrio de objetos. Cada access key associada com o logon ID do desenvolvedor e ao license number do sistema R/3. Esta chave requisitada no primeiro acesso ao repositrio e no mais requisitada nos acessos posteriores. Os objetos criados pelos desenvolvedores no repositrio devero sempre comear com Z ou Y, que o range reservado pela SAP para os objetos dos clientes, evitando assim conflito de nomes com objetos standard do repositrio. A nota 16466 descreve em detalhes a nomenclatura a ser adotada na criao dos nomes. Da mesma forma que temos que registrar um desenvolvedor, temos que registrar no SSCR a modifio em um determinado objeto standard. O conceito de name ranges permite que se adote critrios de nomenclatura associados a classes de desenvolvimento. A SAP adota ainda o critrio de reservar namespaces para objetos desenvolvidos pelos seus parceiros de desenvolvimento. O comportamento do repositrio no que diz respeito aos namespaces e name ranges determinado em cada sistema R/3 atravs de global settings que determinam se os critrios sero modificveis ou no. Escolha a opo Tools -> Administration -> Transports -> Installation follow-up work -> Goto -> System change options. Para manter estes name rangers use a view v_tresn atravs da transao sm30.
ACADEMIA
BASIS
esta associao ou no possuem transport layers configurados no podero ser transportados atravs desta ferramenta.
The Repository
O Object Directory um catlogo de todos os objetos standard SAP e dos objetos desenvolvidos pelo usurio na sua instalao e pode ser acessado pela SM30 tabela TADIR. Durante o processo de customizing o sistema pode gerar automaticamente objetos dentro do repositrio como parte do processo. Objetos que so alterados fora do seu ponto de origem, por exemplo a alterao no ambiente de QAS de um objeto originrio do sistema de desenvolvimento denominado um repair. Os objetos do repositrio possuem como chave primria o program identification (PGMID), o object type e o object name. O campo PGMID normalmente R3TR, embora existam outros ids: R3OB e LIMU. Object types podem ser por exemplo PROG (ABAPs), DEVC (development class), VIEW, FORM, COMM (command file) e CHD0 (change document). O sistema R/3 trabalha com o conceito de objetos originais e cpias. Um objeto criado no ambiente de desenvolvimento e transportado para os demais ambientes do landscape possuir nestes locais apenas uma cpia do objeto original. Este mecanismo garante que os objetos sejam alterados apenas nos locais onde foram criados. Excepcionalmente possvel alterar uma cpia jluiz@cemig.com.br Pgina 69
ACADEMIA
BASIS
de um objeto, que neste caso denominado de um repair, ou seja: uma alterao executada em um ambiente diferente daquele onde o objeto foi desenvolvido. Diferentemente dos developments e corrections, que so manutenes de objetos originais, os repairs quando associados a tasks de um change request no permitem que outros desenvolvedores do mesmo time tenham acesso ao objeto, mas que so, assim como os objetos das demais tasks, protegidos por mecanismo de lock. Quando um repair liberado o sistema requisita uma confirmao que retira o lock de proteo do objeto e permite que o mesmo seja posteriormente sobrescrito por transportes futuros. Repairs liberados sem confirmao podem entretanto ser confirmados a posteriori atravs da opo Request/task -> Confirm repair Diferentemente das alteraes e desenvolvimentos de objetos criados pelo usurio, Modifications so na realidade repairs executados em nossa instalao sobre as cpias dos objetos originais SAP. Estes objetos para serem alterados ser necessrio informar um access key (obtido no OSS) que associado ao objeto em uma determinada instalao. Este procedimento de registro fica gravado na SAP que uma determinada instalao efetuou alteraes sobre objetos standard SAP. Uma vez definido o access key, o objeto associado a uma task do change request como um repair, sendo tratado como tal da para a frente. Nem todos os objetos SAP do repositrio so controlados por este mecanismo rgido de SSCR (access key): matchcodes, database indexes, buffer settings, customer objects, precorrections e objetos gerados pelo customizing. Este mecanismo vai permitir que a SAP procure inicialmente por alteraes introduzidas pelo usurio no seu ambiente diferenciando potenciais erros de programa de manutenes indevidas de objetos, alm do que o registro facilita os processos de upgrade de verses
R/3 Upgrade
Quando de um upgrade, objetos originais SAP so reintroduzidos na instalao o que fora a uma anlise obrigatria dos objetos que sofreram repairs para que as antigas alteraes sejam confirmadas e refeitas quando necessrio. Para isto importante uma documentao detalhada destas modifications e a deciso de que se vale a pena o esforo para reintroduzir as alteraes que muito possivelmente j esto incorporadas no novo release Durante a fase de PREPARE do processo de upgrade, o sistema pede que todos os repairs sejam confirmados e liberados. A transao SPDD dever ser utilizada para ajustar o dicionrio ABAP durante o processo de upgrade. A transao SPAU utilizada para efetuar um merge de todos os objetos do repositrio
jluiz@cemig.com.br
Pgina 70
ACADEMIA
BASIS
Para configurar este recurso para todo o sistema utilize a transao SE01 -> settings -> organizer e para configurar este recurso para um usurio especifico use a SE03 -> global customizing workbench organizer.
jluiz@cemig.com.br
Pgina 71
ACADEMIA
BASIS
jluiz@cemig.com.br
Pgina 72
ACADEMIA
BASIS
IMG Description descreve os conceitos, recomendaes, requerimentos e as atividades necessrias para executar as tarefas Project Management permite o acompanhamento do processo atravs do controle de status, scheduling e gerncia dos recursos Project Documentation para a documentao de todo o processo
jluiz@cemig.com.br
Pgina 73
ACADEMIA
BASIS
liberada porm seus dados so transferidos para um outro change request transportvel porm seus dados no so transportados para o OS.
Customizing Tests
Antes de distribuir as customizaes, elas devero ser testadas em separado e dentro do contexto do sistema, em um client de consolidao. preciso abrir o change request e verificar se o seu contedo est completo com todas as alteraes. A transao SCC1 utilizada para transferir as alteraes contidas em um change request ou mesmo em uma task individual para outro client do sistema. No caso de ser necessrio levar objetos que esto apenas nas task o flag Incl tasks for request deve estar marcado. Como apenas um change request pode ser transferido por vez, as change podem ser agrupadas em um nico change atravs da opo Include Objects da SE10, o que poupar tempo do administrador. IMPORTANTE: a opo de cpia atravs da SCC1 somente funciona para dados client dependents. Se a change contiver objetos client independents os mesmos no sero transportados. A transao SCC1 deve ser sempre acionada no client de destino.
Customizing Exceptions
Certos tipos de customizaes, conhecidas como Data-only Customizing Changes, precisam ser executadas diretamente no ambiente de produo sem passar por processo de change request, como por exemplo: taxas de cmbio, regras de penso, etc. Estes tipos de alteraes no tem efeito sobre o negcio da empresa no necessitando portanto de testes extensivos em ambiente separado. Como so passveis de alteraes constantes e para evitar necessidades de controle por change requests, a SAP introduziu o conceito de funes de Update Settings. Os Update Settings podem ser utilizados diretamente no ambiente de produo sem impacto para o negcio da empresa. A tabela CUSAMEN mantm a lista dos objetos aprovados pela SAP para esta funcionalidade. No se recomenda que o cliente faa alteraes nesta tabela sem a autorizao expressa da SAP.
Client-independent Customizing
Uma tarefa difcil no proceso de customizao do R/3 identificar quais tasks so client independents e quais so dependents. Customizaes client independents podem ser: Em objetos client independents, que so objetos do repositrio gerados pelo processo de customizao, como por exemplo matchcodes, condition tables e hierarquias. Para garantir que sejam corretamente transportados, devero ser associados a uma development class Global customizings, que so configuraes standard globais do ambiente em tabelas que no possuem o campo MANDT, como por exemplo calendrios, impressoras, etc. Enquanto customizaes client dependents so gravadas em change requests da SE10, as customizaes client independents precisam ser associadas a change requests do workbench organizer (SE09). Uma boa forma de descobrir se a configurao dependent ou independent ou transportada automaticamente, manualmente ou no transportada utilize a SPRO -> IMG -> Information -> Title and IMG info.
jluiz@cemig.com.br
Pgina 74
ACADEMIA
BASIS
A definio de padres de desenvolvimentos seja atravs da especificao de classes de desenvolvimento ou da padronizao e cobrana de uma correta documentao e a manuteno de verses simplifica os futuros esforos de upgrade do sistema R/3 ou da aplicao de correes via Hot Packages
jluiz@cemig.com.br
Pgina 75
ACADEMIA
BASIS
Transport Management
Transport Process
O TMS a ferramenta existente no R/3 onde esto centralizados todos os recursos para efetuar e gerenciar os transportes no ambiente. At o release 3.1H os transportes eram efetuados atravs de ferramentas no sistema operacional e baseava-se nas configuraes das tabelas TSYST, TWSYS, TASYS e DEVL principalmente. O primeiro passo no processo de transporte o release dos change requests que so exportados para files do diretrio comum de transporte (\\hostgroup\sapmnt\trans). Para cada change liberado, arquivos so gerados nos subdiretrios data (dados exportados) e cofiles (control files). Este diretrio de transporte tambm possui um subdiretrio buffer que contm um import buffer file para cada sistema que compartilha aquele transport group. Cada change liberado acrescenta uma entrada neste file de forma que ele conter informaes sobre os transportes que esto disponveis para import e a seqncia de importao. Esta informao acessada no TMS atravs da facilidade das import queues A rota de consolidao nas quais os transportes so liberados normalmente especifica um sistema de quality assurance para validao das changes. Quando se efetua o import do transporte para este sistema QAS, o sistema coloca as entradas no import buffer do sistema de delivery, normalmente o PRD, ou algum outro especificado no TMS. O processo de validao no sistema QAS poder detectar erros que sero corrigidos no DEV e novamente transportados para consolidao. A fila de import do sistema PRD poder ento conter mais um import que dever ser efetuado. Um ciclo de alterao poder conter um ou mais change requests, dependendo da necessidade de correo aps os testes no QAS. Quando finalmente o processo estiver pronto para import no delivery (PRD), o TMS permite que toda a fila de import seja efetuada carregando o sistema de produo com a verso final do objeto. Para o correto funcionamento deste mecanismo imprescindvel garantir que os transports sejam importados na correta seqncia.
Import Queues
A ferramenta mais importante para o mecanismo de import do TMS so as import queues que refletem a situao dos import buffers de um determinado sistema. Ela lista os change requests disponveis para import bem como a ordem com que foram liberados. Os dados exibidos no TMS so lidos no momento em que a transao chamada. A opo de refresh permite atualizar as informaes exibidas na tela. O programa RSTMSCOL pode ser schedulado para rodar de hora em hora e efetuar este refresh em background. Isto normalmente utilizado durante a fase de desenvolvimento do projeto onde o numero de change requests muito grande. Durante a manuteno do sistema normalmente no utilizado pois o nmero de changes provavelmente ser bem menor. Atravs da administrao da fila de imports possvel excluir change requests, efetuar forwards para outros sistemas, estabelecer dead lines e end marks, etc. A administrao do TMS permite muita liberdade no tratamento das filas, porm recomendvel que estas manipulaes sejam bastante conscientes para garantir a integridade e consistncia dos transportes. A SAP um pouco mais forte que a vida real, ela recomenda que nenhuma change seja deletada ou manipulada na fila para evitar qualquer tipo de consistncia. Para estabelecer end marks nas filas de import necessrio fechar (close) nas filas. Este processo eqivale a estabelecer stopmarks nos files do sistema operacional (tp setstopmark <SID>). A diferena bsica que enquanto no sistema operacional possvel acrescentar uma stopmark apenas no final da fila, atravs do TMS possvel colocar o end mark onde for mais conveniente. Este processo muito til quando desejado disparar um import em bloco porm at um determinado ponto apenas. O import all (caminho) efetua o import at encontrar a marca postada na fila. Operacionalmente recomendvel que sempre se feche a fila (end mark) antes de iniciar um import, evitando que requests liberados durante o processo tambm sejam transportados inadvertidamente.
jluiz@cemig.com.br
Pgina 76
ACADEMIA
BASIS
Para evitar inconsistncias entre change requests, somente efetue imports de changes isolados quando, com completa certeza, conhecer o seu contedo e sua independncia dos demais requests. Estes imports so denominados Preliminary imports. Como garantia, o TMS mantm os preliminary imports na fila para que sejam retransportados quando se efetuar o import padro (all). Em condies especiais possvel especificar parmetros diferentes quando do import. So as opes u do comando tp no sistema operacional. Este processo chamado expert mode. Existem uma srie de opes nos expert modes e elas sero detalhadas mas adiante.
Transport Monitoring
possvel monitorar o processo de transporte atravs de uma srie de ferramentas do Import Monitor do TMS. O sistema permite ainda que se verifique a consistncia dos arquivos no sistema operacional (Consistency check) e o return code produzido por cada transporte atravs da visualizao da ALOG. O TMS tem ainda ferramentas para testar as funcionalidades do tp program e ainda verificar a configurao do diretrio de transporte (System check) alm do funcionamento das conexes RFC com os sistemas que compem o landscape. Atravs do Alert Monitor do CCMS possvel integrar algumas funes de monitorao com o TMS permitindo a gerncia centralizada do sistema R/3.
Transport Process
O processo de transporte pode ser descrito nos seguintes passos: O lder do projeto libera o change request aps verificar o trmino das tasks com os integrantes do grupo de trabalho O lder verifica ainda se o export foi realizado com sucesso informando ao administrador do sistema qualquer anormalidade O administrador importa o change request no sistema de consolidao e garante a execuo correta do processo com return codes aceitaveis. O time funcional garante os testes exaustivos no ambiente de consolidao. Qualquer problema detectado dever ser informado ao lder do projeto para que se inicie a correo e repita o export de uma nova correo para o sistema de consolidao O administrador do sistema efetua o import para o ambiente de delivery e demais sistemas configurados do conjunto consistente de change requests no landscape e garante a execuo correta do processo com a devida verificao dos return codes. Durante o processo de testes de uma funcionalidade pode ser necessrio congelar o trabalho no ambiente de desenvolvimento para garantir a estabilidade dos testes. Isto facilita a correo de possveis problemas encontrados nos objetos, que seria mais difcil de ser corrigido se o processo de desenvolvimento tivesse continuado no objeto durante os testes. Uma estratgia peridica para a importao dos transportes dever ser implementada e negociada com as equipes de desenvolvimento. Import all devero ocorrer mensalmente, semanalmente ou diariamente. Imports mais freqentes no so recomendados no ambiente R/3. O processo de import deve ser feito durante a baixa atividade do sistema e logo aps um backup da base. A SAP recomenda que o transporte de um projeto seja efetuado apenas quando todos os seus componentes estiverem totalmente desenvolvidos evitando a estratgia de enviar objetos individualmente a medida que vo ficando prontos.
jluiz@cemig.com.br
Pgina 77
ACADEMIA
BASIS
The tp Program
O transport control program uma ferramenta executada a nvel de sistema operacional que controla todas as operaes de transporte no sistema R/3 usando programas especiais (por exemplo em C), comandos de sistema operacional e programas ABAP no R/3. O TP opera as operaes de export e import separadamente, extraindo/atualizando as informaes de controle na base de dados do R/3 e levando para files (buffer, log e cofiles) no diretrio de transporte e posteriormente, atravs de comando explcito, importa os dados no sistema destino. Ele no faz a manipulao dos dados que sero transportados (o responsvel por isso o R3trans que ser visto a seguir). Apesar de ser uma ferramenta no sistema operacional (diretrio de exes), o tp deve ser utilizado atravs da interface do TMS que efetua as chamadas apropriadas para cada tarefa. Sua utilizao uma chamada tp <command> [argumento] [option(s)] como pode ser visto abaixo : tp help, exibe o help do tp tp <command>, exibe o help de um comando especfico tp go <SID>, checa o database de um sistema destino tp connect <SID>, checa a conexo tp showinfo <request>, exibe informaes de um determinado change request tp count <SID>, numera os requests para import em um sistema tp checkimpdp <SID>, exibe como o RDDIMPDP est schedulado em um determinado sistema tp showparams <SID>, exibe a parametrizao atual de um sistema tp status <SID>, exibe o status de serializao de um sistema O comando tp import all <SID> client=nnn executa o import de toda a fila de transporte do sistema <SID> no client nnn. Este o comando normalmente emitido pelo TMS.
jluiz@cemig.com.br
Pgina 78
ACADEMIA
BASIS
O comando tp import <request> <SID> client=nnn u0 executa o import de um request especfico e o mantm na fila, eqivalendo ao preliminary import do TMS. Quando se suprime a opo u0 o request retirado da fila de import. preciso tomar cuidado com imports individuais para garantir a manuteno da seqncia correta com que os mesmo foram exportados.
O import mode incondicional (com especificao da opo u<dgito>) tem os seguintes modos: u0, importa o buffer sem deletar o request da fila u1, ignora se o request j havia sido importado u2, sobrescreve os originais u3, sobrescreve objetos especficos do sistema u6, sobrescreve objetos em modo unconfirmed u8, ignora restries estabelecidas na tabela de classificaes u9, ignora o fato do sistema estar lockado para este tipo de transporte O buffer de um determinado <SID> manipulado pelos comandos tp especficos, como por exemplo addtobuffer, showbuffer, delfrombuffer, cleanbuffer, setstopmark e delstopmark. Estes comandos manipulam as linhas do arquivo especfico de cada sistema existente no subdiretrio buffer do diretrio de transporte.
jluiz@cemig.com.br
Pgina 79
ACADEMIA
BASIS
somente quando a verso correta esteja importada no sistema, evitando desta forma que a verso com erro seja ativada temporariamente como ocorreria se o processo fosse seqencial por request. Para garantir a consistncia do tratamento da fila de import, o programa tp coloca automaticamente um setstopmark na fila no incio do processo e a retira no final. Cada operao efetuada durante o processo logada pelo tp com o respectivo return code nos arquivos de log do sistema de transporte. Ocorrendo erros no processo o programa tp interrompe e aps a correo pelo administrador, um restart faz com que o tp encontre o ponto de parada e recomece o processo a partir daquele ponto. Qualquer return code maior que 8 interrompe o programa tp. Este valor entretanto pode ser configurado no arquivo TPPARAM (atravs do parmetro stoponerror) Os passos durante o import so (os passos com * so genricos e feitos em todas as requests) : DDIC Abap dictionary import ACTIV Abap dictionary activation Distribution Structure conversion (*) Move nametabs (*) MAIN Main import MC ACT Activation of the enqueue definitions MC CONV Enqueue conversion (*) ADO Import of application defined objects ADOs LOG Logical import (esta fase ainda no foi implementada e ser utilizada para a importao em um shadow client antes de fazer em um target client) VERS Versioning XPRA Execution of user defined activities GENERA Generation of abap prograns and screens
jluiz@cemig.com.br
Pgina 80
ACADEMIA
BASIS
Transport Monitoring
Todas as logs do processo de transporte so gravadas no subdiretrio de log. So logs criadas pelo tp program (ULOG, SLOGs e ALOG) e pelas demais ferramentas de transporte. A ULOG contm todos os comandos tp sem erros de sintaxe. Cada linha representa um comando. Existe um arquivo SLOG<YY><WW>.<SID> para cada sistema R/3 do landscape e usado para monitorar as atividades de transporte de um sistema especfico. Contm uma viso geral dos imports efetuados indicando os respectivos return codes e consequentemente o sucesso de cada import. O ALOG<YY><WW> contm todos os return codes de cada um dos steps executados nos processos de import efetuados no seu transport group. Alm destes arquivos de log, o diretrio de logs possui uma log por change request. Estes arquivos possuem o formato <source SID><action>9<5digits>.<target SID> onde o action pode ser : E de main export feito pelo R3trans P de test import feito pelo R3trans H de dd import objects feito pelo R3trans A de dd activiation object feito pelo RDDMASGL S de dd distribution object feito pelo RDDGENBB N de dd conversion object feito pelo RDDGENBB 6 de dd move nametabs I de main import feito pelo R3trans T de import of table entries feito pelo R3trans M de enqueue activation feito pelo RDDGENBB G de repository object generation feito pelo RDDIC03L V de version update feito pelo RDDIC As diversas ferramentas envolvidas no transporte envia return codes que so consolidados pelo programa tp da seguinte forma: 0 a 16, indica os valores mximos de todos os return codes das ferramentas 17 a 99, que um valor calculado a partir daqueles retornados pelas ferramentas de transporte e so warnings indicando problemas detectados pelo tp, como por exemplo a no permisso de write no diretrio buffer 100 a 149, so warnings indicando que alguma coisa vai mal e nem todas as tarefas puderam ser completadas 150 a 199, so erros (raros de acontecer) indicando uma operao ilegal solicitada pelo operador 200 ou mais, indica erros no tp Para obter uma descrio de um return code, utilize o comando tp explainrc <rc>. Para acompanhar todo o processo verifique as logs dos transportes que foram feitos. As logs de transporte podem ser visualizadas atravs do Alert Monitor sob a forma de uma estrutura em rvore que pode sofrer drill down. O diretrio de transporte deve ser limpo de tempos em tempos para eliminar transportes antigos e desta forma liberar rea no sistema. O comando tp check all varre os diretrios de transporte e os arquivos referentes a transportes j executados so gravados em um arquivo denominado ALL_OLD.LIS no tmp. O comando tp clearold all l o arquivo gerado pelo comando tp check all e percorre os arquivos referentes as suas entradas e elimina aqueles que aparentemente no sero mais necessrios e se tornaram obsoletos baseados em timestamps definidos pelos parmetros datalifetime, olddatalifetime, filelifetime e loglifetime do TPPARAM. Antes de efetuar esta operao recomendado que se efetue uma cpia backup por segurana.
jluiz@cemig.com.br
Pgina 81
ACADEMIA
BASIS
Client Tools
As ferramentas de client copy e client transport foram criadas para executar a transferncia de dados entre clients. Estes dados sobrepem os dados do client destino. As ferramentas de client no foram concebidas para combinar dados de vrios clients. Os dados so categorizados como dados de customizao, dados mestre de usurio ou ainda application data. Dentre estes somente o mestre de usurios pode ser manipulado mais livremente e combinado com outros de outras fontes. No lado oposto est o application data que no pode ser manipulado de forma alguma sem o correspondente dado de customizao. Os mecanismos de cpia permitem a cpia local, remot ou atravs de transporte. Cada um destes possui uma caracterstica diferente. A cpia local utilizada para copiar clients dentro da mesma instncia e no consegue copiar as customizaes client-independents e os objetos de repositrio. J a cpia remota permite faz exatamente a mesma coisa s que entre sistemas R/3 diferentes e utilizando conexes RFC. O transporte de client o mais abrangente, com ele podemos levar um client de um sistema R/3 para outro, mesmo que o destino no esteja ativo no momento, e podemos levar todo tipo de customizaes. As ferramentas de transferncia de dado entre clients so definidas por profiles que definem o escopo dos dados que sero transferidos. Por exemplo: SAP_ALL, todos os dados do client SAP_CUST, customizing data SAP_CUSV, customizing e variantes de relatrio SAP_UAPP, user master e reports SAP_UCSV, user master, customizing e variantes SAP_UCUS, user master e customizing SAP_USER, user master Quando a inteno a criao de um client novo, uma entrada dever ser criada inicialmente atravs da transao SCC4. Clients recm criados possuem apenas o user SAP* hard coded (password PASS) e atravs dele que efetuaremos a cpia Clients protegidos contra cpia no podem ser sobrescritos. Esta proteo especificada na SCC4. Por questes de integridade, recomendado que no se log no client destino durante a cpia. Pela mesma razo recomendado que no se utilize o client source durante o processo
Client Transport
Diferentemente do processo de cpia remota, a transferncia no executada por RFC, embora este processo tambm permita a transferncia de dados entre sistemas distintos. O processo consiste de dois steps: no primeiro os dados so exportados para files no sistema operacional e no segundo estes dados so importados para o client destino.
jluiz@cemig.com.br
Pgina 82
ACADEMIA
BASIS
Diferentemente tambm dos dois outros processos, necessrio logar no client source e efetuar atravs da transao SCC8 o export dos dados. Durante este processo necessrio especificar o sistema target que dever compartilhar o mesmo transport domain. Por ser um processo demorado dever ser schedulado em batckground. O processo de export de um client utiliza chamadas ao programa tp e cria at 3 arquivos no sistema operacional: RTnnn com dados client dependent, ROnnn com dados client independent e finalmente SXnnn contendo SAPscripts. Alm destes files o processo cria arquivos na import queue (buffer) do sistema target (S-SID-KOnnn para independent e S-SIDKTnnn para dependent data). A segunda parte do processo, que a fase de import executada atravs da transao SCC7 que comanda o import. Primeiro deve-se importar os dados client independent e posteriormente os client dependent. Em seguida necessrio se logar no sistema target e executar o Post-process import para efetuar atividades requeridas pelo SAPscript e possveis steps de gerao de objetos ainda pendentes.
Copy Process
Durante o processo de cpia de client, o sistema inicialmente limpa os dados com a key do client no sistema destino. Number ranges so copiados do cliente source. Se o dado de aplicao no for copiado, o number range ser resetado. No possvel copiar dados de aplicao sem copiar junto os dados de customizao e os number ranges. A cpia apenas dos dados de customizao pode causar inconsistncias no momento do merge no client destino A profile SAP_USER a nica que no possui a opo de Initialize and Recreate O processo pode ser bastante demorado (dependendo do profile utilizado e volume de dados no source) devendo o processo rodar em background process. Durante o processo de cpia o logon fica inibido no client target exceto para os users SAP* e DDIC. ainda recomendado que no se trabalhe no client source durante a cpia. O processo de cpia ir gerar entradas nas tabelas do banco de dados e consequentemente exigir a disponibilidade de rea suficiente nos tablespaces do banco. As logs dos processos de cpia visualizada atravs da transao SCC3 e exibe informaes sobre estatsticas das tabelas, informaes de controle e informaes detalhadas sobre cada tabela copiada e suas interaes com os objetos do IMG. Cpias de client pelo processo de client transport so monitoradas atravs da SE01 (transport organizer) A monitorao do processo de cpia permite, em caso de abend do processo, o restart a partir do ponto em que ocorreu o problema. Esta opo pode ser utilizada aps uma anlise do problema ocorrido, sendo mais eficiente que a opo de um new start. Objetos do repositrio associadas a classe de desenvolvimento local ($TMP) no so copiadas durante o processo de client copy.
Client Delete
Clients so deletados atravs da transao SCC5. O processo de cpia poder inclusive ser agilizado se o client tiver sido anteriormente excludo do ambiente destino. No processo de delete os dados, SAPscripts e batch inputs
Client Compare
Quando vrios sistemas R/3 com clients distintos esto sendo implementados, pode ser necessrio comparar e ajustar as customizaes entre os diferentes sistemas e clents. A funo Compare. Esta funo compare permite comparar e ajustar o contedo de tabelas ou vises entre dois clients distintos. A transao SCUO utilizada para selecionar os tipos de objetos que sero comparados e ainda especificar se a comparao ser de dados clint dependents ou independents. A sada da comparao exibida de forma tabular e torna fcil a anlise das eventuais diferenas
jluiz@cemig.com.br
Pgina 83
ACADEMIA
BASIS
Eventuais ajustes podero ser efetuados atravs da transao SM30, que permite a manuteno da maioria dos objetos de customizao. Objetos que no podem ser ajustados pela SM30 podero apenas ser comparados.
jluiz@cemig.com.br
Pgina 84
ACADEMIA
BASIS
Three-System Landscapes
No landscape com 3 sistemas temos os seguintes ambientes: Development, contendo um client de customizao e desenvolvimento (CUST), e um client para testes unitrios (TEST) Quality Assurance, contendo um client de consolidao e teste sistmico (QTST) Production, contendo um client de produo (PROD) Esta implementao apresenta as seguintes vantagens: Desenvolvimento, qualidade e produo so implementados em ambientes distintos Maior segurana dos dados no ambiente de produo A performance do ambiente de produo no afetada pelos demais sistemas Ambiente de teste separado Consolidao dos transportes antes do envio para a produo A principal desvantagem desta opo o alto custo do hardware em funo da quantidade de mquinas necessrias
Two-System Landscapes
No landscape com 2 sistemas temos os seguintes ambientes: Development, contendo um client de customizao e desenvolvimento (CUST), um client para testes unitrio (TEST) e um client de consolidao e teste sistmico (QTST) Production, contendo um client de produo (PROD) Esta implementao apresenta as seguintes vantagens: Desenvolvimento e produo so implementados em ambientes distintos Maior segurana dos dados no ambiente de produo A performance do ambiente de produo no afetada pelos demais sistemas Ambiente de teste separado Administrao simplificada em funo da diminuio do hardware Esta implementao apresenta as seguintes desvantagens: Desenvolvimento e qualidade so implementados em um nico ambiente, ou seja, um ambiente pode impactar o outro. No possvel fazer um teste completo dos objetos do repositrio nem customizaes client independents antes que sejam transportados para a produo, que age aqui como o ambiente de consolidao No possvel consolidar os transportes antes de envia-los para a produo
One-System Landscapes
No landscape com 1 sistema temos os seguintes clients: Ambiente nico, contendo um client de customizao e desenvolvimento (CUST), um client para testes unitrios (TEST) , um client de consolidao e teste sistmico (QTST) e um client de produo (PROD)
jluiz@cemig.com.br
Pgina 85
ACADEMIA
BASIS
Esta implementao apresenta as seguintes vantagens: Toda a implementao em apenas um hardware Menor esforo de administrao, sem transporte de objetos do repositrio e customizaes client independents Esta implementao apresenta as seguintes desvantagens: Desenvolvimento de objetos e customizaes client independent afetam imediatamente o ambiente de produo Um ambiente impacta todos os outros ambientes tanto em performance, quanto integridade e segurana Upgrade da produo realizado sem um teste das funcionalidades Produo compartilha recursos de hardware com os demais ambientes com conseqncias ruins para a performance Como esta opo a mais precria e sucetivel a grandes impactos aps a entrada em produo ela s aceitvel se os desenvolvimentos parassem antes da entrada em produo. Se for necessrio fazer alguma correo no ambiente deve ser feito durante o perodo sem atividade produtiva.
Landscape Requirements
preciso que se tenha uma estratgia consistente para configurao dos sistemas no landscape para proteo dos repositrios e dos transportes consistentes entre os sistemas. Atravs de uma configurao correta de clients para os ambientes de produo e qualidade, possvel bloquear customizaes e desenvolvimentos fora do ambiente reservado para esta finalidade. A estratgia bem montada de distribuio de transportes, atravs da especificao cuidadosa de rotas de consolidao e distribio, e a definio de um ponto nico de alterao do ambiente (client de desenvolvimento) garante assim que todos os clients do landscape tenham configuraes consistentes. A configurao correta dos clients na SCC4 poder proteger produo e qualidade de configuraes e desenvolvimento e ao mesmo tempo fora a gravao automtica em change requests dos esforos de customizao e desenvolvimento ABAP. Alm disto um bom procedimento e agendamento dos mecanismos de transportes junto com padres de nomeclatura ajudam a garantir a estabilidade do ambiente.
jluiz@cemig.com.br
Pgina 86
ACADEMIA
BASIS
Passo 4: Os transportes liberados no ambiente CUST e que se encontram na fila de import devero ser importados para a o client QTST. Atravs da SCC1 os change requests podero transferidos para a TRNG. Volumes muito grandes de change requests podem ser agrupados em um nico change request ou simplismente podemos importar a fila no TRNG. Passo 5: Instale um sistema R/3 no ambiente de produo e, a partir do client 000, faa um client copy para criar o client PROD, que dever ser configurado para No changes allowed e No changes to repository and client independent customizing. Em seguida import toda a fila de requests para o novo client configurado. A partir deste momento, qualquer change request liberado na CUST dever ser copiado para a TEST utilizando a SCC1. Uma vez testado, o change ser importado para consolidao na QTST e eventualmente transferido atravs da SCC1 para a TRNG. Changes consolidadas sero finalmente importadas no ambiente de produo.
ASAP Recomendations
As change requestes e seus histricos devero estar muito bem documentadas no ambiente e nenhuma alterao pode ser feita sem estar contida em uma change request. Documente o que contm a request, o que resolvido, quem fez a alterao e quando foi transportada para cada um dos ambientes. Tenha estabelecido desde o incio critrios bem definidos para regulamentar as change e seus transportes entre as instncias com as respectivas rotas e a periodicidade do transporte em cada uma das rotas. Distribua os transportes apenas quando eles contiverem uma unidade completa de desenvolvimento ou customizao. Evite fazer upgrade durante o processo de desenvolvimento. Se for impossvel, tenha certeza que requests geradas em uma verso/nvel de hot package s sero transportadas para um ambiente com a mesma verso/nvel de hot package.
Alternative Landscapes
Alternativamente, apenas o client CUST poder ser criado inicialmente com as opes de gerao de change request desligadas. Quando se decide criar o sistema TEST no mesmo sistema, ele ser gerado a partir de um client copy do CUST e a partir deste momento deveremos ligar a gerao automtica de change requests, uma vez que a nica forma de sincronizar os dados client independents daqui para a frente ser atravs da movimentao dos changes via SCC1. A criao do client de qualidade (QTST) feita atravs de um client export/import, assim como o produo. A principal vantagem deste mtodo alternativo que a gerao de transportes somente precisa ser ativada e gerenciada quando acrescentamos um segundo client no landscape. A desvantagem que no possuiremos o histrico completo das change e, principalmente, quando do momento dos client export dados de customizao ainda no totalmente consolidados estaro sendo movimentados para os demais ambientes. Alm disto devemos ter cuidado em relao a objetos do repositrio pois eles no estaro presentes na cpia do client. Para solucionar isto temos que ter todos os objetos alterados documentados para ser possvel gerar uma request que dever ser transportada antes do client import. Uma terceira opo a criao dos ambientes de QAS e PRD a partir de homogeneous system copy, embora esta estratgia no seja recomendada pela SAP. As principais desvantagens esto associadas a falta de controle das request e a eventual presena de configuraes e desenvolvimentos no acabados no ambiente produtivo. Atravs da configurao do TMS e suas rotas de consolidao e distribuio possvel definir os mais complexos cenrios que possamos necessitar na instalao. As rotas de distribuio (delivery) podem ser paralelas para vrias instncias ou ainda em cascata, dependendo da configurao TMS. Uma implementao Phased Development necessria em algumas situaes especiais, como por exemplo em um upgrade ou implementao de novo mdulo SAP. Neste caso, as customizaes efetuadas no seu ambiente de produo precisaro ser replicadas manualmente para o ambiente original para manter a integridade do sistema.
jluiz@cemig.com.br
Pgina 87
ACADEMIA
BASIS
possvel ainda manter um cenrio de desenvolvimento multi-layered com vrios ambientes de integrao com suas prprias rotas de consolidao e distribuio. A maior dificuldade neste cenrio a manipulao das customizaes que no possuem o conceito de proprietrio. O desenvolvimento mais simples de gerenciar atravs da criao de classes de desenvolvimento distintas.
Transport Organizer
O Transport Organizer (SE01) uma ferramenta que fornece solues para a manipulao de cenrios mais complexos que no podem ser gerenciados pelas ferramentas normalmente utilizadas. As funes de transportes e realocaes permite transportar cpias de objetos ou realocaes de originais. possvel manipular Object Lists, que so colees de objetos que podero servir para template da funo Include Object List conseguindo desta forma incluir object lists em change requests.
jluiz@cemig.com.br
Pgina 88
ACADEMIA
BASIS
R/3 Upgrade
Em um tpico landscape de 3 sistemas, cada ambiente (partindo do desenvolvimento) passa por uma seqncia de transportes standard. So tarefas tais como customizaes, patches, e ajustes no sistema. Estas alteraes so executadas no ambiente de desenvolvimento e transportadas para os demais ambientes. Uma das tarefas mais importantes durante a preparao para o upgrade rodar o script PREPARE (integrante da ferramenta retrofit que integra a localizao que existia na verso 3.0 com o correspondente standard que vem na verso 4.0) e que responsvel por fazer uma srie de checks, a saber : Quais so as verses do banco de dados, do sistema operacional, e do R/3 Quais abaps preciso ser realterados Existe espao suficiente no banco de dados Existe alguma reparao em andamento Quais so as lnguas suportadas Qual o nvel de hot package e se todos esto confirmados usurio tem as devidas permisses no sistema operacional Aps todo este processo o prepare gera um arquivo chamado \usr\sap\put\log\checks.log) no sistema com as aes necessrias para viabilizar o upgrade. A execuo deste script no faz parte do upgrade em si que feito utilizando o programa R3up que tem funcionamento semelhante ao R3setup que utilizado na instalao. Durante o processo de upgrade, so efetuadas alteraes de ajuste usando as transaes SPDD e SPAU. O processo de upgrade passa por passos que so efetuados com o sistema ativo ainda no release antigo, a retirada do sistema para que o dicionrio seja atualizado e posteriormente mais tarefas novamente com o sistema ativo, agora j no novo release. Antes de fazermos o upgrade do R/3 j temos que ter cumprido alguns passos obvieis como a execuo do script prepare, upgrade do sistema operacional, eventual upgrade do hardware, upgrade do banco de dados e outros fatores que possam ser pr-requisitos para o R/3. O primeiro passo efetivo do upgrade a transferncia para o repositrio do R/3 dos novos objetos enviados em um CD. Este processo passa pela comparao dos objetos para identificar possveis modifications efetuadas pelo usurio nos objetos SAP standard. Todas as modificaes que o cliente desejar manter e cujos objetos SAP no novo release tambm foram alterados, precisam ser casados com os objetos SAP. Este processo executado atravs das transaes SPDD e SPAU e conhecido como Modification Adjustment. Existem diversos tipos de modification adjustment que so executados antes (atravs da SPDD) e depois (atravs da SPAU) da fase do Data Dictionary Activation. Durante esta fase de activation o sistema desativado, que pode durar vrias horas. Aps esta fase o sistema reativado j no novo release. jluiz@cemig.com.br Pgina 89
ACADEMIA
BASIS
Repository Switch
O corao de um processo de upgrade o Repository switch. Inicialmente um repositrio inteiro na nova verso colocado no sistema e permanece inativo. Este processo requer uma rea adicional em disco que somente ser liberada quando o novo repositrio for ativado e o antigo deletado. Para preservar as modifications introduzidas pelo usurio, durante o processo de switch do repositrio as alteraes introduzidas pelo usurio so transferidas para o novo repositrio atravs da modificao dos correspondentes objetos SAP do novo release. A fase de modification adjustment somente ser necessrio quando o objeto alterado pelo cliente tambm foi modificado pela SAP (seno ele ser movido integralmente) e quando questionado, o cliente decide continuar com suas alteraes por achar que o novo release no incorpora devidamente suas necessidades. Caso o cliente aceite o novo objeto, suas antigas alteraes sero descartadas. No processo de preparao do repository switch acontecem as seguintes operaes: Transfere para o novo repositrio modifications introduzidas pelo cliente cujos objetos SAP no sofreram mudana no novo release Salva no version database todas as modifications que foram efetuadas em objetos que sofreram mudana no novo release. Isto permitir efetuar os ajustes posteriormente Copia os objetos que foram gerados atravs do processo de customizing para o novo repositrio Transfere para o novo repositrio todas as documentaes, verses inativas de objetos e desenvolvimentos executados pelo cliente, alm dos objetos locais Uma vez que as operaes acima foram efetuadas, o repository switch poder ser efetuado. Caso no existam objetos que necessitam de adjustment, o switch uma simples questo de reativar o novo repositrio. simples e rpido, sendo portanto sempre desejvel que os objetos SAP permaneam o mais standard possvel.
jluiz@cemig.com.br
Pgina 90
ACADEMIA
BASIS
Ou seja, ela possui um pouca do lado bom das outras duas e por isto que esta opo a recomendada pela SAP e j o default.
Modification Adjustment
O processo de modification adjustment consiste na transferncia para os novos objetos SAP das modifications introduzidas pelo usurio no release anterior. A transao SPDD utilizada para efetuar esta transferncia em certos objetos do dicionrio ABAP, tais como domains, data elements, table structures, transparent tables, pooled tables, cluster tables e table technical settings. A no execuo desta tarefa causaria a perda de dados Aps a ativao do novo dicionrio, a transao SPAU utilizada para ajustar alguns objetos que se no ajustados no causariam perda de dados, apenas perda de funcionalidade. Estes objetos seriam objetos de lock, matchcodes e views, alm de objetos do repositrio, tais como ABAP programs, function modules, menus, screens ou module pools Ao trmino da execuo destas duas tasks (SPDD e SPAU), todas as modifications estaro incorporadas no novo release. No release 4.0 o processo de pre-upgrade PREPARE (script mencionado anteriormente e integranda retrofit tool) para o upgrade efetua um check geral do sistema e lista todos os objetos que sofreram modifications e consequentemente necessitaro de passar pelas SPDD e SPAU, podendo desta forma haver um melhor planejamento do esforo a ser gasto no processo. O processo de modification adjustment executa um comparao entre as duas verses do objeto. Para cada objeto, as transaes SPDD e SPAU guiam o usurio atravs dos processos de ajuste, oferecendo ainda a opo de aceitar a nova verso ou executar os ajustes necessrios. Estes ajustes, quando efetuados, sero salvos em change requests (um para a SPDD e outro para a SPAU) permitindo que o processo de upgrade nos demais sistemas possam ser efetuados de forma mais simples pela aplicao destes transports. Este procedimento de transporte simples e poupa esforos de efetuar os adjustments em cada ambiente, porm somente possvel apenas se todos os sistemas do ambiente estiverem nos mesmos nveis de modification no momento dos upgrades. Um landscape bem planejado e bem gerenciado torna este processo vivel e diminui sensivelmente os esforos no upgrade. Em relao as responsabilidades do processo de upgrade, temos que ter em mente que os administradores do sistema so responsveis pelo upgrade mas os times funcionais e de abap so responsveis pelos ajustes e testes das funcionalidades que sero afetadas pelo upgrade.
ACADEMIA
BASIS
Menu exits, podendo o cliente introduzir novas opes no menu Screen exits, que so telas adicionais Field exits, que so programas ou function modules conectados a um campo de tela para executar funes por exemplo de consistncia personalizada de preenchimento. Ao contrrio dos demais tipos de exits, field exits no precisam ser criadas para um determinado campo, podendo o cliente decidir pela sua colocao em qualquer campo.
As append structures permite que se acrescente campos em tabelas SAP sem a necessidade de alterao dos objetos standard do sistema. Os campos includos ocupam fisicamente uma outra rea e apenas sero incorporados a nova verso do objeto no novo release. Estas estruturas devero possuir nomes no customer range (Z) para evitar que sejam sobrescritas no momento do upgrade. A incluso destas estruturas entretando no so permitidas a pool tables, cluster tables ou tables que possuam campos LONG RAW.
jluiz@cemig.com.br
Pgina 92
ACADEMIA
BASIS
jluiz@cemig.com.br
Pgina 93
ACADEMIA
BASIS
do sistema operacional da mquina onde o spool work process que cuida de envia-los, seja para uma impressora conectada diretamente ao host ou atravs da rede. o mtodo mais rpido, uma vez que a tarefa de gerenciamento do string at o dispositivo de sada fica a cargo do sistema operacional, liberando o work process desta tarefa. Evite utilizar o host onde o sistema R/3 est rodando como o host que controla esta fila de impresso e possui uma impressora ligada fisicamente pois isto vai consumir recurso do sistema operacional. Existem cinco mtodos de acessos, a saber : L, utilizado onde o output request passado para o gerenciador de impresso do sistema operacional (do tipo line command). O mais comum ser utilizado no ambiente unix mas tambm pode ser utilizado no ambiente Windows NT. Os comandos a serem utilizados para imprimir e para verificar a fila podem ser redefinidos atravs dos parametros rspo/host_spool/print e rspo/host_spool/query, respectivamente C, utilizado onde o output request passado para o gerenciador atravs de call a bibliotecas especficas do sistema operacional. Deve ser utilizado com Windows NT e AS/400 E, utilizado para enviar o output request para um OMS (ser detalhado logo a seguir) P, utilizado para enviar o output request para um device pool F, utilizado para impresso no front-end e quem formata o output device o dialog work process Remote printing consiste na transferncia dos output requests diretamente para os dispositivos remotos. Neste caso o spool work process fica responsvel pela negociao com o dispositivo atravs da rede. Este mtodo de acesso remoto menos otimizado por onerar o work process gerando possveis contenes na impresso. O spool work process fica preso at que ele consiga passar todas as informaes para o spooler remoto (ou saplpd) que eventualmente fica esperando o buffer da impressora, ou seja, o spool work process fica preso at que a maior parte da impresso fsica seja feita. A transmisso remota feita atravs de lpd (line printer daemon) e a SAP prov o programa SAPLPD para as plataformas que no possuem este protocolo standard. Devemos utilizar este mtodo somente quando a rede for muito rpida e muito confivel. Os mtodos de acesso so : U para os ambientes baseados no unix e impressoras de rede S para ambientes windows 9x com saplpd
Spool Administration
A transao SPAD utilizada no R/3 para a administrao de spool. As impressoras (output devices) so definidas especificando o mtodo de acesso (local L ou C - ou remoto U ou S para unix e windows respectivamente ) e suas caractersticas (device type, spool server, print server, atributos documentacionais, etc.). Para impressora remota devemos sempre utilizar o nome do print server no formato UNC //<host_name>/<printer_share_name>. Na verso bsica da SPAD podemos definir output devices, spool servers, access methods e destination hosts. Podemos tambm verificar a instalao, deletar spools antigos, verificar a TemSe e acionar SP01.
Frontend Printing
A impresso frontend no R/3 permite que usurios enviem output requests para impressoras que no foram definidas como output devices no R/3. o denominado mtodo de acesso F. Caso a estao do usurio seja um PC windows, o request enviado para um SAPLPD rodando na estao do usurios. Se o SAPLPD no estiver rodando, ele iniciado e manipula os requests e os envia para a impressora default do usurio. Neste mtodo de acesso o processamento do spool efetuado pelos prprios dialog work processes, no havendo necessidade de encaminhar o request para os spool work processes. Para definir uma impressora frontend para as estaes windows, alm de especificar o mtodo de acesso F, necessrio definir o device type SWIN (qualquer impressora com device instalado no windows) e o host printer dever ser __DEFAULT. Este mtodo dever ser evitado em sistemas produtivos por utilizar os work processes para tarefas que deveriam estar reservadas para os spool work processes alm de prender o dialog work process at que todos os dados da impresso sejam passados para a estao onde est o frontend e o saplpd.
jluiz@cemig.com.br
Pgina 94
ACADEMIA
BASIS
jluiz@cemig.com.br
Pgina 95
ACADEMIA
BASIS
Device Pools
O conceito de device pools permitir que se defina um pool de dispositivos de sada que podem ser referenciados atravs de um nico nome. Device pools so definidos especificando mtodo de acesso P e a lista dos dispositivos que o compem. Output requests podem ser enviados para todos os dispositivos que compem o pool simultaneamente ou pode-se requisitar que o sistema efetue o balanceamento de carga entre os dispositivos de sada da lista. Os dispositivos que compem a lista de um device pool podem ainda ser acessados individualmente como devices independentes. Para o caso de utilizarmos o balanceamento de carga temos que ter certeza que a rede e o gerenciador de impresso do sistema operacional tem bom tempo de resposta pois para balancear a carga o R/3 vai fazer query para saber o status do device.
ACADEMIA
BASIS
Non-Standard Printers
Quando um determinado dispositivo de sada no possui device padro no R/3, possvel criar um driver personalizado para o dispositivo atravs da especificao de alguns objetos. A transao SPAD, em extended admin, fornece todos os mecanismos para formatar e testar o drive a ser utilizado pelo novo dispositivo. Antes de definir um novo dispositivo, verifique no OSS se j no existe disponvel o novo driver para ser baixado do sapservX. Se for necessrio criar realmente um novo driver cpie um j existente e altere o que for necessrio, sempre tentando manter o mais prximo do standard possvel (user references flag)
Character set
O character set especifica os cdigos internos armazenados no spool request e seus respectivos ASCII que sero impressos. um de para. Cada caracter tem um cdigo interno no R/3 (nenhuma relao com o ASCII), cuja lista pode ser visualizada atravs da SPAD (Full Administration SAP characters). possvel acrescentar caracteres nesta lista, utilizando os cdigos 9000 a 9999. Cada tabela de character set disponvel transcreve este cdigo interno R/3 para um determinado ASCII. Para adapter uma determinada tabela, necessrio inicialmente copia-la e ento efetuar as alteraes na cpia e salvando posteriormente as alteraes em um character set identificado por 9nnn (comea por 9)
Print controls
Os print controls determinam como um determinado dispositivo efetua determinadas operaes, como por exemplo imprimir em bold. Print controls so especficos de cada device e durante a formatao so convertidos para determinadas sequencias de caracteres. A sequencia correta deve ser obtida no manual da impressora, aps ter certeza que a SAP no disponibilizou driver para este device.
jluiz@cemig.com.br
Pgina 97
ACADEMIA SAPconnect
BASIS
O SAPconnect uma camada que permite a comunicao do R/3 com outros sistemas externos, tipo fax ou mail servers. A conexo do R/3 com sistemas externos normalmente requer a especificao de interfaces externas, porm a conexo entre dois sistemas R/3 via SAPconnect pode ser feita diretamente. Estes adapters externos devem ser fornecidos por cada fornecedor interessado em se conectar com o sistema R/3. A SAP fornece um adapter para o Microsoft Exchange Server que pode ser configurado para integrar as duas ferramentas. Para configurar o SapConnect utilize a transao SC0T. Para maiores informaes sobre o SapConnect utilize as notas 34705 e 92950.
jluiz@cemig.com.br
Pgina 98
ACADEMIA
BASIS
Installation Check
Hardware e Software
Antes de comear uma instalao necessrio garantir que os requisitos mnimos do checklist de instalao sejam atendidos. No pacote de instalao existe um checklist completo que deve ser seguido. Para o hardware, certificar-se de que seja um hardware homologado pela SAP e de alta disponibilidade, alm de verificar ainda o nmero de processadores, memria RAM e disco disponveis. Para o software, verificar se a verso do sistema operacional se encontra atualizada e suportada pelo R/3, checar os utilitrios make do compilador C e a configurao do kernel. Na camada de rede, checar a configurao TCP/IP, o hostname em minuscula e com at 8 dgitos. A estrutura de rede dever prover IP fixo para os hosts dedicados ao R/3 e uma boa proteo de segurana. Quando se usam mais de um servidores interessante ainda ter uma rede privada de conexo entre eles de alta capacidade para garantir velocidade na comunicao dos application com a central instance, alm do compartilhamento das mquinas que compem o landscape.Para maiores detalhes veja a nota 23538. O sizing do hardware normalmente especificado pelos fabricantes baseado nas recomendaes da SAP e de suas prprias configuraes. Alm disto necessrio garantir uma boa distribuio de discos alm de uma proteo poe espelhamento e sistemtica de backup do sistema operacional.
Oracle Database
A verso do banco de dados dever ser compatvel com R/3 e com o sistema operacional. O database name ser o mesmo system id do R/3. Alteraes posteriores no nome do database no so simples de serem efetuadas. Para garantir a comunicao entre os processos atravs da rede, as profiles Oracle referentes a configuraes de network so requeridas: listener.ora, tnsnames.ora, sqlnet.ora e protocol.ora. O oracle ser instalado em uma configurao prpria de sua rvore de diretrios e diversas variveis de ambiente so setadas para apontar para os caminhos corretos. A distribuio dos discos no ambiente de banco de dados tem influncia direta sobre a performance do banco, devendo desta forma dedicar um cuidado especial a esta parte. Os redo log files devem ser espelhados (RAID I) por hardware e por software (oracle). Os arquivos sapdata devem, preferencialmente estar isolados entre si e de todo resto. Alm disto e havendo disponibilidade, distribua os tablespaces PSAPSTABD e PSAPBTABD em filesystem nicos. Filesystems crticos (online redo logs, archive, paginao do OS) no devem ser instalados nos mesmos discos dos datafiles, que por sua vez devem estar em discos distintos. Evite utilizar RAID 5 para online redo log, saparch e o tablespace PSAPROLL. Estes pontos tem influncia direta sobre a performance. Aps a instalao, por questes de segurana, a password dos contas oracle SYS, SYSTEM e SAPR3 devero ser alteradas. Durante a instalao do Oracle sero gerados alguns arquivos importantes, a saber : %oracle_home%\net80\database initSID.ora contm todas as informaes da instncia oracle initSID.sap contm todas as informaes para permitir o backup da instncia oracle initSID.dba contm todas as informaes para o SAPDBA conseguir administrar o oracle %oracle_home%\net80\admin listener.ora que contm informaes para o listener (no lado do servidor do banco de dados) saber onde encontrar uma determinada instncia tnsnames.ora contm os parmetros para um processo cliente do oracle (que no est no servidor do banco de dados) conseguir conectar com uma instncia sqlnet.ora contm informaes administrativas para os processos clientes do oracle protocol.ora contm o switch para o tcp.nodelay (opcional)
jluiz@cemig.com.br
Pgina 99
ACADEMIA
BASIS
A estrutura de diretrio do oracle baseada em duas variveis. O oracle_home normalmente o \orant e o sapdata_home normalmente o \oracle\SID. Alm destas variveis temos que diferenciar as rvores do lado oracle server e do lado oracle. A estrutura bsica da rvore : Server site \%oracle_home% \ rdbms80 \ bin \ net80 \ database \%sapdata_home% \ sapdata1 ... \ origlogA Client site \%oracle_home% \ rdbms80 \ net80 \ admin \ nlsrtl31 \ data \ nlsrtl32 \ data \ nlsrtl33 \ data
R/3 System
O system id (SID) de uma instncia R/3 dever ser nica no landscape e composto de 3 caracteres alfanumricos, sendo o primeiro alfabtico. Alguns nomes so reservados, devendo ser escolhidos cuidadosamente, j que qualquer alterao exigir a reinstalao do R/3. Alguns parmetros do kernel Unix so relevantes para a instalao e funcionamento do R/3. Verifique a sua configurao e efetue as alteraes necessrias de acordo com o manual de instalao OS Dependencies. O programa memlimits disponibilizado no CD de instalao pode ser utilizado para checar alguns destes parmetros. A instalao do R/3 dever ser executada em uma mquina que no deve possuir outro servio como pdc, bdc, etc. A estrutura de diretrio a ser utilizada j pr determinada pela SAP. Esta rvore contm dois ramos bsicos, os diretrios globais que sero compartilhados entre sistemas e os diretrios locais da instncia, a saber : \usr\sap (compartilhado como sapmnt e saploc) \ put \ tmp \ trans \ <SID> \ SYS \ profile \ exe \ run \ dbg \ opt \ global \ <instance_name> \ work \ data \ log
Uma instncia R/3 possui um nmero (2 dgitos) informado pelo administrador no momento da instalao e ser utilizado pelo R/3 para compor os nmeros das portas para diversos servios
jluiz@cemig.com.br
Pgina 100
ACADEMIA
BASIS
TCP/IP que sero utilizados pelos processos. Estes servios sero registrados pelo programa de instalao no %windir%\system32\drivers\etc\Services do host: Porta para o dispatcher da instncia: sapdpnn 32nn/tcp Porta para o servio de gateway: sapgwnn 33nn/tcp Porta para o message server: sapms<SID> 36nn/tcp Os gateways 97, 98 e 99 alm do dispatcher 99 so reservados para a SAP para os R/3 service programs (OSS, SapConnect, EPS e SapRouter respectivamente). Para verificar o ambiente TCP/IP utilize os programas sapntchk (command line) ou sapsychk (win32). Para maiores informaes sobre a analise do log produzido veja a nota 65761 O TMS dever ser configurado corretamente em um landscape para permitir o transporte entre os vrios sistemas R/3 que o compem. Cada transport domain possuir um suas rotas de transporte e um dos sistemas receber atribuio de domain controller. Se por questes de performance, os frontend no devero se conectar ao host do database, utilizando para isto application servers. Se o message server for instalado em outro host que no o do database, a DEFAULT.PFL dever informar esta nova configurao atravs dos parmetros SAPDBHOST e rdisp/mshost. Aps a instalao, a transao SICK (ou SM28) utilizada para efetuar um check completo de consistncias entre verses do kernel e database, garantindo assim que no existiro inconsistncias na instalao. Alm disso bom configurarmos o saprouter, importarmos os hotpackages atravs da SPAM e a linguagem portugues atravs da SMLG. Quando se utilizam vrios application servers, necessrio garantir a sincronizao correta do buffer atravs de parmetro da instance profile (sendon,exeauto). Configure corretamente o mecanismo para backup do ambiente, seja do database como tambm do sistema operacional e diretrios do R/3 e faa o backup de tudo.
jluiz@cemig.com.br
Pgina 101
ACADEMIA
BASIS
Mechanism
Cada instncia R/3 possui seu prprio dispatcher e sua prpria queue de requisies organizada de forma FIFO first in first out, mantida na shared memory da instncia. Qualquer chamada de servio (outbound request) que no seja uma comunicao com o frontend e nem uma chamada RFC encaminhada pelo dispatcher para o message server. Isto aconter com os outbound requests para spool, update, enqueue e batch processamentos que a instncia no possuir work process para atender. A fila do dispatcher pode ser visualizada atravs do programa dpmon (nvel do sistema operacional) ou da transao RZ03, Edit -> Other views -> Dispatcher queues. Cada dispatcher organiza sua fila criando queues para cada tipo de work process: DIA, BTC, UPD, UP2, SPO, ENQ e uma fila NOWP para outgoing requests vindos destes vrios work processes. O tamanho default para cada uma destas filas 2.000. Caso a instncia no possua um determinado servio (por exemplo UP2), sua fila ter um tamanho de 5 requests apenas. O tamanho da fila do dispatcher mantida atravs do parmetro de profile rdisp/elem_per_queue. Caso ocorra um overflow na queue, ser gerada uma mensagem na SYSLOG. A monitorao das filas pode ser executada atravs da SM51, selecionando um servidor e requisitando Goto -> Queue information Para comparar a distribuio de carga entre os diversos servidores, a transao ST03. Atravs do Detail analysis menu possvel inclusive requisitar que as comparaes sejam exibidas em modo grfico: Compare all servers -> Graphics -> Avg response time/Dialog steps. Uma anlise do CPU time dos work process pela SM50 permite efetuar uma anlise para cada tipo de servio se o nmero de work process foi definido suficientemente. Como a distribuio dos servios pelo dispatcher feita de forma sequencial, os ltimos work processes de um determinado tipo com valores elevados de CPU indicam ocupao constante e portanto uma possvel espera excessiva de processos na queue deste tipo de work process. O incremento do nmero de work process, antes de ser feito, precisa ser analisado visando identificar se o recurso de hardware (principalmente memria mas sem esquecer a cpu) disponvel na instncia comporta mais work process. Evite o logon de usurios na central instance para evitar sobrecarga, j que normalmente esta instncia estar oferendo os servios de DB. Distribua os logons de usurios entre as instncias de dialog e faa o mesmo com a carga de spool e background.
jluiz@cemig.com.br
Pgina 102
ACADEMIA
BASIS
Possibilidade de agrupar usurios de reas afins em servidores especficos com isto otimizando a utilizao dos buffers das instncias que somente contero dados e programas relacionados com aqueles usurios Utilizao racional de code pages especficas quando houver necessidade deste tipo de configurao (por exemplo japanese)
Para termos isto precisamos categorizar os usurios em grupos e configurar os frontends para um logon especfico em um grupo especfico e no mais um servidor especfico. A conexo neste caso feita com o message server (servio sapmsSID 36##/tcp) e no mais diretamente com os dispatcher (servio sapdp## 32##/tcp) O dispatcher inicialmente procurar avaliar entre os servidores disponveis no grupo aquele mais indicado para receber a conexo de logon e a ento encaminha o usurio para o dispatcher selecionado. O programa RSRZLLG0 utilizado para efetuar o balance baseado em critrios como tempo de resposta e nmero de usurios logados em cada server. Este programa roda a cada 5 minutos ou a cada 4 usurios que se logam e determina o server favorito para o logon a cada instante. Este balanceamento baseado em pesos que so dados aos itens. A nota 51789 descreve o critrio e como altera-lo para melhor se adaptar as suas necessidades. O default do sistema o tempo de resposta ter um peso cinco vezes maior que a quantidades de usurios. A transao SMLG pode ser utilizada para monitorar a lista global dos usurios logados (Goto -> User list), a distribuio de carga entre os servers (Goto -> Load distribution) ou ainda ver qual o server favorito para logon (Goto -> System diagnosis -> Msg. Server status area). Procure sempre especificar logon groups com mais de um server provendo assim uma maior disponibilidade para o sistema. Entretanto, no adianta colocar todos os servidores em todos os grupos pois estariamos prejudicando os buffers. Devemos sempre monitorar e procurar um ponto de equilibrio. Preferencialmente faa um agrupamento baseado nas reas funcionais como FI com CO, SD com MM, PP separado dos demais, etc. Em casos extremos podemos criar uma user exit para impedir que um usurio entre em um ou mais grupos.
jluiz@cemig.com.br
Pgina 103
ACADEMIA
BASIS
servidores de update disponveis. Apesar de processado em work processes separado (quando disponvel), os updates V2 somente sero processados aps a poro V1 do processo tiver sido executada com sucesso. Quando um request de update disparado por um dialog server, o sistema verifica uma rea da shared memory denominada Update Dispatcher Information, para descobrir em qual server o update dever ser executado. Ele se baseia em algoritmos internos de balanceamento de carga (o dynamic update assignment) e a partir da o update request colocado na NOWP queue do dispatcher onde o update foi gerado. Os updates so distribudos em um processo cclico sequencial entre os servers disponveis obedecendo ao nmero de update work processes disponveis em cada um. Quando um ciclo completo de distribuio se fecha, o sistema inicia outro baseado no mesmo critrio. Este processo faz com que os updates sejam distribudos ao acaso fazendo com que updates pesados sejam distribudos aleatoriamente entre os servidores disponveis. Quando o algoritmo enderea um update para um determinado server, o message server entra em ao e movimenta o request da NOWP queue do server que gerou o request para a UPD queue do server que executar o servio Ao analisar os update work processes pela SM66, observe se o ltimo update de cada instncia mostra pouca ou nenhuma CPU. Alm disso o primeiro work process dever apresentar muito mais CPU que os demais. Se o sistema no apresentar este perfil, possivelmente estar havendo um gargalo no ambiente causado pela definio de poucos work processes de update. Use ainda a transao SM51 para exibir o maximum request wait. Este valor dever ser muito prximo de zero. Por outro lado caso existam muitos work processes com zero de CPU, certamente est havendo um excesso de recurso alocado. Para verificar a fila dos processos de update no dispatcher, utilize transao RZ03 (Edit -> Other view -> Dispatcher queue). A transao SM13 exibe o status do update. Nesta transao, atravs da opo Goto -> Server, podemos ainda verificar o nmero de updates enviados para cada server bem como informaes do dispatching. Por questes de performance, ao analisar o CPU time dos update processes em cada server, mantenha pelo menos um com 0 de CPU. Isto garante que no haver gargalos neste servio. Existe uma relao de custo benefcio em se manter os updates centralizados na central instance ou distribudos pelos servidores: Central instance: a vantagem que as instncias no precisaro manter programas de update de todos os mdulos otimizando assim a alocao dos buffers dos servidores do logon group. A desvantagem que no se faz uso do balanceamento de carga do update, que se encontra centralizado Distribudo pelas instncias: a principal vantagem o balanceamento distribudo do processamento de update, conforme descrito acima. A contrapartida que todas as instncias tero em seus buffers programas de update de todos os mdulos, j que quem distribui os processos o automatic load balancing de update. A configurao do update executada pelos seguintes parmetros de profile: rdisp/vbname: especifica o nome do servidor de update quando o automatic dispatching desabilitado rdisp/vb_dispatching: habilita o automatic dispatching. Este parmetro somente dever ser alterado quando explicitamente recomendado pela SAP rdisp/vb_context: seletor para partes do contexto de update rdisp/vb_included_server: lista dos servers que participam do dispatching. Quando no especificado o sistema assume todos os servidores que possuem updates configurados rdisp/vb_refresh_info: especifica o tempo em segundo com que haver um refresh da lista de dispatching rdisp/max_vb_server: mximo nmero de VB servers rdisp/wp_no_vb e rdisp/wp_no_up2: especificam os nmeros de update work processes (tipo 1 e 2) configurados na instncia
Configuration Summary
No existe uma regra especfica para o nmero de work processes configurados em cada instncia, devendo o nmero ser ajustado por observao da demanda. Recomenda-se apenas que se deixe sempre um work process de cada tipo com 0 de CPU garantindo a tima distribuio da jluiz@cemig.com.br Pgina 104
ACADEMIA
BASIS
carga. Existe uma recomendao informal da SAP que se configure 3 spool work processes por servidor de spool para que se tenha sempre um livre enquanto os outros dois estejam efetuando job quering e connection checking. Utililize a seguinte regra para definir a quantidade de work processes : Service Dialog Update Enqueue Background Message Gateway Spool R/3, System-wide >= 2 >= 1 1 >= 2 1 >= 1 >= 1 e <= 3 For each R/3 Instance >= 2 >= 0 0 ou 1 >= 0 0 ou 1 1 >= 1 e <= 3
jluiz@cemig.com.br
Pgina 105
ACADEMIA
BASIS
Uma instncia oracle o conjunto voltil de processos e estruturas de memria. Um banco de dados oracle um conjunto de arquivos de dados que so manipulados pela instncia oracle. Podemos dividir o Oracle em uma srie de estruturas de memria. A mais famosa entre elas a SGA (system global area) e ela um grande grupo de buffers de memria compartilhados, a saber : shared pool, database buffer cache e redo log buffer. Para acessar estas estruturas existem os processos que executam uma srie de tarefas de manuteno da instncia. Cada processo distinto, possui uma funo especfica, executado em background e assincronamente. Os principais processos so : pmon, smon, dbwr, lgwr, reco, lck ckpt, snp e arch. A shared pool uma poro de memria compatilhada que contm as reas chamadas de shared sql, library cache, data dictionary cache e sequence cache. Todas participam do processo e so as estruturas que contm os sqls que esto sendo execudados pelos mltiplos usurios. Essas reas contm ainda os comandos na forma interpretada e texto, a anlise dos comandos com os respectivos planos de execuo, informaes de dicionrios e geradores de nmeros sequenciais. O principal objetivo da shared pool viabilizar que um comando sql seja utilizado por diversos processos distintos. Uma nica shared sql area pode ser compartilhada por diversas aplicaes que usam o mesmo comando deixando mais reas em memria disponvel para os outros usurios e melhorando a performance de execuo de um comando, j que o plano de execuo estar definido em memria.
jluiz@cemig.com.br
Pgina 106
ACADEMIA
BASIS
O database buffer cache organizado em duas listas: a lista de blocos alterados e a lista dos blocos menos recentemente utilizados (LRU least recently used). Essa segunda lista contm os blocos livres, aqueles que esto em uso e inclusive blocos alterados. Quando um processo servidor precisa ler dados de um bloco do disco para o database buffer cache, ele pesquisa a LRU para localizar o bloco livre. Se encontrar um bloco alterado, movimenta-o para a lista de blocos alterados. Esse processo termina quando um bloco livre localizado ou quando um nmero especfico de blocos so pesquisados sem encontrar um bloco livre. O redo log buffer armazena todas as alteraes feitas em um banco de dados em memria. Todas as entradas de redo log neste buffer so escritas nos arquivos de redo log, que so usados para a recuperao do banco de dados, se necessrio. O Oracle cria um conjunto de processos que rodam em background para cada instncia, Esses processos executam diversas tarefas. Entre eles podemos destacar : DBWR O processo database writer escreve os blocos modificveis do database buffer cache para os arquivos de dados. Os dados mais antigos so escritos em primeiro lugar. O dbwr adia ao mximo a escrita dos blocos alterados para otimizao de I/O em disco para evitar aquela que uma das principais causas de queda de performance de um banco de dados. LGWR O processo log writer escreve todas as entradas de redo log para o disco. Os dados de redo log so armazenados em memria no redo log buffer, e no momento em que uma transao for efetivada ou o redo log estiver com preenchimento de pelo menos um tero, o lgwr escreve as entradas de redo log para os arquivos online redo log files. CKPT O processo de check point envia um sinal para o dbwr no momento do check point. Ele ento atualiza os headers dos control files e dos datafiles. SMON O processo de system monitoring efetua a recuperao da instncia em caso de falhas, durante a uma inicializao. Ele tambm limpa os segmentos temporrios que no esto sendo usados, liberando memria e recupera qualquer transao pendente no caso de uma falha fsica. Simplificando, o smon um monitor das aes do sistema detectando e corrigindo possveis falhas no sistema PMON O processo monitor executa a recuperao do processo de um usurio em caso de falhas. Ele limpa a rea de memria e libera os recursos que o processo usurio estava usando. Simplificando, o pmon um monitor das aes dos usurios detectando e corrigindo possveis falhas nos processos dos usurios ARCH O processo de archiver copia os arquivos redo log para fita ou mesmo outro disco, no momento em que um deles torna-se completo. Este processo geralmente est presente quando o banco de dados esta sendo utilizado no modo archivelog. RECO O processo de recover usado para resolver transaes distribuidas e pendentes. LCKn Os processos de lock (lckn) so usuados para controlar o lock entre instncias em uma configurao oracle parallel server. Dentro de uma instncia Oracle existem vrios processos que so criados quando a instncia entra em funcionamento. Eles se dividem em dois grupos : Dedicated shadow processes: que so os processos criados no Oracle para as conexes dos work processes. Existe uma relao de 1 para 1 entre estes processos e os work processes da instncia R/3 e eles s aparecem quando o R/3 est no ar Shared processes: so os processos criados no Oracle para gerenciamento e funcionamento da instncia que ir controlar o banco de dados. Eles tem atividades especificas e trabalham para a manuteno da instncia como um todo. Os dados so armazenados em datafiles organizados em blocos de 8k (8192 bytes). Estes blocos so carregados para uma rea comum da memria principal denominada database buffer pool. Sempre que uma leitura feita pelo menos dois blocos so carregados, um para header e outro para dados. Cada bloco do DB buffer pool contm um header com os dados das transaes que podero compartilhar o mesmo bloco. O nmero de entradas no header configurado pelo parmetro INIT<SID> do .ora. As alteraes efetuadas nos dados do banco de dados so feitas inicialmente no database buffer com a imagem anterior copiada para a rea de rollback e refletidas na redo log files garantindo com isso a segurana transacional dos dados. Estes redo log files so espelhados por questes de segurana. Os control files no so espelhados mas deve possuir mais de uma cpia, tambm por motivos de segurana. Para verificar quantos control files existe utilizem a view v$controlfile atravs
jluiz@cemig.com.br
Pgina 107
ACADEMIA
BASIS
de sql ou da ST04. Para criar mais uma cpia do control file, copie o arquivo para o local desejado e altere o parametro control_file no initSID.ora acrescentando o novo caminho, tudo isto com o oracle no estado NoMounted. Se for necessrio acessar o controlfile com o banco for a do ar o estado do banco deve ser Mounted. Os comandos SQL executveis ficam armazenados em outra rea da memria denominada Shared SQL area que tambm parte do shared pool. Nesta rea temos ainda Library cache com os cursores de execuo dos comandos SQL e a Row cache, com informaes dos objetos no dicionrio Oracle. Os work processes do R/3 se conectam com os shadow processes no Oracle com o usurio SAPR3. Caso esta conexo caia, os work processes tentam reconexo com o Oracle seguindo a parametrizao feita nas profiles (default ou instance) atravs das variveis rsdb/reco_trials e rsdb/reco_sleep_time. Uma instncia Oracle aceita 3 tipos de conexes de seus clients: dedicated, que a utilizada pelo R/3, Combined e Multi-thread. Os principais problemas de performance esto associados a shared pool (shared sql area e row cache), ao uso dos data buffers e a redo log. Outro ponto de preocupao o acesso a disco, sua estruturao de alocao e a possvel conteno causada pelo acesso ao disco. Obs: Conceito Importante - O check point uma marca de sincronismo entre todos os datafiles e a online redo logfiles. Sempre que ocorrer um switch no online redo logfiles gravado um check point para garantir a segurana e sincronismo. Se o banco estiver em archivelog mode, a offline redo logfile archivada no diretrio saparch logo aps o switch.
jluiz@cemig.com.br
Pgina 108
ACADEMIA
BASIS
Logwriter (LGWR): que grava em modo sncrono as alteraes efetuadas nos data buffer e logadas na redo log buffer para os online redo log files
Um banco de dados em produo deve sempre rodar em ARCHIVELOG mode. Neste caso um quarto processo, o archive (ARCH), grava os online redo log files para a rea de archive da instncia. Os arquivos do online redo log files funcionam de forma cclica e a cada switch, o file que estava sendo usado transferido para a rea de archive. O parmetro da init<SID>.ora, log_archive_start=TRUE ativa o processo de archive na instncia. O processo ARCH se baseia nos parmetros log_archive_dest (default $ORACLE_HOME/saparch) e log_archive_format para gerar o archive na offline redo log area. Quando o online redo log file foi transferido com sucesso, o respectivo file fica disponvel para ser sobrescrito no processo cclico de utilizao dos files. Caso no haja espao disponvel na offline redo log area para a gravao do novo file, o online redo log file no liberado e consequentemente ir travar a instncia quando o ciclo requisitar novamente o online redo log file, devendo a rea ser liberada para que o Oracle continua com o seu funcionamento normal.
Owner Oracle rdbms Oracle rdbms Oracle rdbms Basis Basis Basis Basis Basis Aplicaes Aplicaes Aplicaes Aplicaes Aplicaes Aplicaes Aplicaes
Os datafiles que compem o tablespace tambm devero possuir uma estrutura prpria de diretrios: $ORACLE_HOME / sapdatan / <name>[d/i]_n / <name>[d/i].datan. O sapdatan normalmente um mount point (sapdata1, sapdata2, etc.). Caso o tablespace do exemplo acima tivesse dois datafiles e alocado no sapdata5, os arquivos teriam o seguinte nome: /oracle/<SID>/sapdata5/ddicd_1/ddicd.data1 e .../ddicd_2/ddicd.data2. Os data files de ndices obedeceriam o mesmo critrio, apenas o nome seria ddici, e no ddicd (.../ddici_1/ddici.data1) Todos os objetos alocados nos tablespaces PSAP... pertencem ao usurio SAPR3. Os tablespaces SYSTEM, PSAPROLL e PSAPTEMP possuem objetos que pertencem aos usurios SYS ou ao SYSTEM. O usurios que se logam em um sistema R/3 no possuem objetos nas tabelas do Oracle, apenas armazenam linhas nas tabelas do banco de dados atravs da conexo efetuada com o user SAPR3 A estrutura de diretrio do Oracle com o R/3 obedece a seguinte hierarquia : /orant (oracle home)
jluiz@cemig.com.br
Pgina 109
ACADEMIA
BASIS
database: contendo as profiles utilizadas pelo Oracle e pelo SAP (init<SID>.ora, init<SID>.sap, etc.). bin: executveis Oracle (no NT ele est no /orant/bin) /net80/admin: arquivos de configurao do NET8 /oracle/<SID> (sapdata home) sapdata1,2,...: onde se localizam os data files origlogA, origlogB: online redo log files mirrlogA, mirrlogB: mirror online redo log files saptrace/background: Oracle alert files saptrace/usertrace: trace files dos shadow oracle processes sapereorg: rea de trabalho para reorganizaes, compress de backup files, etc. saparch: offline redo log area e logs do BRARCHIVE sapbackup: BRBACKUP e BRRESTORE logs sapcheck: sapdba logs (-next, -check, -analyze)
Dentro do database, existem basicamente trs arquivos de parametrizao: init<SID>.ora: parametrizaes da instncia Oracle init<SID>.dba: parametrizao do sapdba init<SID>.sap: parametrizao das ferramentas BRBACKUP e BRARCHIVE Vrias variveis de ambiente parametrizam o usurio <sid>adm : ORACLE_SID=<SID>: nome da instncia DBS_ORA_TNSNAME: seta o <SID> do banco que ser conectado atravs do tnsnames.ora ORACLE_HOME: o diretrio home do oracle (/oracle/<SID>) SAPDATA_HOME e SAPDATAn: aponta para diretrios especficos contendo dados Alm dos usurios Oracle SYS e SYSTEM, existem os seguintes usurios no unix : ora<sid>: usurio unix pertencente aos grupos dba e oper <sid>adm: usurio unix pertencente ao grupo oper OPS$<sid>adm: usurio definido no oracle como identified externally J no NT temos : <sid>adm: usurio NT pertencente ao grupo ora_SID_dba sapservice<sid>: usurio NT pertencente ao grupo ora_SID_oper OPS$<sid>adm: usurio definido no oracle como identified externally Quando o parmetro OS_AUTHENT_PREFIX=OPS$ codificado no init<SID>.ora, isto indicar que o usurio <sid>adm (OPS$<sid>adm) poder se conectar ao oracle sem autenticao. Isto ser necessrio para determinadas tarefas restritas de administrao. Neste caso a autenticao do usurio fica a cargo do sistema operacional. O mecanismo de conexo dos work processes com o shadow process no Oracle funciona da seguinte forma: o work processes tenta a conexo atravs do usurio SAPR3/SAP. Caso a senha tenha sido alterada, o que aconselhvel, a conexo recusada e o work process tentar uma conexo atravs do usurio OPS$<sid>adm (que no exige autenticao) e acessa a tabela SAPUSER (cujo owner o prprio user OPS$<sid>adm) e atravs dela possui a senha para o SAPR3 e refaz a conexo. O programa chdbpass (no unix) quando utilizado para alterar a senha do usurio SAPR3 j grava nesta tabela OPS$<sid>adm.SAPUSER a nova senha. O NT que no possui este programa disponvel o que torna necessrio a incluso manual da senha na tabela quando se altera o usurio via alter user. A conexo remota dos work processes entretanto com o banco R/3 atravs do user OPS$ somente se dar se o parmetro REMOTE_OS_AUTHEN estiver setado para TRUE.
NET8 Basis
A comunicao dos work processes com o Oracle se d atravs de comunicao TCP/IP atravs da rede. A camada Oracle que interpreta e aceita estas conexes o NET8. Para que o NET8 aceite
jluiz@cemig.com.br
Pgina 110
ACADEMIA
BASIS
conexes atravs da rede, o listener do Oracle precisa estar ativo. O utilitrio lsnrctl80 utilizado no database server para dar start e stop no processo tnslsnr que executar o servio. Trs arquivos configurados no .../net80/admin do oracle configuraro o servio NET8: tnsnames.ora: contm a lista dos servios para todos os bancos de dados acessados na rede sqlnet.ora: contm, no lado client, informaes do default domain alm de parmetros opcionais de diagnsticos usados para trace e logs do client listener.ora: usado no database server e contm Oracle system Ids com o quais o Oracle poder receber conexes e parametrizaes do listener
Database Monitoring
Vrias transaes so utilizadas no R/3 para monitorar a base de dados: A DB16 um system check monitor, a DB12 o monitor de backup, a DB02 a transao utilizada para monitorar os objetos (tableas, ndices, tablespaces) do banco. Alm destas, a ST04 o monitor de performance e a DB14 o monitor das logs das atividades administrativas do banco.
jluiz@cemig.com.br
Pgina 111
ACADEMIA
BASIS
Backup Estrategy
Database Backup
A estratgia de backup da base de dados necessria para garantir a recuperao de uma base de dados que pode falhar por diversos fatores, sejam fsicos (crash de disco), lgicos (operao indevida nos aplicativos) ou fatores externos (fogo, agua, greve, etc). Atravs de cenrios que iremos estudar, possvel fazer full recoveries (recuperao total) dos data bases ou ainda recuperaes point in time (recuperao total em um ponto do tempo passado) a partir de uma boa estratgia de backup. Operaes de recovery, por serem crticas, exigem documentao detalhada, estratgia estudada alm de skill especfico dos administradores de banco de dados. Ou seja, antes de tomar qualquer ao aps um problema, tenha certeza do que est sendo feito e de que a ao a melhor opo entre outras analisadas. Os files que compem uma base de dados Oracle podem ser divididos em cinco grupos: Os data files so os arquivos que contm os dados da aplicao propriamente ditos. aconselhvel que sejam protegidos por espelhamento (RAID V ou superior) Os online redo log files so os arquivos onde so gravadas as logs de transaes no banco de dados e so espelhadas por definio atravs das mirrlogs Os control files so os arquivos que possuem as informaes de controles referentes aos datafiles e a base de dados. O Oracle mantm cpias deste file em mais de um filesystem do ambiente, definido por parmetro na initSID.ora Profiles so os arquivos de configurao da instncia oracle Offline redo log files so as cpias das online redo efetuadas pelo ARCH no momento dos switch. recomendado que estes files sejam espelhados e, quando transferidos para fita, sejam replicados em fitas distintas Um processo de backup de banco de dados copia para outro dispositivo os data files, os online redo log files, os control files e as profiles. Um processo de backup do offline redo log file copia os offline redo log files e as profiles para outro dispositivos. Para garantir a integridade fsica da base de dados ou seja, garantir que as tabelas e blocos estejam fisicamente ntegros necessrio efetuar logical data checks atravs de ferramentas oracle como o utilitrio dbv (database verify). Temos tambm que garantir a integridade das fitas backupeadas necessrio efetuar um physical data check, que verifica a integridade fsica das fitas gravadas atravs da leitura dos dados backupeados na fita.
Backup Types
Um processo de backup offline executado com a instncia em shutdown e os seguintes arquivos so copiados: data files, online redo log files, control file e profiles (init<SID>.ora, .sap e .dba). Um processo de backup online executado com a instncia ativa e os seguintes arquivos so copiados: data files, control file e profiles. Estas cpias online no so consistentes, j que o processo de update no banco continua sendo efetuado pelos usurios. Um recovery a partir de um online backup somente tem sentido com o cruzamento das logs (redo logs) geradas no decorrer do processo. Um processo de partial backup pode ser utilizado para diminuir o tempo gasto no processo. Neste caso apenas alguns tablespaces sero copiados em cada dia at fechar um ciclo. Independente do processo utilizado (offline ou online) este backup inconsistente e precisa das offline redo log de todo o ciclo para permitir um recovery do database. Outro processo para diminuir a janela de backup atravs do paralelismo do backup com a utilizao de vrios drives de fita. Este processo reduz significantemente o tempo de backup e restore, sendo porm caro pelo hardware envolvido.
jluiz@cemig.com.br
Pgina 112
ACADEMIA
BASIS
ArchiveLog
NoArchiveLog
On-Line
Off-Line
Complete Recover
Reset
Data Loss
Vrias so as causas que podem causar a perda de dados em uma base de dados. Erros lgicos podem ocorrer pela deleo indevida de objetos do banco de dados (um data file), um drop em uma tabela ou ainda por erro de aplicativo que provoca a perda de dados. Erros lgicos so recuperados atravs de um full database restore seguido de um point in time recovery at o momento imediatamente anterior a causa da perda da informao. A ausncia de um offline redo log file durante um processo de recovery causar a perda de todas as informaes subsequentes, j que o processo no permite a aplicao dos offline seguintes ao que foi perdido. Por este motivo importante a manuteno de pelo menos duas cpias dos offline redo log files em dispositivos diferentes para garantir uma recuperao com uma salva-guarda de contingencia. Uma outra causa de necessidade de recuperao o chamado disaster recovery, efetuado por causas fsicas, como por exemplo um crash de disco. A manuteno de cpias de backup em cofres garantem inclusive a possibilidade de recuperao de todo o ambiente computacional em caso de perda total das instalaes fsicas do cpd.
Backup Recommendations
Alteraes nas estruturas dos arquivos afetaro os restores subsequentes, como ocorre por exemplo quando um data file acrescentado a base de dados. Processos como este que causam a alterao dos control files devero ser seguidos de um backup adicional imediato do banco de dados para que o processo de recuperao, se houver, no seja afetado pelo diferente estado do banco de dados. O ponto crtico de uma alterao estrutural do banco de dados a necessidade de ter ao menos uma cpia do novo datafile e a estrutura gerada no control file. Sem isto impossvel recuperar o banco na nova estrutura ou fazer um log-foward aps este evento.
Backup Cycle
A SAP recomenda um ciclo de backup de 4 semanas. Isto significa que os offline redo log files sero backupeados diariamente e mantidos por 28 dias. O backup online deve seguir a mesma regra, jluiz@cemig.com.br Pgina 113
ACADEMIA
BASIS
ou seja uma cpia a cada dia til do ciclo. importante ainda que tenhamos em cada ciclo pelo menos um backup offline, um check de consistncia do backup e check dos datafiles do banco de dados. Esta recomendao bsica, sendo o ideal fazer tudo isso pelo menos uma vez a cada semana. recomendvel tambm que os arquivos do backup online fiquem em fitas diferentes do backup do offline redo log. Isso viabiliza novas alternativas para os planos de contingencias caso as fitas tambm apresentem problemas.
Final Recommendations
Utilize as ferramentas providas pela SAP para efetuar o backup (BRBACKUP e BRARCHIVE) e tenha certeza que elas esto configuradas corretamente. Para um evetunal restore do banco de dados utilize a ferramenta BRRESTORE. Estas ferramentas que efetuam o backup e o restore trabalham integradas ao sapdba e se baseiam em logs prprias gravadas no sistema operacional para direcionar o seu funcionamento. bom lembrar que alm do banco de dados, necessrio manter backup consistente de outros objetos R/3, tais como archiving, interfaces, executveis e do sistema operacional. No adianta muito ter o backup da base de dados se no tivermos o R/3 e o Oracle instalados e com os arquivos de controles que iro hospedar esta base de dados S a correta implementao de uma boa estratgia de backup a garantia para a recuperao do sistema sem perda de informaes em caso de falhas.
jluiz@cemig.com.br
Pgina 114
ACADEMIA
BASIS
Tape Management
Tape Pools
Os utilitrios BRBACKUP e ao BRARCHIVE que permite a gerencia do pool de fitas utilizadas na estratgia de backup, permitindo encontrar as fitas necessrias no momento do backup e do recovery e garantindo a sua proteo contra utilizao das fitas antes do momento desejado. O sistema trabalha com um pool separado para as fitas utilizadas pelo BRBACKUP e outro para o BRARCHIVE evitando misturar as fitas destinadas aos backups de datafiles e dos offline redo log files. As fitas inicializadas para um pool no podem ser utilizadas no outro pool O nmero de fitas utilizadas no pool do BRBACKUP depender de vrios fatores, como tamanho do banco, durao do ciclo, capacidade das fitas, frequencia e paralelismo dos processos de backup. J o nmero de fitas do pool utilizado pelo BRARCHIVE depender do tamanho do ciclo, nmero de redo logs criadas no ambiente (atualizaes), capacidade das fitas e frequencia dos offline redo backups.
Tape Initialization
As fitas so inicializadas pelo brbackup ou brarchive atravs da opo i force (inicializa novas fitas, fitas no utilizadas alteriormente pelo SAP ou fitas bloqueadas para gravao), i v <tape_name> (renomea fitas que no esto bloqueadas para uso) ou i v SCRATCH (para fitas scratch). Na prtica o processo de inicializao consiste na criao de um arquivo .tape.hdr0 no inicio da fita para identifica-la no momento de uso. Dentro deste arquivo temos informaes do nome da fita, do noma da instncia na qual ela est sendo utilizada, o timestamp da ultima utilizao e o numero de utilizaes feitas at o momento. Os dois utilitrios sempre acessaro este arquivo para decidir se a fita a esperada e se ela est disponvel para uso. Eles levaro em conta os parmetros (expir_period com default de 28 e tape_use_count com default de 100) definidos na init<SID>.sap, sendo que o tape_use_count excedido provoca apenas uma mensagem de warning. O padro de nome a ser utilizado nas fitas <SID><B|A>99 onde o B|A representa o grupo onde ela ser utilizada (backup ou archive) e 99 um nmero sequencial. O nome das fitas que esto disponveis para utilizao esto nos parmetros volume_backup e volume_archive do init<SID>.sap.
Tape Locking
O mecanismo de lock protege a fita de sobre escrita. Este mecanismo funciona baseado no parmetro expir_period que fornece o ciclo de proteo da fita baseado no timestamp do ltimo backup l gravado (informao no label). Este mecanismo denominado lock fsico. Um outro mecanismo de proteo denominado lock lgico e baseado nas tabelas SDBAH e SDBAD. Elas contm informaes das fitas gravadas no perodo e so mantidas pelo BRBACKUP e BRARCHIVE. Baseado nas entradas desta tabela e no pool de fitas gravado nos parmetros volume_backup e volume_archive, o sistema verifica se uma determinada fita est liberada para gravao reforando o mecanismo de lock das fitas. O BRARCHIVE pode se basear em informaes de suas logs para efetuar o lock lgico, podendo desta forma ser executado mesmo quando o banco se encontra offline. A fita seguinte a ltima utilizada no pool a selecionada para utilizao.
Tape Selection
As ferramentas SAP oferecem trs mecanismos para seleo das fitas: mecanismo automtico permite que o BRBACKUP e BRARCHIVE selecione a fita baseado em seus mecanismos de lock e no pool de fitas fornecido nos parmetros volume_backup e
jluiz@cemig.com.br
Pgina 115
ACADEMIA
BASIS
volume_archive. A chamada destes programas com a opo q permite verificar qual ser a prxima fita selecionada para uso. Se for necessrio utilize a opo q check para verificar se a fita que est montada a fita esperada pelos utilitrios. mecanismo manual de seleo atravs da opo SCRATCH. Quando uma fita inicializada com o nome SCRATCH inserido no sistema, o BRBACKUP e o BRARCHIVE a aceita em substituio a fita requisitada e grava o novo label nela antes de comear a gravao. til por exemplo para substituir uma fita do pool danificada. Alternativamente, possvel substituir o pool de fitas informado no init<SID>.sap pelo parmetro SCRATCH. Neste caso o sistema no sugere uma fita, apenas pede uma cujo operador fica responsvel pela manuteno do seu schedule. Ainda neste caso os mecanismos de lock funcionam apenas para proteo de uso indevido das fitas mecanismo de seleo externa utilizado atravs da opo v e til quando um shell ou produto externo utilizado para gerenciamento das fitas. O label neste caso tambm ser checado pelos mecanismos de lock lgico. Todo este processo utiliza uma outra ferramenta de interface com o mundo externo que o BACKINT.
Tape Layout
O layout bsico de gravao da fita praticamente o mesmo para o BRBACKUP e o BRARCHIVE (as diferenas ento marcadas abaixo), a saber : tape.hdr0 init<SID>.ora (configurao do oracle) e init<SID>.dba (configurao do sapdba) init<SID>.sap (configurao do brbackup e brarchive) diferenas Para o BRBACKUP DB files Control files Para o BRARCHIVE Offline redo log files reorg.log (informaes de reorganizaes, restore e recover) e struct.log (histrico das alteraes de estruturas do banco) detail.log (log do processamento) summary.log (lista dos processamentos j realizados)
jluiz@cemig.com.br
Pgina 116
ACADEMIA
BASIS
tape_size Parameter
O parmetro tape_size da init<SID>.sap define o volume de dados que cabe no modelo de fita utilizado tanto para o BRBACKUP quanto o BRARCHIVE. Este parmetro importantssimo j que a sua m especificao pode causar mal funcionamento do processo de backup. Atravs da especificao do parmetro tape_size os utilitrios de backup (BRBACKUP e BRARCHIVE) calculam o volume de dados que pode ser enviado para cada fita, dimensionando desta forma o nmero de fitas que sero necessrias durante o processo. Quando mal dimensionado pode causar o desperdcio de mdia ou, pior ainda, erro no processo de gravao. O utilitrio dd utilizado no processo de cpia acusa erro quando atinge o end-of-tape. J o utilitrio cpio, desde que no esteja trabalhando em modo parallel, consegue passar os dados para um volume subsequente, porm este volume no ser reconhecido pelas ferramentas de gerencia de fitas por ter sido requisitado ao longo do processo e no possuir o arquivo de identificao da fita (.tape.hdr0). O ideal portanto que este parmetro especifique um valor 10% menor que a capacidade real da fita, como margem de segurana. Quando utilizamos compresso por hardware, o valor do tape_size dever ser ainda um pouco mais folgado, uma vez que a taxa de compresso varia dependendo do tipo de dado armazenado. A nota 8707 d todos os detalhes sobre esta especificao de tape_size. Para distribuir os files pelas fitas, o brbackup utiliza informao da taxa de compresso dos files. Este clculo da taxa de compresso dever ser efetuado uma vez a cada ciclo atravs do comando brbackup k only []. Quando utilizado tape stations com hardware compression, o parmetro compress_cmd da init<SID>.sap dever ser setado para compress b 12 c $ > $ (em unix). A compresso por software efetuada no diretrio especificado (compress_dir) e consumir ciclos de CPU da mquina que est efetuando o backup.
ACADEMIA
BASIS
Faz um log file switch Backup de logs (reorg.log, struct.log, detail.log, summary log)
O backup offline efetuado com o database em shutdown, porm o brbackup deixa a instncia no estado exato em que se encontrava no incio do processo (up ou down): Start no database, se o mesmo se encontra em shutdown Obtm os files names que sero backupeados Shutdown no database Backup do tape header, e profiles Backup dos datafiles Backup dos online redo log files Backup do control file Start no database Backup de logs (reorg.log, struct.log, detail.log, summary log) Deixa o banco no estado inicial, (up ou down) * Eventualmente, se o backup offline no for completo os online redo log no sero backupeados
jluiz@cemig.com.br
Pgina 118
ACADEMIA
BASIS
O BRACHIVE possui uma serie de opes para o backup dos archive logs. A SAP aconcelha a especificao do parmetro cds no BRARCHIVE que faz com que esta gerencia de backup duplo de offline redo log files com posterior deleo seja efetuado automaticamente. Outra boa opo e a opo f (fillup) onde o brarchive grava os files e continua verificando a saparch de tempos em tempos. Qualquer offline que aparea ento gravado at que a fita esteja cheia. Como no BRBACKUP, devemos utilizar a opo verify ou w para efetuar um check fsico dos arquivos gravados e recomendado que seja efetuado uma vez no ciclo. A monitorao do processo de offline backup dever ser efetuado atravs da transao DB12 e atravs da monitorao do arch<SID>.log no diretrio saparch. Atravs da opo o possvel forar a gravao de mais informaes na log.
Freespace Administration
Os offline redo log files so transferidos para a rea de archive saparch atravs do servio Oracle ARCH. Se estes arquivos no forem backupeados para fita e deletados, a rea poder estourar, o que causa a parada do Oracle conhecida como archiver stuck. Neste caso a instncia para por no poder sobrescrever um online redo log file ainda no transferido para a rea de offline. Este problema somente ocorre se o ARCHIVELOG mode estiver ativado, o que padro em ambientes produtivos. Atravs da DB12 deve-se monitorar a rea livre no diretrio (ou atravs de df k) e tomar medidas preventivas (archive) antes que o problema ocorra. Outra soluo que pode ser adotada a definio de um arquivo dummy grande o suficiente para que, em caso de archiver stuck, ele possa ser removido dando ao sistemas mais alguns minutos enquanto se processa o archive. Caso o sapdba no mais responda a comandos, ative o brarchive via linha de comando
One-Run Strategy
A estratgia One-Run backup consiste em efetuar o backup e o archive em uma nica chamada ao brbackup atravs da especificao de parmetros prprios (brbackup m all c a cds c). Neste caso apenas uma fita do pool backup (volume_backup) utilizada para armazenar os dois backups. Esta estratgia porm s pode ser utilizada se o backup dos datafiles e todos os offline redo log files couberem em uma nica fita. A soluo neste caso o uso de paralelismo no backup (mais de um drive) ou ento adotar outra estratgia para o backup. Esta soluo possui o incoveniente dos datafiles e ds offline redo log files estarem na mesam fita. Alm disso, em caso de um archiver stuck ocorrer, esta opo no poder ser usada, j que o brbackup tentar se conectar com o banco que se encontra travado.
Further Documentation
Para maiores informaes sobre backup e recover, veja as notas 96896, 19909, 99088, 71058, 8707, 33630, 99962, 23345, 100400 e 83699. jluiz@cemig.com.br Pgina 119
ACADEMIA
BASIS
jluiz@cemig.com.br
Pgina 120
ACADEMIA
BASIS
Principais vantagens: Diminui o volume de dados que sero backupeados Principais desvantagens: Aumenta o tempo de restore j que ser necessrio reconstruir os ndices
jluiz@cemig.com.br
Pgina 121
ACADEMIA
BASIS
jluiz@cemig.com.br
Pgina 122
ACADEMIA
BASIS
Scenario
Uma instncia R/3 com banco de dados Oracle tem todos os seus datafiles normalmente com o status online e read/write. A sincronizao das alteraes efetuadas nestes files mantido atravs de um mecanismo de tempo. O Oracle utiliza o conceito de timestamp para esta sincronizao, que um inteiro que incrementado durante certas aes que so efetuadas no database. Este valor ento gravado pelos processos DBWR e CKPT nos header dos datafiles e control files no checkpoint. O Log Sequence Number (LSN) que incrementado por 1 a cada log switch um exemplo de dado de sincronizao. O Oracle mantm tambm um nvel mais sofisticado de sincronizao das transaes atravs so System Change Number (SCN) que incrementado pelo commit ou pelo processo de checkpoint. As anlises de cenrios seguintes assumiro que foi executado um full backup no LSN 10 e que ocorreu um erro posteriormente no LSN 38
Database Reset
Um motivo qualquer, por exemplo um upgrade, deixa o banco em um estado inconsistente que se percebe somente no LSN 38, e se deseja retornar o sistema para a posio do ultimo offline backup efetuado(LSN 10). Este processo exige um full offline backup. jluiz@cemig.com.br Pgina 123
ACADEMIA
BASIS
O database reset esta operao de retornar o banco a situao exata do offline backup atravs de uma operao de full restore. Este processo retorna os datafiles, online redo logs e control files originais (LSN 10). Como estes files foram todos copiados a partir de um offline backup, o banco retornado fica com o status consistente (mesmo LSN), no necessitando de nenhum processo de recovery. Quando o banco reaberto, ele recomea a criar redo log files a partir do LSN 10. Desta forma sero regerados os offline redo logs 11, 12, ..., 38, etc. O perigo consiste em se necessitar de um full restore posteriormente e se escolher os offline redo logs das duas diferentes direes. necessrio um trabalho administrativo aqui, seja para eliminar as logs antigas manualmente ou providenciar um novo backup offline to logo a LSN atinja o valor anterior, provendo o sistema de um novo ponto para restore. Este processo sempre resulta na perda dos dados gerados aps os backup offline, que so sobrescritos no processo e suas offline redo logs ignoradas.
jluiz@cemig.com.br
Pgina 124
ACADEMIA
BASIS
2. Find backup files: a partir das logs de backup determina aquelas que podero ser utilizada, sugerindo sempre a mais recente 3. Restore backup files: copia dos database files de volta para o disco 4. Find archive files: determina os offline redo log files necessrios para o recovery 5. Restore archive files: copia os offline redo logs necessrios de volta para o disco 6. Recover: cria recover scripts para efetuar a operao de recover Este mtodo de recuperao simples e o mais seguro de ser efetuado, j que se aplica a maioria dos casos de perda de dados. Se os control files ou os online redo log files foram perdidos, verifique o help do R/3 (DBA Oracle) pois existem outros mecanismos mais rpidos para corrigir este problema ao inves de voltar um backup.
jluiz@cemig.com.br
Pgina 125
ACADEMIA
BASIS
Storage Management
Space Management
Todas as tabelas e ndices do Oracle so organizadas em data blocks armazenados nos tablespaces. Estes data blocks com R/3 so de 8K. A necessidade de crescer um tablespace efetuada atravs da incluso de datafiles ao tablespace. Esta operao quando efetuada pelo sapdba, no final do processo o usurio direcionado para tirar um backup do tablespace alterado garante que o tablespace poder ser recuperado em caso de um crash posterior . Quando uma tabela ou ndice necessita de mais rea, alocado um segmento contguo (declarado no catlogo oracle) de data blocks no tablespace com tamanho definido pelo parmetro NEXT de definio da table/index. Caso o espao contguo no esteja disponvel ocorrer um erro ORA-1653 ou ORA-1654 (tabela ou ndice). Uma tabela ou ndice inicialmente alocada baseado no parmetro INITIAL e posterior extents de acordo com o parmetro NEXT at um limite MAXEXTENTS. Na tentativa de superar o maxextents, ocorrer um erro ORA-1651 ou ORA-1652 (tabela ou ndice). Os demais parmetros da clusula STORAGE do Oracle (PCTFREE, PCTUSED PCTINCREASE) no devem ser alterados exceto sob recomendao explcita da SAP. e
Fragmentations
As linhas de dados das tabelas e ndices vo ocupando os data blocks e quando h necessidade de mais espao e alocado um segmento NEXT. Estes segmentos no necessariamente estaro contguos ao longo do tablespace, o que causar a denominada external fragmentation ou fragmentao a nvel do tablespace. Tabelas que contm raw fields, colunas opcionais ou registros de ndices so armazenados de forma compactada. Com isto nem todas as linhas dentro de um data block possuem o mesmo tamanho. A deleo de linhas destes objetos ir produzindo gaps internos nos data blocks denominados internal fragmentation ou fragmentao a nvel da tabela.
jluiz@cemig.com.br
Pgina 126
ACADEMIA
BASIS
(atravs do comando sapdba check) para monitorao da base de dados. Os dados analisados so carregados na tabela DBMSGORA e podem ser monitorados atravs da DB16. Os parmetros utilizados para comparao durante o check pdem ser configurados atravs da transao DB17.
Tablespace Extension
O critrio de alocao de data blocks dos objetos Oracle definido a partir dos parmetros INITIAL, NEXT e MAXEXTENT. O INITIAL define a alocao inicial, NEXT o tamanho das alocaes next que podero ocorrer MAXEXTENTS vezes. Devemos sempre lembrar que uma definio destes parmetros que atendia uma determinada tabela/ndice, pode se tornar obsoleta a medida que uma tabela comea a crescer. Por exemplo, um alocao NEXT de 16K faz sentido para uma tabela de 100K de tamanho, mas se torna completamente sem sentido quando esta tabela tem por exemplo 1G. O R/3 mantm uma tabela denominada TGORA (ou IGORA para ndices) que contm especificao da parametrizao para diversos ranges de tamanho de tabelas/ndices. Estas tabelas so organizadas por categorias de tabelas, de acordo com o atributo especificado para cada tabela no dicionrio de dados (SE11). Estas tabelas com seus ranges limitados de valores STORAGE colocam ordem nos valores dos extents alocados nos tablespaces permitindo que um database v sempre gerando gaps de tamanhos mltiplos que podem ser reaproveitados de forma otimizada por posteriores alocaes Para auxiliar a tarefa de adaptao contnua dos parmetros de storage dos objetos da base de dados, o sapdba possui a opo next que percorre todos os objetos e, atravs de um algortmo prprio adapta os parmetros de storage destes objetos para os valores encontrados nas faixas destas tabelas. Esse processo fundamental para a gerencia de fragmentao dos tablespaces e deve ser efetuado regularmente em uma base de dados.
jluiz@cemig.com.br
Pgina 127
ACADEMIA
BASIS
Reorganization Basics
O processo de reorganizao tem por finalidade eliminar os problemas de fragmentao relacionados com as estruturas dos objetos. Atravs de uma poltica atenta de monitorao do database e correta especificao dos segmentos NEXT (atravs do sapdba next), esta necessidade ser naturalmente minimizada. O processo de reorganizao consiste na seguintes sequencia de passos: export dos dados, drop dos ndices, drop da tabela, create da tabela, import dos dados, create index. Atravs do sapdba, todos os scripts necessrios para executar estes passos so criados e chamados na seqncia correta sem nenhuma interferencia no processo a ser executado. Vrias so as causas que apontam para uma necessidade de reorganizao: Fragmentao elevada nos ndices ou tabelas, apontado por elevado volume de extents M distribuio das tabelas nos tablespaces ou ainda dos prprios tablespaces ao longo dos discos, gerando hot spot disks Atravs do sapdba, a reorganizao efetuada em duas fases: na primeira cria os scripts que executaro os passos a serem executados para aquele mtodo de reorganizao escolhido e verifica se existe rea suficiente nos filesystems. Na segunda fase do processo estes scripts so iniciados em uma sequncia por ele estabelecida e executam a reorganizao. Entre estas duas fases o DBA pode determinar o start imediato (em foreground ou background), ou se deseja postergar o start para mais tarde. Esta ltima opo pode ser utilizada por exemplo por DBAs experientes que desejam alterar os scripts criados para manipulao dos parmetros de storage dos objetos, por exemplo. Sempre que se efetua uma reorganizao de tabelas, os seus respectivos ndices tambm sero reorganizados. O inverso no verdadeiro
Os erros a seguir so os mais comuns durante o processo de reorganizao : Os datafiles onde os ser feita a reorganizao no comporta a segunda cpia do objeto ou a nova alocao a ser implementada diretrio sapreorg no comporta o export que ser feito durante a reorganizao tablespace PSAPTEMP no comporta a recriao de um indice da tabela que esta sendo reorganizada
jluiz@cemig.com.br
Pgina 128
ACADEMIA Methods
BASIS
O processo de reorganizao de tabelas dropa a tabela durante o processo, havendo portanto perigo de se perder dados. Os mtodos utilizados so os seguintes: Export/import: utiliza os comandos Oracle EXPORT e IMPORT para extrair e recarreagar os dados. SAPDBA unload/load e SQL loader: mais rpido que o anterior, porm exige um pouco mais de memria Os mtodos abaixo, quando utilizados, no exigem a exportao dos dados: Create tableas select: gera uma tabela auxiliar, copia os dados e posteriormente dropa a tabela original e da um rename na auxiliar Alter index/rebuild: recria um novo ndice na PSAPTEMP utilizando o ndice existente e o copia para o tablespace destino, dropa o ndice antigo e ativa o novo. Recriate index: o ndice dropado e recriado
Options
Durante o processo de reorganizao podemos especificar vrias opes que, salvo algumas excees, podem ser combinadas entre si: Compress extents: a fragmentao ser reduzida para apenas 1 extent (INITIAL) Reduce object size: o sapdba tenta analisar qual a quantidade real de memria necessria e realoca o novo storage baseado neste valor Chop = yes: o export dos dados se d atravs de um pipe file, permitindo splitar o dumpfile em vrios arquivos menores, atendendo as limitaes do sistema operacional (2G em alguns casos). Esta opo estar disponvel a partir do momento em que se especifica o parmetro chop_util_name na init<SID>.dba Compress = yes: um dumpfile do export comprimido Parallel export/import: o export e import distribudo atravs de vrios processos paralelos ORACLE parallel clause: utiliza a facilidade oracle para acelerar o processo de reorganizao
jluiz@cemig.com.br
Pgina 129
ACADEMIA
BASIS
Performance Monitor
Performance Issues
A performance de um database Oracle est relacionada com quatro fatores bsicos: No layout fsico e lgico do banco No desempenho do aplicativo Na configurao da memria No CBO Cust Based Optimizer
jluiz@cemig.com.br
Pgina 130
ACADEMIA
BASIS
Repetindo o processo : A primeira fase (sapdba checkopt) grava uma log no diretrio sapcheck (<timestamp>.opt) e deve ser monitorado aps a execuo pela transao DB14 A segunda fase (sapdba analize DBSTATCO) efetua um refresh apenas dos objetos que estiverem flagados na DBSTATC. Aps a execuo, as linhas permanecero na tabela DBSTATC porm o flag de refreshable retirado O procedimento standard da SAP no criar nenhuma estatsticas para tabelas pool e cluster retirando inclusive qualquer estatstica porventura existente. Isto garante que o Rule-Based optimizer seja utilizado no acesso a estas tabelas. Este procedimento do Oracle de selecionar o rulebased quando no possui estatsticas disponveis setado pelo parmetro opmizer_mode = choose da init<SID>.ora. A SAP recomenda que estas duas fases do procedimento de refresh das estatsticas seja schedula atravs da transao DB13. O comando sapdba analyze grava uma log no diretrio sapcheck (<timestamp>.aly) e deve ser monitorado aps a execuo pela transao DB14. O CBO Control Panel (transao DB21) permite modificar o procedimento padro de refresh das estatsticas, seja aumentando a preciso requerida para uma determinada tabela ou eliminando suas estatsticas (para que se use o rule-based optimizer)
Memory Configuration
A System Global Area do Oracle (SGA) contm o data buffer e o shared pool (shared SQL area e o row cache)
Data buffer
Quando um shadow process requisita um dado poder ocorrer um physical read (o dado trazido do disco) ou um logical read (o dado j se encontra no data buffer). Um data block acessado no buffer 1000 vezes mais rpido que quando trazido do disco. O processo de atualizao altera o dado no data buffer e a transferncia para o disco feita mais tarde, assincronamente. A transao ST04 exibe os dados referentes a performance do banco de dados e dever ser utilizada nas anlises relativas ao banco. O conceito de Hit Ratio (Quality) o percentual de logical reads sobre o total de reads (logical + physicals). Este valor dever estar acima de 94%, ou seja, em 94% dos casos o dado j deve estar no data buffer. Uma anlise deste valor somente tem validade algumas horas aps o statup do database, quando o data buffer j atingiu uma estabilidade de runtime. Uma boa regra aguardar pelo menos at o nmero de reads ultrapassar os 20.000.000. Um valor abaixo de 94% indica uma necessidade de aumentar o nmero de blocos (parmetro DB_BLOCK_BUFFERS), o que poder inclusive forar um incremento na memria RAM para no aumentar a paginao (analise a paginao pela ST06). Antes porm de sair aumentando o valor do data buffer indiscriminadamente interessante olhar os aplicativos para encontrar comandos SQL ineficientes. A R/3 possui ferramentas de analise de performance que auxiliam esta tarefa. Cada plataforma de hardware possui um valor mximo de memria que pode ser alocada na shared memory, no devendo a soma do data buffer, log buffer e shared pool exceder este valor
Shared pool
A shared pool composta da Shared SQL Area onde os comandos SQL so armazenados para serem compartilhados pelos shadow prcesses e da Row Cache, que armazena informaes do dicionrio Oracle, incluindo aqui as informaes de estatsticas que sero utilizadas pelo CBO. O conceito de user call so os acessos efetuados pelos shadow processes na shared SQL area. Recursive calls so as leituras fsicas efetuadas pela row cache ao dicionrio Oracle. Os principais pontos a serem observados em relao a shared pool so : A relao entre os user calls e os recursive calls dever ser de pelo menos 2 para 1. A Quality (logical/total reads) do data dictionary cache dever ser maior que 80% A pinration dever ser maior que 95% A relao reload/pins dever ficar abaixo de 1% jluiz@cemig.com.br Pgina 131
ACADEMIA
BASIS
Valores inferiores nestes parmetros indicam uma necessidade de aumentar a shared pool area. Como no existe parmetros especficos para SQL area e row cache separadamente, o aumento dever ser de toda a rea, utilizando o parmetro SHARED_POOL_SIZE. As mesmas recomendaes descritas acima para o data buffer se aplicam ao incremento dos valores desta rea
jluiz@cemig.com.br
Pgina 132
ACADEMIA
BASIS
jluiz@cemig.com.br
Pgina 133
ACADEMIA
BASIS
Caso o somatrio dos WAITS de todos os rollback segments representem mais do que 1% do somatrio dos GETS isto indica conteno, ou seja, necessrio definir mais rollback segments valor OPTIMAL representa a marca at onde os rollback segments que sofreram alocao de extents iro encolher na operao de shrink valor HWMARK a marca dgua do segmento. um bom indicativo de qual dever ser o valor do parmetro OPTIMAL para eliminar os extend/shrinks, porm deve ser analisado com cuidado pois pode se tratar de uma demanda isolada Os campos EXTENDS e SHRINKS representam o nmero de alocaes/dealocaes acima do valor OPTIMAL. Para calcular o valor do OPTIMAL ideal, utilize a frmula: new OPTIMAL = OPTIMAL + (EXTENDS SHRINKS) * NEXT. Com isto ser especificado um valor para o optimal que no causar mais os extends/shrinks. volume ideal de alocao de extents dever ficar na casa dos 20. Com isto podemos calcular os parmetros de storage: INITIAL = NEXT = OPTIMAL/20
Fragmented indexes
ndices fragmentados so caracterizados por um baixo volume de preenchimento dos blocos e, pior ainda, por uma distribuio da rvore em mais de 3 nveis. Esta fragmentao normal e vai acontecendo ao longo das operaes de atualizao que uma tabela vai sofrendo. Tabelas com alta volatilidade ou volumes elevados de deleo, como acontece durante uma operao de archiving, esta fragmentao se acelera. O resultado da fragmentao elevada dos ndices sobre a performance que um volume muito mais elevado de index blocks ser percorrido do que em um ndice organizado, gerando I/O e queda da qualidade do data buffer. Para analisar os ndices, utilize a transao DB02, selecione o ndice desejado e em seguida utilize o caminho: Detail analysis Analyse index Storage quality. O valor encontrado para a qualidade do ndice dever ser superior a 50%. possvel tambm disparar um validate index (em modo dialog ou background) para analisar o nmero de nveis das folhas.
jluiz@cemig.com.br
Pgina 134
ACADEMIA
BASIS
jluiz@cemig.com.br
Pgina 135
ACADEMIA
BASIS
A Tablespace Overflow
A necessidade de mais rea para uma tabela ou ndice no tablespace ocorrer quando o mesmo precisar de mais data blocks. Esta alocao se dar em rea contgua e no tamanho especificado pelo parmetro NEXT do objeto. Caso o tablespace no possua esta rea desejada, ocorrer o erro ORA-1653 (tabela) ou ORA-1654 (ndice) que ser emitido na syslog e no ABAP short dump. A monitorao constante do critical objects pela DB02 ou do sapdba check ajuda a prevenir esta ausncia de rea e a tomar as medidas necessrias antes que o erro ocorra. O erro ser corrigido pela alocao de um novo datafile para o tablespace (via sapdba) em um tamanho baseado no crescimento estimado do tablespace. importante que se efetue um backup do tablespace aps cada mudana estrutural dos arquivos.
ACADEMIA
BASIS
A implementao default do Oracle utiliza o modo de configurao do Net8 em delay mode, o que introduz um ciclo de espera de aproximadamente 200ms nas comunicaes dos processos Este problema pode ser solucionado atravs do arquivo protocol.ora que pode ser obtido do sapservX. Em seguida copie este arquivo para o diretrio /oracle/<SID>/network/admin com read permissions para os usurios <sid>adm e ora<sid> em todos os applications e no db server. Para que o novo modo se torne operativo, necessrio parar todas as instncias (application, DB e o listener). Volte o listener, ativ o DB e retorne os applications A nota 72638 descreve melhor este processo.
jluiz@cemig.com.br
Pgina 137
ACADEMIA
BASIS
Basis Tuning
Uma anlise geral do ambiente tem por finalidade distribuir corretamente a carga do ambiente entre os servidores de um sistema R/3. Isto significa dimensionar corretamente o hardware, distribuir os discos e otimizar as definies dos work processes e dos buffer das instncias
Application Tuning
Um tuning localizado de uma aplicao tem por finalidade evitar que programas mal especificados produzam uma carga desnecessria no ambiente. Esta anlise vai desde a localizao e aplicao de notas do OSS at a otimizao dos cdigos dos programas desenvolvidos na instalao (programas Z). Eventualmente esta anlise chega a concluso de que necessrio criar novos ndices ou bufferizar algumas tabelas do sistema.
Response Times
O tempo de resposta (response time) de uma transao no R/3 o tempo entre a requisio do usurio ao sistema e vai at o retorno da prxima tela, podendo ser dividido em vrios componentes individuais que permitem uma anlise mais profunda no componente causador da m performance. O tempo de transmisso (rede) no computado pelos monitores do R/3: Wait time: o tempo de permanencia do request na fila do dispatcher desde o momento que a request chega at a sua atribuio ao work process Roll in time: o tempo necessrio para efetuar o roll in dos dados de contexto do usurio para dentro do work process Load time: o tempo necessrio para carregar os objetos (e eventualmente gera-los) do dicionrio ABAP para os buffers da instncia Processing time: o tempo gasto para processamento dentro do work process, equivalendo a diferena entre o response time e a soma dos demais tempos Database request time: tempo de processamento dos SQL, que comea quando a requisio encaminhado ao database interface e termina quando este retorna com o resultado CPU time: tempo de CPU consumido por todo o processo (consumido pelo roll, load, enq, processing e db)
Wait time
Os requests encaminhados pelo SAPGUI so colocados em uma fila de espera FIFO pelo dispatcher. Um elevado tempo de permanncia nesta fila indica indisponibilidade de work process. Esta indisponibilidade pode entretanto vir de uma pequena definio de nmero de work processes como tambm pode significar que os work processes no esto sendo liberados com a rapidez esperada. Elevados wait times merecem uma anlise menos simplista e esta normalmente associado a problemas generalizados no sistema.
jluiz@cemig.com.br
Pgina 138
BASIS
Roll in a transferncia dos dados do contexto do usurio (autorizaes e ponteiros para as reas de trabalho) do roll buffer para a roll memory do work process. Ao efetuar esta transferncia tem-se incio ao processamento do dialog step. Tempos elevados de roll time podem indicar problemas no gerenciamento de memria do R/3 ou ainda gargalos de CPU para efetuar a operao.
Database time
Quando um dado requisitado via um open SQL, a requisio enviada para o database interface do work process que efetua o request localmente nos database buffers da instncia ou envia a requisio para ser processada pelo servidor de bancos de dados. Ou seja, o database time compreende o tempo desde a passagem do sql para o database interface at a disponibilizao dos blocos de dados ao work process. Tempos elevados no componente database podem indicar gargalos na instncia DB, problemas de rede (se outra instncia), comandos SQL caros, falta de ndices, enfim uma srie de problemas relacionados ao tuning do banco.
Processing time
O processing time definido como o tempo de resposta total menos o wait, database, load, roll e enqueue time. Pode ser entendido como o tempo gasto dentro do work process para realizar o processamento ABAP demandado pela aplicao. Tempos elevados normalmente significam loops no programa eu erro na construo da aplicao.
CPU time
O tempo de CPU consumido pelo work process durante um dialog step computado no CPU time. Entretanto no s este, no cpu time esto computados todos os tempos gastos por cada um dos componentes na cpu onde est sendo executado o application. Tempos elevados de CPU indicam problemas na lgica do programa ABAP, tais como processamento de tabelas muito extensas ou sobrecarga da cpu em funo de outros processamentos que esto concorrendo na mquina.
Workload Statistics
O Performance Monitor (transao ST03) d informaes detalhadas e estratificadas dos tempos de resposta em em sistema R/3 A proporo apresentada entre o nmero de database calls e os database requests d uma noo exata da eficincia da buferizao de tabelas, indicando o nmero de requests que tiveram que ser encaminhadas ao DB server pelo database interface. As chamadas externas de funes RFC podem provocar roll out do user context para liberao do work processes. A espera pelo retorno (roll wait) e posterior roll in, todos estes tempos ficam embutidos no roll time do dialog step. Transaes com elevado nmero de chamadas RFC tendem a ter um roll time mais elevado que as demais.
Workload Analysis
O workload analysis feito atravs da transao ST03. Esta transao viabiliza a analise da carga no sistema em qualquer momento no tempo (passado agrupado por periodo ou um snapshot dos ultimos minutos) Uma anlise geral (a partir da seleo de um perodo de tempo que seja conveniente para a anlise) pode indicar se existem problemas de performance gerais na instalao, como por exemplo : Wait time maior que 10% do response time Main menu () com tempo de execuo superior a 100 ms jluiz@cemig.com.br Pgina 139
ACADEMIA
BASIS
Atravs da ST03, alguns valores indicam boa performance: Average roll in time < 20 ms Average roll out time < 20 ms Average load time < 10% response time e sempre inferior a 50 ms Average database time < 40% do (response time wait time) Average CPU time < 40% do (response time wait time) Average CPU time no pode ser muito inferior ao processing time De qualquer forma temos que ter em mente que os sintomas abaixo normalmente esto associados a tipos padres de problemas, a saber : Large roll time problemas com o gerenciamento de memoria do R/3 Large load time - buffers de programas, cua, ou screen esto pequenos Large database request time gargalo na cpu ou memria na mquina de banco de dados, problemas de rede, comandos sql caros, locks, ausencia de indices ou estatisticas desatualizados Large CPU time comandos sql muito caros em funo de processamento pesado ou acessos frequentes aos buffers Processing time muito maior que o CPU time gargalo de cpu, problemas de redes e/ou de comunicao
jluiz@cemig.com.br
Pgina 140
ACADEMIA
BASIS
jluiz@cemig.com.br
Pgina 141
ACADEMIA
BASIS
Local Memory
a memria associada com cada work process. Esta memria utilizada para: Executveis Dados, stack Buffer para transferncia de dados Local roll area Local paging area
Heap
Fazendo parte da memria local mas no diretamente temos a heap area. A heap memory alocada pelo work process diretamente na rea de swap. Work processes que comeam a utilizar heap area entram em PRIV mode, desta forma no efetuando mais roll out/roll in, ficando desta forma dedicado ao usurio.
Shared Memory
A shared memory o agrupamento das reas globais que sero compartilhadas pelos work process. Ela subdivida em buffers, roll area, paging area e extended area.
Buffers
Memria alocada na shared memory e que contm objetos globais de todos os usurios e work processes, tais como programas e tabelas de customizao.
Extended
A extended memory contm dados de contexto associados com a transao de um determinado usurio, tais como variveis, listas, tabelas internas, etc. Ela alocada a medida do necessrio em pequenos blocos e preservada de um dialog step para o outro.
Roll
A roll memory alocada no roll buffer e contm a parte inicial do contexto do usurio. Ela contm ainda os ponteiros para a extended memory que est sendo utilizada pela transao corrente.
Paging
uma rea utilizada pelos work processes na paging area (shared memory) para determinadas operaes de abap. Ela normalmente est associada a dados relacionados a subfunes abap.
jluiz@cemig.com.br
Pgina 142
ACADEMIA
BASIS
Allocation Concepts
Os work processes so compartilhados pelos vrios usurios que se conectam a uma instncia. Este compartilhamento efetuado a cada dialog step (ou chamada RFC) fora o R/3 a manter um mecanismo que salve os dados do usurio e permita o reinicio do processamento quando solicitado pelo usurio no prximo dialog step. Estes dados referentes a um determinado usurio denominado user context area. Este conceito permite por exemplo que um determinado cdigo de material que o usurio trabalhou em uma transao seja lembrado como default na prxima transao. O conceito de roll out salva a user context area garantindo assim que os dados de um usurio no sejam sobrescritos pelos usurios que utilizam o mesmo work process posteriormente. Os dados so movidos (rolled out) para disco. O prximo dialog step provoca o retorno da user context area para o work process que ir processa-lo. Este processo denominado roll in. Existem duas reas no R/3 que sofrem este processo de roll out/roll in. A roll area propriamente dita contm os dados de contexto do usurio associados a autorizaes, internal tables e report lists. A paging area contm a memria associada a alguns comandos especficos de ABAP. A extended memory alocada na shared memria e disponibilizada para os work processes que podem requisitar pedaos de memria que ficam mapeados nos work process atravs de pointers armazenados na respectiva roll area. Isto permite diminuir o contexto de roll out/in apenas para referncias (pointers) extended memory alocada.
Allocation Sequence
A fim de minimizar o volume de dados necessrios para as operaes de roll in/out, o sistema R/3 procura otimizar a alocao de memria atravs de uma metodologia nesta operao. Inicialmente apenas uma poo mnima da roll area alocada, definida pelo parmetro ztta/roll_first. Quando este parmetro setado para 1, um mnimo de 100K ser alocado para o processo. Quando o processo necessitar de rea para trabalho, o sistema alocar memria na extended memory da shared memory e grava na roll area do work processes apenas um pointer para a rea alocada. Esta aquisio de memria na extended memory vai sendo permitida at que no haja mais memria disponvel ou ento quando o work process atinge a sua cota de alocao, definida pelo parmetro ztta/roll_extension. Esta rea no ser copiada durante o processo de rolagem, mas sim mapeada, ou seja apenas as referncias (pointers) sero copiados. Quando se esgota a alocao de extended memory o work process comea a alocar o restante da roll area disponvel, o que acaba aumentando a quantidade de area sujeita a roll out/in. O limite a ser utilizado para alocao definido no parmetro ztta/roll_area. O ltimo passo quando se esgota a roll area alocar memria na heap memory, Quando este passo acontece, o work process entra em PRIV mode e para de efetuar rolagem da rea de contexto, o que significa que ele permanecer alocado para o usurio at o trmino da transao. A quantidade mxima de rea que pode ser alocada na heap area para cada work process definida pelo parmetro ztta/heap_area_dia. A partir do release 4.0 do SAP os demais work processes, como batch work process, tambm utilizam este mesmo critrio para alocao de memria.
jluiz@cemig.com.br
Pgina 143
ACADEMIA
BASIS
jluiz@cemig.com.br
Pgina 144
ACADEMIA
BASIS
Operating System Monitor (ST06) CPU Idle < 20% CPU contention Other servers available Work process and users redistribution Top CPU process (ST06 Detail analysis) R/3 process with high CPU detail analysis using SM50 DB process wit high CPU detail analysis using ST04 External process with high CPU stop or redistribute High paging rate > 20% of RAM per hour memory contention Other servers available Work process and users redistribution File system cache > 10% RAM reduce file system cache Buffers monitor (ST06 Mode list) Programs with high memory detail analysis of transaction Workload Monitor (ST03) Wait time > 10% General performance problem Database time > 40% (response time wait time) database detail analysis Processing time > cpu time * 2 hardware bottleneck Load time > 50 ms program buffer too small Roll in/out > 20ms problem with extended memory or roll buffer
Contenes de CPU podem ser resolvidas atravs da distribuio da carga entre os demais applications, quando possvel. Processing time > CPU time x 2 geralmente indica problemas gerais de performance associados a hardware, sendo necessrio pesquisar mais fundo a causa do gargalo. A causa do elevado consumo de CPU pode muito bem estar associado a processos rodando na mquina que consomem muito ciclo. Se houver gargalo de memria, veja a nota 78498 para avaliar a possibilidade de utilizar o cache de file system.
CPU configuration
Utilize para o banco de dados de 10 a 30% da CPU de todos os servers. Garanta que nunca haja gargalos no servidor de banco de dados. Utilize de 10 a 20% do total de CPU para o processamento dos updates. A demanda dos application servers depender do perfil dos usurios/aplicativos utilizados
jluiz@cemig.com.br
Pgina 145
ACADEMIA
BASIS
Monitors to Analyse
Devemos procurar por programas com elevados database times e posteriormente por SQLs com altos valores de buffer gets. As transaes utilizadas nestas anlises sero: ST03, SM50/SM66, ST04, ST05 e SE12. Devemos focar a pesquisa para identificar o nome da tabela em questo, a clausa where utilizada, os indices envolvidos e principalmente o report ou a transao que contm o statement que est provocando o gargalo. Como visto anteriormente, atravs da ST03 Transaction profile, transaes com database time e/ou cpu time superiores a 40% do response time wait time devero ser analisados com enfoque para os acessos ao banco de dados: Analysis Roadmap using transaction profile (ST03 Transaction profile) Transaction profile, sorted by response time total CPU time > 40% (response time wait time) detail SQL analysis ABAP trace (SE30) Detail analysis of ABAP program DB time > 40% (response time wait time) detail SQL analysis SQL trace (ST05) Detail analysis of SQL statement Atravs da SM50 e SM66 tambm possvel efetuar anlise de programas com elevados tempos de resposta, alm da identificao direta de quem o causador (usurio e cdigo abap). Para isto veja o roadmap abaixo : Analysis Roadmap using work process overview (SM50 ou SM66) WP in status running Long processing: analyse status field Dir. Read, Seq. Read, Insert, Update, Delete, Commit DB analysis Database Lock Monitor (DB01) Wait due database locks Analyse lock holder Database Process Monitor (ST04 Oracle session) Look for SQL statements and identify the transaction SQL Trace (ST05) Identify and analyse specific SQL statement Comandos caros tambm podem ser identificados atravs da monitorao dos buffer gets (ST04 Detail analysis SQL statement) com elevadas taxas. Alm dos buffer gets devemos observar os gets/execution, records/execution e disk reads.
jluiz@cemig.com.br
Pgina 146
ACADEMIA
BASIS
Analysis Roadmap for sql statement Many records transferred ? Optimize abap code Use EXPLAIN Is the optimal index used ? Special database tuning methods Na optimal index exists but is not used by the optimizer ? Are table statistics up-to-date ? Refresh statistics Where clause of sql statement too complex ? Rewrite where clause Are there missing indexes ? Recreate missing indexes Are the new indexes reasonable ? Create new indexes
jluiz@cemig.com.br
Pgina 147
ACADEMIA
BASIS
Table Buffering
Concepts
A instancia R/3 possui uma srie de buffers para otimizar o processamento e a manipulao dos dados. Os principais buffers que so utilizados so os de objetos do repositrio, de tabelas, de programas, de janelas, de roll e paging, calendarios, number range, etc. A principal vantagem dos buffers a otimizao e minimizao do acesso a base de dados com a manuteno dos dados mais acessados na memria do sistema. As tabelas de um banco de dados relacional so as principais beneficiadas com esta estratgia. O tempo mdio de acesso a um dado buferizado reduzido drasticamente. Este um sofisticado mecanismo e especializado categorizando a formas de buferizao. As trs formas possiveis so : Full buffering, onde a tabela completamente buferizada e todas as suas linhas vo para a memria no primeiro acesso Generic buffering, onde um nmero de campos identificadores declarado e toda a fatia de dados acessada e relacionada a esta fatia carregada na memria. Tipicamente esta estratgia utilizada para as tabelas dependentes de mandante pois necessrio declarar o numero de campos (normalmente 2 ou 3) que compe a chave de buferizao Single record buffering ou partial buffering, onde apenas a linha acessada no banco de dados carregada na tabela e a partir da sempre acessada a cpia que est no buffer.
Synchronization
claro que temos que ter um tratamento especial se o dado que est no buffer for alterado por outro usurio. A regra simples e se baseia em alterar o dado na base de dados e o buffer da instncia de forma a garantir a completa consistencia do dado na instncia que provocou a alterao. Para as demais instncias temos que ter um mecanismo mais complexo. Esse mecanismo baseia na definio feita no parmetro rdisp/buffrefmode e na manipulao da tabela DDLOG. Esse parmetro que define o comportamento do sistema quando um dado que est em buffer alterado. Os valores possveis so : Sendon, sempre que um dado que est no buffer alterado feita uma marca na DDLOG indicando que este dado deve ser invalidado em todos os buffers Sendoff, evita que o mecanismo manipule a tabela DDLOG ignorando a sincronizao de outras instncias (se elas existirem) Execauto, garante que de tempos em tempos (definido pelo parmetro rdisp/bufreftime) a instncia varre a tabela DDLOG para invalidar os dados que esto no buffer garantindo assim que na prxima leitura o dado ser obtido no banco de dados Execoff, evita que a tabela pesquise a tabela DDLOG de tempos em tempos para invalidar os dados que esto no buffer A regra geral para o rdisp/bufrefmode a seguinte : Single system (sistema com apenas uma instncia) devemos preencher o parmetro com sendoff,execauto que significa que toda alterao em um dado que est no buffer atualizada na base de dados e no buffer mas no registrada na DDLOG Distributed system (sistema com mais de uma instncia) devemos preencher o parmetro com sendon,execauto que garante que toda alterao no dado propagada para o buffer local, para a base de dados e registrada na DDLOG para garantir a sincronizao
jluiz@cemig.com.br
Pgina 148
ACADEMIA
BASIS
Granularity of invalidation
Durante o processo de invalidao do dado quando ele alterado (marca feita na DDLOG) os demais buffers so afetados da seguinte forma : Full buffering, qualquer alterao invalida toda a tabela Generic buffering e single record buffering, alteraes feitas por um abap invalidam o conjunto de dados relacionado ao mesmo conjunto (mesma chave de buferizao). Devemos tomar cuidado com alteraes que no so executadas na work area mode pois elas invalidam todos os dados da tabela (independente da forma de buferizao) Todo esse mecanismo de definio se uma tabela deve ser buferizada feito pela transao SE13.
jluiz@cemig.com.br
Pgina 149
ACADEMIA Optimization
BASIS
Para otimizar os buffers de tabelas devemos ter em mente duas tarefas bsica : pesquisar por tabelas que deverio estar buferizadas e no esto e pesquisar pelas tabelas que esto buferizadas e no deverio estar. Para o primeiro caso, devemos procurar pelas tabelas desenvolvidas pelo cliente (iniciadas por Z) e tabelas de customizao que normalmente no so buferizadas (sufixadas por 500 a 999). Para a segunda tarefa devemos verificar o tamanho e a frequencia de alteraes que possveis tabelas possam estar sofrendo. Para essa tarefa usaremos a transao ST10 (Table Call Statistics) e seguir o roadmap : Pesquisar por alto numero de invalidaes Verificar se esta tabela no deve ser desbuferizada. Para isso use a ST05 e ST10 Pesquise por tabelas com buffer muito grande Verificar se esta tabela no deve ser desbuferizada. Para isso use a ST05 e ST10 Pesquisar por tabelas com alto numero de rows affected Verificar se esta tabela no deve ser desbuferizada. Para isso use a ST05 e ST10 Pesquisar por tabelas com muitas leituras feitas por programas abaps Verificar se a tabela no deve ser buferizada. Para isso verifique as estatisticas, a frequencia de alterao, o tamanho, a viabilidade em funo da chave primria (transao DB05) e a mdia de consumo de processamento (ST03, database time > 40% (response time wait time)
jluiz@cemig.com.br
Pgina 150
ACADEMIA
BASIS
jluiz@cemig.com.br
Pgina 151
ACADEMIA
BASIS
De posse de um comando aparentemente pesado para o sistema podemos analisar detalhes de como o sql foi processado atravs do explain. Podemos tambm verificar se a estatistica est atualizada e eventualmente atualiza-la especificamente para uma tabela atravs da transao DB20 ou criar indices mais adequados atravs da SE11 ou SE12
Update Statistics
A estatstica da distribuio de valores de tabelas no R/3 sempre feita em dois passos. O primeiro a verificao de quais tabelas esto com as estatsticas desatualizadas e a marcao na DBSTATC das quais devem ser refeitas. Se for necessrio podemos utilizar a transao DB21 para dar manuteno na DBSTATC. O segundo passo a atualizao propriamente dita. A processo de atualizao pode ser feito seguindo dois algoritmos distintos : compute (onde toda a tabela analisada para determinar a distribuio) e estimate (onde uma amostragem feita para determinar a distribuio). A Sap recomenda que este procedimento seja feita pelo menos uma vez por semana ou sempre que houver um grande volume de dados incluidos ou excluidos no banco de dados. Para esse agendamento devemos utilizar a DB13. Se for necessrio atualizar uma tabela especfica utilizaremos a DB20.
Identify Coding
Um grande problema na anlise da performance do sistema a identificao de um comando sql que produz efeitos danosos ao sistema. Para localizarmos o comando utilizamos a transao ST04 (shared sql area) como j foi visto no item anterior de analise de sql. O passo seguinte a identificao de qual cdigo abap provavelmente contm este comando. Esse processo consiste em pegarmos o nome da tabela e listarmos, atravs da SE11 e where-used, onde ela utilizada. Depois disso entramos em programa a programa para tentar localizar a origem do comando. Esse sem dvida um trabalho muito arduo. Outra boa opo a identificao do comando no momento que ele acontece atravs das transaes SM50 e SM66. Nesse caso temos a vantagem de saber quem e qual a transao esta provocando os efeitos indesejveis. Para facilitar, podemos selecionar os processo que manipulam a respectiva tabela atrves da SM66 -> select process. Sempre que tentamos identificar o cdigo abap que produziu o sql devemos ter em mente as diferenas entre o open sql e o sql nativo. Devemos analisar as facilidades que o open sql permite e como elas so convertidas para o sql nativo, como por exemplo as tabelas internas (in itab) ou a clausula for all entries. Alm disso temos que lembrar que o abap pode estar fazendo referencia a uma view e o sql nativo provavelmente vai estar referenciando a tabela. Para esse caso, lembre de pesquisar o where-used para a tabela em questo. Outra opo descobrir a rea funcional atravs do programa RSSTATUS ou os componentes relacionados a tabela atravs da DB15 e acionar o time funcional responsvel para ajudar na pesquisa do respectivo cdigo abap.
jluiz@cemig.com.br
Pgina 152
ACADEMIA
BASIS
Um bom exemplo desse recurso a ferramenta de abrir chamados na SAP atravs do OSS. Essa ferramenta que garante o bom encaminhamento das demandas dos usurios para a SAP e viabiliza a acumulao de uma base de conhecimento.
Index Utilization
Devemos associar a utilizao de ndices no banco de dados com as estatsticas atualizadas e com o otimizador de acesso baseado em custo. Sempre que utilizarmos uma clausula where (e em alguns outros casos tambm) o otimizador entra em ao para decidir qual a melhor forma de obter os dados na base de dados. Para que isso seja feito temos que ter os indices bem contruidos e planejados para as atividades que sero executadas, alm das estatisticas atualizadas. Basicamente temos que preocupar com a efetividade dos indices que existem e da seleo que ele permite. ndices que no permitem a seleo de uma quantidade inferior a 4% da quantidade total de linhas no so efetivos e normalmente no so necessrios. Alm disso devemos estar atentos as indicaes do explain do sql dos caminhos e mecanismos que esto sendo tomados em um determinado sql. Os mais importantes e que devem ser entendidos so : Index unique scan, o melhor caso pois permite a obteno de uma ou nenhuma linha com a leitura de cerca de quatro blocos (tres no indice e dois na base de dados) Index range scan, esse no muito bom pois no conseguimos saber quantos blocos sero lidos para a obteno da informao desejada Full table scan, a leitura simples e inteira da tabela e a quantidade de blocos afetadas diretamente proporcional ao tamanho da tabela Concatenation, onde o indice acessado vrias vezes em funo de opes OR ou IN com a concatenao dos resultados de cada um dos acessos feitos Nested loop, o conhecido join entre os dados de duas tabelas e seus respectivos indices
Creating na Index
Antes de criarmos um indice devemos verificar a sua efetividade atravs da simulao da criao na DB05 e da verificao da distribuio estatsticas dos valores. Durante a anlis dos dados produzidos pela DB05 devemos ter em mente que um bom indice aquele que permite que dado uma chave ele nos retorne uma pequena quantidade de registros. Outros fatores relacionadas aos indices no podem ser esquecidos, a saber : verificar se algum indice standard no est faltando; executar sempre a atualizao de estatisticas das tabelas e dos indices; alterar o cdigo para poder reaproveitar os indices j existentes; alterar os indices j existentes para garantir uma boa performance na maior variedade possivel de situaes e eventualmente criar um indice para atender especificamente um determinado tipo de pesquisa. Tudo isso pode e deve ser feito, quando o indice for standard, sempre com a aprovao ou com o aconselhamento da SAP.
Similar Statements
Tente garantir sempre que statements com a mesma funo sejam escritos de forma identica. Isso garante um bom aproveitamento da shared sql area (ela sempre maximiza os recursos para reaproveitar os cursores para o mesmo comando sql). Tente induzir o time de abap a criar convenes para garantir que os comandos sejam escritos da mesma forma em programas diferentes. Uma boa conveno a ser adotada combinar a ordem dos campos no comando sql igual a ordem na declarao da tabela. Para identificarmos se um mesmo comando foi escrito de formas diferentes procure comandos com o mesmo numero de buffers gets/execution ou buffer gets/records. Isso pode ser um bom comeo para detectar esses comandos mas lembrando sempre que isto um ajuste finssimo no sistema.
jluiz@cemig.com.br
Pgina 153
ACADEMIA
BASIS
View Processing
View um objeto lgico que simula a existencia de uma tabela, virtual, que na verdade a juno de uma ou mais tabelas. Na prtica o gerenciador do banco de dados executa um sql previamente montado, que imagem da definio da view, sempre que algum dado solicitado da view. Ou seja, um dado que acessado atravs da view no est previamente alocado a ela, ele descoberto e acessado no momento da execuo. Os principais tipos de view so : Nested loop, onde ordem de acesso as tabelas decida pelo otimizador com a identificao da driven table que normalmente possui a menor quantidade de registros, seguido do acesso a inner table para obteno dos demais dados Sort Merge Join, onde os dados das diferentes tabelas so acessados, classificados e finalmente mergeados aconselhvel que monitoremos as novas views em busca de possveis problemas de performances. Os mecanismos a serem utilizados so os mesmos mencionados anteriormente neste captulo.
Pooled
Uma pool table uma transparent table que encapsula uma srie de outras tabelas conhecidas como pooled tables. Isto possivel pela definio de uma tabela pool com a seguinte estrutura : uma chave especifica que contem o nome da tabela pooled (TABNAME), um campo contendo a chave genrica (VARKEY) e um campo contendo todo o conteudo a ser acessado atravs da chave genrica (VARDATA). Com isso, utilizando apenas uma transparent table, podemos ter incontveis tabelas dentro desta tabela.
Clustered
No R/3, a clustered table a implementao fsica de um banco de dados hierarquico em uma estrutura de arquivo indexado. Essa estrutura tambm oriunda do mainframe e deve ter sido mantida para garantir tambm o reaproveitamento. A clustered table na prtica o encapsulamento de dados de tabelas diferentes em uma mesma linha. Ou seja, a juno de dados dependentes, mesmo que oriundos de tabelas diferentes, da mesma chave primria. A estrutura de uma clustered table um conjunto de campos que representam a chave primria que comum ao conjunto de dados e o DATA que um conjunto de informaes no documentadas constituidas pelas tabelas que compe a cluster table.
Common Mistake
Nunca tente manipular na clausula where de um sql os dados que vo estar ou na vardata de uma pool table ou no data de uma cluster table. Ou seja, sempre e somente utilize na clausula where os campos que compe a chave primria, tanto da pooled quanto da clustered tables.
jluiz@cemig.com.br
Pgina 154
ACADEMIA
BASIS
Uma anlise geral pode indicar se existem problemas de performance gerais na instalao: Wait time dever ser < 10% response time Main menu dever estar < 100 ms Atravs da ST03, alguns valores indicam boa performance: Average roll in time < 20 ms Average roll out time < 20 ms Average load time < 10% response time e sempre inferior a 50 ms Average database time < 40% do (response time wait time) Average CPU time < 40% do (response time wait time) Average CPU time no pode ser muito inferior ao processing time
jluiz@cemig.com.br
Pgina 155
ACADEMIA
BASIS
High paging rate > 20% of RAM per hour memory contention Other servers available Work process and users redistribution File system cache > 10% RAM reduce file system cache Buffers monitor (ST06 Mode list) Programs with high memory detail analysis of transaction
Directory Summary
/usr/sap/trans
bin, contm basicamente os arquivos de parmetros TPPARAM e CONFIG.CFG actlog, onde so gravados cada action em um request ou task. Contm files com nomes <source SID>Z<6 digits> sapnames, com arquivos associados ao id dos usurios que efetuam release em changes buffer, com um import buffer para cada sistema R/3. Quando um change request liberado, o file correspondente ao sistema target atualizado data, contendo arquivos do tipo R9<5 digits>.<source SID> que contm os dados que foram exportados no transporte cofiles, com command files do tipo K9<5digits>.<source SID> contendo por exemplo os import steps que sero executados log, com todas as logs de transportes, como por exemplo ULOGs, ALOGs, SLOGs e as demais logs que descrevem as operaes executadas nos steps individuais ou coletivos
/oracle/<SID>
dbs: contendo as profiles utilizadas pelo Oracle e pelo SAP (init<SID>.ora, init<SID>.sap, etc.). bin: executveis Oracle sapdata1,2,...: onde se localizam os data files origlogA, origlogB: online redo log files mirrlogA, mirrlogB: mirror online redo log files saptrace/background: Oracle alert files saptrace/usertrace: trace files dos shadow oracle processes sapereorg: rea de trabalho para reorganizaes, compress de backup files, etc. saparch: offline redo log area e logs do BRARCHIVE sapbackup: BRBACKUP e BRRESTORE logs sapcheck: sapdba logs (-next, -check, -analyze) /network/admin: arquivos de configurao do NET8
To be Known
R/3 profiles (/usr/sap/<SID>/SYS/profile)
Start profile: START_<instance>_<host>, que contm a relao dos componentes que sero ativados pelo sapstart na instncia Default profile: DEFAULT.PFL, que contm alguns parmetros globais do sistema Instance profile: <SID>_<instance>_<host>, que contm parmetros especficos da instncia
4.
5.
Databse logs
Durante o processo de start, quando requerido, o startsap chama o script startdb que grava uma log apropriada no startdb.log Eventos significantes (start, stop, errors) /oracle/<SID>/saptrace/background/alert_<SID>_.log so logados pelo no Oracle alert file:
jluiz@cemig.com.br
Pgina 156
ACADEMIA
BASIS
Informaes detalhadas de erro so logadas no Oracle trace file: /oracle/<SID>/usertrace/ora_<pid>.trc Quando se utiliza o sapdba para start e stop do banco de dados, o sapdba grava uma log no diretrio /oracle/<SID>/sapreorg, .../sapcheck, .../sapbackup, dependendo da ao que foi executada
Environment variables
ORACLE_SID=<SID>: nome da instncia DBS_ORA_TNSNAME: seta o <SID> do banco que ser conectado atravs do tnsnames.ora ORACLE_HOME: o diretrio home do oracle (/oracle/<SID>) SAPDATA_HOME e SAPDATAn: aponta para diretrios especficos contendo dados
jluiz@cemig.com.br
Pgina 157
ACADEMIA
BASIS
Anexos
Glossrio
Termo ABAP Descrio ABAP significa Advanced Business Application Programming e uma linguagem interpretada e de quarta gerao utilizada para desenvolver no ambiente SAP. Tanto seus fontes quanto seus p-code so guardados no banco de dados o dicionrio que contm todas as informaes sobre as estruturas lgicas dos objetos de aplicao e de banco de dados relacionais bem como os fontes ativos e verses antigas dos programas. O dicionrio trabalha como um dicionrio ativo e integrado com as ferramentas de desenvolvimento. uma das ferramentas do ABAP Workbench e destinada ao desenvolvimento e manuteno dos programas, funes, lgica de fluxo de janelas, etc. Alm das funes normais de editor de programas a ferramenta dispe de uma srie de acessrios para auxiliar no desenvolvimento. um conjunto de cdigo que processado seqencialmente atravs de um mdulo interpretador de comando. Existem dois tipos de programas, os relatrios e os dilogos um ambiente integrado com uma srie de ferramentas para o desenvolvedor produzir programas para o ambiente R/3 Processo que torna um objeto disponvel para uso. O efeito direto da ativao a gerao de um objeto runtime correspondente ao que foi ativado. Este runtime que efetivamente interpretado pelo kernel Estrutura especial criada pela SAP e serve para adicionar elementos a uma estrutura j existente. O objetivo desta estrutura alterar um standard sem efetivamente provocar impacto nos controles de verses dos objetos desenvolvidos pela SAP Dados especficos de um client e composto dos dados mestres e dos dados transacionais do negcio Mquina que prov servios como : dialog, update, enqueue, background processing, print formating e gateway. Um application server contm um dispatcher e um ou mais work process. O dispatcher recebe a solicitao do servio a ser executado e atribui-o ao work process disponvel. Um application server possui pelo menos um dialog e gateway. Client change option que significa que a qualquer customizao do sistema, o R/3 solicitar uma request para guardar tudo o que ser feito. Um sistema R/3 que assume as funes de gerenciamento do domnio de transportes se o primary domain controller ficar indisponvel. ativado manualmente. Todas as ferramentas disponibilizadas pelo R/3 para o gerenciar e transportar todas customizaes e desenvolvimentos entre os sistemas R/3 dentro do landscape Significa o gerenciamento das alteraes feitas no ambiente R/3 bem como a propagao destas para os demais ambientes com as respectivas verificaes e consistncia seguido da ativao nos ambientes destino. Pacote contendo as informaes registradas e acumuladas pelas alteraes feitas no ambiente durante o trabalho de um desenvolvedor ou configurador. O principal uso de uma change request encapsular e propagar uma determinada alterao feita. a caracterstica que significa se a change request transportable, customizing, local ou not assigned. Comercial, organizacional e tecnicamente termo que significa unidades de dados contidas e organizadas dentro de tabelas Durante a manuteno de um client a opo que determina se alteraes
ABAP dictionary
ABAP editor
ABAP program
Append structure
Automatic recording of changes Backup domain controller Change and transport organizers CTO Change management Change request
jluiz@cemig.com.br
Pgina 158
ACADEMIA
Termo options
BASIS
Descrio dependentes ou independentes de mandante podem ocorrer e se sero armazenadas automaticamente.
Ainda no terminado
jluiz@cemig.com.br
Pgina 159
ACADEMIA Transactions
Transaction
BASIS
Description Alerts Users Logged On Display SAP Directories Display table buffer (Exp. session) Database Analyze exclusive lockwaits Analyze tables and indexes Analysis of a table acc. to index Overview of Backup Logs Database administration calendar Show SAPDBA Action Logs CCMS - Document archiving DB system check (trigger/browse) DB system check (configure) No.of table tupels acc. to stat. Maintenance control table DBSTATC Table view of DBMSGORA CCMS Set up CCMS Computing Center Management System Job Scheduling Monitor Network Graphics for SAP Instances Presentation, Control SAP Instances Maintain SAP Instances Alerts Thresholds Maintenance Maintenance of profile parameters Profile parameter maintenance Maintain RFC server group assignment Read XMI log CCMS MT standard monitor CCMS Customizing of the mon. infra. Gateway Monitor Maintain Logon Group ABAP Workbench Execute program ABAP/4 Dictionary Maintenance ABAP/4 Dictionary Display Maintain Technical Settings (Tables) Utilities for Dictionary Tables ABAP/4 Repository Information System Data Browser General Table Display ABAP Objects Class Library Application packet ABAP Runtime Analysis ABAP/4 Text Element Maintenance Context Builder ABAP/4 Dialog Modules ABAP/4: Logical Databases ABAP Function Modules ABAP Editor Splitscreen Editor: Program Compare MP: Standards Maint. and Translation Menu Painter Maintain Area Menu
* * *
DB01 DB02 DB05 DB12 DB13 DB14 DB15 DB16 DB17 DB20 DB21 DB31
* * * * * * * * * * * *
SRZL RZ01 RZ02 RZ03 RZ04 RZ06 RZ10 RZ11 RZ12 RZ15 RZ20 RZ21 SMGW SMLG
* * * * * * * * * * * * * *
SA38 SE11 SE12 SE13 SE14 SE15 SE16 SE17 SE24 SE29 SE30 SE32 SE33 SE35 SE36 SE37 SE38 SE39 SE40 SE41 SE43
* * *
* *
jluiz@cemig.com.br
Pgina 160
ACADEMIA
Transaction SE48 SE49 SE51 SE52 SE54 SE55 SE56 SE57 SE61 SE62 SE63 SE64 SE65 SE66 SE71 SE72 SE73 SE74 SE75 SE76 SE77 SE80 SE81 SE82 SE84 SE85 SE86 SE87 SE88 SE89 SE90 SE91 SE92 SE93 SE94 SE95 SMOD
BASIS
Description Program Analysis: Call Hierarchy Program Analysis: Table Manipulation Screen Painter Parameterized screenpainter call Generate table view Internal table view maintenance call internal call: display table view internal delete table view call R/3 Documentation Industry Utilities Translation: Initial Screen Terminology R/3 Docu.: Short Text Statistics R/3 Documentation Statistics SAPscript form SAPscript styles SAPscript font maintenance (revised) SAPscript format conversion SAPscript Settings SAPscript: Form Translation SAPscript Translation Styles Repository Browser Application Hierarchy Application Hierarchy R/3 Repository Information System ABAP/4 Repository Information System ABAP/4 Repository Information System Data Modeler Information System Development Coordination Info System Maintain Trees in Information System Process Model Information System Maintain Messages Maintain System Log Messages Maintain Transaction Codes Customer enhancement simulation Customer Enhancements to AEW Objects SAP Enhancement Management System Monitoring Work Process Overview Lock transactions System Messages User Overview Display and Delete Locks Display Update Records System Log Installation Check Call View Maintenance Table Maintenance Batch Input Monitoring Define Background Job Background Job Overview Job Analysis Execute external OS commands Work Process Overview List of SAP Servers TXCOM maintenance THOST Maintenance Number Range Buffer Asynchronous RFC Error Log RFC Destinations (Display/Maintain) Maintain table BTCCTL (background processing) Pgina 161
* * *
SM0 SM01 SM02 SM04 SM12 SM13 SM21 SM28 SM30 SM31 SM35 SM36 SM37 SM39 SM49 SM50 SM51 SM54 SM55 SM56 SM58 SM59 SM61 jluiz@cemig.com.br
* * * * * * * * * * * * * * * * * * * * * *
ACADEMIA
Transaction SM62 SM63 SM64 SM65 SM66 SM69 SMX
BASIS
Description Display/Edit Events Display/Maintain Operating Mode Sets Release of an Event Background Processing Analysis Tool Systemwide Work Process Overview Maintain external OS commands Display Own Jobs System Tuning System Trace Setups/Tune Buffers Performance,SAP Statistics, Workload Select DB activities Trace for SQL, Enqueue, RFC, Memory Operating System Monitor Application monitor Network Monitor Network Alert Monitor Table call statistics Display Developer Traces Application Monitor Application Analysis ABAP/4 Runtime Error Analysis Local transaction statistics Transports Transport Organizer Workbench Organizer: Tools Set Up Workbench Organizer Workbench Organizer Customizing Organizer Transport Management System User Master Administration User Maintenance User Display Maintain Authorization Profiles Maintain Authorizations Maintain user parameter Maintain Authorization Fields Maintain Authorization Objects Maintain Users Own Data Display Check Values Analyze User Buffer Client Administration Client Copy - Special Selections Client Copy Log Client Administration Client Delete Client import Client import - postprocessing Client export Remote client copy Client import - postprocessing Customizing comparison Archive Archive Management Archiving object definition Archive Information System Archive Information System (Customizing) Pgina 162
* * * * * * *
ST01 ST02 ST03 ST04 ST05 ST06 ST07 ST08 ST09 ST10 ST11 ST12 ST14 ST22 STAT
* * * * * * *
* * *
* * * * * *
SU01 SU01D SU02 SU03 SU2 SU20 SU21 SU3 SU53 SU56
* * * * * * * * * *
SCC1 SCC3 SCC4 SCC5 SCC6 SCC7 SCC8 SCC9 SCCL SCU0
* * * * * * * * * *
* *
ACADEMIA
Transaction SARL
BASIS
Description Call of ArchiveLink Monitor ALE ALE Application menu ALE Development ALE Distribution menu ALE Master Data IMG Application Link Enabling Spool management Output managment Spool administration Others Archive logical file paths Table History Customizing objects : selection for compare Archive logical file names Data transfer workbench Not classified Archiving - Delete program Archiving - Reload Archiving - Management Archiving class definition SAP Alert Monitor Database alert monitor Operating system alert monitor Monitor call distribution Monitor current workload Performance: Upload/Download EarlyWatch Report Data for database expertise Download to Early Watch Display Shared Memory (Expert mode) Customize SAPOSCOL destination Local Alert Monitor for Operat.Syst. Remote Alert Monitor f.Operat. Syst. Local File System Monitor Remote File System Monitor EarlyWatch Data Collector List ABAP Program analysis Dependent objects display Parameter changes in database ADABAS D: Diagnostic monitor Early Watch Profile Maintenance Manage JCL jobs for OS390 DB syst. check (ORA): Configuration DB System check (configure, IFMX) SAP Alert Monitor Maintain Transaction Codes Display Standard Reporting Tree Start Report (Remote) CATT utilities Factory Calendar with GUI CATT management Record CATT procedures Computer Aided Test Tool Change Documents for Utilities Change Documents: Number Ranges Display Change Document Objects Menu for Control Enabling Technology Pgina 163
SP01 SPAD
* *
* * * * *
AARD AARR AARV ACLA AL01 AL02 AL03 AL04 AL05 AL06 AL07 AL09 AL10 AL13 AL15 AL16 AL17 AL18 AL19 AL20 AL21 AL22 DB03 DB07 DB11 DB2J DB32 DB33 RZ08 SAR SAR0 SC38 SC80 SCAL SCAM SCAR SCAT SCD0 SCDN SCDO SCET jluiz@cemig.com.br
ACADEMIA
Transaction SCMP SCOM SCOR SCOT SCPF SCPR1 SCPR2 SCT1 SCU1 SCU2 SCU3 SCUI SE07 SECR SEPS SERP SES0 SESA SESE SESS SEU SEWA SM18 SM19 SM20 SM29 SM32 SM33 SM34 SM38 SM67 SM68 SMEN SMET SMETDELBUFF SMETDELPROG SMLI SMLT SMME SMO1 SMO2 SMO3 SMO4 SMO5 SMT1 SMT2 SMW0 SMW2 ST4A ST62 STDA STDC STDR STDU STFB STI1 STI2 STI3 STMP STP4 STPC STPD jluiz@cemig.com.br
BASIS
Description View/Table compare SAPcomm: Configuration SAPconnect - Send Attempts SAPconnect - Administration Generate enterprise IMG Customizing Profiles: Maintce tool Compare Customizing profiles Logical imports - overview Table Comparison - Export to Tape Table Comparison Against Tape Table History Communicate system status to SAP Transport System Status Display Audit Info System SAP Electronic Parcel Service Reporting: Change Tree Structure Maintain favorites Switching off the menu tree display Switching off the menu tree display Starting the R/3 menu Repository Browser Earlywatch Alert Reorganize audit Basis Audit Configuration System Audit Log Model Transfer for Tables Maintain Table Parameter ID TAB Display Table Parameter ID TAB Viewcluster maintenance call Queue Maintenance Transaction Job Scheduling Job Administration Session Manager Menus Display frequency of function calls Del. Measurement data in shared bfr Delete programs in shared buffer Language Import Utility Language Transport Utility Output control Message Block Table Repository Information System: SMOD Repository Information System: SMOD Repository Information System: SMOD Repository Information System: SMOD Repository Information System: SMOD Trusted Systems (Display <-> Maint.) Trusting systems (Display <->Maint.) SAP Web Repository Test multipart MIME interface Database: Shared cursor cache (ST04) Create industry short texts Debugger display/control (server) Debugger output/control TADIR consistency check Debugger display/control (user) CATT function module test Change Documents Payment Details Change Docs Correspondence Chg. Docs Transaction Authoriz. Proposal pool: Selection Select DB activities Test Workbench, Start test package Test Workbench Pgina 164
ACADEMIA
Transaction STSN STVR STW1 STW2 STW3 STW4 STW5 SU01_NAV SU05 SU10 SU12 SU22 SU23 SU24 SU25 SU26 SU52 SU54 SU55 SU80 SU81 SU82 SU83 SU84 SU85 SU86 SU87 SU96 SU97 SU98 SU99 SUCH SUCU SUIM SUPC SUPN SUPO SUSE TU01 TU02 TUTT
BASIS
Description Customizing Number Ranges Time Strm WB: Transport Utility R/3 > R/2 Test Workbench: Test catalog Test workbench: Test plan Test workbench: Test package Test Workbench: Edit test package C maintenance table TTPLA User maint. to include in navigation Maintain Internet users Mass Changes to User Master Records Mass Changes to User Master Records Auth. Object Usage in Transactions Load Tables in TAUTL Auth. obj. check under transactions Upgrade Tool for Profile Generator Upgrade tool for Profile Generator Maintain User Parameters Session Manager Call the Session Manager menus Archive user change documents Archive user password change doc. Archive profile documents Archive authorization docs. Read archived user change documents Read archived password change doc. Read profile change documents Read authorization change documents Table maint.: Change SUKRIA Table maint.: Display SUKRIA Call report RSUSR008 Call report RSUSR008 Translatability CHECKs Table authorizations: Customizing all AUTH reporting tree (info sys.) Profiles for activity groups Number range maint.: PROF_VARIS Maintain org. levels Maint. for Self Upgrading Software Call Statistics Parameter changes Workbench Tutorial
Reports
Report RSTMSC0L RDDNEWPP RDDIMPDP RDDDICOL RDDMASGL RDDTACOL RDDDIS0L RDDGEN0L RDDMASGL RDDDIC1L RDDVERSL RDDEXECL RDDDIC3L jluiz@cemig.com.br Description Read Import Queues in Local Buffer
Pgina 165
ACADEMIA
Report RSPO0041 RSPO0043 RADDBDIF RHAUTUPD RSBDCREO RSBPCOLL RSBPSTDE RSBTCDEL RSCOLL00 RSM13002 RSORA811 RSORASNP RSPARAM RSPFPAR RSPO0041 RSPO0043 RSSNAPDL RSSTAT15 RSSTAT60 RSTBHIST RSUSR040 RSUSU000
BASIS
Description Delete old spool print Check TemSe consistency
User Master Data Reconciliation Reorganize BI folders and logs Collector for Background Job Run-time Statistics Delete Statistics Data from the Job Run-time Statistics Delete batch jobs Delete OS collector logs Update request analysis and processing tool Delete old brbackup/brarchive Reorganize the snap & stats logs Display profile parameter Display profile parameter Delete old spool request Check consistency of spool database Delete ABAP short dumps Display/change of workload parameters Reorganize table MONI Table History List authorization objects by complex selection criteria Current active users
OSS Notes
Number 001916 004108 004326 008541 008707 011796 012103 013202 015606 016083 016466 019909 022514 023345 023611 024092 026171 026317 026966 027928 028175 029276 030724 031395 031503 031557 032050 033525 033630 035493 036280 037104 Description Securing a production system How do I assign a password to sap* How do I delete the user sap* Secure the host hardware and OS unix Explanation about init<SID>.sap parameter tape_size Authorization profile P_BAS_ALL and table display Contents of table TCOLL Security aspects in ABAP Overflow of dispatcher request queue Standard jobs, reorganization jobs Customer namespace for SAP objects Setting compress_cmd for compress = only Error analysis for client copy Consistency check of ORACLE database FAQs about authorizations Distribution of background jobs on application server Possible entry values for command fields Set up for LOGON group for autom. load balancing Background jobs do not start when transporting Consequences in transport during password change Questions regarding the authorization concept SAPCPIC: Where are passwords visible ? Data protection and security in R/3 System parameters: Defined where? Displayed how? FAQ: Background jobs The multi-client concept of R/3 - Oveview RSCOLL00: report runs infinitely, incomplete data Important information about SAP patches Deleting old BRBACKUP, BRARCHIVE entries Secrecy and data security obligations Background Work Processes Reserved for Job Class A Error analysis: Background processing system Pgina 166
jluiz@cemig.com.br
ACADEMIA
Number 039267 039412 040689 041732 042268 047502 048018 050088 051222 051789 052505 053030 053062 053064 062431 062739 063480 064015 065761 066533 066612 066687 067074 068048 068544 069444 070085 070128 070547 070639 071058 077429 077462 080210 083327 083699 084052 086895 088416 089324 091096 096896 099088 099284 099502 099962 100400 101146 109515 118823 122718 127773 182592
BASIS
Description Availability of the R/3 security guide How many work processes to configure New reports for the user informations system Deletion of data in transport directory Operating SAPLPD as a service under Windows NT Messages of the Remote Clientcopy Third party products Operation modes and overflow of dispatcher queue Poor user distribution in logon distribution Support offered by SAP after end of maintenance Online archiving versus data integrity Database reorganization and R/3 archiving What is important when reloading from archives ? SAPoffice: Connection over MAPI interface Configuring a central transport host R/3 and MS Exchange linking Test tool for message servers: lgtst Determine configuration problems under Windows NT Automatic unlocking after incorrect logon Network security products Secude and Kerberos Transporting original objects using se01 Deactivating the automatic user SAP* Error messages/terminations in client copy Re-processing failed update records via SM13 Docu/Help for copying clients Client transport How are batch jobs scheduled? Innovations in BRBACKUP and BRARCHIVE Version 3.1G 'SAPgui in Java': scope of functions & availabilit C/2 certification of R/3 Profile generator: composite note Setting up transport system in heterogeneous system R3trans: Table logging Additional Info: Upgrading to 4.0x PC inst Zero administration memory management from 4.0A/NT Archiving: revised adk versions Table Compare: Info about Cust. Cross System Check Improvements for BRBACKUP/BRARCHVIE/BRRESTORE 4.0 RFC exception: RESOURCE_FAILURE SCC1 in Release 4.0B Error messages when you use DB_VERIFY dbv reports corrupt blocks in SYSTEM and PSAPTEMP Batch:authorization object S_BTCH_JOB, S_BITCH_NAM Update groups for asynchronous updates Size of client CBO: Tables with special processing Several enqueue work processes Delete/change transactions codes in command field
RZ10 Parameters
Parameter Rspo/store_location Rspo/files/root/G jluiz@cemig.com.br Default db $(DIR_GLOBAL) Pgina 167 Description Controls where TemSe stores the spool data rule to build file names for TemSe
ACADEMIA
BASIS
Default 300s 0 Description Active authorization for limit page printing
Auth/auth_number_in_userbuffer Auth/no_check_on_tcode eu/iwb/help_type eu/iwb/installed_languages eu/iwb/path_win32 eu/iwb/server_win32 Login/min_password_lng Login/password_expiration_time Rdisp/btcname Rdisp/btctime Rdisp/mshost Rdisp/trace Rdisp/wp_no_btc Rsdb/reco_sleep_time Rsdb/reco_trials
2000 N
Maximum number of authorizations in user buffer No authorization check on object S_TCODE Type of Extended Help (format/access) Installed Help Languages File path for Help on Win32 platforms HTTP server for help on Win32 platforms
60
5s 3
Name of application server that processes events Start Interval for Background Scheduler Hostname where message server is located Trace level for startup log Number of background work processes quantidade de tempo de espera para uma nova tentativa de reconexo ao banco Quantidade de tentativas de reconexo
jluiz@cemig.com.br
Pgina 168
This document was created with Win2PDF available at http://www.daneprairie.com. The unregistered version of Win2PDF is for evaluation or non-commercial use only.