You are on page 1of 165

A

Curso TABC10 Administrao


Captulo 1 A Tecnologia R/3 Basis
O Business Framework o nome da arquitetura do produto R/3 Ela trabalha com componentes de negcios (mdulos configurveis) como FI, CO, HR Isto permite facilidade de mudanas e adaptaes Informaes correm atravs dos processos e dos mdulos Outras vantagens da arquitetura Business Framework - facilidade de integrao com novas tecnologias (como Internet) - integrao com softwares de outros fornecedores - possibilidade de desenvolvimento de funes complementares pelo prprio cliente - implementao de novas tecnologias sem interromper a operao do negocio Componentes do Business Framework Business Componentes -> Business Objects -> BAPI Interfaces -> serem ALE -> informaes so os mdulos funcionais (p.e. HR) so os objetos de negocio (Empregados, Pedidos, etc) so APIs de negocio, disponveis no sistema para chamadas pelos mdulos do Business Framework ou por aplicaes externas (p.e. criar um pedido) so tecnologias que permitem a distribuio de do negocio dentro do Business Framework

O R/3 como um sistema aberto O R/3 usa padres da industria para garantir esta abertura (TCP/IP, OLE, EDI) Uso padres tambm para cdigos de barra, armazenamento tico, etc Usa ainda ferramentas de comunicao internas ao R/3 - RFC -> Remote Function Call que usa o CPI-C da IBM para comunicao e processamento de aplicaes e tasks - ALE -> Application Link Enabling que permite a distribuio do processamento o R/3 e outros R/3 Escalabilidade do R/3 O R/3 segue o modelo de aplicaes Cliente / Servidor Esta arquitetura separa lgica da aplicao, apresentao e gerenciamento de dados Facilita a distribuio de carga e uso de novas tecnologias de hardware Benefcios desta arquitetura - Permite instalar novos servidores para resolver problemas e gargalos - Servidores processam em paralelo com carga homognea e execuo local dos programas - Bufferiza dados e programas perto do processador que vai usa-los - Permite balanceamento de carga e de logon, dividindo grupos de usurios p/ servidor 1

__________________________________________________________________________________________________________ Apostila Mdulo Basis

Configuraes Client/Server do R/3 Os principais servios C/S so aplicao, apresentao e acesso a base de dados O R/3 possui 3 modelos de configurao para o ambiente Cliente/Servidor Central System os 3 servios so realizados num Host configurao tpica de mainframes com terminais grficos Two-Tier um servio fica num equipamento e os outros 2 em outro ex 1: PC Windows para apresentao e um servidor para aplicao e database ex 2: Desktop poderoso para apresentao e aplicao e servidor para database esta configurao usada para simulaes e desenvolvedores de software Three-Tier Host diferentes para cada servio Somente um servidor de Banco de Dados por sistema R/3, embora o SGBD possa utilizar vrios servidores fsicos para realizar o acesso aos dados Vrios servidores de aplicao, desta forma podemos balancear cargas e executar servios em paralelo Vrios servidores de apresentao (tambm chamados de Frontends) conectados em cada host de aplicao, que rodam o software de apresentao (SAP/GUI) Protocolo de rede sempre TCP/IP A ligao entre servidores de Banco de Dados e os de Aplicao deve ser sempre que possvel a 100 Mb/s A rede que liga o servidores de aplicao aos servidores de apresentao pode ser de 10 Mb/s

O Middleware Basis do R/3 A arquitetura Basis tambm chamada de Middleware Ela isola as aplicaes das complexidades e variaes existentes entre os sistemas operacionais e bancos de dados, Existe um Kit para cada plataforma/banco de dados escrito em C Este Middleware permite ao R/3 rodar com as mesmas funcionalidades em diferentes plataformas, pois: - Proporciona o mesmo ambiente de runtime para as aplicaes R/3 - Cuida de otimizar a relao entre as aplicaes e o sistema operacional - Define uma infra-estrutura estvel para modificaes no sistema - Embute ferramentas para administrao de todo o ambiente - Permite distribuio de recursos e componentes do sistema - Proporciona interfaces para descentralizao de componentes e de produtos externos Caractersticas da tecnologia Basis - Aderncia a arquitetura Cliente/Servidor - Uso de Bancos de Dados Relacionais - Uso de Interface Grfica Overview do sistema Basis Garante portabilidade ao R/3, acima deste nvel todas as funes so independentes de hardware e software 2

__________________________________________________________________________________________________________ Apostila Mdulo Basis

Executa funes que poderiam ser deixadas ao S.O.(como schedulagem de tarefas e administrao de memria), porem so realizadas para garantir portabilidade A prpria interface de usurio (SAP/GUI) proporciona as opes para apresentao da aplicao Ele proporciona canais para a troca de informaes eletrnicas, como EDI, comunicao programa-a-programa via CPI-C ou transferencia de dados com sistemas legados A interao entre o DYNPRO (interpretador de telas do SAP), o interpretador ABAP e o dicionrio de dados ABAP fornece a infra-estrutura para o desenvolvimento de programas ABAP Plataformas disponveis para o R/3 R/3 roda em Unix, Windows NT, AS/400 e S/390 Pode usar SGBDs como Informix, Oracle, ADABAS D, DB/2 e Microsoft SQL Server O SAP/GUI compatvel com Windows, OS/2, Motif e Macintosh Pode interfacear com programas ABAP, C, C++, HTML e Java

__________________________________________________________________________________________________________ Apostila Mdulo Basis

Captulo 2 A Navegao
Client ou Mandante a diviso Organizacional e Administrativa de Sistema um numero de 3 dgitos uma unidade organizacional auto contida no R/3 Permite que um instalao R/3 rode varias empresas totalmente diferentes - Cada Client possui suas prprias parametrizaes independentes - Um Client no enxerga os dados de outro Client - Balanos so emitidos a nvel de Client O R/3 divide os dados em - Client Dependent Usurios Customizao Dados das transaes de negcio - Client Independent Telas Programas Dicionrio de Dados Runtimes (programas compilados) Tabelas Client Dependet possuem campo MANDT (indica a qual mandante pertence o dado) Cada usurio s acessa os clients aos quais tem autorizao O Client 000 um client fornecido pela SAP e no deve ser alterado, apenas usado como modelo para clients adicionais que necessitemos criar Elementos das telas Title Bar Command Field Options Standard Tollbar etc Checkbox Radio Buttons Status Bar > -> -> -> titulo da tela que estamos usando campo para digitarmos a transao que queremos executar O Mickey, onde podemos mudar as opes da interface Barra de ferramentas com cones de navegao, salvar, help,

-> Caixas para seleo de vrios itens ao mesmo tempo -> Caixas para seleo de um item entre vrios -> Barra de Status e mensagens do sistema

Chamada de transaes No Command Field - /Nxxxx -> encerra a transao corrente e inicia outra na mesma sesso - /Oxxxx -> abre outra sesso com a transao desejada - /I -> encerra a sesso corrente Podemos abrir at 6 sesses simultneas 4

__________________________________________________________________________________________________________ Apostila Mdulo Basis

O Help -

Permite display via HTML instalado a parte do R/3 (no incorporado na instalao do produto)

Funes do SYSTEM MENU Criar e Encerrar Sesses Modificar User Profiles

- Hold / Set / Delete Data - > salva dados de uma sessao e os carrega a prxima vez que voc executar a mesma aplicao - OWN Data -> Permite que altera dados pertinentes seu usurio, como Address dados de endereo do usurio Default transao inicial, impressora default, etc Parameters defaults do usurio para determinados campo (p.e. Cdigo da Empresa) - Favorite Maint -> da manuteno nas transaes mais utilizadas pelo usurio transaes favoritas tambm podem ser mantidas pelo Dynamic Menu Executar funes de servio - Reports - Queries - Batch Input - Jobs - Table Display Mostrar o Status do Sistema e da transao Corrente Executar Logoff

O Session Manager uma outra interface para acesso ao R/3 Disponvel a partir do R/3 Release 3.0D para clientes Windows 95 e NT Permite que se faa login em vrios sistemas ao mesmo tempo, cada sistema vira uma pasta que pode ser acessada individualmente Tem a navegao explicita, ao selecionarmos um caminho os boxes da tela mostram todas as opes daquele ramo da arvore Existe ainda uma 3 maneira de se fazer logon no R/3: o SAPICON

__________________________________________________________________________________________________________ Apostila Mdulo Basis

Captulo 3 O Kernel do sistema


Principais tpicos do KERNEL SAPGUI SGBD Application Server O SAPGUI Interface de apresentao do R/3, que roda no Client Especifico para cada tipo de Client, porem com idnticas funcionalidades No trafega tela, mas informaes condensadas de 1 ou 2k Suporte conexes WAN

O Banco de Dados Relacional O R/3 usa o padro ISO 9075 para queries e manipulao de dados Num programa ABAP usa-se SAP OPEN SQL para acesso ao SGBD O OPEN SQL traduzido p/o gerenciador especifico Se utilizar EXEC SQL, pode-se perder a independncia de plataforma O Application Server Servidor que toda o R/3 O primeiro Application Server a Central Instance Roda obrigatoriamente todos os servios do R/3 Componentes - Dispatcher - Filas de solicitaes dos clients - Work Processs - Shared Memory Nomes dos Application Server DVEBMGS<Sid> ->Central Instance D<Sid> -> se tiver WP Dialog DB<Sid> -> se tiver WP Dialog e Background DBS<Sid> -> se tiver WP Dialog, Background e Spool O DISPATCHER o controlador dos processos das aplicaes - se conecta aos Clients SAPGui e organiza estas conexes 6

__________________________________________________________________________________________________________ Apostila Mdulo Basis

recebe solicitaes do clients distribui as solicitaes entre os Work Process Coloca as solicitaes em filas e encaminhadas seqencialmente aos Work Process No start do R/3, o Dispatcher Le as Profiles Gera os Roll Files Ativa os Work Process Efetua Log

Work Processs Executas as tarefas dentro do R/3 Se conecta ao SGBD para acesso aos dados Tipo de WP Dialog Conversao com usurios (acesso ao SGBD R/O) Update Update V1 ou V2 (acesso ao SGBD para Write) Enqueue Enqueue Background Processamento batch(acesso ao SGBD R/O) Spool Impresso

O Task Handler Componente do WP que coordena a atividade de um Dialog WP Ativa o Screen Processor ou o interpretador ABAP Controla o Roll in e Roll out do User Context Shared Memory rea de memria compartilhada por todos os WP Dividida em duas reas - Application Buffer Dados de tabelas Tabelas em memria Programas ABAP, sua telas e o Dicionrio do ABAP Parametrizao dos mdulos de negocio - Roll Area User Context (Authorizations do usurio, informaes administrativas e informaes para processamento no Work Process) Esta rea pode ser paginada para o Roll File Servios do R/3 Tarefas de servios, que no so rodado em WP Message -> Verifica a carga e distribui os servios -> Sincroniza servios entre os applications servers Gateway -> Tambm chamado de CPI-C handler permite comunicao com outro R/3, R/2 ou sistemas externos

Fluxo da Transao R/3 PBO (Processing Before Output) Tela (usurio responde) PAI (Processing After Input) PBO (Processing Before Output) 7

__________________________________________________________________________________________________________ Apostila Mdulo Basis

SAP LUW Enqueue estar

Tela (usurio responde) ... Uma transao uma serie de dilogos conectados entre si Primeira parte inicia no Start Transaction e se encerra no Commit Work Segunda parte realiza o Update num Work Process separado Existe ainda a DB LUW, que a LUW do banco de dados

Lock Table mantm registro dos enqueues Enqueue Work Process realiza enqueues baseado nesta tabela Message Server comunica Dialog Work Process com Enqueue WP, j que eles podem em servidores diferentes

Lock Objects Para executar locks, necessrio definir o objeto a ser lockado no dicionrio ABAP Os lock pode ter modo E (Escrita) ou S (Leitura) O Modo E s pode ser obtido se ningum mais tem modo E Quando ATIVAMOS um Lock Object, o sistema gera duas funes - ENQUEUE_<LockObject> - DEQUEUE_<LockObject> O Processo de Update do R/3 O sistema emite enqueue para garantir integridade As solicitaes de Update das Tasks so armazenadas numa tabela intermediaria (VBLOG) No Commit Work o Update WP chamado para fazer a alterao do DB Ao encerrar devolve o controle para o D-WP que encerra a transao e remove os enqueues Se a conexo com o SGBD cai durante o update, ela terminada aps a reconexao Processamento em BackGround Jobs tem prioridade A, B ou C So geralmente agendados para uma determinada hora O Batch Scheduler o responsvel por ativar os job Ele pesquisa a Scheduling Table por jobs prontos e solicita sua execuo Jobs sem especificao de servidor so distribudos de acordo com a carga do sistema Jobs so selecionados de acordo com a hora de execuo - Dentro da mesma hora roda primeiro o de mais alta prioridade - Dentro de uma mesma prioridade roda primeiro o que tem servidor definido Servio de Impresso Tambm usado para fax Trabalha em conjunto com o spool do S.O. As informaes sobre o spool ficam no spool database, o spool mesmo fica num TemSe (Temporary Sequencial Object) Quando o spool deve ser impresso, o Spool WP le o TemSe e gera spool para o S.O. Instancias Unidade administrativa que provendo 1 ou mais servios 8

__________________________________________________________________________________________________________ Apostila Mdulo Basis

Os servios so ativados ou desativados todos ao mesmo tempo Possui Start Profile e Instance Profile para sua parametrizao Cada instance tem seu prprio Local Buffer, que sincronizado de tempos em tempos A central instance possui um message server para comunicao entre as instances - Dispara updates, coloca e remove locks, etc - Esta comunicao feita pelo Dispather - O message server pode ser usado pelos clients para realizar logon, selecionando o server mais disponvel para a conexo

Captulo 4 Interfaces com outros sistemas


Comunicao com outros sistemas Conexes possveis - R/3 <-> R/3 - R/3 <-> R/2 - R/3 <-> outros sistemas Protocolos de comunicao suportados - TCP/IP - LU 6.2 (para conexo com mainframes) Interfaces de comunicao suportadas - CPI-C - RFC - OLE - ALE - EDI O servio de Gateway (CPI-C handler) Disponibiliza comunicao entre sistemas R/3 e R/2 (TCP/IP e LU 6.2) Disponibilizar comunicao tambm com outros sistemas que suporte CPI-C Pequenas mensagens so trocadas atravs do Message Server, grandes volumes de dados atravs do Gateway Posso ver conexes ativas atravs da transao SMGW Comunicao via CPI-C Comunicao programa-a-programa via comandos bsicos Geralmente usada para conexo com R/2 ou mainframes Precisa definir a conexo na tabela TXCOM (transao SM54) Executar comandos ABAP para ativao e troca de dados - COMMUNICATION INIT -> inicio 1 programa - COMMUNICATION ALLOCATE -> estruturao 1 programa - COMMUNICATION ACCEPT -> aceite 2 programa - COMMUNICATION SEND - COMMUNICATION RECEIVE - COMMUNICATION DEALLOCATE -> encerramento Faz converso automtica ASCII <-> EBCDIC Interface RFC Interface mais simples de utilizar e com mais funes do que o CPI-C Usa CPI-C para a comunicao final, porem esconde a complexidade do programador Usada para conexo com R/2, R/3 ou sistema externos que falem RFC 9

__________________________________________________________________________________________________________ Apostila Mdulo Basis

Permite a chamada de funes (programas) em outros sistemas Para criar este Function Modules usar transao SE37 Para das manuteno nas conexes RFC usar transao SM59 Tipos de chamadas RFC - Sncrona -> chamador aguarda resposta para continuar - Assncrona -> chamador no aguarda resposta, mas R/3 destino precisa esta ativo - Transacional -> executa uma transao com vrios Function Modules no chamado -> so consideradas como 1 nica LUW -> R/3 destino no precisa estar ativo -> podemos configurar freqncia e intervalos da chamada

Business Objects e BAPI BO -> base de comunicao entre sistemas / mdulos -> orientados a negcios (CLIENTES, PEDIDOS, etc) -> possuem mtodos (CRIAR CLIENTE, ou ENVIAR PEDIDO) -> so armazenados no BOR (Business Object Repository) BAPI -> interfaces funcionais -> usam os mtodos do BO -> podem sem chamadas de fora do R/3 Interface com OLE Como Client - O ABAP pode solicitar funes OLE do Desktop - SAPGui conversa OLE com o Desktop - Para falar com ABAP, o SAPGui transforma estas chamadas em RFCs - Funes ABAP para OLE CREATE OBJECT CALL METHOD GET PROPERTY SET PROPERTY FREE OBJECT Como Server - O desktop pode solicitar funes R/3 - As chamadas so feitas como chamadas de mtodos de objetos - Estas chamada feitas via OLE so encaminhadas ao SAP Automation Server, que as converte em RFC - Todos os Business Objects do Business Object Repository podem ser chamadas via desktop - O cliente precisa estar logado para poder executar uma chamada (o logon pode automtico) Interface com a Internet Disponvel desde a verso 3.1 G O acesso possvel atravs de um ITS (Internet Transacion Server) Dentro do ITS existe um A Gate (Application Gate), que conversa com o R/3 e um W Gate (Web Gate) que conversa com o Web Server

Interface com EDI EDI a troca de dados de negocio em formato estruturado entre aplicaes e empresas A arquitetura R/3 para EDI composta por __________________________________________________________________________________________________________ 10 Apostila Mdulo Basis

Aplicaes prontas p/ EDI permitem que transaes de negocio sejam executadas automaticamente Interface IDOC interface aberta para intermediao de documentos padro proprietrio SAP possui um IDOC Type que define a forma e estrutura do documento e registros de controle de status do documento desenvolvido de acordo com ANSI 12 e o padro EDIFACT EDI SubSystem Converte IDOCs em mensagens EDI No fornecido pelo R/3

Interface ALE (Application Linking Enabling) permite a parametrizao e operao distribuda de aplicaes R/3 as aplicaes so integradas atravs de troca de mensagens (sncronas e assncronas), e no atravs de um banco de dados central os dados so trocado usando os Idocs da interface EDI Import de Dados externos para dentro do R/3 Batch input - Dados so armazenados como uma BDC Table (Batch Data Communication) num arquivo de batch input session - A seguir o sistema processa esta session, processando cada dado atravs da transao apropriada - Isto garante integridade dos dados entrados no sistema Call Transaction - Dados so armazenado como uma BCD Tabele e chamamos a transao diretamente, apontando a BCD - Tambm garante a integridade Direct Input - Fazemos um programa que grava os dados diretamente na base de dados do R/3 - Garantia de integridade responsabilidade do programador

__________________________________________________________________________________________________________ 11 Apostila Mdulo Basis

Captulo 5 A Interface Grfica de Usurio


A administrao dos Front-Ends Os equipamentos no os mesmos em toda a rede Os usurio no precisam das mesmas aplicaes nem dos mesmos componentes do SAPGui, porem desejam todos os aplicativos que necessitam num nico computador Para a construo do ambiente deve-se criara uma matriz com as necessidades dos usurios, deste modo construindo cenrios possveis para os front-ends Isso auxilia a definio de cenrios, facilitando instalao e distribuio

Requerimento para o SAPGui SAPGui protegido contra vrus Hardware - Win95 Mnimo -> 486 16 Mb Ram Recomendado -> P133 32 Mb Ram - Win Nt Mnimo -> P133 32 MB Ram Recomendado -> P133 48 Mb Ram Rede - WINSOCKET API (WINSOCK.DLL) c/ protocolo TCP/IP - Para testar a conexo de rede usar PING ou TELNET - Para testar a conexo do SAPGui usar SAPGUI AppServer SAPDP<xx> - Deve-se configurar os arquivos HOSTS e SERVICES do diretrio C:\WINNT\SYSTEM32\DRIVERS\ETC para configurar conexo SAPDPxx 32<Sid>/TCP SAPGWxx 33<Sid>/TCP SAPMSxx 36<Sid>/TCP Instalao do SAPGui INTERATIVA - Quando feita individualmente em cada PC - Posso instalar a partir do CD ou baixar o CD no File Server e instalar dele - Para upgrade devemos obrigatoriamente deletar a verso velha - O programa de instalao o SAPSETUP.EXE P/ Win 3.x diretrio GUI\WINDOWS\WIN16 P/ Win 95 diretrio GUI\WINDOWS\WIN32 - Arquivo de configurao do processo de instalao: SAPSETUP.INI Dialog Free - Totalmente guiada pelo arquivo SAPSETUP.INI - feita chamando o programa SAPSETUP.EXE na linha de comando

__________________________________________________________________________________________________________ 12 Apostila Mdulo Basis

O resultado da instalao gravado no SAPSETUP.LOG Simples e fcil de instalar

Helps para o Front-End Arquivos de Help ficam no servidor CD) Definio do Tipo de Help: Definio do caminho help files: Programa de instalao do Help: /EU/IWB/Help_Type /EU/IWB/Patch_Win32 \PlainHTM\Install\<OpSystem>\INSTHELP (no

Internet Explorer fornecido c/o R/3 \HTMLHelp\Setup\IE302 (verso 3.02) Arquivo de configurao do help no front-end : SAPDOCCD.INI Sections: HTMLHelp e SystemId<Sid> Tipos de Help PlainHtmlHttp Exibe o help em HTML, recebendo as paginas de um servidor WEB Usado quando um servidor de WEB est disponvel (em Intranets) PlainHtmlFile Exibe o help em HTML, acessando as paginas atravs de um Share do servidor HtmlHelpFile Exibe helps em HTML, porem os arquivos de help ficam em formato comprimido Existe um diretrio de help para cada lngua instalada Para funcionar necessrio que o Browser j esteja instalado quando instalarmos o SAPGui, pois este vai ativar alguns controle HTML no Browser para entender a compactao Quando usamos este help devemos ter a documentao do 4.0A e 4.0B juntas, no mesmo release do NT ou do 95

Logon e Trace Programa SAPLOGON.EXE - Le arquivo SAPLOGON.INI (contem a lista de sistemas R/3 e seus parmetros de Logon) - Para evitar edio deste arquivo pelo usurio, torna-lo READ ONLY - Estas informaes sero usadas para montar a Connect String e efetuar a conexo - Pode fazer logon Load Balance - A seguir ativa SAPGUI.EXE Para Trace do Logon - Clicar no canto superior direito da janela do SAPLOGON - Selecionar um OPTION ACTIVATE SAPGUI TRACELEVEL - Sero gravados: DEV_xxxx.TDW e DEV_xxxx.BIN Arquivos do SAPLOGON SAPLOGON.INI Arquivo com o nome dos sistemas R/3 e seu grupo de logon SAPMSG.INI Contem a lista dos Message Server e os nomes lgicos dos seus servios Acessado quando usado Logon Group SAPROUTE.INI Contem a lista dos SAP Routers que podem ser selecionados Contem a Connect String dos servidores Usado quando seleciono SAP Router

__________________________________________________________________________________________________________ 13 Apostila Mdulo Basis

SERVICES No alterado via SAPLOGON, deve se usar editor de texto Entradas necessrias: sapms<Sid> <service number>/TCP sapmsTC3 3603/tcp

Connect String Para um servidor especifico - /H/<host> /S/<servico do dispatcher> Para Message Server - /M/<host do ms /S/<servico do ms> Para SAPROUTER - /H/<host SAPRouter> /S/<servico do router>

/G/<logon group>

Instalao do SAPGui Local - Instalar o SAPGUI no frontend - Maior disponibilidade, pois independe de um servidor central - Menor consumo dos recursos da rede (o sw local) Central - Instalar o SAPGUI no servidor - A vantagem a administrao centralizada - Porem consome mais recursos da rede - Precisa de um rede bem dimensionada e segmentada em subnets SAP MAPI Interface para usurios do SAPOffice integrada ao SAPGUI Integrada ao MS Office e MS Outlook SAPGui com JAVA Usa browser para exibir telas do R/3, num ambiente Internet/Intranet Possui Applets especficos, que so carregados do WEB Server Na instalao so fornecidos - As classes Java para o funcionamento da interface - O template IDES.HTML - O ORB ORBIXD.EXE que converte os padres Internet em SAPGui (e vice versa) - Este ORB instalado como servio Windows Instalao SAPGUI in JAVA Necessita - De um WEB Server - Plataforma Windows NT ou Solaris - Browsers que reconheam JAVA Aps instalar, precisamos configurar no IDES.html - sap_connect string de conexo - Width largura do SAPGui na janela JAVA - Heigth altura do SAPGui na janela JAVA - dptrace nvel de trace desejado

__________________________________________________________________________________________________________ 14 Apostila Mdulo Basis

Captulo 6 SAP OSS (Online Service System)


Overview 24h no ar Precisa de link com SAP Alemanha para funcionar e IP valido Permite consultas ao DataBase de Notas registrar chamados tcnicos registro de alteraes em programa originais SAP Consultar e fazer download de HotPackages SAP Obter informaes de treinamento Transao para chamar OSS -> OSS1

EarlyWatch Usurio do CLIENT066 que usado para diagnostico de problemas Equipe do laboratrio (Waldorf) usa para se conectar ao R/3 Senha inicial -> SUPPORT 1 sesso de diagnostico usada para verificao de performance Pesquisa de notas Permite especificao de palavras chaves para pesquisa O uso de palavra conhecidas pelo sistema aumente eficincia da pesquisa Registro de problemas Prioridades dos chamados - Very High -> sistema parado - High -> sistema em vias de para - Low -> Problema no afeta o funcionamento do sistema Entro com a descrio do problema, severidade, caractersticas desta instalao (DB, release, etc) SSCR (SAP Software Change Registration) Para alterar objetos originais SAP, necessrio um cdigo de acesso Este cdigo obtido informando no SSCR o nome do objeto e o nome do usurio desenvolvedor O desenvolvedor tambm deve ser cadastrado no OSS A chave de acesso tem 20 posies Hot Packages Correes fornecidas pela SAP para problemas que afetem diversas instalaes Devem ser aplicadas somente para o mesmo release Devem ser aplicadas em ordem numrica Funo HOT NEWS do OSS informa se existem Hot Packages para o meu sistema Informaes de treinamento Podem ser obtidas via OSS A Internet parece ser melhor ferramenta para acessar estas informaes Acesso ao OSS

__________________________________________________________________________________________________________ 15 Apostila Mdulo Basis

Link precisa estar no ar Chamar transao OSS1 Ele starta outra sesso SAPGui, conectada ao servidor OSS O Gateway garante a segurana da conexo, verificando a validade dos pacotes que chegam e de seus endereos IP SAPNET Paginas para troca de informaes entre a SAP e clientes ou parceiros Pode ser acessado atravs do cone CUSTOMER PARTNER da pagina da SAP Funes - Assistance -> correio eletrnico com SAP (Inbox, Outbox, Index, Favorites) - Information -> Release Information, Basis Technology, Core Aplication/Components - Communication -> Forum de discusso, Grupos de usurios, TechNet, Projetos - Service -> Pesquisa de Notas, Download de Hot Packages -> Cursos, self training e informaes sobre o IDES - Self Service -> Quick sizing, textos, Service Quote (??) - Settings -> Defalts pessoais

TechNet -

Knowledge base Frum de discusses Acessvel pelo SAPNet

__________________________________________________________________________________________________________ 16 Apostila Mdulo Basis

Capitulo 7 Usurios e Authorizations


Usurios em cada ambiente Sistema operacional (NT) <Sid>adm -> TC3adm SAPService<Sid> -> SAPServiceTC3 (usurio do servio) Oracle SYS -> SYSTEM -> SAPR3 / SAP -> Proprietrios das tabelas R/3 R/3 CLIENT000 SAP* / 06071992 DDIC / 19920706 SAPCPIC / ADMIN CLIENT001 SAP* / 06071992 DDIC / 19920706 CLIENT066 EARLYWATCH / SUPPORT Novos Clients SAP* / PASS Usurio hard coded Para desativarmos devemos criar um Master User Record para o usurio SAP* Pode ser inibido via System Profile

Conceito de Authorization

__________________________________________________________________________________________________________ 17 Apostila Mdulo Basis

Servem para restringir acesso a objetos do R/3 Profiles podem possuir uma ou mais Authorizations Authorizations podem ser assinaladas para Transaes ou por funo de uma transao 1 Profile pode ser composta de outras Profiles SINGLE PROFILE COMPOSITE PROFILE Se a profile do usurio no tem uma autorizao explicita para um objeto, ele no pode acessar o objeto (Authorizations so positivas) Estrutura das Authorizations Objetos de autorizao - Criado pelos programadores via transao SU21 - So agrupados p/ Classe (p.e. FINANCIAL ACCOUNTING) - Cada Objetos de autorizao pode possuir diversos campos Uma Authorization um determinado conjunto de valores destes campos As Authorizations so checados por codificao nos programas ABAP Exemplo Objetos de autorizao -> CUSTOMER COMPANY CODE Campos -> COMPANY CODE e ACTIVITY A Autorizao o valor que se da a estes campos Autorizao RESTRITA COMPANY CODE = Autorizao COMPLETA COMPANY CODE = do objeto CUSTOMER COMPANY CODE 0001/0009 ACTIVITY = DISPLAY do objeto CUSTOMER COMPANY CODE * ACTIVITY = CHANGE / DISPLAY

Authorization Object Criado pelos programadores via transao SU21 Checados dentro dos programas Cada objeto pode possuir diversos campos Uma Authorization um determinado conjunto de valores destes campos Cada objeto pode ter quantas autorizaes desejemos Cada chamada para verificar Authorization (programa) checa s uma destas autorizaes A Arvore de Authorizations dos usurios - 1 usurio (USER MASTER RECORD) pode possuir varias Profiles - 1 Profile pode possuir varias Authorizations - 1 Autorizao possui vrios campos/valores Ferramentas para se criar Authorizations - Profile Generator - Manual Creation

Verificao de autorizao - No momento do Logon do usurio, suas Authorizations so colocadas no User Buffer - User Buffer -> rea do User Context que contem as Authorizations de um usurio especifico - Para revalidar precisa de novo Logon - O programa emite o comando AUTORITY CHECK para aquele objeto de autorizao, testando valores contra as especificaes do usurio - Se o usurio possui aqueles valores, o acesso permitido - Caso contrario, o usurio recebe mensagem de erro __________________________________________________________________________________________________________ 18 Apostila Mdulo Basis

Existe ainda possibilidade de checar autorizao para a transao - Antes de entrar, testa - Se no tem autorizao, nem deixa entrar

O PROFILE GENERATOR - Processo simplificado para gerao de Authorizations (PFCG) - Agrupamos em ACTIVITY GROUPS todas as transaes que um determinado grupo de usurios vo acessar - O Profile Generator identifica quais objetos de autorizao aquelas transaes precisam e cria uma Profile com valores default para aqueles objetos - Depois, relacionamos Activity Groups aos usurios - Cada usurio de um Activity Group ter no seu User Master Record as Authorizations daquelas Profiles Passos do Profile Generator (sem RESPONSIBILITY) 1. Verificar unidades organizacionais (como Company Codes) para todas Authorizations que usam unidades organizacionais 2. Verificar as Authorizations sugeridas pelo sistema 3. Verificar os campos (que no so Organization Units) e que no puderam ser gerados pelo sistema 4. Gerar as Authorizations Profiles para os Activity Groups 5. Assinalar usurios para os Activity Groups 6. Atualizar os User Master Record dos usurios assinalados

Activity Groups com RESPONSABILITY - Responsibility define a rea de abrangncia da Autorizao - Posso definir descries funcionais idnticas, que Os diferem para entre si em qual Company Code elas se aplicam - Cada Responsibility de um Activity Group vira uma Profile, que depois associada aos usurios - Podemos (mas no devemos) manter esta Profile manualmente - Desta forma - S definimos uma vez a transao para cada Activity Group - Devemos definir Organization Level e Authorization para cada Responsibility - No podemos definir diferentes caractersticas funcionais para uma Responsibility sem afetar as outras do mesmo Activity Group Passos do Profile Generator (com RESPONSIBILITY) - Selecionar transaes que desejamos para um Activity Group - Criar a RESPONSABILITY - Criar Authorization Profiles - Depois de criar, entramos nas Authorizations e as modificamos para cada Responsability - Assinalamos os Usurios para cada Responsibility - Mandamos executar UPDATE USER MASTER RECORD Modificaes nas Authorizations - Ao entrarmos na transao, ele exibe colapsado - Classes dos Objeto - Authorization Object - Authorization

__________________________________________________________________________________________________________ 19 Apostila Mdulo Basis

- Values Existe um semforo em cada nvel indicando - Verde -> todos valores das Authorizations preenchido - Amarelo -> faltam preencher alguns valores - Vermelho -> precisa preencher dados a nvel de organizao

Criao / Modificao de usurio (SU01) - Pastas - User Data - Default - Address - Paramaters - Lock/Unlock de usurios e troca de passwords - possvel ver usurios Locked na SUIM Relatrios da transao SUIM - User Master Records (lista usurios) Authorization Profiles Authorization Objects Authorizations Change History (Verifica alteraes feitas) Activity Groups Where Used

Parmetros da System Profile referentes a usurios - Comeam com LOGIN/ - login/fails_to_user_lock - numero de tentativas erradas de senha antes do lockar o usurio - usurio liberado meia-noite - login/failed_user_auto_unlock - no libera automtica a meia noite - login/no_automatic_user_sapstar - desativa o hard code do usurio SAP* Regras para passwords - diferente das ultimas 5 - no deve comear com os mesmos 3 caracteres do username - no pode ser PASS ou SAP - no deve comear com 3 caracteres idnticos - no pode comear com ? ou !

Trace de Authorizations - Para verificar Authorization Check - ST01 System Trace - Para analisar um falha de autorizao - SU53 Mostra quais Authorizations precisaria e quais tem - Para verificar Authorizations do User Buffer - SU56 Se no esto todas ai ... -> mudaram seus Activity Group de logoff e logon) -> vieram novas Authorizations por transporte reset seu User Buffer __________________________________________________________________________________________________________ 20 Apostila Mdulo Basis

-> seu User Buffer muito pequeno aumente auth/auth_number_in_userbuffer

Captulo 8 Processamentos em Background


Background Jobs Compostos por programas ABAP, comandos externos ou programas externos Rodam seqencialmente sem interveno do usurio Usados para - Execuo de tasks automaticamente - Transferencia de dados de sistemas legados - Executar quando eventos (internos ou externos via SAPEVT) - Processar grandes volumes de dados quando o sistema tem baixa carga online Distribudos de acordo com a carga, porem pode-se especificar uma instance especifica Possuem classes - A -> maior prioridade -> pode ter WP especficos - B -> segunda maior prioridade - C -> ltima prioridade possvel trocar o modo do WP de Dialog para Background via Operation Mode O JOB SCHEDULING MONITOR permite viso grfica do scheduling dos jobs Ferramentas para administrao de jobs batch - APIs ABAP - Transaes do prprio R/3 - External Function Modules que formam o External Job Application Programming Permite manusear os jobs do R/3 via sistema externo (MVS, OS/400, NT) O processamento de Background Jobs Qualquer instace de R/3 pode ser configurada para rodar Background Jobs - Parmetro rdisp/wp_no_disp JOB SCHEDULING TABLE: tabela nica no sistema que contem a relao de Jobs a executar Job Name + Job Number uma combinao nica nesta tabela Ao menos 2 Dialog WP devem ser configurados por instance - 1 para o Batch Scheduler checar a Scheduling Table - Outro para o trabalho dos usurios online No existem mnimo para Background WP - Porem, se usarmos Funes de Transporte, devemos ter no mnimo 2

__________________________________________________________________________________________________________ 21 Apostila Mdulo Basis

A cada 60 segundos o Batch Scheduler verifica a Scheduling Table Este tempo controlado pelo rdisp/btctime Toda instance com Background WP tem um Batch Scheduler Quando o Batch Scheduler encontra jobs em condio de processar - Solicita ao Message Server o servidor que vai executar - Esta escolha baseada na carga do servidor - Em seguida, solicita ao Dispatcher para ativar o Job num Background WP Jobs pode ser schedulados - IMMEDIATE - DATE/TIME - EVENT BASE - JOB END BASED Caso no existam recursos (p.e. Background WP) para processar um job IMMEDIATE ou EVENT BASED ele transformado em DATE/TIME Jobs que foram selecionados por um determinado Batch Scheduler porem no puderam rodar porque no havia Background WP disponvel naquele momento podem ser selecionados pelo Batch Scheduler de outro servidor, roubando o job do primeiro Se forarmos uma instance especifica, perdemos esta opaco de Work Balancing Operation Mode Usado para modificar a qtde de Dialog e Background WP - Apenas troca Dialog p/ Background ou vice-versa, nunca cria mais WP Permite ainda definir Classe A para um determinado Background WP Se no momento do Switch houverem jobs rodando do WP, este marcado como pending, porem o processo terminado normalmente Seleo de jobs A seleo se da por hora (run time) Quando a hora de execuo a mesma - Seleo por Classe - Quando a Classe a mesma Seleo primeiro os que tem servidor explicito Criao de Jobs Via SM36 (CCMS) Posso usar Spool Recipiente List para enviar o Spool para - Usurio do SAPoffice - Uma SAPoffice Distribution List - Um usurio R/3 - Um usurio externo via correio eletrnico Boto STEPS defines Steps Boto START DATE define condio de start do job (hora, evento) Executando Jobs em Background Podem usar Variantes Se o job dispara programas ou comandos externos, isto feito atravs do programa SAPXPG, que roda no host e ativado via RFC - Programa externo um programa/comando/batch S pode ser executado por quem tem Background Administration Authorization No precisamos criar um objeto R/3 para chama-lo

__________________________________________________________________________________________________________ 22 Apostila Mdulo Basis

Eventos -

Comando externo um programa/comando/batch Pode ser executada por qualquer usurio com autorizao necessrio definio do comando para poder ser chamado Programas externos podem ser rodados em modo sncrono ou assncrono Todo job tem seu Job Log Criao Transao SM64 Pode-se criar User Events ou R/3 System Events

- System Events comeam com SAP, posso criar eventos com este prefixo, porem corro o risco de novas verses do R/3 usarem o nome escolhido - Exemplos de System Events SAP_END_OF_JOB SAP_OPMODE_SWITCH SAP_SYSTEM_START SAP_SYSTEM_STOP SAP_TRIGGER_RDDIMPDP - Exemplos de User Events END_OF_DATA_TRANSFER Triggering - Via SM49 (Raise Event) - Pode-se usar funo ABAP -> BP_ EVENT_RAISE - Pode-se usa programa SAPEVT do Windows SAPEVT <Event_Id> Name=<Sid> NR=<System Number> SAPEVT <Event_Id> p<parametros> Name=<Sid> NR=<System Number> Com o parmetro t, o SAPEVT gera um log no diretrio corrente

Manipulao de Jobs Via SM37 (Job OverView) - Podemos manipular jobs que estao em Scheduled ou Release - No possvel manipular jobs que esto rodando ou j rodaram - Caso seja necessrio ressubmeter, usar JOB COPY, dar um nome e salvar Ser outro Job, porem igual ao primeiro - Podemos verificar erros no Job Log ou via Transao SM21 - Na SM37 no podemos nos esquecer Start After Event -> para ver jobs dependentes de eventos Jobs Without Start Date -> jobs sem data de start Jobs With Previous Job -> jobs dependentes de outros jobs Via RZ01 (Job Scheduling Monitor) - Display grfico para controle de Jobs Job WorkFlow Controle default - Seqencial A -> B -> C - Paralelo A -> B (B e C so dependentes de A) -> C Controle por Background Job API - Peridico Jobs ativados por outro que roda periodicamente - Com deciso lgica Job roda se outros 3 j rodaram com sucesso antes

__________________________________________________________________________________________________________ 23 Apostila Mdulo Basis

Estes Background Job API so function modules do ABAP que comeam com BP_

XBP e XMI Permite a integrao do CCMS com outro sistema de controle de ambiente A integridade mantida (core competence) j que as funes so executadas por mdulos da CCMS Function Modules comeam com SXMI_ XBP -> eXternal interface for Background Processing - Interface usada para conectar agentes (processos) - No schedula jobs no ambiente externo XMI -> eXternal Monitoring Interface Monitora a atividade do sistema

Authorizations Para Jobs - S_BATCH_ADM pode trabalhar com jobs de outros usurios - S_BATCH_NAM quais usurios podem ser usados quando schedulando jobs batch - S_BATCH_JOB DELE -> Deletar jobs de outro usurio LIST -> Display spool criado por outro usurio PROT -> Display Job Log criado por outro usurio SHOW -> Display Job Definitions de outro usurio Para acesso a CCMS - S_RZL_ADM Activity Code 01 -> acessa CCMS com funo de administrador Activity Code 03 -> acessa CCMS Read Only Para External Commands - S_LOG_COM Capacita usurio a executar comandos externos Podemos limitar COMMAND; OPSYSTEM; HOST - S_TCODE Da autorizao para SM49 (Execute External Command) e SM69 (Define) Para XMI - S_XMI_PROD Define qual interface externa e de que companhia se esta usando Campos EXTCOMPANY, EXTPRODUCT, INTERFACE - S_XMI_LOG Define se usurio R/3 podem acessar log da XMI e como podem Campos XMILOGACC, SELECT, REORG

__________________________________________________________________________________________________________ 24 Apostila Mdulo Basis

Captulo 9 Processamentos Avanado em Background


Tipos de jobs que rodam em Background Jobs de Basis - Clean up do sistema - Jobs de coleta de estatsticas (definidos na tabela TCOLL) - Alguns deste jobs necessitam rodar em Clients especficos - Outros agem sobre todos os clients do sistema Jobs de Aplicao - Jobs de longa durao Requerem acompanhamento Alto consumo de recursos Jobs de Basis de Clean up do sistema (normalmente dirios e com variantes) RSBTCDEL job logs SAP_REORG_JOBS RSPO0041 spools SAP_REORG_SPOOL RSDBCREO sesses de batch input SAP_REORG_BATCHINPUT RSSNAPDL Dumps de ABAP SAP_REORG_ABAPDUMPS RSBPSTDE job statistics SAP_REORG_JOBSTATISTIC RSM13002 registros de alteraes completadas SAP_REORG_UPDATERECORDS Jobs de Coleta de Estatsticas (sem variantes) RSCOLL00 performance do sistema SAP_COLLECTOR_FOR_PERFMONITOR hora RSBPCOLL jobs de background SAP_COLLECTOR_FOR_JOBSTATISTIC

a cada dirio

Acompanhamento de jobs de longa durao responsabilidade do IT garantir os recursos para os jobs batch Informaes importantes conhecer para melhor acompanhamento - Quais jobs precisam ser schedulados Cuidado em no agendar muitos jobs longos juntos - Qual a sua freqncia - Se so submetidos automaticamente por transaes online - Quem o responsvel - Quais variantes precisam ser criadas Cuidado para elas no serem abrangentes demais recomendvel que, sempre que possvel se utilize processamento de jobs em paralelo, usando funes de RFC Function Modules da XMI e XBP

__________________________________________________________________________________________________________ 25 Apostila Mdulo Basis

Controle -

Com eles possvel Schedular um job em background Startar e stopar um job em background Monitorar o status e as sadas dos jobs Groups principais so SXJI (prefixados por SXMI_XBP) External Job Management SXMB (prefixados por SXMI_XMB) External Monitoring Basics SXMI (prefixados por SXMI) Connect to external tools possvel ver todos atravs da SE37, colocando prefixo SXMI* do Externo do ambiente de background Produtos de terceiros que controlam o ambiente R/3 Podem rodar fora do R/3 (a nvel do Sistema Operacional) Precisam ser certificados pela SAP Venda, venda distribuio e suporte so do terceiro que vendeu Sistemas se conectam ao R/3 usando interfaces RFC (precisam de autorizao) Aps a conexo RFC, o produto deve fazer logon na XMI Por ultimo, pode usar as funes de XBP para monitorar jobs Transao RZ15 pode monitorar jobs criados por XMI

Vantagens e Desvantagens de Controle Externo de Jobs Vantagens - Administrao de mltiplos sistemas R/3 numa nica interface - Uso de produtos certificados pela SAP - Conexo ao R/3 via sistema externo Desvantagens - um componente externo de outro fornecedor Eventos System Events Definidos pela SAP Comeam com SAP Disparados por determinadas aes do sistema (troca de Op Mode p.e.) User Events Criado pelos usurio Disparados por Programas ABAP (funo BP_EVENT_RAISE) Programa externo (SAPEVT) Manualmente (transao SM64) Podem ter argumentos (parmetros) Se um job disparado por um evento com um determinado argumento, somente se o argumento for aquele que o job ser ativado Se um job disparado por um evento sem argumento, mesmo o evento tendo qualquer argumento dispara o job Para definir ou exibir eventos (User ou System) -> transao SM62

Parallel Processing a diviso de um grande job batch em vrios pequenos pedaos Este pedaos rodam nos Dialog WP e no nos Background WP - O R/3 automaticamente protege o sistema contra sobrecarga de uso Funes de RFC assncronas permitem que se sincronize os pedaos - Os jobs devem ser divididos em unidades logicamente independentes Funo criada para resolver problemas de falta de BWP ou de falta de tempo durante a noite para rodar jobs __________________________________________________________________________________________________________ 26 Apostila Mdulo Basis

uma tcnica de programao, se no programarmos assim no funciona Comando ABAP CALL FUNCTION STARTING NEW TASK DESTINATION IN GROUP

Pr-requisitos

Deve haver ao menos 3 Dialog WP livres (1 para processamento paralelo, 2 para tasks de Dialog) A Dispatcher Queue deve estar menos de 10% de ocupao Processamento paralelo no server para dados que so processados seqencialmente ou quando o processamento de um dado dependente do processamento de outros Processamento em paralelo no garante que os dados sejam processados em uma ordem especifica ou que determinado resultado esteja disponvel num determinado ponto External Commands possvel executar comandos do sistema operacional via R/3 Um application server precisa estar rodando no target server para emitir o comando O comando executado pelo usurio <sid>adm do NT - O <sid>adm deve ter direitos do NT para rodar o comando O encaminhamento do comando feito pelo servido de gateway - O gateway precisa estar ativo - Ele tem que possuir uma conexo ativa com o target server O diretrio /USR/SAP/<sid>/SYS/EXE/RUN deve estar tambm no PATH durante a execuo do comando Os comandos so protegidos por autorizaes Podem ser executados via programa ABAP ou atravs da CCMS - SM49 -> chama external command - SM69 -> define ou modifica external command - SM36 -> mostra campos separado para externos commands e external programs Para funcionar, no podemos esquecer do PATH correto na definio do comando Podemos passar parmetros para o external program Resoluo de problemas com External Programs O external program no start corretamente O External program no devolve os resultados para o processo de background Atitudes - Verifique se o Target System esta correto - Verifique job log procurando mensagens de erro - Ative o trace de external programs Via transao SM36 - Permite log de external programs para aquele job Via transao SM69 - Permite log para todos as chamadas do external command - Precisa tambm setar a varivel ambiental SAPXPG_TRACE = 3 no computador onde o comando ser executado Reserva de Background WP Atravs do Operation Mode Definir alguns BWP com classe A Transao RZ04

__________________________________________________________________________________________________________ 27 Apostila Mdulo Basis

Schedulando jobs via APIs ABAP APIs fornecem function modules para - Gerenciamento de jobs (display, delete, copia) - Verificao e disparo de eventos Display de Job Log Schedulagem de jobs BP_JOBVARIANT_SCHEDULE Schedulagem de jobs BP_JOBVARIANT_OVERVIEW Gerenciamento de jobs necessrio autorizao para o uso destas APIs Autorizaes que podem ser usadas para limitar poder de usurios S_PROGRAM S_BTCH_NAM S_BTCH_JOB S_BTCH_ADM S_ADMI_FCD

Vantagens e Desvantagens do uso de APIs Vantagens - Interface programvel para gerenciar jobs em background - Permite executar e monitorar o ambiente de background - Interface fornecida e garantida pela SAP Desvantagens - Tem que programar Verificando jobs em background Alem da SM36 / SM37 pode-se usar SMX Mostra jobs submetidos com meu Userid Para verificao de performance pode-se usar a SM39 (Job Analisys) - Mostra estatsticas dos jobs - Numero de vezes que rodou, tempo mdio de runtime, problemas no job - A analise s abrange o que est no log ( deletado pelo SAP_REORG_JOBS)

Resoluo de Problemas Job no starta - A start date esta certa (SM37) - O usurio que deu release pode dar release (SU01) - Existem recursos para execuo do job (SM50) BWP Servidor (se o job esta dirigido para um servidor especifico) Classe - O Batch Scheduler e o Event Controler esto rodando (SM61 e SM65) Job terminou anormalmente - Verificar Job Log (SM21) Job Log no pode ser exibido - Ser que o job rodou ? - Verificar System Log (SM21) - Verificar autorizao do usurio para display do job log (SU01) Job no termina (fica em ativo) - Confirmar se o job esta rodando (SM50 ou SM66) - Verificar problemas com external programs Verificar usurio SAPCPIC __________________________________________________________________________________________________________ 28 Apostila Mdulo Basis

Se o servidor que roda o job esta ativo Caso tenha sado do ar, posso estar vendo um display incorreto

Capitulo 10 Data Archiving


O que Data Archiving a remoo de dados dos processos de negcio do DataBase Estes dados so comprimidos e armazenados em outra mdia Disco tico, File System , Fita Dat O arquivo comprimido tem formato proprietrio S o R/3 entende seu contedo Vantagens de se fazer Archiving Razes Tcnicas Melhora a performance do acesso no DB Aumenta Free Space nos discos Reduz tempo de Backup Razes de Negcio Legislao exige a guarda da informao por certo perodo Auditoria externa exige guarda destas informaes Certos dados podem servir para anlise futura Quando fazer Archiving Conforme o crescimento do DataBase Conforme as necessidades dos departamentos Por razoes do negcio A entrada do EURO (troca de moeda) Fim do ano fiscal Quando os dados que se tornam obsoletos Archiving Object Entidade principal do processo de Archiving Podem ser vistas na transao SARA Contem o nome de uma ou mais tabelas sero arquivadas Nem sempre toda a tabela arquivada, muitas vezes apenas parte dela - Neste caso possvel at ver as chaves que sero afetadas Elementos principais do Archiving Object - Nome das tabelas (e as chaves) que sero arquivadas - O programa que seleciona e gravas os dados no Archive File - O programa que deleta os dados das tabelas - A documentao deste processo de Archiving O processo de Archiving Two-steps, para maior segurana 1. Inicialmente roda o programa de cpia - O dataset tem compresso em fator 5 Tabelas clustered nunca so comprimidas - Podemos ser rodado junto com as tarefas normais Porem pode prejudicar performance 2. A seguir roda-se o programa de delecao - Compara os dados no Archiving com os dados no Database

- Se ainda forem iguais, deleta os do database __________________________________________________________________________________________________________ 29 Apostila Mdulo Basis

Se forem diferentes, mantm dados Esta fase pode ser: Automtica -> roda o Arquiving e em seguida a delecao Manual -> solicitamos a delecao manualmente

O ADK (Archiving Development Kit) Interface entre o Archiving Program e o Archive File - O ADK possui Function Modules que so chamados pelo Archiving Program para gravar os Archive File Dados em Archive File, selecionados por um programa so recuperados pelo ADK, que os devolve no mesmo formato do Repository, independe da plataforma no qual o Archive File esteja O ADK pode segmentar os Archive File em vrios arquivos fsicos (parametrizado na transao SARA) possvel criar nossos prprios Archive Objects No recomendado criar Archive Objects p/ tabelas padro do R/3, pois estes j existem Acessando o Archive File Programas de Anlise - Fornecidos com o Archiving Object - Le Archive File e cria spool com informaes do Archive File (estatsticas, qtde de registros) - Pode-se utilizar um Browser ou Ferramenta genrica para ver os dados Acessos Direto - Para alguns Archive Object, os programas podem acessar dados do Database e do Archive File sem precisar de nenhuma codificao especial Reload - Apenas para poucos Archive Objects - Usado p/ retornar dados do Archive selecionados indevidamente Preparao para Data Archiving 1. Definir estrutura de Archiving - Envolver departamentos de negcio (RH, FI, etc) - Verificar a documentao dos Archiving Objects - Identificar tabelas que esto crescendo muito DB02 -> mostra SGBD como um todo (index, table, tablespace) DB15 -> mostra tamanho tables pertencentes Archiving Object 2. Customizar Archiving Objects - Transao SARA e definir ... - Tempo aps o qual dados podem ser removido do DB - Tamanho do Archive File - Numero de registros em cada Archive File - Tipo de start do programa de delecao (MANUAL ou AUTOMATICO) - Variantes para TEST e PRODUCTION Cada Archiving Object tem seus prprio valores a serem configurados 3. Configurar ao menos 2 Background WP no sistema - recomendvel, pois podemos startar o programa de delecao em paralelo ao programa de write - recomendvel a execuo do programa de write no servidor onde o DataBase esta localizado 4. Verificar espao em Disco para o Archiving

__________________________________________________________________________________________________________ 30 Apostila Mdulo Basis

- Verificar espao necessrio atravs de uma rodada de Archiving com variante de Test 5. Customizar o nome do LOGICAL FILE e do PATH - SF01 - FILE Execuo do Archiving Ativao - Pela transao SARA ,opo ARCHIVE Executada p/ Basis (autorizado pelo pessoal funcional) Ou pelo pessoal funcional (que tenha autorizao) - Fornecer valores para a variante especificada de Archiving Monitorao de um execuo - Transao SM37 (acompanhamento do job) Dependendo da Customizao, pode haver vrios jobs de Archiving Para cada job de write, pode haver um de delecao - Transao SARA (sumario do Archiving) Ver opo MANAGEMENT DATA - Mostra tamanho, localizao e numero de registros dos archive files Ver opo NET GRAPHIC - Mostra dependncia entre os Archiving Objects - Sugere um plano ordenado de Archiving Manuseio de erros - Algumas causas de erro Problemas externos resultaram no cancelamento do job Existia um Archive File com o mesmo nome File System esta cheio - O Archiving cancelou antes dos dados serem deletados (por exemplo, porque tem start manual) Delete todos os Archive File Restart o job de Archive desde o inicio - O Archiving gravou todos os Archive File, mas no processou todos os delete jobs Restart os delete jobs - O Archiving cancelou no meio da gravao de um Archive File Backup dos Archive Files completos Delete o parcialmente gravado Restart o Archive Run to arquivar o resto dos dados Authorizations necessrias S_ARCHIVE - Especifica quais Archiving Object sero processados - Especifica quais opes sero usadas Autorizao para o Archiving Object - Verificar em SARA > nome do Archiving Object > INFO quais so as Authorizations necessrias - Atribuir estas Authorizations Autorizao para criar Job em Background

Capitulo 11 R/3 Security


Segurana do R/3 no ambiente Cliente/Servidor O R/3 tem seu prprio sistema de autorizao e controle de acesso Porem, para completa proteo, a segurana deve ser implementada tambm __________________________________________________________________________________________________________ 31 Apostila Mdulo Basis

No Database No Sistema Operacional Nas camadas da rede

Parmetros do System Profile para senhas de Usurio login/min_password_lng - tamanho mnimo de password - default 3, de 3 a 8 login/fails_to_session_end - quantidade de tentativas de password antes de encerrar sesso - defalut 3, de 1 a 99 login/fails_to_user_lock - quantidade de tentativas de password antes de travar usurio - usurio destravado meia noite (ou pelo administrador) - defalut 12, de 1 a 99 login/failed_user_auto_unlock - impede destravamento do usurio em lock a meia noite login/password_expiration_time - tempo para expirar password - valor 0 significa no expira Outras regras de password No pode comear com ? ou ! Primeiros 3 caracteres no podem fazer parte do Userid No pode ser PASS ou SAP* Posso definir senhas invalidas na tabela USR40 O conceito de Autorizao Objetivo proteger dados e funes do R/3 contra acesso no autorizados Funcionamento - Criao das Autorizaes - Criao de Usurios - Assinalamento de Autorizaes para Usurios Authorization Object Criado pelos programadores via transao SU21 Checados dentro dos programas Cada objeto pode possuir diversos campos Uma Authorization um determinado conjunto de valores destes campos Cada objeto pode ter quantas autorizaes desejemos Cada chamada para verificar Authorization s checa uma autorizao por vez

Profiles -

As Authorizations so dadas para Authorizations Profiles (e no a usurios) possvel agrupar Authorizations Profiles numa Group Profile Um usurio possui uma ou mais Authorizations Profile ou Group Profiles Este relacionamento pode ser feita pela SU01, pasta PROFILE

Recomendao da SAP para Manuteno de Usurios e Authorizations

__________________________________________________________________________________________________________ 32 Apostila Mdulo Basis

A diviso a seguir evita que apenas uma pessoa viole o esquema de segurana da empresa USER ADMINISTRATOR - Cria usurios - Assinala Profiles e Activity Groups para estes usurios - No deve podem criar Activity Groups ou gerar Profiles AUTHORIZATION DATA ADMINISTRATOR - Cria Authorizations - Modifica campos das Authorizations - No deve poder dar Authorizations para si mesmo AUTHORIZATION PROFILE ADMINISTRATOR - Cria Activity Groups - Gera profiles User Groups Grupo administrativo criado via SU01 > Environment> User Groups Cada usurio s pode pertencer a 1 User Group Podemos eleger 1 Administrador do User Group e a ele delegarmos as tarefas de manuteno dos usurios do grupo - Lock / Unlock de usurios - Set / Reset passwords - Assinalamento de Activity Groups Para delegarmos esta manuteno, precisamos de um User Group e de um Administrador Verificao de Authorizations H 2 tabelas no sistemas que informam - USOBT_C -> Authorizations Objects que esto em ao e devem ser checados - USOBX_C -> campos de um Authorization Object deve ser checados Elas vem pre-configuradas da SAP com os nomes USOBT e USOBX Logo aps a instalao, recomendado copia-las para USOBT_C e USOBX_C - Transao SU25 Para modificarmos quais Authorizations esto valendo - Transao SU24 Podemos fazer isto para - Melhorar performance do sistema, diminuindo o numero de verificaes - Evitar determinadas checagens que no se aplicam numa instalao Pr-requisitos para usar o Profile Generator 1. Gerar o IMG 2. Ativar o Profile Generator no IMG (Basis Components > System Administration > User & Authorization > Maintain Authorizations and Profiles using PG) - Alterar System Profile (Auth/no_check_in_some_case = Y) - Ativar uma Plan Version 3. 4. 5. Configurar uma Transport Connection Trabalhar nos SAP check indicator e valores de campos Criar uma classe de desenvolvimento Copiar as tabelas USOB.. Trocar os SAP Check Id default e valores de campos Reconfigurar check de Authorizations Gerar o menu da empresa Gerar Activity Groups

__________________________________________________________________________________________________________ 33 Apostila Mdulo Basis

6. 7.

Gerar Profiles Assinalar Usurios para Profiles

Passos dentro do Profile Generator (PFCG) 1. Selecionar as transaes para um Activity Group 2. Completar (ou modificar) as Authorizations 3. Gerar as Profiles 4. Assinalar os Agents (usurios) 5. Update User Master Record Observaes sobre o Profile Generator Ele gera Authorizations baseado nas tabelas USOBT_C e USOBX_C - Se eu modifiquei as tabelas, as Authorizations refletiro estas mudanas Podemos assinalar Activity Groups a Agents ou a objetos do Organizational Plan O Organizational Plan composto de - Root Organizational Unit - Organizational Units sub-nivel da Root - Jobs - Positions so baseadas nos Jobs - Um usurio assinalada para uma Position Update User Master Record Ativado via PFCG -> encadeia transao PFUD Chamar transao PFUD na amo Rodar relatrio RHAUTUP1 (para chama-lo usar transao SA38) Todos rodam a Reconciliao daquele Activity Group - Colocam a Profile nos User Master Records que esto associados - Retiram de quem no est A transao SU24 Define o status para o Authorizations Checks de cada Objeto Pode ser: - U -> No modificada Verifica autoridade Campos no aparecem no PG - N -> No verifica autoridade Campos no aparecem no PG - C -> Verifica autoridade Campos no aparecem no PG - CM -> Modificada Verifica autoridade Campos aparecem no PG Transporte de Authorizations, Authorizations Profiles e User Master Record Num mesmo sistema, entre Clients - Transao SCCL, profile SAP_USER Entre sistemas diferentes - Transao SCC8, profile SAP_USER Lembrar de sempre executar estas transaes no Client de Destino Se j houverem objetos com o mesmo nome no destino, estes sero sobrepostos

Transporte de Activity Groups Via transao PFCG - Boto Transport > Enter Change Request

__________________________________________________________________________________________________________ 34 Apostila Mdulo Basis

til para um nico Activity Group Usar relatrio RHMOVE30 (para chama-lo usar transao SA38) Executa um Mass Transport (vrios Groups) Para transportar entre Clients (no mesmo sistema) Criar um Transport Request (via PFCG) Se logar no Client Destino Chamar SCCI Quando transportamos o Activity Group, sua Profile no vai junto Para a gerarmos, podemos usar a transao SUPC

Para impedir o Import de um Activity Group Por razoes de segurana, podemos no querer que Activity Groups sejam importados Para isso devemos usar, no sistema destino, transao SM31 para editar a tabela T77TR A transao SUIM (Authorization Information System) Emite uma srie de relatrios relacionados a Authorizations - USERS - PROFILES - AUTHORIZATIONS OBJECTS - AUTHORIZATIONS - TRANSACTIONS - WHERE USED LISTS - COMPARATIONS O SAPRouter Programa que serve de intermedirio entre sistemas R/3 Funciona como um Proxy para acessos dentro do R/3 Pode ser implementado independente de um Firewall O R/3 possui um componente chamado NI (Network Interface) que atua na camada 7 do OSI SAPRouter, CPI-C e RFC atuam nesta camada SAPRouter possui uma Route Permission Table para permitir ou negar acesso a outros sistemas Usos do SAPRouter - Fazer log das conexes - Permitir acesso do seu sistema somente alguns outros SAPRouters - Proteger o sistema de acessos no desejados - Controlar a conexo com o OSS - Permitir conexo criptografada apenas com parceiros conhecidos (Via SNC) A implementao do SAPRouter O programa vem no diretrio USR/SAP/<sid>/SYS/EXE/RUN Para maior segurana nos Upgrades do R/3, manter o programa SAPRouter e sua configurao num outro diretrio USR/SAP/SAPROUTER Manter tambm neste diretrio a SAPROUTTAB (tabela de roteamento) Para mudar esta tabela de lugar usar SAPROUTER R no Command Prompt recomendvel baixar a ultima verso do SAPROUTER se fomos instala-lo Verso mnima recomendada 23 Se usamos SNC, no mnimo 30 Devemos buscar num servidor SAPSERV (pode ser via OSS ou Internet)

__________________________________________________________________________________________________________ 35 Apostila Mdulo Basis

As Route -

O SAPRouter um servio do NT, podemos defini-lo como start automtico Para colocar o servio no ar na amo, usar SAPROUTER R no Command Prompt Para conseguirmos help usar SAPROUTER sem parmetros Strings do SAPRouter Sintax /H/hhhhhhh -> host /S/sssssss -> servio default 3299 /W/wwwwwww -> password Exemplo /H/Sap_Router_Origem/H/ Sap_Router_Destino/W/password/H/Application_Server

A Permission Table Cada SAPRouter tem sua Permission Table uma tabela criada no USR/SAP/SAPROUTER via editor de texto ascii A tabela contem 5 campos para cada conexo - Permit / Deny (P ou D) - Source Computer (ip address) - Target Computer (ip address) - Service (default 3299) - Password (se no especificarmos, no precisa de password) So vlidos * - Source Computer 123.45.* - Services * A pesquisa seqencial, o R/3 para quando encontra uma match Para maior facilidade, colocar na tabela primeiro os DENY depois os PERMIT O NIPING um PING da SAP Serve para testar a conexo entre 2 hosts de R/3, com ou Sintaxe: No hostx -> NIPING S (vai emular um No hosty -> NIPING C H hostx (vai emular um Neste caso, testa a conexo de hosty para hostx Pode testar a conexo passando por um SAPRouter Sintaxe: No hostx -> NIPING S No hosty -> NIPING C H /H/hostr/H/hostx Neste caso, testa a conexo de hosty para hostx passando

sem SAPRouter servidor) cliente)

por hostr

Opes do comando SAPROUTER Sem parmetros -> -r -> -r -g LogFile -> -r V3 -> DEV_ROUT) -t TraceFile -> -s ->

HELP ativa SAPRouter ativa e gera log de conexes (ou de recusas) num LogFile ativa e gera trace nvel 3 no diretrio de work (arquivo muda o nome do arquivo de trace encerra SAPRouter

SNC (Secure Network Communication) __________________________________________________________________________________________________________ 36 Apostila Mdulo Basis

V2

Nome da interface R/3 que o conecta com sistema externo de controle de usurios Possibilita logon nico na rede (o R/3 aceita como sendo tambm logon R/3) Pode usar autenticao via Smart Cards Protege conexes de Dialogo com usurio Impresso Comunicao programa a programa SNC melhora a segurana na comunicao entre componentes do R/3 SAPGui Kernel Impresso (SAPlpd) Conexes RFC Conexes CPI-C SAPRouter O sistema externo pode disponibilizar 3 nveis de segurana AUTHENTICATION -> apenas verificao e autenticao de senha -> sem proteo dos dados que trafegam na rede INTEGRYTY -> impede mudana nos pacotes trocados entre componentes R/3 -> para isso usa assinatura digital CONFIDENTIALITY- -> criptografa os pacotes Produtos atualmente suportados: Kerberos 5 SECUDE 5.0 Devem ser comprados a parte (no so fornecidos junto com R/3) Um landscape deve usar o mesmo produto (no pode misturar Kerberos com SECUDE) O produto usado acessa atravs de um conjunto de APIs do R/3 chamadas GSS API

Convenes de Nome Deve-se compatibilizar a estrutura de nome do R/3 com a do produto externo Se produto compatvel com x.500, o R/3 possuem um CN, porem no possui O, OU ou C Sugere-se a utilizao de constantes nestes campos Pode-se usar ainda o System Number e outros atributos instance especifica - CN=sap01.hs0017,OU=TEST01,O=SAP,C=BR - sap constante, 01 o SysNumber, hs0017 o servidor, etc Ativao de usurios SNC Ateno: SNC s funciona se na instance profile snc/enable=1 Via SU01 criamos o usurio e o relacionamos com o usurio SNC Podemos usar ainda a transao SM30, view USRACL, que edita a tabela de usurio e entrar com o nome do usurio SNC diretamente na tabela de usurios - Caso seja necessrio mais de 1 usurio SNC para 1 usurio, devemos usar a tabela USRACLEXT - Isso pode ser necessrio no caso de usurios RFC ou CPIC Para maior segurana - Atribuir apenas 1 usurio R/3 para cada usurio SNC - Atribuir apenas 1 usurio SNC para cada usurio R/3 Sugere-se a utilizao de constantes nestes campos Pode-se usar ainda o System Number e outros atributos instance especifica

A autenticao depois do SNC ativado __________________________________________________________________________________________________________ 37 Apostila Mdulo Basis

No SAPGui, no perguntado o User e Password O R/3 verifica que usurio esta relacionado com o UserId do produto Se acha, processa Logon, caso contrario da mensagem de erro Podemos usar ambientes mistos, usurios com proteo SNC e outros no Para isso, devemos ativar na instance profile - snc/accept_insecure_gui=1 ou - snc/accept_insecure_gui=U (para logar sem segurana somente quem defini na SU01)

Parmetros de profile snc/enable=1 snc/data_protection/min=2 snc/data_protection/max=3 snc/data_protection/use=3 snc/accept_insecure_gui=1 snc/accept_insecure_rfc=1 snc/accept_insecure_cpic=1 snc/accept_insecure_r3int_rlc=1 snc/r3int_rlc_secure=1 snc/r3int_rlc_qop=3 snc/permit_insecure_start=1 snc/gssapi_lib=/usr/local/secude/lib/libsecude.sl PLATAFORMA snc/identify/as=p:CN=sap01.hs0017.OU=TEST01.O=SAP.C=DE

DEPENDE DA DEPENDE DA INSTANCE

Uso de SNC no SAPGui Via SAPLOGON - Usar Advanced Setting - Configurar SNC Enable e depois SNC Name e Protection Level Via Shortcut - sapgui.exe <servidor> SNC_PARTNERNAME=<appserver> SNC_LIB=<gsslib> SNC_MODE=<modo> SNC_QOP=<protection level> Uso de SNC em RFC e CPI-C No funciona de R/3 para R/2 Para definir destino com SNC Protection - Para RFC transao SM59 - Para CPI-C transao SM54 Para receber conexes SNC Protected - Transao SNC0 (access control list)

Uso de SNC com SAPlpd Dentro do R/3 - Transao SPAD - S vai funcionar se snc/enable=1 e access method = S No micro que contem a impressora - Modificar WIN.INI - Numa session [SNC] colocar enable=1 gssapi_lib=<path da API Lib> identify/lpd=<nome SNC da impressora>

__________________________________________________________________________________________________________ 38 Apostila Mdulo Basis

Uso de SNC com SAPRouter Normalmente a proteo do SAPRouter pela Permission Table Ela trabalha com a origem (endereo IP) e destino (IP e servio) Com SNC deve-se trabalhar no mais com o IP de origem, mas nome do servidor Para ativar SAPRouter com SNC - Definir varivel ambiental SNC_LIB com o nome da biblioteca externa - Chamar SAPROUTER K <saprouter_snc_name> A Permission Table muda - Permit = KP - Deny = KD - Nome do servidor o nome completo (contexto x.500) Recomendaes para uso do SNC No misturar servidores SNC com no SNC Verificar aderncia dos padres de nome do produto externo com o R/3 Ter em mos todas as bibliotecas que sero necessrias e suas localizaes em disco Verificar o nvel de proteo desejados para cada componentes

Capitulo 12 CCMS Monitoring Infraestructure


CCMS

Computing Center Management System Possui sua infra-estrutura programada em C Fornece interfaces C e ABAP para implementao de novos objetos

Arquitetura e Terminologia Objetos a serem monitorados no sistema esto definidos numa estrutura em formato de arvore invertida __________________________________________________________________________________________________________ 39 Apostila Mdulo Basis

Esta rvore chamada de MTE Monitoring Tree Element Muitos sistema R/3 podem ser assinalados para uma nica rvore O primeiro nvel da rvore o <Sid> O segundo nvel o <Host> Dentro do host, os elementos so organizados em Classes (p.e. Operating System) Cada elemento chamado de Monitoring Objects (p.e. CPU, DISK, etc) Monitoring Object pode ser um servio Pode receber um alerta de um de seus atributos indicando algum problema Propaga este alerta para os nveis superiores Cada Monitoring Object possui vrios Monitoring Attributes (p.e. %CPU IDLE) Cada atributo recebe dados e pode ter um alerta associado a ele Os atributos podem ser Performance Attributes Message Attributes Heartbeat Attributes Text Attributes

Customizao e Ferramentas Devemos customizar Mensagens que sero enviadas Visibilidade destas mensagens (quem as recebe) Prioridade dos alertas Como fazer estes assinalamentos No prprio objeto Numa Classe (objetos assumem assinalamentos por Herana de pai para filho A construo de Classes Feita pelo administrador, de acordo com suas necessidades Evita repetir a mesma parametrizao em todos os objetos As Classes (ou grupos) devem ter conexo lgica entre os elementos Ferramentas associadas a uma Classe TEM Podem ser assinaladas diretamente a uma Classe ou herdadas Uma classe pode no ter ferramenta Ferramentas Data Supliers OnAlert Tools Analisys Tools Data Supliers So programas que rodam coletando informaes para o CCMS Monitoring Podem ser Ativos: rodam permanentemente sem serem disparados Passivos: disparados pelo autoABAP SAPMSSY8 autoABAP So programas que rodam sem terminal Usam o usurio SAPSYS So parte do Kernel do R/3 Rodam a cada perodo de tempo definido por rdisp/autoabaptime SAPMSSY8 autoABAP que dispara Data Supliers Podemos parametrizar quando disparar cada Data Suplier de acordo com situaes especificas OnAlert Tools Define reaes a um alerta

__________________________________________________________________________________________________________ 40 Apostila Mdulo Basis

Reduz o trabalho administrativo, pois cada alerta deve ter uma ao tomada, seno o Monitoring indica que o alerta esta pendente Se no indicarmos um OnAlert Tool, devemos manualmente ir ao Monitoring, verificar o alerta, resolve-lo e clicar o boto COMPLETE para resetar o alerta Se o OnAlert Tool no rodar por algum motivo (cancelamento, programa no existe), o alerta fica pendente no Monitoring A ao tomada imediatamente aps o fato Cuidado: o fato detectado a cada rdisp/autoabaptime segundos Status das Alert Tool no CCMS Monitoring ACTION REQUIRED -> OnAlert Tool no rodou ainda ACTION RUNNING -> OnAlert Tool rodando ACTION FAILED -> OnAlert Tool cancelou Exemplos de OnAlert Tools Se acontecer um problema, desejo que seja enviado um e-mail Posso definir um programa que, se ocorrer aquele problema, envia um e-mail e coloca-lo como um OnAlert Tool Analisys Tools Programas que rodo quando quero para ler o MTE e fazer analises So ativados manualmente Ampliando a capacidade do Monitoring Podemos permitir ao Monitoring acessar sistema R/3 externos Cada um ter suas prprias definies de threshold and settings Estas definies ficaro no prprio sistema externo Eles devem possuir conexo RFC com o sistema base Definimos quais sistemas queremos anexar na RZ21 Podemos ainda definir nossos prprios objetos no Monitoring Usar APIs do ABAP ou do C

Para cada Monitoring Object que criarmos, devemos providenciar seus Data Supliers, seus atributos e seus objetos pai na hierarquia da arvore, bem como sua classe (que deveremos criar) Monitor Segment o conjunto de dados e componentes da arquitetura de Monitoring Monitor Context uma parte independente da arvore MTE

Variantes Podemos definir variantes para um MTE Class Dessa forma teremos customizaes diferentes para situaes diferentes Variantes podem ser Para o Sistema Produtivo Para o Sistema de Teste Para teste de Stress Para teste de Upgrade (de maquina ?) Monitor Sets Monitor set uma forma de organizar os Monitorings Posso ter um para um conjunto de sistemas (PRO, QAS e DEV) e outro para outro (TRN e TST) Uma vez definido, estes conjunto esttico

__________________________________________________________________________________________________________ 41 Apostila Mdulo Basis

Transport de componentes do Monitoring Funo nova, a partir do release 4.5 Somente tabelas podem ser transportadas entre sistemas Todas comeam com AL ALCLASTOOL Assinalamento de ferramentas para classe ALCONSEG Assinalamento de contexto e segmento ALCUSTSET Conjunto de dados de customizao ALGRPCUSGE Dados de customizao Class-Independent ALGRPCUSMG Single message Class ALGRPCUSPF Performance Class ALMONISETS Monitor Sets para infra-estrutura da CCMS ALMICUSGEN Customizao Class Independent ALMTCUSPER Performance Class ALMECUSSMG Single Message Class ALTIDTOOL Assinalamento de Tool para TID ALTOOLCHEK Ferramentas que foram verificadas como utilizveis ALTOOLDP Nome do Tool Dispatcher ALTOOLEXEC Assinalamento do executvel para o nome da ferramenta Resoluo de Problemas Para resolver problemas (com as ferramentas desenvolvidas ??), devemos Usar traces de desenvolvedor Usar trace de SQL Usar debbuging tools do ABAP Dicas e truques do runtime analisys

Capitulo 13 CCMS Configuration


CCMS (Computing Center Management System) Ferramenta integrante do R/3 Deve ser configurada corretamente antes do uso Fornece facilidades para monitorar, controlar e configurar o R/3 Possui display grficos Funes principais Manuteno de Profiles Definio de Operation Modes, Instance definitions e Scheduling Start e Stop de instances Processar e controlar Jobs em background Schedular backups do banco de dados Avisos automticos de System Alerts Dynamic logon load balacing Monitorao e analise do sistema e da rede Passos para configurao da CCMS 1. Import e Manuteno das Profiles (Default, Instance e Start) 2. Definio dos Operations Mode 3. Criao das Instance Definitions 4. Adaptao das Instance Definitions e Operation Mode 5. Definio da Timetable Manuteno de Profiles

__________________________________________________________________________________________________________ 42 Apostila Mdulo Basis

Transao RZ10 Permite manuseio das profile do sistema Default DEFAULT.PFL Start START.<sid>.<instance_name><instance_number>_<host>.PFL Instance <Sid>.<instance_name><instance_number>_<host>.PFL Opes de manuteno Administrative Data Basic Mode (alteraes mais comuns, no mostra nomes dos parmetros) Extended Mode (mostra todos os parmetros, com seus nomes tcnicos) Faz controle de Verses Permite comparao da Profile do Database com a Profile Ativa ou entre verses Para alteraes: Salvar -> grava no banco Ativar -> copia para o NT Cuidado: no start le a do NT Se altero a do NT posso importar novamente para o Banco

A criao inicial das Profiles Default Profile gerada quando instalamos a 1 instance (na instalao do R/3) A instalao feita pelo programa R3SETUP.EXE Para cada instance (inclusive para a central instance), gerada uma Start Profile e uma Instance Profile Para as instances subsequentes a primeira, no gerada Default Profile (ela nica no sistema), porem ela e alterada para refletir o novo ambiente As Profiles so gravadas num Global Directory, Shared pelo File System do Sistema Operacional Uma das primeiras tarefas a ser realizada num R/3 recm instalado importar estas profiles do NT para o DataBase Transao RZ10 (Utilities > Import Profile > Of Active Servers) As Profile so importadas, checkadas sintaticamente, gravadas no Database e regravadas no NT Na regravao no NT elas recebem um header novo, com nome do usurio, data, hora

O esquema de manuteno das Profiles Profiles existem em 2 lugar No NT, de onde o R/3 le as profiles no start No Database do R/3, a partir do qual realizamos as manutenes O esquema de manuteno implementado pelo R/3 visa mante-las compatveis, com 2 gravaes das profile: Gravao na base de dados Sempre com controle de verses Ativao no NT As profile recebem um header com data, hora, usurio, etc Alteraes nas Profiles Se alterarmos a profile via RZ10, ao gravarmos a alterao ser feito uma verificao Caso ocorram erros ou inconsistncias, estas sero exibidas Todas as alteraes so registradas no DataBase e no arquivo ativado no SistOper As alteraes no tem efeito imediato, necessrio restar do sistema Para Default profile muitas vezes necessrio restartart o servio NT

__________________________________________________________________________________________________________ 43 Apostila Mdulo Basis

possvel Dynamic Switching para alguns parmetros de memory management da Instance Profile Verificao de Profiles Podemos (e devemos) checar a sintaxe das profiles antes de gravarmos alteraes Se o check for feito numa profile individualmente, ela ser consistida para validade sinttica dos parmetros Se o check for feito em todas as profiles ao mesmo tempo ( uma opaco da RZ10), as profiles sero consistidas entre si para ver se esto consistentes Se existe um message server definido em qualquer das instances Se um enqueue esta configurado em uma das instances Outra verificao feita quando um application server ativado Ele checka ser a profile armazenada no Sist Oper a mesma do Database Caso no for, ativa um Alert Monitor Operation Mode A quantidade de Background WP e Dialog WP de cada instance definida na Instance Profile Se quisermos modificar este parmetro, seria necessrio alterar a profile e dar um novo start da instance Para evitar esta perda de tempo, existe o Operation Mode, que define como e quando cada instance deve trabalhar com BWP e DWP Cada instance pode ter vrios Operation Modes, que so trocados de acordo os horrios definidos na TimeTable Se houver um processo rodando no WP no momento da troca, o sistema espera ele encerrar e depois troca o tipo de WP A performance mantida, no h refresh de buffer de tabelas ou de programa ABAP A troca de um Operation Mode para outro conhecido como Operation Mode Switch Caso seja necessrio uma troca no programada na TimeTable, isto pode ser feito manualmente Criao de Operation Modes Feito pela transao RZ04 Para configurar a CCMS obrigatrio ter ao menos 1 Operation Mode Existe 1 Operation Mode default chamado DUMMY No entanto no pode ser usado para switching No pode ser assinalado para a TimeTable Operation Modes podem ser definidos como Productive vo ser ativados de acordo com a TimeTable Test no vo ser ativados de acordo com a TimeTable Cada instance deve ter uma definio dentro da RZ04 p/ podermos criar Operations Mode Esta definio se chama INSTANCE DEFINITION e feita importando os dados das profiles de definio da instance possvel, mas no recomendado, criar Instance Definitions manualmente Opes para import de Instance Definition Todos os servidores ativos De uma instance especifica que esteja ativa Aps termos feito as instance definitions, podemos criar seus Operation Modes Na redistribuiro dos WP, no podemos criar, somente redistribuir Nesta configurao, podemos criar WP para jobs de Classe A No podemos nunca menos de 2 DWP numa instance

__________________________________________________________________________________________________________ 44 Apostila Mdulo Basis

A TimeTable Transao SM63 -> Relaciona Operation Modes na TimeTable A TimeTable pode ser dividida em 60, 30 ou 15 minutos Existem 2 TimeTable Normal Operation (usada no dia-a-dia) repetida a cada 24h Se no tivermos uma Normal Operation definida, o sistema rodar de acordo com a definio da profile e no ocorrer switch de opmode obrigatrio definirmos OpMode para todos os perodos do dia Expectional Operation Ativada 1 vez num perodo especifico Tem prioridade maior que a Normal Operation Podemos especificar parte do dia Ativao manual de OpModes Via transao RZ03 Pode trocar para todos os servers ou apenas 1 Podemos solicitar uma simulao de troca, para verificarmos se possvel ela ser executada Este OpMode ficar ativo at a prxima troca programada na TimeTable

Diagnostico de problemas no Switch Devemos olhar no System Log (SM21) Verificar como esto os WP (SM50) Causas comuns de erro: numero errado de WP no sistema. Verificar Instance Profile no Sistema Operacional Instance Profile no DataBase Definio de numero de WP no OpMode A verificao do numero de WP nestes 3 locais deve ser feita regularmente Se alterarmos as profiles e restartarmos o sistemas devemos adequar o OpMode e Instance Definitions ao novo panorama START e STOP de instance na CCMS possvel dar Start e Stop em instances via CCMS necessrio que ao menos 1 instance (a central instance) e o db esteja no ar A transao para Start e Stop a RZ03

__________________________________________________________________________________________________________ 45 Apostila Mdulo Basis

Capitulo 14 System Monitoring


Monitoring O que Monitorar ? Componentes do R/3 Aplication Servers Buffers Aplicaes Servios Database Performance Backups Sistema Operacional CPU File System Para que ? Para manter o sistema rodando Para analisar e corrigir erros Para melhorar performance Quem deve fazer? Administradores do R/3 Administradores de banco de dados Administradores do Sistema Operacional Quando ? Periodicamente, ao menos 1 vez por dia A Arvore de Monitoring Uma nica rvore para o sistema Futuros release vo implementar monitoring do transporte e de transaes na rvore Alertas que ocorrem nos Monitoring Attributes podem subir pelos nveis da rvore, se forem alertar de alta prioridade Desta forma, os nveis mais altos da rvore sumarizam os alertar mais importantes Customizao do Monitor

__________________________________________________________________________________________________________ 46 Apostila Mdulo Basis

Definindo Class Definimos classes para os Monitoring Objects Criamos definies para esta classe, poupando trabalho Para cada classe definimos Descrio Nvel de visibilidade (administrador, operador, etc) Prioridade do Alerta Definindo Customazing Groups Monitoring Attributes logicamente ligados so agrupados em Customazing Groups Customazing Groups so ou grupos de parmetros de performance ou grupos de mensagem Para estes Groups definimos Valor do Threshold Quando criar o Alert (p.e. quando o valor real passar o do threshold) Texto do Alerta Configurando Tools Aps configurar os Alertas, posso assinalar as Tools Tools so programas relacionados aos objetos TEM que podem Coletar dados quando ocorre o alerta (p.e. rodar a SM50 se cpu muito alta) Analisar o alerta Reagir ao alerta (p.e. cancelar batchs se cpu muito alta) Podemos definir as Tools a nvel de Classe, gerando herana desta ferramenta para todos os objetos da classe Podemos definir a Tool para um objeto especifico, overridando a especificao da classe

O assinalamento de Tools Tool predefinidas pela SAP comeam com CCMS recomendado que Tools de clientes comecem com Z ou Y 1. Definio da Tool - Tipo (Relatrio, Transao, Function Module) - Localizao (servidor, database server) - Operation Mode (background, start manual) 2. Definir propsito de Liberao da Tool - propsito de alerta - propsito de analise 3. Assinalar a Tool - Podemos no assinalar Tool - Podemos assinalar para uma classe - Podemos assinalar para um objeto especifico

Uso do Monitor uma estrutura em forma de rvore com todos os objetos de monitoring O Monitor pode exibir Alerts que esto ocorrendo ou o Status atual do sistema - Podemos trocar ficar trocando entre estas telas para acompanhamento Alertas so marcados em Vermelho e avisos so marcados em Amarelo Alertas de alta prioridade so passados para os nveis mais altos e exibidos tambm nos ns superiores da rvore Aps selecionar um Monitoring Attribute, podemos ir (BRANCH) para a customizao do atributo ou chamar a ferramenta de analise Podemos criar uma View do Monitor para situaes especificas Por exemplo, DBA pode querer um Monitor s com os parmetros do Banco Para isso, devemos assinalar os objetos desejado do MTE e salvar a nova rvore __________________________________________________________________________________________________________ 47 Apostila Mdulo Basis

Monitoring Object a Tools correspondentes R/3 Syslog (SM21) - Exibe o Log do Sistema - Possui mensagens S -> Start e Stop do R/3 ou WP ou Switch de Opmode W -> Operaes de Rollback K -> Erros de programas do Kernel T -> Transaes ABAP com short dumps R/3 Services R/3 Servers (SM51) Exibe servidores disponveis Exibe usurios no sistema (por servidor) Acessa o System Log Exibe o status do OS Collector R/3 Work Process (SM50 e SM66) Processos no servidor onde estou logado Processos em todo o R/3 R/3 Users (AL04 e AL08) Usurios em um servidor especifico Usurios em todo o R/3 R/3 Locks (SM12) Usurio que iniciou o lock Client no qual ele esta logado Tabela que esta locked Lock argument Asyncronous Update (SM13) Mostra Updates que no sara das tabelas VB* (VBLOG) ABAP Dumps (ST22) Exibe dumps ABAP WorkLoad Analisys (ST03) Tempo mdio de resposta Tempo mdio de acesso ao DB Numero de Steps Tempo de Roll In e Roll Out Tempo mdio de wait Logon Groups (SMLG) Exibe Logon Group para Load Balancing Basis System Buffers (ST02) Hit ratio Allocated Space Remainig Free space Swaps Nametab Buffers Program, Screen e Calendar Buffer Table Buffers DataBase Monitoring (ST04) Buffer busy wait File system requests (i/o fsicos)

__________________________________________________________________________________________________________ 48 Apostila Mdulo Basis

Wait events SQL requests Exclusive Lock waits Latch waits V$ Values Paramentes changes Operating System CPU utilization

(ST06)

Page rates Disk Statistics Para monitorar File System -> RSHOST10 Mostra ainda CPU Utilization e swap space Analise capacidade e free space em disco Mostra paging rate

Passos para analise de Problemas problema de performance? Afeta todos os usurios ? - No -> fazer trace do ABAP e do SQL que esta com problema - Sim -> Verificar carga dos servidores e analisar CPU Time CPU Time muito menor que o Response Time Wait Time Load Time DB Request Time Analise do Problema CPU Time - Muito processamento CPU Time muito menor que o Response Time - Gargalo de I/O - Problemas na rede Wait Time - Falta de Work Process - Todos os Work Process ocupados Load Time - Poucos R/3 Buffers - Falta de ndices nas tabelas DB Request Time - Sobrecarga de CPU no DB Server - Falta de memria no DB Server - Muito disk sort falta de ndices Mais Jobs de Basis de Clean up do sistema (dirios) RSPO0043 Verifica consistncia do Spool RSSTAT60 Reorganiza tabela MONI RSORA811 Deleta brbackup e brarchive do Oracle RSORASNP Reorganiza SNAP e STAT$ log do Oracle

__________________________________________________________________________________________________________ 49 Apostila Mdulo Basis

Capitulo 15 Workload Distribution


Load Balancing Dialog, Background e Update WP podem ser distribuidos atravs de Operation Mode Spool WP podem ser distribuidos via RZ10 (Edit Profile) Background, Update e Spool podem ser despachados para outra instance Dialog s pode rodar na mesma instance Filas do Dispatcher Cada Dispacther tem sua fila Tamanho da fila default de 2000 elementos - Tamanho configurado em rdisp/elem_per_queue - Se estoura, gravada mensagem em SYSLOG - Para UP2 o default 5 Pode ser monitorada pela SM51 > Select Server > Goto > Queue Information Solicitacoes armazenadas na Dispatcher Queue so divididas em - NOWP (envia solicitacoes dos WP ao Message Server) - DIA, BTC, UPD, UP2, SPO, ENQ D para ver a Dispatcher Queue - via RZ03 > Edit > Other Views > Dispatcher Queue - via comando do S.O dpmon pf=instance_name WP Load Balancing Monitoring Via ST03 > Detail Analisys Menu > Compare all Servers > Graphics > Avg Resp Time - Mostra grafico com tempo de resposta e dialog steps por servidor Via SM50 - Olhar os WP de cada tipo - Os ultimos de um tipo devem ter seu uso zerado, senao esta faltando WP deste tipo Dicas - R3SETUP instala todos UPD WP na mesma instance Podemos separar - Alta carga na Central Instance indesejada Retirar dela RFC e CPI-C -> usam muita memoria e CPU Muitas interfaces podem ser movida para Dialog WP

Logon Load Balancing Vantagens - Se um servidor falha, logon procura outro - Usuarios de mesmas caracteristicas usam mesmos programas e aplicacoes Logando no mesmo grupo melhoramos consumo de recursos - Usuario podem usar Code Page que s pertencem a um grupo de servidores Usuario logam num nome logico, no fisico Usuarios so distribuidos entre os servidores do grupo baseados - Servidor com melhor tempo de resposta (peso 5) - Servidor com menos usuarios (peso 1) __________________________________________________________________________________________________________ 50 Apostila Mdulo Basis

- Para ver resultado da eleicao SMLG > Goto > Syst Diagnostics > Msg Serv Stat Area Dados so coletados pelo programa RSRZLLG0 - Roda a cada 5 minutos ou 4 logons Se for usuario RFC s atualiza a cada 5 minutos Para checar distribuicao dos logons entre os servidores SMLG > Goto > User List -> mostra usuarios e instances onde estao logados AL08 -> todos os usuarios logados SMLG > Goto > Load Distrib -> qtde de usuarios por servidor Dicas na construcao de Logon Load Balancing Groups Construir grupos com ao menos 2 servidores Se 1 cai, tem o outro Evitar sobrecarregar central instance Maior disponibilidade da central instance Menor seguranca porque a central instance no faz parte de todos os grupos Construir subsets com overlapping dos grupos Tem que configurar parametros na SMLG Para otimizar uso de buffer, no fazer overlapping Os usuarios estarao usando buffers nos servidores que os possuem Como a central instance no vai estar no grupo, diminue seguranca Configuracao Via SMLG -> Create Entry Adcionar servidores para o grupo

Background Load Balancing Monitoracao - Detectar jobs que comecaram atrazado ou que excederam o runtime medio Via RZ01 Job Scheduling Monitoring Mostra jobs que comecaram atrazado e que excederam runtime medio - Monitorar jobs XMI Via RZ15 - Detectar servidores com Background WP no usados ou sobrecarregados Usar SM66 Dicas - Reservar 0 ou 1 Background WP Classe A Se pusermos 2, quando entrar 1 job classe A o sistema reserva outro Background WP para classe A, de forma a sempre ter 2 disponiveis - Usar recursos eficientemente Evitar sobrecarregar Central Instance e DB Server Definir diferentes valores para o rdisp/btctime se no a instancia que comea pegando os jobs vai pegar sempre - Construir um Job Schedule eficiente Evitar usar jobs com start Immediate ou Event Triggered Spool Load Balancing Monitoracao - Colocar alertar no CCMS Alert Monitor - Verificar via SM66 se existe falta ou excesso de Spool WP - Usar CCMS para verificar Spool Utilization < 99% Service Queue < 80%

__________________________________________________________________________________________________________ 51 Apostila Mdulo Basis

Spool WP wait Time < 1% do Reponse Time Dicas Definir Logical Spool Servers com Non-Exclusive Spool Servers

- No definir Sequential Request Processing para o Output Device - Definir Do Not Ask For Print Request On Host Spool para o Output Device - Evitar metodo do acesso U (Remoto) - Reservar 1 ou + Logical Spool Servers para impressoes Time Critical ou High Volume Update Load Balancing Deve haver ao menos 1 Update WP num sistema R/3 recomendado ao menos 1 UP2 WP Distribuir estes WP distribui a carga O Dynamic Update Assignment automaticamente distribui V1 e V2 updates entre os servidores disponiveis Se um servidor falha, outro pode tomar seu lugar Load Balancing Mecanism - Cada update da fila atribuido ciclicamente aos servidores - Quando um servidor chega no seu limite (rdisp/wp_no_vb), ele sai do ciclo - Este processo serializado no NOWP, que depois encaminha para os servidores Monitoring - SM66 -> verificar se a qtde de Upd WP suficiente - SM51 ou RZ03 -> para ver a Dispatcher Queue - SM13 -> para ver o status dos Updates (SM12 mostra lock entries) Dicas - Configurar Updates WP de acordo com a potencias dos servidores do Landscape - Configurar UP2 para evitar que UPD tenham que esperar estes requests - Manter ao menos 1 UPD por instance - Podemos centralizar update na central instance Outras instances tem mais memoria para suas tarefas Update Work Balancing bastante limitado Para esta configuracao devemos manter Dialog fora da Centra Instance - Podemos descentralizar updates Permite Update Load Balancing Tira espaco das instances para outros modulos (FI, CO, etc) Parametros - rdisp/vbname -> UPD server dedicado (se dispatching desativado) - rdisp/vb_dispatching -> no mudar, parametro SAP - rdisp/vb_context -> ? - rdisp/vb_included_server -> lista dos servidores que participam do dispatching -> se no configurado, significa todos - rdisp/vb_refresh_info -> Automatic Refresh da Dispatching List - rdisp/max_vb_server -> numero maximo de update servers - rdisp/wp_no_vb -> numero de Update WP para V1 - rdisp/wp_no_vb2 -> numero de Update WP para V2

__________________________________________________________________________________________________________ 52 Apostila Mdulo Basis

Capitulo 16 Software Logistics


Instance Grupo de servios R/3 que aso ativados e encerrados juntos (por um Dispatcher) and que tem uma Instance Profile comum Servios da Instance: DVEBMGS Central Instance Instance R/3 que contem o message server e tipicamente contem todos os servios R/3 Dialog Instance Instance que contem somente Dialog WP Application Server Computador com 1 ou mais servios R/3 instalados Dados do R/3 Client Dependent - Afeta apenas 1 cliente, como User Master Data, Application Data e boa parte do Customizing Data Client Independent - Dados que afetam todo o sistema, como Objetos do Repositrio e alguns dados de Customizao ABAP Dictionary Parte do ABAP Repository Contem os programas, telas e as definies das tabelas nico para todo o sistema Cada vez que rodamos um programa, ele gerado e vai para o buffer (early building) Se efetuarmos uma alterao, quando for usado novamente ele regerado (late binding) - Este processo torna o ABAP Dictonary ativo, sem impactar fortemente na performance Clients R/3 Unidade R/3 que tecnicamente, organizacionalmente e comercialmente autocontida Possui seu prprio conjunto de Usurios, Dados de Aplicao e de Customizao Todo usurio deve se logar em 1 client Application Data e Transaction Data pertencem sempre a 1 client Possui um sub-nivel que o Company Code Sugesto de Cliente da SAP Ambiente 1 Development e Customizing SandBox

__________________________________________________________________________________________________________ 53 Apostila Mdulo Basis

Test Ambiente 2 Quality Assurance Training Ambiente 3 Production

Esta estrutura permite - manter a consistncia dos objetos do repositrio - a segurana e estabilidade do sistema de produo - evita perda de performance na produo por testes ou atividades de desenvolvimento - evita que alteraes em dados client independent entrem imediatamente em produo - evita que se transporte objetos recm desenvolvidos para o sistema de produo sem o teste num ambiente preliminar - esta estrutura bsica para o upgrade de release do R/3

Aims of the R/3 System Landscape Proteger dados das aplicaes atravs - Regras de Client - Autorizaes Transporte a distribuio de alteraes dentro de 1 landscape Unidirecional, no d pra transportar no sentido inverso S permitido transporte entre sistemas de mesma verso Ferramentas para gerenciamento de transporte permitem - Auditar modificaes feitas - Controlar por quem e aonde estas alteraes foram feitas - Definir aonde e quando alteraes sero distribudas - Implementar upgrades do R/3 CTS Changing and Transport System Composta por - CTO Change and Transport Objetct Workbench Organizer (SE09) Customizing Organizer (SE10) Transport Organizer (SE01) - TMS Transport Management System STMS - Operating System Transport Tools TP converso com o R/3 R3TRANS faz realmente o transporte

__________________________________________________________________________________________________________ 54 Apostila Mdulo Basis

Capitulo 17 Change and Transport System Prerequisites


Setup do System Landscape Antes de instalar o R/3 e o Database - Definir a infraestrutura de rede - Definir equipamentos e sistema operacional Durante a instalao do R/3 e do Database - Criar um diretrio compartilhado de transporte - Podemos ter apenas o ambiente de desenvolvimento nesta fase Depois da instalao do R/3 e do Database - Configurar o TPPARAM Na instalao vem no diretrio USR/SAP/<sid>/SYS/EXE/RUN Na operao normal deve ficar no USR/SAP/TRANS/BIN - Inicializar o CTO (SE06) - Setar a TMS (STMS) Fases do Transporte 1 Exporte das Change Requests do database para o diretrio de transporte no NT 2 Importe destes objetos no QAS 3 Importe destes Objetos nos Delivery Systems (aps a validao, claro) O Diretrio de Transporte Nome base \SAPMNT\TRANS (precisamos ter o Share SAPMNT) - estimado um tamanho de 10 Mb para cada Customizer ou Developer que houver So criados pelo R/3 durante a instalao Subdiretorios - BIN -> onde fica o TPPARAM e DOMAIN.CFG - BUFFER -> Arquivos com o nome e a ordem dos Change Requestes a serem importados - COFILES -> K9______.<sid> - Comandos/informaes da Change Request (tipo, classe) - DATA -> R9______.<sid> - Change Requests exportadas - OLDDATA -> Change Requests velhas, j importadas - LOG -> Logs dos transportes, traces, estatsticas - ACTLOG -> Logs das tasks e requestes (manuseado pelo R/3) - SAPNAMES -> Log das atividades de cada usurio - EPS -> usado na aplicao de Hot Packeges - TMP -> dados e logs temporrios (depois vo para o DATA e LOG) O Programa TP Configurao feita no arquivo TPPARAM Template TPPARAM.NT enviado pela SAP, mas precisa ser customizado e colocado no USR/SAP/TRANS/BIN Parmetros principais

__________________________________________________________________________________________________________ 55 Apostila Mdulo Basis

# Global Parameters transdir=/usr/sap/trans # Local Parameters for system T11 T11/dbname=T11 <- cai no teste T11/dbhost= HOSTDB11 <- cai no teste ... # Local Parameters for system T12 T12/dbname=T12 T12/dbhost=HOSTDB12 Para checar se o programa TP esta disponvel em todos os sistemas R/3 System -> Check -> Transport Tool Para display dos parmetros do TP Goto -> TP Parameters

Inicializao do CTO (Change and Transport Organizer) Transao SE06 - Deve ser executada 1 vez, em toda nova instalao Define o status do Sistema - New Installation - Database copy ou migration Se escolhermos esta opo, todas as change requests pendentes sero liberadas Estabelece o numero inicial da Change Request Define o System Change Option - Not Modifiable - Allow changes to Repository objects and Client Independent Customizing Neste caso podemos especificar namespace, name range e tipos de objetos que podem ser modificados O TMS Transport Management System Vantagens - Configurao Centralizada - Gerenciamento centralizado das Change Requests - Estratgia de transporte baseada em rotas predefinidas Outras vantagens - Um editor grfico e um hierrquico para rotas - Display de todas as queues do sistema no transport domain - Pode fazer import Preliminar - Pode fazer transport entre R/3 sem um diretrio compartilhado A configurao centralizada As definies so configuradas centralmente e depois distribudas entre todos os participantes do Domain Controler S podemos realizar estas configuraes no Domain Controler Os participantes do Domain Controler no precisam compartilhar o mesmo diretrio As configuraes so distribudas via RFC Dentro de uma mesma TMS todos os sistemas pertencem ao mesmo transport Domain Dentro do Transport Domain, algumas configuraes (como rotas) valem para todos os sistemas O Domain Controler o sistema de referencia para todos os outros, enviando copias da configurao

__________________________________________________________________________________________________________ 56 Apostila Mdulo Basis

Um grupo de sistemas R/3 que compartilham um mesmo diretrio de transporte chamado de transport group No podemos usar o TMS para transportar objetos entre computadores de transport Groups diferentes Configurando a TMS 1 Configurar o Transport Domain Assinalar os sistemas R/3 para o Transport Domain Especificar quem ser o Domain Controler 2 Configurar as Routes Definir a rota de consolidation Definir rotas de Delivery 3 Check and Monitor TMS setup Verificar setup usando ferramentas do TMS

Configurar o Transport Domain O Transport Domain contem todos os R/3 que queremos administrar juntos Um deles ser o Domain Controler O Domain Controler dever ter - Alta disponibilidade - Alta segurana - Excelente nvel de manuteno Normalmente o Domain Controler o sistema de produo - No causa perda de performance, o uso pequeno e de baixa carga Inicializando o Transport Domain Controler feita usando a transao STM Precisa ser feita no CLIENT000 O usurio que a faz precisa da autorizao S_CTS_ADMIN Ao rodar a STMS - Se o sistema j esta assinalado para um transport domain, isto exibido na tela inicial - Se no esta assinalado, o R/3 tenta localizar um Transport Domain lendo o DOMAIN.CFG. Se no existe, cria e o sistema corrente assinalado como System Domain Controler Na criao do Domain Controler - criado o Transport Domain e o Transport Group - criado o usurio TSMADM - criada uma conexo RFC para o TMS - criado o arquivo DOMAIN.CFG no /USR/SAP/TRANS/BIN O nome default do Transport Domain DOMAIN.<sid> - <sid> o Sistem Id do Domain Controler Acrescentado novos sistemas R/3 a um Domain Controler Rodar no novo sistema a STMS no CLIENT000 (no devemos nos esquecer de rodar a SE06 antes) O novo R/3 procurar no DOMAIN.CFG o nome do Domain Controler - Vai pesquisar no diretrio compartilhado para saber quem o Domain Controler - Todos os sistemas usam o mesmo arquivo, que lido durante a inicializao da STMS - Ele contem o Domain Controler e o Transport Group Address

__________________________________________________________________________________________________________ 57 Apostila Mdulo Basis

- Se o sistema no tem um diretrio compartilhado, podemos configurar manualmente a TMS com o endereo do Domain Controler Criar o usurio TSMADM no CLIENT000 Gerar a conexo RFC Enviar ao Domain Controler uma solicitao requisitando entrada no grupo No domain Controler deveremos Aceitar esta incluso Verificar a configurao e comunicao com o novo sistema

Gerenciamento do Transport Domain Na STMS > Tools > Administration > Transport > Transport Management System > Overview > System - Podemos ver o Status da configurao e se ocorreram erros na distribuio das mesmas Para o caso do Transport Domain cair, podemos definir um Backup Transport Domain

Configurao de Routes SAP tem modelos de rotas para - One-System Landscape - Two-System Landscape (Development e Production) - Three-System Landscape As principais rotas de transport - Consolitation Do Integration System (DEV) para o Consolidation System (QAS) Possui Transport Layers com o nome Z<sid> Caso possa transportar alteraes em objetos da SAP deve possuir uma Transport Layes SAP - Delivery Do Integration (QAS) para o Delivery (PRD) No possui Transport Layer S posso criar uma Delivery Route para uma Consolidation Route que j exista Podemos configurar as rotas usando - Graphical Editor - Hierarquical Editor Aps configurar, devemos distribui-la a todos os sistemas do Transport Domain - Usando funo Configuration > Distribute - S possvel do Domain Controler - Usa conexo RFC gerada no primeiro uso da STMS de cada sistema Para garantir segurana esta conexo no pode ser modificada - Quando distribumos a configurao, pede usurio e senha do sistema destino - Um sistema R/3 fora do Transport Domain no pode acessar sistemas R/3 do Transport Domain - A comunicao RFC usa 2 usurios TMSADM@<sid>.<domain_name> -> possui poucas autorizaes -> usada para acesso read only entre sistemas TMSSUPM@<sid>.<domain_name> -> no possui senha e password -> assume as autorizaes do usurio -> por isso precisamos dar usurio e senha Aps distribuio, devemos ativar as configuraes - Pode ser feita remotamente __________________________________________________________________________________________________________ 58 Apostila Mdulo Basis

Funo Configuration > Activate > In All Domains Vai usar novamente conexo TMSSUP Vai pedir usurio e senha Pode ser feita localmente Entra no sistema e solicita ativao individual Configuration > Activate > Local Por ltimo, devemos verificar o Setup da TMS Verificar Conexo RFC Overview > System > R/3 System > Check > Connection Test Verificar transporte via diretrio Overview > System > R/3 System > Check > Transport Directoty Verificar programa de transport (TP) Overview > System > R/3 System > Check > Transport Tool

__________________________________________________________________________________________________________ 59 Apostila Mdulo Basis

Capitulo 18 Change Management for Development


Adaptao do R/3 para as necessidades do cliente Customizing - Definio dos business process usando o IMG Personalizing - Alteraes na forma de exibio de dados ou de menus Modification - Alterao de Objeto SAP do repositrio por clientes Enhancement - Criao de objetos no repositrio que so chamado ou includos via User Exits Customer Development - Criao de objetos novos no repositrio Change Requests Forma de manuteno de objetos do Repositrio Providencia o meio de transportar alteraes Fornece meios para documentar novos desenvolvimentos ou alteraes de objetos do repositrio Nela definimos os objetos que sero alterados e desenvolvedores autorizados - Todos os desenvolvedores desta CR podem executar alteraes nos objetos definidos nela Depois de todas as alteraes completadas, libero a change request - Uma nova verso completa dos objetos daquela CR gravada no repositrio - possvel acessar e retornar verses antigas dos programas Existe na CR um mecanismo de lock para evitar alteraes de objetos na CR para desenvolvedores no catalogados nela A transao SE09 (Workbench Change Request) - Criar, administrar e liberar change request para o Workbench - Incluir desenvolvedores para uma CR - Mostra informaes sobre transporte - Possui uma viso grfica do status da CR transportadas Gerenciando CR Atravs da SE09 Exibe uma estrutura hierrquica com as CR para um usurio Dentro de uma CR vemos todas as Tasks assinaladas Dentro de uma Task, vemos os objetos (caso tenham sido alterados) Os tipos de uma Workbench Change Request so - Transportable - Local - Unclassified Existe ainda a Customizing Change Request, para o IMG

__________________________________________________________________________________________________________ 60 Apostila Mdulo Basis

Change requests da SE09 so do tipo SYST Change requests podem ser do tipo Development / Correction Quando modifico objetos originais no sistema Repair Quando modifico objetos copia (como os objetos SAP) Objeto fica em lock pela task, impedindo import de objetos sobre ele Impede que outros desenvolvedores na mesma CR tenham acesso ao objeto enquanto a task no termina

Gerenciando Projetos de Desenvolvimento No inicio de um projeto, o Lider do projeto cria a CR e assinala desenvolvedores para ela O sistema assinala um numero para a CR - <sid>K9<nnnnnn> criada uma task para cada desenvolvedor na CR Se um desenvolvedor altera um objeto e o relaciona a CR, o objeto armazenado na task do desenvolvedor - Desta forma, a CR armazena todas as atividades do desenvolvedor para aquele projeto Quando o desenvolvedor termina seu trabalho, ele libera sua task Quando todos os desenvolvedores terminam suas tasks, o Lider do Projeto libera a CR Autorizaes para trabalhar com CR Profile S_A.SYSTEM autorizao S_CTS_ADMIN - Para o System Admnistrator, contem todas autorizaes Change and Transport System Profile S_A.CUSTOMIZ autorizao S_CTS_PROJEC - Para Customizing, para todas as atividades de setting do sistema (Lider do Projeto) Profile S_A.DEVELOP autorizao S_CTS_DEVELO - Para Developers e Customizing team member que trabalham na CR a nvel de task Profile S_A.SHOW autorizao S_CTS_SHOW - Para Basis ou usurios finais, apenas Display

SSCR - Chave de Desenvolvedores e Objetos SAP Sistema de registro chama SSCR (SAP Software Change Registration) Pode ser feito via OSS Desenvolvedores precisam ser registrados junto a SAP - Cada desenvolvedor recebe uma chave chamada ACCESS KEY - Esta chave associada com o Logon e Numero da Licena do R/3 - Deve ser informada apenas 1 vez, quando o usurio faz a primeira alterao ou criao de objetos no repositrio Objetos da SAP modificado pelo cliente precisam de uma chave para ser alterados - Esta chave tambm s registrada uma vez por objeto - Vale at o prximo update de verso - Esta chave no necessria para Matchcodes ndices de Database Buffers settings Objetos gerados pelo Customizing __________________________________________________________________________________________________________ 61 Apostila Mdulo Basis

Correes Vantagens Rapidez na correo de erros (por parte da SAP) Evita modificaes no intencionais Segurana Facilidade de Upgrade

Name convention para objetos do repositrio Os nomes dos objetos de desenvolvidos pelos clientes no podem coincidir com nomes de objetos da SAP Objetos de cliente normalmente comeam com Y ou Z View V_TRESN define name conventions para uma Development Class O prefixo do namespace identifica objetos criado por partners - /XXXXXXX/ZABAP System Change Options para cada sistema, o System Change Option define se possvel alterar objetos do repositrio esta definio feita por namespace e name ranges para fazer esta customizao preciso autorizao S_CTS_ADMIN para permitir uma modificao em objetos locais, devemos setar o name range Local Objects para Modifiable - Local Objects so objetos cuja development Class comea com T ou $ - Estes objetos no so do sistema Development Class Todo objeto do repositrio deve ter uma development class Uma Development Class pode ser criada pelo Workbench ou pela tabela V_TDEVC - Na V_TDEVC podemos especificar tambm qual name range pode ser definido em cada Development Class Ao criarmos uma Development Class, automaticamente assinalada para ela uma Transport Layer - Podemos criar uma Transport Layer alternativa se quisermos Development Class de clientes devem comear com - Y ou Z para objetos que sero transportados - $ para temporary development class, ou seja objetos que no sero transportados e portanto no precisam de um transport layer - T indica development class de objeto local, com o Workbench provendo servios de lock e gerenciamento de verses - Development Class $TEMP indica que o objeto salvo como um Local Object e no deve ter suas alteraes armazenadas numa Change Request Ela proporciona um agrupamento lgico para coordenar o desenvolvimento Define uma Transport Layer para os objetos Pode ser usada para controlar o nomes dos objetos Transport Layer e Development Class Uma Development Class assinalada para um Transport Layer Se a Transport Layer uma Consolitation Route valida, os objetos daquela development Class so transportados para o consolidation system Os objetos da SAP modificados pelo cliente no Integration System seguem a rota SAP

__________________________________________________________________________________________________________ 62 Apostila Mdulo Basis

Repository Object Locking Objetos podem ser modificados por todos os desenvolvedores assinalados para uma Change Request

Somente os desenvolvedores assinalados para uma Change Request podem modificar os objetos presos pela request O lock do editor garante que nunca 2 usurios estaro modificando o mesmo programa ao mesmo tempo Objeto assinalado para a change request no momento que o desenvolvedor salva um programa Somente na liberao da CR os locks dos objetos alterados naquela Change Requeste so liberados para alterao por outra Change Request Liberao da CR e da Task Precisa liberar todas as task para liberar a CR Quando libera a task, pede documentao - Precisa ser feita pelo dono da task - Aps liberao, no pode mais ser utilizada para alteraes, devemos criar uma nova task Quando libera a CR as novas verses so gravadas no DB de verses - Os objetos so liberados para novas manutenes - Se a CR transportvel, os dados so exportados para o Transport Directory Return codes : 0 ok 4 warning, todos os objetos transportados 8 warning, porem pelo menos 1 objeto no foi 12 ou mais, erros crticos do processo - Se acontecerem erros no Tranport, eles podem ser vistos na tela inicial do Workbench Organizer Semforo com luz vermelha ou amarela Podemos entrar no log e verificar problemas Aps corrigi-lo, clicar no boto ERROR CORRECT para limpar este erro Controle de verses A gravao de novas verses no Version Database feita no momento da liberao da Change Request Podemos criar verses temporrias (para testes p.e.) Podemos comparar verses ou restaurar verses antigas No podemos tranportar verses antigas, devemos restaura-la primeiro Existem verses - no Development Database verses ativas ou temporrias so as verses correntes do objeto, que esto em alterao - no Version Database Verses salvas depois de release da CR Contem a ultima verso exportada Ajuste antes de um Upgrade Quando fizermos um Upgrade devemos nos preocupar com as alteraes e desenvolvimentos efetuados no ambiente Ferramenta PREPARE lista programas - Originais no alterados - Originais com flag de repair

__________________________________________________________________________________________________________ 63 Apostila Mdulo Basis

Desenvolvidos pelo cliente Ferramenta SPDD verifica dicionrio de dados Ferramenta SPAU faz merge dos outros objetos do repositrio

Objects Diretrio Catalogo de todos os objetos do Repositrio - Objetos da SAP - Objetos gerados pelo Cliente Atributos dos objetos - Tipo (PROG, DEVC, VIEW, FORM) - Development Class - Responsvel - Sistema Original - Linguagem - Repair Flag - Generation Flag (objetos gerados pelo sistema, durante a customizao) Objetos originais e copias - Originais So os objetos que esto que foram gerados naquele sistema No so produto de transporte - Copias Objetos que chegaram ao sistema atravs de transporte - Repair Uma cpia que foi alterada Workbench Organizer Tools Relatrios com informaes sobre as alteraes processadas via Change Request Permite acessar - Objects in Request Search for Objects in Request (SE03) - Pesquisa objetos nas change requests Analyze objects in request/tasks Place objects in transport request Unlock objects - Objects Modifications Monitor Objects in Customer Namespace Namespace info utilities - Object Directory Altera atributos dos Objetos, modificando tabela TADIR Change object directory entries of objects Change object directory entries of objects in a request Change peston resposability for objects - Requests/Tasks Display transport logs Search for request / tasks Merge objects lists Performa ADO import - Administration Set System Change Options Display / Change namespaces

__________________________________________________________________________________________________________ 64 Apostila Mdulo Basis

Global Customizing Workbench Organizer (SE01) - Opes podem ser ativadas para todo o sistema ou para um usurio especifico - Opes de Display Errors at Logon Mostra erros de transporte no sistema operacional - Check Object on request Release Mostra erros de sintax nos programas a serem transferidos no release da Change Request Consistency Check of Table TLOCK against table E071

Diretrizes para Change Management for Development Restringir alterao aos objetos - Somente num sistema (DEV) - Verificar o System Change Options e Client Change Options daquele ambiente - Definir autorizaes Nas equipes de desenvolvimento - Treina-los nos uso das Change Requests - Assinalar os Teams Leaders Montagem do Ambiente - Criar Development Classes para agrupar os projetos em desenvolvimento - Definir padres de documentao - Manter verses dos objetos

__________________________________________________________________________________________________________ 65 Apostila Mdulo Basis

Capitulo 19 Change Management for Customizing


Customizing Business Process Client Dependent Usa Table Views -> virtual table que apresenta dados de varias tabelas fsicas Change requests do tipo CUST Se preciso transportar dados de customizao Client Independent, devo usar uma CR de Workbench CR de customizing no possui lock de objetos Podemos criar vises do IMG para projetos especficos (projeto 300 usado na aula) - So s vises, sempre afetam todo o IMG real - O IMG client dependent, alteraes so afetam o client que estamos logados A opo ARC Automatic Recording of Changes - Obriga todas as alteraes no IMG a serem armazenadas numa Change Request - Opaco a nvel de Client - Definido na Client Change Options Configurao do Client Change Options - Transao SCC4 - Para Client Dependent Objects Modifica a tabela T000 (Tabela de Clients) Indica se pode ou no alterar o IMG (Client Dependent Objects) Indica se vai ou no gravar automaticamente numa Change Request - Para Client Independent Objects Indica se pode alterar Client Independent Customizing Indica se pode alterar Client Independent Repository Transporte da Customizao Transporta linhas das tabelas Podemos ativar log de todas as alteraes efetivadas na customizao - Programa RSTBHIST Podemos solicitar que uma Customizao que no foi alterada seja transportada - Pode servir tambm para o caso de ARO no estar ativa Para isso - Entrar na customizao a ser transportada - Clicar no boto Include in Transport - Salvar

Teste da customizao Unit Test - Ativar alteraes da Customizing Change Request em outro Client p/ ver se funciona Isto porque normalmente o Client de Customizao no tem dados - A Change Request no liberada, somente sua customizao copiada - Depois de testado com sucesso, libera o transporte para o sistema definitivo - A copia do contedo da CR feito com a SCC1 S copia um CR por vez Se houverem dados client independent a SCC1 no copia __________________________________________________________________________________________________________ 66 Apostila Mdulo Basis

Pode copiar

- Uma task - Uma CR - Uma coleo de CR (inserir varias CR numa outra para ganhar tempo no transporte) System Test Teste de toda a Customizing junta Feito no QAS

Release da CR Release and Export To Request (to new request ou to existing request) Update Settings Alteraes de customizao em produo para coisas que no precisam ser amplamente testadas - Taxas de imposto - Tabelas de rateio Relao de coisas esta na tabela CUSAMEN.SAP Funciona apesar de termos nas Client Change Options - Changes and Transport Client Dependent objects No changes allowed - Client Independent objects Changes no changes allowed No changes to repository and client independent customizing - Client Role Production Client Independent Customizing composto por - Client independent customizing object Objetos do repositrio gerados pela Customizao Ex. Matchcodes Condition Tables Hierarchies - Global customazing setting Calendrios Impressoras Communications setting Schedules - Objetos do repositrio Programas e tela - Para transportar estes objetos usar Workbench Change Requests Diretrizes para Change Management for Customizing Definir polticas de Customizing - Criar projetos no IMG - Documentar - Usar um client para toda a customizao Restringir o acesso as CR - Somente para quem tem necessidade

__________________________________________________________________________________________________________ 67 Apostila Mdulo Basis

Criar times de projeto Treina-los para uso da CR Estabelecer o Lider do projeto

__________________________________________________________________________________________________________ 68 Apostila Mdulo Basis

Capitulo 20 Transport Management


Import Queue Podemos fazer import das CR em qualquer dos sistemas daquele Transport Domain - Se o import no daquele sistema, abre uma tela de logon para startar o TP naquele sistema Refresh da queue feito na primeira vez que entramos na TMS naquele dia Podemos fazer refresh manual ou schedularmos o relatrio RSTMSCOL para rodar de hora em hora (ele faz o refresh quando roda) Podemos abrir e fechar a fila (coloca END MARK) em qualquer ponto dela para limitar a qtde de CR a serem importadas - No buffer o nome STOPMARK - O TP pode fazer isso, mas s para o fim da fila mesmo TP SETSTOPMARK sid TP DELSTOPMARK sid Podemos fazer import preeliminar (s de 1, mas no tira da fila) Podemos fazer forward (para treinamento por exemplo) de uma CR O Import Aps import, a fila automaticamente aberta Possui um Expert Mode para Overwrite Original Overwrite Objects in unconfirmed repairs Podemos fazer import preeliminar Expert Mode Overwrite Original Overwrite Objects in unconfirmed repairs Ignore that the tranport request has already been imported Ignore invalid transport type Import entre Transport Groups Podem ser feitos para qq grupo no Transport Domain So usados quando Temos conexo lenta de rede (???) No podemos compartilhar o diretrio de transporte (S.O. de tipos diferentes) No podemos compartilhar por razoes de segurana Opaco de Import Groups: EXTRAS > OTHER REQUESTS > IN FOREING GROUPS Restries Os logs sero especficos do sistema que estamos usando Transportes exibidos no CTO (Change and Transport Organizer) sero especficos do sistema que estamos usando TPPARAM deve ser o mesmo para todos os Transport Groups

Ferramentas de Monitorao Import Monitor Mostra status da tabela TPSTAT TP System Log (SLOG) Mostra todos os Calls para o TP e seus erros ALOG Mostra todos os steps do Transport Import Queue Consistency Check verifica consistncia do DATA e COFILES Transport Directory Check verifica se consegue gravar no diretrio transport RFC connection test verifica conexo RFC __________________________________________________________________________________________________________ 69 Apostila Mdulo Basis

Existe ainda o Alert Monitor Registra todas as aes ocorridas no TMS O cone um sino no TMS

Code Freezing uma tcnica, uma recomendao para no deixarmos alterar cdigo no desenvolvimento enquanto esta sendo testado no QAS Definio do Change and Transport Management Definio dos canais de distribuio para todos os sistemas do Landscape Identificar os pontos de transporte Estabelecer tcnicas de Code Freezing Definir procedimento de verificao dos imports Estabelecer a agenda de transporte Definir procedimentos de Preliminary Import

__________________________________________________________________________________________________________ 70 Apostila Mdulo Basis

Capitulo 21 Advanced Transport Management


Diretrios do Transport ACTLOG - Registra cada ao realizada contra a Request ou Task (criao, release, etc) - Nomenclatura: sidZnnnnn DEVZ900872 SAPNAMES - Loga aes tomadas pelo usurio na sistema de transporte BUFFER - Contem o diretrio do que deve ser importado DATA - Dados dos objetos que foram exportados - Nomemclatura: R9nnnnn.sid R900872.DEV COFILES - Command Files dos objetos exportados (contem os steps a serem executados) - Nomemclatura: K9nnnnn.sid R900872.DEV LOG - ULOG Nomenclatura: ULOG_98_1 - SLOG Nomenclatura: SLOG9803.DEV - ALOG Nomenclatura: ALOG9803 - Log Files: Nomemclatura: <source sid>A9nnnnn.<action sid> DEVP900872.QAS Contem : ao a ser realizada Error message end user logs details Parmetros do TPPARAM TRANSDIR ALLLLOG STOPONERROR SYSLOG TESTIMPORT TESTSYSTEMS R3TRANSPATH RECCLIENT SAPEVTPATH Parmetros do comandos TP HELP GO sid sistema CONNECT sid SHOWINFO request COUNT sid CHECKIMPDP sid SHOWPARAMS sid STATUS sid

name convention do ALOG rc para stop nome convention do SLOG flag para ativar test import no consolidation add change request to multiple r/3 buffers log para clients especficos

exibe as variveis devem ser setadas para conexo com aquele verifica se a conexo esta ativa mostra informaes sobre uma Change Request qtde de Change Request para import em um sistema mostra como esta o schedulado o RDDIMPDP mostra parametrizao do TPPARAM informaes de um sistema

__________________________________________________________________________________________________________ 71 Apostila Mdulo Basis

Parmetros do TP para Import IMPORT ALL <target sid> CLIENT=<client> importa todas IMPORT <Change Request> <target sid> CLIENT=<client> Un preliminary import - Valor do Um (U0, U1, ...) - U0 -> importa mas deixa no buffer para import definitivo - U1 -> ignora se aquela Change Request se j foi importada - U2 -> Sobrescreve os originais (da SAP) - U3 -> Sobrescreve objetos system-specific - U6 -> Sobrescreve objetos com repairs no confirmados - U8 -> Ignora restries da Table Classification - U9 -> Ignora se aquele sistema esta travado para este tipo de transport Parmetros do TP para acesso ao Buffer - SHOWBUFFER <sid> mostras as entradas do buffer - ADDTOBUFFER creq <sid> adiciona entrada ao buffer - DELFROMBUFFER creq <sid> deleta entrada do buffer - CLEANUFFER <sid> retira as entradas que j foram importadas do buffer - SETSTOPMARK <sid> colocar stop mark - DELSTOPMARK <sid> retira stop mark O R3Trans Programa chamado pelo TP para fazer o transporte - Usa o comando CreateProcess do NT Podemos exportar dados numa verso do R/3 e importa-lo numa verso posterior No entanto, o programa TP e o R3Trans no poder realizar transportes entre relesses diferentes do R/3 Programas ABAP envolvidos numa transferencia O TP roda a nvel de S.O. mas precisa de programas ABAP para algumas tarefas Cada Client tem que ter um programa de gerenciamento desta interface schedulado para rodar no R/3 - RDDIMPDP_CLIENT_xxx Podem ser schedulados utilizando o programa RDDNEWPP - Eles so disparados por um evento que o TP manda atravs do SAPEVT Evento SAP_TRIGGER_RDDIMPDP Ou SAP_TRIGGER_RDDIMPDP_CLIENT - A comunicao de dados feita atravs da tabela TRBAT e TRJOB TRBAT para envio dos dados TRJOB com o status da execuo Seqncia de execuo da transferencia Cada fase executada para todas as CR - Execuo por fase e no por CR DDIC I - ABAP Dictionary Import Inactive ACTIV - Active Dictionary, Distribution, Structure conversion, Move nametabs MAIN I - Main Import MC ACT - Activation of enqueue definitions MC CONV - Enqueue Convertion ADO I - Import of ADO

__________________________________________________________________________________________________________ 72 Apostila Mdulo Basis

TP Steps -

LOG I VERS F XPRA GENERA

Logical Imports Versioning Execution of User Defined Activities Generation of ABAP programs and Screens

e seus logs no ALOG E -> main export P -> test import H -> DD objects import A -> DD objects activation S -> DD objects distribution N -> DD objects convertion 6 -> DD objects move nametabs i -> main import T -> import of table entries M -> enqueue activation G -> generation objects do repositorio V -> version update

O processo de Import TP (O.S. Level) - TP Call (via TMS ou TP IMPORT) - TP STOPMARK -> execuo automatica a cada TP Call - Processo de Import - TP CLEANBUFFER -> aps a transferencia - Gravao do Log - Se RC > 8 TP aborta o processo Definio do nvel de RC para abort esta no TPPARAM, parmetro STOPONERROR R3TRANS (O.S. Level) - TP le o Command File (COFILE) - Copia o Command File para o diretrio TMP - Chama o R3TRANS, que le o TMP e copia o DATA correspondente para o DataBase - Ao final R3TRANS grava log no TMP e retorn RC para TP - TP move o log para LOG - R3TRANS ainda chamado pelos ABAP no processo de Dictionary Import COMUNICACAO TP <-> ABAP RDDIMPDP - Feita atravs da TRBAT - La TP coloca as funes a serem executadas - Trigger do RDDIMPDP feito atravs do SAPEVT - RDDIMPDP le a TRBAT e descobre o que deve ser feito - Chama programa RDD que executa aquela funo e marca aquela entrada da TRBAT como ativa - TRJOB recebe o numero do job que esta executando a funo - Ao final da funo RDD, ela grava na TRBAT o RC e deleta o entrada na TRJOB - Quando todas as funes daquela tarefa esto completas, colocado F (Finished) na TRBAT - TP monitora a TRBAT, quando esta com F copia logs p/o diretrio LOG

- Se ocorreu problemas (RC > 12) TP restart RDDIMPDP (trigger) que analisa e restarta o job __________________________________________________________________________________________________________ 73 Apostila Mdulo Basis

Logs gerados ULOG SLOG ALOG

-> log de todos os comando TP sem erros de sintax -> atividades de transporte num sistema R/3 -> RC das fases do transporte no common directory -> -> -> -> max rc das transport tool rc da tool + tp warning tp warning tp error

TP Return Codes 0 < rc < 16 16 < rc < 100 100 < rc < 200 rc > 200 Troubleshooting 1 Alert Monitor 2 SLOG 3 ALOG 4 Log Files -> -> -> ->

tp connections, problemas de permissao, RFC tp RC Verificar Change Request que produziu o erro Verificar Log Files no S.O.

Troubleshooting no R/3 RDDIMPDP -> esta schedulado ? RDD* jobs -> rodaram (SM37) Verso certa do TP ? Espao no diretrio ? Problemas no Share ? Verificar entradas na TRBAT e TRJOB (SM31) contra log Tentar ativar RDDIMPDP via trigger do SAPEVT na mo CleanUp TP CHECK ALL entradas no TP CLEAROLD ALL entradas TPPARAM -> arquivos que no so mais necessrios ou seja, cujas so mais necessrias em nenhum R/3 do Domain -> baseado relatrio gerado p/ CHECK (ALL_OLD.LIS), deleta Usa parms datalifetime, olddatalifetime, filelifetime do SAP recomenda copiar antes da delecao

__________________________________________________________________________________________________________ 74 Apostila Mdulo Basis

Capitulo 22 Cliente Tools


Overview Client Copy e Client Transport Tools Desenhadas para substituir dados de um Client com dados de outro Client No desenhadas para combinar dados de diferentes Clients Client Data categorizado como Customizing Data User Master Data Application Data (conforme definido pela Data Table Delivery Class) Application Data no pode se copiada sem o Customizing Data No transporte Customizing e Appl Data apagam o anterior e o substitui User Master Data faz merge

Tipos de copia de dados entre Clients Local Client Copy - Entre Clients no mesmo R/3 Remote Client Copy - Entre Clients em diferentes R/3 - Usa RFC para fazer a transferencia Client Transport - Entre Clients em diferentes R/3 via transporte - Dados so exportados para o Sistema Operacional e depois importados - Como entre sistemas, a nica que pode levar Client Independent Customizing Data Nenhuma destas ferramentas serve para transportar programas ABAP - Estes objetos tem que ser por Change Request Local Client Copy Deve ser iniciada no Client Destino Se Client no existir deve ser criado (Client Administration > Client Maintenance) Usar usuario SAP*/PASS para logon Chamar transacao SCC1 Selecionar profile a ser usada - Profile indica se copiaremos User Master Data, Customizing Data, Application Data A copia vai iniciar - No logar no Client Destino durante a copia - No logar no Client Origem durante a copia Remote Client Copy Deve ser iniciada no Client Destino Definimos profile e source RFC destination (RFC do sistema origem) Checa a consistencia do R/3 Repository, se no forem iguais o processo aborta Restricoes - No h dados no disco para copia, assim 2 copias so realmente 2 copias - Antes do release 4.5 no pode ser copiado dados Client Independent Client Transport Entre R/3 diferentes

__________________________________________________________________________________________________________ 75 Apostila Mdulo Basis

R/3 destino deve fazer parte do Transport Domain 2 etapas Extract dos dados do client no Source System Administration > Client Admin > Client Transport > Client Export Selecinar os dados a serem exportado (via profile) Vai usar o TP para fazer o expor Pode gerar at 3 arquivos RT<numero> - client dependent data RO<numero> - client indepentend data SX<numero> - SAP Script texts Import dos dados do Client no Target System Entrar na TMS e fazer import - Import All no importa Clients - O Client aparece como <SourceSid>KO<numero> e <SourceSid>KT<numero> - Devemos importar primeiroo KO (independent) depois o KT (dependent) Aps importe rodar SCC7 (Post Process Import)

Profile Selection Todas so fornecidas pela SAP (no posso criar mais) D para salvar a selecao de copia feita como Variant para uso posterior Profile para User Master Record - SAP_USER -> so User Master Record, sem Initialize and Recriate Outras Profiles - Todas transportam Customization Data e todas tem Initialize and Recriate SAP_CUST -> s leva Customizing SAP_UCUS -> leva Customizing e User Master Data SAP_UAPP -> Leva Customizing, User Master Data e Application Data SAP_ALL -> Leva tudo, at Variants SAP_CUSV -> Leva Customizing e Variants SAP_UCSV -> Leva Customizing, Variants e User Master Record SAP_EXBC -> Leva Customizing, Variants, Client Independent e UMD SAP_EXPA -> Leva Customizing, Variants, Client Independent, UMD e APPL Data SAP_EXPC -> Leva Customizing, Variants e Client Independent Number Ranges no Client Copy Todos os dados no Client Destino so apagados antes da copia Number Ranges so deletados ??? no entendi System Requirements Tempo - Pode levar horas Consistencia do dados - No de logon no Client Origem (recomendavel) nem no Destino (proibido) Espaco do DB - 300 a 500 MB para Customizing - Gbytes para Master e Appl Data - Alguns DB permitem analise antes da copia

Monitoracao e Logs Logs __________________________________________________________________________________________________________ 76 Apostila Mdulo Basis

Transport Logs -> SE01 Local ou Remote Copy -> Client Admin > Copy Logs Dados de controle estao na view V_CCCFLOW - Contem runtime, status, numero de tabelas j copiadas, nome da tabela sendo copiada Logs estao no sistema operacional - arquivos CC<numero>.<SourceSID> Copia pode ser monitorada pela transacao SCC3

Monitoracao e Troubleshooting Em caso de erros - Verificar Logs - Verificar System Log -> erros do DB que causaram erro na copia Restart - possivel e o default - Se a copia a ser restartada for novo deve ser usado - Se no Restart > New Start Para evitar problemas na copia, verificar espaco antes Client Copy no tranporta objetos da Development Class $TMP Client Delete Para deletar Administration > Client Admin > Special Function > Delete Client Para melhorar o processo de copia de um Client, isto pode ser feito antes - bom principalmente por causa das Cluster e Pool Tables A partir do release 3.0E deleta tambem o SAPScript data e Batch Inputs do Client melhor ativar delecao em Background Client Compare Transacao SCU0 Usada para comparar Customizing Settings entre Clients Os Clients podem estar no mesmo sistema ou em outro sistema Usa conexao RFC Podemos comparar - Um projeto do IMG - Todo o IMG - SAP Reference IMG - Uma Change Request - Um Application Component - Fazer selecao manual de objetos Como SCU0 trabalha - Mostra um overview das tabelas que vai comparar - Compara - Cria a lista de diferencas - Para exibir as diferencas, duplo clique no objeto Resultados da listagem de comparacao - Branco -> sem diferencas - (E) -> tabelas/views identicas, diferencas de estrutura - M -> tabelas/view no idnticas (M) F -> tabelas/view no identicas, diferancas na estrutura -> Comparaca impossivel

Ajuste de Customizing Objects __________________________________________________________________________________________________________ 77 Apostila Mdulo Basis

Protecao -

Transacao SM30 Ajusta a maior parte dos objetos (view e tables) Se o objeto no pode ser mantido via SM30, entao no h forma de ajusta-lo Ajusta objetos Por linha Pelo campo que selecionamos com o Cursor Por coluna (s serve para colunas adcionadas, no replace dados j existentes) de Client Copy / Client Compara Evita Client Copy ou Client Adjustment Path Adminitration > Client Admin > Client Maintenance Niveis de protecao 0 -> sem restricao 1 -> No Overwriting -> no pode ser overridado pelo programa de Client Copy 2 -> No Overwriting and No External Availability -> sem copia e sem compare -> sugere-se para ambiente de producao Para efetivar esta definicao precisa de autorizacao S_CTS_ADMIN

Outros objetos de autorizacao necessarios para Client Tools S_TABU_CLI -> Client Independent Data Maintenance S_TABU_DIS -> Generica Data Maintenance S_CLNT_IMP -> Data import during Client Copy S_DATASET -> File Access S_USER_PRO -> Profile Maintenance S_USER_GRP -> User Groups S_TRANSPRT -> Change and Transport Optimizer

Apostila II
__________________________________________________________________________________________________________ 78 Apostila Mdulo Basis

Captulo 1 Preface
Nothing to do

Captulo 2 R/3 System Management (Start and Stop)


Servios ativados no NT SAP<sid>_<instance_number> -> SAPDEV_01 SAPSQA_02 OracleService<sid> -> OracleServiceDEV OracleServiceQAS SAPOSCOL -> s um por computador Todos com Automatic Start no NT

Startando o R/3 Logar no NT como <sid>adm Ativar o R/3 via SAPR Service Manager - O SAP Service Manager envia mensagen via Named Pipe para SAP<sid>_<instance_number> - SAP<sid>_<instance_number> le Start Profil \\SAPGLOBALHOST\sapmnt\<sid>\SYS\profile - SAP<sid>_<instance_number> ativa o banco se ele estiver fora do ar - SAP<sid>_<instance_number> ativa Message Server e Dispatcher - Dispatcher le Default Profile e Instance Profile e cria WP e Gateway - WP se conectam com o Banco Para ver o Trace do Start -> SAP Service Manager > View Trace Podemos ativar Oracle via SAPDBA, Oracle Instance Manager ou Oracle Server Manager Programas STARTSAP e STOPSAP ativam e desavitam o R/3 via command prompt Parameter Read Sequence Ordem - Registry do NT - NT ystem Environment Variables - C Source - Default Profile - Instance Profile Podemos ver replace de parametros no RSPFPAR SAP Service le - Default Profile - Start Profile O R/3 Kernel (DISP+WORK) le - Default Profile - Instance Profile Para alterar Default Profile precisa tirar R/3 e o Servio Para alterar Instance Profile precisa s tirar o R/3

Logs e Trace do Start do Oracle Log de Start, Stop e erros do DB

__________________________________________________________________________________________________________ 79 Apostila Mdulo Basis

C:\Oracle\<sid>\SAPTRACE\BACKGROUND\<SID>ALRT.LOG Traces do proprio Oracle C:\Oracle\<sid>\SAPTRACE\USERTRACE\ORA<no>.TRC Se usarmos SAPDBA temos ainda os logs No SAPREORG No SAPCHECK No SAPBACKUP

Logs e Trace do R/3 via NT Estao no Event View do NT - System Log -> mensagens produzidas pelo R/3 o Oracle e enviadas ao NT - Application Log -> eventos no R/3 ou Oracle e retornadas pela aplicacao - Security Log -> Logon, Logoff, acesso a arquivos, etc Logs e Traces no R/3 No diretorio \\SAPLOCALHOST\SAPLOC\<sid>\<instance_number>\WORK Definido pelo parametro rdisp\trace na instance profile Pode ser 0 (s erro), 1 (erro e warning), 2 (erro e short trace), 3 (erros e traces) Grava - STDERR1 - database log - STDERR2 - Message Server Log - STDERR3 - Dispatcher Log - SAPSTART.TRC - trace do SAPNTSTARTB - SAPARTRT.LOG - startup log e trace do database, dispatcher e message server - dev_ms - trace do Message Server - dev_disp - trace do Dispatcher - dev_w0 - trace file dos WP Diagnostico de problemas no Startup do R/3 Possiveis problemas - SAP Service Manager no consegue contatar o servico O servio esta ativo ? - Servio no start Password do usuario do servio esta correta ? Executavel esta no disco ? - Database Statup fails Variaveis ambientais estao corretamente definidas ? Database esta corrompido ? Trocaram o nome dos Data Files e no informaram ao Oracle ? - R/3 falha ao ativar Os shares NT necessarios estao feitos ? Servico esta corretamente configurado (usuario esta correto) ? H problemas de permissao no File System ? H erros de configuracao no TCP/IP ?

DownTime do R/3 Planejado - Troca de parametros das Profiles - Upgrades - Manutencoes no sistema ou no database No Planejado __________________________________________________________________________________________________________ 80 Apostila Mdulo Basis

Falha de hardware Problemas de configuracao (SM35) (SM37) (SM13) (SM02) (SM04 ou AL08) (SMGW)

Antes de desativar R/3 Verificar Bach Inputs schedulados Verificar se existem jobs batch rodando Verificar updates em progresso Enviar mensagem aos usuarios Verificar usuarios logados Verificar conexoes externar

Desativando o R/3 Para encerrar o R/3 (usuario R/3 com poder de administracao) - Via CCMS - Via SAP Service Manager Para encerrar o Banco (usuario NT <sid>adm) - Via Oracle Instance Manager - Via Oracle Server Manager (comando svrmgr30) - Via SAPDBA Backup Offline: Database Reconnect Para backup offline configurar - rsdb/reco_trials = n -> quantas vezes WP irao tentar se reconectar ao DB - rsdb/reco_sleep_time = m -> tempo entre tentativas Desta forma buffer R/3 no ser limpo Causas de erro no Stop do R/3 Banco no quer sair - Database fazendo rollback (pode demorar se o commit esta longe) - Backup online esta rodando (s sai depois de acabar) - Archiver stuck (precisa salvar o archive antes) Se no for nada assim obvio, verificar SM21 e Alert File

Captulo 3 Installation Check


Windows NT Pre-Requisitos - Hardware Checar via Winmsd ou Windows NT Diagnostics Certificado pela SAP

__________________________________________________________________________________________________________ 81 Apostila Mdulo Basis

Numero de processadores Capacidade de Memoria Disk Space - Checar via NT Disk Administrator - Formatar discos com NTFS High Availability - Software Windows NT em Ingles Service Pack Resource Kit Softwares Adicionais - Rede TCP/IP Checar TCP/IP via Control Panel - Configuracao de Hostname - Ver hostnames no WINNT/SYSTEM32/DRIVERS/ETC/Hosts (case sensitive) - Ver nomes NetBios no WINNT/SYSTEM32/DRIVERS/ETC/Lmhosts - Se houver 2 placas de rede, os nomes devem ser diferentes Conceito de Dominio Conceito R/3 de seguranca - Front-ends Backups - Do Registry via RDISK ou NTBACKUP - Criar Repair Disks - Para aumentar disponibilidade do sistema, podemos criar 2 particoes de boot, ambas com Window NT Pre-Requisitos do Database - Versao compativel com o sistema operacional - Database name deve ser identico ao SID do R/3 - Name conventions dos diretorios usado pelo R/3 no Oracle no devem ser modificados - Online Redo Log Files devem ter mirror - Restricoes do Oracle Redo Log Files, Archive Files e Data Files no podem ficar no mesmo Disco Fisico Pre-Requisitos das Profiles - INIT<sid>.ORA -> profile do Oracle, vem com valores default - Do NET 8 LISTENER.ORA -> s no Servidor, configura o Listener TSNAMES.ORA -> s no Client, strings de conexao para os DB Servers SQLNET.ORA -> s no Client, informacoes administraticas sobre conexes PROTOCOL.ORA -> S para UNIX INIT<sid>.SAP Configura backups (BRARCHIVE e BRBACKUP) INIT<sid>.DBA Configura SAPDBA

Oracle -

Estrutura de Diretorio __________________________________________________________________________________________________________ 82 Apostila Mdulo Basis

No Servidor ORACLE_HOME ORANT BIN DATABASE RDBMS80 SAPDATA_HOME ORACLE/<sid> SAPCHECK SAPREORG SAPBACKUP SAPTRACE SAPARCH MIRRLOGA / B ORIGLOGA / B SAPDATA No Client ORACLE_HOME NET80 RDBMS80 NLSRTL31/DATA NLSRTL32/DATA NLSRTL33/DATA = = = = sid c:/orant c:/oracle/<sid> c:/oracle/<sid>/sapdatan

Variaveis Ambientais ORACLE_SID ORACLE_HOME SAPDATA_HOME SAPDATAn Database -

Security Trocar Password do SYSTEM SYS SAPR3 Backups Regularmente Modalidade do Banco Archivelog

Performance Manter PSAPBTABD e PSAPSTABD em discos separados Manter PSAPBTABI e PSAPSTABI em discos separados No colocar indices e dados no mesmo disco fisico No usar RAID 5 para online redo log file, SAPARCH ou PSAPROLL - A caracteristicas destes arquivos e gravacao e leitura sequencial, o que no se presta s caracteristicas do RAID 5

System Name nico no landscape Sempre em Uppercase Comecando com letra Identico ao do Database Existe uma serie de nomes reservados __________________________________________________________________________________________________________ 83 Apostila Mdulo Basis

Memory Management on Windows NT Zero Administration Memory Management Definir memoria a ser data ao R/3 no parametro - PHYS_MEMZSIZE Inicialmente, a Extended Memory ser setada para este valor Se mais memoria for necessria, serao alocados metade deste valor at que se atinja em/max_size_MB ou se esgote o espaco de swap Dominio SAP e PDC e BCD do Windows Por razoes de segurana, no colocar o banco ou uma instancia do R/3 no PDC ou BCD Dominio NT e grupos de autorizacao usuarios - <sid>adm SAPService<sid> no pode logar interativamente No troca a password Local Group para R/3 - SAP_<sid>_LocalAdm Shares do NT SAPTRANSHOST\sapmnt\trans SAPGLOBALHOST\sapmnt SAPLOCALHOST\saploc -> diretorio de transporte -> diretorio system wide -> Instance Directory

Name Resolution Existem nome TCP/IP e NetBios TCP/IP -> no Control Panel > Network > TCP/IP > Protocol DNS - Normalmente em letras minusculas - Usa arquivo WINNT/SYSTEM32/DRIVERS/ETC/Hosts Computer Name -> My Computer - Normalmente em letras maiusculas - Usa arquivo WINNT/SYSTEM32/DRIVERS/ETC/Lmhosts Todas as referencias do R/3 so para o Host Name TCP/IP - O SAPGLOBALHOST escrito em maiusculas, mas host TCP/IP Sockets Portas TCP/IP Configurada no arquivo WINNT/SYSTEM32/DRIVERS/ETC/Services - 3200 dispatcher sapdp 32<instance_number>/tcp - 3300 gateway sapgw 33<instance_number>/tcp - 3600 message server sapms 36<instance_number>/tcp no diretorio SAPGLOBALHOST/<sid>/EXE/RUN existe a ferramenta SAPNTCHK e SAPSYCHK que validam os seting do TCP/IP (hostname, IP address, service entries)

Setup do Transport Management Configuracoes - Transport Domain - Transport Group - Routes bom um Backup Domain Controller para poder alterar as definicoes quando o Domain Controller esta fora do ar

__________________________________________________________________________________________________________ 84 Apostila Mdulo Basis

Dentro de um Transport Domain, as configuracoes do TPPARAM devem ser iguais S o TRANSDIR pode ser diferente

Verificacao da Instalacao NT Event Viwer Kernel Patch Level (SM50) Installation Consistency (SM28 ou SICK) Correct Hostname (SM51) case sensitive Buffer Syncronization (ST02) Activate Performance Monitor: report RADDBDIF SAP Lincense: SAPLICENSE Trocar Password SAP* e DDIC Remote access using SAPROUTER Imported Hotpackegs (SPAM) Imported Languages (SMLT) Backup pos instalacao S.O. e o seu Registry Disk Configuration (NT Disk Administrator) Diretorios do Oracles - ORANT - ORACLE Diretorio do R/3 - \usr\sap - \usr\sap\trans - <homedir>\ do <sid>adm O database - SAPDBA ou CCMS ou BRBACKUP e BRARCHIVE

Captulo 4 R/3 Spool and Print


Outputs Podem ser impressoes, fax, EDI Tipos de impressao - Immediate Printing - Delayed Printing Spool interno do R/3 -> para compatibilidade com diversos sistemas operacionais Tipos de objetos no Spool - Spool Request -> dados a serem impressos, no formatados para impressor especifica

__________________________________________________________________________________________________________ 85 Apostila Mdulo Basis

- Output Request -> dados em formato device specific -> um spool request pode gerar varios output request, cada um com atributos especificos -> usar uma impressora de tipo diferente em relacao ao qual o output request foi geradao pode ocasionar erros de impressao TemSe - Arquivos onde so armazenados os Spool Requests - Contem Origem do Request Data de Criacao Nome do Criador Nome Logico da Impressora Numero do Client - Parametro rspo/store_location define o local do spool G -> no disco, Global Directory DB -> no Oracle

Spool Work Process Responsavel por recuperar os TemSe e gerar as saidas device-specific - Converter os comandos genericos de impressora em comandos especificos - Colocar sequencias de inicializacao e encerramento - Converter o character set interno de armazenamento para o da impressora Um Spool Work Process sempre manipula apenas um spool por momento Uma instancia que roda um Spool WP chamada de servidor de spool Depois de convertido, tranfere para o spool do S.O. Output Devices Definicao da Impressora para o R/3 Feita usando a transacao SPAD Aponta para o Device Type daquela impressora, que contem - Character set do device - Printer Driver para formatar o SAPScript - Comando device-specific para converter comandos genericos R/3 Local Printing Data Transfer do R/3 para o sistema operacional chamado de Access Method No metodo Local Printing se usa o Local Method - o metodo mais facil e confiavel de transferncia Usado quando o R/3 e o S.O. de spool estao na mesma maquina A impressora no precisa estar nesta maquina, apenas seu share Para Windows NT usar Access Method C Vai passar os dados ao sistema operacional usando API do Win Nt

Remote Printing Usa Metodo de Acesso remoto mais lento e s deve ser usado em ambiente de LAN Em sistemas operacionais que possuem Daemon, o R/3 envia os dados para este daemon (como o lpd do Unix) que passa ao sistema operacional - A impressora pode ser local ou remota a este sistema operacional, ela tem apenas que estar definida nele __________________________________________________________________________________________________________ 86 Apostila Mdulo Basis

Em Windows NT usar o SAPLPD que um daemon com a mesmo funcao do lpd Unix Impressoras de rede (via JetDirect) Tambem podem receber impressoes do R/3 Metodos de acesso remoto em Windows NT Network Printer -> U Via SAPLPD -> S

Transacao SPAD Vamos focar a administracao simples usando SPAD Tarefas - Criacao, modificacao e transporte de Output Devices - Criacao, modificacao e delecao de Spool Servers - Listagem de metodos de acesso disponiveis para uma impressora - Listagem de destination hosts usados na definicao de impressoras remotas - Manutencao dos TemSe Definicao de impressoras locais Output Device -> nome da impressora no R/3 (case sensitive) Short Name -> nome curto Device Type -> device type Spool Server -> o nome da instancia do Spool WP Host Name -> nome no servidor acima Host Printer -> nome da impressora usado no S.O. case sensitive Device Class -> classe, p.e. impressora ou fax Access Method -> access method Definicao de impressoras remotas Todos os anteriores mais Destination host -> nome do servidor de destino (tem que estar na Hosts do servidor) Frontend Printing a impressao de dados na impressora do proprio PC Quando solicitado, o sistema automaticamente aciona o SAPLPD O processo de spool realizado no Dialog WP o que pode causar problemas de performance Usa metodo de acesso F

Definicao de Fronend Printing Usar device tupe SWIN Usar Host Printer __DEFAULT - Vai imprimer na impressora default do Windows daquela maquina - Cuidado, se no for Windows, vai procurar uma impressora com exatamente este nome R/3 Logical Spool Server Nova camada na arquitetura do Spool Permite enderecar Spool Server como um nome virtual Depois assinalamos o nome real Vantagens - Spool server switchover -> troca do spool server facilmente (manutencao p.e.) - Facilidade para transportar a arquitetura de spool para outro sistema

__________________________________________________________________________________________________________ 87 Apostila Mdulo Basis

Protecao quanto a falhas no servidor Load balancing entre spool servers Server -> Logical spool server name -> um box para marcar, signigicando que o servidor logico -> especifica o nome do spool server real

Definicao de Logical Spool System Name Logical Server Mapping

Transporte de Impressoras Definido na SPAD Permite transportar toda a arquitetura Manuseio de Spool Request Via SP01 End user podem Display e delete de seus proprios spools Trocar atributos de seus proprios spools Imprimir seus proprios spools No precisam de autorizacao especial para isto Administradores podem Checar consistencia no spool Realizar spool maintenance Precisam de autorizacoes adicionais

Delecao de Old Spools Via SPAD - Somente para o Client no qual estou logado Atraves do relatorio RSPO0041 - Informar Expiration date Minimum age Target Client - Devemos schedula-lo para rodar periodicamente

Spool Consistency Check Via SPAD Atraves do relatorio RSPO0043 - Release locks after __ minutes

(30)

Spool Problem Analisys Se gerou a impressao e contem erros - A impressora esta correta ? - A definicao da impressora esta correta ? - O defice type esta correto ? Se no gerou a impressao - Se criou o spool request E esta em WAIT - Servidor R/3 est Down ? - O Spool WP est busy ? E esta em COMPL/ERROR __________________________________________________________________________________________________________ 88 Apostila Mdulo Basis

Stuck in host spooler ? Destination host unreachable ? SAPLPD not Running ? Printer Offline ? E esta em outros estados - Request no foi submetida com Print Immediately ? Se no criou o spool request - Falta de autorizacao - Problemas na aplicacao - Problema de basis (ver dumps)

Autorizacoes S_SPO_ACT - Define que acoes podem ser tomadas num spool reques - Listar, imprimir, redirecionar, deletar S_ADMI_FCD - Permite tarefas de administracao como criacao de output devices, manutencao de device types, administracao dos TemSe S_SPO_DEV - Limita acesso a impressoras pelo nome S_SPO_PAGE - Numero maximo de paginas que um usuario pode imprimir numa impressora - S funciona se rspo/auth/pagelimit = 1

Captulo 5 Output Management


Device Pool in R/3 Agrupa multiplos device num nico nome Pode ser usada para - Enviar o mesmo output para todos os dispositivos do pool - Enviar o output para 1 dispositivo de acordo com Load Balance Tambem pode ser usado para criar nome logicos. Neste caso o pool vai conter apenas 1 device. Permite ao administrador trocar o nome do device sem grandes traumas Para definir um Device Pool - Na SPAD configurar metodo de acesso P - Depois escolher botao Device Pool e definir as impressoras deste pool - Definir ainda se output ser enviado a todas as impressoras ou s a uma delas External Output Management Systems (OMS) Para R/3 External OMS so sistemas de impressao em grandes e complexos landscapes

__________________________________________________________________________________________________________ 89 Apostila Mdulo Basis

Para comunicacao com External OMS R/3 fornece interface CCMS-XOM e o API o XOM-API Facilidades fornecidas - Comand Line interface - RFC Callback permite OMS informar status dos output request e output devices ao R/3 - Polling mechanism permite ao R/3 perguntar ao OMS status dos outputs - Adcionals Command Line que implementam queries dos outputs ou cancelamento deles Real OMS e Logical OMS Definidos atravs da SPAD > External Administration ROMS -> external OMS - define caracteristicas do OMS - se suporta polling, RFC CallBack, cancelamento de outputs LOMS -> grupo particular de output devices do OMS - LOMS definida sobre um ROMS - Define como aquele grupo de output devices trabalha (se eles tem RFC Callback p.e.) - 1 ROMS pode ter varias LOMS Definindo ROMS e LOMS e OMS Devices ROMS - Principais configuracoes - Definir Nome, Descricao - Definir Job Status - Definir Device Status -> - Definir Reconfig Request LOMS - Principais configuracoes - Tasking Target -> - Callback Targe -> - Command Group -> - Command Path -> OMS Device - Principais configuraes

-> se suporta Query, Delecao, Polling, Callback se suporta Query ou Callback -> de quanto em quanto tempo atualiza configuracao para que server responder para que server responder comando a ser usado no External OMS caminho do comando

Output device (nome R/3), Device Type, Spool Server, Logical OMS Host Printer -> nome real da impressora no OMS Device Class -> impressora ou Fax Access Method -> E para External OMS

Metodos de Acesso e Classes Classe de Impressoras e de Spool Servers - P -> Production - V -> High Volume - D -> DeskTop - T -> Test - Definida via SPAD > Output Devices > Edit Classification > Spool Server > Server Class - Impressoras de uma classe deve ser alocada para spool server de mesma classe - Se no bater, R/3 deixa alocar, mas emite warning avisando Sugestao de uso de metodo de acesso __________________________________________________________________________________________________________ 90 Apostila Mdulo Basis

P V D T

-> -> -> ->

Local Local Local Local

(C,L) (C,L) (C,L) (C,L)

Remote (U,S) Remote (U,S) Remote (U,S)

FrontEnd (F) FrontEnd (F)

Pool Pool Pool Pool

(P) (P) (P) (P)

ExtOMS ExtOMS ExtOMS ExtOMS

(E) (E) (E) (E)

Alternate Spool Server Posso usar Alternate Spool Server para Load Balancing Pode trabalhar com Logical Spool Servers e Real Spool Servers Algoritmo recursivo, ou seja, pode enderecar o alternate spool server de um alternate spool server Para isso - Na SPAD > Spool Server Marcar Non-exclusive Spool Server Definir Alt Server Selecao feita com base no server que tem menor numero de requests na fila Caracteristicas Especiais de um Output Device Via SPAD > Attribute Screen - Sequential Request Processing Garante que os spool serao encaminhado ao host na ordem que foram gerados Reserva temporariamente um Spool WP para isso Parametro rspo/global_shm/job_list define o tamanho maximo da internal queue que pode ser gerada por este processo - Se esta exceder este tamanho, usa outro Spool WP Pode impactar performance porque diminue o numero do Spool WP disponivel - No Longer Ask for Print Request in Host Spool Impede que o R/3 acompanhe o andamento do spool no host system Melhora performance, especialmente se o host no local Varios parametros de profile - rspo/tcp/.... - rspo/lpq/.... - Monitoring Using Monitoring Infrastructure Coloca a impressora no CCMS Alert Monitor Impressora fica sendo monitorada pelo Alert Monitor Fica na R3Services Spool Devices Usar s para impressoras criticas, porque consome memoria

Definicao de Impressoras No Standard Criar via COPY de uma impressora parecida - SPAD > Utilities > For Device Type > Copy Device Type Principais caracteristicas que podem ser alteradas - Character Set 2 fases; primeiro criamos um novo Character Set e depois o associamos ao device Novo Character Set deve ter numeracao entre 9000 e 9999 Se possivel recomendado copiar um Character Set parecido e alterar Cada Character do Character Set tem nome, numero e valor hexadecimal - OTF Driver Nome do driver usado para converter formato OTF em formato do device - Print Controls Controles para tipo de fonte, line spacing, bar codes Copiar, modificar e assinalar __________________________________________________________________________________________________________ 91 Apostila Mdulo Basis

Usar nomes comecando com Z Format Tipos de papel suportados pelo Device Letter, DINA4 Format Actions Define sequencia de caracteres para END OF PAGE; END OF LINE; 6PI; PRINTER INITIALIZATION; END OF PAGE Copiar, modificar e assinalar (via SPAD) Page Format Define dimensoes da pagina

Analise de problemas SPAD > Utilities > For test data permite geracao de spool para testar impressora Pode-se exibir tela em Hexa para debug Message Control Overview Message Control usado por modulos funcionais Message Type BA00 usada para Order Confirmation no SD Na Transacao VK02 podemos ver sua definicao Esta mensagem pode gerar impressao imediata de Sales Order ou quando rodar o relatorio RSNAST00 (Time Options 1 ou 2) Podemos ainda especificar na VK02 Transmission Midia (1 printout, poderia ser FAX) SAPConnect Solucao para EDI da SAP Address Format suportados: FAX, STM-400, SMTP e SAPOffice Conexao entre sistemas R/3 suportada sem outros produtos, caso contrario precisa de External Adapters SAP proporciona conexao com Microsoft Exchange Server, que se comunica com X.400, Internet e outros Isto pode viabilizar comunicacao com estes ambientes Para configurar SAPConnect Definir Node -> transacao SCOT Definir RFC Destination and User -> transacao SM59 Usuario da conexao deve ser do tipo CPIC Deve ter autorizacao S_A.SCON Definir Address Areas -> transacao SCOT

Captulo 6 Database Administration Oracle


Nothing to do

__________________________________________________________________________________________________________ 92 Apostila Mdulo Basis

Captulo 7 DataBase Fundamentals


Oracle Review Dedicate Shadow Process -> agentes do Oracle Shared Process -> tasks de gerenciamento do Oracle - DBWR -> no Checkpoint grava blocos alterados da SGA para disco -> gravao assncrona - LGWR -> grava dados do online redo log buffer para online redo log files -> gravao sncrona - ARCH -> copia dados do online redo log file para archive -> bancos de produo devem rodar em ARCHIVELOG mode -> devem ter ainda log_archive_start=TRUE no INIT<sid>.ORA -> copia archive p/ log_archive_dest=path do INIT<sid>.ORA (default SAPARCH) -> template fname log_archive_format=aaa% do INIT<sid>.ORA -> falta de espao para copiar archive pode causar stuck do Oracle - CKPT -> sincroniza DB - PMON -> gerencia usurios, detecta deadlocks - SMON -> gerencia instancia recomendvel mirror de Control File e Online Redo Log File SGA composta por

__________________________________________________________________________________________________________ 93 Apostila Mdulo Basis

- Shared Pool - > contem a Shared SQL Area, onde esto os statements SQL executados - Database Buffer Cache - Redo Log Buffer Work Process se conectam com user SAPR3 Oracle Start - Nomount -> aloca SGA, abre traces, aloca processos, cria instancia - Mount -> abre control files para conhecer a estrutura do banco - Open -> abre datafiles e online redo log files e executa recovery se necessrio Oracle Shutdown - Normal -> espera logoff de usurios e encerra o banco; no permite novos logons - Immediate -> Apenas o comando corrente executado; rollback dos outros - Abort -> encerra o banco imediatamente; prximo start far recovery

Tablespace Convention Name PSAP<tablespace_name>_<extencao> Name convention utilizada pelo SAPDBA e outras ferramentas - Alem disto, facilita a determinao de problemas - SAP recomenda nunca mudar TableSpaces - Do usurio SYS ou SYSTEM SYSTEM Oracle Dictionary PSAPROLL Oracle Rollback PSAPTEMP Oracle Sort Process - Do usurio SAPR3 Todos tem extenso D ou I PSAPELxx SAP Environment Load Basis PSAPESxx SAP Environment Source Basis PSAPLOAD SAP Load Basis PSAPSOURCE PSAPDDIC PSAPPROT PSAPCLU PSAPPOOL PSAPBTAB PSAPSTAB PSAPDOCU PSAPUSER1 SAP Source SAP Dictionary SAP Spool SAP Cluster Tables SAP Pool Tables SAP Transaction Data SAP Master Data SAP Documentacion Customer Tables Basis Basis Applications Applications Applications Applications Applications Applications Applications

Estrutura do Diretrio No esquecer de colocar os ORANT - DATABASE profiles INIT<sid>.ORA -> INIT<sid>.DBA -> INIT<sid>.SAP -> - BIN executveis ORACLE - SAPARCH archives

Control Files em pelo menos 3 lugares diferentes Oracle SAPDBA BRARCHIVE e BRBACKUP

__________________________________________________________________________________________________________ 94 Apostila Mdulo Basis

SAPDATA SAPBACKUP SAPREORG SAPCHECK SAPTRACE ORIGLOGA ORIGLOGB MIRRLOGA MIRRLOGB

data files BRARCHIVE, BRBACKUP, logs logs da SAPDBA e diretrio de compresso para reorganizao logs da SAPDBA para next, -check, -analyze Oracle Alert File (no subdir BACKGROUND) Online Redo Log files . . .

Variveis ambientais ORACLE_HOME -> aponta para o C:\ORANT SAPDATA_HOME -> aponta para o C:\ORACLE Usurio Oracle do S.O. -> <sid>adm -> ORA<sid> - precisa das variveis - ORACLE_SID=<sid> - DBA_ORA_TNSNAME=<sid> Usurios do O.S. e do Database O.S. User - <sid>adm grupo ORA_<sid>_DBA conecta INTERNAL com full control - SAPService_<sid> grupo ORA_<sid>_OPER conecta INTERNAL com restricted DBA Database User - INTERNAL (SYS) full control - OPS$<sid>adm full control - OPS$SAPService<sid> restricted database administration - Usurio OPS$<user_name> pode conectar no Oracle apenas com a autenticao do S.O. OS_AUTHENT_PREFIX=OPS$ do INIT<sid>.ORA Para usar SAPDBA basta autorizaes de OPER

Database Roles e Users Database Role - SYSDBA -> DBA - SYSOPER -> start, shutdown e backup, sem acesso a tabelas - SAPDBA -> para o SAPDBA check, -checkopt, -analyze, -next, -backup Database User - SYS -> acessa todas as tabelas - SYSTEM -> acessa todas as tabelas, menos a DDIC - SAPR3 -> acessa todas as tabelas do R/3 Connect Request - INTERNAL -> conexo dependente so S.O. -> se usurio pertence ao grupo DBA do S.O., tem direitos de SYSDBA -> se usurio pertence ao grupo OPER do S.O., tem direitos de SYSOPER

Senha SAPR3 WP tenta conectar como SAPR3 senha SAP Se no consegue usa OPS$SAPService<sid> Com este privilegio le a tabela SAPUSER com a password do SAPR3 __________________________________________________________________________________________________________ 95 Apostila Mdulo Basis

NET 8 -

Conecta com usurio SAPR3 e a senha descoberta Para isso precisa da REMOTE_OS_AUTHENT=TRUE na INIT<sid>.ORA ou SQL*NET Conecta usurios Oracle via TCP/IP ou IPC Arquivos de configurao (ORACLE_HOME/NET80/ADMIN) Devem existir no DB Server e no R/3 Application Server TNSNAMES.ORA contem a relao de servios de banco disponveis na rede SQLNET.ORA configurao do SQL*NET e parmetros de logon e trace S existe no DB Server Deve existir um listener rodando, sem ele as conexes so recusadas Utilitrio LSNRCTL80 usado para start e stop do listener, bem como verificar conexes SQL*NET LISTENER.ORA DBs Oracle para o qual o Listener deve atender solicitaes Database -> Database main alerts > Backup log monitor -> Estado da memria e dos objetos do Database -> Carga e configurao do Database -> Log das Database Administration Actions

Monitoring do DB16 DB12 DB02 ST04 DB14

Parmetros do INIT<sid>.ORA control_files db_block_buffers db_block_size db_files db_file_multiblock_read_count log_archive_start log_buffer log_checkpoint_interval log_checkpoint_timeout max_rollback_segments open_cursors optimizer_mode processes rolback_segments row_cache_cursors sessions shared_pool_size sort_area_retained_size sort_area_size timed_statistics

path > 9000 8192 254 8 true 327680 - 1048576 30000000000 0 > rollback_segments 800-2000 choose > R/3 WP + 20 e > 80 R/3 WP / 4 e >= 10 300 - 1500 > processes e >= 96 50Mb a 300 Mb 262k a 500k 2097k a 2500k true

__________________________________________________________________________________________________________ 96 Apostila Mdulo Basis

Captulo 8 Backup Strategy


Por que backup External Factors Phisical Errors Logical Errors fogo hardware delecao indevida

Diminuindo o Risco de Perda de Dados Solues de Mirror - Data Files -> Can be mirrored hardware - Online Redo Log Files -> Must be mirrored by the database - Control Files -> Must be mirrored by the database - Offline Redo Log Files -> Should be mirrored using hardware Preveno de problemas - Logical Data Check Verificao dos blocos do database a procura de inconsistncias - Phisical Data Check Verificao das fitas de backup a procura de data checks

__________________________________________________________________________________________________________ 97 Apostila Mdulo Basis

Tipos de Backup Offline - Backup com o banco fora do ar - Copia todos arquivos: Profiles, Control Files, Data Files, Online Redo Log Files - Para maior garantia, devemos fazer backup dos offline redo log files neste mesmo momento OnLine - Backup com o banco no ar - Copia todos arquivos: Profiles, Control Files, Data Files - Causa uma reduo da performance do sistema enquanto roda - S consistente quando aplicado em conjunto com os Log Files gravados durante o processo de backup (as tablespaces podem estar em pontos diferentes) - O BRBACKUP da um switch para um novo online redo log file ao final do backup Se copiarmos estes logs teremos um backup realmente utilizvel Estratgias de Backup Backup parcial dos Data Files - Cada dia backupeia alguns Data Files, no todos - Recupera aplicando o Log - Aumenta o tempo de recovery, pois pode haver muitos logs para aplicar Parallel backup - Backup com varias fitas ao mesmo tempo - Recupera aplicando o Log Recuperao de dados em um ponto no passado Caso haja perda lgica de dados, por erro de aplicao, erro de usurio, etc Volta backup e aplica logs ate aquele ponto Se for s uma tabela, fazer isto num outro sistema, salvar a tabela e transporta-la para o sistema real

Caso tenhamos perdido um dos Offline Redo Log Files Danou -> s pode recuperar at o ponto que tem todos os logs - Sempre ter 2 copias do Offline Redo Log File Outra situao que pode levar a perda de Redo Log Files - Erro de hardware -> perda dos disco -> ainda no tiramos backup de alguns Offline Redo Log Files - S ser possvel recuperar o que j est em fita Backups Adcionais Tirar sempre que mudar estrutura fsica do banco - Add DataFile por exemplo Ciclo de Backup Recomendado Pela SAP Ciclo de 28 dias (4 semanas) Calcular quantas fitas precisa e disponibilizar 30% a mais Fitas de backup podem ser utilizadas aps o ciclo (28 dias) Estratgias - Full Online Backup todo dia - Full Offline Backup pelo menos 1 vez por semana - Backup dos Offline Redo Log Files todo dia, sempre depois do Full Backup Copiar os Offline Redo Log Files 2 vezes, em 2 fitas, por segurana

__________________________________________________________________________________________________________ 98 Apostila Mdulo Basis

- Verificar o DataBase procurando Logical Errors e as fitas, procurando Phisical Errors, pelo menos 1 vez por ciclo Tentar fazer isto 1 vez por semana - Separar o ultimo Full Backup Offline em um cofre e colocar novas fitas em substituio - Fazer backup adcionais sempre que ocorrerem mudanas na estrutura do DataBase Ferramentas de Backup da SAP Ferramentas suportam backup para disco ou fita BRBACKUP - Backup dos Data Files, Control Files e do Online Redo Log File - Gera log do processo - Consulta tabelas SDBAH e SDBAD para escolha da fita de backup BRARCHIVE - Backup dos Offline Redo Log File - Gera log do processo - Consulta o Summary.log para escolha das fitas de backup BRRESTORE - Utiliza logs gerados e restaura o Banco Outros backups No esquecer - Backup do S.O. - Backup dos executveis do DataBase - Backup dos Archives - Backup das Interface do R/3 como Change Requests p.e. - Programas de terceiros que acessam o R/3

Captulo 9 Tape Management


Funes Ajuda a encontrar as fitas para um backup Ajuda a encontrar as fitas para um restore Evita que fitas sejam sobrescritas antes da sua expirao

Tape Pools Um para BRARCHIVE e outro para BRBACKUP Inicializao Comandos valem para BRARCHIVE e BRBACKUP -i v <tape_name> -> indico explicitamente o tape name i <force> -> se uso force, inicializa mesmo que a fita esteja retida - se no uso o tape_name, escolhido um nome no usado do pool de fitas - pool definido na INIT<sid>.SAP nos parmetros volume_backup volume_archive conveno de nomes sugerida - BRARCHIVE -> <sid>A01, <sid>A02, etc - BRBACKUP -> <sid>B01, <sid>B02, etc

Verificao de Labels Informaes do label __________________________________________________________________________________________________________ 99 Apostila Mdulo Basis

Tape Name DataBase name na fita Timestamp do ultimo backup Numero de backup j gravados nesta fita (contador de uso) No uso, a fita checada contra Expirao do arquivo -> expir_period INIT<sid>.SAP Numero de utilizaes -> tape_use_count INIT<sid>.SAP S warning, no impede o uso Para ver as informaes do Label -i show

Tape Locking Fisico - No label da fita - Fitas cuja data de expirao no foi atingida no podem ser utilizadas Lgico - Via tabelas SDBAH e SDBAD - Fitas retidas nesta tabela no podem ser utilizadas - Para backup do Offline Redo Log File, utilizado o Log para saber se a fita est retida Desta forma possvel controle da fita com o banco fora do ar Seleo automtica de fitas 1 Automtica Tape Selection (deixamos por conta do R/3) ele pesquisa no INIT<sid>.SAP e nas tabelas e escolhe uma fita opaco BRARCHIVE ou BRBACKUP q mostra qual fita ele vai escolher opaco BRARCHIVE ou BRBACKUP q check verifica se a fita esta montada 2 Manual Tape Selection (controlamos na mo) startamos o Backup ou Archive com v SCRATCH o R/3 checar se a fita colocada esta retida se no estiver, grava e devemos controla-la na mo til para backups no previstos startamos o Backup ou Archive e colocamos fita com o nome SCRATCH vai gravar na fita, independente do nome da fita solicitada a fita ser renomeada para a que foi pedida til para substituio de fitas 3 Tape Selection by a External Tool um software externo diz qual fita utilizar startar o backup ou archive com v <tape_name> vai checar se a fita est liberada

LayOut das Fitas aps backup 1. .tape.hdr0 2. Profiles 3. DB ou offline redo log 4. Control Files 5. reorg.log / struct.log 6. detail.log 7. summary.log BRARCHIVE

label da fita INIT<sid>. ORA, DBA e SAP depende se BRBACKUP ou BRARCHIVE info de reorganizao e estrutura do DB (SAPREORG) log desta rodada do BRARCHIVE ou BRBACKUP lista dos backups realizados p/ BRBACKUP e

__________________________________________________________________________________________________________ 100 Apostila Mdulo Basis

Captulo 10 Scheduling, Performing and Monitoring Backups


Ferramentas para ativar Backup CCMS - Via DB13, Planing Calendar - Forma recomendada pela SAP para backups - Podemos ver logs e tapes requeridas SAPDBA - Starta backup interativo - Deve ser utilizada em casos excepcionais BRBACKUP e BRARCHIVE - Tambm para uso em casos excepcionais - Podemos programar a execuo do backup via comando AT do NT Backup Profile Parameters compress compress_dir compression exec_parallel tape_copy_cmd - se for dd, parametrizar tape_address -> informar hardware se h compresso por hardware -> diretrio descompresso p/ verify ou software -> numero de processos ativados simultaneamente -> comando de backup utilizado (dd ou cpio) dd_flags e dd_in_flags -> endereo do tape station (para backup ou archive)

__________________________________________________________________________________________________________ 101 Apostila Mdulo Basis

tape_adreess_rew tape_address_arch tape_address_rew_arch tape_size tape_size_arch

-> -> -> -> ->

endereo do tape station (para backup ou archive) endereo do tape station (s para archive) endereo do tape station (s para archive) tamanho da fita em Mb tamanho da fita para archive em Mb

Recomendaes tape_size deve ser 10% menor que o tamanho da fita - assim no corremos o risco de faltar espao e abendar o backup - BRBACKUP calcula a quantidade de dados que cabem numa fita e, ao final, pede a follow-up tape - BRARCHIVE somente a quantidade de offline redo log files que caibam numa fita sero copiados - Se o software de copia (dd ou cpio) pedir fita de continuao no controlada pelo BRBACKUP, pode ocorrer problemas no restore - Se houver hardware compression, estimar este valor ainda menor, visto que a compresso pode variar de acordo com os dados a serem gravados compress_cmd - informar o comando que ativa a compresso no hardware de compresso exec_parallel - 0 1 processo por volume lgico - n no mximo n processos (o que pode economizar CPU) Backup do Database ONLINE - Copia Control Files para disco le a Le database para saber quais datafiles e online redo log files existem Le INIT<sid>.ORA para saber onde fica o Control File Backup das Profiles Backup das TableSpaces Para cada tablespace emite begin backup mode, faz backup e emite end backup mode Backup do Save Control File Log switch Backup do reorg.log, struct.log, detail.log e summary.log OFFLINE Ativa banco Le database para saber quais datafiles e online redo log files existem Le INIT<sid>.ORA para saber onde fica o Control File Desativa banco Backup das Profiles Backup dos Datafiles Backup do Online Redo Log File (somente em caso de full backup) Backup do Control File Ativa banco Backup do reorg.log, struct.log, detail.log e summary.log Desativa banco Ao final do backup, o BRBACKUP le o header gravado, para verificar se possvel fita

Realizando o Backup do Database __________________________________________________________________________________________________________ 102 Apostila Mdulo Basis

Via DB13 Planing Calendar Via SAPDBA - h Backup Database - Podemos usar g - Query Only para sabermos quais fitas sero utilizadas se fizermos um backup Via BRBACKUP - Podemos chama-lo com opaco H | more para conhecermos as opes do comando -

Logical Verification of Database Backup BRBACKUP w ou BRBACKUP verify - Verifica se a fita pode ser lida BRBACKUP w use_dbv ou BRBACKUP verify use_dbv - Realizar ao menos 1 vez por ciclo de backup - Verifica se a fita pode ser lida - Copia o arquivo para disco (diretrio compress_dir) - Verifica se o tamanho o mesmo do arquivo original (checando o log) - Detecta blocos de dados corrompidos no sistema Verificao fsica num Offline Backups Se usarmos a opaco BRBACKUP w use_dbv num offline backup, aps a comparao do tamanho ser feita uma comparao binaria do arquivo restaurado com a tabela original S possvel no offline backup, no online eles podem estar diferentes mesmo SAP recomenda um offline backup com verify 1 vez por ciclo

Monitorando o Backup do Database Logs ficam no diretrio SAPBACKUP - Podem ser consultado via editor de texto Via SAPDBA - l: Show Cleanup - a: Show log files / profiles - e: BRBACKUP log files Via DB12 - Mostra relao de todos os backup logs Tabela SDBAH e SDBAD possuem log tambm - Informaes resumidas Arquivos de log - back<sid>.log -> uma entrada para cada detail log - b<timestamp>.<ext> -> descrio completa da atividade do backup

Backup do Archive Aps cada o log switch, o processo ARCH copia o online redo log file para o SAPARCH Sumario desta copia esta no arch<sid>.log Num backup do Offline Redo Log File para fita seus status so - ARCHIVE aps ser gerado - SAVED depois do 1 backup - COPIED depois do 2 backup - DELETED aps sua delecao Num backup do Offline Redo Log File para disco seus status so __________________________________________________________________________________________________________ 103 Apostila Mdulo Basis

ARCHIVE aps ser gerado DISKSAV depois do 1 backup DISKDEL aps sua delecao Estratgia recomendada pela SAP para backup BRARCHIVE -cds 1 - copia todos os archives em SAVED para uma fita 2 - copia todos os archives em ARCHIVE para a mesma fita na prxima rodada, os archives do 2 passo sero copiados para outra fita

Realizando o backup dos Offline Redo Log Files Via DB13 - Planning Calendar Via SAPDBA - i backup offline redo log files - Podemos usar g - Query Only para sabermos quais fitas sero utilizadas se fizermos o archive Via BRARCHIVE - Podemos chama-lo com opaco h | more para conhecermos as opes do comando - Podemos usar a opaco -f (fillup) que copia o archive e fica rodando, esperando mais archives para copiar. Encerra quando acaba a fita ou emitimos -f stop Verificao dos Usando Depois garantir que offline redo log files backup a opaco w ou verify do backup restaura o redo log file para o diretrio compress_dir para a fita pode ser lida

Se o backup foi feito com opaco de delecao do redo log file aps o backup (-cds p.e.), feito uma comparao do archive restaurado com o tamanho dele no log Se o backup foi feito sem delecao, feito uma comparao binaria com o redo log file original Monitorando o backup do Offline Redo Log File Logs ficam no diretrio SAPBACKUP - Podem ser consultado via editor de texto Via SAPDBA - l: Show Cleanup - a: Show log files / profiles - f: BRARCHIVE log files Via DB12 - Mostra relao de todos os backup logs Tabela SDBAH e SDBAD possuem log tambm - Informaes resumidas Arquivos de log - arch<sid>.log -> uma entrada para cada detail log - a<timestamp>.<ext> -> descrio completa da atividade do backup

Clean Up de Logs No fazer na mo porque os nomes dos arquivos so muito parecidos, podem confundir Via SAPDBA - l: Show / Cleanup - b: Cleanup Log Files / directories

__________________________________________________________________________________________________________ 104 Apostila Mdulo Basis

Deleta logs dos diretrios SAPREORG SAPCHECK SAPBACKUP SAPARCH SAPTRACE / BACKGROUND SAPTRACE / USERTRACE <ORACLE_HOME>_RDBMS/AUDIT - Deleta entradas da tabela SDBAD A tabela SDBAH limpa pelo BRBACKUP, que deleta entradas com mais de 400 dias - Os arquivos deletados so os que passaram do limites de idade armazenados no INIT<sid>.SAP expir_period Podemos chamar tambm SAPDBA -cleanup

Espao livre para SAPARCH Monitorar Via DB12 Via SAPDBA - f: Archive Mode - c: Show all archive information Se faltar espao no diretrio SAPARCH, o Oracle entra em ARCHIVER STUCK Podemos colocar um arquivo dummy no diretrio para, em situaes de emergncia, deleta-lo

One Run Estrategy Rodar BRBACKUP e BRARCHIVE numa nica chamada - BRBACKUP opcoes_brbackup a opcoes_brarchive O BRBACKUP efetua o backup e, no que sobrou da fita, faz o archive Se o archive no couber no fim da fita, pode ocorrer um archiver stuck Para resolver archiver stuck, no podemos utilizar a one-run-strategy - Devemos usar BRARCHIVE, que pegara as fitas do volume_archive

__________________________________________________________________________________________________________ 105 Apostila Mdulo Basis

Captulo 11 Advanced Backup Techniques


Consistente Online Backup Backup dos Data files e dos logs gerados enquanto o backup ocorria - Ao final do backup dos datafiles, gera um log switch e copia logs Garante consistncia de um backup online Copia log files para a mesma fita do backup Permite reset do database para o ponto do fim do backup - Temos que executar recovery para atualizar ate este ponto No chama o BRARCHIVE, tudo feito pelo BRBACKUP, - Nem no ARCH<sid>.log registrado Comando: BRBACKUP t online_cons Desvantagem - Maior tempo de backup Parallel Tape Support Uso de mais de uma tape station para backup e restore Quanto mais fitas em paralelo, menor o tempo gasto BRBACKUP - exec_parallel = 0 permite que seja ativado 1 processo de copia para cada fita definida no parmetro tape_address BRARCHIVE - Suporta at 2 tape stations para backup do archive - Usa tape stations definidas no tape_address_arch - Se no existe, usa as 2 primeiras do tape_address - Devemos ainda colocar no INIT<sid>.SAP

__________________________________________________________________________________________________________ 106 Apostila Mdulo Basis

archive_function = double_save ou double_save_delete BRRESTORE Suporta todas as tape stations definidas no tape_address para restore Vantagem Melhora tempo de backup Diminui time window para recovery Desvantagem Aumenta trabalho administrativo ( um ambiente mais complexo) Aumenta custo

Partial Database Backup Backup apenas de algumas tablespace Ao final de um curto perodo, todas as tablespace devem ter sido backupeadas Para recuperar um banco, devemos voltar as tablespaces que houverem e aplicar todos os logs do perodo Para executar - CCMS so pode selecionar tablespace - SAPDBA d: Objects for Backup pode selecionar tablespace ou datafile - BRBACKUP m <tablespace> idem Para garantir que ao final do perodo todos as tablespaces foram backupeadas, utilizar opaco - SAPDBA l: make partial backups complete informar o numero de dias anteriores - BRBACKUP f <days> informar o numero de dias anteriores Obs: da pra usar estas opes para completar um backup que abortou Vantagem Melhora tempo de backup Desvantagem Aumenta time window para recovery Aumenta trabalho administrativo (gerenciamento complexo)

Backing Up Data TableSpace Only Backup apenas das TableSpace de dados ndices sero reconstrudos via script SQL gerado pelo dicionrio Oracle BRBACKUP tem opaco que escolhe tablespaces que devero ser copiados - Copia sempre SYSTEM, PSAPROLL e PSAPTEMP - Comandos para backup BRBACKUP m all_data SAPDBA d: Objects for Backup > all_data - Comandos para restore BRRESTORE m all_data Vantagem - Melhora tempo de backup Desvantagem - Precisa de treinamento da equipe para reconstruir as tabelas

Two-Step Disk Backup Copia primeiro para disco e depois para fita Pode ser usado para Database ou Archive Reduz o tempo do backup, j que o disco mais rpido que a fita Copia os dados para backup_root_dir do INIT<sid>.SAP Se exec_parallel = 0 ativa um processo de copia para cada diretrio __________________________________________________________________________________________________________ 107 Apostila Mdulo Basis

- Podemos limitar parametrizando SAPDBA h: Special Options ou no BRBACKUP e <numero> Para Database Backup - A primeira fase pode ser feita via CCMS SAPDBA BRBACKUP d disk e 4 - A segunda fase pode ser feita SAPDBA j: backup from disk backup BRBACKUP -b last d tape Para Archive - A primeira fase pode ser feita via CCMS SAPDBA BRBACKUP - A segunda fase pode ser feita SAPDBA j: use disk backup BRARCHIVE -a <opes> Vantagem - Melhora tempo de backup - Melhora time window para recovery Desvantagem Precisa de treinamento da equipe Aumenta trabalho administrativo Precisa ter disco disponvel

Structure Retaining Database Copy Copia todo o DB para disco, numa estrutura idntica da produo A estrutura precisa ser criada pelo Administrador apontada pelo parmetro new_db_home Pode ser usada em combinao com a Two-Step Disk Backup Pode ser ainda utilizado para - Criar um novo R/3 fazendo um Database Copy para o novo ambiente - Para criar um Oracle Standby System - Para mover o sistema para um novo local No copia o sistema operacional, executveis, etc, s os diretrio do ORACLE_HOME Comando: BRBACKUP d disk_copy Se usarmos o BRRESTORE, ele vai voltar os dados para o diretrio ORACLE_HOME, ignorando o new_db_home Vantagem - Melhora tempo de backup - Melhora time window para recovery Desvantagem - Precisa de treinamento da equipe - Aumenta trabalho administrativo - Precisa ter disco disponvel Split Mirror Disk Backup Em ambientes com mirror, podemos quebrar o mirror e fazer backup da copia Depois ressincronizamos o mirror

__________________________________________________________________________________________________________ 108 Apostila Mdulo Basis

O backup pode ser Online Trocar as tablespaces para backup mode Quebrar o mirror Tirar o backup mode da parte em produo Fazer online backup da outra parte (que vai estar com tablespace em backup mode) Ressincronizar mirro Offline Parar o banco Quebrar o mirror Ativar a parte de produo do banco Backup offline da outra parte Resincronizar o mirror Parmetros do INIT<sid>.SAP que devem ser ativados primary_db -> define quem sera produo split_cmd -> define como quebrar o mirror resync_cmd -> define como resyncronizar o mirror Comando: BRBACKUP t online_split / offline_split d tape Vantagem Melhora tempo de backup Melhora time window para recovery Garante alta disponibilidade Desvantagem Precisa de treinamento da equipe Aumenta trabalho administrativo Custa caro

SAP Tools and Oracle Standby Database Temos 2 Database servers, um open e outro mount O open gera log files que so aplicados no mount Se cair o servidor de produo, o outro assume Esta montagem no replica mudanas estruturais no database Para backup, copiamos os datafiles do standby - BRBACKUP t offline_standby - SAPDBA e: Backup type e: offline_standby BRARCHIVE roda nos dois servidores - No de produo, copia continuamente os logfiles para o SAPARCH BRARCHIVE sd d disk f -w - No de standby, copia os logfiles do SAPARCH para fita BRARCHIVE ssd f m 60 O m serve para hot ou warm connection (se houver um erro na aplicao no server de produo, temos 60 segundos para impedi-la de atualizar o standby Vantagem - Melhora tempo de backup - Melhora time window para recovery - Garante alta disponibilidade Desvantagem - Precisa de treinamento da equipe - Aumenta trabalho administrativo - Custa caro

__________________________________________________________________________________________________________ 109 Apostila Mdulo Basis

External -

Backup Tools using BC-BRI Podemos ter um servidor de backup que converse com o SAP via interface BR-BRI Fornecedores deste produto devem ser certificados pela SAP Backup continuam a ser disparados pelas ferramentas de backup do R/3 Desta maneira, continuamos com logs das aes Podemos ainda usar o SAPDBA ou BRRESTORE para fazer restore e recovery Precisa de configurao para funcionar backup_dev_type = util_file_online util_par_file = INIT<sid>.UTL arquivo de parmetros do BACKINT Desvantagem Precisa de treinamento da equipe Aumenta trabalho administrativo Custa caro

Captulo 12 Restore and Recovery


Tipos de erros Statements Process Instance User Media

-> vamos estudar -> vamos estudar

Cenrio Partial Restore and Complete Recovery Motivo: perda do database (p.e. perda de disco) Esta tcnica permite recuperar dados at momentos antes da perda do disco Passos - Retornar o database do backup voltar somente o necessrio, p.e. uma tablespace pode ser de varias fitas diferentes afinal um partial restore - Retornar os Offline Redo Log Files do backup O mais velho deve ser compatvel com o mais antigo backup retornado No pode faltar nenhum da seqncia - Efetuar recovery dos dados Recupera o DB, desta forma todos os data file tero o mesmo SCN - Startar o Banco Todas as transaes que no terminaram, sofrero rollback baseadas nos dados dos segmentos de rollback

Cenrio Database Reset Motivo: Alteraes indevidas foram aplicadas no DB. Existe um backup imediatamente antes da alterao Este tipo de situao sempre implica em perda de dados (entre o backup e o erro) - Ela pode ser desejada __________________________________________________________________________________________________________ 110 Apostila Mdulo Basis

Passos Full Restore Retorna todos os Data File e o mais antigo Online Redo Log File e os control files No precisa de recovery (todos os dados devem vir da mesma fita) Depois do restore, startamos o banco Novos offline redo log files sero gerados, com numerao idntica as dos offline redo log file que estavam sendo gerados no momento do erro -> cuidado

Cenrio Point in Time Recovery Motivo: Alteraes indevidas foram aplicadas no DB. No existe um backup imediatamente anterior, mas existe um mais antigo e os logs Passos - Full restore, a partir de um online ou offline backup Restauramos os Data Files Talvez devamos restaurar Control Files. Ele devera ser compatvel com a estrutura do banco desejada ao final do recovery - Recovery at o ponto desejado Indicao pode ser feita atravs da hora, do arquivo de log ou do SCN desejado Start do Banco Usando alter database open resetlogs -> limpa os online redo log files Depois deste comando, no podemos mais fazer recovery, desta forma necessrio fazer um full backup para termos um ponto consistente de partida

Como tratar um problema No tomar decises apressadas - Se possvel, tirar um full offline backup antes de tomar qualquer atitude Verificar - Causa do problema Database Alert Log Trace files erro de mdia ou do usurio Quais arquivos esto corrompidos ou perdidos Existe um mirror disponvel para este arquivo - Espao em disco para trabalhar - Se h necessidade de expanso do hardware - File system e mount points - Disponibilidade de backups - Disponibilidade dos offline redo log files Criar uma estratgia para resoluo Funo Partial Restore and Complete Recovery do SAPDBA Para poder ser utilizada, online redo log file e os control files devem estar validos - Eles no so restaurados do backup 1. Check Database - Verifica o status de todos os arquivos do database (Control File, Online Redo Log file, Data File) - Verifica as V$Views - Se algum erro ocorre nesta fase, deve ser efetuado um safe check

__________________________________________________________________________________________________________ 111 Apostila Mdulo Basis

2.

3.

4.

5. 6.

Database shut down Database start mount SAPDBA reporta os erros encontrados no diretrio SAPREORG com sufixo .RCV Find Backups - determina fitas a partir do back<sid>.log (rc 0 ou 1) e, depois, do log do backup - SAPDBA sempre sugere o backup mais recente Restore Data Files - restaura os data file - se so esto faltando arquivos de index, SAPDBA pode recriar estes ndices a partir do Database Dictionary Find Offline Redo Log Files - determina quais Offline Redo sero necessrios para recovery completo - verifica as fitas no arch<sid>.log - SAPDBA leva em consideracao Online Redo Log File e os Offline que esto no SAPARCH Restore Offline Redo Log Files - restaura Offline Redo Log Files para SAPARCH Recover Database - cria scripts no SAPREORG e Salva Control Files Faz Recovery do Banco (comando RECOVERY DATABASE) Mensagem final RECOVER DATABASE TERMINATED SUCCESSUFULY

Limitaes da Partial Restore and Complete Recovery No funciona se - Outros arquivos que no Data Files forma perdidos - No h logs disponveis do BRARCHIVE e BRBACKU Podemos restaura-los de um backup - No encontra INIT<sid>.* Podemos restaura-lo de um backup No caso do INIT<sid>.SAP, podemos adaptar um template - Control Files esto danificados Verificar o mirror - Online Redo Log Files esto danificados Verificar o mirror Database Reset usando um Full Offline Backup sempre envolve perda de dados desta forma recomendvel backup antes deste procedimento opes do SAPDBA - reset database and startup open - reset database and startup mount 1. Find full Offline Backup - baseado no back<sid>.log 2. Save Current Online Redo Log File and Control File - copia control files e online redo log files para SAPREORG, j que eles vo ser resetados - para isto ocorrer o database deve estar pelo menos em MOUNT 3. Override all Data File, Control File and Offline Redo Log Files - restaurando das filas escolhidas 4. Ativao do Banco

__________________________________________________________________________________________________________ 112 Apostila Mdulo Basis

em startup open se optarmos por open, ele ser ativado com noresetlog em startup mount se optarmos por mount, poderemos utilizar um ainda um recovery para atualizar mais os dados via Server Manager do Oracle

Database Reset usando um Consistente Online Backup sempre envolve perda de dados desta forma recomendvel backup antes deste procedimento como ele vai usar os Offline Redo Log Files, todos eles devem estar salvos via BRARCHIVE depois do reset, podemos ter inconsistncias nas tabela SDBAD e SDBAH, j que elas voltaram para uma posio antiga da mesma forma, o BRARCHIVE pode no reconhecer que o novos offline redo log files precisam ser salvos 1. Find Online-Cons Backups - baseado no back<sid>.log - encontra o backup do database e, no fim, esta o archive 2. Save Online Redo Log File and Control Files copiados por razoes de segurana para o SAPREORG Override All Data Files and Control File | Offline Redo Log Files - s restaura os Offline Redo Log Files gerados durante o backup 4. Recover Database until Cancel - comando recover database using backup control file until cancel 5. Database open resetlogs - resetlog inicializa (ou cria) online redo log files - Desta forma, podemos deletar qualquer offline redo log file restaurado, pois no sero mais necessrios - aps isto, o database deveria ser checkado para blocos corrompidos DB_VERIFY - Como no possvel recovery (resetlog), o SAPDBA encaminha para a opo de backup, j que ela recomendvel neste ponto 3. -

Full Restore and Recovery Using SAPDBA Coloca o database num estado consistente num ponto entre um full backup e o momento atual Funo point in time recovery do SAPDBA - Podemos usar o SAPDBA se o banco conseguir entrar em open ou mount Como envolve perda de dados - Recomendvel Full Backup Offline - BRARCHIVE de todos os offline redo log files do SAPARCH (podem vir a ser usados) depois de um recovey point in time, podemos ter inconsistncias nas tabela SDBAD e SDBAH, j que elas voltaram para uma posio antiga 1. Find Full Offline / Online backups - encontra as fitas de um full offline, online_cons ou full online 2. Recover Until ?? - devemos responder at que ponto executar o recovery - para recovery completo, responder NOW 3. Find Offline Redo Log Files - pela resposta anterior, encontra, via arch<sid>.log os archives

__________________________________________________________________________________________________________ 113 Apostila Mdulo Basis

4. -

5.

6. Files - restore de todos os data files - se uma tablespace foi estendida no perodo compreendido pelo recovery, os control files tambem sero restaurados neste caso, o DBA dever depois reexecutar o comando de add datafile recomendado sempre um backup depois destas alteraes - os offline redo log files necessrios so restaurados para o SAPARCH 7. Recover Database until - comando recover database using backup control file until time zz:zz:zz 8. Ativar o Database - Recoveries incompletos obrigam o database a ser ativado com o resetlog

Status ??? SAPDBA informa se podemos realizar a ao desejada Pode ser impossvel porque No encontrou full backup ou no encontrou os offline redo log files em fita Ocorreu uma reorganizao de tablespace no perodo a ser recuperado O backup encontrado anterior a um resetlog Save Online Redo Log Files and Control Files copiados por razoes de segurana para o SAPREORG Override all Data Files and Control Files (if necessary) | Offline Redo Log

- Depois da recuperao, recomendado um DB_VERIFY a procura de blocos corrompidos - SAPDBA vai levar o usurio para o menu de backup, que recomendado depois de um resetlog - Desta forma, podemos deletar qualquer offline redo log file restaurado, pois no sero mais necessrios

__________________________________________________________________________________________________________ 114 Apostila Mdulo Basis

Captulo 13 Storage Management


Erros Oracle ORA1653 ORA1654 ORA1631 ORA1632 -> -> -> -> falta de espaco para novo extent de data falta de espaco para novo extent de index maxextent atingido para data maxextent atingido para index

Fragmentacao internal fragmentation - fragmentacao dentro do bloco pela delecao de linhas - Oracle resolve no insert ou update de linhas no bloco External fragmentation - Fragmentacao de extents - Extents livres so reaproveitados somente no caso de um nova alocacao menor que o free extent Space Critical Objetcs - So tabelas que, se tentarem uma nova alocacao de extent, no vao encontrar espaco suficiente dentro da tablespace Fragmentacao do Bloco As regras para permissao de inclusao causam zonas de limbo, onde um bloco fica no totalmente preenchido, porem no pode receber mais inclusoes Acima de PCTFREE no pode mais receber inclusoes, so aceita update - Default 10 % SAP - So mudar sobre orientacao da SAP Abaixo de PCTUSED volta a receber inclusoes

__________________________________________________________________________________________________________ 115 Apostila Mdulo Basis

Default 40 % SAP So mudar sobre orientacao da SAP Row migration - Ocorre quando, num update, uma linha no pode ser contida no bloco e gravada em outro bloco

SAPDBA -check Verifica - Quantidade de extents das tabelas e dos indices - Tablespace filling - Consistencia fisica do database (control files, redo log files e data files) - Mensagens de erro graves no Alert Log - Parametrizacao do INIT<sid>.ORA - Problemas especificos do database no ambiente R/3 Gera log <datetime>.chk no diretorio SAPCHECK - Grava tambem dados na table DBMSGORA - Podemos visualizar DBMSGORA via DB16 Recomendacao SAP - Rodar SAPDBA todo dia, durante um periodo de baixa atividade do sistema - Schedular via DB13 Planning Calendar - Rodar SAPDBA check quando ocorrer problemas no database ou no sistema

Configuracao do SAPDBA -check Via DB17 Configura DBCHECKORA Parametros - Error Type DBA -> possiveis erros que SAPDBA vai reportar (p.e. many extents) ORA -> erros que o Oracle registra no log (p.e. I/O Error reading block) PROF -> valores incorretos na INIT<sid>.ORA (p.e. block size <> 8192) - Parameter ID -> nome do parametro - Active -> se esta ou no ativa aquela determinacao de problema - Check Oper, Check Val, Check Unit Operadores -> p.e. > 80 P (maior que 80 %) - Corr Type -> ferramenta para resolver o problema (P=SAPDBA, T=transacao R/3) Extensao -

de uma TableSpace Via SAPDBA TableSpaced > Alter TableSpace > Add Data File Informa um default, alterar a gosto Depois S > Start SAPDBA checar se existe espaco na TableSpace - A seguir SAPDBA vai para menu de Backup - Outras acoes - No SAPREORG Grava action log <timestamp>.ext Grava a versao velha e a versao nova do Control File (SAPREORG/<timestamp>) __________________________________________________________________________________________________________ 116 Apostila Mdulo Basis

Observacoes importante sobre extensao de Tablespace - Parametro Oracle MAXDATAFILES define a quantidade de data files para aquele DB e definido na criacao do banco - Parametro Oracle DB_FILES define a quantidade maxima que o database pode manipular

Storage Categories de Objetos SAP no banco Cada objeto tem sua categoria especificada no Dicionario de Dados Categorias refletem valores de INITIAL, NEXT e MAXEXTENT das tabelas Esta definicao chamada de Technical Setting Estes valores estao definidos nas tabelas - TGORA - Tabelas - IGORA - Indices SE11 permite altera a tabela, SE12 permite exibir INITIAL sempre 16 Quanto maior a categoria, maior NEXT - Comecao com 40 e termina com 20.971.520 MAXEXTENT pode ser 300 (para categoria 0-9) ou 150 (para categoria 10-14) Embora possivel, SAP no recomenda colocar UNLIMITED MAXEXTENT em nenhuma categoria O SAPDBA -next Opcao que permite evita o crescimento descontrolado do numero de extents das tabelas do banco Geraq LOG de sua execucao no SAPCHECK, nome <timestamp>.nxt Funcionamento: - Verifica o total de espaco alocado pela tabela e divide por 10 - Compara este valor com o valor de NEXT definido na tabela, o maior ser o NEXT CANDIDATE - O Next Candidate comparado com o Technical Setting da tabela e, se este for maior, ele usado como NEXT definitivo - Se no for, pesquisa na TGORA e IGORA um valor menor que o Next Candidate em at 5 blocos - Se no for achado um valor menor em ate 5 blocos, usado o proximo valor - Se no houver um valor maior na TGORA / IGORA, o Next Candidate usado Recomendacoes da SAP - Rodar SAPDBA next ao menos 1 vez por semana Pode schedular via DB13 - Rodar aps mudancas grandes no DB - Rodar um SAPDBA check para ver se com as alteracoes no vai estourar nenhum proximo extent

Monitorando Tabelas e Indices Via DB02 Informacoes para ela so geradas via programa RSORATDB - Tabela TCOLL defini quando o programa RSORATDB vai rodar (via SM31) - RSORSTDB coleta dados e coloca na tabela MONI - MONI armazena dados estatisticos das tabelas e indices - Tambem necessrio que o COLLECTOR_FOR_PERFORMANCEMONITOR esteja rodando de hora em hora Opcoes da DB02 - Missing indexes -> indices default que estao faltando

__________________________________________________________________________________________________________ 117 Apostila Mdulo Basis

- Checks > Check Next Extent -> objetos com grande crescimento no num de extents -> objetos com mais de 80% dos extentes alocados -> possue bota History Per Week - TableSpace > Space Statist > tamanho, free space e storage usage - Detailed Analisys -> analise detalha de uma tabela ou indice - Space Critical Objects -> vai estourar no proximo extent (?) Monitorando Fragmentacao Internal Via SAPDBA analyze - Usa o comando Oracle ANALYZE - Este comando fornece informacoes sobre storage allocation e fragmentacao - Podemos tambem checar informacoes de uma nica tabela - usado pelo otimizador Oracle para acessos baseados em custo Pode ser schedulado via DB13 - Para acessar as informacoes geradas Via DB13 -> Double Click no calendario > Detail Log Via DB14 -> DB Optimizer (mostra optimizer statistics) -> Fuction Ids (mostra action log) -> Detail Log (resultado da analise da tabelas e indices) Caminho no SAPDBA - Reorganization - Check extents and fragmentation Metodos de Analise - COMPUTE STATISTICS -> mais acurado e mais demorado -> usado para tabelas - VALIDADE STRUCTURE -> usado para indices -> se usado tab e indice so locked, no podem ter alteracao Verificacoes efetuadas - Tabelas que tem grande diferenca entre EMPTY e NEVER_BEEN_USED EMPTY a diferenca entre o espaco alocado e o usado pela tabela NEVER_BEEN_USED o espaco alocado mas nunca usado - Indices que tem grande diferenca entre USER_BY_BTREE e USED USED o espao realmente usado USED_BY_BTREE o espaco alocado para B*Tree

Reorganizacao Permite reorganizar blocos e juntar extents Se reorganizamos Data Files, podemos minimizar o numero deles Para Tabelas - Export Table - Drop Table - Import Table - Recriate Index Para Indices - Drop Index - Recriate Index Precisa espaco para o export SAPDBA tenta prever o valor da quantidade de memoria adcional necessaria Erros comuns

__________________________________________________________________________________________________________ 118 Apostila Mdulo Basis

- No data file has enough freespace to hold new larger extent or a temporary second copy of object - SAPREORG too small to hold export sets - PSAPTEMp too small for index recriation Para evitar perda de dados na reorganizacao, tirar backup Aps a reorganizacao, tirar backup

Reorganizacao So em casos extremos, caso e o sistema tem que parar Motivos - Disk Hot Spots -> distribuicao de acesso tornou um disco muito acessado - Alta fragmentacao de indices -> pode afetar bastante a performance -> a fragmentacao das tabelas no afeta tanto Como evitar - Rodando SAPDBA next -> melhor aumentar NEXT e MAXEXTENT do que reorganizar - Estimar crescimento das tabelas e extende-las em data files com tamanho apropriado - Fazer ARCHIVE de dados obsoletos Vai evitar que se chegue ao limite de DB_FILES - Se estiver chegando ao limite MAXFILES e DB_FILES, aumente este limite, no reorganize tablespace

Tipos e fases de uma reorganizacao Via SAPDBA - Phase 1 gera script de reorganizacao no subdir <timestamp> do work directory - gera arquivo de restart: restart.ext - checa se h espaco para reorganizacao - Phase 2 executa script Reorganization of a single object (RSI) - Usado para eliminar fragmentacao interna ou de extents (tab ou index) ou mover tabelas entre disco Reorganization of a list of objects (RLI) - Idem, mas faz para uma lista de objetos. Devemos criar um arquivo com a lista dos objetos Reorganization of a Tablespace (RTC) - Reorganiza tablespace sem alteracao na estrutura ou seja sem diminuir o numero de data files Reorganization of a Tablespace with a data file (RTC) - Reorganiza tablespace com alteracao na estrutura Moving and renaming data files ((RMV) - No reorganizacao, feita a nivel de file system

Metodos de reorganizacao ORACLE EXPORT / IMPORT - Export e Import do Oracle - Usa SAPREORG como area temporaria e PSAPTEMP para recriacao do Indice SAPDBA UNLOAD / LOAD - SAPDBA Unload e Load ou Oracle SQL*Loader - Usar SAPREORG como area temporaria e PSAPTEMP para recriacao do Indice CREATE TABLE ... AS SELECT __________________________________________________________________________________________________________ 119 Apostila Mdulo Basis

Copia a tabela com o mesmo nome mais sufixo # Depois da Drop na tabela velha e renomeia a nova No pode ser usada para tabelas com campos LONG No pode ser usada para reorganizar tablespaces Precisa de espaco adcional, pois a tabela existe 2 vezes num determinado periodo Precisa de bastante espaco de PSAPROLL ALTER INDEX / REBUILD Reconstroi o indice na PSAPTEMP Copia o indice de volta para a tablespace original Dropa o indice antigo e ativa o indice novo Tabela e indice ficam locked durante o processo Precisa de espaco na PSAPTEMP RECREATE INDEX Dropa o indice e recria Precisa de espaco na PSAPTEMP

Options da SAPDBA para reoganizacao Compress Extents - Junta os extents num so - Se no usado usa os parametros correntes do objeto Reduce Object Size Usa o comando ANALYZE para tentar reduzir o tamanho do objeto A geracao do script demora um pouco e da lock na tabela a ser reorganizada Chop Quebra o arquivo exportado em pedacos de ate 2 Gb. No funciona em NT Compress Comprime o arquivo exportado usando funcoes do S.O. Parallel Export / Import Exporta e Importa o arquivo em paralelo Precisa parametrizar INIT<sid>.SAP (exp_imp_degree) Oracle PARALLEL clause Usa funcao PARALLEL Query do Oracle para acelerar a reorganizacao

__________________________________________________________________________________________________________ 120 Apostila Mdulo Basis

Captulo 14 Performance Monitoring


Performance Issues Cost Based Optimizer Memory Configuration Application Design Physical and logical layout Cost Based Optimizer Razoes para problemas de performance - Informacoes velhas ou imprecisas sobre estatisticas Atualizar com o modelo de 2 fases da SAP Melhorar a precisao modificando o procedimento padrao - Presuncoes incorretas O otimizador pode achar que os dados estao uniformemente distribuidos e isto no ser verdade Para tanto, pode-se usar o Role Based Optmizer, modificando-se a definicao padrao da SAP Pode-se alterar a forma da aplicacao acessar os dados - No uso das ferramentas da SAP para atualizar estatisticas Falta de uso mesmo Isto pode causar serios problemas de performance Atualizacao das estatisticas - 1 fase SAPDBA determina quais objetos precisam de novas estatisticas verifica se mudou o numero de linhas (10% para tab pequenas e 100% para grandes) para isto usa comando ANALYSE da Oracle tabela DBSTATC armazena quais objetos serao atualizados

__________________________________________________________________________________________________________ 121 Apostila Mdulo Basis

- no gera solicitacoes para tabelas pool e cluster o comando para ativa-lo SAPDBA checkopt sugestao SAP roda-lo uma vez por semana (via DB13) para rodar para todas as tablespaces SAP usa SAPDBA checkopt PSAP% podemos mudar theshold (o % de crescimento) ou limitar o runtime via parametros grava log <datetime>.opt no SAPCHECK 2 fase atualiza estatisticas destes objetos Baseado na tabela DBSTATC Possue colunas Object Name, Method, Option, New Statistics Need Podemos modifica-la na mao Para atualizar devemos executar SAPDBA ANALYZE DBSTATC0 - Podemos ainda limitar o tempo de runtime ou escolher uma nica tabela, uma lista de tabelas ou uma lista de tablespaces Rodar ao menos 1 vez por semana (via DB13) depois do checkopt PSAP% Para cada linha da DBSTATC executa ANALYZE com a precisao de Method e Option Gera log <datetime>.ALY no SAPCHECK Modificando procedimentos padrao Pela transacao DB21 Podemos modificar o procedimento padrao Aumentando a precicao das estatisticas para uma tabela - Podemos alterar type of usage (O=Optimizer) -

Podemos mudar o metodo de analise (Estimated ou Compute) Porcentagem de linhas a serem analisadas (para Estimated) Quantidade de linhas a serem analisadas (para Estimated) Deletando estatisticas para uma tabela - Desta forma definiremos que esta tabela usar Rule-Based Optimizer - Podemos especificat Active = N ou R, para definir se o objeto sera analisado em termos de espao - Sempre que modificarmos os procedimentos padrao, devemos ativar o flag TODO para que as estatisticas sejam atualizadas na proxima vez Usando o R/3 para monitorar problemas de performance Ser houver um problema de performance verifique - As estatisticas estao atualizadas - A precisao a correta - H alguma nota relacionada com este problema - necessario alterar as condicoes de estatistica para esta tabela - O Rule Based Optimizer esta usando a melhor opcao Se no houver solucao, abrir uma nota - Usar objeto BC-DB-ORA

Memory Configuration Usar a ST04 para verificar No verificar logo aps startup, esperar ao menos um 20.000.000 de reads Data Buffer - Hit ratio deve ser de ao menos 94% - Problemas de codigo SQL causar baixo Hit mesmo com grandes buffers - Para aumentar Data Buffer, modificar DB_BLOCK_BUFFERS Monitorar via ST06 a paginacao do S.O. para no comecar a causar Swap Shared Pool __________________________________________________________________________________________________________ 122 Apostila Mdulo Basis

Dividida em Shared SQL Area - Usada para armazenar comandos SQL que vao ser executados Row Cache - Onde ficam informacoes do Dicionario de Dados Oracle User Call uma chamada para um comando na Share SQL Area Recursive Call uma chamada para o Row Cache que causou uma leitura fisica Eficiencia do Share Pool - User Call to Recursive Call should be 2 : 1 - DD Cache quality > 80% - Pin Ratio > 95% Se precisar aumentar - SHARED_POOL_SIZE - Ver paginacao do S.O. antes

Application Desing Lockwait situations - Identificacao usando DB01 Mostra o numero de lock holders, numero de lock waiters e a primary key locked - Para reduzir os Exclusive Lockwaits Aumentar a frequencia de commits No permitir que um processo segure um lock por muito tempo Emite o lock o mais tarde possivel (dentro do programa) Unnecessary SQL Statements Comandos que so executados repetidamente com a mesma clausula WHERE Tentar pegar pela ST04 Possui as seguintes informacoes para cada comando SQL da Shared Pool Area - Total Execution - Buffer Gets - Bufgets/record Se classificarmos por Buffer Gets, podemos localizar comando executados frequentemente que trazem muito pouco Bufgets/record Este pode ser um comando dentro de um loop -> analisar Usar WHERE-USED no Data Dictionary (SE12) Para reduzir o acesso, podemos redesenhar a aplicacao, tirando o comando do loop Ou podemos colocar a tabela na memoria Expensive SQL Statements Tem um grande numero de Buffer Gets em relacao ao Total Reads Pegar o Buffer Gets na ST04 e o Total Reads na abertura do monitor Se passar de 5% a relacao, investigue o comando Rode um Explain para ele, verifique quais tabelas acessa Duplo click na linha do comando na Shared SQL Area e click Explain Pode-se usar Explain with Hints, que permite sugestoes de acesso via RoleBased Possiveis saidas do Explain - INDEX RANGE SCAN -> recupera o numero de registros usando indice - INDEX UNIQUE SCAN -> recupera uma linha - INDEX NAME -> recupera o nome do indice a ser usado - CONCATENATION -> une linhas recuperadas de uma query

__________________________________________________________________________________________________________ 123 Apostila Mdulo Basis

- NESTED LOOP -> junta tabelas - TABLE ACCESS FULL -> recupera todas as linhas de uma tabela - SORT -> classificas os dados antes de devolve-los - Possiveis correcoes Verifique o Cost-Based Optmizer setting desta tabela Se o codigo parte de um programa SAP, abra uma chamada na OSS Se o codigo do cliente, redesenhe a aplicacao Verifique se o statement esta pouco qualificado Poorly Qualivied Statements - Possuem um alto indice de BufGets / Record - Provavelmente no tem um indice naquele campo - Se for programa da SAP, abrir chamada na OSS - Outras causas Falta um indice secundario O indice incorreto esta sendo usado O indice esta sendo usado mas o full scan seria mais eficiente, p.e. se a tabela tem poucas linhas ou se um grande numero de linhas sera recuperada - Para verificar se esta usando indice, rodar Explain Plan para o Statement - A causa mais comum deste erro um indice estar definido no Dicionario SAP mas no no Database Usar a opcao Missing Indices da DB02 para verificar Isto normalmente causado por falha na reorganizacao, falta de ativacao do indice no Dicionario de Dados ou Drop manual do indice O Performance Collector emite um relatorio sobre indice faltando - RSCOLL00 que chama o RSORATDB Devemos verificar falta de indices 1 vez por semana

Phisical and Logical Layout I/O Contention - Podem acontecer por Design ineficiente das aplicacoes (comandos expensives ou desnecessarios) I/O mal distribuidos em disco Discos lentos Alto acesso a tabelas or indices que no foram distribuidos entre discos Configuracao de hardware incorreta - Usar ST04 > Detailed Analisys > File System Request > I/O per path - Se h pouco acesso, no caso de contencao de i/o - Se esta muito acessado e average read time > 30 ms ou Average write time > 50 ms -> contention - Se algum disco tem mais de 20% de i/o do que os outros temos um hot disk - Para resolver Distribua o I/O entre varios discos disponiveis Compre discos mais rapidos Mova hot spot table or indexes para discos exclusivos Checkpoint not Complete - Ocorre quando Todos os online redo log files estao efetuando checkpoint ao mesmo tempo Isto pode ocorrer se os log files estao muito pequenos (levando menos de 3 minutos para serem preenchidos) e sao muito poucos, nao dando tempo de efetuar a gravacao dos dados do redo log buffer para o log e ja tendo lotado todos os

__________________________________________________________________________________________________________ 124 Apostila Mdulo Basis

outros online redo log files dispoinveis, ou seja, outro log switch ocorreria para este o log file que esta fazendo checkpoint - O Oracle trata automaticamente esta situacao Checkpoint Not Complete e grava alerta no ALERT<sid>.LOG - S problema se ocorre com muita frequencia - Para resolver, aumentar o numero de online redo log files - Se os logs demorarem menos de 3 minutos para serem preencihdos, aumentar o tamanho deles Rollback Statement Problems - Segmenos de rollback sao usados para Salvar imagens anteriores num processo de atualizacao Prover consistencia de leitura quando uma query roda - Se uma tabela modificada entre o momento que uma query iniciada e os registros serem entregues, o dado lido do segmento de rollback - No entanto segmentos de rollback nao entram em lock para uma query. Se a query nao terminou ate fim do update, o segmento de rollback pode ser apagado para liberar espaco - Isto gera ORA1555 Snapshot too old e aborta a query - Para evitar ORA1555 Tuning do comando SQL que abenda, tente otimiza-lo para diminuir seu runtime Diminua o tempo de processamento entre 2 fetches de um comando SQL Schedule os relatorios e os updates em momentos diferentes Em ultimo caso, aumente o numero de segmentos de rollback (isto vai diminuir a frequencia de liberacao dos segmentos de rollback) - Para melhorar a performance dos segmentos de rollback, distribua-os em discos pouco acessados, eles tem uma alta carga de acesso Fragmented Indexex - Sao indices com baixa taxa de preenchimento - Podem ocorrer Depois de data archive Depois de muitos registros serem deletados Em tabelas muito dinamicas - A fragmentacao faz com que muitos blocos de indice tenham que ser lidos - Isto pode fazer com que outros blocos de indice sejam tirados da memoria para trazer estes novos blocos - Analisar este problema via DB02 > Detailed analizys - Fill level de menos de 50% indica necessidade de reorganizacao Somente se um indice muito acessado - Cuidado: durante o Validate Structure a tabela fica locked

__________________________________________________________________________________________________________ 125 Apostila Mdulo Basis

Captulo 15 Top 10 Problmes


Fontes para pesquisa de problemas no Oracle Oracle Files - ORACLE_HOME/saptrace/background/ALERT<sid>.LOG -> mensagens ORA-xxxx - Oracle background process trace no diretorio SAPTRACE/BACKGROUND - Oracle user trace no diretorio SAPTRACE/USERTRACE - Arquivo STARTDB.LOG, no diretorio home do <sid>ADM -> msg de startup No R/3 - SM21 -> System Log Para abrir chamados no OSS - Syslog Message - Short Dump - Error message do Alert Log - Erro message do Background Process e User Trace - Erro message do Startdb.log - Log do SAPDBA ou BR* Archiver Stuck Mensagens -> ORA-255 ou ORA-272 Gravadas no ALERT<sid>.LOG Podemos evitar criando o Dummy File Por segurana, SAPARCH deve ter 3 vezes o necessario para os logs de 1 dia Verificar se log_archive_start = true -> copia automatica dos logs Verificar se usuario ORA<sid> tem autorizacao para gravar no SAPARCH

Incorrect tape size on drivers with hardware compression Deixar um sobre de aproximadamente 200 Mb no parametro tape_size por segurana

__________________________________________________________________________________________________________ 126 Apostila Mdulo Basis

Recalcular este parametro 1 vez por ciclo de backup Rodar BRBACKUP compress | -k only Recalcular quando houverem mudanas significativas na base de dados Mudana de release Muitas inseroes

Missing end backup ORA-1149 Missing End Backup - SAPDBA > DB Check Verification > DB System Check > Set end backup automactily ORA-1113 - SPDBA > Partial Restore and complete Recovery Tablespace Overflow ORA-1653 Table Overflow ORA-1654 Index Overflow SAPDBA > Tablespace Administration > Alter Table > Add Data File Fazer backup depois desta alteracao Table or Index reaching MAXEXTENTS ORA-1531 Tables reaching MAXEXTENTS ORA-1532 Index reaching MAXEXTENTS Para evitar - Monitar extents - SAPDBA next 1 vez por semana - Ajustar MAXEXTENTS se necessario table No utilizar MAXEXTENTS unlimited

- SAPDBA > Reorganization > Alter/Show

Shapshot -

too old ORA1555 Long running queries cujos dados foram alterados e commitados por outro usuarios Causas Long running queries por comandos SQL mal qualificados Pode ser falta de indice, falta de estatistica, excesso de indices Alto tempo de processamento entre os fethcs da query Incorrect rollback segment setup Podemos aumentar o numero de segmentos de rollback ou seu tamanho

NET 8 TCP/IP delay So para unix Oracle error ORA-1578 data block corruption S detectado quando a informaao daquele block necessria Se for de dados, devemos fazer restore and recovery da tablespace Se for de indice, podemos reconstrir o indice Backup no detecta Para detectar - BRBACKUP verify | -w only_dbv | use_dbv - SAPDBA > k: DB Check / Verification > DB Verificdation using DB Verify

__________________________________________________________________________________________________________ 127 Apostila Mdulo Basis

Oracle error ORA-600 internal database error Anotar o codigo emitido em seguida Consultar este codigo na OSS Se no achar, abrir chamado Verificar ainda ALERT<sid>.LOG e SM21 (Syslog) Pode ainda existir um state dump nos tracefiles - SAPTRACE/BACKGROUND - SAPTRACE/USERTRACE Poor performance of the Cost-Based Optmizer Atualizar estatisticas constantemente Para verificar se elas so recentes - DB14 > Optmizer

Apostila III
Captulo 1 Preface
Nothing to do

__________________________________________________________________________________________________________ 128 Apostila Mdulo Basis

Captulo 2 R/3 Workload Analysis


Workload Analysis Objetivos - Maximizar throughput - Minimizar response-time Estrategia - Encontrar bottlenecks - Encontrar programas com problemas na implementaao Problemas tipicos - Problemas system wide (erro no sizing da maquina) ou more limited (comandos de acesso ao database) Encaminhamento: analisar medias de tempo de resposta - Problemas em transacoes especificas Encaminhamento: analisar response time de dialogos nas transacoes individuais Reponsabilidades - Basis e DBA -> distribuir carga para evitar gargalos Otimizar System Parameters (memoria, database, o.s. e networking) Otimizar database disk layout Otimizar workload distribution (numero de WP, logon groups) Verificar hardware sizing - ABAPers, DBA e Applications -> otimizar programas Aplicar notas e correcoes do OSS Otimizar a customizacao Otimizar codigo ABAP dos desenvolvimentos feitos no cliente Criacao, alteracao e drop de indices Definir table buffering Dialog Step Wait Time

__________________________________________________________________________________________________________ 129 Apostila Mdulo Basis

Tempo que o request que veio do presentation server fica na Request Queue Normalmente o tempo necessario para vagar um WP Roll-in Time - Inicio efetivo da transacao - Tempo que leva para transferir os dados do USER CONTEXT (logon atributes, authorizations) do roll buffer, extended memory or roll file para o WP - Transferencia pode ser feita por copy o mapping Load Time - Tempo necessario para carregar e gerar objetos como programa ABAP, CUA e telas Database time - Tempo entre a chamado ao banco e o retorno da resposta - Realizada pelo database interface - Conta o tempo de rede gasto na solicitacao Access to SAP Buffers - Antes de emitir chamada ao banco, o SAP pesquisa nos seus buffers pela informacao - Se no a encontra, solicita ao database que encontre os dados - Esta atividade tambem feita pelo database interface Response Time - Quando a transacao completada, o dispatcher notificado e a tela enviada ao presentation server Roll Out Time - Depois que a transacao termina, o user context rolled out do WP CPU Time - Tempo que um WP teve controle ativo da CPU Response Time - Tempo decorrido entre o transacao chegar na Request Queue e o envio da tela ao usuario - No conta o tempo de rede antes da chegada nem depois do envio

Workload Statistics para RFC Quando ocorre chamada RFC, o User Context Rolled Out e, quando a chamade se completa, o User Context Rolled in novamente Tempos envolvidos - Roll-out time - Roll wait time -> tempo do wait da chamada RFC - Roll-in time Roadmap para Analise Inicial Usado quando o problema afeta todas as transacoes 1. Wait Time < 10% do Response Time 2. Response time do Main Menu < 100 ms 3. Media de roll-in time < 20 ms 4. Media de roll-out time < 20 ms 5. Media de Load time < 10% Response Time 6. e < 50 ms 7. Media de DB request time < 40% de (Response Time Wait Time) 8. Media CPU time < 40% de (Response Time Wait Time) 9. Media CPU time no muito menor Processing Time Possiveis causas - Large Roll Time -> CPU ou Configuracao de Memoria do R/3 - Large Load Time -> Program Buffer, CUA Buffer ou Screen Buffer pequenos

__________________________________________________________________________________________________________ 130 Apostila Mdulo Basis

Large CPU Time -> ABAP expensives Proc Time >> CPU Time -> CPU, Rede ou communication problems -> Proc Time > CPU Time * 2 Large DB Request Time -> CPU / Memorio do DB Server -> problemas na rede -> comando SQL expensive -> falta de indices ou estatisticas -> locks no DB

Monitoring de BASIS Comecar com ST03 (Workload Monitor) Em caso de - DB request time > 40% de (Response Time Wait Time) Analisar DB - Processing Time > 2 * CPU Time Analisar hardware - Load time > 50 ms Configuracao de memoria (program buffer, etc) Roll-in ou Roll-out > 20 ms Configuracao de memoria (extended memory ou roll buffer) Usar SM50 / SM66 -> Work Process Overview ST06 -> Operating System Monitor ST04 -> Database Monitor ST02 -> Setup Buffers

Monitoring de R/3 Applications Comecar com ST03 (Workload Monitor) e chamar Transaction Profile Em caso de - Programas com CPU Time > 40 % (Response Time Wait Time) ABAP Trace - Programas com DB Time > 40 % (Response Time Wait Time) Analise detalhada dos Comando SQL Usar - STAT -> Statistical Record - ST05 -> SQL Trace - ST07 / ST14 -> Application Monitor - SE30 -> ABAP Trace

__________________________________________________________________________________________________________ 131 Apostila Mdulo Basis

Captulo 3 Performance Analysis Monitor


Basis Transacoes SM50 ou SM66 (Work Process Overview) WP em status de Running Action -> Dir. Read, Seq. Read, Insert, Update, Delete, Commit - Verificar problemas no database WP em status de Stopped Reason -> PRIV - Verificar Memory Configuration Reason -> CPIC - Verificar CPIC connections (All Work Processes Blocked in Destination System) Transacao ST02 (Operation System Monitor) Informacoes importantes Media de CPU (1 Min, 5 Min e 15 Min) Utilizacao de CPU momentanea % disk utilization O.S. Parameters Indicativos de gargalo de CPU Idle CPU < 10% Load Average: N processes waiting in front of the CPU Indicativos de gargalo de Memoria Crescimento do numero de Page Ins Outras informacoes relevantes TOP CPU PROCESS TUNE BUFFERS - Hit Ratio > 95 % - Roll Area Max Used < In Memory (senao entra no Swap File) - Extended Memory Max Used = In Memory (entrou em Heap Memory)

__________________________________________________________________________________________________________ 132 Apostila Mdulo Basis

Captulo 4 Performance Analysis Monitor


R/3 Memory Local Work Process Memory (individual para cada WP) - Usada para Executaveis Dados e Stack Buffer para database transfer Local Roll area Local Paging area Shared Memory (compartilhada por todos WP) - R/3 Buffer Usada para objetos globais como - Programas - tabelas de customizacao - Extended Memory Contem o User Context - Variaveis - Listas - Tabelas Internas - Heap Memory Memoria alocada quando se esgota a Extended Memory - Roll Buffer Contem os pointers do User Context Contem pointers para os programas usados pelo usuario Autorizacoes Report lists Pode ser paginada no Roll File - R/3 Paging Buffer Contem objetos ABAP (no programas) Context Independent Objects Application Data para comandos especificos do ABAP - EXTRACT - IMPORT TO MEMORY __________________________________________________________________________________________________________ 133 Apostila Mdulo Basis

EXPORT FROM MEMORY CALL TRANSACTION Pode ser paginada no Paging File

Alocacao de Memoria Roll - Quanto menos dados para fazer roll, mais rapido o processo de ativaao, desativacao da transacao - No Roll so existem as informacoes basicas, os ponteiros para os dados que estao na Extended Memory - Roll Area = Roll Buffer + Roll File Paging - Paging Area = Paging Buffer + Paging File R/3 usa mapping ao inves de Copying de memoria para Acesso rpido a tabelas internas e listas via pointers Rapida troca de User Context Uso de hardware com grande quantidade de memoria Diminuir carga de CPU e disco Porem isto precisa de memoria RAM suficiente

Sequencia de Alocacao de Memoria para Dialog WP Inicialmemte se aloca para o usuario uma porcao da roll area - Esta porcao definida no ztta/roll_first - Se definida como 1 significa alocacao minima pelo R/3 (+ ou 100k) - A area total da Roll Area ztta/roll_area A seguir aloca dados na Extended Memory - Extended Memory por usuario pode variar de 1Mb a 100Mb - Tamanho definido por ztta/roll_extension - Ele evita que 1 usuario esgote a Extended Area Se o precisa de mais memoria do que o roll_extension ou acabou a Extended Memory - Usa o resto da Roll Area Se ainda precisa de mais memoria, aloca Heap Memory - O WP marcado como PRIV e vai ser reconstruido ao final desta transacao - Isto porque a Heap Memory alocada para um WP s pode ser endereada por este WP - Para garantir que isto ocorra, o WP fica preso a esta transacao ate seu fim - Isto pode prejudicar o desempenho dos outros usuarios do sistema, que vai trabalhar com 1 WP a menos durante a execucao desta transacao - O limite para alocacao de Heap Memory dado pelo parametro abap/heap_area_dia Sequencia de Alocacao de Memoria para Non-Dialog WP Aloca para o usuario uma porcao da roll area ztta/roll_first A seguir aloca dados na em/address_space_mb Se precisar de mais memoria, aloca usa o resto da Roll Area ztta/roll_area Se precisar de mais memoria, aloca heap abap/heap_area_nondia Liberacao da Heap Memory O R/3 libera a Heap Memory depois do seu uso mas o Sistema Operacional no libera area de swap que por acaso tenha alocado Para garantir esta liberacao, quando se passa do valor abap/heaplimit o R/3 marca o WP como sendo para restart automatico Desta forma, o S.O. libera memoria e salva espao no swap file

__________________________________________________________________________________________________________ 134 Apostila Mdulo Basis

Outros parametros relativos a memoria rdisp/roll_SHM -> tamanho rdisp/roll_MAXFX -> tamanho em/initial_size_MB -> tamanho abap/heap_area_nondia -> tamanho abap/heap_area_total -> tamanho WP

do roll buffer da soma do roll buffer + roll file fixo da extended memory da heap area para non dialog WP maximo da heap memory alocada para todos os

Analysis Roadmap Se houver problemas visiveis na ST02 - Muito R/3 buffer swap Aumetar buffers do R/3 R/3 extended memory full -> Max Used > 80% In Memory Analise detalhada da memoria com MODE LIST Se algum usuario tiver alto consumo de memoria, identificar e analizar a transacao e o programa Se houver memoria RAM disponivel, aumentar Extended Memory ztta/roll_first > 1024 colocar 1 Roll Buffer esta cheio -> Roll Memory Max Used > 80% In memory Aumentar rdisp/roll_SHM

Zero Administration Memory Management Simplifica gerenciamento de memoria do R/3 Aloca dinamicamente Extended Memory - Permite Extended Memory crescer at em/max_size_MB ou at esgotar o Swap do S.O. Usa um novo parametro o PHYS_MEMSIZE - Proporciona base para os outros parametros de gerenciamento de memoria - Torna desnecessario configurar em/initial_size_MB e abap/heap_area_total Extended Memory no NT Cota do usuario - Criado parametro em/adress_space_MB para ser usado no lugar do ztta/roll_extension ele determina valor da quota do usuario na Extended Memory - O valor default de ztta/roll_extension 2 Gb, o que torna parametro sem efeito Incrementos da Extended Memory - Na ativacao, a Extended Memory alocada no valor do em/initial_size_MB - A quantidade de Extended Memory pode pode ser incrementada at em/max_size_MB, desde que aja memoria virtual para isto - Provavelmente relacionado ao PHYS_MEMSIZE

__________________________________________________________________________________________________________ 135 Apostila Mdulo Basis

Captulo 5 Hardware Capacity Verification


O que Hardware Bottleneck Para o usuario - Tempo de resposta ruim Para o sistema - CPU perto de 100% - Muitos processos aguardando por CPU (Load Average) - Paginacao alta - Alto tempo de acesso a disco - Alto tempo de resposta da rede Razoes Hardware Sizing errado da maquina Distribuicao incorreta da carga Comandos SQL muito gastoes Disk layout incorreto ou discos lentos Topologia da rede incorreta Analysis Roadmap para CPU CPU mais de 80% ocupada na ST06 Existem mais servidores Redistribua a carga No existem mais servidores Chamar ST06 Top Processs CPU e verificar que consome CPU Processos do R/3 Verificar com SM50 ou SM66 Analisar a transacao ou o report Processos do Banco Monitorar DB via ST04 Analizar comandos SQL Processos Externo Parar o processo ou Redistribuir processo para outra maquina

Hardware Analysis Roadmap para Memoria Paginando mais de 20% da memoria RAM por hora na ST06 Existe memoria livre em outros servidores No existe memoria liver em outros servidores - File System Cache > 10% RAM __________________________________________________________________________________________________________ 136 Apostila Mdulo Basis

Diminuit File System Cache Chamar ST02 Setup/Tune Buffer e entrar em Mode List Encontrar programas que consomem muita memoria Analisar estas transacoes ou relatorios

Response Time Componentes - Wait Time Database Request Time Roll Time Load Time Enqueue Time Processing Time Processing Time = Response Time Wait Time DB Request Time Roll Time Load Time Enqueue Time -

Hardware -

Analysis Roadmap para Workload Wait Time > 10% Response Time na ST06 Significa que os processos estao rodando lentamente, bloqueando o WP Indica um problema geral de performance Pesquisar em Tempo alto de acesso ao DB (+ 40% do response time wait time) Database analysis Tempo alto de processamento (+ de 100% do CPU Time) Hardware bottleneck Tempo alto de Load (+ de 50ms) Memory configuration (Program buffer) Talvez tirando os programas da memoria e os regerando na carga Tempo alto de Roll in / Roll out (+ de 20 ms) Memory configuration (Extended Memory ou Roll buffer)

Regras gerais para configuracao de memoria Memoria para o DataBase (1 por sistema) - 20% do total de memoria de todos os servidores do sistema Memoria para Buffer R/3 (1 por sistema) - De 200 Mb a 500 Mb Memoria para Work Process - 7,5 Mb por WP Extended Memory - 5 a 10 Mb por usuario Otimizacao de memoria Se temos 100 Mb de RAM, o used memory no deve passar de 150 Mb Swap Space deve ser de ao menos 2Gb e 3 vezes o tamanho da memoria RAM Workload - Depende dos modulos e do numero de usuarios Regras gerais para configuracao de CPU O DB deve usar de 10% a 30% da CPU do sistema Update WP deve usar de 10% a 20% da CPU do sistema

__________________________________________________________________________________________________________ 137 Apostila Mdulo Basis

Captulo 6 Expensive SQL Statements


Consequencias database busy cpu alta WP bloqueados Muitos blocos removidos do DB Buffer Como detectar Em programas com DB Request Time muito grande em relacao ao Response Time SQL statements com muitos buffers gets Para cada comando detectar - Tabela - Clausula WHERE - Indices usados - Relat ou trans do comando Formas de encontrar ST03 > transaction Profile SM50 / SM66 ST04 > Detail Menu > SQL Request programa) ST05 SE12 > Utilities > Where Used transacao ou programa tabela e programa ou transacao tabela e indices via explain (mas sem tabela e indices via explain para achar programa que usa tabela

Formas de Encontrar II No Transaction Profile - Analisar quem tem tempo de Response Time alto e ver onde demora (DB por exemplo) No Work Process Overview - Ver se um relatorio fica rodando muito tempo e que tabelas ele acessa - Continuar pesquisa pela ST04 (database process monitor) para ver comando SQL - E pela DB01 para ver exclusive Locks ST04 (Database Monitor: Oracle Sessions) - Mostra ainda as sessoes Oracle que estao ativas por Oracle Process com o comando SQL sendo executado - Pelo PID posso relacionar com SM50 e saber quem DB01 (Exclusive Lock Waits) - Permite verificar lock holder e os waiters - Permite cancelar transacao que esta segurando o lock (ela vai sofrer rollback) Monitorando Buffer Gets / Disk Reads Via ST04 > Detail Analisys Menu > SQL Requests Classificar por Buffer Gets e verificar numero de Bufgets/Record e Total Execution Se estiver alto, tentar fazer tunning

__________________________________________________________________________________________________________ 138 Apostila Mdulo Basis

Olhar comando SQL e tentar indentificar de onde ABAP tudo em letras maiusculas e entre aspas Ferramentas e selecao das tabelas de basis no tem aspas Letras minusculas so comando recursivos do Oracle

Traces -

Via ST05 S um por instance por vez Tamanho maximo do trace definido em rtrc/max_diskspace (maximo 16Mb) Com esta tecnica da para detectar problemas de rede entre o Appl Server e o Db Mostra FETCHs com o numero de registros tranferidos FETCH a leitura de dados dos blocos j na memoria

WHERE USED List Via SE11 / SE12 Se procuramos que programa usa uma tabela, podemos ter muitos programas como resposta - Neste caso pode no ser muito util RoadMap SM50 (pega Tabela e Relat ou Trans) ST04 (no Oracle Session verifica comando) Explain ST03 Transaction Profile (Pega Transacao com alto Wait Time) ST05 (faz trace) Explain ST04 (Shared SQL Area verifica quem tem muitos BufferGets) Explain

Tipos de Expensive SQL Comands Le muitos blocos e devolve muitos registros - Processa alto numero de registros - Caminho de acesso esta adequado - Buffer get per record < 5 - Menos de 100 ms por FETCH (no Trace) - Podemos tentar modificar o codigo ABAP para diminuir o numero de regs tranferidos Le muitos blocos e devolve poucos registros - Estrategia de acesso inadequada - Buffer gets per record > 5 - Mais de 500 ms no FETCH - Podemos criar um indice - Podemos atualizar estatisticas - Podemos reescrever comando ABAP (talvez tornando a clausula WHERE menos complexa) - Podem ser comando com pooly qualified commands, ou seja Comandos que selecionam dados que no so indice Comandos que usam indices incorretos Comandos que usam indice mas o full scan seria mais eficiente __________________________________________________________________________________________________________ 139 Apostila Mdulo Basis

Comandos que usam indice, mas este indice esta especificado incorretamente

Uso de indices nos comandos SQL Saida do Explain - Access Method Table Full Acess Index Range Scan Index Unique Scan Concatenations Sort Index Used Join Method Nested Loop Hash Join

quando existe OR ou IN diz qual o indice que vai usar

Regras para criar novos indices Usar em campos seletivos - se precisar ler + de 5% da tabela, otimizador usa Full Scan Poucos campos no indice (no mais de 5) - Alteracao de dado que faz parte do indice exige esforo computacional - Aumenta espaco do indice - Se os campos indice forem s de leitura, pode colocar mais de 5 - Dicionario ABAP fixa este limite em 16 Colocar o campo mais seletivo no comeco do indice Evitar definir indices para tabelas de dados transacionais No criar indices para as tabelas de BASIS - DD* - D010* - NAST Antes de criar um indice, veja se no existe nenhum indice faltando no R/3 (DB02) Antes de criar um indice, verifique as notas do OSS Optimizer Pode-se encontrar o Last Statistics Date no Explain Plan Atualizar estatisticas 1 vez por semana DB20 atualiza estatisticas para 1 tabela especifica Estatisticas podem estar velhar ou terem sido obtidas com um baixo nivel de accuracy Estatisticas podem falhar se os dados no estao uniformemente distribuidos Tips e Trick podem ajudar a desenvolver programas ABAP eficientes Podemos ainda comparar o tempo de resposta de 2 comando SQL (escrevemos os 2 e a transacao executa e d o tempo de cada um)

Tunning Roadmap Quando analisarmos comandos SQL - Tranfere muitos registros ? Otimizar o codigo ABAP - Usar o Explain Se esta usando o melhor indice - Usar metodos especiais para tunning do database se no esta usando o melhor indice __________________________________________________________________________________________________________ 140 Apostila Mdulo Basis

se as estatisticas estao atualizadas atualizar estatisticas A clausula WHERE muito complexa reescrever a clausula WHERE Existem missing index ? Recriar os indices Devemos criar novos indices ? Analisar e criar se necessario

__________________________________________________________________________________________________________ 141 Apostila Mdulo Basis

Captulo 7 Table Buffering


Buffers do R/3 Repository Buffers Program Buffer Table Buffer Roll and Paging Buffer GUI Buffer Calendar Buffer Table Buffering Tipos - Full - Generic -> s para o primeiro campo chave da tabela - Single Record (partial buffering) - H ainda um instllation-dependent buffering, onde se bufferiza a tabela dependendo da instalacao, esta uma decisao do programa Definido via SE13 (Technical Settings) Buffer Sincronization Necessario quando existe mais de uma instancia e ocorrem updates na buffer tables Buffer outras instancias no ocorrem imediatamente - Durante um certo tempo as outras instancias leem dados velhos Tabela DDLOG informa quais tabelas foram alteradas e precisam ser recarregadas Parametros correlatos - rdisp/bufrefmod sendon,exeauto -> se h mais de 1 instancia senoff,exeauto -> se h so uma instancia - rdisp/bufreftime tempo de refresh Granulacao da invalidacao Full -> toda a tabela Generic -> todas as chaves iguais Single record -> so aquele registro Cuidado: o texto fala que isto valido em WORK AREA MODE Pode existir outro tipo de MODE ??? Bypass do Buffering SELECT ... BYPASS BUFFER SELECT DISTINCT SELECT FOR UPDATE Funcoes de COUNT, MIN, MAX, SUM, AVG SELECT de view que no sejam projection view WHERE que contenha IS NULL

__________________________________________________________________________________________________________ 142 Apostila Mdulo Basis

ORDER BY que no da Primary Key Comandos SQL nativos O DBInterface no faz estas funcoes, por isto solicita ao DB, bypassando o buffer O DBInterface no faz pesquisas por indices secundrios Para Single Record (Partial Buffer) Tem que usar o comando SELECT SINGLE Se usar SELECT * FROM -> no usa buffer Para Generic Buffer Se no especificar a chave generica -> no usa buffer

Criterios para Buffering de Tabelas Tabelas menores que 1 MB - Somente bufferizar tabelas com mais de 10 MB em circunstancias especiais Pouco alteradas (menos de 1% dos acessos para alteracao) Possam estar defasadas em relacao a outras instances por 1 ou 2 minutos Somente bufferizar novas tabelas se houver espaco no Table Buffers Transacion Data nunca bufferizada Master Data normalmente no bufferizada Customizing Data normalmente bufferizada Buffer Strategy Condition Tables Tabelas de preo, descricao de materiais, parter,.. - Axxx, Bxxx, Cxxx, Dxxx, KOTExxx, KOTFxxx, KOTGxxx - xxx at 499 tabela SAP, manter como fornecida - acima de 500 do cliente, verificar e bufferizar se necessario outras recomendacoes para bufferizar - mais de 300 sequential reads/dia, menos de 1% de alteracao, menos de 1 Mb - mais de 1000 sequential reads/dia, menos de 0,1% de alteracao, de 1 a 5 Mb Tarefas a realizar O que procurar - Verificar tabelas que no estao bufferizadas, mas deveriam estar - Verificar tabelas que estao bufferizadas, mas no deveriam estar Verificar tabelas via ST10 (Table Call Statistics) - Roadmap Tabelas bufferizadas com grande numero de Invalidations Tabelas bufferizadas com grande Buffer Size - So aparece o tamanho para tabelas bufferizadas - Se no estao podemos descobri-lo na DB05 (Analisys of Table according Index) Tabelas bufferizadas com grande numero de Rows Affect no Database Tabelas no bufferizadas com grande Total ABAP Processor Request

Problemas relacionados a Table Buffering Podem aparacer programas com alto tempo de resposta devido ao DB Verificar na ST03 > Transaction Profile - Detectar programas com DB Reponse Time > 40% do (Response Time Wait Time) - Entrar na STAT para estes programas / transacoes e verificar se ocorreram buffer reloads para ele > Clicar em DB e verificar mensagem TABLES WERE SAVED IN THE TABLEBUFFER Se houver muitos statistical records assim, indica problemas __________________________________________________________________________________________________________ 143 Apostila Mdulo Basis

Entrar na ST10 para verificar a tabela

ATP Server Servidor de Table Buffer das tabelas transacionais mais usadas em alguns modulos - RESB, VBBE -> modulo PP, SD, MM Servidores comunicam-se via gateway para efetuar alteracao de compra e previsao de materias Para customizar - memoria em/initial_size_MB > 256 rdisp/roll_SHM > 4000 - RFC rdisp/tm_max_no > 500 rdisp/max_comm_entries > 500 rdisp/max_conn > 500 - atp server rdisp/atp_server = <nome> instance profile - atp_server deve residir no enqueue server - precisa de + de 5 Dialog WP rdisp/obj/buffersize = 20000 (sem atp 4096K) rdisp/obj/max_objetcs = 20000 (sem atp 5000) - como usa 2 entradas d para 10000 objetos Monitoracao - Buffers -> Qualidade, tamanho e numero de acesso - Enqueue -> ver se ficou algo preso a toa -> mais de 1 dia

__________________________________________________________________________________________________________ 144 Apostila Mdulo Basis

Captulo 8 SQL Chache Analysis


Nothing do to

Captulo 9 Introduction to Shared SQL Area


Expensive SELECT Statements Comandos de usuario (USER CALLS) que acessam mais de 20 blocos no buffer (reads) so comandos que devem ser analizados - Relacao de 1 : 20 Relacao entre Physical Read e Reads chamada Hit Ratio - Deve ser superior a 94 % Para este numero ser aceitavel, deve-se considerar que no haja Expensive SQL Commands no sistema, pois eles podem fazer este numero subir Como base, podemos considerar 94% desde que a relacao User Call por Reads no ultrapassem 1 para 20 Verificar via ST04 > Detailed Analisys Menu > SQL Request

__________________________________________________________________________________________________________ 145 Apostila Mdulo Basis

Captulo 10 Analysing SQL Statements


Tipos de Expensive SQL Statements Many buffer gets and only a few records per executions - WHERE mal especificado - Falta de indice - Indice mal especificado - Indice onde no deveria existir indice Many buffer gets and many records per executions - Verificar programa ABAP - Verificar processo de negocio - Melhorar a selecao feita pelo usuario Analise via ST04 Classificar por Buffer Gets - Prejudicial a performance do sistema como um todo Classificar por Disk Reads - Prejudica performance de acesso aos discos Classificar por Record - Prejudica performance do DB e do Appl Server Mais Analise via ST04 Muitos Buffer Gets - Procurar por comandos que representem + de 5% do total de Buffer Gets - Verificar comandos que tem uma taxa maior de 1:20 de User Call por Reads Muitos Buffer Gets per Execution - Devem tem poucas execucoes - No devem ser executados em momentos de pico Muitos Buffer Gets per Record - No devem ter um indice apropriado Muitos Records per Execution - Logica inadequada (talvez comando CHECK ao inves de WHERE) Muitos Disk Reads - Verificar comandos com mais de 2% do total de Phisycal Reads - Pode ocorrer por Tabelas muito grandes Baixo numero de linhas por blocks (reorganizar ?) Dados paginados para fora do buffer Muito uso de Full Scan nesta tabela Execution Plan Custo representa o numero estimado de buffers a serem lidos ou de acessos ao disco Valor 0 significa que no existe estatistica Tabelas com menos de 50 Mb realizar estatisticas com COMPUTE Tabelas com mais de 50 Mb realizar estatisticas com ESTIMATEDED 10% ou 50 Mb

__________________________________________________________________________________________________________ 146 Apostila Mdulo Basis

Captulo 11 Update Statistics


Update Optmizer Statistics Necessria para o Optimizer encontrar o melhor caminho de acesso Feita em 2 fase - SAPDBA checkopt PSAP% - SAPDBA analyze DBSTATC0 Ao meno 1 vez por semana Pode ser feita - COMPUTE - ESTIMATED - No Statistics, quando Tabela muda muito mais economico usar o Rule Based Optmizer Isto usado em tabelas Pool, Cluster e SAP Update Two Phase Strategy SAPDBA checkopt PSAP% - Pode ser schedulado via DB13 (Check Optmizer Statistics) - Verifica necessidade de atualizacao das estatisticas - Marca necessidades na tabela DBSTATC ativando o flag TODO - Tabela contem tambem o metodo de analise (COMPUTE ou ESTIMATED e sua porcentagem) - Damos manutencao na DBSTATC via DB21 SAPDBA analyze DBSTATC0 - Pode ser schedulado via DB13 (Create New Optmizer/Space Statistics) - Usa comando ANALYSE do Oracle e atualiza estatisticas Transacao DB02 - Mostra um resumo de como estao as estatisticas - Quantidade de tabelas com mais de 1 semana sem atualizar estatisticas Transacao DB19 - Atualiza estatisticas para uma tabela especifica Transacao ST03 > Detailed Analisys Menu > SQL Request - No Explain, com duplo clique no nome da tabela, mostra resumo das estatisticas

__________________________________________________________________________________________________________ 147 Apostila Mdulo Basis

Captulo 12 Identify Coding


Roadmap para encontrar Comandos SQL em programas Identificar o comando (e a tabela) Pesquisar WHERE USED LIST (SE11) Se achar - Encontrar nome do desenvolvedor (SE38 > Display > Goto > Attributes) - Avisar responsaveis (se for SAP, avisar via OSS) Se no achar (codigo gerado Runtime ou Native SQL ou Where Internal Table Empty) - Usar SM66 para encontrar programas e processos que o utilizem Pode-se especificar Select Process e especificar uma tabela Somente as transacoes ou relatorios que acessam esta tabela aparecerao - Usar ST04 > Detailed Menu > Oracle Session Manager Mostra os Shadow Process do Oracle e o PID do comando sendo executado Mostra ainda o comando que esta sendo executado Se for um comando expensive, pelo PID dele e pela SM66, podemos identificar o programa/transaca/usuario Diferencas entre o ABAP OPEN SQP e o Comando SQL emitido Comando IN ITAB - Comando WHERE xxx IN I1 - -> I1 uma tabela que controi a clausula Where Comando FOR ALL ENTRIES - Comando FOR ALL ENTRIES IN ITAB - > toda as entradas da tabela ITAB serao checadas - -> isto ocasiona um SELECT com inumeras clausulas OR seguidas Projection Views - Se o SELECT no *, pode-se tratar de uma R/3 Projection No projection Oracle, e sim do R/3 - No possivel encontrar o programa com o WHERE USED, porque ele usa a View - Para encontrar, usar WHERE USED de Table em View - Depois pesquisar as Views Relatorio RSSTATUS - Lista a Application Area, Table, Transaction, Program e Data Elements - Informamos um deste e ele nos lista os outros - Enviamos a listagem para o desenvolvimento para pesquisa

__________________________________________________________________________________________________________ 148 Apostila Mdulo Basis

Captulo 13 Workflow and Reporting


Reponsabilidades System Administrator reponsavel pela performance - Analisa queries - Sugere indices Usurios so os reponsaveis pelas informacoes - Visao funcional Desenvolvedores trabalham olhando os dois ambientes - Desenham e codificam - Implementarm indices Documentos do Workflow implementados pela SAP Executive Summary of Expensive Commands - Documentacao feita pelo BASIS System Administration Change Request - Solicitacao feita pelo BASIS Development or Application Departament Feedback - Devolve a CR com a alteracao necessaria - BASIS pode monitorar a seguir Information Required from User - BASIS envia documento questionando usuario Programa pode ser rodado em batch ? Usuario pode melhorar criterio de selecao para agilizar o processo ? Se for comado da SAP Pesquisa OSS (usando o nome da tabela, o programa, a palavra performance ou indice) Se no encontrou, abre OSS para SAP Cuidado - Transacoes SART e SE16 so browser, dependem do input do usuario e podem demorar - Se o comando veio de um matchcode

__________________________________________________________________________________________________________ 149 Apostila Mdulo Basis

Captulo 14 Index Utilization


Indices Primario (sempre nico), secundario e secundario de chave unica Se nenhum dos campos indice forem especificados num WHERE, necessario FULL SCAN B*Tree do Oracle tem normalmente at 4 niveis Leaf Blocos so o ultimo nivel da arvore Index Unique Scan - Possivel com a chave nica completa - Acessa 4 blocos para recuperar um registro Index Range Scan - Quando nem todos os campos da unique key estao especificados - Em indices secundarios no unicos, tambem usado este metodo Full Table Scan - Usado quando nenhum dos campos colocados no WHERE o primeiro campo da chave - Usa uma pequena memoria para pesquisa, no mantendo todos os blocos na memoria Unselective Index Range Scan - um Index Range Scan - Ocore quando campos do WHERE so pouco seletivos (CLIENT) ou fazem parte do DATA - Os dados lidos ficam no buffer (pode causar grande swap de blocos sdo buffer) - Se uma grande parte do indice for lido, pode ser melhor o Full Scan - O Cost Based Optmizer no escolhe acesso por indice se ele acha que isto vai acontecer, porem as estatisticas podem estar desatualizadas Processing not Fully Qualified Indexes - Quando faltam campos no meio da chave para completar o indice - Neste caso, os campos aps a interrupcao so usados apenas para filtro - Resolve tudo no indice, mas tem que ler varias linhas para processar o request Outros Execution Plan - Concatenation -> usado quando temos IN ou OR, acessa o indice varias vezes - Nested Loop -> Join de tabelas, da menor para a maior (Views p.e.)

__________________________________________________________________________________________________________ 150 Apostila Mdulo Basis

Captulo 15 Criacao de Indices


Criacao de Indices Antes de criar, verificar se no esta faltando (DB02 > Missing Index) Desaparecimento de indice pode ocorrer na reorganizacao (todos indices so dropped) Deve existir no dicionario e no DB, senao acusa falta - Indice deve existir, estar ativo (activated) e ter sido gerado No Dicionario ABAP pode trazer confusao, mas no afeta performance Regras para criacao de indices Usar campos seletivos Usar poucos campos Usar campos seletivos no comeco do indice No criar indices pouco seletivos Criar poucos indices No criar um indice que possa ser usado equivocadamente No alterar indices da SAP (a menos que ela pea) Analise de Seletividade Via DB05 ou SQLPlus - Estas analises so custosas para o sistema Analisa o numero de registro retornado para cada chave (combinacao) O bom quando muitas chaves retorna muito pouco registros Ordem preferencial de Otimizacao Verificar Missing Index Atualizar estatisticas Mudar o codigo de programas ABAP de forma a utilizar indices existentes Mudar o indice, de forma a atender as queries normais e mais as expensives Criar um novo indice para satisfazer a query

__________________________________________________________________________________________________________ 151 Apostila Mdulo Basis

Captulo 16 Similar Statements


Comandos que Usam o mesmo Access Path Tem a mesma clausula WHERE ou clausulas muito parecidas Possuem diferentes entradas na SQL Shared Area Podem ser melhorados atraves de um tunning Individualmente no so expensive, mas em conjunto podem ser por comando com / Execution / Record deve possuir as mesmas caracteristicas

Para encontrar Na Shared SQL Area procurar - mesmo numero de Buffer Gets - mesmo numero de Buffer Gets Porque ? - Se o comando o mesmo, ele

Porque acontece ? Comandos s so iguais se tem a mesma string String diferente pode acontecer se - Existem numero diferentes de IN - Existem numero diferentes de OR - Existem diferentes fields no WHERE - So escritos em minusculas e maiusculas Solucao Trocar codigo ABAP Usar FOR ALL ENTRIES ao inves de IN Otimizar o comando (como nos no similares)

__________________________________________________________________________________________________________ 152 Apostila Mdulo Basis

Captulo 17 View Processing


Tipos de Views Projection JOIN View -> reduz numero de campos a serem vistos pelo programa -> conjugam dados espalhados por diversas tabelas

Processamento de Views Nested Loop - Determinado pelo Optimizer - Escolhe tabela que supostamente retornar menor numero de linhas para ser primaria - A partir desta acessar as outras Sort Merge Join - Dados das tabelas so lidos e feito Sort de acordo com as condicoes do Join - Depois feito o merge - S bom se vai selecionar muitas linhas das tabelas

Captulo 18 Polled and Clustered Table


Polled and Clustered Table Varias tabelas logicas armazenadas numa tabela fisica No podem receber novos indices No podem ser processadas por comandos de SQL Nativo Polled - Chaves primarias diferentes armazenas num campo chamado VARKEY - Dados armazenado no VARDATA - Campo TABNAME armazena o nome da Polled Table - Definidas no Dicionario ABAP com tipo POLLED TABLE - O WHERE tem LIKE no VARKEY j que a chave parcial - Normalmente tem muitas tabelas dentro do Poll - No d para ver qual a Polled Table sendo acessada ns Shared SQL Area - Polled Table usam metodo de acesso definido pelo Rule Bases Optmizer - Analise de problemas Via ST10 (para descobrir qual tabela tem muitos dados sendo lidos) - Verificar qual a Poll Table aparece com muitos fetchs - Tabelas Polled aparecem com o pool name na frente do nome da tabela - Usar WHERE USED LIST do dicionario ABAP Via SM66 (para descobrir qual tabela esta sendo acessada ineficientemente) - No da para usar ST10 (s totais de acesso) nem Oracle Session (porque o comando sempre o mesmo - Verificar programa pela SM66 - Pelo Editor ABAP verificar a tabela Clustered - Chave primarias iguais e dados logicamente dependentes entre si - Campo VARDATA tem os dados de cada tabela - Normalmente h poucas tabelas dentro do Cluster - Podemos especificar um numero diferente de campos na chave em cada SELECT

__________________________________________________________________________________________________________ 153 Apostila Mdulo Basis

Isto ajuda a achar o programa Clustered Table usam metodo de acesso definido pelo Rule Based Optmizer Analise de problemas Via ST10 (para descobrir qual tabela tem muitos dados sendo lidos) - Verificar qual a Poll Table aparece com muitos fetchs - Tabelas Clustered aparecem com o pool name na frente do nome da tabela - Usar WHERE USED LIST do dicionario ABAP Via SM66 (para descobrir qual tabela esta sendo acessada ineficientemente) - Verificar programas pela SM66 - Pelo Editor ABAP verificar a tabela Via Repositorio ABAP (para descobrir tabelas sendo acessada ineficientemente) - Listar tabelas num Cluster - Listar programas que acessam as tabelas - Editar programas e validar codigo - Pelo Editor ABAP verificar a tabela

Erro comum no acesso a Clustered Table Selecionar apenas campos do DATA e no do KEY Ordem preferencial de Otimizacao Para Pooled Tables - Especificar mais campos chaves no ABAP - Bufferizar a Poll Table se possivel - Tirar a Table do Pool (torna-la transparente e com indice) Para Clustered Tables - Especificar somente campos chaves no ABAP - Investigar tabelas alternativas que contenham o mesmo dado - Tirar a tabela do Cluster

__________________________________________________________________________________________________________ 154 Apostila Mdulo Basis

Captulo 19 Apendix
Problemas e solucoes Expensive Statementes and SAP Table Buffers - Se ocorrer verificar se tabelas estao bufferizadas corretamente No so muito alteradas Estao Single Key mas so lidas sequencialmente Tabela pequena suficiente para estar no buffer - Solucoes Determinar a buferizacao apropriada Aumentar SAP Table Buffer ORA-1555 Shapshot Too Old - Para suportar consistencia de leitura, Oracle pega dados do segmento de rollback - ORA-1555 quando o segmento foi overridado enquanto estava sendo usado - Causas Expensive Queries Long processing between queries - Para analisar Ver shortdump (erro DBIF_RSQL_SQL_ERROR) - Solucoes Mudar o codigo para processar query de forma mais eficiente Reestruturar nested selects Outras otimizacoes (criar indices) Expensive Sort Statements (ORDER BY) - Existem Memory Sort e Disk Sort - So exibido na ST04 (linha SORTS) - Se precisa de disco usa PSAPTEMP - Para analisar sobrecarga, usar ST04 > File System Monitor - Se um dos data file mais acessados for o do TEMP, problema - Para identificar quem faz muito Sort, verificar coluna SQL SORT no Database Monitor A seguir ver se o numero de Gets / Execution ou Records /Execution esta alto Se no estiver alto no problema, um pequeno sort - A seguir entrar na SQL Request e ver o comando e tentar identificar programa - Solucoes No fazer sort Selecionar e sortear poucos registros Sortear por colunas onde existe indice Classificar no ABAP ao inves de no DB - Outras otimizacoes (criar indices) Fragmented Index - Se no der para descobrir porque comando demora, verificar fragmentacao do indice - Sintomas: muitos Buffer Gets / Execution embora o indice seja o mais apropriado Muitos Buffer Gets / Record embora o indice seja o mais apropriado - detectar pela DB02 > Table and Index > B*Tree analysis

__________________________________________________________________________________________________________ 155 Apostila Mdulo Basis

reorganizar se fill level < 20% (ou seja esta quase vazio) fill level < 50% e usado frequentemente Recriando um ndice Verificar se h espaco no PSAPTEMP Durante periodos de baixa atividade do sistema A tabela pode ficar locked durante este periodo No pode rodar se exite usuarios utilizando a tabela ou o indice Shared Memory Problems Comandos SELECT...IN ITAB vira uma series de OR Cada OR consome o mesmo que um comando, ou seja, 20K Se houverem 600 OR o comando consome 12 Mb Isto pode causar falta de espaco na Shared Memory e pode ate abendar o processo Para melhorar isto usar FOR ALL ENTRIES IN xxxxxx WHERE campo = campo_auxiliar Isto causa a criacao de uma serie de SELECTS ao inves de um nico com OR

__________________________________________________________________________________________________________ 156 Apostila Mdulo Basis

Captulo 20 Technical Optimization of ALE Processing


ALE Usado para ligar sistemas R/3 com outros sistemas R/3 independentes Interface que proporciona funcoes de alto nivel para troca de dados entre 2 ou mais sistemas Possue suas proprias tabelas e gerencia conversao de dados, comunicacao, enderecamento e manuseio de erros Proporciona interface para alguns cenarios de negocio predefinidos Pode distribuir - Master Data -> Cadastro de materiais, Clientes, etc - Transactional Data -> Contratos, Ordens de Compra - Control Data -> Customizing Data que precisam ser sincronizados Funcionamento interno do ALE - ALE transfere IDOC Intermediate Documents - Cada IDOC contem 1 objeto de negocios (1 ordem de vendas com seus itens) - Fase 1 Sender IDOCs so criados pelos modulos de aplicacao A aplicacao cria o Master IDOC, a partir deste Master so criados os Comunitactions IDOC, 1 para cada receiver ALE armazena estes IDOCs no seu database para envio posterior para os receiver IDOCs so armazenados num formato proprietario R/3 em ASCII - Fase 2 NetWork Baseado em informacoes de controle dos IDOCs (que ficam na IDOC DB), se encontra o receiver Cada documento encaminhado para apenas 1 receiver Comunicacao com o receiver TCP/IP e CPI-C - Fase 3 Receiver Receiver armazena os dados no seu proprio DB A partir deste ponto as aplicacoes podem buscar os IDOCs e processa-los O documento foi recebido, porem no a garantias de que esta correto pois podem existir inconsistencias (p.e. Grupo de Vendas no existente) - Isto deve ser tratado pela aplicacao e comunicado via ALE Auditing Messages Sender Details meios de criar IDOC`s Aplicacao cria Change Pointers para processamento posterior - Somente para Master Data - A aplicacao no cria o IDOC diretamente, mas posterga esta tarefa para processamento posterior Criacao de IDOCs pode consumir muito recurso, melhor fazer em momentos de baixa atividade do sistema - Tabela BDCP contem as chaves dos dados a serem usados para geracao do IDOC e o tipo de operacao (Insert, Delete, Update) - Relatorio RBDMIDOC le BDCP e gera IDOCs Podemos rodar em batch ou online via BD21

__________________________________________________________________________________________________________ 157 Apostila Mdulo Basis

- Atravs de customizacao da SALE podemos definir que um tipo de mensagem no mais gerar IDOCs e sim Change Pointers Isto da interface, no da aplicacao - Outros objetos relacionados Relatorio RBDCPCLR -> Clear Change Pointers Relatorio RBDTBD22 -> Mapeia Change Pointer e IDOCS Tabela BDCPS -> Status dos Change Pointers View BDCPV -> Join da BDCP e BDCPS Aplicacao cria IDOCs diretamente - Usado para normalmente para Transaction Data mas pode ser usado para Master Data - O IDOC criado imediatamento o IDOC DB Aplicacao cria uma Message Entry para processamento posterior - Usado para Transaction Data - Gravamos dados de controle na tabela NAST - Se o processamento imediato, automaticamente criado um IDOC no IDOC DB - Se no imediato, o IDOC criado quando chamamos o relatorio RSNAST00 - A vantagem de fazer no imediato que os dados no ficam em enqueue. Se o tempo de enqueue critico, esta tecnica melhor

Metodos de Comunicacao TRFC Transactional Remote Function Call - Usado normalmente quando ligamos sistemas R/3 externos - Neste metodo existe uma fila (TRFC Queue) com os dados a serem transmitidos A fila implementada nas tabelas ARFCSSTATE e ARFCSDATA - Podemos monitorar esta fila via SM58 - O TRFC implementa uma serie de chamadas que garantem a chegada dos dados O processo le o IDOC do IDOC DB e o coloca na TRFC Queue para ser transferido Quando os dados chegam na TRFC Queue destino, ativado um processo de inclusao do mesmo no IDOC DB de destino Quando este processo esta completo, enviada uma mensagem para a origem que causa a delecao do request da TRFC Queue de Origem - Se ocorrerem erros de comunicacao depois do IDOC ter sido tirado de sua fila e colocado na TRFC Queue, o IDOC s informado quando rodamos o relatorio RDBMOIND Faz parte do menu da BALE FTP File Transfer Protocol - Usado normalmente para EDI ou sistemas no R/3 - Customizado pela SALE - Relatorio RSEOUT00 transforma IDOCs em arquivos sequenciais - FTP envia arquivos pela rede para o receiver - Programa RSEINB00 le os sequenciais e inclui no IDOC DB - Transacao WE12 converte o file num inbound file

Comunicacao do R/3 com External Programs Feita atravez do SAP Gateway Pode se comunicar com External Programs registrados ou no - Se forem registrados Comunicacao feita atravs de SEND DATA Registro feito na SM59 Registration melhora performance - Se no forem registrados Comunicacao feita atravs de START PROGRAM __________________________________________________________________________________________________________ 158 Apostila Mdulo Basis

A cada transferencia o programa dever se ativado no receiver O program start dever ser feito via gateway Pode-se fazer Multiple Registration of Programas Isto permite parallel processing de IDOCs entre o sender e o receiver Implica que o programa chamado deve ser capaz de processar em multitask Perde a serializacao dos IDOCs

Comunicacao de External Programs com o R/3 No existe conceito de registro O programa externo faz logon no R/3 e transfere dados A conexao pode ficar ativa e o external program enviar dados de tempos em tempos Detalhes do processo Receiver Pode ser feito via - Application Modules Update O processo de Inbound pode chamar diretamento os modulos de update das aplicacoes correspondentes mensagem que chegou mais rpido mas possue menos consistencias - Call Transaction Using ... O processo de Inbound pode gerar Batch Input e emitir o comando CALL TRANSACTION USING ... para a transacao que cria o application data mais lento mas todas as consistencias so feitas durante o Input

IDOC Processing Options No Sender - Scheduled -> via report RSEOUT00 Vantagens - Podemos gerar Packets - Distribuicao da carga no tempo Processing mode Parallel -> muitas transfers podem estar em curso ao mesmo tempo Unidade de Processamento pode ser - Single IDOC - Packets - Immediate Em alguns processos de negocio, a transferencia precisa ser imediata Processing mode Parallel -> muitas transfers podem estar em curso ao mesmo tempo Unidade de transferencia - Sempre Single Idoc No Receiver - Scheduled _-> via report RBDAPP01 Vantagem a melhorar work load rodando o processo em momentos de baixa carga Outra vantagem que menos Dialog WP serao usados para processamento de Inbound Neste relatorio definimos qual o Packet Size que o Inbound ter Podemos especificar Packet Size de tamanho diferente do enviado originalmente Sempre vai rodar num Dialog WP Podemos especificar o Processing Mode desejado - Sequential -> usa call RFC sincrono no mesmo Dialog WP __________________________________________________________________________________________________________ 159 Apostila Mdulo Basis

Neste caso somente 1 IDOC processado por vez Util para no causar sobrecarga no sistema Unidade de processamento pode ser Single IDOC Caso especial de packets com 1 IDOC dento

Usa um Dialog WP para processar este Single IDOC Packets IDOC Contem sempre IDOCs do mesmo tipo Usa o mesmo Dialolg WP para processar todo o Packet - Parallel -> usa call ARFC asincrono em outro Dialog WP Podem causar sobrecarga no sistemas So processados em Dialog WP e podem esgotar todos os Dialog WP Unidade de processamento pode ser - Single IDOC - Packets IDOC Immediate -> usa ARFC para processar IDOCs Neste caso o processo de Inbound disparado logo aps a chegada do IDOC A TRFC commitada logo aps o IDOC ser armazenado do IDOC DB Evita que se bloqueie o sender porque o recebimento imediato - Parallel -> usa call ARFC asincrono em outro Dialog WP Unidade de processamento determinada pelo Sender -

Funcoes basicas usadas no ALE Remote Functions Processing - RFC RFC sincrono O chamador conhecer o resultado da chamada - ARFC RFC Assincrono ABAP Call Function ... Starting New Task Usada no parallel processing - TRFC RFC Transacional Envia um grupo de chamadas ao receiver como numa transacao de database Se uma falha, todas elas sofrem rollback Usada para transferir IDOCs - Grupos RFC no ARFC Definimos grupos de servidores do landscape na SM59 No ABAP usamos STARTING NEW TASK xxx DESTINATION IN GROUP yyyy O message server pergunta aos servidores do grupo sua carga e escolhe para qual servidor enderecar a chamada Se no houver recurso disponivel, chama na mesmo WP que originou o request - Isto feito normalmente, no implementacao do grupo RFC IDOC Database - Cada IDOC contem uma chave de 50 bytes - EDIDC -> Control Data Contem 1 ou mais registros para cada IDOC Mantem um historico do IDOC - EDID2 -> IDOC Data uma cluster table (Cluster EDI30C) Dados so comprimidos automaticamente

__________________________________________________________________________________________________________ 160 Apostila Mdulo Basis

No transaparente porq tem campos longos e alguns DB no aceitam (1000 bytes) EDIDS -> Status Data READY FOR PROCESSING SUCESSFULLY PROCESSED

Customizacao ALE - Distribution Model Define como os dados vao fluir entre sistemas Feita pela transacao SALE - Partner Profile Define os tipos de mensagens que serao trocadas entre os sistemas COMMUNICATION (SM59) - Logon User-id Definitions - RFC Servers - TRFC Scheduling on Communication erros Relatorios envolvidos RSEOUT00 -> RSDAPP01 -> RSNAST00 -> RBDMIDOC -> RSARFCEX -> RBDMANIN -> RBDMOIND -> DBDCPCLR -> RSARFC01 -> RBDAUD02 -> ALE Outbound ALE Inbound Criacao de IDOCs via Message Entry para processamento posterior Criacao de IDOCs via Change Pointers Reprocessamento de TRFC que falharam Reprocessamento de inbound IDOCs que falharam IDOC Status Update (fila x processado) Reorganiza Change Pointer Reorganiza TRFC queue Reorganiza ALE Audit

Archiving Via transacao SARA Archive da tabela EDI30C Programa de archive RSEXARCA (ele pode ler os IDOCs arquivados depois) Archiving object para workitens WORKITEM

__________________________________________________________________________________________________________ 161 Apostila Mdulo Basis

Captulo 21 Content Analysis Toll and Optimization Methods


Transacoes BALE SM37 WE20 DB87 SM59 -> -> -> -> -> -> -> -> IDOC Monitor Time Ditribution IDOC Trace Monitora jobs ALE (comecam com ARFC) Configura Outbound Processing Configura Inbound Processing ??? Configura RFC destinations

Regras para usar ALE 1. Evitar modo IMMEDIATE (no Sender e no Receiver) 2. Usar Packets (1000-2000 IDOC por packet) 3. Desativar automatic retry do TRFC e usar relatorio RSARFCEX em seu lugar 4. Schedular mass transfer/update em horas de baixa atividade do sistema 5. Archive IDOC e reorganize Change Pointer, TRFC queue e Audit DataBase 6. Use Registration para External Programs e mantenha-os conectados 7. Use Multiple Registration para External Programs (se possivel) 8. Use RFC Groups para Parallel Update 9. Ajuste o numero de Dialog WP nos sistemas envolvidos 10. Use parametros RFC para evitar que todos os recursos do sistema sejam consumidos

__________________________________________________________________________________________________________ 162 Apostila Mdulo Basis

Captulo 22 Principais problemas no ALE


Possiveis problemas de performance Application Data no chega - Dados foram criados ? - Relatorio RBDAPP01 rodou ? -> relatorio schedulado que recebe IDOCs - Relatorio RSNAST00 rodou ? -> transformou Change Pointers em IDOCs - Endereco RFC est certo ? - External Program esta startado ? Application Data chega atrasado - Verificar frequencia de execucao dos reports RBDMIDOC, RBDAPP01, RSNAST00 - Bottleneck nos WP do sender ? - Network Connection lenta ? - Bottleneck no WP do receiver ? - External Program pode rodar em paralelo ? Application Data chega muito devagar - Verificar os mesmos problemas do item anterior - Verificar Packet Size Trabalhos no Dialog so prejudicados - Montar pacotes - Schedular processo em horarios de menor carga - Checar parametrizacao de RFC Resources - Aumentar Dialog WP no sender ou receiver - Usar RFC Server Groups

Captulo 23 Content Reporting Form


Nothing to do

Captulo 24 Content Apendix


Nothing to do

__________________________________________________________________________________________________________ 163 Apostila Mdulo Basis

Captulo 25 Technical Implementation Phases


Estratgias Envolvimento do cliente - Se pequeno, precisa de um forte parceiro de implementacao Operacao do R/3 aps implantacao - Help desk - Support services (ITs, Network, etc) Estratgia de implementacao - ASAP - Fixed Price -> pacote predefinido de funcionalidades, com suporte incluido - Read to Run -> R/3 pre-configurado para smaller-scale operations ASAP Phases Project Preparation - Explain Project Roles and procedures - Prepare Project Charter -> objetivos do projeto - Define Schedule, Budget and Resources -> ASAP tem ferramentas que fazem isto - Provide Initial Training for Team -> Level 1 - Define Technical Requirements -> sizing e hardware contract - Prepare Executive Kickoff Meeting -> motivacao e definicao de responsabilidade Business Blueprint - Estimar customer requirements -> entrevistas - Training -> Level 2 - Instalacao do R/3 para desenvolvimento - Revisao do Business Blueprint Realization - Customizing - Final Integration Test Final Preparation - Planning for Go Live Data - Training End-Users - Testing Integration, Volume and Stress - Establising internal Help Desk - Cutover to Production Environment Go Live and Support - Start of Production Operation - Setting up Support - Verifying accuracy of Production System - Measuring Beneficies - Optimizing R/3 performance Continuous Change ASAP Implementation Assistant Ferramenta que permite checar os principais passos da implementacao ASAP Possue Roadmap, Project Plan, Q&A Database, Business Procedures, Glosary Remote Consulting Services Early Watch -> system availability, performance, database, network

__________________________________________________________________________________________________________ 164 Apostila Mdulo Basis

R/3 Conversion Services -> fusoes de corporacoes ou migracao de OS ou DB SAP Going Live Check -> verificacao da SAP antes de colocar R/3 em producao

R/3 Implementation Big Bang Phased Implementation Fatores de sucesso na implementacao do ASAP Forte apoio dentro da companhia Rpido retorno do investimento pelo cliente Escopo gerenciavel de funcionalidades a ser implementado No precisa de reengenharia Implementacao baseada nas Best Business Practices

__________________________________________________________________________________________________________ 165 Apostila Mdulo Basis

You might also like