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
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
- Central System
- os 3 servios so realizados num Host
__________________________________________________________________________________________________________ 1
Apostila Mdulo Basis
- 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
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
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
O Help
- Permite display via HTML
- instalado a parte do R/3 (no incorporado na instalao do produto)
__________________________________________________________________________________________________________ 3
Apostila Mdulo Basis
- 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
__________________________________________________________________________________________________________ 4
Apostila Mdulo Basis
Captulo 3 O Kernel do sistema
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 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
O DISPATCHER
- o controlador dos processos das aplicaes
- se conecta aos Clients SAPGui e organiza estas conexes
- 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
__________________________________________________________________________________________________________ 5
Apostila Mdulo Basis
- 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
SAP LUW
- 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
Enqueue
- 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 estar em
servidores diferentes
__________________________________________________________________________________________________________ 6
Apostila Mdulo Basis
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>
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
- 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
__________________________________________________________________________________________________________ 7
Apostila Mdulo Basis
Captulo 4 Interfaces com outros sistemas
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
- 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
__________________________________________________________________________________________________________ 10
Apostila Mdulo Basis
Captulo 5 A Interface Grfica de Usurio
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
- O resultado da instalao gravado no SAPSETUP.LOG
- Simples e fcil de instalar
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
- 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> /G/<logon group>
- Para SAPROUTER
- /H/<host SAPRouter> /S/<servico do router>
Instalao do SAPGui
__________________________________________________________________________________________________________ 12
Apostila Mdulo Basis
- 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
__________________________________________________________________________________________________________ 13
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)
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
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
__________________________________________________________________________________________________________ 15
Apostila Mdulo Basis
Capitulo 7 Usurios e Authorizations
Conceito de Authorization
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)
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
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
- 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
- Authorization Profiles
- Authorization Objects
- Authorizations
- Change History (Verifica alteraes feitas)
- Activity Groups
- Where Used
__________________________________________________________________________________________________________ 18
Apostila Mdulo Basis
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*
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
- -> seu User Buffer muito pequeno
- aumente auth/auth_number_in_userbuffer
__________________________________________________________________________________________________________ 19
Apostila Mdulo Basis
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)
- 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
__________________________________________________________________________________________________________ 20
Apostila Mdulo Basis
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)
Eventos
- 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
__________________________________________________________________________________________________________ 21
Apostila Mdulo Basis
- 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
- 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
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
__________________________________________________________________________________________________________ 22
Apostila Mdulo Basis
- 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
__________________________________________________________________________________________________________ 23
Apostila Mdulo Basis
Captulo 9 Processamentos Avanado em Background
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
- 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
__________________________________________________________________________________________________________ 25
Apostila Mdulo Basis
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
Reserva de Background WP
- Atravs do Operation Mode
- Definir alguns BWP com classe A
- Transao RZ04
__________________________________________________________________________________________________________ 26
Apostila Mdulo Basis
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
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
- Se o servidor que roda o job esta ativo
- Caso tenha sado do ar, posso estar vendo um display incorreto
__________________________________________________________________________________________________________ 27
Apostila Mdulo Basis
Capitulo 10 Data Archiving
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
__________________________________________________________________________________________________________ 28
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
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
__________________________________________________________________________________________________________ 30
Apostila Mdulo Basis
Capitulo 11 R/3 Security
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
__________________________________________________________________________________________________________ 31
Apostila Mdulo Basis
Recomendao da SAP para Manuteno de Usurios e Authorizations
- 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
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
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)
- 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
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 sem SAPRouter
- Sintaxe:
- No hostx -> NIPING S (vai emular um servidor)
- No hosty -> NIPING C H hostx (vai emular um cliente)
- 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 por hostr
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
- 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
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
__________________________________________________________________________________________________________ 36
Apostila Mdulo Basis
- snc/r3int_rlc_secure=1
- snc/r3int_rlc_qop=3
- snc/permit_insecure_start=1
- snc/gssapi_lib=/usr/local/secude/lib/libsecude.sl DEPENDE DA PLATAFORMA
- snc/identify/as=p:CN=sap01.hs0017.OU=TEST01.O=SAP.C=DE DEPENDE DA INSTANCE
__________________________________________________________________________________________________________ 37
Apostila Mdulo Basis
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
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
__________________________________________________________________________________________________________ 38
Apostila Mdulo Basis
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
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
Analisys Tools
Programas que rodo quando quero para ler o MTE e fazer analises
So ativados manualmente
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
__________________________________________________________________________________________________________ 39
Apostila Mdulo Basis
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
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
__________________________________________________________________________________________________________ 40
Apostila Mdulo Basis
Capitulo 13 CCMS Configuration
Manuteno de Profiles
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
__________________________________________________________________________________________________________ 41
Apostila Mdulo Basis
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
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
__________________________________________________________________________________________________________ 42
Apostila Mdulo Basis
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
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
Podemos solicitar uma simulao de troca, para verificarmos se possvel ela ser
executada
__________________________________________________________________________________________________________ 43
Apostila Mdulo Basis
Este OpMode ficar ativo at a prxima troca programada na TimeTable
__________________________________________________________________________________________________________ 44
Apostila Mdulo Basis
__________________________________________________________________________________________________________ 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
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
__________________________________________________________________________________________________________ 46
Apostila Mdulo Basis
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
- R/3 Services
- R/3 Servers (SM51)
- Exibe servidores disponveis
- Exibe usurios no sistema (por servidor)
__________________________________________________________________________________________________________ 47
Apostila Mdulo Basis
- 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)
- Wait events
- SQL requests
- Exclusive Lock waits
- Latch waits
- V$ Values
- Paramentes changes
- Operating System (ST06)
- CPU utilization
- 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
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
__________________________________________________________________________________________________________ 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
__________________________________________________________________________________________________________ 50
Apostila Mdulo Basis
- 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
__________________________________________________________________________________________________________ 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 auto-contida
- 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
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
__________________________________________________________________________________________________________ 54
Apostila Mdulo Basis
Capitulo 17 Change and Transport System Prerequisites
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
- # Global Parameters
- transdir=/usr/sap/trans
- # Local Parameters for system T11
- T11/dbname=T11 <- cai no teste
- T11/dbhost= HOSTDB11 <- cai no teste
- ...
__________________________________________________________________________________________________________ 55
Apostila Mdulo Basis
- 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
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
- 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
__________________________________________________________________________________________________________ 58
Apostila Mdulo Basis
Capitulo 18 Change Management for Development
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
- 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
__________________________________________________________________________________________________________ 59
Apostila Mdulo Basis
- Impede que outros desenvolvedores na mesma CR tenham acesso ao objeto enquanto a
task no termina
- Facilidade de Upgrade
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
Liberao da CR e da Task
__________________________________________________________________________________________________________ 61
Apostila Mdulo Basis
- 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
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
__________________________________________________________________________________________________________ 62
Apostila Mdulo Basis
- 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
- 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
__________________________________________________________________________________________________________ 64
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
- Pode copiar
- Uma task
- Uma CR
__________________________________________________________________________________________________________ 65
Apostila Mdulo Basis
- 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
__________________________________________________________________________________________________________ 66
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
__________________________________________________________________________________________________________ 67
Apostila Mdulo Basis
Code Freezing
- uma tcnica, uma recomendao para no deixarmos alterar cdigo no desenvolvimento
enquanto esta sendo testado no QAS
__________________________________________________________________________________________________________ 68
Apostila Mdulo Basis
__________________________________________________________________________________________________________ 69
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 name convention do ALOG
- STOPONERROR rc para stop
- SYSLOG nome convention do SLOG
- TESTIMPORT flag para ativar test import no consolidation
- TESTSYSTEMS add change request to multiple r/3 buffers
- R3TRANSPATH
- RECCLIENT log para clients especficos
- SAPEVTPATH
Parmetros do comandos TP
- HELP
- GO sid exibe as variveis devem ser setadas para conexo com aquele sistema
- CONNECT sid verifica se a conexo esta ativa
- SHOWINFO request mostra informaes sobre uma Change Request
- COUNT sid qtde de Change Request para import em um sistema
- CHECKIMPDP sid mostra como esta o schedulado o RDDIMPDP
- SHOWPARAMS sid mostra parametrizao do TPPARAM
- STATUS sid informaes de um sistema
__________________________________________________________________________________________________________ 70
Apostila Mdulo Basis
- 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
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
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
Logs gerados
- ULOG -> log de todos os comando TP sem erros de sintax
- SLOG -> atividades de transporte num sistema R/3
- ALOG -> RC das fases do transporte no common directory
TP Return Codes
- 0 < rc < 16 -> max rc das transport tool
- 16 < rc < 100 -> rc da tool + tp warning
__________________________________________________________________________________________________________ 72
Apostila Mdulo Basis
- 100 < rc < 200 -> tp warning
- rc > 200 -> tp error
Troubleshooting
1 Alert Monitor -> tp connections, problemas de permissao, RFC
2 SLOG -> tp RC
3 ALOG -> Verificar Change Request que produziu o erro
4 Log Files -> 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 -> arquivos que no so mais necessrios ou seja, cujas entradas no
- so mais necessrias em nenhum R/3 do Domain
- TP CLEAROLD ALL -> baseado relatrio gerado p/ CHECK (ALL_OLD.LIS), deleta entradas
- Usa parms datalifetime, olddatalifetime, filelifetime do TPPARAM
- SAP recomenda copiar antes da delecao
__________________________________________________________________________________________________________ 73
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
Client Transport
- Entre R/3 diferentes
__________________________________________________________________________________________________________ 74
Apostila Mdulo Basis
- 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
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
- 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
__________________________________________________________________________________________________________ 75
Apostila Mdulo Basis
- 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
__________________________________________________________________________________________________________ 77
Apostila Mdulo Basis
Apostila II
Captulo 1 Preface
Nothing to do
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
DownTime do R/3
- Planejado
- Troca de parametros das Profiles
- Upgrades
- Manutencoes no sistema ou no database
- No Planejado
- Falha de hardware
- Problemas de configuracao
__________________________________________________________________________________________________________ 79
Apostila Mdulo Basis
Antes de desativar R/3
- Verificar Bach Inputs schedulados (SM35)
- Verificar se existem jobs batch rodando (SM37)
- Verificar updates em progresso (SM13)
- Enviar mensagem aos usuarios (SM02)
- Verificar usuarios logados (SM04 ou AL08)
- Verificar conexoes externar (SMGW)
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
__________________________________________________________________________________________________________ 80
Apostila Mdulo Basis
Captulo 3 Installation Check
Windows NT
- Pre-Requisitos
- Hardware
- Checar via Winmsd ou Windows NT Diagnostics
- Certificado pela SAP
- 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
Oracle
- 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
__________________________________________________________________________________________________________ 81
Apostila Mdulo Basis
- Configura SAPDBA
Estrutura de Diretorio
- 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
Variaveis Ambientais
- ORACLE_SID = sid
- ORACLE_HOME = c:/orant
- SAPDATA_HOME = c:/oracle/<sid>
- SAPDATAn = c:/oracle/<sid>/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
System Name
- nico no landscape
- Sempre em Uppercase
- Comecando com letra
__________________________________________________________________________________________________________ 82
Apostila Mdulo Basis
- Identico ao do Database
- Existe uma serie de nomes reservados
Shares do NT
- SAPTRANSHOST\sapmnt\trans -> diretorio de transporte
- SAPGLOBALHOST\sapmnt -> diretorio system wide
- SAPLOCALHOST\saploc -> 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
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)
__________________________________________________________________________________________________________ 84
Apostila Mdulo Basis
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
- 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
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
__________________________________________________________________________________________________________ 85
Apostila Mdulo Basis
- 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
- 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
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
Transporte de Impressoras
- Definido na SPAD
- Permite transportar toda a arquitetura
__________________________________________________________________________________________________________ 87
Apostila Mdulo Basis
- Servidor R/3 est Down ?
- O Spool WP est busy ?
- E esta em COMPL/ERROR
- 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
__________________________________________________________________________________________________________ 88
Apostila Mdulo Basis
Captulo 5 Output Management
- 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
__________________________________________________________________________________________________________ 89
Apostila Mdulo Basis
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
- P -> Local (C,L) - - Pool (P) ExtOMS (E)
- V -> Local (C,L) Remote (U,S) - Pool (P) ExtOMS (E)
- D -> Local (C,L) Remote (U,S) FrontEnd (F) Pool (P) ExtOMS (E)
- T -> Local (C,L) Remote (U,S) FrontEnd (F) Pool (P) ExtOMS (E)
Analise de problemas
- SPAD > Utilities > For test data permite geracao de spool para testar impressora
- Pode-se exibir tela em Hexa para debug
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
__________________________________________________________________________________________________________ 91
Apostila Mdulo Basis
Captulo 6 Database Administration Oracle
Nothing to do
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
- 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
Estrutura do Diretrio
- No esquecer de colocar os Control Files em pelo menos 3 lugares diferentes
- ORANT
- DATABASE profiles
- INIT<sid>.ORA -> Oracle
- INIT<sid>.DBA -> SAPDBA
- INIT<sid>.SAP -> BRARCHIVE e BRBACKUP
- BIN executveis
- ORACLE
- SAPARCH archives
- SAPDATA data files
- SAPBACKUP BRARCHIVE, BRBACKUP, logs
- SAPREORG logs da SAPDBA e diretrio de compresso para reorganizao
- SAPCHECK logs da SAPDBA para next, -check, -analyze
- SAPTRACE Oracle Alert File (no subdir BACKGROUND)
- ORIGLOGA Online Redo Log files
- ORIGLOGB .
- MIRRLOGA .
- MIRRLOGB .
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>
__________________________________________________________________________________________________________ 93
Apostila Mdulo Basis
- Para usar SAPDBA basta autorizaes de OPER
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
- Conecta com usurio SAPR3 e a senha descoberta
- Para isso precisa da
- REMOTE_OS_AUTHENT=TRUE na INIT<sid>.ORA
NET 8 - 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
Monitoring do Database
- DB16 -> Database main alerts
- DB12 > Backup log monitor
- DB02 -> Estado da memria e dos objetos do Database
- ST04 -> Carga e configurao do Database
- DB14 -> Log das Database Administration Actions
Parmetros do INIT<sid>.ORA
- control_files path
- db_block_buffers > 9000
- db_block_size 8192
- db_files 254
- db_file_multiblock_read_count 8
- log_archive_start true
- log_buffer 327680 - 1048576
- log_checkpoint_interval 30000000000
__________________________________________________________________________________________________________ 94
Apostila Mdulo Basis
- log_checkpoint_timeout 0
- max_rollback_segments > rollback_segments
- open_cursors 800-2000
- optimizer_mode choose
- processes > R/3 WP + 20 e > 80
- rolback_segments R/3 WP / 4 e >= 10
- row_cache_cursors 300 - 1500
- sessions > processes e >= 96
- shared_pool_size 50Mb a 300 Mb
- sort_area_retained_size 262k a 500k
- sort_area_size 2097k a 2500k
- timed_statistics true
__________________________________________________________________________________________________________ 95
Apostila Mdulo Basis
Captulo 8 Backup Strategy
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
__________________________________________________________________________________________________________ 96
Apostila Mdulo Basis
- 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
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
__________________________________________________________________________________________________________ 97
Apostila Mdulo Basis
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
- 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
__________________________________________________________________________________________________________ 98
Apostila Mdulo Basis
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
__________________________________________________________________________________________________________ 99
Apostila Mdulo Basis
__________________________________________________________________________________________________________ 100
Apostila Mdulo Basis
Captulo 10 Scheduling, Performing and Monitoring Backups
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 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
__________________________________________________________________________________________________________ 101
Apostila Mdulo Basis
- 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 le a
fita
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
- 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
- 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
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
- 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
__________________________________________________________________________________________________________ 104
Apostila Mdulo Basis
Captulo 11 Advanced Backup Techniques
- Obs: da pra usar estas opes para completar um backup que abortou
- Vantagem
- Melhora tempo de backup
__________________________________________________________________________________________________________ 105
Apostila Mdulo Basis
- Desvantagem
- Aumenta time window para recovery
- Aumenta trabalho administrativo (gerenciamento complexo)
__________________________________________________________________________________________________________ 108
Apostila Mdulo Basis
Captulo 12 Restore and Recovery
Tipos de erros
- Statements
- Process
- Instance
- User -> vamos estudar
- Media -> vamos estudar
- Start do Banco
- Usando alter database open resetlogs -> limpa os online redo log files
__________________________________________________________________________________________________________ 109
Apostila Mdulo Basis
- Depois deste comando, no podemos mais fazer recovery, desta forma necessrio
fazer um full backup para termos um ponto consistente de partida
__________________________________________________________________________________________________________ 111
Apostila Mdulo Basis
- 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
__________________________________________________________________________________________________________ 112
Apostila Mdulo Basis
Captulo 13 Storage Management
Erros Oracle
- ORA1653 -> falta de espaco para novo extent de data
- ORA1654 -> falta de espaco para novo extent de index
- ORA1631 -> maxextent atingido para data
- ORA1632 -> 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
- 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
__________________________________________________________________________________________________________ 113
Apostila Mdulo Basis
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)
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
__________________________________________________________________________________________________________ 114
Apostila Mdulo Basis
- 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
- 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
__________________________________________________________________________________________________________ 115
Apostila Mdulo Basis
- 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
- 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
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
- 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
__________________________________________________________________________________________________________ 117
Apostila Mdulo Basis
Captulo 14 Performance Monitoring
Performance Issues
- Cost Based Optimizer
- Memory Configuration
- Application Design
- Physical and logical layout
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
- 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
__________________________________________________________________________________________________________ 121
Apostila Mdulo Basis
- 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
__________________________________________________________________________________________________________ 122
Apostila Mdulo Basis
Captulo 15 Top 10 Problmes
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
Tablespace Overflow
- ORA-1653 Table Overflow
- ORA-1654 Index Overflow
- SAPDBA > Tablespace Administration > Alter Table > Add Data File
- Fazer backup depois desta alteracao
__________________________________________________________________________________________________________ 123
Apostila Mdulo Basis
- Monitar extents
- SAPDBA next 1 vez por semana
- Ajustar MAXEXTENTS se necessario - SAPDBA > Reorganization > Alter/Show table
- No utilizar MAXEXTENTS unlimited
-
__________________________________________________________________________________________________________ 124
Apostila Mdulo Basis
Apostila III
Captulo 1 Preface
Nothing to do
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
- 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
__________________________________________________________________________________________________________ 125
Apostila Mdulo Basis
- 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
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
__________________________________________________________________________________________________________ 126
Apostila Mdulo Basis
- Load time > 50 ms
- Configuracao de memoria (program buffer, etc)
__________________________________________________________________________________________________________ 127
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)
__________________________________________________________________________________________________________ 128
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
- 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
__________________________________________________________________________________________________________ 129
Apostila Mdulo Basis
- Porem isto precisa de memoria RAM suficiente
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
__________________________________________________________________________________________________________ 130
Apostila Mdulo Basis
- Aumentar rdisp/roll_SHM
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
__________________________________________________________________________________________________________ 131
Apostila Mdulo Basis
Captulo 5 Hardware Capacity Verification
Razoes
- Sizing errado da maquina
- Distribuicao incorreta da carga
- Comandos SQL muito gastoes
- Disk layout incorreto ou discos lentos
- Topologia da rede incorreta
Response Time
- Componentes
- Wait Time
__________________________________________________________________________________________________________ 132
Apostila Mdulo Basis
- Processing Time
- Processing Time = Response Time Wait Time DB Request Time Roll Time Load Time
Enqueue Time
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
__________________________________________________________________________________________________________ 133
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 transacao ou programa
- SM50 / SM66 tabela e programa ou transacao
- ST04 > Detail Menu > SQL Request tabela e indices via explain (mas sem programa)
- ST05 tabela e indices via explain
- SE12 > Utilities > Where Used 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)
Traces
- Via ST05
- S um por instance por vez
__________________________________________________________________________________________________________ 134
Apostila Mdulo Basis
- 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
RoadMap
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
- se as estatisticas estao atualizadas
- atualizar estatisticas
- A clausula WHERE muito complexa
- reescrever a clausula WHERE
__________________________________________________________________________________________________________ 136
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
- 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
__________________________________________________________________________________________________________ 137
Apostila Mdulo Basis
- Para Generic Buffer
- Se no especificar a chave generica -> no usa buffer
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
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
__________________________________________________________________________________________________________ 138
Apostila Mdulo Basis
- 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
__________________________________________________________________________________________________________ 139
Apostila Mdulo Basis
Captulo 8 SQL Chache Analysis
Nothing do to
__________________________________________________________________________________________________________ 140
Apostila Mdulo Basis
__________________________________________________________________________________________________________ 141
Apostila Mdulo Basis
Captulo 10 Analysing SQL Statements
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
__________________________________________________________________________________________________________ 142
Apostila Mdulo Basis
Captulo 11 Update Statistics
__________________________________________________________________________________________________________ 143
Apostila Mdulo Basis
Captulo 12 Identify Coding
__________________________________________________________________________________________________________ 144
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
__________________________________________________________________________________________________________ 145
Apostila Mdulo Basis
__________________________________________________________________________________________________________ 146
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.)
__________________________________________________________________________________________________________ 147
Apostila Mdulo Basis
__________________________________________________________________________________________________________ 148
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
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
__________________________________________________________________________________________________________ 149
Apostila Mdulo Basis
__________________________________________________________________________________________________________ 150
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
Para encontrar
- Na Shared SQL Area procurar por comando com
- mesmo numero de Buffer Gets / Execution
- mesmo numero de Buffer Gets / Record
- Porque ?
- Se o comando o mesmo, ele deve possuir as mesmas caracteristicas
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)
__________________________________________________________________________________________________________ 151
Apostila Mdulo Basis
__________________________________________________________________________________________________________ 152
Apostila Mdulo Basis
Captulo 17 View Processing
Tipos de Views
- Projection -> reduz numero de campos a serem vistos pelo programa
- JOIN View -> 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
__________________________________________________________________________________________________________ 153
Apostila Mdulo Basis
__________________________________________________________________________________________________________ 154
Apostila Mdulo Basis
Captulo 18 Polled and Clustered Table
- 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
__________________________________________________________________________________________________________ 155
Apostila Mdulo Basis
- 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
__________________________________________________________________________________________________________ 156
Apostila Mdulo Basis
__________________________________________________________________________________________________________ 157
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
- reorganizar se
- fill level < 20% (ou seja esta quase vazio)
- fill level < 50% e usado frequentemente
- Recriando um ndice
__________________________________________________________________________________________________________ 158
Apostila Mdulo Basis
- 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
__________________________________________________________________________________________________________ 159
Apostila Mdulo Basis
__________________________________________________________________________________________________________ 160
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
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
- 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
__________________________________________________________________________________________________________ 164
Apostila Mdulo Basis
- RSEOUT00 -> ALE Outbound
- RSDAPP01 -> ALE Inbound
- RSNAST00 -> Criacao de IDOCs via Message Entry para processamento posterior
- RBDMIDOC -> Criacao de IDOCs via Change Pointers
- RSARFCEX -> Reprocessamento de TRFC que falharam
- RBDMANIN -> Reprocessamento de inbound IDOCs que falharam
- RBDMOIND -> IDOC Status Update (fila x processado)
- DBDCPCLR -> Reorganiza Change Pointer
- RSARFC01 -> Reorganiza TRFC queue
- RBDAUD02 -> 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
__________________________________________________________________________________________________________ 165
Apostila Mdulo Basis
Captulo 21 Content Analysis Toll and Optimization Methods
Transacoes
- BALE -> IDOC Monitor
- -> Time Ditribution
- -> IDOC Trace
- SM37 -> Monitora jobs ALE (comecam com ARFC)
- WE20 -> Configura Outbound Processing
- -> Configura Inbound Processing
- DB87 -> ???
- SM59 -> Configura RFC destinations
__________________________________________________________________________________________________________ 166
Apostila Mdulo Basis
__________________________________________________________________________________________________________ 167
Apostila Mdulo Basis
Captulo 22 Principais problemas no ALE
Nothing to do
Nothing to do
__________________________________________________________________________________________________________ 168
Apostila Mdulo Basis
__________________________________________________________________________________________________________ 169
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
__________________________________________________________________________________________________________ 170
Apostila Mdulo Basis
R/3 Implementation
- Big Bang
- Phased Implementation
__________________________________________________________________________________________________________ 171
Apostila Mdulo Basis