Anda di halaman 1dari 171

Curso TABC10 Administrao

Captulo 1 A Tecnologia R/3 Basis

O Business Framework
- o nome da arquitetura do produto R/3
- Ela trabalha com componentes de negcios (mdulos configurveis) como FI, CO, HR
- Isto permite facilidade de mudanas e adaptaes
- Informaes correm atravs dos processos e dos mdulos
- Outras vantagens da arquitetura Business Framework
- facilidade de integrao com novas tecnologias (como Internet)
- integrao com softwares de outros fornecedores
- possibilidade de desenvolvimento de funes complementares pelo prprio cliente
- implementao de novas tecnologias sem interromper a operao do negocio

Componentes do Business Framework


- Business Componentes -> so os mdulos funcionais (p.e. HR)
- Business Objects -> so os objetos de negocio (Empregados, Pedidos, etc)
- BAPI Interfaces -> so APIs de negocio, disponveis no sistema para serem
- chamadas pelos mdulos do Business Framework
- ou por aplicaes externas (p.e. criar um pedido)
- ALE -> so tecnologias que permitem a distribuio de informaes
- do negocio dentro do Business Framework

O R/3 como um sistema aberto


- O R/3 usa padres da industria para garantir esta abertura (TCP/IP, OLE, EDI)
- Uso padres tambm para cdigos de barra, armazenamento tico, etc
- Usa ainda ferramentas de comunicao internas ao R/3
- RFC -> Remote Function Call que usa o CPI-C da IBM para comunicao e processamento
- de aplicaes e tasks
- ALE -> Application Link Enabling que permite a distribuio do processamento o R/3
- e outros R/3

Escalabilidade do R/3
- O R/3 segue o modelo de aplicaes Cliente / Servidor
- Esta arquitetura separa lgica da aplicao, apresentao e gerenciamento de dados
- Facilita a distribuio de carga e uso de novas tecnologias de hardware
- Benefcios desta arquitetura
- Permite instalar novos servidores para resolver problemas e gargalos
- Servidores processam em paralelo com carga homognea e execuo local dos programas
- Bufferiza dados e programas perto do processador que vai usa-los
- Permite balanceamento de carga e de logon, dividindo grupos de usurios p/ servidor

Configuraes Client/Server do R/3


- Os principais servios C/S so aplicao, apresentao e acesso a base de dados
- O R/3 possui 3 modelos de configurao para o ambiente Cliente/Servidor

- Central System
- os 3 servios so realizados num Host
__________________________________________________________________________________________________________ 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

O Middleware Basis do R/3


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

Overview do sistema Basis


- Garante portabilidade ao R/3, acima deste nvel todas as funes so independentes de
hardware e software
- Executa funes que poderiam ser deixadas ao S.O.(como schedulagem de tarefas e
administrao de memria), porem so realizadas para garantir portabilidade
- A prpria interface de usurio (SAP/GUI) proporciona as opes para apresentao da
aplicao
- Ele proporciona canais para a troca de informaes eletrnicas, como EDI, comunicao
programa-a-programa via CPI-C ou transferencia de dados com sistemas legados

- A interao entre o DYNPRO (interpretador de telas do SAP), o interpretador ABAP e o


dicionrio de dados ABAP fornece a infra-estrutura para o desenvolvimento de programas
ABAP

Plataformas disponveis para o R/3


__________________________________________________________________________________________________________ 2
Apostila Mdulo Basis
- R/3 roda em Unix, Windows NT, AS/400 e S/390
- Pode usar SGBDs como Informix, Oracle, ADABAS D, DB/2 e Microsoft SQL Server
- O SAP/GUI compatvel com Windows, OS/2, Motif e Macintosh
- Pode interfacear com programas ABAP, C, C++, HTML e Java

Captulo 2 A Navegao

Client ou Mandante
- a diviso Organizacional e Administrativa de Sistema
- um numero de 3 dgitos
- uma unidade organizacional auto contida no R/3
- Permite que um instalao R/3 rode varias empresas totalmente diferentes
- Cada Client possui suas prprias parametrizaes independentes
- Um Client no enxerga os dados de outro Client
- Balanos so emitidos a nvel de Client
- O R/3 divide os dados em
- Client Dependent
- Usurios
- Customizao
- Dados das transaes de negcio
- Client Independent
- Telas
- Programas
- Dicionrio de Dados
- Runtimes (programas compilados)
- Tabelas Client Dependet possuem campo MANDT (indica a qual mandante pertence o dado)
- Cada usurio s acessa os clients aos quais tem autorizao
- O Client 000 um client fornecido pela SAP e no deve ser alterado, apenas usado como
modelo para clients adicionais que necessitemos criar

Elementos das telas


- Title Bar > titulo da tela que estamos usando
- Command Field -> campo para digitarmos a transao que queremos executar
- Options -> O Mickey, onde podemos mudar as opes da interface
- Standard Tollbar -> Barra de ferramentas com cones de navegao, salvar, help, etc
- Checkbox -> Caixas para seleo de vrios itens ao mesmo tempo
- Radio Buttons -> Caixas para seleo de um item entre vrios
- Status Bar -> Barra de Status e mensagens do sistema

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

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

Funes do SYSTEM MENU


- Criar e Encerrar Sesses
- Modificar User Profiles

__________________________________________________________________________________________________________ 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

Principais tpicos do KERNEL


- SAPGUI
- SGBD
- Application Server

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

O Banco de Dados Relacional


- O R/3 usa o padro ISO 9075 para queries e manipulao de dados
- Num programa ABAP usa-se SAP OPEN SQL para acesso ao SGBD
- O OPEN SQL traduzido p/o gerenciador especifico
- Se utilizar EXEC SQL, pode-se perder a independncia de plataforma

O Application Server
- Servidor que toda o R/3
- O primeiro Application Server a Central Instance
- Roda obrigatoriamente todos os servios do R/3
- Componentes
- Dispatcher
- Filas de solicitaes dos clients
- Work Processs
- Shared Memory

Nomes dos Application Server


- DVEBMGS<Sid> ->Central Instance
- D<Sid> -> se tiver WP Dialog
- DB<Sid> -> se tiver WP Dialog e Background
- DBS<Sid> -> se tiver WP Dialog, Background e Spool

O DISPATCHER
- o controlador dos processos das aplicaes
- se conecta aos Clients SAPGui e organiza estas conexes
- 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

Fluxo da Transao R/3


- PBO (Processing Before Output)
- Tela (usurio responde)
- PAI (Processing After Input)
- PBO (Processing Before Output)
- Tela (usurio responde)
- ...
- Uma transao uma serie de dilogos conectados entre si

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>

O Processo de Update do R/3


- O sistema emite enqueue para garantir integridade
- As solicitaes de Update das Tasks so armazenadas numa tabela intermediaria (VBLOG)
- No Commit Work o Update WP chamado para fazer a alterao do DB
- Ao encerrar devolve o controle para o D-WP que encerra a transao e remove os
enqueues
- Se a conexo com o SGBD cai durante o update, ela terminada aps a reconexao

Processamento em BackGround
- Jobs tem prioridade A, B ou C
- So geralmente agendados para uma determinada hora
- O Batch Scheduler o responsvel por ativar os job
- Ele pesquisa a Scheduling Table por jobs prontos e solicita sua execuo
- Jobs sem especificao de servidor so distribudos de acordo com a carga do sistema
- Jobs so selecionados de acordo com a hora de execuo
- Dentro da mesma hora roda primeiro o de mais alta prioridade
- Dentro de uma mesma prioridade roda primeiro o que tem servidor definido

Servio de Impresso
- Tambm usado para fax
- Trabalha em conjunto com o spool do S.O.
- As informaes sobre o spool ficam no spool database, o spool mesmo fica num TemSe
(Temporary Sequencial Object)
- Quando o spool deve ser impresso, o Spool WP le o TemSe e gera spool para o S.O.

Instancias
- Unidade administrativa que provendo 1 ou mais servios
- 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

Comunicao com outros sistemas


- Conexes possveis
- R/3 <-> R/3
- R/3 <-> R/2
- R/3 <-> outros sistemas
- Protocolos de comunicao suportados
- TCP/IP
- LU 6.2 (para conexo com mainframes)
- Interfaces de comunicao suportadas
- CPI-C
- RFC
- OLE
- ALE
- EDI

O servio de Gateway (CPI-C handler)


- Disponibiliza comunicao entre sistemas R/3 e R/2 (TCP/IP e LU 6.2)
- Disponibilizar comunicao tambm com outros sistemas que suporte CPI-C
- Pequenas mensagens so trocadas atravs do Message Server, grandes volumes de dados
atravs do Gateway
- Posso ver conexes ativas atravs da transao SMGW

Comunicao via CPI-C


- Comunicao programa-a-programa via comandos bsicos
- Geralmente usada para conexo com R/2 ou mainframes
- Precisa definir a conexo na tabela TXCOM (transao SM54)
- Executar comandos ABAP para ativao e troca de dados
- COMMUNICATION INIT -> inicio 1 programa
- COMMUNICATION ALLOCATE -> estruturao 1 programa
- COMMUNICATION ACCEPT -> aceite 2 programa
- COMMUNICATION SEND
- COMMUNICATION RECEIVE
- COMMUNICATION DEALLOCATE -> encerramento
- Faz converso automtica ASCII <-> EBCDIC

Interface RFC
- Interface mais simples de utilizar e com mais funes do que o CPI-C
- Usa CPI-C para a comunicao final, porem esconde a complexidade do programador
- Usada para conexo com R/2, R/3 ou sistema externos que falem RFC
- Permite a chamada de funes (programas) em outros sistemas
- Para criar este Function Modules usar transao SE37
- Para das manuteno nas conexes RFC usar transao SM59
- Tipos de chamadas RFC
- Sncrona -> chamador aguarda resposta para continuar
- Assncrona -> chamador no aguarda resposta, mas R/3 destino precisa esta ativo
- Transacional -> executa uma transao com vrios Function Modules no chamado

- -> so consideradas como 1 nica LUW


- -> R/3 destino no precisa estar ativo
- -> podemos configurar freqncia e intervalos da chamada
__________________________________________________________________________________________________________ 8
Apostila Mdulo Basis
Business Objects e BAPI
- BO -> base de comunicao entre sistemas / mdulos
- -> orientados a negcios (CLIENTES, PEDIDOS, etc)
- -> possuem mtodos (CRIAR CLIENTE, ou ENVIAR PEDIDO)
- -> so armazenados no BOR (Business Object Repository)
- BAPI -> interfaces funcionais
- -> usam os mtodos do BO
- -> podem sem chamadas de fora do R/3

Interface com OLE


- Como Client
- O ABAP pode solicitar funes OLE do Desktop
- SAPGui conversa OLE com o Desktop
- Para falar com ABAP, o SAPGui transforma estas chamadas em RFCs
- Funes ABAP para OLE
- CREATE OBJECT
- CALL METHOD
- GET PROPERTY
- SET PROPERTY
- FREE OBJECT
- Como Server
- O desktop pode solicitar funes R/3
- As chamadas so feitas como chamadas de mtodos de objetos
- Estas chamada feitas via OLE so encaminhadas ao SAP Automation Server, que as
converte em RFC
- Todos os Business Objects do Business Object Repository podem ser chamadas via
desktop
- O cliente precisa estar logado para poder executar uma chamada (o logon pode
automtico)

Interface com a Internet


- Disponvel desde a verso 3.1 G
- O acesso possvel atravs de um ITS (Internet Transacion Server)
- Dentro do ITS existe um A Gate (Application Gate), que conversa com o R/3 e um W Gate
(Web Gate) que conversa com o Web Server

Interface com EDI


- EDI a troca de dados de negocio em formato estruturado entre aplicaes e empresas
- A arquitetura R/3 para EDI composta por
- Aplicaes prontas p/ EDI
- permitem que transaes de negocio sejam executadas automaticamente
- Interface IDOC
- interface aberta para intermediao de documentos
- padro proprietrio SAP
- possui um IDOC Type que define a forma e estrutura do documento e registros de
controle de status do documento

- desenvolvido de acordo com ANSI 12 e o padro EDIFACT


- EDI SubSystem
- Converte IDOCs em mensagens EDI
- No fornecido pelo R/3

Interface ALE (Application Linking Enabling)


__________________________________________________________________________________________________________ 9
Apostila Mdulo Basis
- permite a parametrizao e operao distribuda de aplicaes R/3
- as aplicaes so integradas atravs de troca de mensagens (sncronas e assncronas),
e no atravs de um banco de dados central
- os dados so trocado usando os Idocs da interface EDI

Import de Dados externos para dentro do R/3


- Batch input
- Dados so armazenados como uma BDC Table (Batch Data Communication) num arquivo de
batch input session
- A seguir o sistema processa esta session, processando cada dado atravs da
transao apropriada
- Isto garante integridade dos dados entrados no sistema
- Call Transaction
- Dados so armazenado como uma BCD Tabele e chamamos a transao diretamente,
apontando a BCD
- Tambm garante a integridade
- Direct Input
- Fazemos um programa que grava os dados diretamente na base de dados do R/3
- Garantia de integridade responsabilidade do programador

__________________________________________________________________________________________________________ 10
Apostila Mdulo Basis
Captulo 5 A Interface Grfica de Usurio

A administrao dos Front-Ends


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

Requerimento para o SAPGui


- SAPGui protegido contra vrus
- Hardware
- Win95
- Mnimo -> 486 16 Mb Ram
- Recomendado -> P133 32 Mb Ram
- Win Nt
- Mnimo -> P133 32 MB Ram
- Recomendado -> P133 48 Mb Ram
- Rede
- WINSOCKET API (WINSOCK.DLL) c/ protocolo TCP/IP
- Para testar a conexo de rede usar PING ou TELNET
- Para testar a conexo do SAPGui usar SAPGUI AppServer SAPDP<xx>
- Deve-se configurar os arquivos HOSTS e SERVICES do diretrio
C:\WINNT\SYSTEM32\DRIVERS\ETC para configurar conexo
- SAPDPxx 32<Sid>/TCP
- SAPGWxx 33<Sid>/TCP
- SAPMSxx 36<Sid>/TCP

Instalao do SAPGui
- INTERATIVA
- Quando feita individualmente em cada PC
- Posso instalar a partir do CD ou baixar o CD no File Server e instalar dele
- Para upgrade devemos obrigatoriamente deletar a verso velha
- O programa de instalao o SAPSETUP.EXE
- P/ Win 3.x diretrio GUI\WINDOWS\WIN16
- P/ Win 95 diretrio GUI\WINDOWS\WIN32
- Arquivo de configurao do processo de instalao: SAPSETUP.INI
- Dialog Free
- Totalmente guiada pelo arquivo SAPSETUP.INI
- feita chamando o programa SAPSETUP.EXE na linha de comando
- O resultado da instalao gravado no SAPSETUP.LOG
- Simples e fcil de instalar

Helps para o Front-End


- Arquivos de Help ficam no servidor

- Definio do Tipo de Help: /EU/IWB/Help_Type


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

Logon e Trace
- Programa SAPLOGON.EXE
- Le arquivo SAPLOGON.INI (contem a lista de sistemas R/3 e seus parmetros de Logon)
- Para evitar edio deste arquivo pelo usurio, torna-lo READ ONLY
- Estas informaes sero usadas para montar a Connect String e efetuar a conexo
- Pode fazer logon Load Balance
- A seguir ativa SAPGUI.EXE
- Para Trace do Logon
- Clicar no canto superior direito da janela do SAPLOGON
- Selecionar um OPTION ACTIVATE SAPGUI TRACELEVEL
- Sero gravados: DEV_xxxx.TDW e DEV_xxxx.BIN

Arquivos do SAPLOGON
- SAPLOGON.INI
- Arquivo com o nome dos sistemas R/3 e seu grupo de logon
- SAPMSG.INI
- Contem a lista dos Message Server e os nomes lgicos dos seus servios
- Acessado quando usado Logon Group
- SAPROUTE.INI
- Contem a lista dos SAP Routers que podem ser selecionados
- Contem a Connect String dos servidores
- Usado quando seleciono SAP Router
- 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

SAPGui com JAVA


- Usa browser para exibir telas do R/3, num ambiente Internet/Intranet
- Possui Applets especficos, que so carregados do WEB Server
- Na instalao so fornecidos
- As classes Java para o funcionamento da interface
- O template IDES.HTML
- O ORB ORBIXD.EXE que converte os padres Internet em SAPGui (e vice versa)
- Este ORB instalado como servio Windows

Instalao SAPGUI in JAVA


- Necessita
- De um WEB Server
- Plataforma Windows NT ou Solaris
- Browsers que reconheam JAVA
- Aps instalar, precisamos configurar no IDES.html
- sap_connect string de conexo
- Width largura do SAPGui na janela JAVA
- Heigth altura do SAPGui na janela JAVA
- dptrace nvel de trace desejado

__________________________________________________________________________________________________________ 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)

SSCR (SAP Software Change Registration)


- Para alterar objetos originais SAP, necessrio um cdigo de acesso
- Este cdigo obtido informando no SSCR o nome do objeto e o nome do usurio
desenvolvedor
- O desenvolvedor tambm deve ser cadastrado no OSS
- A chave de acesso tem 20 posies

Hot Packages
- Correes fornecidas pela SAP para problemas que afetem diversas instalaes
- Devem ser aplicadas somente para o mesmo release
- Devem ser aplicadas em ordem numrica
- Funo HOT NEWS do OSS informa se existem Hot Packages para o meu sistema

Informaes de treinamento
- Podem ser obtidas via OSS
- A Internet parece ser melhor ferramenta para acessar estas informaes

Acesso ao OSS

- Link precisa estar no ar


- Chamar transao OSS1
- Ele starta outra sesso SAPGui, conectada ao servidor OSS
__________________________________________________________________________________________________________ 14
Apostila Mdulo Basis
- O Gateway garante a segurana da conexo, verificando a validade dos pacotes que
chegam e de seus endereos IP

SAPNET
- Paginas para troca de informaes entre a SAP e clientes ou parceiros
- Pode ser acessado atravs do cone CUSTOMER PARTNER da pagina da SAP
- Funes
- Assistance -> correio eletrnico com SAP (Inbox, Outbox, Index, Favorites)
- Information -> Release Information, Basis Technology, Core Aplication/Components
- Communication -> Forum de discusso, Grupos de usurios, TechNet, Projetos
- Service -> Pesquisa de Notas, Download de Hot Packages
- -> Cursos, self training e informaes sobre o IDES
- Self Service -> Quick sizing, textos, Service Quote (??)
- Settings -> Defalts pessoais

TechNet
- Knowledge base
- Frum de discusses
- Acessvel pelo SAPNet

__________________________________________________________________________________________________________ 15
Apostila Mdulo Basis
Capitulo 7 Usurios e Authorizations

Usurios em cada ambiente


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

Conceito de Authorization
Servem para restringir acesso a objetos do R/3
Profiles podem possuir uma ou mais Authorizations
Authorizations podem ser assinaladas para Transaes ou por funo de uma transao
1 Profile pode ser composta de outras Profiles
SINGLE PROFILE
COMPOSITE PROFILE
Se a profile do usurio no tem uma autorizao explicita para um objeto, ele no pode
acessar o objeto (Authorizations so positivas)

Estrutura das Authorizations


Objetos de autorizao
- Criado pelos programadores via transao SU21
- So agrupados p/ Classe (p.e. FINANCIAL ACCOUNTING)
- Cada Objetos de autorizao pode possuir diversos campos
Uma Authorization um determinado conjunto de valores destes campos
As Authorizations so checados por codificao nos programas ABAP
Exemplo
Objetos de autorizao -> CUSTOMER COMPANY CODE
Campos -> COMPANY CODE e ACTIVITY
A Autorizao o valor que se da a estes campos

Autorizao RESTRITA do objeto CUSTOMER COMPANY CODE


__________________________________________________________________________________________________________ 16
Apostila Mdulo Basis
COMPANY CODE = 0001/0009 ACTIVITY = DISPLAY
Autorizao COMPLETA do objeto CUSTOMER COMPANY CODE
COMPANY CODE = * ACTIVITY = CHANGE / DISPLAY

Authorization Object
- Criado pelos programadores via transao SU21
- Checados dentro dos programas
- Cada objeto pode possuir diversos campos
- Uma Authorization um determinado conjunto de valores destes campos
- Cada objeto pode ter quantas autorizaes desejemos
- Cada chamada para verificar Authorization (programa) checa s uma destas autorizaes

A Arvore de Authorizations dos usurios


- 1 usurio (USER MASTER RECORD) pode possuir varias Profiles
- 1 Profile pode possuir varias Authorizations
- 1 Autorizao possui vrios campos/valores

Ferramentas para se criar Authorizations


- Profile Generator
- Manual Creation

Verificao de autorizao
- No momento do Logon do usurio, suas Authorizations so colocadas no User Buffer
- User Buffer -> rea do User Context que contem as Authorizations de um usurio
especifico
- Para revalidar precisa de novo Logon
- O programa emite o comando AUTORITY CHECK para aquele objeto de autorizao, testando
valores contra as especificaes do usurio
- Se o usurio possui aqueles valores, o acesso permitido
- Caso contrario, o usurio recebe mensagem de erro
- Existe ainda possibilidade de checar autorizao para a transao
- Antes de entrar, testa
- Se no tem autorizao, nem deixa entrar

O PROFILE GENERATOR
- Processo simplificado para gerao de Authorizations (PFCG)
- Agrupamos em ACTIVITY GROUPS todas as transaes que um determinado grupo de usurios
vo acessar
- O Profile Generator identifica quais objetos de autorizao aquelas transaes
precisam e cria uma Profile com valores default para aqueles objetos
- Depois, relacionamos Activity Groups aos usurios
- Cada usurio de um Activity Group ter no seu User Master Record as Authorizations
daquelas Profiles

Passos do Profile Generator (sem RESPONSIBILITY)


1. Verificar unidades organizacionais (como Company Codes) para todas Authorizations que
usam unidades organizacionais
2. Verificar as Authorizations sugeridas pelo sistema

3. Verificar os campos (que no so Organization Units) e que no puderam ser gerados


pelo sistema
4. Gerar as Authorizations Profiles para os Activity Groups
5. Assinalar usurios para os Activity Groups
6. Atualizar os User Master Record dos usurios assinalados
__________________________________________________________________________________________________________ 17
Apostila Mdulo Basis
Activity Groups com RESPONSABILITY
- Responsibility define a rea de abrangncia da Autorizao
- Posso definir descries funcionais idnticas, que Os diferem para entre si em qual
Company Code elas se aplicam
- Cada Responsibility de um Activity Group vira uma Profile, que depois associada aos
usurios
- Podemos (mas no devemos) manter esta Profile manualmente
- Desta forma
- S definimos uma vez a transao para cada Activity Group
- Devemos definir Organization Level e Authorization para cada Responsibility
- No podemos definir diferentes caractersticas funcionais para uma Responsibility
sem afetar as outras do mesmo Activity Group

Passos do Profile Generator (com RESPONSIBILITY)


- Selecionar transaes que desejamos para um Activity Group
- Criar a RESPONSABILITY
- Criar Authorization Profiles
- Depois de criar, entramos nas Authorizations e as modificamos para cada
Responsability
- Assinalamos os Usurios para cada Responsibility
- Mandamos executar UPDATE USER MASTER RECORD

Modificaes nas Authorizations


- Ao entrarmos na transao, ele exibe colapsado
- Classes dos Objeto
- Authorization Object
- Authorization
- Values
- Existe um semforo em cada nvel indicando
- Verde -> todos valores das Authorizations preenchido
- Amarelo -> faltam preencher alguns valores
- Vermelho -> precisa preencher dados a nvel de organizao

Criao / Modificao de usurio (SU01)


- Pastas
- User Data
- Default
- Address
- Paramaters
- Lock/Unlock de usurios e troca de passwords
- possvel ver usurios Locked na SUIM

Relatrios da transao SUIM


- User Master Records (lista usurios)

- Authorization Profiles
- Authorization Objects
- Authorizations
- Change History (Verifica alteraes feitas)
- Activity Groups
- Where Used

__________________________________________________________________________________________________________ 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*

Regras para passwords


- diferente das ultimas 5
- no deve comear com os mesmos 3 caracteres do username
- no pode ser PASS ou SAP
- no deve comear com 3 caracteres idnticos
- no pode comear com ? ou !

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

O processamento de Background Jobs


- Qualquer instace de R/3 pode ser configurada para rodar Background Jobs
- Parmetro rdisp/wp_no_disp
- JOB SCHEDULING TABLE: tabela nica no sistema que contem a relao de Jobs a executar
- Job Name + Job Number uma combinao nica nesta tabela
- Ao menos 2 Dialog WP devem ser configurados por instance
- 1 para o Batch Scheduler checar a Scheduling Table
- Outro para o trabalho dos usurios online
- No existem mnimo para Background WP
- Porem, se usarmos Funes de Transporte, devemos ter no mnimo 2
- A cada 60 segundos o Batch Scheduler verifica a Scheduling Table
- Este tempo controlado pelo rdisp/btctime
- Toda instance com Background WP tem um Batch Scheduler
- Quando o Batch Scheduler encontra jobs em condio de processar
- Solicita ao Message Server o servidor que vai executar
- Esta escolha baseada na carga do servidor
- Em seguida, solicita ao Dispatcher para ativar o Job num Background WP
- Jobs pode ser schedulados
- IMMEDIATE
- DATE/TIME
- EVENT BASE
- JOB END BASED
- Caso no existam recursos (p.e. Background WP) para processar um job IMMEDIATE ou
EVENT BASED ele transformado em DATE/TIME

- Jobs que foram selecionados por um determinado Batch Scheduler porem no puderam rodar
porque no havia Background WP disponvel naquele momento podem ser selecionados pelo
Batch Scheduler de outro servidor, roubando o job do primeiro
- Se forarmos uma instance especifica, perdemos esta opaco de Work Balancing

__________________________________________________________________________________________________________ 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)

Executando Jobs em Background


- Podem usar Variantes
- Se o job dispara programas ou comandos externos, isto feito atravs do programa
SAPXPG, que roda no host e ativado via RFC
- Programa externo
- um programa/comando/batch
- S pode ser executado por quem tem Background Administration Authorization
- No precisamos criar um objeto R/3 para chama-lo
- Comando externo
- um programa/comando/batch
- Pode ser executada por qualquer usurio com autorizao
- necessrio definio do comando para poder ser chamado
- Programas externos podem ser rodados em modo sncrono ou assncrono
- Todo job tem seu Job Log

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

- XMI -> eXternal Monitoring Interface


- Monitora a atividade do sistema

Authorizations
- Para Jobs
- S_BATCH_ADM pode trabalhar com jobs de outros usurios
- S_BATCH_NAM quais usurios podem ser usados quando schedulando jobs batch
- S_BATCH_JOB DELE -> Deletar jobs de outro usurio
- LIST -> Display spool criado por outro usurio
- PROT -> Display Job Log criado por outro usurio
- SHOW -> Display Job Definitions de outro usurio
__________________________________________________________________________________________________________ 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

Tipos de jobs que rodam em Background


- Jobs de Basis
- Clean up do sistema
- Jobs de coleta de estatsticas (definidos na tabela TCOLL)
- Alguns deste jobs necessitam rodar em Clients especficos
- Outros agem sobre todos os clients do sistema
- Jobs de Aplicao
- Jobs de longa durao
- Requerem acompanhamento
- Alto consumo de recursos

Jobs de Basis de Clean up do sistema (normalmente dirios e com variantes)


- RSBTCDEL job logs SAP_REORG_JOBS
- RSPO0041 spools SAP_REORG_SPOOL
- RSDBCREO sesses de batch input SAP_REORG_BATCHINPUT
- RSSNAPDL Dumps de ABAP SAP_REORG_ABAPDUMPS
- RSBPSTDE job statistics SAP_REORG_JOBSTATISTIC
- RSM13002 registros de alteraes completadas SAP_REORG_UPDATERECORDS

Jobs de Coleta de Estatsticas (sem variantes)


- RSCOLL00 performance do sistema SAP_COLLECTOR_FOR_PERFMONITOR a cada hora
- RSBPCOLL jobs de background SAP_COLLECTOR_FOR_JOBSTATISTIC dirio

Acompanhamento de jobs de longa durao


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

Function Modules da XMI e XBP


- Com eles possvel
- Schedular um job em background
- Startar e stopar um job em background
- Monitorar o status e as sadas dos jobs
- Groups principais so
- SXJI (prefixados por SXMI_XBP) External Job Management
- SXMB (prefixados por SXMI_XMB) External Monitoring Basics
- SXMI (prefixados por SXMI) Connect to external tools
- possvel ver todos atravs da SE37, colocando prefixo SXMI*

Controle do Externo do ambiente de background


- Produtos de terceiros que controlam o ambiente R/3
- Podem rodar fora do R/3 (a nvel do Sistema Operacional)
- Precisam ser certificados pela SAP
- Venda, venda distribuio e suporte so do terceiro que vendeu
__________________________________________________________________________________________________________ 24
Apostila Mdulo Basis
- Sistemas se conectam ao R/3 usando interfaces RFC (precisam de autorizao)
- Aps a conexo RFC, o produto deve fazer logon na XMI
- Por ultimo, pode usar as funes de XBP para monitorar jobs
- Transao RZ15 pode monitorar jobs criados por XMI

Vantagens e Desvantagens de Controle Externo de Jobs


- Vantagens
- Administrao de mltiplos sistemas R/3 numa nica interface
- Uso de produtos certificados pela SAP
- Conexo ao R/3 via sistema externo
- Desvantagens
- um componente externo de outro fornecedor

Eventos
- System Events
- Definidos pela SAP
- Comeam com SAP
- Disparados por determinadas aes do sistema (troca de Op Mode p.e.)
- User Events
- Criado pelos usurio
- Disparados por
- Programas ABAP (funo BP_EVENT_RAISE)
- Programa externo (SAPEVT)
- Manualmente (transao SM64)
- Podem ter argumentos (parmetros)
- Se um job disparado por um evento com um determinado argumento, somente se o
argumento for aquele que o job ser ativado
- Se um job disparado por um evento sem argumento, mesmo o evento tendo qualquer
argumento dispara o job
- Para definir ou exibir eventos (User ou System) -> transao SM62

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

Resoluo de problemas com External Programs


- O external program no start corretamente
- O External program no devolve os resultados para o processo de background
- Atitudes
- Verifique se o Target System esta correto
- Verifique job log procurando mensagens de erro
- Ative o trace de external programs
- Via transao SM36
- Permite log de external programs para aquele job
- Via transao SM69
- Permite log para todos as chamadas do external command
- Precisa tambm setar a varivel ambiental SAPXPG_TRACE = 3 no computador onde
o comando ser executado

Reserva de Background WP
- Atravs do Operation Mode
- Definir alguns BWP com classe A
- Transao RZ04

Schedulando jobs via APIs ABAP


- APIs fornecem function modules para
- Gerenciamento de jobs (display, delete, copia)
- Verificao e disparo de eventos

- Display de Job Log


- Schedulagem de jobs
- BP_JOBVARIANT_SCHEDULE Schedulagem de jobs
- BP_JOBVARIANT_OVERVIEW Gerenciamento de jobs
- necessrio autorizao para o uso destas APIs
- Autorizaes que podem ser usadas para limitar poder de usurios
- S_PROGRAM
- S_BTCH_NAM
- S_BTCH_JOB
- S_BTCH_ADM
- S_ADMI_FCD

__________________________________________________________________________________________________________ 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

Verificando jobs em background


- Alem da SM36 / SM37 pode-se usar SMX
- Mostra jobs submetidos com meu Userid
- Para verificao de performance pode-se usar a SM39 (Job Analisys)
- Mostra estatsticas dos jobs
- Numero de vezes que rodou, tempo mdio de runtime, problemas no job
- A analise s abrange o que est no log ( deletado pelo SAP_REORG_JOBS)

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

O que Data Archiving


a remoo de dados dos processos de negcio do DataBase
Estes dados so comprimidos e armazenados em outra mdia
Disco tico, File System , Fita Dat
O arquivo comprimido tem formato proprietrio
S o R/3 entende seu contedo

Vantagens de se fazer Archiving


Razes Tcnicas
Melhora a performance do acesso no DB
Aumenta Free Space nos discos
Reduz tempo de Backup
Razes de Negcio
Legislao exige a guarda da informao por certo perodo
Auditoria externa exige guarda destas informaes
Certos dados podem servir para anlise futura

Quando fazer Archiving


Conforme o crescimento do DataBase
Conforme as necessidades dos departamentos
Por razoes do negcio
A entrada do EURO (troca de moeda)
Fim do ano fiscal
Quando os dados que se tornam obsoletos

Archiving Object
- Entidade principal do processo de Archiving
- Podem ser vistas na transao SARA
- Contem o nome de uma ou mais tabelas sero arquivadas
- Nem sempre toda a tabela arquivada, muitas vezes apenas parte dela
- Neste caso possvel at ver as chaves que sero afetadas
- Elementos principais do Archiving Object
- Nome das tabelas (e as chaves) que sero arquivadas
- O programa que seleciona e gravas os dados no Archive File
- O programa que deleta os dados das tabelas
- A documentao deste processo de Archiving

O processo de Archiving
Two-steps, para maior segurana
1. Inicialmente roda o programa de cpia
- O dataset tem compresso em fator 5
- Tabelas clustered nunca so comprimidas
- Podemos ser rodado junto com as tarefas normais
- Porem pode prejudicar performance
2. A seguir roda-se o programa de delecao
- Compara os dados no Archiving com os dados no Database

- Se ainda forem iguais, deleta os do database

__________________________________________________________________________________________________________ 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

O ADK (Archiving Development Kit)


- Interface entre o Archiving Program e o Archive File
- O ADK possui Function Modules que so chamados pelo Archiving Program para gravar
os Archive File
- Dados em Archive File, selecionados por um programa so recuperados pelo ADK, que os
devolve no mesmo formato do Repository, independe da plataforma no qual o Archive File
esteja
- O ADK pode segmentar os Archive File em vrios arquivos fsicos (parametrizado na
transao SARA)
- possvel criar nossos prprios Archive Objects
- No recomendado criar Archive Objects p/ tabelas padro do R/3, pois estes j
existem

Acessando o Archive File


- Programas de Anlise
- Fornecidos com o Archiving Object
- Le Archive File e cria spool com informaes do Archive File (estatsticas, qtde de
registros)
- Pode-se utilizar um Browser ou Ferramenta genrica para ver os dados
- Acessos Direto
- Para alguns Archive Object, os programas podem acessar dados do Database e do
Archive File sem precisar de nenhuma codificao especial
- Reload
- Apenas para poucos Archive Objects
- Usado p/ retornar dados do Archive selecionados indevidamente

Preparao para Data Archiving


1. Definir estrutura de Archiving
- Envolver departamentos de negcio (RH, FI, etc)
- Verificar a documentao dos Archiving Objects
- Identificar tabelas que esto crescendo muito
- DB02 -> mostra SGBD como um todo (index, table, tablespace)
- DB15 -> mostra tamanho tables pertencentes Archiving Object
2. Customizar Archiving Objects
- Transao SARA e definir ...
- Tempo aps o qual dados podem ser removido do DB
- Tamanho do Archive File
- Numero de registros em cada Archive File
- Tipo de start do programa de delecao (MANUAL ou AUTOMATICO)
- Variantes para TEST e PRODUCTION
- Cada Archiving Object tem seus prprio valores a serem configurados
3. Configurar ao menos 2 Background WP no sistema
- recomendvel, pois podemos startar o programa de delecao em paralelo ao programa
de write

- recomendvel a execuo do programa de write no servidor onde o DataBase esta


localizado
4. Verificar espao em Disco para o Archiving
- Verificar espao necessrio atravs de uma rodada de Archiving com variante de Test
__________________________________________________________________________________________________________ 29
Apostila Mdulo Basis
5. Customizar o nome do LOGICAL FILE e do PATH
- SF01
- FILE

Execuo do Archiving
- Ativao
- Pela transao SARA ,opo ARCHIVE
- Executada p/ Basis (autorizado pelo pessoal funcional)
- Ou pelo pessoal funcional (que tenha autorizao)
- Fornecer valores para a variante especificada de Archiving
- Monitorao de um execuo
- Transao SM37 (acompanhamento do job)
- Dependendo da Customizao, pode haver vrios jobs de Archiving
- Para cada job de write, pode haver um de delecao
- Transao SARA (sumario do Archiving)
- Ver opo MANAGEMENT DATA
- Mostra tamanho, localizao e numero de registros dos archive files
- Ver opo NET GRAPHIC
- Mostra dependncia entre os Archiving Objects
- Sugere um plano ordenado de Archiving
- Manuseio de erros
- Algumas causas de erro
- Problemas externos resultaram no cancelamento do job
- Existia um Archive File com o mesmo nome
- File System esta cheio
- O Archiving cancelou antes dos dados serem deletados (por exemplo, porque tem start
manual)
- Delete todos os Archive File
- Restart o job de Archive desde o inicio
- O Archiving gravou todos os Archive File, mas no processou todos os delete jobs
- Restart os delete jobs
- O Archiving cancelou no meio da gravao de um Archive File
- Backup dos Archive Files completos
- Delete o parcialmente gravado
- Restart o Archive Run to arquivar o resto dos dados

Authorizations necessrias
- S_ARCHIVE
- Especifica quais Archiving Object sero processados
- Especifica quais opes sero usadas
- Autorizao para o Archiving Object
- Verificar em SARA > nome do Archiving Object > INFO quais so as Authorizations
necessrias
- Atribuir estas Authorizations
- Autorizao para criar Job em Background

__________________________________________________________________________________________________________ 30
Apostila Mdulo Basis
Capitulo 11 R/3 Security

Segurana do R/3 no ambiente Cliente/Servidor


O R/3 tem seu prprio sistema de autorizao e controle de acesso
Porem, para completa proteo, a segurana deve ser implementada tambm
No Database
No Sistema Operacional
Nas camadas da rede

Parmetros do System Profile para senhas de Usurio


- login/min_password_lng
- tamanho mnimo de password
- default 3, de 3 a 8
- login/fails_to_session_end
- quantidade de tentativas de password antes de encerrar sesso
- defalut 3, de 1 a 99
- login/fails_to_user_lock
- quantidade de tentativas de password antes de travar usurio
- usurio destravado meia noite (ou pelo administrador)
- defalut 12, de 1 a 99
- login/failed_user_auto_unlock
- impede destravamento do usurio em lock a meia noite
- login/password_expiration_time
- tempo para expirar password
- valor 0 significa no expira

Outras regras de password


- No pode comear com ? ou !
- Primeiros 3 caracteres no podem fazer parte do Userid
- No pode ser PASS ou SAP*
- Posso definir senhas invalidas na tabela USR40

O conceito de Autorizao
- Objetivo proteger dados e funes do R/3 contra acesso no autorizados
- Funcionamento
- Criao das Autorizaes
- Criao de Usurios
- Assinalamento de Autorizaes para Usurios

Authorization Object
- Criado pelos programadores via transao SU21
- Checados dentro dos programas
- Cada objeto pode possuir diversos campos
- Uma Authorization um determinado conjunto de valores destes campos
- Cada objeto pode ter quantas autorizaes desejemos
- Cada chamada para verificar Authorization s checa uma autorizao por vez

Profiles
- As Authorizations so dadas para Authorizations Profiles (e no a usurios)
- possvel agrupar Authorizations Profiles numa Group Profile
- Um usurio possui uma ou mais Authorizations Profile ou Group Profiles
- Este relacionamento pode ser feita pela SU01, pasta PROFILE
__________________________________________________________________________________________________________ 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

Pr-requisitos para usar o Profile Generator


1. Gerar o IMG
2. Ativar o Profile Generator no IMG (Basis Components > System Administration > User &
Authorization > Maintain Authorizations and Profiles using PG)
- Alterar System Profile (Auth/no_check_in_some_case = Y)
- Ativar uma Plan Version

- Configurar uma Transport Connection


3. Trabalhar nos SAP check indicator e valores de campos
- Criar uma classe de desenvolvimento
- Copiar as tabelas USOB..
- Trocar os SAP Check Id default e valores de campos
- Reconfigurar check de Authorizations
4. Gerar o menu da empresa
5. Gerar Activity Groups
6. Gerar Profiles
__________________________________________________________________________________________________________ 32
Apostila Mdulo Basis
7. Assinalar Usurios para Profiles

Passos dentro do Profile Generator (PFCG)


1. Selecionar as transaes para um Activity Group
2. Completar (ou modificar) as Authorizations
3. Gerar as Profiles
4. Assinalar os Agents (usurios)
5. Update User Master Record

Observaes sobre o Profile Generator


- Ele gera Authorizations baseado nas tabelas USOBT_C e USOBX_C
- Se eu modifiquei as tabelas, as Authorizations refletiro estas mudanas
- Podemos assinalar Activity Groups a Agents ou a objetos do Organizational Plan
- O Organizational Plan composto de
- Root Organizational Unit
- Organizational Units sub-nivel da Root
- Jobs
- Positions so baseadas nos Jobs
- Um usurio assinalada para uma Position

Update User Master Record


- Ativado via PFCG -> encadeia transao PFUD
- Chamar transao PFUD na amo
- Rodar relatrio RHAUTUP1 (para chama-lo usar transao SA38)
- Todos rodam a Reconciliao daquele Activity Group
- Colocam a Profile nos User Master Records que esto associados
- Retiram de quem no est

A transao SU24
- Define o status para o Authorizations Checks de cada Objeto
- Pode ser:
- U -> No modificada Verifica autoridade Campos no aparecem no PG
- N -> No verifica autoridade Campos no aparecem no PG
- C -> Verifica autoridade Campos no aparecem no PG
- CM -> Modificada Verifica autoridade Campos aparecem no PG

Transporte de Authorizations, Authorizations Profiles e User Master Record


- Num mesmo sistema, entre Clients
- Transao SCCL, profile SAP_USER
- Entre sistemas diferentes
- Transao SCC8, profile SAP_USER

- Lembrar de sempre executar estas transaes no Client de Destino


- Se j houverem objetos com o mesmo nome no destino, estes sero sobrepostos

Transporte de Activity Groups


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

Para impedir o Import de um Activity Group


- Por razoes de segurana, podemos no querer que Activity Groups sejam importados
- Para isso devemos usar, no sistema destino, transao SM31 para editar a tabela T77TR

A transao SUIM (Authorization Information System)


- Emite uma srie de relatrios relacionados a Authorizations
- USERS
- PROFILES
- AUTHORIZATIONS OBJECTS
- AUTHORIZATIONS
- TRANSACTIONS
- WHERE USED LISTS
- COMPARATIONS

O SAPRouter
- Programa que serve de intermedirio entre sistemas R/3
- Funciona como um Proxy para acessos dentro do R/3
- Pode ser implementado independente de um Firewall
- O R/3 possui um componente chamado NI (Network Interface) que atua na camada 7 do OSI
- SAPRouter, CPI-C e RFC atuam nesta camada
- SAPRouter possui uma Route Permission Table para permitir ou negar acesso a outros
sistemas
- Usos do SAPRouter
- Fazer log das conexes
- Permitir acesso do seu sistema somente alguns outros SAPRouters
- Proteger o sistema de acessos no desejados
- Controlar a conexo com o OSS
- Permitir conexo criptografada apenas com parceiros conhecidos (Via SNC)

A implementao do SAPRouter
- O programa vem no diretrio USR/SAP/<sid>/SYS/EXE/RUN
- Para maior segurana nos Upgrades do R/3, manter o programa SAPRouter e sua
configurao num outro diretrio

- USR/SAP/SAPROUTER
- Manter tambm neste diretrio a SAPROUTTAB (tabela de roteamento)
- Para mudar esta tabela de lugar usar SAPROUTER R no Command Prompt
- recomendvel baixar a ultima verso do SAPROUTER se fomos instala-lo
- Verso mnima recomendada 23
- Se usamos SNC, no mnimo 30
- Devemos buscar num servidor SAPSERV (pode ser via OSS ou Internet)
- 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

As Route Strings do SAPRouter


- Sintax
- /H/hhhhhhh -> host
- /S/sssssss -> servio default 3299
- /W/wwwwwww -> password
__________________________________________________________________________________________________________ 34
Apostila Mdulo Basis
- Exemplo
- /H/Sap_Router_Origem/H/ Sap_Router_Destino/W/password/H/Application_Server

A Permission Table
- Cada SAPRouter tem sua Permission Table
- uma tabela criada no USR/SAP/SAPROUTER via editor de texto ascii
- A tabela contem 5 campos para cada conexo
- Permit / Deny (P ou D)
- Source Computer (ip address)
- Target Computer (ip address)
- Service (default 3299)
- Password (se no especificarmos, no precisa de password)
- So vlidos *
- Source Computer 123.45.*
- Services *
- A pesquisa seqencial, o R/3 para quando encontra uma match
- Para maior facilidade, colocar na tabela primeiro os DENY depois os PERMIT

O NIPING
- um PING da SAP
- Serve para testar a conexo entre 2 hosts de R/3, com ou 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

Opes do comando SAPROUTER


- Sem parmetros -> HELP
- -r -> ativa SAPRouter
- -r -g LogFile -> ativa e gera log de conexes (ou de recusas) num LogFile
- -r V3 -> ativa e gera trace nvel 3 no diretrio de work (arquivo DEV_ROUT)
- -t TraceFile -> muda o nome do arquivo de trace
- -s -> encerra SAPRouter

SNC (Secure Network Communication)


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

Convenes de Nome
- Deve-se compatibilizar a estrutura de nome do R/3 com a do produto externo
- Se produto compatvel com x.500, o R/3 possuem um CN, porem no possui O, OU ou C
- Sugere-se a utilizao de constantes nestes campos
- Pode-se usar ainda o System Number e outros atributos instance especifica
- CN=sap01.hs0017,OU=TEST01,O=SAP,C=BR
- sap constante, 01 o SysNumber, hs0017 o servidor, etc

Ativao de usurios SNC


- Ateno: SNC s funciona se na instance profile snc/enable=1
- Via SU01 criamos o usurio e o relacionamos com o usurio SNC
- Podemos usar ainda a transao SM30, view USRACL, que edita a tabela de usurio e
entrar com o nome do usurio SNC diretamente na tabela de usurios

- Caso seja necessrio mais de 1 usurio SNC para 1 usurio, devemos usar a tabela
USRACLEXT
- Isso pode ser necessrio no caso de usurios RFC ou CPIC
- Para maior segurana
- Atribuir apenas 1 usurio R/3 para cada usurio SNC
- Atribuir apenas 1 usurio SNC para cada usurio R/3
- Sugere-se a utilizao de constantes nestes campos
- Pode-se usar ainda o System Number e outros atributos instance especifica

A autenticao depois do SNC ativado


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

Parmetros de profile
- snc/enable=1
- snc/data_protection/min=2
- snc/data_protection/max=3
- snc/data_protection/use=3
- snc/accept_insecure_gui=1
- snc/accept_insecure_rfc=1
- snc/accept_insecure_cpic=1
- snc/accept_insecure_r3int_rlc=1
__________________________________________________________________________________________________________ 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

Uso de SNC no SAPGui


- Via SAPLOGON
- Usar Advanced Setting
- Configurar SNC Enable e depois SNC Name e Protection Level
- Via Shortcut
- sapgui.exe <servidor> SNC_PARTNERNAME=<appserver> SNC_LIB=<gsslib> SNC_MODE=<modo>
SNC_QOP=<protection level>

Uso de SNC em RFC e CPI-C


- No funciona de R/3 para R/2
- Para definir destino com SNC Protection
- Para RFC transao SM59
- Para CPI-C transao SM54
- Para receber conexes SNC Protected
- Transao SNC0 (access control list)

Uso de SNC com SAPlpd


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

Uso de SNC com SAPRouter


- Normalmente a proteo do SAPRouter pela Permission Table
- Ela trabalha com a origem (endereo IP) e destino (IP e servio)
- Com SNC deve-se trabalhar no mais com o IP de origem, mas nome do servidor
- Para ativar SAPRouter com SNC
- Definir varivel ambiental SNC_LIB com o nome da biblioteca externa
- Chamar SAPROUTER K <saprouter_snc_name>
- A Permission Table muda
- Permit = KP
- Deny = KD
- Nome do servidor o nome completo (contexto x.500)

Recomendaes para uso do SNC


- No misturar servidores SNC com no SNC
- Verificar aderncia dos padres de nome do produto externo com o R/3
- Ter em mos todas as bibliotecas que sero necessrias e suas localizaes em disco
- Verificar o nvel de proteo desejados para cada componentes
Capitulo 12 CCMS Monitoring Infraestructure

__________________________________________________________________________________________________________ 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

Exemplos de OnAlert Tools


Se acontecer um problema, desejo que seja enviado um e-mail
Posso definir um programa que, se ocorrer aquele problema, envia um e-mail e coloca-lo
como um OnAlert Tool

Analisys Tools
Programas que rodo quando quero para ler o MTE e fazer analises
So ativados manualmente

Ampliando a capacidade do Monitoring


Podemos permitir ao Monitoring acessar sistema R/3 externos
Cada um ter suas prprias definies de threshold and settings
Estas definies ficaro no prprio sistema externo
Eles devem possuir conexo RFC com o sistema base
Definimos quais sistemas queremos anexar na RZ21
Podemos ainda definir nossos prprios objetos no Monitoring
Usar APIs do ABAP ou do C

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

Transport de componentes do Monitoring


Funo nova, a partir do release 4.5
Somente tabelas podem ser transportadas entre sistemas
Todas comeam com AL
ALCLASTOOL Assinalamento de ferramentas para classe
ALCONSEG Assinalamento de contexto e segmento
ALCUSTSET Conjunto de dados de customizao
ALGRPCUSGE Dados de customizao Class-Independent
ALGRPCUSMG Single message Class
ALGRPCUSPF Performance Class
ALMONISETS Monitor Sets para infra-estrutura da CCMS
ALMICUSGEN Customizao Class Independent
ALMTCUSPER Performance Class
ALMECUSSMG Single Message Class
ALTIDTOOL Assinalamento de Tool para TID
ALTOOLCHEK Ferramentas que foram verificadas como utilizveis
ALTOOLDP Nome do Tool Dispatcher
ALTOOLEXEC Assinalamento do executvel para o nome da ferramenta

Resoluo de Problemas
Para resolver problemas (com as ferramentas desenvolvidas ??), devemos
Usar traces de desenvolvedor
Usar trace de SQL
Usar debbuging tools do ABAP
Dicas e truques do runtime analisys

__________________________________________________________________________________________________________ 40
Apostila Mdulo Basis
Capitulo 13 CCMS Configuration

CCMS (Computing Center Management System)


Ferramenta integrante do R/3
Deve ser configurada corretamente antes do uso
Fornece facilidades para monitorar, controlar e configurar o R/3
Possui display grficos
Funes principais
Manuteno de Profiles
Definio de Operation Modes, Instance definitions e Scheduling
Start e Stop de instances
Processar e controlar Jobs em background
Schedular backups do banco de dados
Avisos automticos de System Alerts
Dynamic logon load balacing
Monitorao e analise do sistema e da rede

Passos para configurao da CCMS


1. Import e Manuteno das Profiles (Default, Instance e Start)
2. Definio dos Operations Mode
3. Criao das Instance Definitions
4. Adaptao das Instance Definitions e Operation Mode
5. Definio da Timetable

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

A criao inicial das Profiles


Default Profile gerada quando instalamos a 1 instance (na instalao do R/3)
A instalao feita pelo programa R3SETUP.EXE
Para cada instance (inclusive para a central instance), gerada uma Start Profile e
uma Instance Profile

__________________________________________________________________________________________________________ 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

O esquema de manuteno das Profiles


Profiles existem em 2 lugar
No NT, de onde o R/3 le as profiles no start
No Database do R/3, a partir do qual realizamos as manutenes
O esquema de manuteno implementado pelo R/3 visa mante-las compatveis, com 2
gravaes das profile:
Gravao na base de dados
Sempre com controle de verses
Ativao no NT
As profile recebem um header com data, hora, usurio, etc

Alteraes nas Profiles


Se alterarmos a profile via RZ10, ao gravarmos a alterao ser feito uma verificao
Caso ocorram erros ou inconsistncias, estas sero exibidas
Todas as alteraes so registradas no DataBase e no arquivo ativado no SistOper
As alteraes no tem efeito imediato, necessrio restar do sistema
Para Default profile muitas vezes necessrio restartart o servio NT
possvel Dynamic Switching para alguns parmetros de memory management da
Instance Profile

Verificao de Profiles
Podemos (e devemos) checar a sintaxe das profiles antes de gravarmos alteraes
Se o check for feito numa profile individualmente, ela ser consistida para validade
sinttica dos parmetros
Se o check for feito em todas as profiles ao mesmo tempo ( uma opaco da RZ10), as
profiles sero consistidas entre si para ver se esto consistentes
Se existe um message server definido em qualquer das instances
Se um enqueue esta configurado em uma das instances
Outra verificao feita quando um application server ativado
Ele checka ser a profile armazenada no Sist Oper a mesma do Database
Caso no for, ativa um Alert Monitor

Operation Mode
A quantidade de Background WP e Dialog WP de cada instance definida na Instance
Profile
Se quisermos modificar este parmetro, seria necessrio alterar a profile e dar um
novo start da instance

Para evitar esta perda de tempo, existe o Operation Mode, que define como e quando
cada instance deve trabalhar com BWP e DWP
__________________________________________________________________________________________________________ 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

Criao de Operation Modes


Feito pela transao RZ04
Para configurar a CCMS obrigatrio ter ao menos 1 Operation Mode
Existe 1 Operation Mode default chamado DUMMY
No entanto no pode ser usado para switching
No pode ser assinalado para a TimeTable
Operation Modes podem ser definidos como
Productive vo ser ativados de acordo com a TimeTable
Test no vo ser ativados de acordo com a TimeTable
Cada instance deve ter uma definio dentro da RZ04 p/ podermos criar Operations Mode
Esta definio se chama INSTANCE DEFINITION e feita importando os dados das profiles
de definio da instance
possvel, mas no recomendado, criar Instance Definitions manualmente
Opes para import de Instance Definition
Todos os servidores ativos
De uma instance especifica que esteja ativa
Aps termos feito as instance definitions, podemos criar seus Operation Modes
Na redistribuiro dos WP, no podemos criar, somente redistribuir
Nesta configurao, podemos criar WP para jobs de Classe A
No podemos nunca menos de 2 DWP numa instance

A TimeTable
Transao SM63 -> Relaciona Operation Modes na TimeTable
A TimeTable pode ser dividida em 60, 30 ou 15 minutos
Existem 2 TimeTable
Normal Operation (usada no dia-a-dia)
repetida a cada 24h
Se no tivermos uma Normal Operation definida, o sistema rodar de acordo com a
definio da profile e no ocorrer switch de opmode
obrigatrio definirmos OpMode para todos os perodos do dia
Expectional Operation
Ativada 1 vez num perodo especifico
Tem prioridade maior que a Normal Operation
Podemos especificar parte do dia

Ativao manual de OpModes


Via transao RZ03
Pode trocar para todos os servers ou apenas 1

Podemos solicitar uma simulao de troca, para verificarmos se possvel ela ser
executada
__________________________________________________________________________________________________________ 43
Apostila Mdulo Basis
Este OpMode ficar ativo at a prxima troca programada na TimeTable

Diagnostico de problemas no Switch


Devemos olhar no System Log (SM21)
Verificar como esto os WP (SM50)
Causas comuns de erro: numero errado de WP no sistema. Verificar
Instance Profile no Sistema Operacional
Instance Profile no DataBase
Definio de numero de WP no OpMode
A verificao do numero de WP nestes 3 locais deve ser feita regularmente
Se alterarmos as profiles e restartarmos o sistemas devemos adequar o OpMode e
Instance Definitions ao novo panorama

START e STOP de instance na CCMS


possvel dar Start e Stop em instances via CCMS
necessrio que ao menos 1 instance (a central instance) e o db esteja no ar
A transao para Start e Stop a RZ03

__________________________________________________________________________________________________________ 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

Monitoring Object a Tools correspondentes


- R/3 Syslog (SM21)
- Exibe o Log do Sistema
- Possui mensagens
- S -> Start e Stop do R/3 ou WP ou Switch de Opmode
- W -> Operaes de Rollback
- K -> Erros de programas do Kernel
- T -> Transaes ABAP com short dumps

- R/3 Services
- R/3 Servers (SM51)
- Exibe servidores disponveis
- Exibe usurios no sistema (por servidor)
__________________________________________________________________________________________________________ 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

Passos para analise de Problemas


__________________________________________________________________________________________________________ 48
Apostila Mdulo Basis
- problema de performance?
- Afeta todos os usurios ?
- No -> fazer trace do ABAP e do SQL que esta com problema
- Sim -> Verificar carga dos servidores e analisar
- CPU Time
- CPU Time muito menor que o Response Time
- Wait Time
- Load Time
- DB Request Time

Analise do Problema
- CPU Time
- Muito processamento
- CPU Time muito menor que o Response Time
- Gargalo de I/O
- Problemas na rede
- Wait Time
- Falta de Work Process
- Todos os Work Process ocupados
- Load Time
- Poucos R/3 Buffers
- Falta de ndices nas tabelas
- DB Request Time
- Sobrecarga de CPU no DB Server
- Falta de memria no DB Server
- Muito disk sort falta de ndices

Mais Jobs de Basis de Clean up do sistema (dirios)


- RSPO0043 Verifica consistncia do Spool
- RSSTAT60 Reorganiza tabela MONI
- RSORA811 Deleta brbackup e brarchive do Oracle
- RSORASNP Reorganiza SNAP e STAT$ log do Oracle

__________________________________________________________________________________________________________ 49
Apostila Mdulo Basis
Capitulo 15 Workload Distribution

Load Balancing
- Dialog, Background e Update WP podem ser distribuidos atravs de Operation Mode
- Spool WP podem ser distribuidos via RZ10 (Edit Profile)
- Background, Update e Spool podem ser despachados para outra instance
- Dialog s pode rodar na mesma instance

Filas do Dispatcher
- Cada Dispacther tem sua fila
- Tamanho da fila default de 2000 elementos
- Tamanho configurado em rdisp/elem_per_queue
- Se estoura, gravada mensagem em SYSLOG
- Para UP2 o default 5
- Pode ser monitorada pela SM51 > Select Server > Goto > Queue Information
- Solicitacoes armazenadas na Dispatcher Queue so divididas em
- NOWP (envia solicitacoes dos WP ao Message Server)
- DIA, BTC, UPD, UP2, SPO, ENQ
- D para ver a Dispatcher Queue
- via RZ03 > Edit > Other Views > Dispatcher Queue
- via comando do S.O dpmon pf=instance_name

WP Load Balancing Monitoring


- Via ST03 > Detail Analisys Menu > Compare all Servers > Graphics > Avg Resp Time
- Mostra grafico com tempo de resposta e dialog steps por servidor
- Via SM50
- Olhar os WP de cada tipo
- Os ultimos de um tipo devem ter seu uso zerado, senao esta faltando WP deste tipo
- Dicas
- R3SETUP instala todos UPD WP na mesma instance
- Podemos separar
- Alta carga na Central Instance indesejada
- Retirar dela RFC e CPI-C -> usam muita memoria e CPU
- Muitas interfaces podem ser movida para Dialog WP

Logon Load Balancing


- Vantagens
- Se um servidor falha, logon procura outro
- Usuarios de mesmas caracteristicas usam mesmos programas e aplicacoes
- Logando no mesmo grupo melhoramos consumo de recursos
- Usuario podem usar Code Page que s pertencem a um grupo de servidores
- Usuario logam num nome logico, no fisico
- Usuarios so distribuidos entre os servidores do grupo baseados
- Servidor com melhor tempo de resposta (peso 5)
- Servidor com menos usuarios (peso 1)
- Para ver resultado da eleicao SMLG > Goto > Syst Diagnostics > Msg Serv Stat Area
- Dados so coletados pelo programa RSRZLLG0
- Roda a cada 5 minutos ou 4 logons

- Se for usuario RFC s atualiza a cada 5 minutos


- Para checar distribuicao dos logons entre os servidores
- SMLG > Goto > User List -> mostra usuarios e instances onde estao logados
- AL08 -> todos os usuarios logados

__________________________________________________________________________________________________________ 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

Background Load Balancing


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

Spool Load Balancing


- Monitoracao
- Colocar alertar no CCMS Alert Monitor
- Verificar via SM66 se existe falta ou excesso de Spool WP
- Usar CCMS para verificar
- Spool Utilization < 99%
- Service Queue < 80%
- Spool WP wait Time < 1% do Reponse Time
- Dicas
- Definir Logical Spool Servers com Non-Exclusive Spool Servers

- No definir Sequential Request Processing para o Output Device


- Definir Do Not Ask For Print Request On Host Spool para o Output Device
- Evitar metodo do acesso U (Remoto)
- Reservar 1 ou + Logical Spool Servers para impressoes Time Critical ou High Volume

Update Load Balancing


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

__________________________________________________________________________________________________________ 52
Apostila Mdulo Basis
Capitulo 16 Software Logistics

Instance
- Grupo de servios R/3 que aso ativados e encerrados juntos (por um Dispatcher) and que
tem uma Instance Profile comum
- Servios da Instance: DVEBMGS

Central Instance
- Instance R/3 que contem o message server e tipicamente contem todos os servios R/3

Dialog Instance
- Instance que contem somente Dialog WP

Application Server
- Computador com 1 ou mais servios R/3 instalados

Dados do R/3
- Client Dependent
- Afeta apenas 1 cliente, como User Master Data, Application Data e boa parte do
Customizing Data
- Client Independent
- Dados que afetam todo o sistema, como Objetos do Repositrio e alguns dados de
Customizao

ABAP Dictionary
- Parte do ABAP Repository
- Contem os programas, telas e as definies das tabelas
- nico para todo o sistema
- Cada vez que rodamos um programa, ele gerado e vai para o buffer (early building)
- Se efetuarmos uma alterao, quando for usado novamente ele regerado (late binding)
- Este processo torna o ABAP Dictonary ativo, sem impactar fortemente na performance

Clients R/3
- Unidade R/3 que tecnicamente, organizacionalmente e comercialmente 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

Sugesto de Cliente da SAP


- Ambiente 1
- Development e Customizing
- SandBox
- Test
- Ambiente 2
- Quality Assurance
- Training
- Ambiente 3
- Production

- Esta estrutura permite


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

Aims of the R/3 System Landscape


- Proteger dados das aplicaes atravs
- Regras de Client
- Autorizaes

Transporte
- a distribuio de alteraes dentro de 1 landscape
- Unidirecional, no d pra transportar no sentido inverso
- S permitido transporte entre sistemas de mesma verso
- Ferramentas para gerenciamento de transporte permitem
- Auditar modificaes feitas
- Controlar por quem e aonde estas alteraes foram feitas
- Definir aonde e quando alteraes sero distribudas
- Implementar upgrades do R/3

CTS Changing and Transport System


- Composta por
- CTO Change and Transport Objetct
- Workbench Organizer (SE09)
- Customizing Organizer (SE10)
- Transport Organizer (SE01)
- TMS Transport Management System
- STMS
- Operating System Transport Tools
- TP converso com o R/3
- R3TRANS faz realmente o transporte

__________________________________________________________________________________________________________ 54
Apostila Mdulo Basis
Capitulo 17 Change and Transport System Prerequisites

Setup do System Landscape


- Antes de instalar o R/3 e o Database
- Definir a infraestrutura de rede
- Definir equipamentos e sistema operacional
- Durante a instalao do R/3 e do Database
- Criar um diretrio compartilhado de transporte
- Podemos ter apenas o ambiente de desenvolvimento nesta fase
- Depois da instalao do R/3 e do Database
- Configurar o TPPARAM
- Na instalao vem no diretrio USR/SAP/<sid>/SYS/EXE/RUN
- Na operao normal deve ficar no USR/SAP/TRANS/BIN
- Inicializar o CTO (SE06)
- Setar a TMS (STMS)

Fases do Transporte
- 1 Exporte das Change Requests do database para o diretrio de transporte no NT
- 2 Importe destes objetos no QAS
- 3 Importe destes Objetos nos Delivery Systems (aps a validao, claro)

O Diretrio de Transporte
- Nome base \SAPMNT\TRANS (precisamos ter o Share SAPMNT)
- estimado um tamanho de 10 Mb para cada Customizer ou Developer que houver
- So criados pelo R/3 durante a instalao
- Subdiretorios
- BIN -> onde fica o TPPARAM e DOMAIN.CFG
- BUFFER -> Arquivos com o nome e a ordem dos Change Requestes a serem importados
- COFILES -> K9______.<sid> - Comandos/informaes da Change Request (tipo, classe)
- DATA -> R9______.<sid> - Change Requests exportadas
- OLDDATA -> Change Requests velhas, j importadas
- LOG -> Logs dos transportes, traces, estatsticas
- ACTLOG -> Logs das tasks e requestes (manuseado pelo R/3)
- SAPNAMES -> Log das atividades de cada usurio
- EPS -> usado na aplicao de Hot Packeges
- TMP -> dados e logs temporrios (depois vo para o DATA e LOG)

O Programa TP
- Configurao feita no arquivo TPPARAM
- Template TPPARAM.NT enviado pela SAP, mas precisa ser customizado e colocado no
USR/SAP/TRANS/BIN
- Parmetros principais
- # Global Parameters
- transdir=/usr/sap/trans
- # Local Parameters for system T11
- T11/dbname=T11 <- cai no teste
- T11/dbhost= HOSTDB11 <- cai no teste
- ...

- # Local Parameters for system T12


- T12/dbname=T12
- T12/dbhost=HOSTDB12

__________________________________________________________________________________________________________ 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

Inicializao do CTO (Change and Transport Organizer)


- Transao SE06
- Deve ser executada 1 vez, em toda nova instalao
- Define o status do Sistema
- New Installation
- Database copy ou migration
- Se escolhermos esta opo, todas as change requests pendentes sero liberadas
- Estabelece o numero inicial da Change Request
- Define o System Change Option
- Not Modifiable
- Allow changes to Repository objects and Client Independent Customizing
- Neste caso podemos especificar namespace, name range e tipos de objetos que
podem ser modificados

O TMS Transport Management System


- Vantagens
- Configurao Centralizada
- Gerenciamento centralizado das Change Requests
- Estratgia de transporte baseada em rotas predefinidas
- Outras vantagens
- Um editor grfico e um hierrquico para rotas
- Display de todas as queues do sistema no transport domain
- Pode fazer import Preliminar
- Pode fazer transport entre R/3 sem um diretrio compartilhado

A configurao centralizada
- As definies so configuradas centralmente e depois distribudas entre todos os
participantes do Domain Controler
- S podemos realizar estas configuraes no Domain Controler
- Os participantes do Domain Controler no precisam compartilhar o mesmo diretrio
- As configuraes so distribudas via RFC
- Dentro de uma mesma TMS todos os sistemas pertencem ao mesmo transport Domain
- Dentro do Transport Domain, algumas configuraes (como rotas) valem para todos os
sistemas
- O Domain Controler o sistema de referencia para todos os outros, enviando copias da
configurao
- Um grupo de sistemas R/3 que compartilham um mesmo diretrio de transporte chamado
de transport group
- No podemos usar o TMS para transportar objetos entre computadores de transport Groups
diferentes

Configurando a TMS

- 1 Configurar o Transport Domain


- Assinalar os sistemas R/3 para o Transport Domain
- Especificar quem ser o Domain Controler
- 2 Configurar as Routes
- Definir a rota de consolidation
- Definir rotas de Delivery
__________________________________________________________________________________________________________ 56
Apostila Mdulo Basis
- 3 Check and Monitor TMS setup
- Verificar setup usando ferramentas do TMS

Configurar o Transport Domain


- O Transport Domain contem todos os R/3 que queremos administrar juntos
- Um deles ser o Domain Controler
- O Domain Controler dever ter
- Alta disponibilidade
- Alta segurana
- Excelente nvel de manuteno
- Normalmente o Domain Controler o sistema de produo
- No causa perda de performance, o uso pequeno e de baixa carga

Inicializando o Transport Domain Controler


- feita usando a transao STM
- Precisa ser feita no CLIENT000
- O usurio que a faz precisa da autorizao S_CTS_ADMIN
- Ao rodar a STMS
- Se o sistema j esta assinalado para um transport domain, isto exibido na tela
inicial
- Se no esta assinalado, o R/3 tenta localizar um Transport Domain lendo o
DOMAIN.CFG. Se no existe, cria e o sistema corrente assinalado como System
Domain Controler
- Na criao do Domain Controler
- criado o Transport Domain e o Transport Group
- criado o usurio TSMADM
- criada uma conexo RFC para o TMS
- criado o arquivo DOMAIN.CFG no /USR/SAP/TRANS/BIN
- O nome default do Transport Domain DOMAIN.<sid>
- <sid> o Sistem Id do Domain Controler

Acrescentado novos sistemas R/3 a um Domain Controler


- Rodar no novo sistema a STMS no CLIENT000 (no devemos nos esquecer de rodar a SE06
antes)
- O novo R/3 procurar no DOMAIN.CFG o nome do Domain Controler
- Vai pesquisar no diretrio compartilhado para saber quem o Domain Controler
- Todos os sistemas usam o mesmo arquivo, que lido durante a inicializao da STMS
- Ele contem o Domain Controler e o Transport Group Address
- Se o sistema no tem um diretrio compartilhado, podemos configurar manualmente a
TMS com o endereo do Domain Controler
- Criar o usurio TSMADM no CLIENT000
- Gerar a conexo RFC
- Enviar ao Domain Controler uma solicitao requisitando entrada no grupo

- No domain Controler deveremos


- Aceitar esta incluso
- Verificar a configurao e comunicao com o novo sistema

Gerenciamento do Transport Domain


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

- Configuration > Activate > Local


- Por ltimo, devemos verificar o Setup da TMS
- Verificar Conexo RFC
- Overview > System > R/3 System > Check > Connection Test
- Verificar transporte via diretrio
- Overview > System > R/3 System > Check > Transport Directoty
- Verificar programa de transport (TP)
- Overview > System > R/3 System > Check > Transport Tool

__________________________________________________________________________________________________________ 58
Apostila Mdulo Basis
Capitulo 18 Change Management for Development

Adaptao do R/3 para as necessidades do cliente


- Customizing
- Definio dos business process usando o IMG
- Personalizing
- Alteraes na forma de exibio de dados ou de menus
- Modification
- Alterao de Objeto SAP do repositrio por clientes
- Enhancement
- Criao de objetos no repositrio que so chamado ou includos via User Exits
- Customer Development
- Criao de objetos novos no repositrio

Change Requests
- Forma de manuteno de objetos do Repositrio
- Providencia o meio de transportar alteraes
- Fornece meios para documentar novos desenvolvimentos ou alteraes de objetos do
repositrio
- Nela definimos os objetos que sero alterados e desenvolvedores autorizados
- Todos os desenvolvedores desta CR podem executar alteraes nos objetos definidos
nela
- Depois de todas as alteraes completadas, libero a change request
- Uma nova verso completa dos objetos daquela CR gravada no repositrio
- possvel acessar e retornar verses antigas dos programas
- Existe na CR um mecanismo de lock para evitar alteraes de objetos na CR para
desenvolvedores no catalogados nela
- A transao SE09 (Workbench Change Request)
- Criar, administrar e liberar change request para o Workbench
- Incluir desenvolvedores para uma CR
- Mostra informaes sobre transporte
- Possui uma viso grfica do status da CR transportadas

Gerenciando CR
- Atravs da SE09
- Exibe uma estrutura hierrquica com as CR para um usurio
- Dentro de uma CR vemos todas as Tasks assinaladas
- Dentro de uma Task, vemos os objetos (caso tenham sido alterados)
- Os tipos de uma Workbench Change Request so
- Transportable
- Local
- Unclassified
- Existe ainda a Customizing Change Request, para o IMG
- 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

Gerenciando Projetos de Desenvolvimento


- No inicio de um projeto, o Lider do projeto cria a CR e assinala desenvolvedores para
ela
- O sistema assinala um numero para a CR
- <sid>K9<nnnnnn>
- criada uma task para cada desenvolvedor na CR
- Se um desenvolvedor altera um objeto e o relaciona a CR, o objeto armazenado na task
do desenvolvedor
- Desta forma, a CR armazena todas as atividades do desenvolvedor para aquele projeto
- Quando o desenvolvedor termina seu trabalho, ele libera sua task
- Quando todos os desenvolvedores terminam suas tasks, o Lider do Projeto libera a CR

Autorizaes para trabalhar com CR


- Profile S_A.SYSTEM autorizao S_CTS_ADMIN
- Para o System Admnistrator, contem todas autorizaes Change and Transport System
- Profile S_A.CUSTOMIZ autorizao S_CTS_PROJEC
- Para Customizing, para todas as atividades de setting do sistema (Lider do Projeto)
- Profile S_A.DEVELOP autorizao S_CTS_DEVELO
- Para Developers e Customizing team member que trabalham na CR a nvel de task
- Profile S_A.SHOW autorizao S_CTS_SHOW
- Para Basis ou usurios finais, apenas Display

SSCR - Chave de Desenvolvedores e Objetos SAP


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

- Facilidade de Upgrade

Name convention para objetos do repositrio


- Os nomes dos objetos de desenvolvidos pelos clientes no podem coincidir com nomes de
objetos da SAP
- Objetos de cliente normalmente comeam com Y ou Z
- View V_TRESN define name conventions para uma Development Class
__________________________________________________________________________________________________________ 60
Apostila Mdulo Basis
- O prefixo do namespace identifica objetos criado por partners
- /XXXXXXX/ZABAP

System Change Options


- para cada sistema, o System Change Option define se possvel alterar objetos do
repositrio
- esta definio feita por namespace e name ranges
- para fazer esta customizao preciso autorizao S_CTS_ADMIN
- para permitir uma modificao em objetos locais, devemos setar o name range Local
Objects para Modifiable
- Local Objects so objetos cuja development Class comea com T ou $
- Estes objetos no so do sistema

Development Class
- Todo objeto do repositrio deve ter uma development class
- Uma Development Class pode ser criada pelo Workbench ou pela tabela V_TDEVC
- Na V_TDEVC podemos especificar tambm qual name range pode ser definido em cada
Development Class
- Ao criarmos uma Development Class, automaticamente assinalada para ela uma Transport
Layer
- Podemos criar uma Transport Layer alternativa se quisermos
- Development Class de clientes devem comear com
- Y ou Z para objetos que sero transportados
- $ para temporary development class, ou seja objetos que no sero transportados e
portanto no precisam de um transport layer
- T indica development class de objeto local, com o Workbench provendo servios de
lock e gerenciamento de verses
- Development Class $TEMP indica que o objeto salvo como um Local Object e no deve
ter suas alteraes armazenadas numa Change Request
- Ela proporciona um agrupamento lgico para coordenar o desenvolvimento
- Define uma Transport Layer para os objetos
- Pode ser usada para controlar o nomes dos objetos

Transport Layer e Development Class


- Uma Development Class assinalada para um Transport Layer
- Se a Transport Layer uma Consolitation Route valida, os objetos daquela development
Class so transportados para o consolidation system
- Os objetos da SAP modificados pelo cliente no Integration System seguem a rota SAP

Repository Object Locking


- Objetos podem ser modificados por todos os desenvolvedores assinalados para uma Change
Request

- Somente os desenvolvedores assinalados para uma Change Request podem modificar os


objetos presos pela request
- O lock do editor garante que nunca 2 usurios estaro modificando o mesmo programa ao
mesmo tempo
- Objeto assinalado para a change request no momento que o desenvolvedor salva um
programa
- Somente na liberao da CR os locks dos objetos alterados naquela Change Requeste so
liberados para alterao por outra Change Request

Liberao da CR e da Task
__________________________________________________________________________________________________________ 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

Ajuste antes de um Upgrade


- Quando fizermos um Upgrade devemos nos preocupar com as alteraes e desenvolvimentos
efetuados no ambiente
- Ferramenta PREPARE lista programas
- Originais no alterados
- Originais com flag de repair
- Desenvolvidos pelo cliente
- Ferramenta SPDD verifica dicionrio de dados
- Ferramenta SPAU faz merge dos outros objetos do repositrio

Objects Diretrio
- Catalogo de todos os objetos do Repositrio
- Objetos da SAP
- Objetos gerados pelo Cliente
- Atributos dos objetos
- Tipo (PROG, DEVC, VIEW, FORM)
- Development Class
- Responsvel
- Sistema Original
- Linguagem
- Repair Flag
__________________________________________________________________________________________________________ 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

Workbench Organizer Tools


- Relatrios com informaes sobre as alteraes processadas via Change Request
- Permite acessar
- Objects in Request
- Search for Objects in Request (SE03)
- Pesquisa objetos nas change requests
- Analyze objects in request/tasks
- Place objects in transport request
- Unlock objects
- Objects
- Modifications Monitor
- Objects in Customer Namespace
- Namespace info utilities
- Object Directory
- Altera atributos dos Objetos, modificando tabela TADIR
- Change object directory entries of objects
- Change object directory entries of objects in a request
- Change peston resposability for objects
- Requests/Tasks
- Display transport logs
- Search for request / tasks
- Merge objects lists
- Performa ADO import
- Administration
- Set System Change Options
- Display / Change namespaces
- Global Customizing Workbench Organizer (SE01)

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

Diretrizes para Change Management for Development


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

__________________________________________________________________________________________________________ 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

Client Independent Customizing


- composto por
- Client independent customizing object
- Objetos do repositrio gerados pela Customizao
- Ex. Matchcodes
- Condition Tables
- Hierarchies
- Global customazing setting
- Calendrios
- Impressoras
- Communications setting
- Schedules
- Objetos do repositrio
- Programas e tela
- Para transportar estes objetos usar Workbench Change Requests

Diretrizes para Change Management for Customizing


- Definir polticas de Customizing
- Criar projetos no IMG
- Documentar
- Usar um client para toda a customizao
- Restringir o acesso as CR
- Somente para quem tem necessidade

- Criar times de projeto


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

__________________________________________________________________________________________________________ 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

- Existe ainda o Alert Monitor


- Registra todas as aes ocorridas no TMS
- O cone um sino no TMS

__________________________________________________________________________________________________________ 67
Apostila Mdulo Basis
Code Freezing
- uma tcnica, uma recomendao para no deixarmos alterar cdigo no desenvolvimento
enquanto esta sendo testado no QAS

Definio do Change and Transport Management


- Definio dos canais de distribuio para todos os sistemas do Landscape
- Identificar os pontos de transporte
- Estabelecer tcnicas de Code Freezing
- Definir procedimento de verificao dos imports
- Estabelecer a agenda de transporte
- Definir procedimentos de Preliminary Import

__________________________________________________________________________________________________________ 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

Parmetros do TP para Import


- IMPORT ALL <target sid> CLIENT=<client> importa todas
- IMPORT <Change Request> <target sid> CLIENT=<client> Un preliminary import

__________________________________________________________________________________________________________ 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

Parmetros do TP para acesso ao Buffer


- SHOWBUFFER <sid> mostras as entradas do buffer
- ADDTOBUFFER creq <sid> adiciona entrada ao buffer
- DELFROMBUFFER creq <sid> deleta entrada do buffer
- CLEANUFFER <sid> retira as entradas que j foram importadas do buffer
- SETSTOPMARK <sid> colocar stop mark
- DELSTOPMARK <sid> retira stop mark

O R3Trans
- Programa chamado pelo TP para fazer o transporte
- Usa o comando CreateProcess do NT
- Podemos exportar dados numa verso do R/3 e importa-lo numa verso posterior
- No entanto, o programa TP e o R3Trans no poder realizar transportes entre relesses
diferentes do R/3

Programas ABAP envolvidos numa transferencia


- O TP roda a nvel de S.O. mas precisa de programas ABAP para algumas tarefas
- Cada Client tem que ter um programa de gerenciamento desta interface schedulado para
rodar no R/3
- RDDIMPDP_CLIENT_xxx
- Podem ser schedulados utilizando o programa RDDNEWPP
- Eles so disparados por um evento que o TP manda atravs do SAPEVT
- Evento SAP_TRIGGER_RDDIMPDP
- Ou SAP_TRIGGER_RDDIMPDP_CLIENT
- A comunicao de dados feita atravs da tabela TRBAT e TRJOB
- TRBAT para envio dos dados
- TRJOB com o status da execuo

Seqncia de execuo da transferencia


- Cada fase executada para todas as CR
- Execuo por fase e no por CR
- DDIC I - ABAP Dictionary Import Inactive
- ACTIV - Active Dictionary, Distribution, Structure conversion, Move nametabs
- MAIN I - Main Import
- MC ACT - Activation of enqueue definitions
- MC CONV - Enqueue Convertion
- ADO I - Import of ADO

- LOG I - Logical Imports


- VERS F - Versioning
- XPRA - Execution of User Defined Activities
- GENERA - Generation of ABAP programs and Screens

TP Steps e seus logs no ALOG


- E -> main export
__________________________________________________________________________________________________________ 71
Apostila Mdulo Basis
- P -> test import
- H -> DD objects import
- A -> DD objects activation
- S -> DD objects distribution
- N -> DD objects convertion
- 6 -> DD objects move nametabs
- i -> main import
- T -> import of table entries
- M -> enqueue activation
- G -> generation objects do repositorio
- V -> version update

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

- Se ocorreu problemas (RC > 12) TP restart RDDIMPDP (trigger) que analisa e restarta
o job

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

Tipos de copia de dados entre Clients


- Local Client Copy
- Entre Clients no mesmo R/3
- Remote Client Copy
- Entre Clients em diferentes R/3
- Usa RFC para fazer a transferencia
- Client Transport
- Entre Clients em diferentes R/3 via transporte
- Dados so exportados para o Sistema Operacional e depois importados
- Como entre sistemas, a nica que pode levar Client Independent Customizing Data
- Nenhuma destas ferramentas serve para transportar programas ABAP
- Estes objetos tem que ser por Change Request

Local Client Copy


- Deve ser iniciada no Client Destino
- Se Client no existir deve ser criado (Client Administration > Client Maintenance)
- Usar usuario SAP*/PASS para logon
- Chamar transacao SCC1
- Selecionar profile a ser usada
- Profile indica se copiaremos User Master Data, Customizing Data, Application Data
- A copia vai iniciar
- No logar no Client Destino durante a copia
- No logar no Client Origem durante a copia

Remote Client Copy


- Deve ser iniciada no Client Destino
- Definimos profile e source RFC destination (RFC do sistema origem)
- Checa a consistencia do R/3 Repository, se no forem iguais o processo aborta
- Restricoes
- No h dados no disco para copia, assim 2 copias so realmente 2 copias
- Antes do release 4.5 no pode ser copiado dados Client Independent

Client Transport
- Entre R/3 diferentes

- R/3 destino deve fazer parte do Transport Domain


- 2 etapas
- Extract dos dados do client no Source System

__________________________________________________________________________________________________________ 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

Number Ranges no Client Copy


- Todos os dados no Client Destino so apagados antes da copia
- Number Ranges so deletados
- ??? no entendi

System Requirements
- Tempo
- Pode levar horas
- Consistencia do dados
- No de logon no Client Origem (recomendavel) nem no Destino (proibido)
- Espaco do DB
- 300 a 500 MB para Customizing
- Gbytes para Master e Appl Data
- Alguns DB permitem analise antes da copia

Monitoracao e Logs
- Logs
- 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

- (M) -> tabelas/view no identicas, diferancas na estrutura


- F -> Comparaca impossivel

Ajuste de Customizing Objects


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

Outros objetos de autorizacao necessarios para Client Tools


- S_TABU_CLI -> Client Independent Data Maintenance
- S_TABU_DIS -> Generica Data Maintenance
- S_CLNT_IMP -> Data import during Client Copy
- S_DATASET -> File Access
- S_USER_PRO -> Profile Maintenance
- S_USER_GRP -> User Groups
- S_TRANSPRT -> Change and Transport Optimizer

__________________________________________________________________________________________________________ 77
Apostila Mdulo Basis
Apostila II

Captulo 1 Preface

Nothing to do

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

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

Startando o R/3
- Logar no NT como <sid>adm
- Ativar o R/3 via SAPR Service Manager
- O SAP Service Manager envia mensagen via Named Pipe para SAP<sid>_<instance_number>
- SAP<sid>_<instance_number> le Start Profil \\SAPGLOBALHOST\sapmnt\<sid>\SYS\profile
- SAP<sid>_<instance_number> ativa o banco se ele estiver fora do ar
- SAP<sid>_<instance_number> ativa Message Server e Dispatcher
- Dispatcher le Default Profile e Instance Profile e cria WP e Gateway
- WP se conectam com o Banco
- Para ver o Trace do Start -> SAP Service Manager > View Trace
- Podemos ativar Oracle via SAPDBA, Oracle Instance Manager ou Oracle Server Manager
- Programas STARTSAP e STOPSAP ativam e desavitam o R/3 via command prompt

Parameter Read Sequence


- Ordem
- Registry do NT
- NT ystem Environment Variables
- C Source
- Default Profile
- Instance Profile
- Podemos ver replace de parametros no RSPFPAR
- SAP Service le
- Default Profile
- Start Profile
- O R/3 Kernel (DISP+WORK) le
- Default Profile
- Instance Profile
- Para alterar Default Profile precisa tirar R/3 e o Servio

- Para alterar Instance Profile precisa s tirar o R/3

Logs e Trace do Start do Oracle


- Log de Start, Stop e erros do DB
__________________________________________________________________________________________________________ 78
Apostila Mdulo Basis
- C:\Oracle\<sid>\SAPTRACE\BACKGROUND\<SID>ALRT.LOG
- Traces do proprio Oracle
- C:\Oracle\<sid>\SAPTRACE\USERTRACE\ORA<no>.TRC
- Se usarmos SAPDBA temos ainda os logs
- No SAPREORG
- No SAPCHECK
- No SAPBACKUP

Logs e Trace do R/3 via NT


- Estao no Event View do NT
- System Log -> mensagens produzidas pelo R/3 o Oracle e enviadas ao NT
- Application Log -> eventos no R/3 ou Oracle e retornadas pela aplicacao
- Security Log -> Logon, Logoff, acesso a arquivos, etc

Logs e Traces no R/3


- No diretorio \\SAPLOCALHOST\SAPLOC\<sid>\<instance_number>\WORK
- Definido pelo parametro rdisp\trace na instance profile
- Pode ser 0 (s erro), 1 (erro e warning), 2 (erro e short trace), 3 (erros e traces)
- Grava
- STDERR1 - database log
- STDERR2 - Message Server Log
- STDERR3 - Dispatcher Log
- SAPSTART.TRC - trace do SAPNTSTARTB
- SAPARTRT.LOG - startup log e trace do database, dispatcher e message server
- dev_ms - trace do Message Server
- dev_disp - trace do Dispatcher
- dev_w0 - trace file dos WP

Diagnostico de problemas no Startup do R/3


- Possiveis problemas
- SAP Service Manager no consegue contatar o servico
- O servio esta ativo ?
- Servio no start
- Password do usuario do servio esta correta ?
- Executavel esta no disco ?
- Database Statup fails
- Variaveis ambientais estao corretamente definidas ?
- Database esta corrompido ?
- Trocaram o nome dos Data Files e no informaram ao Oracle ?
- R/3 falha ao ativar
- Os shares NT necessarios estao feitos ?
- Servico esta corretamente configurado (usuario esta correto) ?
- H problemas de permissao no File System ?
- H erros de configuracao no TCP/IP ?

DownTime do R/3
- Planejado
- Troca de parametros das Profiles
- Upgrades
- Manutencoes no sistema ou no database
- No Planejado
- 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

Backup Offline: Database Reconnect


- Para backup offline configurar
- rsdb/reco_trials = n -> quantas vezes WP irao tentar se reconectar ao DB
- rsdb/reco_sleep_time = m -> tempo entre tentativas
- Desta forma buffer R/3 no ser limpo

Causas de erro no Stop do R/3


- Banco no quer sair
- Database fazendo rollback (pode demorar se o commit esta longe)
- Backup online esta rodando (s sai depois de acabar)
- Archiver stuck (precisa salvar o archive antes)
- Se no for nada assim obvio, verificar SM21 e Alert File

__________________________________________________________________________________________________________ 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

- PROTOCOL.ORA -> S para UNIX


- INIT<sid>.SAP
- Configura backups (BRARCHIVE e BRBACKUP)
- INIT<sid>.DBA

__________________________________________________________________________________________________________ 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

- A caracteristicas destes arquivos e gravacao e leitura sequencial, o que no se


presta s caracteristicas do RAID 5

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

Memory Management on Windows NT


- Zero Administration Memory Management
- Definir memoria a ser data ao R/3 no parametro
- PHYS_MEMZSIZE
- Inicialmente, a Extended Memory ser setada para este valor
- Se mais memoria for necessria, serao alocados metade deste valor at que se atinja
em/max_size_MB ou se esgote o espaco de swap

Dominio SAP e PDC e BCD do Windows


- Por razoes de segurana, no colocar o banco ou uma instancia do R/3 no PDC ou BCD

Dominio NT e grupos de autorizacao


- usuarios
- <sid>adm
- SAPService<sid> no pode logar interativamente
- No troca a password
- Local Group para R/3
- SAP_<sid>_LocalAdm

Shares do NT
- SAPTRANSHOST\sapmnt\trans -> 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

Sockets Portas TCP/IP


- Configurada no arquivo WINNT/SYSTEM32/DRIVERS/ETC/Services
- 3200 - dispatcher - sapdp 32<instance_number>/tcp
- 3300 - gateway - sapgw 33<instance_number>/tcp

- 3600 - message server - sapms 36<instance_number>/tcp


- no diretorio SAPGLOBALHOST/<sid>/EXE/RUN existe a ferramenta SAPNTCHK e SAPSYCHK que
validam os seting do TCP/IP (hostname, IP address, service entries)

Setup do Transport Management


- Configuracoes
- Transport Domain
- Transport Group
- Routes
- bom um Backup Domain Controller para poder alterar as definicoes quando o Domain
Controller esta fora do ar
__________________________________________________________________________________________________________ 83
Apostila Mdulo Basis
- Dentro de um Transport Domain, as configuracoes do TPPARAM devem ser iguais
- S o TRANSDIR pode ser diferente

Verificacao da Instalacao
- NT Event Viwer
- Kernel Patch Level (SM50)
- Installation Consistency (SM28 ou SICK)
- Correct Hostname (SM51) case sensitive
- Buffer Syncronization (ST02)
- Activate Performance Monitor: report RADDBDIF
- SAP Lincense: SAPLICENSE
- Trocar Password SAP* e DDIC
- Remote access using SAPROUTER
- Imported Hotpackegs (SPAM)
- Imported Languages (SMLT)

Backup pos instalacao


- S.O. e o seu Registry
- Disk Configuration (NT Disk Administrator)
- Diretorios do Oracles
- ORANT
- ORACLE
- Diretorio do R/3
- \usr\sap
- \usr\sap\trans
- <homedir>\ do <sid>adm
- O database
- SAPDBA ou CCMS ou BRBACKUP e BRARCHIVE

__________________________________________________________________________________________________________ 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

Spool Work Process


- Responsavel por recuperar os TemSe e gerar as saidas device-specific
- Converter os comandos genericos de impressora em comandos especificos
- Colocar sequencias de inicializacao e encerramento
- Converter o character set interno de armazenamento para o da impressora
- Um Spool Work Process sempre manipula apenas um spool por momento
- Uma instancia que roda um Spool WP chamada de servidor de spool
- Depois de convertido, tranfere para o spool do S.O.

Output Devices
- Definicao da Impressora para o R/3
- Feita usando a transacao SPAD
- Aponta para o Device Type daquela impressora, que contem
- Character set do device
- Printer Driver para formatar o SAPScript
- Comando device-specific para converter comandos genericos R/3

Local Printing
- Data Transfer do R/3 para o sistema operacional chamado de Access Method
- No metodo Local Printing se usa o Local Method
- o metodo mais facil e confiavel de transferncia

- Usado quando o R/3 e o S.O. de spool estao na mesma maquina


- A impressora no precisa estar nesta maquina, apenas seu share
- Para Windows NT usar Access Method C

__________________________________________________________________________________________________________ 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

Definicao de impressoras locais


- Output Device -> nome da impressora no R/3 (case sensitive)
- Short Name -> nome curto
- Device Type -> device type
- Spool Server -> o nome da instancia do Spool WP
- Host Name -> nome no servidor acima
- Host Printer -> nome da impressora usado no S.O. case sensitive
- Device Class -> classe, p.e. impressora ou fax
- Access Method -> access method

Definicao de impressoras remotas


- Todos os anteriores mais
- Destination host -> nome do servidor de destino (tem que estar na Hosts do servidor)

Frontend Printing
- a impressao de dados na impressora do proprio PC
- Quando solicitado, o sistema automaticamente aciona o SAPLPD
- O processo de spool realizado no Dialog WP o que pode causar problemas de
performance
- Usa metodo de acesso F

Definicao de Fronend Printing


- Usar device tupe SWIN
- Usar Host Printer __DEFAULT
- Vai imprimer na impressora default do Windows daquela maquina
- Cuidado, se no for Windows, vai procurar uma impressora com exatamente este nome

R/3 Logical Spool Server


__________________________________________________________________________________________________________ 86
Apostila Mdulo Basis
- Nova camada na arquitetura do Spool
- Permite enderecar Spool Server como um nome virtual
- Depois assinalamos o nome real
- Vantagens
- Spool server switchover -> troca do spool server facilmente (manutencao p.e.)
- Facilidade para transportar a arquitetura de spool para outro sistema
- Protecao quanto a falhas no servidor
- Load balancing entre spool servers

Definicao de Logical Spool Server


- System Name -> Logical spool server name
- Logical Server -> um box para marcar, signigicando que o servidor logico
- Mapping -> especifica o nome do spool server real

Transporte de Impressoras
- Definido na SPAD
- Permite transportar toda a arquitetura

Manuseio de Spool Request


- Via SP01
- End user podem
- Display e delete de seus proprios spools
- Trocar atributos de seus proprios spools
- Imprimir seus proprios spools
- No precisam de autorizacao especial para isto
- Administradores podem
- Checar consistencia no spool
- Realizar spool maintenance
- Precisam de autorizacoes adicionais

Delecao de Old Spools


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

Spool Consistency Check


- Via SPAD
- Atraves do relatorio RSPO0043
- Release locks after __ minutes (30)

Spool Problem Analisys


- Se gerou a impressao e contem erros
- A impressora esta correta ?
- A definicao da impressora esta correta ?
- O defice type esta correto ?
- Se no gerou a impressao
- Se criou o spool request
- E esta em WAIT

__________________________________________________________________________________________________________ 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

Device Pool in R/3


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

External Output Management Systems (OMS)


- Para R/3 External OMS so sistemas de impressao em grandes e complexos landscapes
- Para comunicacao com External OMS R/3 fornece interface CCMS-XOM e o API o XOM-API
- Facilidades fornecidas
- Comand Line interface
- RFC Callback permite OMS informar status dos output request e output devices ao R/3
- Polling mechanism permite ao R/3 perguntar ao OMS status dos outputs
- Adcionals Command Line que implementam queries dos outputs ou cancelamento deles

Real OMS e Logical OMS


- Definidos atravs da SPAD > External Administration
- ROMS -> external OMS
- define caracteristicas do OMS
- se suporta polling, RFC CallBack, cancelamento de outputs
- LOMS -> grupo particular de output devices do OMS
- LOMS definida sobre um ROMS
- Define como aquele grupo de output devices trabalha (se eles tem RFC Callback p.e.)
- 1 ROMS pode ter varias LOMS

Definindo ROMS e LOMS e OMS Devices


- ROMS
- Principais configuracoes
- Definir Nome, Descricao
- Definir Job Status -> se suporta Query, Delecao, Polling, Callback
- Definir Device Status -> se suporta Query ou Callback
- Definir Reconfig Request -> de quanto em quanto tempo atualiza configuracao
- LOMS
- Principais configuracoes
- Tasking Target -> para que server responder
- Callback Targe -> para que server responder
- Command Group -> comando a ser usado no External OMS
- Command Path -> caminho do comando
- OMS Device
- Principais configuraes

- 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)

Alternate Spool Server


- Posso usar Alternate Spool Server para Load Balancing
- Pode trabalhar com Logical Spool Servers e Real Spool Servers
- Algoritmo recursivo, ou seja, pode enderecar o alternate spool server de um
alternate spool server
- Para isso
- Na SPAD > Spool Server
- Marcar Non-exclusive Spool Server
- Definir Alt Server
- Selecao feita com base no server que tem menor numero de requests na fila

Caracteristicas Especiais de um Output Device


- Via SPAD > Attribute Screen
- Sequential Request Processing
- Garante que os spool serao encaminhado ao host na ordem que foram gerados
- Reserva temporariamente um Spool WP para isso
- Parametro rspo/global_shm/job_list define o tamanho maximo da internal queue que
pode ser gerada por este processo
- Se esta exceder este tamanho, usa outro Spool WP
- Pode impactar performance porque diminue o numero do Spool WP disponivel
- No Longer Ask for Print Request in Host Spool
- Impede que o R/3 acompanhe o andamento do spool no host system
- Melhora performance, especialmente se o host no local
- Varios parametros de profile
- rspo/tcp/....
- rspo/lpq/....
- Monitoring Using Monitoring Infrastructure

- Coloca a impressora no CCMS Alert Monitor


- Impressora fica sendo monitorada pelo Alert Monitor
- Fica na R3Services Spool Devices
- Usar s para impressoras criticas, porque consome memoria

Definicao de Impressoras No Standard


- Criar via COPY de uma impressora parecida
- SPAD > Utilities > For Device Type > Copy Device Type
__________________________________________________________________________________________________________ 90
Apostila Mdulo Basis
- Principais caracteristicas que podem ser alteradas
- Character Set
- 2 fases; primeiro criamos um novo Character Set e depois o associamos ao device
- Novo Character Set deve ter numeracao entre 9000 e 9999
- Se possivel recomendado copiar um Character Set parecido e alterar
- Cada Character do Character Set tem nome, numero e valor hexadecimal
- OTF Driver
- Nome do driver usado para converter formato OTF em formato do device
- Print Controls
- Controles para tipo de fonte, line spacing, bar codes
- Copiar, modificar e assinalar
- Usar nomes comecando com Z
- Format
- Tipos de papel suportados pelo Device
- Letter, DINA4
- Format Actions
- Define sequencia de caracteres para END OF PAGE; END OF LINE; 6PI; PRINTER
INITIALIZATION; END OF PAGE
- Copiar, modificar e assinalar (via SPAD)
- Page Format
- Define dimensoes da pagina

Analise de problemas
- SPAD > Utilities > For test data permite geracao de spool para testar impressora
- Pode-se exibir tela em Hexa para debug

Message Control Overview


- Message Control usado por modulos funcionais
- Message Type BA00 usada para Order Confirmation no SD
- Na Transacao VK02 podemos ver sua definicao
- Esta mensagem pode gerar impressao imediata de Sales Order ou quando rodar o relatorio
RSNAST00 (Time Options 1 ou 2)
- Podemos ainda especificar na VK02 Transmission Midia (1 printout, poderia ser FAX)

SAPConnect
- Solucao para EDI da SAP
- Address Format suportados: FAX, STM-400, SMTP e SAPOffice
- Conexao entre sistemas R/3 suportada sem outros produtos, caso contrario precisa de
External Adapters
- SAP proporciona conexao com Microsoft Exchange Server, que se comunica com X.400,
Internet e outros

- Isto pode viabilizar comunicacao com estes ambientes


- Para configurar SAPConnect
- Definir Node -> transacao SCOT
- Definir RFC Destination and User -> transacao SM59
- Usuario da conexao deve ser do tipo CPIC
- Deve ter autorizacao S_A.SCON
- Definir Address Areas -> transacao SCOT

__________________________________________________________________________________________________________ 91
Apostila Mdulo Basis
Captulo 6 Database Administration Oracle

Nothing to do

Captulo 7 DataBase Fundamentals

Oracle Review
- Dedicate Shadow Process -> agentes do Oracle
- Shared Process -> tasks de gerenciamento do Oracle
- DBWR -> no Checkpoint grava blocos alterados da SGA para disco
- -> gravao assncrona
- LGWR -> grava dados do online redo log buffer para online redo log files
- -> gravao sncrona
- ARCH -> copia dados do online redo log file para archive
- -> bancos de produo devem rodar em ARCHIVELOG mode
- -> devem ter ainda log_archive_start=TRUE no INIT<sid>.ORA
- -> copia archive p/ log_archive_dest=path do INIT<sid>.ORA (default SAPARCH)
- -> template fname log_archive_format=aaa% do INIT<sid>.ORA
- -> falta de espao para copiar archive pode causar stuck do Oracle
- CKPT -> sincroniza DB
- PMON -> gerencia usurios, detecta deadlocks
- SMON -> gerencia instancia
- recomendvel mirror de Control File e Online Redo Log File
- SGA composta por
- Shared Pool - > contem a Shared SQL Area, onde esto os statements SQL executados
- Database Buffer Cache
- Redo Log Buffer
- Work Process se conectam com user SAPR3
- Oracle Start
- Nomount -> aloca SGA, abre traces, aloca processos, cria instancia
- Mount -> abre control files para conhecer a estrutura do banco
- Open -> abre datafiles e online redo log files e executa recovery se necessrio
- Oracle Shutdown
- Normal -> espera logoff de usurios e encerra o banco; no permite novos logons
- Immediate -> Apenas o comando corrente executado; rollback dos outros
- Abort -> encerra o banco imediatamente; prximo start far recovery

Tablespace Convention Name


- PSAP<tablespace_name>_<extencao>
- Name convention utilizada pelo SAPDBA e outras ferramentas
- Alem disto, facilita a determinao de problemas
- SAP recomenda nunca mudar
- TableSpaces
- Do usurio SYS ou SYSTEM
- SYSTEM Oracle Dictionary
- PSAPROLL Oracle Rollback
- PSAPTEMP Oracle Sort Process
- Do usurio SAPR3
- Todos tem extenso D ou I
- PSAPELxx SAP Environment Load Basis
__________________________________________________________________________________________________________ 92
Apostila Mdulo Basis
- PSAPESxx SAP Environment Source Basis
- PSAPLOAD SAP Load Basis

- PSAPSOURCE SAP Source Basis


- PSAPDDIC SAP Dictionary Basis
- PSAPPROT SAP Spool Applications
- PSAPCLU SAP Cluster Tables Applications
- PSAPPOOL SAP Pool Tables Applications
- PSAPBTAB SAP Transaction Data Applications
- PSAPSTAB SAP Master Data Applications
- PSAPDOCU SAP Documentacion Applications
- PSAPUSER1 Customer Tables Applications

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>

Usurios do O.S. e do Database


- O.S. User
- <sid>adm grupo ORA_<sid>_DBA conecta INTERNAL com full control
- SAPService_<sid> grupo ORA_<sid>_OPER conecta INTERNAL com restricted DBA
- Database User
- INTERNAL (SYS) full control
- OPS$<sid>adm full control
- OPS$SAPService<sid> restricted database administration
- Usurio OPS$<user_name> pode conectar no Oracle apenas com a autenticao do S.O.
- OS_AUTHENT_PREFIX=OPS$ do INIT<sid>.ORA

__________________________________________________________________________________________________________ 93
Apostila Mdulo Basis
- Para usar SAPDBA basta autorizaes de OPER

Database Roles e Users


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

Senha SAPR3
- WP tenta conectar como SAPR3 senha SAP
- Se no consegue usa OPS$SAPService<sid>
- Com este privilegio le a tabela SAPUSER com a password do SAPR3
- 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

Por que backup


- External Factors fogo
- Phisical Errors hardware
- Logical Errors delecao indevida

Diminuindo o Risco de Perda de Dados


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

Tipos de Backup
- Offline
- Backup com o banco fora do ar
- Copia todos arquivos: Profiles, Control Files, Data Files, Online Redo Log Files
- Para maior garantia, devemos fazer backup dos offline redo log files neste mesmo
momento
- OnLine
- Backup com o banco no ar
- Copia todos arquivos: Profiles, Control Files, Data Files
- Causa uma reduo da performance do sistema enquanto roda
- S consistente quando aplicado em conjunto com os Log Files gravados durante o
processo de backup (as tablespaces podem estar em pontos diferentes)
- O BRBACKUP da um switch para um novo online redo log file ao final do backup
- Se copiarmos estes logs teremos um backup realmente utilizvel

Estratgias de Backup
- Backup parcial dos Data Files
- Cada dia backupeia alguns Data Files, no todos
- Recupera aplicando o Log
- Aumenta o tempo de recovery, pois pode haver muitos logs para aplicar
- Parallel backup
- Backup com varias fitas ao mesmo tempo
- Recupera aplicando o Log

Recuperao de dados em um ponto no passado


- Caso haja perda lgica de dados, por erro de aplicao, erro de usurio, etc
- Volta backup e aplica logs ate aquele ponto
- Se for s uma tabela, fazer isto num outro sistema, salvar a tabela e transporta-la
para o sistema real

Caso tenhamos perdido um dos Offline Redo Log Files


- Danou -> s pode recuperar at o ponto que tem todos os logs
- Sempre ter 2 copias do Offline Redo Log File

__________________________________________________________________________________________________________ 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

Ciclo de Backup Recomendado Pela SAP


- Ciclo de 28 dias (4 semanas)
- Calcular quantas fitas precisa e disponibilizar 30% a mais
- Fitas de backup podem ser utilizadas aps o ciclo (28 dias)
- Estratgias
- Full Online Backup todo dia
- Full Offline Backup pelo menos 1 vez por semana
- Backup dos Offline Redo Log Files todo dia, sempre depois do Full Backup
- Copiar os Offline Redo Log Files 2 vezes, em 2 fitas, por segurana
- Verificar o DataBase procurando Logical Errors e as fitas, procurando Phisical
Errors, pelo menos 1 vez por ciclo
- Tentar fazer isto 1 vez por semana
- Separar o ultimo Full Backup Offline em um cofre e colocar novas fitas em
substituio
- Fazer backup adcionais sempre que ocorrerem mudanas na estrutura do DataBase

Ferramentas de Backup da SAP


- Ferramentas suportam backup para disco ou fita
- BRBACKUP
- Backup dos Data Files, Control Files e do Online Redo Log File
- Gera log do processo
- Consulta tabelas SDBAH e SDBAD para escolha da fita de backup
- BRARCHIVE
- Backup dos Offline Redo Log File
- Gera log do processo
- Consulta o Summary.log para escolha das fitas de backup
- BRRESTORE
- Utiliza logs gerados e restaura o Banco

Outros backups
- No esquecer
- Backup do S.O.
- Backup dos executveis do DataBase
- Backup dos Archives
- Backup das Interface do R/3 como Change Requests p.e.
- Programas de terceiros que acessam o R/3

__________________________________________________________________________________________________________ 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

Seleo automtica de fitas


1 Automtica Tape Selection (deixamos por conta do R/3)
ele pesquisa no INIT<sid>.SAP e nas tabelas e escolhe uma fita

opaco BRARCHIVE ou BRBACKUP q mostra qual fita ele vai escolher


opaco BRARCHIVE ou BRBACKUP q check verifica se a fita esta montada
2 Manual Tape Selection (controlamos na mo)

__________________________________________________________________________________________________________ 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

LayOut das Fitas aps backup


1. .tape.hdr0 label da fita
2. Profiles INIT<sid>. ORA, DBA e SAP
3. DB ou offline redo log depende se BRBACKUP ou BRARCHIVE
4. Control Files
5. reorg.log / struct.log info de reorganizao e estrutura do DB (SAPREORG)
6. detail.log log desta rodada do BRARCHIVE ou BRBACKUP
7. summary.log lista dos backups realizados p/ BRBACKUP e BRARCHIVE

__________________________________________________________________________________________________________ 99
Apostila Mdulo Basis
__________________________________________________________________________________________________________ 100
Apostila Mdulo Basis
Captulo 10 Scheduling, Performing and Monitoring Backups

Ferramentas para ativar Backup


- CCMS
- Via DB13, Planing Calendar
- Forma recomendada pela SAP para backups
- Podemos ver logs e tapes requeridas
- SAPDBA
- Starta backup interativo
- Deve ser utilizada em casos excepcionais
- BRBACKUP e BRARCHIVE
- Tambm para uso em casos excepcionais
- Podemos programar a execuo do backup via comando AT do NT

Backup Profile Parameters


- compress -> informar hardware se h compresso por hardware
- compress_dir -> diretrio descompresso p/ verify ou software compression
- exec_parallel -> numero de processos ativados simultaneamente
- tape_copy_cmd -> comando de backup utilizado (dd ou cpio)
- se for dd, parametrizar dd_flags e dd_in_flags
- tape_address -> endereo do tape station (para backup ou archive)
- tape_adreess_rew -> endereo do tape station (para backup ou archive)
- tape_address_arch -> endereo do tape station (s para archive)
- tape_address_rew_arch -> endereo do tape station (s para archive)
- tape_size -> tamanho da fita em Mb
- tape_size_arch -> tamanho da fita para archive em Mb

Recomendaes
- tape_size deve ser 10% menor que o tamanho da fita
- assim no corremos o risco de faltar espao e abendar o backup
- BRBACKUP calcula a quantidade de dados que cabem numa fita e, ao final, pede a
follow-up tape
- BRARCHIVE somente a quantidade de offline redo log files que caibam numa fita sero
copiados
- Se o software de copia (dd ou cpio) pedir fita de continuao no controlada pelo
BRBACKUP, pode ocorrer problemas no restore
- Se houver hardware compression, estimar este valor ainda menor, visto que a
compresso pode variar de acordo com os dados a serem gravados
- compress_cmd
- informar o comando que ativa a compresso no hardware de compresso
- exec_parallel
- 0 1 processo por volume lgico
- n no mximo n processos (o que pode economizar CPU)

Backup do Database
- ONLINE
- Copia Control Files para disco

- Le 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

Realizando o Backup do Database


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

Logical Verification of Database Backup


- BRBACKUP w ou BRBACKUP verify
- Verifica se a fita pode ser lida
- BRBACKUP w use_dbv ou BRBACKUP verify use_dbv
- Realizar ao menos 1 vez por ciclo de backup
- Verifica se a fita pode ser lida
- Copia o arquivo para disco (diretrio compress_dir)
- Verifica se o tamanho o mesmo do arquivo original (checando o log)
- Detecta blocos de dados corrompidos no sistema

Verificao fsica num Offline Backups


- Se usarmos a opaco BRBACKUP w use_dbv num offline backup, aps a comparao do
tamanho ser feita uma comparao binaria do arquivo restaurado com a tabela original
- S possvel no offline backup, no online eles podem estar diferentes mesmo
- SAP recomenda um offline backup com verify 1 vez por ciclo

Monitorando o Backup do Database


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

Backup do Archive
- Aps cada o log switch, o processo ARCH copia o online redo log file para o SAPARCH
- Sumario desta copia esta no arch<sid>.log
- Num backup do Offline Redo Log File para fita seus status so
- ARCHIVE aps ser gerado
- SAVED depois do 1 backup
- COPIED depois do 2 backup
- DELETED aps sua delecao
- Num backup do Offline Redo Log File para disco seus status so
- ARCHIVE aps ser gerado
- DISKSAV depois do 1 backup
- DISKDEL aps sua delecao
- Estratgia recomendada pela SAP para backup BRARCHIVE -cds
- 1 - copia todos os archives em SAVED para uma fita
- 2 - copia todos os archives em ARCHIVE para a mesma fita
- na prxima rodada, os archives do 2 passo sero copiados para outra fita

Realizando o backup dos Offline Redo Log Files


- Via DB13
- Planning Calendar
- Via SAPDBA
- i backup offline redo log files
- Podemos usar g - Query Only para sabermos quais fitas sero utilizadas se fizermos
o archive
- Via BRARCHIVE
- Podemos chama-lo com opaco h | more para conhecermos as opes do comando
- Podemos usar a opaco -f (fillup) que copia o archive e fica rodando, esperando mais
archives para copiar. Encerra quando acaba a fita ou emitimos -f stop

Verificao dos offline redo log files backup


- Usando a opaco w ou verify
- Depois do backup restaura o redo log file para o diretrio compress_dir para garantir
que a fita pode ser lida

- Se o backup foi feito com opaco de delecao do redo log file aps o backup (-cds p.e.),
feito uma comparao do archive restaurado com o tamanho dele no log
- Se o backup foi feito sem delecao, feito uma comparao binaria com o redo log file
original

Monitorando o backup do Offline Redo Log File


- Logs ficam no diretrio SAPBACKUP
- Podem ser consultado via editor de texto
- Via SAPDBA
- l: Show Cleanup
- a: Show log files / profiles
__________________________________________________________________________________________________________ 103
Apostila Mdulo Basis
- f: BRARCHIVE log files
- Via DB12
- Mostra relao de todos os backup logs
- Tabela SDBAH e SDBAD possuem log tambm
- Informaes resumidas
- Arquivos de log
- arch<sid>.log -> uma entrada para cada detail log
- a<timestamp>.<ext> -> descrio completa da atividade do backup

Clean Up de Logs
- No fazer na mo porque os nomes dos arquivos so muito parecidos, podem confundir
- Via SAPDBA
- l: Show / Cleanup
- b: Cleanup Log Files / directories
- Deleta logs dos diretrios
- SAPREORG
- SAPCHECK
- SAPBACKUP
- SAPARCH
- SAPTRACE / BACKGROUND
- SAPTRACE / USERTRACE
- <ORACLE_HOME>_RDBMS/AUDIT
- Deleta entradas da tabela SDBAD
- A tabela SDBAH limpa pelo BRBACKUP, que deleta entradas com mais de 400 dias
- Os arquivos deletados so os que passaram do limites de idade armazenados no
INIT<sid>.SAP
- expir_period
- Podemos chamar tambm SAPDBA -cleanup

Espao livre para SAPARCH


- Monitorar
- Via DB12
- Via SAPDBA
- f: Archive Mode
- c: Show all archive information
- Se faltar espao no diretrio SAPARCH, o Oracle entra em ARCHIVER STUCK

- Podemos colocar um arquivo dummy no diretrio para, em situaes de emergncia,


deleta-lo

One Run Estrategy


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

__________________________________________________________________________________________________________ 104
Apostila Mdulo Basis
Captulo 11 Advanced Backup Techniques

Consistente Online Backup


- Backup dos Data files e dos logs gerados enquanto o backup ocorria
- Ao final do backup dos datafiles, gera um log switch e copia logs
- Garante consistncia de um backup online
- Copia log files para a mesma fita do backup
- Permite reset do database para o ponto do fim do backup
- Temos que executar recovery para atualizar ate este ponto
- No chama o BRARCHIVE, tudo feito pelo BRBACKUP,
- Nem no ARCH<sid>.log registrado
- Comando: BRBACKUP t online_cons
- Desvantagem
- Maior tempo de backup

Parallel Tape Support


- Uso de mais de uma tape station para backup e restore
- Quanto mais fitas em paralelo, menor o tempo gasto
- BRBACKUP
- exec_parallel = 0 permite que seja ativado 1 processo de copia para cada fita
definida no parmetro tape_address
- BRARCHIVE
- Suporta at 2 tape stations para backup do archive
- Usa tape stations definidas no tape_address_arch
- Se no existe, usa as 2 primeiras do tape_address
- Devemos ainda colocar no INIT<sid>.SAP
- archive_function = double_save ou double_save_delete
- BRRESTORE
- Suporta todas as tape stations definidas no tape_address para restore
- Vantagem
- Melhora tempo de backup
- Diminui time window para recovery
- Desvantagem
- Aumenta trabalho administrativo ( um ambiente mais complexo)
- Aumenta custo

Partial Database Backup


- Backup apenas de algumas tablespace
- Ao final de um curto perodo, todas as tablespace devem ter sido backupeadas
- Para recuperar um banco, devemos voltar as tablespaces que houverem e aplicar todos os
logs do perodo
- Para executar
- CCMS so pode selecionar tablespace
- SAPDBA d: Objects for Backup pode selecionar tablespace ou datafile
- BRBACKUP m <tablespace> idem
- Para garantir que ao final do perodo todos as tablespaces foram backupeadas, utilizar
opaco
- SAPDBA l: make partial backups complete informar o numero de dias anteriores
- BRBACKUP f <days> informar o numero de dias anteriores

- Obs: da pra usar estas opes para completar um backup que abortou
- Vantagem
- Melhora tempo de backup

__________________________________________________________________________________________________________ 105
Apostila Mdulo Basis
- Desvantagem
- Aumenta time window para recovery
- Aumenta trabalho administrativo (gerenciamento complexo)

Backing Up Data TableSpace Only


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

Two-Step Disk Backup


- Copia primeiro para disco e depois para fita
- Pode ser usado para Database ou Archive
- Reduz o tempo do backup, j que o disco mais rpido que a fita
- Copia os dados para backup_root_dir do INIT<sid>.SAP
- Se exec_parallel = 0 ativa um processo de copia para cada diretrio
- Podemos limitar parametrizando SAPDBA h: Special Options ou no BRBACKUP e <numero>
- Para Database Backup
- A primeira fase pode ser feita via
- CCMS
- SAPDBA
- BRBACKUP d disk e 4
- A segunda fase pode ser feita
- SAPDBA j: backup from disk backup
- BRBACKUP -b last d tape
- Para Archive
- A primeira fase pode ser feita via
- CCMS
- SAPDBA
- BRBACKUP
- A segunda fase pode ser feita
- SAPDBA j: use disk backup
- BRARCHIVE -a <opes>
- Vantagem
- Melhora tempo de backup
- Melhora time window para recovery
- Desvantagem

- Precisa de treinamento da equipe


- Aumenta trabalho administrativo
- Precisa ter disco disponvel

Structure Retaining Database Copy


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

Split Mirror Disk Backup


- Em ambientes com mirror, podemos quebrar o mirror e fazer backup da copia
- Depois ressincronizamos o mirror
- O backup pode ser
- Online
- Trocar as tablespaces para backup mode
- Quebrar o mirror
- Tirar o backup mode da parte em produo
- Fazer online backup da outra parte (que vai estar com tablespace em backup mode)
- Ressincronizar mirro
- Offline
- Parar o banco
- Quebrar o mirror
- Ativar a parte de produo do banco
- Backup offline da outra parte
- Resincronizar o mirror
- Parmetros do INIT<sid>.SAP que devem ser ativados
- primary_db -> define quem sera produo
- split_cmd -> define como quebrar o mirror
- resync_cmd -> define como resyncronizar o mirror
- Comando: BRBACKUP t online_split / offline_split d tape
- Vantagem
- Melhora tempo de backup
- Melhora time window para recovery

- Garante alta disponibilidade


- Desvantagem
- Precisa de treinamento da equipe
- Aumenta trabalho administrativo
- Custa caro

SAP Tools and Oracle Standby Database


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

External Backup Tools using BC-BRI


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

__________________________________________________________________________________________________________ 108
Apostila Mdulo Basis
Captulo 12 Restore and Recovery

Tipos de erros
- Statements
- Process
- Instance
- User -> vamos estudar
- Media -> vamos estudar

Cenrio Partial Restore and Complete Recovery


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

Cenrio Database Reset


- Motivo: Alteraes indevidas foram aplicadas no DB. Existe um backup imediatamente
antes da alterao
- Este tipo de situao sempre implica em perda de dados (entre o backup e o erro)
- Ela pode ser desejada
- Passos
- Full Restore
- Retorna todos os Data File e o mais antigo Online Redo Log File e os control
files
- No precisa de recovery (todos os dados devem vir da mesma fita)
- Depois do restore, startamos o banco
- Novos offline redo log files sero gerados, com numerao idntica as dos
offline redo log file que estavam sendo gerados no momento do erro -> cuidado

Cenrio Point in Time Recovery


- Motivo: Alteraes indevidas foram aplicadas no DB. No existe um backup imediatamente
anterior, mas existe um mais antigo e os logs
- Passos
- Full restore, a partir de um online ou offline backup
- Restauramos os Data Files
- Talvez devamos restaurar Control Files. Ele devera ser compatvel com a
estrutura do banco desejada ao final do recovery
- Recovery at o ponto desejado
- Indicao pode ser feita atravs da hora, do arquivo de log ou do SCN desejado

- Start do Banco
- Usando alter database open resetlogs -> limpa os online redo log files

__________________________________________________________________________________________________________ 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

Como tratar um problema


- No tomar decises apressadas
- Se possvel, tirar um full offline backup antes de tomar qualquer atitude
- Verificar
- Causa do problema
- Database Alert Log
- Trace files
- erro de mdia ou do usurio
- Quais arquivos esto corrompidos ou perdidos
- Existe um mirror disponvel para este arquivo
- Espao em disco para trabalhar
- Se h necessidade de expanso do hardware
- File system e mount points
- Disponibilidade de backups
- Disponibilidade dos offline redo log files
- Criar uma estratgia para resoluo

Funo Partial Restore and Complete Recovery do SAPDBA


- Para poder ser utilizada, online redo log file e os control files devem estar validos
- Eles no so restaurados do backup
1. Check Database
- Verifica o status de todos os arquivos do database (Control File, Online Redo Log
file, Data File)
- Verifica as V$Views
- Se algum erro ocorre nesta fase, deve ser efetuado um safe check
- Database shut down
- Database start mount
- SAPDBA reporta os erros encontrados no diretrio SAPREORG com sufixo .RCV
2. Find Backups
- determina fitas a partir do back<sid>.log (rc 0 ou 1) e, depois, do log do backup
- SAPDBA sempre sugere o backup mais recente
3. Restore Data Files
- restaura os data file
- se so esto faltando arquivos de index, SAPDBA pode recriar estes ndices a partir
do Database Dictionary
4. Find Offline Redo Log Files
- determina quais Offline Redo sero necessrios para recovery completo
- verifica as fitas no arch<sid>.log
- SAPDBA leva em consideracao Online Redo Log File e os Offline que esto no SAPARCH
5. Restore Offline Redo Log Files
- restaura Offline Redo Log Files para SAPARCH
6. Recover Database
- cria scripts no SAPREORG e
- Salva Control Files

- Faz Recovery do Banco (comando RECOVERY DATABASE)


- Mensagem final RECOVER DATABASE TERMINATED SUCCESSUFULY

Limitaes da Partial Restore and Complete Recovery


- No funciona se
- Outros arquivos que no Data Files forma perdidos
__________________________________________________________________________________________________________ 110
Apostila Mdulo Basis
- No h logs disponveis do BRARCHIVE e BRBACKU
- Podemos restaura-los de um backup
- No encontra INIT<sid>.*
- Podemos restaura-lo de um backup
- No caso do INIT<sid>.SAP, podemos adaptar um template
- Control Files esto danificados
- Verificar o mirror
- Online Redo Log Files esto danificados
- Verificar o mirror

Database Reset usando um Full Offline Backup


- sempre envolve perda de dados
- desta forma recomendvel backup antes deste procedimento
- opes do SAPDBA
- reset database and startup open
- reset database and startup mount
1. Find full Offline Backup
- baseado no back<sid>.log
2. Save Current Online Redo Log File and Control File
- copia control files e online redo log files para SAPREORG, j que eles vo ser
resetados
- para isto ocorrer o database deve estar pelo menos em MOUNT
3. Override all Data File, Control File and Offline Redo Log Files
- restaurando das filas escolhidas
4. Ativao do Banco
- em startup open
- se optarmos por open, ele ser ativado com noresetlog
- em startup mount
- se optarmos por mount, poderemos utilizar um ainda um recovery para atualizar
mais os dados via Server Manager do Oracle

Database Reset usando um Consistente Online Backup


- sempre envolve perda de dados
- desta forma recomendvel backup antes deste procedimento
- como ele vai usar os Offline Redo Log Files, todos eles devem estar salvos via
BRARCHIVE
- depois do reset, podemos ter inconsistncias nas tabela SDBAD e SDBAH, j que elas
voltaram para uma posio antiga
- da mesma forma, o BRARCHIVE pode no reconhecer que o novos offline redo log files
precisam ser salvos
1. Find Online-Cons Backups
- baseado no back<sid>.log
- encontra o backup do database e, no fim, esta o archive
2. Save Online Redo Log File and Control Files

- copiados por razoes de segurana para o SAPREORG


3. Override All Data Files and Control File | Offline Redo Log Files
- s restaura os Offline Redo Log Files gerados durante o backup
4. Recover Database until Cancel
- comando recover database using backup control file until cancel
5. Database open resetlogs
- resetlog inicializa (ou cria) online redo log files
- Desta forma, podemos deletar qualquer offline redo log file restaurado, pois no
sero mais necessrios

__________________________________________________________________________________________________________ 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

Full Restore and Recovery Using SAPDBA


- Coloca o database num estado consistente num ponto entre um full backup e o momento
atual
- Funo point in time recovery do SAPDBA
- Podemos usar o SAPDBA se o banco conseguir entrar em open ou mount
- Como envolve perda de dados
- Recomendvel Full Backup Offline
- BRARCHIVE de todos os offline redo log files do SAPARCH (podem vir a ser usados)
- depois de um recovey point in time, podemos ter inconsistncias nas tabela SDBAD e
SDBAH, j que elas voltaram para uma posio antiga
1. Find Full Offline / Online backups
- encontra as fitas de um full offline, online_cons ou full online
2. Recover Until ??
- devemos responder at que ponto executar o recovery
- para recovery completo, responder NOW
3. Find Offline Redo Log Files
- pela resposta anterior, encontra, via arch<sid>.log os archives
4. Status ???
- SAPDBA informa se podemos realizar a ao desejada
- Pode ser impossvel porque
- No encontrou full backup ou no encontrou os offline redo log files em fita
- Ocorreu uma reorganizao de tablespace no perodo a ser recuperado
- O backup encontrado anterior a um resetlog
5. Save Online Redo Log Files and Control Files
- copiados por razoes de segurana para o SAPREORG
6. Override all Data Files and Control Files (if necessary) | Offline Redo Log Files
- restore de todos os data files
- se uma tablespace foi estendida no perodo compreendido pelo recovery, os control
files tambem sero restaurados
- neste caso, o DBA dever depois reexecutar o comando de add datafile
- recomendado sempre um backup depois destas alteraes
- os offline redo log files necessrios so restaurados para o SAPARCH
7. Recover Database until
- comando recover database using backup control file until time zz:zz:zz
8. Ativar o Database
- Recoveries incompletos obrigam o database a ser ativado com o resetlog

- Depois da recuperao, recomendado um DB_VERIFY a procura de blocos corrompidos


- SAPDBA vai levar o usurio para o menu de backup, que recomendado depois de um
resetlog
- Desta forma, podemos deletar qualquer offline redo log file restaurado, pois no
sero mais necessrios

__________________________________________________________________________________________________________ 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)

Extensao de uma TableSpace


- Via SAPDBA
- TableSpaced > Alter TableSpace > Add Data File
- Informa um default, alterar a gosto
- Depois S > Start
- SAPDBA checar se existe espaco na TableSpace
- A seguir SAPDBA vai para menu de Backup
- Outras acoes
- No SAPREORG
- Grava action log <timestamp>.ext
- Grava a versao velha e a versao nova do Control File (SAPREORG/<timestamp>)
-
- Observacoes importante sobre extensao de Tablespace
- Parametro Oracle MAXDATAFILES define a quantidade de data files para aquele DB e
definido na criacao do banco
- Parametro Oracle DB_FILES define a quantidade maxima que o database pode manipular

Storage Categories de Objetos SAP no banco


- Cada objeto tem sua categoria especificada no Dicionario de Dados
- Categorias refletem valores de INITIAL, NEXT e MAXEXTENT das tabelas
- Esta definicao chamada de Technical Setting
- Estes valores estao definidos nas tabelas
- TGORA - Tabelas
- IGORA - Indices
- SE11 permite altera a tabela, SE12 permite exibir
- INITIAL sempre 16
- Quanto maior a categoria, maior NEXT
- Comecao com 40 e termina com 20.971.520
- MAXEXTENT pode ser 300 (para categoria 0-9) ou 150 (para categoria 10-14)
- Embora possivel, SAP no recomenda colocar UNLIMITED MAXEXTENT em nenhuma categoria

O SAPDBA -next
- Opcao que permite evita o crescimento descontrolado do numero de extents das tabelas
do banco
- Geraq LOG de sua execucao no SAPCHECK, nome <timestamp>.nxt

- Funcionamento:
- Verifica o total de espaco alocado pela tabela e divide por 10
- Compara este valor com o valor de NEXT definido na tabela, o maior ser o NEXT
CANDIDATE
__________________________________________________________________________________________________________ 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

Monitorando Tabelas e Indices


- Via DB02
- Informacoes para ela so geradas via programa RSORATDB
- Tabela TCOLL defini quando o programa RSORATDB vai rodar (via SM31)
- RSORSTDB coleta dados e coloca na tabela MONI
- MONI armazena dados estatisticos das tabelas e indices
- Tambem necessrio que o COLLECTOR_FOR_PERFORMANCEMONITOR esteja rodando de hora
em hora
- Opcoes da DB02
- Missing indexes -> indices default que estao faltando
- Checks > Check Next Extent -> objetos com grande crescimento no num de extents
- -> objetos com mais de 80% dos extentes alocados
- -> possue bota History Per Week
- TableSpace > Space Statist > tamanho, free space e storage usage
- Detailed Analisys -> analise detalha de uma tabela ou indice
- Space Critical Objects -> vai estourar no proximo extent (?)

Monitorando Fragmentacao Internal


- Via SAPDBA analyze
- Usa o comando Oracle ANALYZE
- Este comando fornece informacoes sobre storage allocation e fragmentacao
- Podemos tambem checar informacoes de uma nica tabela
- usado pelo otimizador Oracle para acessos baseados em custo
- Pode ser schedulado via DB13
- Para acessar as informacoes geradas
- Via DB13 -> Double Click no calendario > Detail Log
- Via DB14 -> DB Optimizer (mostra optimizer statistics)
- -> Fuction Ids (mostra action log)
- -> Detail Log (resultado da analise da tabelas e indices)
- Caminho no SAPDBA
- Reorganization
- Check extents and fragmentation

- Metodos de Analise
- COMPUTE STATISTICS -> mais acurado e mais demorado
- -> usado para tabelas
- VALIDADE STRUCTURE -> usado para indices
- -> se usado tab e indice so locked, no podem ter alteracao
- Verificacoes efetuadas
- Tabelas que tem grande diferenca entre EMPTY e NEVER_BEEN_USED
- EMPTY a diferenca entre o espaco alocado e o usado pela tabela
__________________________________________________________________________________________________________ 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

Tipos e fases de uma reorganizacao


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

Metodos de reorganizacao
- ORACLE EXPORT / IMPORT
- Export e Import do Oracle
- Usa SAPREORG como area temporaria e PSAPTEMP para recriacao do Indice
- SAPDBA UNLOAD / LOAD
- SAPDBA Unload e Load ou Oracle SQL*Loader
- Usar SAPREORG como area temporaria e PSAPTEMP para recriacao do Indice
- CREATE TABLE ... AS SELECT
- Copia a tabela com o mesmo nome mais sufixo #
- Depois da Drop na tabela velha e renomeia a nova
- No pode ser usada para tabelas com campos LONG
- No pode ser usada para reorganizar tablespaces
- Precisa de espaco adcional, pois a tabela existe 2 vezes num determinado periodo
- Precisa de bastante espaco de PSAPROLL
- ALTER INDEX / REBUILD
- Reconstroi o indice na PSAPTEMP
- Copia o indice de volta para a tablespace original
- Dropa o indice antigo e ativa o indice novo
- Tabela e indice ficam locked durante o processo
- Precisa de espaco na PSAPTEMP
- RECREATE INDEX
- Dropa o indice e recria
- Precisa de espaco na PSAPTEMP

Options da SAPDBA para reoganizacao


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

__________________________________________________________________________________________________________ 117
Apostila Mdulo Basis
Captulo 14 Performance Monitoring

Performance Issues
- Cost Based Optimizer
- Memory Configuration
- Application Design
- Physical and logical layout

Cost Based Optimizer


- Razoes para problemas de performance
- Informacoes velhas ou imprecisas sobre estatisticas
- Atualizar com o modelo de 2 fases da SAP
- Melhorar a precisao modificando o procedimento padrao
- Presuncoes incorretas
- O otimizador pode achar que os dados estao uniformemente distribuidos e isto no
ser verdade
- Para tanto, pode-se usar o Role Based Optmizer, modificando-se a definicao
padrao da SAP
- Pode-se alterar a forma da aplicacao acessar os dados
- No uso das ferramentas da SAP para atualizar estatisticas
- Falta de uso mesmo
- Isto pode causar serios problemas de performance
- Atualizacao das estatisticas
- 1 fase SAPDBA determina quais objetos precisam de novas estatisticas
- verifica se mudou o numero de linhas (10% para tab pequenas e 100% para grandes)
- para isto usa comando ANALYSE da Oracle
- tabela DBSTATC armazena quais objetos serao atualizados
- no gera solicitacoes para tabelas pool e cluster
- o comando para ativa-lo SAPDBA checkopt
- sugestao SAP roda-lo uma vez por semana (via DB13)
- para rodar para todas as tablespaces SAP usa SAPDBA checkopt PSAP%
- podemos mudar theshold (o % de crescimento) ou limitar o runtime via parametros
- grava log <datetime>.opt no SAPCHECK
- 2 fase atualiza estatisticas destes objetos
- Baseado na tabela DBSTATC
- Possue colunas Object Name, Method, Option, New Statistics Need
- Podemos modifica-la na mao
- Para atualizar devemos executar SAPDBA ANALYZE DBSTATC0
- Podemos ainda limitar o tempo de runtime ou escolher uma nica tabela, uma
lista de tabelas ou uma lista de tablespaces
- Rodar ao menos 1 vez por semana (via DB13) depois do checkopt PSAP%
- Para cada linha da DBSTATC executa ANALYZE com a precisao de Method e Option
- Gera log <datetime>.ALY no SAPCHECK
- Modificando procedimentos padrao
- Pela transacao DB21
- Podemos modificar o procedimento padrao
- Aumentando a precicao das estatisticas para uma tabela
- Podemos alterar type of usage (O=Optimizer)

- Podemos mudar o metodo de analise (Estimated ou Compute)


- Porcentagem de linhas a serem analisadas (para Estimated)
- Quantidade de linhas a serem analisadas (para Estimated)
- Deletando estatisticas para uma tabela
__________________________________________________________________________________________________________ 118
Apostila Mdulo Basis
- Desta forma definiremos que esta tabela usar Rule-Based Optimizer
- Podemos especificat Active = N ou R, para definir se o objeto sera analisado
em termos de espao
- Sempre que modificarmos os procedimentos padrao, devemos ativar o flag TODO para
que as estatisticas sejam atualizadas na proxima vez

Usando o R/3 para monitorar problemas de performance


- Ser houver um problema de performance verifique
- As estatisticas estao atualizadas
- A precisao a correta
- H alguma nota relacionada com este problema
- necessario alterar as condicoes de estatistica para esta tabela
- O Rule Based Optimizer esta usando a melhor opcao
- Se no houver solucao, abrir uma nota
- Usar objeto BC-DB-ORA

Memory Configuration
- Usar a ST04 para verificar
- No verificar logo aps startup, esperar ao menos um 20.000.000 de reads
- Data Buffer
- Hit ratio deve ser de ao menos 94%
- Problemas de codigo SQL causar baixo Hit mesmo com grandes buffers
- Para aumentar Data Buffer, modificar DB_BLOCK_BUFFERS
- Monitorar via ST06 a paginacao do S.O. para no comecar a causar Swap
- Shared Pool
- Dividida em
- Shared SQL Area
- Usada para armazenar comandos SQL que vao ser executados
- Row Cache
- Onde ficam informacoes do Dicionario de Dados Oracle
- User Call uma chamada para um comando na Share SQL Area
- Recursive Call uma chamada para o Row Cache que causou uma leitura fisica
- Eficiencia do Share Pool
- User Call to Recursive Call should be 2 : 1
- DD Cache quality > 80%
- Pin Ratio > 95%
- Se precisar aumentar
- SHARED_POOL_SIZE
- Ver paginacao do S.O. antes

Application Desing
- Lockwait situations
- Identificacao usando DB01
- Mostra o numero de lock holders, numero de lock waiters e a primary key locked
- Para reduzir os Exclusive Lockwaits

- Aumentar a frequencia de commits


- No permitir que um processo segure um lock por muito tempo
- Emite o lock o mais tarde possivel (dentro do programa)
- Unnecessary SQL Statements
- Comandos que so executados repetidamente com a mesma clausula WHERE
- Tentar pegar pela ST04
- Possui as seguintes informacoes para cada comando SQL da Shared Pool Area
- Total Execution
__________________________________________________________________________________________________________ 119
Apostila Mdulo Basis
- Buffer Gets
- Bufgets/record
- Se classificarmos por Buffer Gets, podemos localizar comando executados
frequentemente que trazem muito pouco Bufgets/record
- Este pode ser um comando dentro de um loop -> analisar
- Usar WHERE-USED no Data Dictionary (SE12)
- Para reduzir o acesso, podemos redesenhar a aplicacao, tirando o comando do loop
- Ou podemos colocar a tabela na memoria
- Expensive SQL Statements
- Tem um grande numero de Buffer Gets em relacao ao Total Reads
- Pegar o Buffer Gets na ST04 e o Total Reads na abertura do monitor
- Se passar de 5% a relacao, investigue o comando
- Rode um Explain para ele, verifique quais tabelas acessa
- Duplo click na linha do comando na Shared SQL Area e click Explain
- Pode-se usar Explain with Hints, que permite sugestoes de acesso via Role-Based
- Possiveis saidas do Explain
- INDEX RANGE SCAN -> recupera o numero de registros usando indice
- INDEX UNIQUE SCAN -> recupera uma linha
- INDEX NAME -> recupera o nome do indice a ser usado
- CONCATENATION -> une linhas recuperadas de uma query
- NESTED LOOP -> junta tabelas
- TABLE ACCESS FULL -> recupera todas as linhas de uma tabela
- SORT -> classificas os dados antes de devolve-los
- Possiveis correcoes
- Verifique o Cost-Based Optmizer setting desta tabela
- Se o codigo parte de um programa SAP, abra uma chamada na OSS
- Se o codigo do cliente, redesenhe a aplicacao
- Verifique se o statement esta pouco qualificado
- Poorly Qualivied Statements
- Possuem um alto indice de BufGets / Record
- Provavelmente no tem um indice naquele campo
- Se for programa da SAP, abrir chamada na OSS
- Outras causas
- Falta um indice secundario
- O indice incorreto esta sendo usado
- O indice esta sendo usado mas o full scan seria mais eficiente, p.e. se a tabela
tem poucas linhas ou se um grande numero de linhas sera recuperada
- Para verificar se esta usando indice, rodar Explain Plan para o Statement
- A causa mais comum deste erro um indice estar definido no Dicionario SAP mas no
no Database
- Usar a opcao Missing Indices da DB02 para verificar

- Isto normalmente causado por falha na reorganizacao, falta de ativacao do


indice no Dicionario de Dados ou Drop manual do indice
- O Performance Collector emite um relatorio sobre indice faltando
- RSCOLL00 que chama o RSORATDB
- Devemos verificar falta de indices 1 vez por semana

Phisical and Logical Layout


- I/O Contention
- Podem acontecer por
- Design ineficiente das aplicacoes (comandos expensives ou desnecessarios)
- I/O mal distribuidos em disco
__________________________________________________________________________________________________________ 120
Apostila Mdulo Basis
- Discos lentos
- Alto acesso a tabelas or indices que no foram distribuidos entre discos
- Configuracao de hardware incorreta
- Usar ST04 > Detailed Analisys > File System Request > I/O per path
- Se h pouco acesso, no caso de contencao de i/o
- Se esta muito acessado e average read time > 30 ms ou
- Average write time > 50 ms -> contention
- Se algum disco tem mais de 20% de i/o do que os outros temos um hot disk
- Para resolver
- Distribua o I/O entre varios discos disponiveis
- Compre discos mais rapidos
- Mova hot spot table or indexes para discos exclusivos
- Checkpoint not Complete
- Ocorre quando
- Todos os online redo log files estao efetuando checkpoint ao mesmo tempo
- Isto pode ocorrer se os log files estao muito pequenos (levando menos de 3
minutos para serem preenchidos) e sao muito poucos, nao dando tempo de efetuar a
gravacao dos dados do redo log buffer para o log e ja tendo lotado todos os
outros online redo log files dispoinveis, ou seja, outro log switch ocorreria
para este o log file que esta fazendo checkpoint
- O Oracle trata automaticamente esta situacao Checkpoint Not Complete e grava
alerta no ALERT<sid>.LOG
- S problema se ocorre com muita frequencia
- Para resolver, aumentar o numero de online redo log files
- Se os logs demorarem menos de 3 minutos para serem preencihdos, aumentar o tamanho
deles
- Rollback Statement Problems
- Segmenos de rollback sao usados para
- Salvar imagens anteriores num processo de atualizacao
- Prover consistencia de leitura quando uma query roda
- Se uma tabela modificada entre o momento que uma query iniciada e os registros
serem entregues, o dado lido do segmento de rollback
- No entanto segmentos de rollback nao entram em lock para uma query. Se a query nao
terminou ate fim do update, o segmento de rollback pode ser apagado para liberar
espaco
- Isto gera ORA1555 Snapshot too old e aborta a query
- Para evitar ORA1555
- Tuning do comando SQL que abenda, tente otimiza-lo para diminuir seu runtime

- Diminua o tempo de processamento entre 2 fetches de um comando SQL


- Schedule os relatorios e os updates em momentos diferentes
- Em ultimo caso, aumente o numero de segmentos de rollback (isto vai diminuir a
frequencia de liberacao dos segmentos de rollback)
- Para melhorar a performance dos segmentos de rollback, distribua-os em discos pouco
acessados, eles tem uma alta carga de acesso
- Fragmented Indexex
- Sao indices com baixa taxa de preenchimento
- Podem ocorrer
- Depois de data archive
- Depois de muitos registros serem deletados
- Em tabelas muito dinamicas
- A fragmentacao faz com que muitos blocos de indice tenham que ser lidos
- Isto pode fazer com que outros blocos de indice sejam tirados da memoria para
trazer estes novos blocos

__________________________________________________________________________________________________________ 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

Fontes para pesquisa de problemas no Oracle


- Oracle Files
- ORACLE_HOME/saptrace/background/ALERT<sid>.LOG -> mensagens ORA-xxxx
- Oracle background process trace no diretorio SAPTRACE/BACKGROUND
- Oracle user trace no diretorio SAPTRACE/USERTRACE
- Arquivo STARTDB.LOG, no diretorio home do <sid>ADM -> msg de startup
- No R/3
- SM21 -> System Log
- Para abrir chamados no OSS
- Syslog Message
- Short Dump
- Error message do Alert Log
- Erro message do Background Process e User Trace
- Erro message do Startdb.log
- Log do SAPDBA ou BR*

Archiver Stuck
- Mensagens -> ORA-255 ou ORA-272
- Gravadas no ALERT<sid>.LOG
- Podemos evitar criando o Dummy File
- Por segurana, SAPARCH deve ter 3 vezes o necessario para os logs de 1 dia
- Verificar se log_archive_start = true -> copia automatica dos logs
- Verificar se usuario ORA<sid> tem autorizacao para gravar no SAPARCH

Incorrect tape size on drivers with hardware compression


- Deixar um sobre de aproximadamente 200 Mb no parametro tape_size por segurana
- Recalcular este parametro 1 vez por ciclo de backup
- Rodar BRBACKUP compress | -k only
- Recalcular quando houverem mudanas significativas na base de dados
- Mudana de release
- Muitas inseroes

Missing end backup


- ORA-1149 Missing End Backup
- SAPDBA > DB Check Verification > DB System Check > Set end backup automactily
- ORA-1113
- SPDBA > Partial Restore and complete Recovery

Tablespace Overflow
- ORA-1653 Table Overflow
- ORA-1654 Index Overflow
- SAPDBA > Tablespace Administration > Alter Table > Add Data File
- Fazer backup depois desta alteracao

Table or Index reaching MAXEXTENTS

- ORA-1531 Tables reaching MAXEXTENTS


- ORA-1532 Index reaching MAXEXTENTS
- Para evitar

__________________________________________________________________________________________________________ 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
-

Shapshot too old ORA1555


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

NET 8 TCP/IP delay


- So para unix

Oracle error ORA-1578 data block corruption


- S detectado quando a informaao daquele block necessria
- Se for de dados, devemos fazer restore and recovery da tablespace
- Se for de indice, podemos reconstrir o indice
- Backup no detecta
- Para detectar
- BRBACKUP verify | -w only_dbv | use_dbv
- SAPDBA > k: DB Check / Verification > DB Verificdation using DB Verify

Oracle error ORA-600 internal database error


- Anotar o codigo emitido em seguida
- Consultar este codigo na OSS
- Se no achar, abrir chamado
- Verificar ainda ALERT<sid>.LOG e SM21 (Syslog)
- Pode ainda existir um state dump nos tracefiles
- SAPTRACE/BACKGROUND
- SAPTRACE/USERTRACE

Poor performance of the Cost-Based Optmizer


- Atualizar estatisticas constantemente
- Para verificar se elas so recentes
- DB14 > Optmizer

__________________________________________________________________________________________________________ 124
Apostila Mdulo Basis
Apostila III

Captulo 1 Preface

Nothing to do

Captulo 2 R/3 Workload Analysis

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

Dialog Step
- Wait Time
- 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

- Quando a transacao completada, o dispatcher notificado e a tela enviada ao


presentation server
- Roll Out Time
- Depois que a transacao termina, o user context rolled out do WP
- CPU Time
- Tempo que um WP teve controle ativo da CPU
- Response Time
- Tempo decorrido entre o transacao chegar na Request Queue e o envio da tela ao
usuario
- No conta o tempo de rede antes da chegada nem depois do envio

Workload Statistics para RFC


- Quando ocorre chamada RFC, o User Context Rolled Out e, quando a chamade se
completa, o User Context Rolled in novamente
- Tempos envolvidos
- Roll-out time
- Roll wait time -> tempo do wait da chamada RFC
- Roll-in time

Roadmap para Analise Inicial


- Usado quando o problema afeta todas as transacoes
1. Wait Time < 10% do Response Time
2. Response time do Main Menu < 100 ms
3. Media de roll-in time < 20 ms
4. Media de roll-out time < 20 ms
5. Media de Load time < 10% Response Time
6. e < 50 ms
7. Media de DB request time < 40% de (Response Time Wait Time)
8. Media CPU time < 40% de (Response Time Wait Time)
9. Media CPU time no muito menor Processing Time
- Possiveis causas
- Large Roll Time -> CPU ou Configuracao de Memoria do R/3
- Large Load Time -> Program Buffer, CUA Buffer ou Screen Buffer pequenos
- Large CPU Time -> ABAP expensives
- Proc Time >> CPU Time -> CPU, Rede ou communication problems
- -> Proc Time > CPU Time * 2
- Large DB Request Time -> CPU / Memorio do DB Server
- -> problemas na rede
- -> comando SQL expensive
- -> falta de indices ou estatisticas
- -> locks no DB

Monitoring de BASIS
- Comecar com ST03 (Workload Monitor)
- Em caso de
- DB request time > 40% de (Response Time Wait Time)
- Analisar DB
- Processing Time > 2 * CPU Time
- Analisar hardware
__________________________________________________________________________________________________________ 126
Apostila Mdulo Basis
- Load time > 50 ms
- Configuracao de memoria (program buffer, etc)

- Roll-in ou Roll-out > 20 ms


- Configuracao de memoria (extended memory ou roll buffer)
- Usar
- SM50 / SM66 -> Work Process Overview
- ST06 -> Operating System Monitor
- ST04 -> Database Monitor
- ST02 -> Setup Buffers

Monitoring de R/3 Applications


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

__________________________________________________________________________________________________________ 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

- Acesso rpido a tabelas internas e listas via pointers


- Rapida troca de User Context
- Uso de hardware com grande quantidade de memoria
- Diminuir carga de CPU e disco

__________________________________________________________________________________________________________ 129
Apostila Mdulo Basis
- Porem isto precisa de memoria RAM suficiente

Sequencia de Alocacao de Memoria para Dialog WP


- Inicialmemte se aloca para o usuario uma porcao da roll area
- Esta porcao definida no ztta/roll_first
- Se definida como 1 significa alocacao minima pelo R/3 (+ ou 100k)
- A area total da Roll Area ztta/roll_area
- A seguir aloca dados na Extended Memory
- Extended Memory por usuario pode variar de 1Mb a 100Mb
- Tamanho definido por ztta/roll_extension
- Ele evita que 1 usuario esgote a Extended Area
- Se o precisa de mais memoria do que o roll_extension ou acabou a Extended Memory
- Usa o resto da Roll Area
- Se ainda precisa de mais memoria, aloca Heap Memory
- O WP marcado como PRIV e vai ser reconstruido ao final desta transacao
- Isto porque a Heap Memory alocada para um WP s pode ser endereada por este WP
- Para garantir que isto ocorra, o WP fica preso a esta transacao ate seu fim
- Isto pode prejudicar o desempenho dos outros usuarios do sistema, que vai trabalhar
com 1 WP a menos durante a execucao desta transacao
- O limite para alocacao de Heap Memory dado pelo parametro abap/heap_area_dia

Sequencia de Alocacao de Memoria para Non-Dialog WP


- Aloca para o usuario uma porcao da roll area ztta/roll_first
- A seguir aloca dados na em/address_space_mb
- Se precisar de mais memoria, aloca usa o resto da Roll Area ztta/roll_area
- Se precisar de mais memoria, aloca heap abap/heap_area_nondia

Liberacao da Heap Memory


- O R/3 libera a Heap Memory depois do seu uso mas o Sistema Operacional no libera area
de swap que por acaso tenha alocado
- Para garantir esta liberacao, quando se passa do valor abap/heaplimit o R/3 marca o WP
como sendo para restart automatico
- Desta forma, o S.O. libera memoria e salva espao no swap file

Outros parametros relativos a memoria


- rdisp/roll_SHM -> tamanho do roll buffer
- rdisp/roll_MAXFX -> tamanho da soma do roll buffer + roll file
- em/initial_size_MB -> tamanho fixo da extended memory
- abap/heap_area_nondia -> tamanho da heap area para non dialog WP
- abap/heap_area_total -> tamanho maximo da heap memory alocada para todos os WP

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

Zero Administration Memory Management


- Simplifica gerenciamento de memoria do R/3
- Aloca dinamicamente Extended Memory
- Permite Extended Memory crescer at em/max_size_MB ou at esgotar o Swap do S.O.
- Usa um novo parametro o PHYS_MEMSIZE
- Proporciona base para os outros parametros de gerenciamento de memoria
- Torna desnecessario configurar em/initial_size_MB e abap/heap_area_total

Extended Memory no NT
- Cota do usuario
- Criado parametro em/adress_space_MB para ser usado no lugar do ztta/roll_extension
- ele determina valor da quota do usuario na Extended Memory
- O valor default de ztta/roll_extension 2 Gb, o que torna parametro sem efeito
- Incrementos da Extended Memory
- Na ativacao, a Extended Memory alocada no valor do em/initial_size_MB
- A quantidade de Extended Memory pode pode ser incrementada at em/max_size_MB,
desde que aja memoria virtual para isto
- Provavelmente relacionado ao PHYS_MEMSIZE

__________________________________________________________________________________________________________ 131
Apostila Mdulo Basis
Captulo 5 Hardware Capacity Verification

O que Hardware Bottleneck


- Para o usuario
- Tempo de resposta ruim
- Para o sistema
- CPU perto de 100%
- Muitos processos aguardando por CPU (Load Average)
- Paginacao alta
- Alto tempo de acesso a disco
- Alto tempo de resposta da rede

Razoes
- Sizing errado da maquina
- Distribuicao incorreta da carga
- Comandos SQL muito gastoes
- Disk layout incorreto ou discos lentos
- Topologia da rede incorreta

Hardware Analysis Roadmap para CPU


- CPU mais de 80% ocupada na ST06
- Existem mais servidores
- Redistribua a carga
- No existem mais servidores
- Chamar ST06 Top Processs CPU e verificar que consome CPU
- Processos do R/3
- Verificar com SM50 ou SM66
- Analisar a transacao ou o report
- Processos do Banco
- Monitorar DB via ST04
- Analizar comandos SQL
- Processos Externo
- Parar o processo ou
- Redistribuir processo para outra maquina

Hardware Analysis Roadmap para Memoria


- Paginando mais de 20% da memoria RAM por hora na ST06
- Existe memoria livre em outros servidores
- No existe memoria liver em outros servidores
- File System Cache > 10% RAM
- Diminuit File System Cache
- Chamar ST02 Setup/Tune Buffer e entrar em Mode List
- Encontrar programas que consomem muita memoria
- Analisar estas transacoes ou relatorios

Response Time
- Componentes
- Wait Time

- Database Request Time


- Roll Time
- Load Time
- Enqueue Time

__________________________________________________________________________________________________________ 132
Apostila Mdulo Basis
- Processing Time
- Processing Time = Response Time Wait Time DB Request Time Roll Time Load Time
Enqueue Time

Hardware Analysis Roadmap para Workload


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

Regras gerais para configuracao de memoria


- Memoria para o DataBase (1 por sistema)
- 20% do total de memoria de todos os servidores do sistema
- Memoria para Buffer R/3 (1 por sistema)
- De 200 Mb a 500 Mb
- Memoria para Work Process
- 7,5 Mb por WP
- Extended Memory
- 5 a 10 Mb por usuario

Otimizacao de memoria
- Se temos 100 Mb de RAM, o used memory no deve passar de 150 Mb
- Swap Space deve ser de ao menos 2Gb e 3 vezes o tamanho da memoria RAM
- Workload
- Depende dos modulos e do numero de usuarios

Regras gerais para configuracao de CPU


- O DB deve usar de 10% a 30% da CPU do sistema
- Update WP deve usar de 10% a 20% da CPU do sistema

__________________________________________________________________________________________________________ 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)

Monitorando Buffer Gets / Disk Reads


- Via ST04 > Detail Analisys Menu > SQL Requests
- Classificar por Buffer Gets e verificar numero de Bufgets/Record e Total Execution
- Se estiver alto, tentar fazer tunning
- Olhar comando SQL e tentar indentificar de onde
- ABAP tudo em letras maiusculas e entre aspas
- Ferramentas e selecao das tabelas de basis no tem aspas
- Letras minusculas so comando recursivos do Oracle

Traces
- Via ST05
- S um por instance por vez

__________________________________________________________________________________________________________ 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

WHERE USED List


- Via SE11 / SE12
- Se procuramos que programa usa uma tabela, podemos ter muitos programas como resposta
- Neste caso pode no ser muito util

RoadMap

- SM50 (pega Tabela e Relat ou Trans)


- ST04 (no Oracle Session verifica comando)
- Explain

- ST03 Transaction Profile (Pega Transacao com alto Wait Time)


- ST05 (faz trace)
- Explain

- ST04 (Shared SQL Area verifica quem tem muitos BufferGets)


- Explain

Tipos de Expensive SQL Comands


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

Uso de indices nos comandos SQL


- Saida do Explain
- Access Method

- Table Full Acess


- Index Range Scan
- Index Unique Scan
- Concatenations quando existe OR ou IN
- Sort
- Index Used diz qual o indice que vai usar
- Join Method
__________________________________________________________________________________________________________ 135
Apostila Mdulo Basis
- Nested Loop
- Hash Join

Regras para criar novos indices


- Usar em campos seletivos
- se precisar ler + de 5% da tabela, otimizador usa Full Scan
- Poucos campos no indice (no mais de 5)
- Alteracao de dado que faz parte do indice exige esforo computacional
- Aumenta espaco do indice
- Se os campos indice forem s de leitura, pode colocar mais de 5
- Dicionario ABAP fixa este limite em 16
- Colocar o campo mais seletivo no comeco do indice
- Evitar definir indices para tabelas de dados transacionais
- No criar indices para as tabelas de BASIS
- DD*
- D010*
- NAST
- Antes de criar um indice, veja se no existe nenhum indice faltando no R/3 (DB02)
- Antes de criar um indice, verifique as notas do OSS

Optimizer
- Pode-se encontrar o Last Statistics Date no Explain Plan
- Atualizar estatisticas 1 vez por semana
- DB20 atualiza estatisticas para 1 tabela especifica
- Estatisticas podem estar velhar ou terem sido obtidas com um baixo nivel de accuracy
- Estatisticas podem falhar se os dados no estao uniformemente distribuidos
- Tips e Trick podem ajudar a desenvolver programas ABAP eficientes
- Podemos ainda comparar o tempo de resposta de 2 comando SQL (escrevemos os 2 e a
transacao executa e d o tempo de cada um)

Tunning Roadmap
- Quando analisarmos comandos SQL
- Tranfere muitos registros ?
- Otimizar o codigo ABAP
- Usar o Explain
- Se esta usando o melhor indice
- Usar metodos especiais para tunning do database
- se no esta usando o melhor indice
- se as estatisticas estao atualizadas
- atualizar estatisticas
- A clausula WHERE muito complexa
- reescrever a clausula WHERE

- Existem missing index ?


- Recriar os indices
- Devemos criar novos indices ?
- Analisar e criar se necessario

__________________________________________________________________________________________________________ 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

- Para Single Record (Partial Buffer)


- Tem que usar o comando SELECT SINGLE
- Se usar SELECT * FROM -> no usa buffer

__________________________________________________________________________________________________________ 137
Apostila Mdulo Basis
- Para Generic Buffer
- Se no especificar a chave generica -> no usa buffer

Criterios para Buffering de Tabelas


- Tabelas menores que 1 MB
- Somente bufferizar tabelas com mais de 10 MB em circunstancias especiais
- Pouco alteradas (menos de 1% dos acessos para alteracao)
- Possam estar defasadas em relacao a outras instances por 1 ou 2 minutos
- Somente bufferizar novas tabelas se houver espaco no Table Buffers
- Transacion Data nunca bufferizada
- Master Data normalmente no bufferizada
- Customizing Data normalmente bufferizada

Buffer Strategy Condition Tables


- Tabelas de preo, descricao de materiais, parter,..
- Axxx, Bxxx, Cxxx, Dxxx, KOTExxx, KOTFxxx, KOTGxxx
- xxx at 499 tabela SAP, manter como fornecida
- acima de 500 do cliente, verificar e bufferizar se necessario
- outras recomendacoes para bufferizar
- mais de 300 sequential reads/dia, menos de 1% de alteracao, menos de 1 Mb
- mais de 1000 sequential reads/dia, menos de 0,1% de alteracao, de 1 a 5 Mb

Tarefas a realizar
- O que procurar
- Verificar tabelas que no estao bufferizadas, mas deveriam estar
- Verificar tabelas que estao bufferizadas, mas no deveriam estar
- Verificar tabelas via ST10 (Table Call Statistics)
- Roadmap
- Tabelas bufferizadas com grande numero de Invalidations
- Tabelas bufferizadas com grande Buffer Size
- So aparece o tamanho para tabelas bufferizadas
- Se no estao podemos descobri-lo na DB05 (Analisys of Table according Index)
- Tabelas bufferizadas com grande numero de Rows Affect no Database
- Tabelas no bufferizadas com grande Total ABAP Processor Request

Problemas relacionados a Table Buffering


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

ATP Server
- Servidor de Table Buffer das tabelas transacionais mais usadas em alguns modulos
- RESB, VBBE -> modulo PP, SD, MM
- Servidores comunicam-se via gateway para efetuar alteracao de compra e previsao de
materias
- Para customizar
- memoria
__________________________________________________________________________________________________________ 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

Captulo 9 Introduction to Shared SQL Area

Expensive SELECT Statements


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

__________________________________________________________________________________________________________ 140
Apostila Mdulo Basis
__________________________________________________________________________________________________________ 141
Apostila Mdulo Basis
Captulo 10 Analysing SQL Statements

Tipos de Expensive SQL Statements


- Many buffer gets and only a few records per executions
- WHERE mal especificado
- Falta de indice
- Indice mal especificado
- Indice onde no deveria existir indice
- Many buffer gets and many records per executions
- Verificar programa ABAP
- Verificar processo de negocio
- Melhorar a selecao feita pelo usuario

Analise via ST04


- Classificar por Buffer Gets
- Prejudicial a performance do sistema como um todo
- Classificar por Disk Reads
- Prejudica performance de acesso aos discos
- Classificar por Record
- Prejudica performance do DB e do Appl Server

Mais Analise via ST04


- Muitos Buffer Gets
- Procurar por comandos que representem + de 5% do total de Buffer Gets
- Verificar comandos que tem uma taxa maior de 1:20 de User Call por Reads
- Muitos Buffer Gets per Execution
- Devem tem poucas execucoes
- No devem ser executados em momentos de pico
- Muitos Buffer Gets per Record
- No devem ter um indice apropriado
- Muitos Records per Execution
- Logica inadequada (talvez comando CHECK ao inves de WHERE)
- Muitos Disk Reads
- Verificar comandos com mais de 2% do total de Phisycal Reads
- Pode ocorrer por
- Tabelas muito grandes
- Baixo numero de linhas por blocks (reorganizar ?)
- Dados paginados para fora do buffer
- Muito uso de Full Scan nesta tabela

Execution Plan
- Custo representa o numero estimado de buffers a serem lidos ou de acessos ao disco
- Valor 0 significa que no existe estatistica
- Tabelas com menos de 50 Mb realizar estatisticas com COMPUTE
- Tabelas com mais de 50 Mb realizar estatisticas com ESTIMATEDED 10% ou 50 Mb

__________________________________________________________________________________________________________ 142
Apostila Mdulo Basis
Captulo 11 Update Statistics

Update Optmizer Statistics


- Necessria para o Optimizer encontrar o melhor caminho de acesso
- Feita em 2 fase
- SAPDBA checkopt PSAP%
- SAPDBA analyze DBSTATC0
- Ao meno 1 vez por semana
- Pode ser feita
- COMPUTE
- ESTIMATED
- No Statistics, quando
- Tabela muda muito
- mais economico usar o Rule Based Optmizer
- Isto usado em tabelas Pool, Cluster e SAP Update

Two Phase Strategy


- SAPDBA checkopt PSAP%
- Pode ser schedulado via DB13 (Check Optmizer Statistics)
- Verifica necessidade de atualizacao das estatisticas
- Marca necessidades na tabela DBSTATC ativando o flag TODO
- Tabela contem tambem o metodo de analise (COMPUTE ou ESTIMATED e sua porcentagem)
- Damos manutencao na DBSTATC via DB21
- SAPDBA analyze DBSTATC0
- Pode ser schedulado via DB13 (Create New Optmizer/Space Statistics)
- Usa comando ANALYSE do Oracle e atualiza estatisticas
- Transacao DB02
- Mostra um resumo de como estao as estatisticas
- Quantidade de tabelas com mais de 1 semana sem atualizar estatisticas
- Transacao DB19
- Atualiza estatisticas para uma tabela especifica
- Transacao ST03 > Detailed Analisys Menu > SQL Request
- No Explain, com duplo clique no nome da tabela, mostra resumo das estatisticas

__________________________________________________________________________________________________________ 143
Apostila Mdulo Basis
Captulo 12 Identify Coding

Roadmap para encontrar Comandos SQL em programas


- Identificar o comando (e a tabela)
- Pesquisar WHERE USED LIST (SE11)
- Se achar
- Encontrar nome do desenvolvedor (SE38 > Display > Goto > Attributes)
- Avisar responsaveis (se for SAP, avisar via OSS)
- Se no achar (codigo gerado Runtime ou Native SQL ou Where Internal Table Empty)
- Usar SM66 para encontrar programas e processos que o utilizem
- Pode-se especificar Select Process e especificar uma tabela
- Somente as transacoes ou relatorios que acessam esta tabela aparecerao
- Usar ST04 > Detailed Menu > Oracle Session Manager
- Mostra os Shadow Process do Oracle e o PID do comando sendo executado
- Mostra ainda o comando que esta sendo executado
- Se for um comando expensive, pelo PID dele e pela SM66, podemos identificar o
programa/transaca/usuario

Diferencas entre o ABAP OPEN SQP e o Comando SQL emitido


- Comando IN ITAB
- Comando WHERE xxx IN I1
- -> I1 uma tabela que controi a clausula Where
- Comando FOR ALL ENTRIES
- Comando FOR ALL ENTRIES IN ITAB
- > toda as entradas da tabela ITAB serao checadas
- -> isto ocasiona um SELECT com inumeras clausulas OR seguidas
- Projection Views
- Se o SELECT no *, pode-se tratar de uma R/3 Projection
- No projection Oracle, e sim do R/3
- No possivel encontrar o programa com o WHERE USED, porque ele usa a View
- Para encontrar, usar WHERE USED de Table em View
- Depois pesquisar as Views
- Relatorio RSSTATUS
- Lista a Application Area, Table, Transaction, Program e Data Elements
- Informamos um deste e ele nos lista os outros
- Enviamos a listagem para o desenvolvimento para pesquisa

__________________________________________________________________________________________________________ 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

Documentos do Workflow implementados pela SAP


- Executive Summary of Expensive Commands
- Documentacao feita pelo BASIS
- System Administration Change Request
- Solicitacao feita pelo BASIS
- Development or Application Departament Feedback
- Devolve a CR com a alteracao necessaria
- BASIS pode monitorar a seguir
- Information Required from User
- BASIS envia documento questionando usuario
- Programa pode ser rodado em batch ?
- Usuario pode melhorar criterio de selecao para agilizar o processo ?

Se for comado da SAP


- Pesquisa OSS (usando o nome da tabela, o programa, a palavra performance ou indice)
- Se no encontrou, abre OSS para SAP
- Cuidado
- Transacoes SART e SE16 so browser, dependem do input do usuario e podem demorar
- Se o comando veio de um matchcode

__________________________________________________________________________________________________________ 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

Regras para criacao de indices


- Usar campos seletivos
- Usar poucos campos
- Usar campos seletivos no comeco do indice
- No criar indices pouco seletivos
- Criar poucos indices
- No criar um indice que possa ser usado equivocadamente
- No alterar indices da SAP (a menos que ela pea)

Analise de Seletividade
- Via DB05 ou SQLPlus
- Estas analises so custosas para o sistema
- Analisa o numero de registro retornado para cada chave (combinacao)
- O bom quando muitas chaves retorna muito pouco registros

Ordem preferencial de Otimizacao


- Verificar Missing Index
- Atualizar estatisticas
- Mudar o codigo de programas ABAP de forma a utilizar indices existentes
- Mudar o indice, de forma a atender as queries normais e mais as expensives
- Criar um novo indice para satisfazer a query

__________________________________________________________________________________________________________ 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

Polled and Clustered Table


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

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

Erro comum no acesso a Clustered Table


- Selecionar apenas campos do DATA e no do KEY

Ordem preferencial de Otimizacao


- Para Pooled Tables
- Especificar mais campos chaves no ABAP

__________________________________________________________________________________________________________ 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

- Verificar se h espaco no PSAPTEMP


- Durante periodos de baixa atividade do sistema
- A tabela pode ficar locked durante este periodo
- No pode rodar se exite usuarios utilizando a tabela ou o indice

__________________________________________________________________________________________________________ 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

Sender Details meios de criar IDOC`s


- Aplicacao cria Change Pointers para processamento posterior
- Somente para Master Data
- A aplicacao no cria o IDOC diretamente, mas posterga esta tarefa para
processamento posterior
- Criacao de IDOCs pode consumir muito recurso, melhor fazer em momentos de
baixa atividade do sistema
- Tabela BDCP contem as chaves dos dados a serem usados para geracao do IDOC e o tipo
de operacao (Insert, Delete, Update)
- Relatorio RBDMIDOC le BDCP e gera IDOCs
- Podemos rodar em batch ou online via BD21
- Atravs de customizacao da SALE podemos definir que um tipo de mensagem no mais
gerar IDOCs e sim Change Pointers
- Isto da interface, no da aplicacao
- Outros objetos relacionados
- Relatorio RBDCPCLR -> Clear Change Pointers

- Relatorio RBDTBD22 -> Mapeia Change Pointer e IDOCS


- Tabela BDCPS -> Status dos Change Pointers
- View BDCPV -> Join da BDCP e BDCPS
__________________________________________________________________________________________________________ 161
Apostila Mdulo Basis
- Aplicacao cria IDOCs diretamente
- Usado para normalmente para Transaction Data mas pode ser usado para Master Data
- O IDOC criado imediatamento o IDOC DB
- Aplicacao cria uma Message Entry para processamento posterior
- Usado para Transaction Data
- Gravamos dados de controle na tabela NAST
- Se o processamento imediato, automaticamente criado um IDOC no IDOC DB
- Se no imediato, o IDOC criado quando chamamos o relatorio RSNAST00
- A vantagem de fazer no imediato que os dados no ficam em enqueue. Se o tempo de
enqueue critico, esta tecnica melhor

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

Comunicacao do R/3 com External Programs


- Feita atravez do SAP Gateway
- Pode se comunicar com External Programs registrados ou no
- Se forem registrados
- Comunicacao feita atravs de SEND DATA
- Registro feito na SM59
- Registration melhora performance
- Se no forem registrados
- Comunicacao feita atravs de START PROGRAM
- A cada transferencia o programa dever se ativado no receiver
- O program start dever ser feito via gateway
- Pode-se fazer Multiple Registration of Programas

- Isto permite parallel processing de IDOCs entre o sender e o receiver


- Implica que o programa chamado deve ser capaz de processar em multitask
- Perde a serializacao dos IDOCs

Comunicacao de External Programs com o R/3


- No existe conceito de registro
- O programa externo faz logon no R/3 e transfere dados
__________________________________________________________________________________________________________ 162
Apostila Mdulo Basis
- A conexao pode ficar ativa e o external program enviar dados de tempos em tempos

Detalhes do processo Receiver


- Pode ser feito via
- Application Modules Update
- O processo de Inbound pode chamar diretamento os modulos de update das
aplicacoes correspondentes mensagem que chegou
- mais rpido mas possue menos consistencias
- Call Transaction Using ...
- O processo de Inbound pode gerar Batch Input e emitir o comando CALL TRANSACTION
USING ... para a transacao que cria o application data
- mais lento mas todas as consistencias so feitas durante o Input

IDOC Processing Options


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

- Usa um Dialog WP para processar este Single IDOC


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

Funcoes basicas usadas no ALE


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

- SUCESSFULLY PROCESSED

Customizacao
- ALE
- Distribution Model
- Define como os dados vao fluir entre sistemas
- Feita pela transacao SALE
- Partner Profile
- Define os tipos de mensagens que serao trocadas entre os sistemas
- COMMUNICATION (SM59)
- Logon User-id Definitions
- RFC Servers
- TRFC Scheduling on Communication erros

Relatorios envolvidos
__________________________________________________________________________________________________________ 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

Regras para usar ALE


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

__________________________________________________________________________________________________________ 166
Apostila Mdulo Basis
__________________________________________________________________________________________________________ 167
Apostila Mdulo Basis
Captulo 22 Principais problemas no ALE

Possiveis problemas de performance


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

Captulo 23 Content Reporting Form

Nothing to do

Captulo 24 Content Apendix

Nothing to do

__________________________________________________________________________________________________________ 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

ASAP Implementation Assistant


- Ferramenta que permite checar os principais passos da implementacao ASAP
- Possue Roadmap, Project Plan, Q&A Database, Business Procedures, Glosary

Remote Consulting Services


- Early Watch -> system availability, performance, database, network

- R/3 Conversion Services -> fusoes de corporacoes ou migracao de OS ou DB


- SAP Going Live Check -> verificacao da SAP antes de colocar R/3 em producao

__________________________________________________________________________________________________________ 170
Apostila Mdulo Basis
R/3 Implementation
- Big Bang
- Phased Implementation

Fatores de sucesso na implementacao do ASAP


- Forte apoio dentro da companhia
- Rpido retorno do investimento pelo cliente
- Escopo gerenciavel de funcionalidades a ser implementado
- No precisa de reengenharia
- Implementacao baseada nas Best Business Practices

__________________________________________________________________________________________________________ 171
Apostila Mdulo Basis

Anda mungkin juga menyukai