Escolar Documentos
Profissional Documentos
Cultura Documentos
Academia Basis
Junho/200
Pgina 1
ACADEMIA BASIS
ndice
NDICE ............................................................................................................................................ 2
INTRODUO .............................................................................................................................. 12
PLANO DE ESTUDO.......................................................................................................................... 12
ADVERTNCIA................................................................................................................................. 12
DIREITO DE AUTORIA...................................................................................................................... 12
MARCAS REGISTRADAS................................................................................................................... 13
PARTICIPANTES DA ACADEMIA ...................................................................................................... 13
NAVIGATION ............................................................................................................................... 18
Pgina 2
ACADEMIA BASIS
INTERFACES................................................................................................................................ 26
FRONTEND ADMINISTRATION......................................................................................................... 30
SAPGUI INSTALLATION................................................................................................................. 30
TYPES OF ONLINE HELP ................................................................................................................. 30
SAPLOGON OPTIONS E TRACES ................................................................................................ 31
SAP MAPI AND SAPGUI FOR JAVA .............................................................................................. 32
OVERVIEW ...................................................................................................................................... 39
RZ10: PROFILE MAINTENANCE ..................................................................................................... 39
R/3 PROFILES ................................................................................................................................. 39
OPERATION MODES ........................................................................................................................ 40
Pgina 3
ACADEMIA BASIS
DEFINITION ..................................................................................................................................... 49
HOW ARCHIVE WORKS .................................................................................................................. 49
ARCHIVE ENVIRONMENT................................................................................................................ 49
ACESSING ARCHIVED DATA ........................................................................................................... 50
PREPARATIONS FOR DATA ARCHIVING .......................................................................................... 50
MONITORING AN ARCHIVING RUN ................................................................................................. 50
Pgina 4
ACADEMIA BASIS
Pgina 5
ACADEMIA BASIS
TERCEIRA SEMANA................................................................................................................... 94
Pgina 6
ACADEMIA BASIS
Pgina 7
ACADEMIA BASIS
Pgina 8
ACADEMIA BASIS
Pgina 9
ACADEMIA BASIS
Pgina 10
ACADEMIA BASIS
Pgina 11
ACADEMIA BASIS
Introduo
Plano de Estudo
A estratgia para o estudo durante a academia ser de sete horas durante o perodo de aulas na
SAP e de cerca de quatro horas dirias no hotel para rever a aula do dia. Idealmente a reviso da
sexta-feira deve ser feita no sbado e uma re-leitura de todo o texto da semana no domingo.
Este texto engloba e leva em conta o texto elaborado pelo meu grande amigo e colega de
empresa(cemig) Mrcio Cicarelli (cicareli@cemig.com.br), durante a academia de Unix/Oracle de
1999. Na prtica eu (jluiz@cemig.com.br) vou elaborando o meu prprio resumo e anexando as
partes elaboradas pelo Mrcio que acho relevantes. A ordem dos dois resumos um pouco diferente
e em alguns captulos os textos no tem nada a ver um com o outro, mas na maioria os textos so
bem parecidos ou com pequenas alteraes provocadas por um maior detalhamento ou comentrios.
S para ter uma idia at o momento este resumo tem 75 mil palavras e o do Mrcio tinha cerca de
44 mil. A minha previso que at o final ele tenha cerca de 80 mil palavras. Apesar deste alto
volume de palavras, o que interessa o contedo final (para eventualmente passarmos na prova).
Por enquanto, alm da reviso do texto, ainda no foi incluido os desenhos e figuras que acho
interessantes (para facilitar a compreeno dos conceitos). Elas sero disponibilizadas aps o aval da
SAP (elas so muito parecidas e funcionalmente identicas as que esto nas apostilas).
Advertncia
A garantia acima descrita a nica de qualquer tipo, tanto explcita como implcita. Nenhuma
informao verbal ou escrita, ou anncio fornecido, pode contituir uma garantia ou de qualquer forma
aumenta o escopo dessa garantia.
Ao usar os exemplos e conceitos apresentados nesse texto, voc assume ter lido essa garantia
limitada, compreendido-a, e concorda em se submeter a seus termos e condies. Voc tambm
concorda que a garantia limitada o documento completo e exclusivo de acordo entre as partes e se
sobrepe a todos os acordos e propostas anteriores, verbais ou escritos, e qualquer outra
cominicao entre as partes com relao ao assunto termo de garantia limitada.
Alm disso, o texto esta na sua forma inicial e no recebeu nenhum tipo de reviso ortogrfica ou
gramatical, portanto voc certamente encontrar algumas frases com sentido duvidoso ou at mesmo
erros grosseiros de portugus. Isso ocorreu porque o texto foi sendo elaborado durante a academia.
Conto com a sua colaborao para corrigir o texto e agregar maiores detalhes ou informaes
relevantes. Desde j, muito obrigado pelas dicas que voc certamente enviar para o meu e-mail.
Direito de autoria
Pgina 12
ACADEMIA BASIS
Marcas registradas.
Participantes da Academia
Instrutores :
Erika Quirs SAP erika.quiros@sap.com
Luiz Mestrinel SAP luiz.mestrinel@sap.com
Rinaldo Morais SAP rinaldo.morais@sap.com e rinaldomorais@yahoo.com
Acadmicos :
Ana Maria Solangol asousa@sondist.ebonet.net
Aroldo Higashi Skyline ahigashi@dmc-2.com.br e aroudo.higashi@zipmail.com
Cludio Milos SAP claudio.milos@sap.com e milos27@hotmail.com
Joao Luiz Barbosa CEMIG jluiz@cemig.com.br e jluiz_barbosa@yahoo.com.br
Marcelo Silva CEMIG mvsilva@cemig.com.br
Priscila Silva SAP priscila.silva@sap.com
Renan Guedes SPEC renan.guedes@spec.com.br
Ricardo Magalhes SAP ricardo.magalhaes@sap.com
Demais colaboradores :
Mrcio Cicarelli CEMIG cicareli@cemig.com.br
Pgina 13
ACADEMIA BASIS
Primeira Semana
A camada Basis integra todos estes mdulos. a parte central do diamante do diagrama do R/3
e as demais so os mdulos funcionais. Estes mdulos se interconectam e interagem para garantir
que o sistema todo integrado, tanto na parte de processos quanto em relao a base de dados que
O Business Framework Architecture (BFA) a arquitetura estratgica do produto R/3. Ela trabalha
com business components que so os mdulos funcionais (FI, CO, etc.) configurveis para se adaptar
a cada empresa. Esta arquitetura fornece agilidade para se adaptar a um novo negcio, alm da
facilidade de se integrar com pacotes externos e fcil integrao com a internet e intranet, permitindo
desta forma uma fcil evoluo sem a interrupo da operao do negcio da empresa. O princpio
da arquitetura que cada componente possui vida prpria e sua complexidade esta restrita a ele
mesmo. Para o mundo externo somente os mtodos de interfaceamento so visveis e acessveis,
fato que garante a total conexo deste com os demais sem causar grandes impactos ou interferncias
O Business Framework se mostra no R/3 como uma famlia de componentes separados porm
A forma bsica de distribuir as informaes o ALE e este ser detalhado mais a frente.
Pgina 14
ACADEMIA BASIS
O R/3 utiliza protocolos standard da industria para garantir a integrao com outras aplicaes:
TCP/IP: o protocolo de comunicao difundido mundialmente;
EDI: Electronic Data Interchange, o mecanismo utilizado para trocar informaes de negcio
com diferentes sistemas; muito utilizado pelos bancos;
OLE: Object Linking and Embendding, integra aplicaes PC com o R/3 (padro microsoft);
Open Interfaces, tais como arquivamento tico, dispositivos de cdigos de barras, etc.
Esta arquitetura permite que se separe a lgica da aplicao da base de dados e da camada de
apresentao. Esta configurao permite ainda otimizar os custos e distribuir a carga atravs de
configuraes variadas de hardware. Com isto possvel dimensionar os servidores de acordo com a
carga, permitindo a fcil escalabilidade do ambiente.
Client/Serve Principles
Um servidor de aplicao por exemplo server de alguns servios das estaes clients, porm
client dos servios fornecidos pelo servidor de banco de dados. Ou seja, o conceito do papel de quem
o cliente e de quem o servidor o que prevalece no importando quem tem mais hardware ou
quem normalmente executa a atividade.
Pgina 15
ACADEMIA BASIS
Um sistema R/3 agrupa todos os componentes que esto associados com um banco de dados. Se
utilizamos uma implementao em 3 camadas, os componentes do R/3 estaro presentes em todas
as camadas da hierarquia:
Database Server, instalado em um host central, onde todos os servios de bancos de dados
Basis o responsvel ainda pela integrao dos aplicativos e do ABAP workbench com o software
Para garantir uma alta portabilidade, as interfaces com o software bsico so divididas em suas
prprias camadas que variam de sistema para sistema (NT ou UNIX, Oracle ou Informix, etc.). Acima
destas camadas as funcionalidades dos componentes R/3 so basicamente as mesmas,
independentemente do hardware, software ou sistema operacional.
Pgina 16
ACADEMIA BASIS
O R/3 roda nos mais diversos hardwares, sejam plataformas Intel, Risc ou Unix Systems. Os
sistemas operacionais so tambm os mais diversos, de acordo com as plataformas utilizadas (AIX,
Solaris, HP-UX, Windows NT, OS/400,etc.). Os bancos de dados utilizados pelo R/3, todos relacionais
so: Oracle, Informix, MS SQL Server ou ainda o DB2 para as diversas plataformas. O SAPGUI que
faz a camada de apresentao possui verses para Windows (3.1, 95, NT), OS/2 e Java. As
linguagens utilizadas no R/3 so ABAP (aplicaes com entendemos no R/3), C e C++ (para
construo do kernel) e HTML e Java (para a parte de intranet e internet).
Pgina 17
ACADEMIA BASIS
Navigation
O R/3 um sistema voltado para clients. Com este conceito possvel controlar vrias empresas
em nico sistema, separando-as por client (ou mandante). As chaves para se logar no sistema
tambm so separadas por client. Para efetuar um logon preciso ter chave no client especfico.
Alm disso o sistema exige uma password e por ser multilngue, deve-se ainda especificar a lngua
desejada no momento do logon.
Um client pode ser visto como uma entidade organizacional separada dentro do R/3, com seus
prprios dados (master data, transaction data), user master records e parmetros especficos de
customizao. Apesar dos dados serem armazanados em tabelas nicas, os dados dos diferentes
clients coexistem separados pela diferenciao do campo MANDT que faz parte da chave da maioria
das tabelas (client dependents). A nica exceo a tabela T000 (definio dos clients no sistema)
que independent apesar de ter como primeiro o campo MANDT.
Um client identificado pelos trs dgitos numricos e, com exceo dos 3 citados acima, cada
instalao pode definir quantos clients se desejar (ou a sua base de dados suportar).
Uma vez logado no sistema R/3 o sistema exibe um menu principal, onde temos as principais
reas do R/3 (Logistic, Accounting, Human Resources) entre outras entradas. Ao se escolher uma
determinada entrada o sistema exibe um menu pull-down com opes de cascading em algumas
entradas. As opes System e Help so comuns a todas as telas do sistema. Um nvel abaixo fica o
menu especfico de cada aplicao, que exibe as funes bsicas disponveis para aquele sistema
(criar um registro, por exemplo). Dynamic Menu disponvel na tela inicial d a opo de navegar em
todas as opes disponveis no formato de rvore do explorer, podendo selecionar a funo
desejada. uma ferramenta que permite efetuar searchs por palavras chave.
Pgina 18
ACADEMIA BASIS
O command field aceita vrios comandos que funcionam em conjunto com o cdigo da transao
/n para encerrar a transao atual
/o para abrir uma nova sesso
/i para encerrar a sesso corrente
/nend e /nex para efetuar logoff no sistema com e sem prompt, respectivamente
Veja as notas 26171 (Possible entry values for command fields) e 182592 (Delete/change
transactions codes in command fields) para saber mais a respeito do command field.
A tecla F1 ativa o help de campos, menus, funes e mensagens. Help tambm exibe informaes
tcnicas referentes aos campos de uma tela, como por exemplo o parameter ID do campo que pode
Session Manager uma ferramenta que permite ao usurio gerenciar todo o ambiente e at
mesmo vrios sistemas de uma nica interface. No release 4.0 esta ferramenta ainda no se encontra
em um estgio muito til, mas cresceu muito no release 4.6. De qualquer forma esta ferramenta no
parece ser muito adequada ao ambiente windows pois ela simula a funcionalidade da barra de tarefa
e a cada nova janela ela tenta fazer um novo login, ou seja, ela um pouco lenta. Ele tambm pode
ser acessado a partir do R/3. Ele o boto dynamic menu e monta toda a arvore de menus do R/3.
muito til para descobrir a transaction e o caminho de menu associado a ela.
Pgina 19
ACADEMIA BASIS
System Kernel
A interface de apresentao do R/3 o SAPGUI que apresenta uma funcionalidade muito parecida
entre as diversas plataformas do R/3. Um usurio treinado em uma determinada plataforma, salvo
pequenas excees est apto a operar o sistema nas suas mais diversas implementaes. O fluxo de
informao entre o SAPGUI e o servidor de aplicao no consiste de telas preformatadas, mas sim
de strings lgicos contendo dados e caracteres de controle, o que faz com que o trfego de dados se
mantenha na casa de 1 a 2K por tela (cada enter). Estes strings so na verdade um protocolo de
comunicao que sempre utilizado para conversar com o dispatcher e chamado de DIAG
(dynamic information and action gateway) O dispatcher quem cuida da troca de dados, entre o
application e o sapgui, e a ordem de processamento est na dispatche queue ou request queue. A
regra sempre obedecer a FIFO (first in, first out).
O R/3 trabalha com bases de dados relacionais, que so compostas de tabelas bidimensionais e
interagem com os sistemas atravs da linguagem padronizada SQL (Structured Query Language) que
comum a todas as implementaes de bases relacionais, embora cada fabricante implemente
algumas extenses no seu produto.
O DB Interface um mdulo dentro do R/3 que converte os comandos SQL codificados nos
programas ABAP para o SQL nativo do banco implementado em cada ambiente R/3. Ou seja, cada
implementao (Oracle, Informix, SQL Server) possui um mdulo de DB Interface particular para
aquela implementao, o que torna os programas ABAP independentes da implementao do banco.
Os comandos SQL escritos em OPEN SQL tem sua sintaxe verificada pelo DB Interface que
inicialmente faz um acesso no buffer interno do application server para evitar acessos desnecessrios
ao DB server. Comandos escritos em native SQL no fazem uso deste buffer interno, uma vez que o
O DB Interface no o processo que acessa e mantm a conexo com o banco. Este processo
conhecido como shadow process e roda na mquina onde est o banco de dados fazendo a ligao
do db interface, que est na maquina onde est a instance, e o banco de dados.
Pgina 20
ACADEMIA BASIS
O centro de um sistema R/3, a nvel de controle de aplicao, o Dispatcher. Ele, juntamente com
o sistema operacional, o responsvel pelo controle e disponibilizao dos recursos do sistema.
Suas principais tarefas so o controle da comunicao, a conexo com o presentation e a distribuio
de carga entre os work processes. O dispatcher distribui os servios requisitados entre os WP
disponveis e se encarrega de enviar o dado processado para o SAPGUI, que dever interpret-lo e
exibir para o usurio. No existe um WP fixo para um determinado usurio, cuidando o dispatcher de
ir utilizando-os conforme as requisies vo chegando, em um processo de fila FIFO.
Cada dialog work process coordenado por um componente interno denominado Task Handler.
Ele ativa o screen processor ou o ABAP processor e ainda o responsvel pelo roll in e roll out das
reas de usurio. Existem memrias de uso exclusivo de um determinado work process e memrias
que podem ser compartilhadas por todos eles. Esta diferenciao gerenciada pelo memory
management. A memria utilizada exclusivamente por um work process possui duas reas
reservadas para dados especficos de uma determinada sesso de usurio (user context area) e
devem ser mantidas entre as pseudo conversas do dialog. Estas reas so denominadas roll e
paging areas. A roll area contm dados que ficam imediatamente disponvel para o processamento no
incio do dialog step (roll in) e salva novamente no final do dialog step (roll out).
Este mecanismo de roll in e roll out que permite o share dos work process permitindo o
compartilhamento do recurso entre todos os usurios. Nesta rea so salvos os dados referentes ao
usurio (user context) tais como suas autorizaes, informaes administrativas alm de dados
adicionais para o ABAP e dialog processors, que so dados que j foram coletados por dialog steps
anteriores.Na shared memory existem dados disponveis para todos os work processes, tais como o
calendar, screen, table e program buffers.
Um sistema R/3 composto de uma srie de work processes que funcionam em paralelo
cooperativamente. Cada application server possui um dispatcher e um nmero configurvel destes
processos, que depende dos recursos disponveis no host (basicamente memria e processamento).
Work processes podem ser instalados para efetuar servios de dialog, update, background e spool.
Uma central instance possui ainda servios de enqueue (que tambm um work process) para
gerenciamento de lock e dois outros servios prprios:
Message Server responsvel pelo servio de comunicao entre os vrios dispatchers que
compem um sistema R/3, que portanto um pr requisito para a escalabilidade de vrios
servidores de aplicao trabalhando em paralelo. Ele muito usado para a troca de dados de
controle.
Gateway Server, tambm chamado de CPI-C handler, que permite a comunicao entre R/3,
R/2 e aplicativos externos. muito utilizado para trocar dados da camada da aplicao,
incluindo ai dados da mesma instncia.
Resumindo, uma instncia nomeada pelos servios que ela presta. Um bom exemplo disto a
instncia DVEBMGS00 que possui dialog, update, enqueue, batch, message, gateway e spool e
todos respondendo pelo system number 00 que significa que a porta 3200 ser utilizada pelo sapdp00
Pgina 21
ACADEMIA BASIS
(dispatcher), a 3300 ser utilizada pelo sapgw00 (gateway) e a 3600 ser utilizada pelo sapmsXXX
(message).
Uma transao SAP implementada atravs de uma srie de dialog steps consistentes e
conectados de forma coerente. Uma transao SAP no executa necessariamente em um nico work
process, uma vez que cada um dos seus dialog steps podero estar sendo atendidos por WP
diferentes que o dispatcher encontrou disponvel em cada momento. Alm disso, quando se utiliza o
asynchronous update para processar as atualizaes da base de dados, estes processos estaro
sendo atendidos por outros work process que podero inclusive se encontrar em outros hosts.
No R/3 cada dialog step composto de um processamento que inicia aps o usurio entrar o dado
(PAI Process After Input) e pelo processamento e envio da prxima tela (PBO Process Before
Output). Do ponto de vista do usurio, cada dialog step comea com o preenchimento de uma tela e o
posterior processamento at o envio da prxima tela. Para o sistema apenas as partes referentes ao
processamento (PAI e PBO) compem o dialog step j que durante o preenchimento da tela nenhum
Este conceito de transao, que pode compor de um ou vrios dialog steps, chamado de LUW,
ou Logical Unit od Work. Como os bancos de dados no suportam o conceito de transao para
todos os processos conversacionais (begin/end transaction commands), necessrio saber
diferenciar uma transao do ponto de vista SAP (SAP-LUW) de uma transao de banco de dados
(DB-LUW) que totalmente executada ou totalmente desfeita. No existe meio termo numa DB-LUW.
Enquanto uma SAP-LUW garante a integridade lgica do banco de dados (um determinado
lanamento dever existir nas tabelas x, y e z), uma DB-LUW garante a integridade fsica do DB e
executado necessariamente pelo gerenciador do banco. Uma transao SAP inicia uma SAP-LUW
que somente termina ao encontrar um comando COMMIT WORK no programa ABAP ou ento no
final do asynchronous update.
Pgina 22
ACADEMIA BASIS
dados permaneam protegidos durante todo o processo de atualizao do objeto. Esta tarefa
executada pelo Enqueue Work Process que utiliza uma tabela armazenada na memria principal (de
onde o enqueue work process est rodando, tambm conhecido como enqueue server e
normalmente a central instance) para este gerenciamento.
Sempre que um lock requisitado o sistema verifica (atravs do enqueue wp) se a requisio no
fere outro lock j postado na tabela. Havendo coliso de interesses, o processo informado atravs
de uma mensagem de erro, o que permite ao programa ABAP informar ao usurio que a sua
operao no poder ser executada no momento. Caso o enqueue work process no se encontre na
mesma instance em que o processo est correndo, o que normal em uma sistema R/3 de tres
camadas, esta comunicao efetuada pelo message server.
Para que este mecanismo de requisio de lock funcione no sistema R/3, necessrio que um
objeto de lock seja definido no dicionrio ABAP especificamente para aquele objeto que se deseja
travar. J existem objetos definidos em uma tabela primria no dicionrio do R/3, porm o usurio
pode definir seus prprios objetos em tabelas secundrias (estes objetos do usurio precisam ter
Os locks podem ser do tipo S (read) ou E (write). Um lock do tipo E somente poder ser
postado se no existe nenhum outro lock j definido sobre o registro. Quando um objeto de lock
ativado, o sistema gera duas funcion modules, uma para ENQUEUE_<object> e outra para
DEQUEUE_<object>. Os lock postados por um programa permanecem at que sejam retirados pelo
prprio programa ou ainda pelo procedimento de update (segunda parte da SAP-LUW).
Work processes podem gerar atualizaes diretamente na base de dados mesmo que o banco
no se encontre no mesmo host. Quando o programa ABAP utiliza os comandos CALL FUNCTION
... IN UPDATE TASK, criado no R/3 o mecanismo de asynchronous update. Neste caso a
requisio direcionada para uma tabela (a VBLOG) existente fisicamente no banco de dados que
age como um buffer intermedirio onde as requisies de atualizao so enfileiradas.
Esta tabela contm basicamente o nome da rotina que ser disparada para efetuar a atualizao e
os dados (parmetros) para a rotina efetuar as atualizaes necessrias. Transaes que so
canceladas pelo usurio no tem o seu registro de header completado na VBLOG e portanto suas
atualizaes no so efetuadas. Os registros de atualizao podem ser divididos em componentes V1
e V2. Basicamente processos que so crticos so armazenados em componentes V1 e processos
secundrios que so menos time-criticals so armazenados nos componentes V2. Informaes de
Quando ocorrem os erros descritos acima, o usurio notificado atravs de mail e medidas
corretivas precisam ser avaliadas. Ao trmino da SAP-LUW, a task de update remove os locks
postados pelos dialog steps anteriores. Caso ocorram erros durante o update os locks tambm sero
removidos.
Updates pendentes com erro podem ser restartados pelo administrador do sistema. A SAP no
recomenda que updates V1 sejam restartados, devendo este procedimento somente ser efetuado
para updates dos tipo V2. Processos V1 devero ser regerados processando novamente a transao
(veja a nota 16083)
Quando um sistema R/3 sai, as entradas que esto com status INIT na VBLOG so processadas
to logo o sistema retorne ao ar. Esta funcionalidade pode ser parametrizada pela profile do sistema.
Pgina 23
ACADEMIA BASIS
Background Processing
Atravs das classes de processamento (A, B ou C) possvel setar prioridades entre os jobs. Os
jobs batch normalmente no so schedulados para processamento imediato, mas so especificados
para uma data/hora futura podendo ainda, quando necessrio, serem definidos como peridicos.
O batch scheduler o responsvel pelo disparo automtico dos jobs configurados no sistema.
Este mdulo um programa ABAP que roda em um dialog work process por instncia do sistema
R/3. Ele varre a tabela de scheduling e encontrar um job candidato o encaminha para processamento
pelos background work processes. O sistema efetua balanceamento de carga para distribuir os jobs
batch entre os diversos servers que possuem work processes disponveis (do tipo B). Jobs batch
podem ainda ser schedulados para processamento em servers especficos. Na escala de prioridade,
para os jobs com mesmo horrio de inicio, os Jobs classe A tem maior prioridade que os classe B e
por ltimo os jobs classe C. Dentro de um mesmo servidor e jobs schedulados com a mesma classe,
tem prioridade aquele schedulado com especificao explcita de server (sem balanceamento). A
partir da a ordem de inicializao definida pela ordem de criao do job. Se for necessrio saber a
ordem em que os jobs sero executados basta abrir a SM37, listar os jobs e classifica-los pela ordem
cronologica. Se houver alguns jobs no mesmo horrio devemos entrar em um a um para ver a data de
criao e descobrir qual a ordem exata de execuo.
Spooling a transferncia bufferizada de dados para dispositivos de sada do tipo printers, fax,
etc. O R/3 suporta spooling para dispositivos locais ou em rede. As requisies de spool so geradas
tanto pelo processamento online (dialog) quanto pelo processamento batch (background). Os dados a
serem impressos ficam armazenados nos TemSe (Temporary Sequential Objects). Quando o sistema
necessita de impresso, gerado um output request que encaminhado para um spool work
process. Uma vez formatado o dado para impresso, a requisio de impresso encaminhada para
o spool do sistema operacional, que fica responsvel pelo encaminhamento do output request para o
R/3 Instance
Uma instncia R/3 uma unidade administrativa que combina componentes de um sistema R/3
para prover um ou mais servios. Todos os servios providos por uma instncia so iniciados (start da
instncia) e parados (stop da instncia) ao mesmo tempo. Uma instncia parametrizada atravs de
parmetros que descrevem todas as suas caractersticas.
Pgina 24
ACADEMIA BASIS
Cada instncia possui seus prprios buffers e um sistema R/3 central composto de uma nica
instncia que possui todos os servios (DVEBMSGnn). O message server o responsvel pela
comunicao entre os application servers e um central message service para prover servios de
update trigger, enqueue e dequeue, background requests, e outras pequenas trocas de informaes
(normalmente dados de controle e pequenas quantidades de dados da camada de aplicao)
Cada dispatcher de um application server se comunica com um nico message server em cada
ambiente R/3, que portanto s instalado uma nica vez na central instance. ele quem atribui qual
work process vai processar o dialog step que est iniciando. O controle desta fila armazenada na
dispatcher queue, tambm conhecida como request queue. Alm dos dispatcher, os presentation
(SAPGUI) podero se logar nos application server atravs do message server para desta forma
efetuar balancemento automtico de carga (load balancing). O gateway o responsvel pela troca de
dados (normalmente com bom volume de dados) entre as instncias de um sistema R/3, entre
sistemas R/3 e entre um sistema R/3 e outros sistemas
So as profiles que configuram as diversas instncias e desta forma definem quem executa quais
servios que estaro disponveis. Por nomeclatura costumamos chamar os dialogs, background,
enqueue, update e spool de work process e o gateway e message de servios.
Pgina 25
ACADEMIA BASIS
Interfaces
R/3 um sistema aberto que permite a comunicao com vrias outras plataformas, quer seja
entre as instncias de um sistema R/3 ou com outros sistemas R/3, R/2 ou sistemas no SAP atravs
de rede. A Comunicao em rede pode ser dividida em 7 camadas, onde cada camada serve de
interface entre a camada de baixo e camada de cima. Do ponto de vista da programao,
desenvolver uma comunicao entre sistemas mais fcil a medida que esta conversa
implementada nas camadas mais superiores.
A SAP suporta os protocolos TCP/IP e SNA LU6.2. A comunicao entre sistemas R/3 se d em
TCP/IP e a comunicao LU6.2 utilizada para a comunicao com sistemas R/2 baseados em
mainframe. A programao R/3 suporta ainda CPI-C, RFC e OLE Automation como interfaces de
comunicao. Os dois primeiros protocolos so proprietrios da SAP e o OLE um protocolo da
Microsoft para a comunicao entre aplicativos na plataforma windows
SAP Gateway o CPI-C handler, responsvel pela conexo entre os protocolos TCP/IP e LU6.2,
utilizado para a conexo entre sistemas R/3 e sistemas R/2 baseados em mainframe. O Gateway
pode rodar tanto em um application server quanto em um database server. Pequenas mensagens,
como visto anteriormente, fluem entre os application e a central instance em um sistema R/3 atravs
do message server. J os volumes mais elevados de dados, tais como os dados da aplicao fluem
Com isto podemos ver que a comunicao atravs do gateway tanto pode se dar dentro de um
sistema R/3 quanto entre um sistema R/3 e um sistema R/2 ou com programas externos. O gateway
utiliza o protocolo TCP/IP, atravs de RFC, para comunicao com os clients e LU6.2 apenas para a
Os parmetros enviados pelo comando INIT so definidos atravs da tabela TXCOM e mantidos
RFC uma interface de comunicao baseada em CPI-C mas que possui mais funes alm de
ser mais simples de se utilizar. Pode ser utilizada para a comunicao entre sistemas R/3, R/3 com
R/2 bem como aplicaes externas. O RFC permite a chamada de subrotinas remotamente pela rede.
Estas subrotinas so chamadas de function modules. Estas funes possuem parmetros e retornam
valores como qualquer outra funo e so gerenciadas dentro do R/3 atravs de sua prpria function
library, denominada Function Builder.
Pgina 26
ACADEMIA BASIS
Function Builder (transao SE37) d ao programador uma excelente ferramenta para programar,
documentar e testar as function modules, que tanto podem ser chamadas em modo local quanto
remotamente. O Sistema R/3 gera automaticamente todo o protocolo necessrio para a comunicao
RFC entre os sistemas.
chamadas RFC :
Synchronous RFC call, onde o programa que emitiu a chamada suspende a execuo at o
retorno da chamada
Asynchronous RFC call, onde a funo chamada roda em paralelo e independente do
programa que emitiu o comando. O programador fica responsvel pela conexo lgica dos
resultados obtidos
Transactional RFC call, onde vrias funes so agrupadas em uma nica transao que
executada no sistema remoto como uma nica LUW na seqncia com que elas foram
codificadas. Caso ocorra um erro, o sistema que emitiu o comando recebe um cdigo de
retorno que pode ser consultado pela transao SM58. Ainda neste caso o sistema destino
no precisa estar disponvel no momento em que o comando emitido, podendo ainda ser
parametrizado o intervalo entre os queries.
Os business objects formam a base para a comunicao em alto nvel no sistema R/3, tornando
possvel por exemplo implementaes R/3 na internet e tem as seguintes caractersticas:
Formam a base para uma bem sucedida comunicao em sistemas client/servers
So orientados ao negcio. Existem BAPIs chamados Customer, Order, etc.
Possui mtodos, que so os business functions que facilitam e padronizam a utilizao destes
objetos
So gerenciados internamente pelo R/3 em uma biblioteca central, a Business Object
Repository, ou BOR
OLE (Object Linking and Embedding) uma forma de comunicao entre programas orientada
para objeto. Com isto possvel conectar aplicaes desktop que utilizam OLE2 (Word, Excell, etc.)
com o sistema R/3. Quando o sistema R/3 est agindo como um client OLE, o usurio chama o
programa (word, excell) de dentro do programa ABAP. Os comandos OLE so transferidos para o PC
Os objetos OLE aos quais o R/3 pode se conectar como client so definidos internamente no R/3
(atravs de type informations) onde se definem os mtodos, atributos e parmetros do objeto. A
(CREATE OBJECT, CALL METHOD, GET/SET
PROPERTY e FREE OBJECT) que permitem instnciar e manipular o objeto. Quando o R/3 funciona
como um OLE server, suas funes podem ser chamadas de dentro das aplicaes que rodam no
desktop. Estas chamadas so enviadas ao SAP Automation Server que converte os calls para RFCs
que so enviados ao sistema R/3. Estas chamadas ativam BAPIs ou function modules dentro do
sistema R/3 que processam as informaes que so ento enviadas de volta para o Automation
Server que a repassa para o aplicativo no desktop.
Do ponto de vista da programao, usurios podem utilizar as function modules do R/3 em uma
programao orientada para objeto, como por exemplo utilizando C++ ou Visual Basic. Isto vlido
Pgina 27
ACADEMIA BASIS
para todos os objetos que so gerenciados centralizadamente pelo R/3 atravs da BOR (Business
Object Repository). Como os BOR e function modules se encontram no R/3, para utiliza-los
necessrio antes efetuar um logon, que pode ser feito de forma automatizada pelo programa.
Internet Architecture
ITS (Internet Transaction Server) forma o componente principal da arquitetura Internet da SAP. Ele
composto de dois componentes, o Application Gate (A Gate) e o Web Gate (W Gate). Do ponto de
vista do R/3, o A Gate age como um usurio comum, uma vez que o IST converte toda a conversa
com o sistema para protocolos utilizados pelo SAPGUI. O A Gate mescla os dados recebidos com
templates HTML e os envia atravs do W Gate para o HTTP server, onde so finalmente exibidos
para o usurio atravs dos browsers padro (explorer ou netscape).
A SAP fornece o IAC (Internet Application Component) que possui Web Transactions que nada
mais so que mapeamentos Web de transaes standard R/3. Assim como qualquer pgina HTML, o
usurio pode customizar o lay out de acordo com suas necessidades. Para permitir uma boa
performance a SAP est rescrevendo algumas transaes para que essas funcionem de forma
integrada com a internet.
EDI Architecture
Electronic Data Interchange uma forma estruturada e eletrnica para trocar informaes entre
diversos sistemas. Esta arquitetura tem as seguintes caractersticas:
EDI-enabled applications, que permite que transaes de negcio sejam processadas
automaticamente
A interface IDOC, que foi criada como uma interface aberta e consiste de documentos
intermedirios e seus respectivos function modules
subsystem EDI, que converte os documentos intermedirios em mensagens EDI e vice versa.
O SAP no implementa esta facilidade
O componente principal desta interface o Idoc, que um SAP standard que especifica a
estrutura e o formato do dado que est sendo transferido.
Por razes tcnicas ou de negcio pode ser necessrio fazer uma implementao descentralizada
do R/3. O conceito ALE (Application Link Enabling) permite configurar e operar aplicaes distribudas
em SAP.
ALE consiste de uma troca controlada de mensagens de negcio, mais especificamente os dados
do negcio, que permitem a integrao consistente de sistemas distribudos. Os aplicativos so
integrados atravs de comunicaes tanto sncronas quanto assncronas e por TRFC (transactional
RFC). Para especificar um sistema distribudo necessrio especificar o modelo lgico de
distribuio de dados para definir em que sistema rodar e ainda entre quais e como os dados
devero ser intercambiados. Os dados tambm so transferidos atravs de Idocs (Intermediate
Documents) para possveis aplicaes de EDI.
Quando se transfere dados entre sistemas R/3 ou entre o legado e o R/3, importante garantir
que estes dados entrem de forma consistente dentro do sistema destino. Desde que se utilize as
mesmas transaes conversacionais utilizadas pelos usurios para entrar com os dados no sistema,
fica assegurado que os dados passaro pelas mesmas consistncias que se efetuam nas entradas
O mtodo comumente utilizado para entrada de dados do legado conhecido como batch input. A
SAP prov uma srie de mtodos implementados atravs de tcnicas de batch input para a
Pgina 28
ACADEMIA BASIS
transferncia de dados do legado. Estes mtodos standard so controlados atravs do Data Transfer
Workbench (transao SXDA). Caso no existam SAP standard disponvel, possvel definir e criar
seus prprios mtodos. O mtodo consiste na bufferizao das operaes em uma BDC table (Batch
Data Communication) que fica organizada em uma fila (batch input session). No passo seguinte esta
fila processada e os dados so transferidos para a base de dados. O mtodo funciona como uma
screencam mergeado com um pacote de dados onde cada registro submetido ao screencam
simulando um usurio processando a transao.
Um outro mtodo para entrada de dados o CALL TRANSACTION que fora a chamada de uma
transao para processar os dados armazenados na BDC table. Tanto o batch input quanto o mtodo
de call transaction chamam os mesmos programas que so processados em dialog mode pelos
usurios, o que garante desta forma que as mesmas consistencias sejam efetuadas sobre a massa
de dados.
Outra forma de atualizao o Direct Input, onde os dados so lidos diretamente do arquivo de
entrada, consistidos e transferidos para a base de dados sem passar pelas funes de aplicao
normais. Dado a natureza atpica desta operao, ela efetuada apenas por algumas poucas
funes R/3 e reservadas apenas para programas desenvolvidos pela prpria SAP.
Devemos sempre ter em mente que a principal diferena entre o batch input e o call transaction
a existencia de um arquivo intermedirio (conhecido como sesso) que viabiliza o reprecessamento.
J no call transaction, quem deve possuir ou permitir este tipo de controle ou recurso o proprio
programa abap que esta preparando os dados para serem inseridos no sistema.
No vem ao caso para a academia, mas uma outra boa forma de fazer a integrao de dados do
legado para o R/3 a LSMW ou DLSM que agiliza na gerao das pastas de BDC e na eliminao da
Pgina 29
ACADEMIA BASIS
Frontend Administration
Para testar o funcionamento da rede entre a estao e o host basta efetuar um ping ou telnet. As
configuraes no windows ficam nos arquivos host e services.
Para testar o funcionamento do SAPGUI utilize o comando sapgui <appserver> <nn> ou sapgui
/H/appserver/S/32nn
SAPGUI Installation
Sempre que for instalar uma nova verso do SAPGUI necessrio deletar a verso anterior. O
programa sappurge.exe pode ser utilizado para esta finalidade. A instalao feita individualmente
em cada PC. Programe a melhor forma para otimizar o trabalho. O arquivo SAPSETUP.INI pode ser
editado para parametrizar a instalao. Nele se configura quais os componentes a serem instalados e
O sapsetup.exe permite uma instalao dialog free startada a partir da linha de comando (veja o
R/3 Installation Guide) o que assegura uma distribuio automtica do software e a manuteno do
frontend utilizando logon scripts. A vantagem neste tipo de instalao que a configurao das
estaes feita a partir de uma localizao central atravs de um logon script, que faz todas as
checagens necessrias (hardware e network) e executa as operaes necessrias para instalar e
manter o frontend. A desvantagem deste mtodo que se tem mais trabalho para implementar o
check de verso no logon script e para analisar os resultados da instalao no arquivo sapsetup.log.
A SAP recomenda que sob windows 95 e NT primeiro se faa uma instalao em um servidor
(installation server) utilizando o installation wizard e posteriormente se instale os clients a partir dele.
O programa utilizado na instalao o \Gui\Windows\Win32\Sapsetup.exe
Pgina 30
ACADEMIA BASIS
O tipo de help e sua localizao so especificados como parmetros nas profiles do R/3. A
configurao do arquivo SAPDOCCD.INI no frontend sobrepe a definio genrica das profiles do
R/3 e deve ser utilizada como complementao a definio do sistema central.
Ao se clicar no canto esquerdo da janela do saplogon possvel obter informaes about que
descrevem a localizao dos dois arquivos (sapgui.exe e saplogon.ini). O boto do canto superior
esquerdo da janela permite ainda que se configure as opes de trace do saplogon e as
funcionalidades de edio. Estas definies ficam armazenadas na seo [Configuration] do
saplogon.ini
O saplogon utiliza o programa sapgui.exe para se conectar com o sistema R/3 e o string de
conexo depende do target escolhido:
Para conexo com uma instncia R/3: sapgui /H/<appserver>/S/32nn
Para conexo com um message server: sapgui /M/<host name>/S/36nn/G/<logon group>
Para conexo saprouter: sapgui /H/<host1>/S/3299/H/<host2>/S/3299/H/<oss
host>/S/36nn/G/Public
Os nmeros dos servios podero ser substitudos pelas respectivas entradas colocadas no
services: sapdp<nn> para o dispatcher e sapms<SID> para o message server. S para constar, as
portas do gateway (sapgw00) so as 3300.
Se for necessrio, o log de start do sapgui pode ser ativado. Ele recebera o nome dev_9999.TDW
(ascii) e dev_9999.log (binrio) e sero gravados na area de work do sapgui. Eles possuem a log de
tudo que aconteceu.
Resumindo os arquivos ini. O saplogin.ini possui a configurao das instncias e seus respectivos
system numbers. No sapmsg.ini teremos a indicao de quais so os messages de cada um dos
sistema R/3. No saproute.ini teremos as strings de roteamento do R/3 e no arquivo services teremos
Pgina 31
ACADEMIA BASIS
as portas que sero utilizadas pelo dispatcher, gateway, message e etc. Devemos sempre tomar
cuidado ao alterar o service pois ele no segue um padro entre maquinas diferentes e
principalmente com usos diferentes. Em relao a localizao dos arquivos, os sap*.ini esto no
diretrio do windows e o service ou est no diretrio do win9x ou no system32/drivers/etc do winnt.
O SAP MAPI permite a integrao dos softwares de correio eletronico e o R/3. Especificamente o
MAPI permite que o ambiente de troca de mensagens do R/3, conhecido como Office, passe a ser
acessado como se fosse uma pasta do Outlook ou do exchange da microsoft.
Uma outra evoluo da SAP a disponibilizaro do sapgui na linguagem java. Isto, pelo menos a
princpio, facilitaria a distribuio de softwares para as estaes mas ainda possui o inconveniente do
ambiente ser mais complexo. Outra desvantagem a tecnologia estar no inicio do vida e portanto
ainda sem contar com uma boa performance e estabilidade de ambiente. O arquivo que
corresponderia ao saplogon.ini neste ambiente o IDES.html.
Durante a ativao de um sapgui java devemos lembrar que at o aparecimento da janela para o
Se for necessrio saber mais sobre o assunto, procure pela nota 42268 ()
Pgina 32
ACADEMIA BASIS
OSS Overview
OSS um servio 24 x 7 disponibilizado pela SAP que permite acesso ao banco de dados de
Notas, que provm solues para problemas no sistema R/3. Atravs do OSS os clientes abrem
chamados ao suporte relatando problemas que so analisados pela equipe da SAP. Atualmente a
SAP est migrando estes servios para a internet. Isto faz parte da nova estratgia mysap.com.
Aparentemente todo o OSS ser disponibilizado no site http:/service.sap.com que faz parte do market
place.
OSS Functionality
A tela de pesquisa permite entrar com palavras chave relacionadas ao problema e incluir filtros na
pesquisa, tais como release, database, verso de Hot Package, etc. Ao abrir chamados, o OSS j
configurado com dados gerais da sua instalao requisita informaes sobre rea do problema,
transao, descrio do problema e severidade.
O SSCR uma funcionalidade do OSS que permite ao cliente obter key para desenvolvedores e
para os objetos SAP que iro sofrer modifications. O SSCR exibe uma lista de todos os objetos e
desenvolvedores registrados para o cliente na SAP. O OSS permite listar os Hot Packages e Legal
change patches disponveis bem como as datas dos treinamentos oferecidos pela SAP.
OSS Access
O acesso ao OSS efetuado atravs da transao OSS1, que abre uma nova conexo SAPGUI
no frontend do usurio. O acesso ao OSS preciso ser configurado atravs de um SAPRouter
gateway que abre uma conexo segura entre a instalao do cliente e a rede mundial da SAP atravs
dos roteadores que ligam as duas redes. O saprouter tambm controla e filtra quem pode e quem no
pode acessar a partir de cada um dos lados envolvidos na conexo.
SAPNet
A SAPNet uma ferramenta que prov informaes e servios via internet. O acesso a SAPNet
feito atravs da rea CUSTOMER PARTNER da pgina pblica da SAP (WWW.SAP-AG.DE). Dentro
da SAPNet existem reas de Assistncia, Informao, Comunicao e Servios. Cada dia mais esta
ferramenta est se aproximando do OSS e hoje em dia j dispomos da maioria dos recursos via
browser. Alm disto dispomos de mecanismos para perquisar em todo o site da SAP incluindo ai
muitos documentos no disponveis no OSS. Outro bom recursos j disponvel o download de hot
packages e legal changes patches alm dos patches de kernel (executveis do R/3).
No sapnet encontramos um bom recurso para um sizing inicial. A ferramenta se chama quick
sizing e a partir de alguns dados funcionais e indicao da preferencia do ambiente operacional a
ferramenta consegue um bom resultado no dimensionamento do ambiente de hardware.
SAP TechNet
A SAP TechNet uma ferramenta focada mais para o lado tcnico, acessada atravs de endereo
www.sap.com/technet ou atravs da rea de communication da SAPNet. Os assuntos na SAP
TechNet esto divididos por reas de interesse e podem ser navegados para encontrar uma grande
diversidade de documentos e pdfs. Para facilitar a organizao a maior parte dos documentos esto
na knowledge base e ainda existe uma rea conhecida como forum com um conjunto de perguntas
feitas por outros clientes.
Pgina 33
ACADEMIA BASIS
Administrator Tasks
O Sap Service Manager usa as cores para indicar a fase em que est cada servio, a saber :
verde (processo sendo executado), vermelho (processo terminado anormalmente), amarelo (processo
sendo inicializado) e branco (servio no est ativo ou com situao desconhecida)
Se for necessrio iniciar a instncia atravs da linha de comando utilize o comando startsap que
tambm possui seu inverso, o stopsap.
Pgina 34
ACADEMIA BASIS
Resumindo, o SAP service l as variveis de ambiente, a start profile e a default profile; o R/3
kernel (conhecido com dispatcher) l a default e a instance profile. Se algum parmetro for alterado,
para ele passar a valer, tudo que for afetado deve ser reinicializado.
Arquivos de erros gravados pelo executvel sapntstartb.exe que acionado pelo SAP service
manager ou pelo startsap :
Stderr1 contm as logs do banco de dados
Stderr2 contm as logs do message server
Stderr3 contm as logs do dispatcher
Sapstart.trc contm o trace do programa sapntstartb. Vale lembrar que o nvel do trace a
ser logado pode ser alterado pelo parmetro rdisp/trace e este varia de 0 (no trace) at 3
(todas as mensagens e trace completo)
Arquivos de trace :
Sapstart.log contm, de forma um pouco menos detalhada, a toda a log da inicializao
Dev_ms contm o trace do message server
Dev_disp contm o trace do dispatcher
Dev_w0 n contm o trace de um work process especifico
Uma boa transao para ver as logs a transao RZ03 e menu utility. Outra boa transao para
ver mensagens de log a SM21, mas esta mostra as mensagens de log de R/3.
Startup Diagnostics
Pgina 35
ACADEMIA BASIS
SAP service no inicia. Ou as entradas no NT register esto erradas, ou tem algum problema
de configurao ou a senha est errada
Database no inicia. Verifique as variveis de ambiente, se o db est em dba mode, se algum
arquivo foi perdido ou corrompido ou se o listener est desativado
R/3 no inicia. Pode ser os compartilhamentos de disco, a configurao do servio (por
exemplo, usurio errado ou sem autorizao), problemas de permisso nos arquivos, erro de
tcp (host, services, dns, etc) ou erro na conexo com o database.
bastante conveniente enviar mensagem para os usurios do que ser feito. Para isso use a
SM02.
Para parar uma instncia R/3 podemos faze-lo atravs do CCMS (que na verdade a transao
SRZL) ou pelo SAP Service Manager (neste caso ele manda uma mensagem pelo named pipe para a
instncia). A grande diferena do NT para o Unix que o stopsap no para o banco de dados, ou
seja, a pesar do startsap inicializar o banco de dados o stopsap no o paralisa.
Para o banco de dados podemos utilizar o sapdba ou alguma ferramenta do oracle, como Oracle
Instance Manager ou o Oracle Server Manager
Quando do backup off-line o R/3 pode ser configurado para no ser paralisado junto com o banco
de dados. Isto feito atravs dos parmetros rsdb/reco_trials e rsdb/reco_sleep_time que
configuram a quantidade de tentativas de recuperar a conexo e o tempo de espera por esta
conexo. Com isto conseguimos que os buffers sejam preservados e as aplicaes que estavam
sendo executadas naquele momento no so abortadas. Na prtica esta poltica est associada a
backups com recursos de split mirrow de discos que contm os arquivos de dados do oracle.
Pgina 36
ACADEMIA BASIS
O usurio <sid>adm utilizado para administrao do sistema R/3. O start do R/3 efetuado
startsap_<host>_<instance nbr>, que fica no diretrio home do usurio. Este
script tem um alias: startsap. O startsap verifica se o processo saposcol est rodando e o ativa, se
necessrio. O scipt pode ainda chamar o script startdb caso o banco se encontre em shut down. Em
seguida o script starta a instncia R/3. O script aceita 3 tipos de parmetros:
startsap R3, ativa apenas a instncia R/3, desde que o banco esteja rodando
startsap DB, ativa apenas o banco de dados
startsap all, ativa o banco e a instncia ( o default quando nenhum parmetro especificado
Durante o processo de start, o sapstart grava no diretrio de work um arquivo kill.sap que contm
o comando kill 2 <sapstart process nbr>, que ser executado pelo script de stop da instncia. Para
garantir um start consistente, a seqncia dos parmetros lidos pelos work processes seguem um
padro definido, conhecido como parameter replace sequence:
So lidos os parmetros hard coded nos fontes C do kernel
Parmetros contidos na default profile sobrescrevem valores ja lidos no step anterior
Parmetros da instance profile sobrescrevem os anteriores
kernel do R/3 (disp+work) l os parmetros contidos nas default e instance profiles. Desta
forma, alteraes nelas executadas somente tero validade no prximo start.
Durante o processo de start, quando requerido, o startsap chama o script startdb que grava
uma log apropriada no startdb.log. Eventos significantes (start, stop, errors) so logados pelo no
Oracle alert file: /oracle/<SID>/saptrace/background/alert_<SID>_.log. Informaes detalhadas de
erro so logadas no Oracle trace file: /oracle/<SID>/usertrace/ora_<pid>.trc. Quando se utiliza o
sapdba para start e stop do banco de dados, o sapdba grava uma log no diretrio
/oracle/<SID>/sapreorg, .../sapcheck, .../sapbackup, dependendo da ao que foi executada
O script startsap grava uma log de start no diretrio home do usurio <sid>adm. O diretrio de
work contm trace files e error files de mensagens relacionadas com o start dos work processes e
Pgina 37
ACADEMIA BASIS
demais servios. O nvel de informaes gravadas nos trace files definido pelo parmetro
rdisp/TRACE da instance profile. O default 1 (errors e warnings), aceitando valores 0, 1, 2 e 3. O
correto acompanhamento das logs permite identificar o ponto onde ocorreu um erro no processo de
start de uma instncia R/3
As razes para se parar uma instncia R/3 vo desde paradas planejadas (mudana na profile,
manuteno do sistema R/3 ou DB, upgrades) at quedas no planejadas, por exemplo por falha de
hardware. Antes de parar um sistema R/3 convm verificar os seguintes pontos no sistema. Havendo
A parada do sistema dever ocorrer primeiro nos dialog instances e posteriormente na central
instance e database. O comando utilizado o stopsap (alias do script stopsap_<host>_<nbr>) que
possui basicamente os mesmos parmetros e funcionalidades do startsap (R3, DB, all). A parada
apenas do database (stopsap db ou sapdba) faz com que os work processes do R/3 interrompam a
conexo com o Oracle. Estes processos tentaro uma reconexo (parametrizada por profile) e em
caso de insucesso, entraro em modo de reconnect e somente tentaro nova conexo sob demanda.
O processo de retirar apenas o database poder ser uma opo para efetuar o backup offline do
banco de dados preservando porm os buffers da instncia R/3 intactos durante o processo. Erros
durante a tentativa de parada do database podero ocorrer erros caso o Oracle esteja efetuando um
rollback, executando um online backup ou ainda por se encontrar travado devido a falta de rea para
o archive. Caso a causa no possa ser identificada facilmente, utilize a SM21 para tentar identificar
possveis mensagens. De qualquer forma, elimine a causa antes de fazer novas tentativas de
shutdown.
Pgina 38
ACADEMIA BASIS
CCMS Configuration
Overview
O Computing Center Management System, conhecido como CCMS e acionado pela transao
SRZL, a ferramenta que prove o gerenciamento de :
Performance, monitorao e anlise do R/3, sistema operacional e rede
Profiles, modos de operao e logon groups
Start/stop dos ambientes
Banco de dados e do archiving do banco de dados;
Carga de trabalho (workload)
Impresses
Segurana de acesso
Antes de utiliz-lo, em toda sua potencialidade, ele deve ser configurado. Para isto os principais
Esta a ferramenta para manuteno das diversas profiles do R/3 (start, default e instance). Com
ela podemos editar e manter todos os parmetros. A manuteno pode ser feita de forma bsica ou
estendida, o que difere se os parmetros sero manipulados de forma individual ou de forma
coletiva. A transao ainda permite deletar, comparar e verificar as profiles e suas diferentes verses.
Os passos para a manuteno inicial das profiles so : Importa-las a partir do sistema operacional;
Mante-las utilizando a RZ10; salva-las e ativa-las. Tomar cuidado com o boto import pois ele importa
apenas o servidor corrente. Para importar use o menu Utilities, Import profiles, of active servers.
R/3 Profiles
Em ambientes distribudos com vrias instncias R/3, o diretrio de profiles compartilhado entre
todas as instncias e permanece como repositrio central de todas as profiles. Para cada sistema
R/3 existem vrias profiles. Uma DEFAULT profile e, para cada instncia do ambiente, uma instance
e uma start profile. Atravs da ferramenta RZ10, existem dois modos de exibio/edio das profiles:
Pgina 39
ACADEMIA BASIS
O programa de instalao, R3SETUP, cria a primeira verso das profiles no sistema operacional
de acordo com os recursos do sistema (memria e CPU). Durante o processo de configurao inicial
do CCMS, importamos estas profiles para a base de dados R/3 utilizando a RZ10 e efetuamos as
nossas customizaes. Isto permite uma gerncia centralizada de todas as profiles de um ambiente.
As profiles utilizadas pelo R/3 para configurao da instncia durante o startup sempre a profile
ativa, ou seja, aquela que se encontra copiada no sistema operacional. A partir do momento que
importamos as profiles pela RZ10, todas as manutenes sempre devero se dar atravs desta
interface nunca diretamente no sistema operacional para evitar que haja dessincronizao das
ferramentas. Qualquer dvida quanto ao sincronismo poder ser verificado atravs de seus
mecanismos de check e da comparao de verses.
Do ponto de vista do R/3, uma profile consiste de duas partes lgicas: entradas nas tabelas da
base de dados do R/3 e um arquivo no sistema operacional. Como a verso utilizada pelo startup a
do OS (profile ativa), alteraes efetuadas nos parmetros devero ser salvas no sistema operacional
e somente tero efeito no prximo start da instncia. Somente a verso mais recente de uma profile
pode ser ativada pela ferramenta RZ10. Na prtica isto significa que a tentativa de ativar uma verso
mais antiga faz com que a profile seja copiada com uma nova verso e ativada. Qualquer
manuteno vai sempre gerando novas verses na base de dados que ficam documentadas como
comentrios e headers no file do sistema operacional.
Operation Modes
Operation mode uma facilidade do R/3 que permite que se configure diferentes combinaes nos
tipos de work processes que podem ser ativados ao longo do dia sem a necessidade de stop/start da
instncia. Isto permite que possamos ter por exemplo uma maior disponibilizao de background work
processes durante perodos de maior demanda desta funcionalidade, como perodos noturnos. J os
perodos diurnos so caracterizados por uma demanda muito maior de processamento dialog.
Operation mode permite portanto maximizar a utilizao dos recursos do sistema sem a
necessidade de stop/start das instncias para que as configuraes tomem efeito.
Uma configurao bsica de operation mode especifica os servios ou tipos dos work processes e
os perodos escolhidos para cada intervalo. atravs desta funcionalidade que conseguimos
configurar background work processes para processamento exclusivo de jobs classe A. Operation
mode pode ser configurado baseado em alguns conceitos bsicos:
nmero total de work processes deve permanecer o mesmo entre os operation modes de uma
instncia, j que nenhum novo servio ser startado, apenas os processos tero suas
funcionalidades reconfiguradas.
Pgina 40
ACADEMIA BASIS
Cada instncia dever permanecer com o requisito mnimo de dois dialog processes
Cada sistema dever permanecer com um processo de enqueue e pelo menos um update.
RZ10, atravs de seus mecanismos de check, oferece recursos para efetuar estas
verificaes das profiles e dos operation modes configurados. A mudana de configurao entre
operation modes pode ocorrer manualmente sob demanda do administrador do sistema atravs da
RZ04 ou ento de forma automtica atravs da definio de um schedule de horrios chamado de
timetable, que configura um ciclo completo de 24 horas. Este schedule de horrios mantido atravs
SM63. A timetable nica para todas as instncias de um sistema. Isto significa
que todas devero possuir a mesma configurao de operation modes, porm cada uma poder ter a
sua configurao individual de work processes.
Alm da timetable normal que configura o ciclo de 24 horas do operation mode, possvel definir
uma timetable excepcional para ser ativada em uma data especfica. Enquanto uma timetable normal
deve possuir entradas que cobrem todas as 24 horas do dia, uma timetable excepcional poder
possuir entradas apenas para um determinado perodo do dia. Nos demais perodos continuariam
possvel simular o switch de um operation mode em test mode e desta forma analisar possveis
falhas atravs da log de switch. Discrepncias existentes na configurao das profiles ou na definio
dos operation mode podero ser identificadas e eliminadas.
Atravs do CCMS, transao RZ03, possvel startar e parar as instncias R/3 de um sistema. A
instncia de banco de dados e pelo menos uma instncia do ambiente precisam porm ter sido
startadas atravs das ferramentas do sistema operacional. Em plataformas UNIX utilizada a
facilidade de rexec para esta operao remota. J no NT esta facilidade (rexec) no padro e deve
ser startada se precisarmos que uma instncia NT manipule uma instncia Unix. Alm de permitir a
parada de uma instncia a RZ03 tambm permite o switch de operation mode manualmente.
Pgina 41
ACADEMIA BASIS
Background Processing
Um job background um ou mais programas ABAB, external programs ou external commands que
rodam seqencialmente (steps) sem a interveno do usurio, baseados em eventos (event-based)
ou horrios (time-based) pr estabelecidos. So utilizados principalmente para:
Processar automaticamente tarefas rotineiras
Processar informaes vindas de sistemas legados
Processar tarefas baseado na ocorrncia de determinados eventos
Processar uma carga em massa no ambiente em horrios de baixa atividade online
Podem ser schedulados para serem disparados baseados em determinados eventos que ocorram
tanto dentro quanto fora do R/3 (event-based jobs). Podem ser arranjados em classes (A, B ou C)
que possuem uma hierarquia de prioridade na execuo. O sistema permite que se reserve work
process livres para execuo exclusiva de jobs classe A. O mecanismo de funcionamento o
seguinte: pelo menos x (configurado pela RZ04) work processes ficam reservados para classe A
independente de quais sero eles.
Os jobs so disparados atravs de um servio, o batch scheduler, que roda no sistema R/3. Este
servio um programa ABAP que roda em um dialog work process no servidor parametrizado nas
profiles do ambiente atravs do parmetro rdisp/bcttime. Neste parmetro especificado o tempo
em segundos com que este programa roda, normalmente 60 segundos. Quando se especifica um
valor igual a 0, o batch scheduler fica inibido naquele server. Um outro parmetro, o rdisp/bctname,
define o nome do server onde os events sero checados para o disparo de jobs atravs desta
facilidade, os event-based jobs. A definio de quantos batch work process estaro disponveis, sem
levar em conta o modo de operao, est no parmetro rdisp/wp_no_btc. Por definio um sistema
R/3 deve ter pelo menos 2 batch work process, independente de qual instncia eles vo estar, para
atender o sistema de transporte. Se o sistema R/3 no for trabalhar com transportes no necessrio
ter batch work process (mas isto meio absurdo se pensarmos no dia-a-dia prtico).
A gerncia dos jobs feita a partir do CCMS e os jobs so schedulados a partir da transao
SM36. Ao efetuar o schedule do job possvel especificar o nome de quem ir receber o spool
request (opo Spool list recipient) que tanto pode ser um usurio R/3 quanto um mail do SAPOffice
ou mail externo. Os Programas ABAP que requerem um determinada entrada de dados para
execuo podero ser schedulados em background bastando que se informe uma variant (lista de
parmetros) para processamento. Eventualmente o schedule pode ser acessado pela transao
RZ01 que um visualizador grfico dos jobs que esto schedulados.
Quando um job background executa comandos ou programas externos, o R/3 starta o programa
server SAPXPG no host target atravs de chamadas RFC. Programas externos somente podem ser
executados por usurios com autorizao para background administrator. Comandos externos podem
Pgina 42
ACADEMIA BASIS
ser executados por usurios com autorizaes R/3 apropriadas. Os programas externos somente
rodam em modo sncrono e os comandos externos rodam tanto em modo sncrono quanto
assncrono, dependendo das necessidades do usurio.
Os eventos com que os jobs podero estar dependentes so eventos internos do R/3 (system
start, opmode switch, etc) ou eventos definidos pelo usurio, como por exemplo o trmino de uma
transferncia de dados
Atravs da transao SM62 podemos definir os user events e a transao SM64 utilizada para
disparar os eventos. O programa sapevt (Unix ou NT) utilizado para disparar um determinado
evento a partir de uma linha de comando no sistema operacional. A sintaxe do comando SAPEVT
<event> [-p <parameter>] [-t] [pf=<profile_path>] [name=<SID>] [nr=<instance]. O sapevt se conecta
ao message server da instncia via tcp/ip para disparar o trigger no R/3. Internamente em um
programa ABAP possvel ainda disparar um evento a partir da , a
BP_EVENT_RAISE.
Da mesma forma que o R/3 utiliza o SAPXPG para startar programas no sistema operacional o
SAPEVT tambm utiliza o SAPXPG para startar eventos no R/3. Com isto possvel concatenar os
steps e schedular os jobs de forma a atender praticamente qualquer necessidade de schedule.
Um job que esteja com o status de scheduled ou released pode ser alterado atravs da SM37.
Estas alteraes podero ser desde a incluso de novos steps quanto a alterao de seu scheduling.
Uma alterao tpica a classe de submisso, por exemplo para alterar a fila de prioridades. Jobs
que esto rodando ou que j foram processados no podem ser alterado. Os jobs que esto rodando
podem ser capturados, ou seja, debugados e eventualmente cancelados. Os jobs que j terminaram,
Job Monitoring
Atravs da SM37 se monitora tanto os jobs que j rodaram quanto aqueles que se encontram
schedulados. O job log pode ser pesquisado para verificar as mensagens do sistema para aquela
execuo. A Spool list exibe a sada da execuo. A lista exibida na SM37 depende dos critrios
marcados na tela inicial. necessrio uma especial ateno para a seleo dos jobs que no
possuem uma data de start e para aqueles que dependem de algum evento (colocar * no evento e
clicar nas opes de jobs sem data e com predecessores). Outro ponto a ser observado a diferena
entre um job released e um job ready. O released j pode ser rodado, em funo da marcao do
horrio e das autorizaes, mas no est na hora de ser executado. O ready j pode ser rodado mas
ainda no foi atribudo para o work process que est disponvel (provavelmente o dispatcher est
muito ocupado). De qualquer forma o tempo na situao de ready mnimo.
Pgina 43
ACADEMIA BASIS
Para ver os jobs existe tambm o Job Scheduling Monitor (RZ01) que exibe em modo grfico o
schedule nos vrios servidores que compem o sistema ao longo do tempo. Esta transao tambm
pode ser ativada a partir do Control/Monitoring do CCMS.
Atravs de programas ABAP possvel gerenciar e schedular jobs utilizando o Job Application
Programming Interface, ou Job API. Atravs do Job API possvel por exemplo rodar jobs
seqencialmente ou ainda incorporar lgica de deciso no ambiente de processamento ( O R/3 no
consegue tratar schedule de jobs muito complexos. Um exemplo disto um job que precisaria de dois
predecessores). As funes ABAP para o Job API se encontram no ABAP workbench com o nome
BP_*. O XMI ou External Monitoring Interface um conjunto de mdulos de funes que agregam
todas as funcionalidades para interface externas de gerenciamento do CCMS
O XBP ou External Interface for Background Processing a interface externa para background-
job-scheduling. Estes mdulos possuem o nome comum SXMI_* e no devem ser confundidos com
os Job APIs. Ferramentas externas de job scheduling (XBP) permitem que se integre em um nico
ambiente o gerenciamento do schedule de jobs R/3 e no R/3 atravs de uma nica interface
A utilizao do job scheduling exige perfis especiais de autorizao para as funes de schedule e
administrao. Os objetos de autorizao envolvidos so:
S_BTCH_ADM que d as autorizaes para as funes administrativas. O usurio com esta
autorizao com field setado para Y pode administrar jobs em todos os clients do sistema e
no apenas do client onde ele est definido.
S_BTCH_NAM d aos usurios a autorizao necessria para executar jobs em background.
S_BTCH_JOB: este objeto possui funes que do aos usurios diversas facilidades na
administrao de seus jobs e de outros usurios (DELE, LIST, PROT, RELE, PLAN e SHOW)
S_ADMI_FCD: funes especiais para o administradordo sistema que devem ser utilizada
somente pelo pessoal de basis
S_RZL_ADM: administrador do sistema (CCMS)
S_XMI_LOG define se o usurio pode acessar interfaces XMI e como este acesso ser feito
Pgina 44
ACADEMIA BASIS
Os jobs de housekeeping efetuam tarefas tais como limpeza do spool, jobs antigos, sesses de
batch input j processadas, limpeza de estatsticas, etc. Alguns possuem caractersticas de serem
client independentes, outros j precisam ser schedulados em todos os clients do sistema e outros
ainda possuem a caracterstica de que devem ser schedulados atravs de usurios especficos ou
nota 16083 define esta sistemtica e descreve
detalhadamente os jobs de housekeeping, inclusive quanto a periodicidade aconselhada.
Os outros jobs que se enquadram na categoria dos jobs Basis so aqueles utilizados para coleta e
organizao de estatsticas de utilizao do R/3. Nesta categoria, o
SAP_COLLECTOR_FOR_PERFMONITOR (conhecido tambm como PERFORMANCE_MONITOR)
executa de hora em hora o programa RSCOLL00 que, baseado em uma tabela (TCOLL) do sistema,
dispara uma srie de outros programas a cada execuo para efetuar as mais diversas tarefas
relacionadas ao recolhimento e consolidao de estatsticas.
Os jobs que executam na categoria dos aplicativos efetuando tarefas funcionais dos mdulos do
R/3 necessitam de monitorao constante, j que muitas vezes manipulam grandes quantidades de
dados e so elevados consumidores de recursos, podendo portanto interferir com a performance do
sistema online. Os jobs de aplicao devem ter uma programao estudada e ser cuidadosamente
parametrizados pelas variantes para no trabalhar volumes muito elevados de informao. Em um
ambiente R/3 produtivo, deve-se inclusive montar uma planilha de execuo para evitar gargalos de
Para uma maior compreenso veja as notas 24092 (distribuio de jobs em background),
70639 (agendando jobs em background), 16083 (limpeza de jobs do sistema), 12103, 32050 e
127642.
Pgina 45
ACADEMIA BASIS
para suprir o problema de que longos background jobs no encontravam janela noturna suficiente ou
ainda quando no se encontra background work process em nmero suficiente para processar os
jobs. Esta sistemtica exige alguns pr requisitos de ordem tcnica e conceitual para que seja
implementada corretamente. preciso garantir que:
comando ABAP que dispara RFC assncrono o CALL FUNCTION STARTING NEW TASK
DESTINATION IN GROUP. Outras tcnicas de processamento RFC assncrono podem levar a
um impacto negativo na performance do sistema
Existam pelo menos trs dialog work processes disponveis alm dos dois que so
necessrios para o processamento dos dialogs
job possa ser dividido em unidades lgicas independentes, uma vez que sero processadas
paralelamente
A dispatcher queue dever estar com menos de 10% ocupada para garantir que o critrio de
balanceamento da carga seja feito corretamente
Este critrio portanto no se adapta a programas que devem ser processados seqencialmente
onde as unidades lgicas dependem do resultado da anterior. Da mesma forma no existe uma
garantia da seqncia com que as partes sero processadas individualmente. Os resultados de todas
as partes separadas devero ser coletadas, sincronizadas e analisadas no final. Para maiores
detalhes veja as notas 66612 e 99284. Para ver quais so os servidores disponveis no RFC group
XMI/XBP Interface
A nota 69352 descreve a forma como external programs devem se comunicar com o R/3 utilizando
a external monitoring interface (XMI) ou o external background processing interface (XBP)
Atravs da transao SE37 pode-se ter acesso aos functions groups que implementam estas
facilidades:
External job management: Function group SXJI cujos function modules possuem o prefixo
SXMI_XBP
External monitoring basics: Function group SXMB cujos function modules possuem o prefixo
SXMI_XMB
Connecting to esternal tools: Function group SXMI cujos function modules possuem o prefixo
SXMI
Existem sistemas de terceiros certificados pela SAP que permitem a administrao e gerncia do
schedule de jobs no R/3 atravs de um ambiente externo ao sistema. Estes sistemas se comunicam
com o R/3 efetuando um logon via RFC e posteriormente atravs dos function modules da interface
XMI.
Os eventos podem possuir argumentos que sero verificados no momento do disparo e neste
caso o job s ser executado se o parmetro for igual ao que foi definido no evento. Este argumento
especificado tanto quando se schedula o job quanto no momento em que se dispara o evento,
permitindo desta forma uma perfeita sincronizao de tarefas. Um bom exemplo para este uso o
evento END_OF_DATA_TRANSFER que deve ser associado a uma parmetro para disparar um job
especifico. Com isto no necessrio especificar vrios eventos para a mesma funcionalidade
Pgina 46
ACADEMIA BASIS
Os user events podem ser disparados por trs formas distintas: manualmente atravs da
transao SM64, dentro de um programa ABAP atravs de chamada prpria de funo
(BP_EVENT_RAISE) ou ainda atravs de chamada a um programa externo, o sapevt. Neste ltimo
caso a chamada poderia estar contida em um script ou at mesmo como um step de um job R/3
(external program step)
External commands podem ser executados tanto pelos administradores do sistema quantos por
usurios que possuam autorizao especfica. A transao SM69 utilizada para criar e dar
manuteno em external comands, que posteriormente podem ser executados atravs da transao
SM49 ou inseridos em steps dos background jobs. Atravs de chamadas de funes especficas
tambm possvel executar external commands de dentro de programas ABAP. Alm destas
transaes podemos utilizar tambm a AL11 para listar os comandos.
External commands somente podem ser executados em modo sncrono e para garantir a correta
execuo dos programas e comandos, especifique sempre o seu path completo. Para rodar um
external program os seguintes requisitos so necessrios:
Gateway server do R/3 dever estar ativo para estabelecer a comunicao entre o servidor host
do processo e o target system, j que o processo startado utilizando o CPI-C. Para ter certeza
que no havera problema utilize o parmetro gw/remsh como /bin/rsh para solaris e rsh para NT.
Se o comando/programa no se encontra no path do CPI-C user, o path completo dever ser
especificado, que quem ser utilizado para executar o comando. Normalmente este usurio o
<SID>adm
diretrio de executveis do R/3 (/usr/sap/SID/SYS/exe/run) dever estar no path do CPI-C user,
uma vez que o comando executado atravs de um programa de controle do R/3 que gerencia o
cdigo de retorno do sistema operacional.
Um external program pode apresentar problemas para ser utilizado, ou por no poder ser startado
ou ainda por no conseguir retornar um resultado para o job background. Estes problemas devero
ser identificados e corrigidos atravs da analise da log de erro do job ou ligando o trace de analise de
external programs
O SAPXPG, ou trace de programas externos, pode ser ligado atravs da execuo do comando
pela SM69 e pela especificao de uma varivel de ambiente, a sapxpg_trace, no sistema target
onde o comando ir rodar. O trace mais detalhado obtido quando esta varivel setada com o valor
3 (levels 1, 2 e 3) que possui o maior nvel de detalhe.
muito importante que o usurio tenha acesso restrito a utilizao de jobs. Preferencialmente
permita que os usurios submetam em classe B e C mas limite o acesso a comandos externos e do
sistema operacional. Permita somente o administrador do sistema ter acesso ao perfil de
administrador de segurana e libere para o usurio a submiso, deleo, liberao, alterao e
agendamento de seus proprio jobs.
A Application Programming Interface (API) permite que se gerencie e schedule jobs a partir de
programas ABAP ou external programs. Com isto possvel alm da total gerencia sobre o job
(display, copy, delete), exibir a log gerada ou ainda disparar eventos. A API oferece duas funes de
uso simplificado que, apesar de no oferecerem muitos recursos, so extremamente simples de se
Pgina 47
ACADEMIA BASIS
Alm da SM37, existem outras transaes no sistema que permitem ao usurio analisar a sua
pasta particular de jobs. A transao SMX oferece uma forma simplificada para o usurio analisar
seus prprios jobs atravs de listas mais compactas e campos sumariados. J a SM39 exibe uma
analise bem mais detalhada, inclusive com informaes estatsticas. Caso um usurio no esteja
conseguindo administrar seus jobs, a causa mais provvel ser autorizaes incorretas pois
eventualmente o job pode ficar release mas por falta de autorizao ele no inicializa. Caso os jobs
no estejam rodando, alm de verificar a existncia de work process disponveis (SM50), verifique se
os batch schedulers (time-based e event-based) esto rodando corretamente atravs da transaes
SM61 e SM65. Lembre-se da configurao dos parmetros de profile vistos anteriormente.
Pgina 48
ACADEMIA BASIS
Data Archiving
Definition
Archiving uma sistemtica que permite transferir dados das bases de dados R/3 para arquivos,
do tipo texto estruturado, armazenados fora do ambiente R/3, seja meio magntico ou tico, em
formato compactado. implementado no R/3 atravs da transao SARA. Vrias razes podem
justificar um projeto de archive:
Falta de espao fsico no database
Problemas com backup e recovery devido ao tamanho do banco
Performance baixa devido a tabelas muito extensas
Banco de dados possui grandes volumes de dados que raramente so utilizados
Devido a razes legais ou motivado pelo negcio da empresa, uma srie de informaes
precisam ser mantidas disponveis para consulta ao longo do tempo
O processo consiste de duas etapas: na primeira os dados so lidos na base de dados R/3,
marcados e copiados para arquivos externos a partir das orientaes do archiving objects (conjunto
de tabelas que estipula quais dados deve transitar de forma conjunta). Na segunda etapa os dados
marcados so consistidos e deletados da base de dados. Este processamento em duas fases existe
exatamente para garantir a mxima segurana desta sistemtica.
A compresso dos dados nos files gerados da ordem de 5, embora cluster tables no possam
ser compactadas. O processo pode demandar muito processamento e I/O sendo recomendado rodar
em horrios fora do pico no sistema. O processo de delete (segunda fase do arquive) pode ser
selecionado para rodar imediatamente aps o extact ou para processamento posterior, comandado
pelo usurio. Apesar do processo de deleo somente ocorrer aps um verificao dos dados
armazenados, interessante que durante a implantao e testes de um ambiente de archive garantir
que esta facilidade no seja disparada automaticamente.
Archive Environment
Existem uma srie de objetos de archive j desenvolvidos pela SAP para operacionalizar o archive
em diversas reas e tabelas standard do SAP. A cada nova verso do R/3, uma tendncia que
novos objetos sejam introduzidos. A ferramenta ADK (Archive Development Kit) a interface
disponibilizada pela SAP entre os ABAP archiving programs e os archive files. Ela consiste de uma
srie de function modules. Desta forma a leitura dos dados arquivados efetuada atravs de
chamada a funes do ADK. Durante o processo de gravao, o ADK pode splitar os dados que
sero arquivados em vrios files. Esta interface nica atravs do ADK garante que o dado
armazenado seja visto pelos programas ABAP na forma exata com que foram arquivados. possvel
utilizar o ADK para desenvolver objetos de archiving para tabelas Z, definidas pelo usurio. Nunca a
utilize para acessar tabelas SAP standard, mesmo que no exista um objeto desenvolvido para
determinada tarefa. O SAP ArchiveLink uma interface para gerencia dos files arquivados.
Pgina 49
ACADEMIA BASIS
Quase todos os objetos de archive possuem programas de leitura prprios que lem o arquivo
seqencial gerado e emitem relatrios. Alguns objetos nos do ainda a facilidade de emitir relatrios
que mesclam informaes arquivadas com informaes do banco, como comum em quase todas as
anlises de relatrios FI. Algumas telas R/3 podem consultar dados diretamente dos archive files,
Apesar de alguns objetos de archive possurem a facilidade de reload dos dados (operao
inversa do archive), recomendado que esta operao somente seja efetuada para corrigir erros de
operao, como por exemplo archive disparado antes da hora. A SAP recomenda inclusive que esta
operao seja efetuada somente nestes casos e imediatamente aps a operao mal feita, nunca
alguns dias depois. S para lembrar, SD no pode sofrer o reload a partir da verso 4.0a.
Archiving um projeto que envolve de forma cooperativa a rea de Basis, analistas e usurios das
reas funcionais alm de uma assessoria jurdica para um amparo legal dos documentos gerados. Do
ponto de vista dos aplicativos, o archive se justifica j que alguns dados se tornam obsoletos e no
mais se fazem necessrios para consulta online. o conhecido arquivo morto das empresas. Do
ponto de vista da administrao do sistema, o archive se faz necessrios para esvaziar o banco, seja
por questes de tempo de backup/restore, performance ou ainda por falta de espao em disco.
Para cada objeto de archiving preciso definir suas parametrizaes que configuram os dados
que sero arquivados e a forma como esta operao ser efetuada (tamanho dos datafiles gerados,
nmero de registros em cada file, etc.). A transao SF01 utilizada para customizar o logical file e
paths. O objeto de archive possui duas variantes para o programa de deleo. O archive run possui
uma outra variante onde voc define os dados que sero arquivados Durante todo o processo deve
ser garantido a existencia de recursos computacionais para o processo como pelo menos dois work
process livres para o archive e disco disponvel para a movimentao de dados.
Caso o processo de archive no seja completado com sucesso, diversas opes tero que ser
tomadas, dependendo do caso:
Caso ocorra um erro durante um dos jobs da primeira fase (write), preciso fazer um backup
dos files que foram gerados com sucesso, excluir o que estava sendo gerado no momento do
erro e aps isto restartar o processo para que os demais files sejam gerados e os registros
deletados
Se o erro ocorrer durante a fase do delete, ou seja, todos os files foram gerados com sucesso
e um dos jobs da segunda fase abendou, basta startar os jobs de delete manualmente.
Se ocorreu um erro durante a primeira fase e os jobs de delete no esto com start automtico,
preciso deletar os files que foram gerados at o momento e recomear o processo
Pgina 50
ACADEMIA BASIS
Dicas prticas :
Veja a tabela arch* para entender a relao entre os objetos de archives e as tabelas
envolvidas
Sempre que for fazer um archive faa o ciclo completo para evitar perda de controle, tanto do
operacional quanto do R/3
Sempre procure notas sobre o objeto que ser arquivado pois como esta area est sendo
desenvolvida podem ter novas verses e atualizaes
Utilize o objeto bc_archive para arquivar os documentos de archive.
Pgina 51
ACADEMIA BASIS
System Monitoring
A monitorao no R/3 4.0 feita de uma forma simplificada atravs de uma grande arvore que ira
mostrar, atravs de suas folhas, os diversos item que devemos estar atentos em todo o ambiente. A
grande vantagem desta arvore a hierarquizao e categorizao de todos os elementos (tree
elements e objects) que so relevantes, seus parmetros de valores (Attributes) e a captura
automtica e centralizada de todas as informaes e um ponto de acesso unico para a tarefa de
Monitoring Architecture
O Alert Monitor uma ferramenta configurvel que existe no R/3 e permite a monitorao de todo
o ambiente a partir de uma nica interface que exibe mensagens e sinais de alerta no sistema. A
monitorao dos diversos componentes e ferramentas do ambiente R/3 uma operao necessria
executada pelos administradores do sistema para melhorar a performance, garantir a disponibilidade
do sistema e identificar, analisar e corrigir erros que aparecerem no ambiente. Esta monitorao
uma tarefa peridica que abrange desde o sistema operacional, passando pelos componentes do
kernel R/3 e indo at a base de dados do sistema.
O monitor do R/3 concebido com uma arquitetura aberta que permite inclusive que ferramentas
de terceiros sejam incorporadas a sua rvore de monitorao. Cada n da rvore denominado MTE
(monitoring tree element), que podem ser agrupados em classes de monitorao. Os objetos
fsicos ou lgicos que so passveis de monitorao so denominados Monitoring Objects.
O Alert Monitor precisa ser customizado e configurado para funcionar corretamente. Cada MTE
class pode ser configurada baseado em quesitos tipo nvel de visibilidade (operador, administrador,
etc.), prioridade do alerta e descries. Estas configuraes ficam vlidas para todos os objetos
pertencentes a uma determinada classe, evitando assim redundncia de definies. Os atributos
comuns tambm podem ser agrupados em customizing groups aos quais so associados thresholds
para os alerts e textos de alerta. Uma vez configurados os alerts, possvel ento associar tools aos
Coletar dados
Analisar os alerts
Reagir aos alerts (OnAlert tool)
As ferramentas podem ser associadas aos MTE classes ou a um MTE individualmente. Estas
ferramentas tanto podero ser ferramentas standard da SAP quanto ferramentas definidas e criadas
Pgina 52
ACADEMIA BASIS
pelo usurio. A rvore bsica de monitorao contm o Basic monitor, porm o usurio pode criar
suas prprias rvores customizadas de monitorao.
Tool Assignment
Para adicionar uma ferramenta ou uma classe na MTE devemos seguir os seguintes passos :
Definir a ferramenta e especificar o tipo da ferramenta (relatrio, funo, mdulo, transao,
programa, etc), a localizao (servidor, banco de dados, etc) e modus operandis (background,
foreground, manual)
Liberar a transao para a finalidade
Associar a ferramenta a classe ou ao no MTE. Isto facilita o acesso a ferramenta pois voce vai
aciona-la diretamente. Eventualmente voce pode herdar esta definio de outra arvore ou at
Na estrutura do Alert monitor cada server exibido separadamente. Cada server tem sua prpria
rvore que contm as seguintes estruturas: Operating system, Database, R/3 services, R/3 basis
system, R/3 ABAP e R/3 system log.
A transao ST22 permite que se analise os dumps de programas ABAP. Atravs desta
anlise possvel identificar o erro pela anlise dos campos e variveis envolvidos e
eventualmente procurar no OSS por notas que corrijam o problema.
A ST03 o workload monitor que permite analisar os tempos de resposta. As estatsticas dos
tempos de resposta das transaes so apresentados de forma detalhada e estratificadas por
componentes (rolltime, wait time, DB time, processing time e load time) permitindo a rpida
identificao de possveis gargalos no ambiente R/3. As estatsticas apresentadas pela ST03
permanecem em um arquivo do sistema operacional (file stat no diretrio data da instncia) e
so recolhidas e consolidadas de tempos em tempos pelo programa RSCOLL00 schedulado
no ambiente. Este programa se baseia na tabela TCOLL para disparar uma srie de outros
programas satlites que efetuam as mais diversas tarefas de consolidao por nveis de
tempo/data.
Pgina 53
ACADEMIA BASIS
A SMLG permite definir e monitorar logon groups. Com esta facilidade possvel fazer
balanceamento de carga atravs da distribuio inteligente dos usurios das diversas reas
pelos servidores de aplicao da rede.
A transao ST02 prov informaes referentes aos status dos buffers e o gerenciamento de
A transao ST04 permite monitorar a base de dados do ambiente deforma detalhada, seja
atravs de anlise de buffers ou da anlise fsica de discos e locks.
A ST06 exibe informaes referentes ao sistema operacional recolhidas pelo programa
saposcoll. A anlise pode ser tanto um retrato do instante quanto uma comparao evolutiva
Os work processes alocam reas na memria para trabalhar os processos. Um dialog work
process trabalha em modo multiplexado para otimizar a sua utilizao entre os diversos dialog steps
que compem um transao R/3. Para permitir esta multiplexao, os dialog work processes efetuam
roll out e roll in da user context area dos processos. Quando um processo rolled out
por um work process e posteriormente rolled in por outro dialog da instncia ocorre o que chamamos
de work process dispatch
Diferentes tipos de memria so alocados pelos dialog work processes. Inicialmente o sistema
aloca uma pequena poro da roll area (definido no parmetro ztta/roll_first) onde estabelece
ponteiros para os diversos pedaos de memria que vo sendo alocados na extended memory do
sistema. Uma vez esgotado o limite de memria obtido na extended memory, o dialog passa a utilizar
o restante da roll area disponvel. Note que ao entrar em multiplexao, o processo de roll out/roll in
efetua rolagem apenas da poro de memria alocada na roll area, j que a extended memory
permanece alocada mas tem os seus ponteiros salvos no processo. Quando toda esta rea esgota, o
dialog lana ento mo da memria local, ou heap area. Como esta memria no pode ser rolled out
(por ser grande), o dialog entra em modo PRIV (private) e para de fazer multiplexao,
permanecendo alocado para o usurio mesmo durante os dialog steps.
Como os background work processes no necessitam fazer roll in/roll out por no serem
conversacionais, a seqncia de alocao de memria varia em relao aos dialog. O sistema aloca
a roll area, posteriormente a privaty memory (heap) e somente ento faz uso da extended memory,
que fica desta forma mais dedicada para os dialog process.
Quando se trabalha com vrios application servers em um ambiente R/3, necessrio que os
servers permaneam sincronizados para garantir a integridade dos insert e updates que ocorrem no
ambiente. Os dados que necessitam de sincronizao so escritos em uma tabela (DDLOG) que de
tempos em tempos consultada e os dados l presentes sofrem refresh na memria das instncias,
sendo desta forma sincronizados. O parmetro rdisp/buffrefmode especifica como a escrita e leitura
desta tabela ocorre e o parmetro rdisp/buffreftime especifica a frequencia do refresh.
Pgina 54
ACADEMIA BASIS
Segunda Semana
O Ambiente R/3 possui vrias formas de controle de acesso mas devemos lembrar que o R/3 est
sendo executando em um sistema operacional e utiliza um banco de dados como repositrio e
portanto devemos observar os aspectos de segurana nestes ambientes e na inter-relao entre o
R/3 e eles.
Uma das primeiras atividades aps a instalao do sistema a troca das senhas dos usurios
(SIDadm, sys, system, sap, sap*, ddic e earlywatch).
.
Authorization Concepts
As autorizaes existem para limitar o acesso a transaes e objetos do sistema R/3 que
necessitam de proteo. As autorizaes so agrupadas em profiles e estas profiles so associadas
ao master record do usurio. Autorizaes podem ser no nvel da transao ou nos mais diversos
nveis, como por exemplo em operaes na transao ou ainda em range de valores de campos
Eventualmente pode ser necessrio criar objetos de autorizaes alm do standard. Para isso
usamos a transao SU21 para manter objetos de autorizaes e a SU20 para manter os campos
Administrador dos dados da autorizao: responsvel por manter os valores dentro das
responsabilidades dos grupos de atividades
Desta forma o superuser poderia delegar grande parte das tarefas para se dedicar as demais
atividades de basis e os demais administradores poderiam entender bem mais das questes
Pgina 55
ACADEMIA BASIS
Authorization as ER
Authorization Checks
Quando o usurio efetua o logon no sistema suas autorizaes so carregadas para a user
context area (que fica na roll area da instncia) e so verificadas a cada transao ou atividade
executada pelo usurio. Antes que uma determinada transao ou operao ocorra, os fields do
authorization object so checados contra os fields do usurio para aquele mesmo objeto de
autorizao. Esta operao do tipo AND, ou seja, todos os n fields do objeto tem que ser atendidos.
Caso a verificao falhe, o usurio recebe uma mensagem de erro e a operao no executada.
Caso o usurio possua duas autorizaes contrastantes, vale aquela que libera o acesso, j que
Para simplificar, podemos entender que a verificao de segurana ocorre nos seguintes em
passos :
Para ganhar acesso a transao
Verifica se o usurio est autorizado a acessar a transao atravs da verificao do objeto
s_tcode
Verifica o objeto associado a transao em questo e se o usurio tem autorizao para este
objeto e quais so elas. Ex. O usurio possui o s_tcode para mm01, mas possui o valor 03
para o campo actvt do objeto m_mate_sta
Durante o processamento do cdigo abap
Verificao das autorizaes verificadas pelo comando abap authority-check
Dicas de tabelas: Tabela TACT contm todos as atividades possveis no r/3 e a TACTZ contm o
relacionamento das atividades possveis para um objeto
Profile Generator
O profile generator (PFCG) uma ferramenta que simplifica a administrao de segurana atravs
de uma viso voltada para o menu de transaes da empresa permitindo que de forma mais interativa
se crie e associe profiles para usurio ou grupo de usurios que executam determinada funo. Este
Pgina 56
ACADEMIA BASIS
grupo lgico de funes comuns que possuem profiles comuns so denominados Activity Groups. Um
usurio pode estar associado a um ou mais activity groups. Ao se associar uma transao a um
determinado activity group, o profile generator automaticamente identifica os authorization objects
necessrios para aquela atividade e os associa a profile que ser gerada. Caso os fields sejam
customer-independents, o sistema j prov os valores necessrios para a atividade, caso contrrio os
valores precisam ser completados pelo administrador durante o processo de gerao. Ao gerar um
activity group o administrador de segurana dever checar os valores propostos pelo sistema para os
diversos field e altera-los ou prov-los conforme o caso, antes de salvar o processo
O R/3 permite ainda que se crie os activity group com responsabilities, o que permite que uma
mesma descrio funcional (activity group) seja associada para diferentes grupos de usurios,
provendo assim diferentes nveis de autorizao dentro de uma mesma funcionalidade. Isto simplifica
a administrao de segurana. Neste caso os usurios so associados a responsabilitie e no mais
ao activity group. Isto significa que caso grupos distintos de usurios que efetuam as mesmas
transaes em um sistema R/3 diferindo apenas nas autorizaes para operaes permitidas dentro
destas transaes no mais precisam ser administrados a partir de activity groups distintos, mas sim
atravs de responsabilities distintas dentro do mesmo activity group. Neste tipo de administrao, as
autorizaes para transao so associadas apenas uma vez no activity group para os diversos
usurios, o que simplifica caso uma nova transao comece a fazer parte de suas atividades.
No terceiro nvel contm authorizations, por exemplo Customer: Authorization for company
codes T..... e abaixo dele o sistema lista todos os fields com seus respectivos valores
Nesta lista possvel dar manuteno nos valores (clicando no lpis) ou ainda obter
documentao detalhada de um authorization object s dar um duplo click na sua descrio
(segundo nvel). Ao se clicar no item da montanha (authorization object) possvel obter uma lista
das transaes daquele activity group que necessitam deste objeto de autorizao.
O profile generator possui outra caracterstica. Nele possvel fazer o apontamento para os
usurios que iro possuir um determinado perfil. Neste caso devemos executar o programa
RHAUTUPD para rever as profiles e task profiles dos usurios. Na prtica o programa varre o
cadastro de usurios removendo todas entradas relacionadas ao grupo de atividade que esta sendo
trabalhado e depois insere-as novamente. Se for necessrio fazer isto para todos os grupos de
atividades devemos utilizar a transao PFUD, que aciona o programa RHAUTUP1. recomendado
que este programa esteja agendado para rodar diariamente durante o periodo noturno. Com isto
temos a garantia que os apontamentos sempre estaro corretos.
Os principais passos para a criao de um perfil, tambm conhecido como activity group, so :
Especificar as atividades que sero desenvolvidas a partir dos caminhos de menu
Criar as responsabilidades (opcional)
Criar a authorization profile
Associar os usurios ao activity group
Atualizar, utilizando o rhautupd, o mestre de usurios
Devemos procurar sempre alterar o nome gerado pelo standard para facilitar o compreendimento
e a localizao. A SAP sugere que o nome sempre comee por S_.
O profile utiliza as cpias de algumas tabelas standard (USOBT e USOBX) para trabalhar. A
USOBT_C contm os objetos que precisam ser verificados e a USOBX_C os valores necessrios aos
objetos. Estas tabelas podem ter seus contedos mantidos pela transao SU25. J a transao
SU24 pode ser utilizada para ajustar os checks dos objetos. Como ilustrao, a transao SU24
mantm o tipo de check que ser feito, a saber : U no mantido; N no checked; C
checkado mas os valores no so mostrados no profile generator e CM o check feito e o profile
Pgina 57
ACADEMIA BASIS
Atravs da transao SU01 possvel dar manuteno nos usurios. As informaes esto
agrupadas por identificao e localizao, dados de logon, defaults, task profiles, profiles e
SU3 (ou System User profile Own data) permite que o prprio
usurio altere seus dados, tais como Address, Defaults e Parameters, sem violar a segurana de
acesso estabelecida pelo administrador.
Lembrar sempre que se for associar uma task ou responsibility (profiles geradas por profile
generator) a um usurio, o correto faze-lo pela pasta de task profiles. Se a incluso for feita pela
pasta de profiles a autorizao vai funcionar mas na prxima reconciliao (execuo do rhautupd)
este dado ser perdido pois vai prevalecer apenas as profiles adicionadas na task profiles.
Para maiores informaes pesquise a nota 66533 e a 68048. Outra boa dica a remoo do sap*
na tabela usr02. Com isto, e a alterao do parmetro que impede do sap* logar, voce pode utilizar o
sap* com a senha pass.
Security
Os clients 000 e 001 possuem os users SAP* (pwd 06071992) e DDIC (pwd 19920706) com, por
default, autorizaes SAP_ALL, devendo o administrador alterar suas senhas na instalao. O client
066 utilizado pela SAP para consultoria remota possui o usurio EARLYWATCH (pwd support) que
O SAP possui um usurio SAP* com password PASS e autorizao SAP_ALL hard-coded em
todos os seus sistemas. Isto significa que quando no existe um usurio SAP* na user master table
(USR02) do sistema, este usurio pode ser usado para efetuar logon como SAP_ALL. Por razes de
segurana portanto interessante que sempre tenhamos um usurio SAP* definido em cada client. A
nota 68048 sugere um parmetro (login/no_automatic_user_sapstar) que quando especificado
suprime a possibilidade de utilizao deste SAP* hard-coded. Porm sempre que se for criar um novo
client necessrio permitir a existncia desta feature hard-coded para que se possa logar no novo
O R/3 permite que se check quais verificaes de segurana esto sendo efetuadas em uma
determinada execuo de programa atravs de traces, que so ativados atravs do caminho Tools
Administration Monitor Traces System trace (veja nota 66056 para detalhes de utilizao) ou
ST01. O log gravado no diretrio \usr\sap\SID\DVEBMGS00\log\trace*.log.
Pgina 58
ACADEMIA BASIS
Para uma analise localizada de falha de segurana pode-se utilizar a transao SU53, que exibe
quais authorizations so requeridas em determinada task. A transao SU56 exibe o buffer de
autorizao do usurio. Se uma determinada autorizao no est aparecendo, verifique:
Se no houve uma manuteno de profile ou activity group enquanto o usurio estava logado.
Neste caso necessrio um novo logon
Se as autorizaes foram alteradas atravs de um transporte, preciso emitir um reset dos
user buffers para que os novos dados sejam carregados (SU01 Environment Mass
changes Reset all user buffs)
Se o buffer no est muito pequeno. O parmetro auth/auth_number_in_userbuffer define o
nmero de entradas reservada nesta rea para cada usurio, devendo ser aumentado se for o
caso
Ao se criar um usurio pela SU01 deve-se especificar a sua categoria, se Dialog, BDC (batch
input), Background (batch jobs) ou CPIC (para conexo remota). Algumas destas categorias tem
caractersticas prprias, como dialog ou background, mas servem tambm como informao
documentacional.
Password Rules
Existem uma srie de parmetros para configurar o tratamento que o R/3 vai dar a senha do
usurio. Alm da lista abaixo ainda podemos fazer uso da tabela USR40, atravs da SM30, para
inserir palavras ou seqncias de caracter que no poderam ser utilizadas na senha. As entradas na
USR40 podem tambm fazer uso de wildcards como *. Alm disso temos as seguintes regras :
Tamanho mnimo da password (login/min_password_lng) com default 3
Primeiro caracter diferente de ! e ?
Os tres primeiros caracteres no podem ser o mesmo nem ser iguais a parte do user name
No pode ser sap* ou pass
Nmero mximo de erros na senha para fechar a sesso (login/fails_to_session_end) com
default 3
Nmero mximo de erros na senha para bloqueio da chave (login/fails_to_user_lock) com
default 12
Libera os usurios que esto bloqueados por logon incorreto a meia-noite
(login/failed_user_auto_unlock)
Nmero de dias para que a senha expire (login/password_expiration_time) com default igual a
0, que significa que nunca expira
O R/3 tambm j vem preparado (hard coded) para impedir uma srie de outras senhas, a saber :
Devemos sempre ter em mente que os grupos de atividades podem ser transportados mas o
cadastro de usurios no. Com isto temos um inconveniente que quando transportamos o grupo de
Pgina 59
ACADEMIA BASIS
atividades perdemos o link com os usurios que possuem este grupo no ambiente de destino. Por
outro lado, podemos levar todo o cadastro de usurios de um mandante para o outro. Isto pode
resolver problemas pontuais mas no resolve o problema da manuteno das profiles que esto na
produo e nem do ciclo normal de trabalho com os grupos de atividades.
Para transportamos um grupo de atividade, lembre-se ele foi desativado pela transao OOCR,
devemos clicar no icone do caminho na transao PFCG para transportarmos um grupo de atividade
especifico. Para transportamos um conjunto de grupos de atividades devemos utilizar o programa
RHMOVE30 que possui diversas formas de seleo. Aps importarmos a change que foi gerada no
ambiente de destino devemos executar a transao SUPC para regerarmos a profile. Neste caso,
quando geramos um grupo de atividade que veio do ambiente de desenvolvimento, precisamos
atualizar a tabela T77TR (utilizando a SM31) para que o transporte fique configurado para no perder
a associao com os usurios no ambiente de destino nos prximos transportes deste grupo de
atividades.
SAPRouter
O SAPRouter um componente de software que vem com o R/3 ( no unix um script que pode
ser adicionado no startsap e no NT um servio que deve estar ativo) para viabilizar a ligao de
duas redes com a garantia de segurana e proteo de acesso em cada uma delas pelo proprio
parceiro.
Para utilizar o SAPRouter precisamos criar o diretrio saprouter debaixo da arvore \usr\sap; obter
a verso mais nova disponvel no OSS e criar a tabela de rotas permitidas no arquivo
\usr\sap\saprouter\saprouttab. Esta tabela que contm a definio de quem poder ou no passar
de um lado para o outro. Ela um arquivo texto com cinco campos, a saber : Permit/Deny/Secure,
endereo de origem, endereo de destino, servio e password. Os endereos podem tanto ser
hostnames com ip e neste ultimo caso podemos utilizar tambm os wildcards para selecionarmos
uma rede inteira (Ex. 123.45.*). J o servio e a password so opcionais, sendo que o servio
assume o defalt de 3299 que a porta padro utilizada normalmente para saprouter. A grande dica
na construo da routtab a definio do que proibido no inicio do arquivo e do que permitido no
final. Isto necessrio por que a leitura e deciso feita do primeiro para o ultimo.
Para especificarmos uma rota para o saprouter devemos utilizar o mesmo padro utilizado no
SAPGUI. A nica novidade a chave /W/ para conter uma eventual password a ser passada a um
saprouter. Para testar a rota podemos utilizar a dobradinha niping s no host origem e niping c H
<host_origem> no host destino ou simplismente niping c H /H/<saprouter>/H/<host_destino>. O
saprouter possui uma srie de variaes de parmetros. Elas podem ser obtidas simplismente
acionando o saprouter na linha de comando sem parmetros. Algumas delas so importantes como
R para dizem onde esta a routtab, -r para startar o servio, -s para parar o servio, -r V3 para
selecionar o nvel mais alto de trace, -t para ativar o trace, -T para dizer onde vai ser gravado o
arquivo de trace e G para dizer onde ser gravado o arquivo de log.
A SNC interface permite que o sistema R/3 passe a utilizar algoritmos de criptografia para os
dados que iro transitar na rede e para autenticar as senhas de usurios. Normalmente o R/3 no faz
criptografia de dados e a senha transita pela rede como caracter.
O SNC uma camada na arquitetura R/3 que estabelece um padro de interface para os
softwares de segurana e autenticao de usurio disponveis no mercado. Atualmente os softwares
certificados pela SAP so o Kerberos 5 do MIT e o Secude 5. Para maiores detalhes veja a nota
Pgina 60
ACADEMIA BASIS
66687. O padro SNC prove trs nveis de segurana, a saber : A autenticao da comunicao entre
os parceiros sem a proteo do dados que ser trocado; Integridade que garante a autenticao e
mais uma assinatura digital da informao que est trafegando para garantir sua autenticidade; e
Confidencialidade que garante a autenticao a integridade e a confidencialidade que o dado no
pode ser interpretado por outro que no sejam os parceiros da comunicao.
Para ativarmos o SNC temos que definir qual ser o padro de nome dos usurios. Podemos
escolher entre X.500 (que distingue o nome pela formao de diversos elementos), nome@dominio
(que usa uma concatenao simples do nome do usurio e de seu domnio) e o padro de nome
externo do R/3. Alm de definirmos o padro de nomes temos que incluir o parmetro snc/enable = 1
na default profile para ativar efetivamente o SNC. Com isto a SU01 passa a possuir mais uma pasta
que contm o nome SNC do usurio. Podemos ainda alimentar a tabela USRACL, que contm o de-
para, diretamente com o nome interno e o nome externo dos usurios. Para os usurios RFC e CPIC
podemos definir apenas um usurio interno para vrios usurios externos atravs da tabela
USRACLEXT. Podemos tambm ativar nveis de insegurana para alguns casos. Por exemplo,
aceitar sesses no seguras atravs do parmetro snc/accept_insecure_gui =1 ou
snc/accept_insecure_cpic = 1. Alm da SU01, outras transaes passam a possuir maiores detalhes
sobre o SNC, a saber : SM59 que controla as chaves RFC; a SM54 que controla as chaves CPIC e a
SNC0 que controla a lista de acesso entre sistemas R/3.
A utilizao do SNC pressupe a instalao de uma dll (secure.dll) junto com o SAPGUI alm do
cliente do software de segurana que ser utilizado. Para o saplpd temos que incluir na cliente uma
entrada no win.ini que habilita o uso do SNC pelo saplpd e indica a dll que ir interfacear com o
No geral devemos seguir algumas recomendaes para implementar o SNC. A primeira nunca
misturar applications que utilizam SNC com outros que no utilizam. A seguinte ter certeza que o
produto de segurana est apto a trabalhar com os padres de nomes estabelecidos pelo R/3; E por
fim garantir as definies do nvel de proteo desejado, dos parceiros e protocolos que sero
implementados, quais conexes sero protegidas e as respectivas portas a serem bloqueadas pelo
Pgina 61
ACADEMIA BASIS
Software Logistics
R/3 Data
O dicionrio ABAP um dicionrio de dados que faz parte do repositrio ABAP de um sistema
R/3. Seus dados so client independents. Os programas ABAP armazenados no dicionrio so
compilados uma vez no primeiro acesso (early binding) e ficam armazenados em um outro
repositrio de executveis (tabelas D010*). Cada alterao em um programa fora a sua
posterior. Este procedimento denominado late binding
possvel atravs de um mecanismo de comparao de timestamp. Este mecanismo de early binding e
late binding garante que a integridade das informaes contidas no dicionrio ABAP no afete a
performance do sistema, uma vez que os executveis de telas e programas so mantidos atualizados
automaticamente em uma rea separada dos respectivos fontes.
R/3 Clients
Pgina 62
ACADEMIA BASIS
denominado company code. Este campo define a menor unidade administrativa com que os
relatrios externos podem varrer para uma viso centralizada.
O conceito de authorities do R/3 sobre este campo company code permite ainda que uma
companhia matriz acesse as suas filiais com finalidades de consultas ou auditoria impedindo que as
diversas subordinadas tenham acesso aos dados umas da outras.
recomendado que um ambiente R/3 de uma empresa tenha no mnimo os seguintes clients:
Client CUST, como o ambiente central onde o desenvolvimento e as customizaes so
efetuadas pelos times funcionais e de abap. Neste client podemos fazer alteraes no
ambiente e gerar change request
Client QTST, utilizado para o teste de novas customizaes
Client PROD, que a produo da empresa
R/3 Landscape
Os sistemas R/3 que compem um mesmo landscape devem possuir system IDs diferentes para a
correta identificao das rotas de transporte
O sistema R/3 integra mais de 800 processos de negcio que precisam ser customizados e
configurados de acordo com as necessidades de cada empresa para atender e se adequar ao seu
ramo de negcio. Atravs de customizaes e desenvolvimentos especficos o sistema R/3
adaptado ao processo de negcio da empresa e estas alteraes precisam ser distribudas entre
todos os clients que compem o landscape da empresa, garantindo assim a consistncia do sistema.
Pgina 63
ACADEMIA BASIS
O CTS (Change and Transport System) uma facilidade introduzida pela SAP no release 4.0 do
R/3 e composta das seguintes ferramentas:
CTO, Change and Transport Organizer que prov funes para gerenciar o desenvolvimento
de projetos que ocorram centralizados ou distribudos no ambiente. Ele composto das
seguintes ferramentas: Workbench organizer (transao SE09), Customizing organizer (SE10)
e Transport organizer (SE01)
TMS, Transport Management System que organiza, monitora e executa os transporte ao longo
de um landscape definido. O TMS utilizado ainda para as rotas de transporte ao longo do
landscape e acionado pela transao STMS
Ferramentas a nvel do sistema operacional (TP e R3Trans) que executam a comunicao
com o sistema R/3, o banco de dados e os arquivos gerados no processo de export dos
transportes
Pgina 64
ACADEMIA BASIS
Antes de iniciar a instalao de um sistema R/3, defina a estrutura de rede necessria para
comportar o ambiente. Inicie a instalao pelo ambiente de desenvolvimento. nele normalmente
que residir o Transport Management System. Durante a instalao do sistema defina um diretrio
para o transport system. Este diretrio ser posteriormente compartilhado pelos demais ambientes
que comporo o landscape. Aps a instalao do R/3, configure o arquivo TPPARAM que
parametriza o sistema de transporte (informando qual o banco de dados e a onde ele est),
inicialize o Change Transport Organizer (CTO) utilizando a transao SE06 e configure o system
landscape utilizando o Transport Management System (transao STMS).
Na verso 4.0b temos alguns problemas com os mecanismos de transporte pois o conjunto do
STMS ainda no est finalizado (j est mais bem acabado na verso 4.6). O primeiro problema a
seqncia de importao das changes request: ele sempre segue a seqncia de export, ou seja,
uma vez exportada o usurio no vai conseguir alterar a seqncia para uma seqncia mais lgica.
O segundo problema que uma change que foi importada no sistema de qualidade j pode ser
importada no ambiente produtivo independente se ela j foi verificada e confirmada pelo
desenvolvedor. Podemos criar um mecanismo para tentar minimizar erros onde o diretrio
\usr\sap\trans do ambiente produtivo seria separado. Com isto o analista basis passa a ter que
Pgina 65
ACADEMIA BASIS
controlar as changes que devem ser importadas na produo atravs da manipulao do arquivo de
buffer por um editor de texto. Desta forma passamos a in foreign group import no sistema R/3.
Initializing CTO
A transao SE06 utilizada para configurar o change and transport organizer. Ela deve ser
executada uma vez a cada nova instalao de um sistema R/3, independentemente de ser uma
instalao standard ou um database copy. Estas configuraes so globais no sistema R/3 e tem
prioridade inclusive sobre as configuraes dos clients (SCC4). A transao SE06 estabelece o valor
inicial para os change request e configura as opes iniciais do sistema definindo se o repositrio de
objetos e os objetos de customizao client independents sero globalmente modificveis.
Transport Domain
O TMS suporta vrios diretrios de transporte em um transport domain. Os sistemas R/3 que
compartilham um mesmo diretrio compem um transport group. Atravs do TMS podemos executar
transportes entre sistemas que pertenam a transport groups distintos mas ela no suportam
transportes entre domnios diferentes. Devemos lembrar que se fizermos o tp import entre domnios
diferentes o processo ser bem sucedido. O mesmo no pode ser garantido entre sistemas R/3 de
verses diferentes pois podem existir diferenas na estrutura e na utilizao nos objetos
encapsulados pela change.
O Landscape pode ser definido como todos os sistemas R/3 que compartilham change
requests com o propsito de manter ambientes consistentes de desenvolvimento e customizao.
Por este motivo um system landscape normalmente sinnimo de um transport domain, embora um
transport domain possa conter mais de um system landscape apenas para fazer uso da vantagem de
um ambiente TMS centralizado.
A configurao do TMS executada atravs da transao STMS no client 000 e com o usurio
DDIC, ou um equivalente com a profile S_CTS_ADMIN, e passa pelos seguintes passos:
Configurao do transport domain atravs da especificao dos sistemas R/3 e dos transport
groups alm da definio de um deles como sendo o controlador do domnio.
Configurao das rotas de transporte atravs da definio do sistema onde as changes sero
consolidadas e do sistema onde a change ser finalmente delivered aps os testes
Check e verificao das configuraes atravs das ferramentas do TMS
Pgina 66
ACADEMIA BASIS
O sistema escolhido como controlador do domnio dever ser um sistema com alto grau de
segurana e disponibilidade, normalmente o production system ou o QAS. Esta tarefa no oferece
nenhuma carga adicional ao sistema mas a SAP sugere que seja instalado no QAS que
supostamente o sistema R/3 com menor carga de trabalho.
recomendado que se tenha um servidor configurado como backup controler para o TMS, em
caso de falha do principal. Como comum, no momento da configurao do TMS nem todos os
sistemas existem, o R/3 permite que se defina todo o ambiente atravs da especificao de sistemas
virtuais, permitindo com isto que se configure antecipadamente todas as rotas de transporte.
A SAP prov o TMS com configuraes standard default que j prove rotas para landscape de um,
dois ou trs sistemas, agilizando desta forma o trabalho de configurao inicial. As rotas de transporte
so de dois tipos: de consolidao, do desenvolvimento (integration system) para o sistema de quality
assurance (consolidation system) atravs de uma transporte layer (Z<SID>), e de delivery, onde os
transportes consolidados so finalmente transportados do sistema de qualidade (consolidation
Aps configurar o transport domain e definir as rotas de transporte, o TMS utilizado para
distribuir esta configurao entre os sistemas e ativar a nova configurao. As alteraes efetuadas
em objetos SAP so transportadas atravs da consolidation route SAP. Atravs do hierarchical list
editor possvel visualizar e editar a configurao do TMS. O sistema aceita ainda a configurao
atravs de ferramenta grfica drag-and-drop. O TMS prov ainda ferramentas para testar as
conexes RFC, checar o diretrio de transporte e verificar o funcionamento do programa tp.
Pgina 67
ACADEMIA BASIS
Change Requests
Uma change request um pacote contendo os objetos que sero transportados de um sistema
R/3 para outro. Por exemplo, no caso de um abap ser encapsulado o source, no caso de uma
configurao ser encapsulado as entradas nas tabela e sua respectiva ao (cria/deleta/altera). Uma
change request pode ser atribuida a vrios usurios atravs do conceito de tarefa. Apesar do nome
tarefa ela no representa o que vai ser feito, ela representa a associao da change request com o
usurio e a respectiva documentao (que no obrigatoria) do que foi feito.
O workbench organizer oferece mecanismos que permite que os change requests sejam
documentados atravs de uma descrio do seu propsito. Os change requests devem ser criados
por gerentes de projeto que associam os objetos do repositrio que sero trabalhados, onde
permanecem lockados com acesso permitido apenas aos desenvolvedores que foram autorizados
ao change. As alteraes nos objetos do repositrio so criadas como tasks associadas ao change
request e quando liberadas so transferidas como um todo atravs das rotas que definem o
landscape, j que a unidade de transporte o change request. A liberao de um change request faz
com que uma nova verso dos objetos nele contidos seja gravado no database de verses (somente
no sistema R/3 que foi utilizado para o desenvolvimento).
Pgina 68
ACADEMIA BASIS
Quando o lder de um projeto cria um change request, o sistema associa a ele um nmero
(<SID>K9nnnnn como por exemplo DEVK900736) e ao associar os desenvolvedores, cada um
recebe uma task cujo cdigo estruturado no mesmo critrio. A medida que os desenvolvedores vo
terminando suas tasks elas vo sendo liberadas individualmente. Quando todas estiverem liberados o
gerente do projeto libera o change request que pode ento ser transportado para outros sistemas.
S_CTS_SHOW, que permite apenas visualizar os change requests e ver suas logs
S_CTS_DEVELO, mais abrangente que a anterior, fornecida aos desenvolvedores que
passam a ter gerencia sobre suas tasks
S_CTS_PROJECT, que a autorizao dos gerentes de projeto, que podem criar e
gerenciar os change requests
S_CTS_ADMIN, a autorizao do administrador do CTS e tem acesso mais abrangente a
todas as suas ferramentas
Para o dia-a-dia do projeto utilizaremos esta lista abaixo de profiles para os principais papeis a
serem desempenhado durante o projeto :
S_A.SYSTEM, normalmente utilizada pelos administradores do sistemas e inclui todas as
autorizaes relativas ao CTS e STMS. Esta profile contm a autorizao s_cts_admin
S_A.CUSTOMIZ, normalmente utilizada pelo lider da equipe e inclui autorizao para todas
as atividades de configurao do ambiente. Esta profile contm a autorizao s_cts_project
S_A.DEVELOP, normalmente utilizada para os abapers e configuradores e no permite a
criao de change request. Esta profile contm a autorizao s_cts_develo
S_A.SHOW, este perfil utilizado como curinga pois ele possui todas as autorizaes de
basis mas todas elas somente para display. Esta profile contm a autorizao s_cts_show
Todos os desenvolvedores ABAP precisam ter um registro composto de 20 dgitos obtido junto ao
OSS e denominado SSCR, SAP Software Change Registration. Sem esta chave no possvel
efetuar alteraes no repositrio de objetos. Cada access key associada com o logon ID do
desenvolvedor e ao license number do sistema R/3. Esta chave requisitada no primeiro acesso ao
repositrio e no mais requisitada nos acessos posteriores. Os objetos criados pelos
desenvolvedores no repositrio devero
SAP para os objetos dos clientes, evitando assim conflito de nomes com objetos standard do
repositrio. A nota 16466 descreve em detalhes a nomenclatura a ser adotada na criao dos nomes.
Da mesma forma que temos que registrar um desenvolvedor, temos que registrar no SSCR a
modifio em um determinado objeto standard.
O conceito de name ranges permite que se adote critrios de nomenclatura associados a classes
de desenvolvimento. A SAP adota ainda o critrio de reservar namespaces para objetos
desenvolvidos pelos seus parceiros de desenvolvimento. O comportamento do repositrio no que
diz respeito aos namespaces e name ranges determinado em cada sistema R/3 atravs de global
settings que determinam se os critrios sero modificveis ou no. Escolha a opo Tools ->
Administration -> Transports -> Installation follow-up work -> Goto -> System change options. Para
manter estes name rangers use a view v_tresn atravs da transao sm30.
Esta associao de development classes e transport layers utilizada para definir as rotas de
transporte de consolidao que podem ser gerenciadas atravs do TMS. Objetos que no possuem
Pgina 69
ACADEMIA BASIS
O sistema possui dois mecanismos de lock para proteo dos objetos do repositrio. No primeiro
mecanismo baseado na gerencia do change request que garante que os objetos nele contidos
somente sejam alterados pelos usurios autorizados pelo gerente do change request que
consequentemente estejam trabalhando no projeto. Um segundo mecanismo no editor de programa
no permite que dois desenvolvedores abram o mesmo objeto simultaneamente pois quando o
primeiro desenvolvedor pegar o objeto o lock permanecer at o release da task. Objetos que tenham
sido associados manualmente ao change request no so lockados pelo sistema, mas podem ter lock
explcito tanto para a change quanto para a task atravs da SE09 ao selecionar Request/task ->
Object list -> Lock objects
Uma task s pode ser liberada pelo correspondente desenvolvedor associado a ele ou pelo dono
da change. J a change s pode ser liberada pelo seu dono e aps todas as task terem sido
liberadas. Ao trmino das tasks e liberao do change request (release), as alteraes ficam
disponveis para transporte (se a change for do tipo transportable). Este processo somente poder ser
executado pelo owner do change request e tenha as autorizaes corretas. Tasks liberadas no
podem mais ser alteradas porm tasks adicionais podero ser criadas para corrigir eventuais
problemas. Tasks vazias no podem ser deletadas mas so automaticamente eliminadas quando se
libera o change request.
O processo de release do change request grava uma nova verso dos objetos no repositrio e
exporta as alteraes para arquivos no sistema operacional (diretrio de transporte). Change requests
locais quando liberados gravam novas verses no repositrio porm no geram arquivos no sistema
As verses dos objetos geradas quando da liberao dos change requests ficam
armazenadas no version database, que reside no sistema de desenvolvimento. Os objetos ativos
ou suas verses temporrias (sob manuteno) residem em outro local, no development database.
As verses dos objetos podem ser comparadas ou restauradas atravs de ferramentas do sistema,
seja pela SE80 ou pela SE09. O nico sistema que contm o histrico de todas as verses o
sistema de desenvolvimento. Na produo no teremos este histrico o que significa se perdermos o
sistema de desenvolvimento perderemos toda a histria da evoluo dos abaps.
Quando um change request liberado o sistema exporta seus dados para o sistema operacional e
este processo pode ser acompanhado atravs da SE09 que exibe o return code da operao e uma
log do export para possvel anlise. A lgica do nome do arquivo de log do export <SID>E9xxxxx.
Tambm produzido uma log do test import no sistema de consolidao seguindo o padro
<SID>P9xxxxx para o nome do arquivo. Ento, a partir do release da change request, ela passa a ser
The Repository
O Object Directory um catlogo de todos os objetos standard SAP e dos objetos desenvolvidos
pelo usurio na sua instalao e pode ser acessado pela SM30 tabela TADIR. Durante o processo de
customizing o sistema pode gerar automaticamente objetos dentro do repositrio como parte do
processo. Objetos que so alterados fora do seu ponto de origem, por exemplo a alterao no
ambiente de QAS de um objeto originrio do sistema de desenvolvimento denominado um repair.
Os objetos do repositrio possuem como chave primria o program identification (PGMID), o object
type e o object name. O campo PGMID normalmente R3TR, embora existam outros ids: R3OB e
LIMU. Object types podem ser por exemplo PROG (ABAPs), DEVC (development class), VIEW,
FORM, COMM (command file) e CHD0 (change document).
O sistema R/3 trabalha com o conceito de objetos originais e cpias. Um objeto criado no
ambiente de desenvolvimento e transportado para os demais ambientes do landscape possuir
nestes locais apenas uma cpia do objeto original. Este mecanismo garante que os objetos sejam
alterados apenas nos locais onde foram criados. Excepcionalmente possvel alterar uma cpia
Pgina 70
ACADEMIA BASIS
de um objeto, que neste caso denominado de um repair, ou seja: uma alterao executada em um
ambiente diferente daquele onde o objeto foi desenvolvido.
R/3 Upgrade
Quando de um upgrade, objetos originais SAP so reintroduzidos na instalao o que fora a uma
anlise obrigatria dos objetos que sofreram repairs para que as antigas alteraes sejam
confirmadas e refeitas quando necessrio. Para isto importante uma documentao detalhada
destas modifications e a deciso de que se vale a pena o esforo para reintroduzir as alteraes que
muito possivelmente j esto incorporadas no novo release
Durante a fase de PREPARE do processo de upgrade, o sistema pede que todos os repairs sejam
confirmados e liberados. A transao SPDD dever ser utilizada para ajustar o dicionrio ABAP
durante o processo de upgrade. A transao SPAU utilizada para efetuar um merge de todos os
objetos do repositrio
O Workbench Organizer possui uma srie de ferramentas que facilitam as tarefas administrativas,
podendo ser acessadas atravs da opo Goto -> Tools:
Verificar relatrios, como por exemplo o Object in requests que oferece informaes
detalhadas sobre os change requests
Modification monitor que prov informaes dos objetos que esto sendo alterados
Object directory que permite alterar os atributos dos objetos na tabela TADIR
Alterar namespaces
Ativar ou desativar o check de objetos e ainda setar as change system options
A opo Search for objects in request/tasks permite encontrar um relacionamentos cruzados com
tasks/change requests a partir de um determinado objeto desejado.
O workbench organizer possui uma facilidade para verificao das logs de transportes e para
verificao dos objetos incluidos nas change requests. Isto pode ser feito para todo o sistema ou
especificamente para um usurio. Quem controla isso so os object checks que permitem verificar a
integridade (normalmente syntax check) das alteraes efetuadas pelo change request antes que ele
seja liberado e exportado para files do sistema operacional. Eles permitem tambm que sempre que
for feito uma operao de import/export o usurio recebe uma mensagem no prximo logon.
Pgina 71
ACADEMIA BASIS
Para configurar este recurso para todo o sistema utilize a transao SE01 -> settings -> organizer
e para configurar este recurso para um usurio especifico use a SE03 -> global customizing
workbench organizer.
Pgina 72
ACADEMIA BASIS
Customizing Concepts
O R/3 disponibilizado com o set completo das atividades de customizao para todos os seus
mdulos no IMG, denominado SAP Reference IMG. Os clientes definem os mdulos que sero
implementados na empresa bem como as funes especficas que sero utilizadas dentro destes
mdulos, com isto teremos o Enterprise IMG. Todas as transaes de customizao relevantes,
documentao necessria e informaes para gerenciamento dos projetos so definidos dentro do
IMG atravs de subsets conhecidos como Project IMGs. Estes projects so levantados a partir das
definies iniciais de implementao do cliente.
O IMG e seus respectivos projects so definies client independents em um sistema R/3. O IMG
no apenas uma ferramenta de implementao da customizao no R/3. Atravs documentaes,
conceitos e gerenciamento de projetos o IMG a metodologia para customizao do R/3. A
implementao incorpora as seguintes partes:
acesso as Activities de implementao executado atravs de transaes prprias
Pgina 73
ACADEMIA BASIS
As customizaes executadas no IMG podem ser gravadas em change requests o que permite
distribuir posteriormente um processo centralizado de customizao para os demais clients e
sistemas do landscape. Durante o processo de customizao, o client pode ser configurado para
requisitar ao customizador um change request para onde todas as alteraes sero gravadas
automaticamente para posterior transporte. Quando esta opo est desligada, as configuraes
executadas so gravadas no R/3 porm no so gravadas em change requests. Alm dos controles
globais de changes que os sistemas R/3 possuem implementados e configurados atravs da SE09,
os chamados global settings, um sistema R/3 possui a facilidade de se configurar individualmente
seus clients atravs da especificao detalhada de seus atributos client dependents e independents.
A combinao destas opes permite que se configure diversos perfis de clients em uma
Quando a opo de automatic recording no est ligada, as customizaes podero ser gravadas
manualmente no change request. Ao entrar na transao de customizao deve-se usar a opo de
menu (Table/view -> Transport) para fornecer o change request. Aps selecionar todas as entradas
de customizao que desejam inclur, click em Include in Transport e depois basta salvar a
alterao e sair do IMG.
O processo de liberao de um change request de customizing pela SE10 pode ser efetuado de
duas maneiras distintas: no primeiro mtodo (release and export) a change liberada e seus dados
transferidos para os files do diretrio de transporte. No segundo mtodo (release to request) a change
Pgina 74
ACADEMIA BASIS
liberada porm seus dados so transferidos para um outro change request transportvel porm
seus dados no so transportados para o OS.
Customizing Tests
Antes de distribuir as customizaes, elas devero ser testadas em separado e dentro do contexto
do sistema, em um client de consolidao. preciso abrir o change request e verificar se o seu
contedo est completo com todas as alteraes. A transao SCC1 utilizada para transferir as
alteraes contidas em um change request ou mesmo em uma task individual para outro client do
sistema. No caso de ser necessrio levar objetos que esto apenas nas task o flag Incl tasks for
request deve estar marcado. Como apenas um change request pode ser transferido por vez, as
change podem ser agrupadas em um nico change atravs da opo Include Objects da SE10, o que
IMPORTANTE: a opo de cpia atravs da SCC1 somente funciona para dados client
dependents. Se a change contiver objetos client independents os mesmos no sero transportados. A
transao SCC1 deve ser sempre acionada no client de destino.
Customizing Exceptions
Certos tipos de customizaes, conhecidas como Data-only Customizing Changes, precisam ser
executadas diretamente no ambiente de produo sem passar por processo de change request,
como por exemplo: taxas de cmbio, regras de penso, etc. Estes tipos de alteraes no tem efeito
sobre o negcio da empresa no necessitando portanto de testes extensivos em ambiente separado.
Como so passveis de alteraes constantes e para evitar necessidades de controle por change
requests, a SAP introduziu o conceito de funes de Update Settings. Os Update Settings podem ser
utilizados diretamente no ambiente de produo sem impacto para o negcio da empresa. A tabela
CUSAMEN mantm a lista dos objetos aprovados pela SAP para esta funcionalidade. No se
recomenda que o cliente faa alteraes nesta tabela sem a autorizao expressa da SAP.
Client-independent Customizing
Uma tarefa difcil no proceso de customizao do R/3 identificar quais tasks so client
independents e quais so dependents. Customizaes client independents podem ser:
Em objetos client independents, que so objetos do repositrio gerados pelo processo
de customizao, como por exemplo matchcodes, condition tables e hierarquias. Para
garantir que sejam corretamente transportados, devero ser associados a uma
development class
Global customizings, que so configuraes standard globais do ambiente em tabelas
que no possuem o campo MANDT, como por exemplo calendrios, impressoras, etc.
importante restringir as alteraes no Enterprise IMG atravs de uma poltica bem definida de
autorizaes, pela proteo dos clients atravs da especificao correta de seus change options
(SCC4) e ainda centralizando todo o desenvolvimento (abap e customizaes) em um nico client.
Pgina 75
ACADEMIA BASIS
Pgina 76
ACADEMIA BASIS
Transport Management
Transport Process
O TMS a ferramenta existente no R/3 onde esto centralizados todos os recursos para efetuar e
gerenciar os transportes no ambiente. At o release 3.1H os transportes eram efetuados atravs de
ferramentas no sistema operacional e baseava-se nas configuraes das tabelas TSYST, TWSYS,
TASYS e DEVL principalmente.
Import Queues
A ferramenta mais importante para o mecanismo de import do TMS so as import queues que
refletem a situao dos import buffers de um determinado sistema. Ela lista os change requests
disponveis para import bem como a ordem com que foram liberados. Os dados exibidos no TMS so
lidos no momento em que a transao chamada. A opo de refresh permite atualizar as
informaes exibidas na tela. O programa RSTMSCOL pode ser schedulado para rodar de hora em
hora e efetuar este refresh em background. Isto normalmente utilizado durante a fase de
desenvolvimento do projeto onde o numero de change requests muito grande. Durante a
manuteno do sistema normalmente no utilizado pois o nmero de changes provavelmente ser
bem menor.
Atravs da administrao da fila de imports possvel excluir change requests, efetuar forwards
para outros sistemas, estabelecer dead lines e end marks, etc. A administrao do TMS permite muita
liberdade no tratamento das filas, porm recomendvel que estas manipulaes sejam bastante
conscientes para garantir a integridade e consistncia dos transportes. A SAP um pouco mais forte
que a vida real, ela recomenda que nenhuma change seja deletada ou manipulada na fila para evitar
qualquer tipo de consistncia. Para estabelecer end marks nas filas de import necessrio fechar
(close) nas filas. Este processo eqivale a estabelecer stopmarks nos files do sistema operacional (tp
setstopmark <SID>). A diferena bsica que enquanto no sistema operacional possvel
acrescentar uma stopmark apenas no final da fila, atravs do TMS possvel colocar o end mark
onde for mais conveniente. Este processo muito til quando desejado disparar um import em
bloco porm at um determinado ponto apenas. O import all (caminho) efetua o import at encontrar
a marca postada na fila. Operacionalmente recomendvel que sempre se feche a fila (end mark)
antes de iniciar um import, evitando que requests liberados durante o processo tambm sejam
transportados inadvertidamente.
Pgina 77
ACADEMIA BASIS
Para evitar inconsistncias entre change requests, somente efetue imports de changes isolados
quando, com completa certeza, conhecer o seu contedo e sua dos demais requests.
Estes imports so denominados Preliminary imports. Como garantia, o TMS mantm os preliminary
imports na fila para que sejam retransportados quando se efetuar o import padro (all). Em condies
especiais possvel especificar parmetros diferentes quando do import. So as
comando tp no sistema operacional. Este processo chamado expert mode. Existem uma srie de
opes nos expert modes e elas sero detalhadas mas adiante.
Transporte so gravados nas import queues de um determinado transport group que compartilha o
mesmo diretrio de transporte. A opo In foreign groups (Extras -> Other requests -> In foreign
groups) permite que se efetue transporte entre sistemas que possuem diferentes diretrios de
transporte. Esta opo til quando o compartilhamento NFS dos sistemas no permitido por
alguma razo tcnica (conexo ruim, segurana, compatibilidade, etc.). Neste caso o TMS cuida de
sincronizar as informaes entre os buffers do grupo de origem e do o grupo de destino.
Transport Monitoring
Atravs do Alert Monitor do CCMS possvel integrar algumas funes de monitorao com o
TMS permitindo a gerncia centralizada do sistema R/3.
Transport Process
Durante o processo de testes de uma funcionalidade pode ser necessrio congelar o trabalho no
ambiente de desenvolvimento para garantir a estabilidade dos testes. Isto facilita a correo de
possveis problemas encontrados nos objetos, que seria mais difcil de ser corrigido se o processo de
desenvolvimento tivesse continuado no objeto durante os testes.
Uma estratgia peridica para a importao dos transportes dever ser implementada e negociada
com as equipes de desenvolvimento. Import all devero ocorrer mensalmente, semanalmente ou
diariamente. Imports mais freqentes no so recomendados no ambiente R/3. O processo de import
deve ser feito durante a baixa atividade do sistema e logo aps um backup da base. A SAP
recomenda que o transporte de um projeto seja efetuado apenas quando todos os seus componentes
estiverem totalmente desenvolvidos evitando a estratgia de enviar objetos individualmente a medida
Pgina 78
ACADEMIA BASIS
Transport Directory
O file system do diretrio de transporte fica montado na rea compartilhada /usr/sap/trans de uma
das mquinas (normalmente aquela de onde os transportes se originam) e atravs de NFS, o file
system compartilhado com os demais sistemas que compartilham o mesmo transport group. No
ambiente do NT o compartilhamento feito atravs do sapmnt que contm, entre outros, o diretrio
trans contm os seguintes subdiretrios, entre outros:
actlog, onde so gravados cada action em um request ou task. Contm files com nomes
<source SID>Z<6 digits>
sapnames, com arquivos com o nome do usurio que efetuam release em changes. Com
este arquivo podemos saber exatamente que gerou a request (no sistema operacional)
buffer, com arquivo com nome <SID> contendo o import buffer para cada sistema R/3.
Quando um change request liberado, o file correspondente ao sistema target atualizado
data, contendo arquivos do tipo R9<5 digits>.<source SID> que contm os dados que
foram exportados no transporte. Eventualmente neste diretrio podemos ter arquivos no
formato D9<5 digits>.<source SID> que tambm contm dados a serem importados.
cofiles, com command files do tipo K9<5digits>.<source SID> contendo por exemplo os
import steps que sero executados
log, com todas as logs de transportes, como por exemplo ULOGs, ALOGs, SLOGs e as
demais logs que descrevem as operaes executadas nos steps individuais ou coletivos
bin, com os arquivos de configurao do funcionamento do mecanismo de transportes
(TPPARAM e DOMAIN.CFG)
tmp, com os arquivos de log que esto sendo gerados durante o processo. Aps o trmino
de um transporte os arquivos so movimentados para o diretrio LOG.
The tp Program
O transport control program uma ferramenta executada a nvel de sistema operacional que
controla todas as operaes de transporte no sistema R/3 usando programas especiais (por exemplo
em C), comandos de sistema operacional e programas ABAP no R/3. O TP opera as operaes de
export e import separadamente, extraindo/atualizando as informaes de controle na base de dados
do R/3 e levando para files (buffer, log e cofiles) no diretrio de transporte e posteriormente, atravs
de comando explcito, importa os dados no sistema destino. Ele no faz a manipulao dos dados
que sero transportados (o responsvel por isso o R3trans que ser visto a seguir).
Apesar de ser uma ferramenta no sistema operacional (diretrio de exes), o tp deve ser utilizado
atravs da interface do TMS que efetua as chamadas apropriadas para cada tarefa. Sua utilizao
uma chamada tp <command> [argumento] [option(s)] como pode ser visto abaixo :
tp help, exibe o help do tp
tp <command>, exibe o help de um comando especfico
tp go <SID>, checa o database de um sistema destino
tp connect <SID>, checa a conexo
tp showinfo <request>, exibe informaes de um determinado change request
tp count <SID>, numera os requests para import em um sistema
tp checkimpdp <SID>, exibe como o RDDIMPDP est schedulado em um determinado
sistema
tp showparams <SID>, exibe a parametrizao atual de um sistema
tp status <SID>, exibe o status de serializao de um sistema
O comando tp import all <SID> client=nnn executa o import de toda a fila de transporte do
sistema <SID> no client nnn. Este o comando normalmente emitido pelo TMS.
Pgina 79
ACADEMIA BASIS
O processo de import composto de uma srie de steps que executam tarefas distintas e,
dependendo do tipo do transporte, so ativados ou no. A organizao da fila de import no buffer file
uma espcie de tabela onde para cada entrada referente aos requests, colocado um flag 0 ou 1
na posio referente a cada step. O programa tp no l esta fila individualmente, mas sim
coletivamente. Desta forma o processo de import ocorre de forma seqencial no pelos requests, mas
sim pelos steps. Desta forma o sistema executa o step 1 para todos os requests que o requisitaram,
depois o step 2 e assim sucessivamente. Este processo garante por exemplo que caso exista na fila
de transporte mais de uma referncia a um determinado objeto (por exemplo a segunda corrigindo um
erro detectado em uma primeira consolidao) o step de ativao (posterior ao de importao) ocorra
Pgina 80
ACADEMIA BASIS
somente quando a verso correta esteja importada no sistema, evitando desta forma que a verso
com erro seja ativada temporariamente como ocorreria se o processo fosse seqencial por request.
Os passos durante o import so (os passos com * so genricos e feitos em todas as requests) :
DDIC
Abap dictionary import
ACTIV
Abap dictionary activation
Distribution
Structure conversion (*)
Move nametabs (*)
MAIN
Main import
MC ACT
Activation of the enqueue definitions
MC CONV
Enqueue conversion (*)
ADO
Import of application defined objects ADOs
LOG
Logical import (esta fase ainda no foi implementada e ser utilizada para a importao
em um shadow client antes de fazer em um target client)
VERS
Versioning
XPRA
Execution of user defined activities
GENERA
Generation of abap prograns and screens
O programa R3trans, que chamado durante as fases de ABAP dictionary e main import) se
comunica com o programa tp utilizando o subdiretrio tmp. Um control file passado pelo tp para
cada step do processo de import e por sua vez o R3trans grava a log do transporte no tmp para que
posteriormente seja transferido pelo tp para o subdiretrio log. A comunicao entre o programa tp e
os jobs background no sistema se d atravs da tabela TRBAT que contm dados temporrios. O tp
grava nesta tabela os steps que devero ser executados durante o import e ento dispara o evento
que ativa o RDDIMPDP. Este programa por sua vez l a tabela e atravs das informaes recolhidas
dispara programas RDD* que efetuam tarefas especficas requisitadas pelo tp. Cada um dos jobs
RDDs disparados pelo RDDIMPDP registrado na tabela TRJOB atravs de uma entrada onde so
gravados seus return codes que desta forma podem ser acompanhados pelo programa tp. As logs
geradas pelos programas RDD* so gravadas no subdiretrio tmp e posteriormente transferidas para
o log pelo programa tp.
Qualquer problema detectado pelo tp durante a monitorao das tabelas TRBAT e TRJOB faz
com que o tp reative o RDDIMPDP atravs da emisso de novo evento pelo sapevt. O RDDIMPDP
analisa estas tabelas e verifica se o processo anterior ainda est ativo ou se necessrio,
processo no step cancelado. Por este motivo que pelo menos dois background process
precisam estar disponveis para o sistema de transporte.
Pgina 81
ACADEMIA BASIS
Transport Monitoring
Alm destes arquivos de log, o diretrio de logs possui uma log por change request. Estes
arquivos possuem o formato <source SID><action>9<5digits>.<target SID> onde o action pode ser :
E de main export feito pelo R3trans
P de test import feito pelo R3trans
H de dd import objects feito pelo R3trans
A de dd activiation object feito pelo RDDMASGL
S de dd distribution object feito pelo RDDGENBB
N de dd conversion object feito pelo RDDGENBB
6 de dd move nametabs
I de main import feito pelo R3trans
T de import of table entries feito pelo R3trans
M de enqueue activation feito pelo RDDGENBB
G de repository object generation feito pelo RDDIC03L
V de version update feito pelo RDDIC
As diversas ferramentas envolvidas no transporte envia return codes que so consolidados pelo
programa tp da seguinte forma:
0 a 16, indica os valores mximos de todos os return codes das ferramentas
17 a 99, que um valor calculado a partir daqueles retornados pelas ferramentas de
transporte e so warnings indicando problemas detectados pelo tp, como por exemplo a
no permisso de write no diretrio buffer
100 a 149, so warnings indicando que alguma coisa vai mal e nem todas as tarefas
puderam ser completadas
150 a 199, so erros (raros de acontecer) indicando uma operao ilegal solicitada pelo
operador
200 ou mais, indica erros no tp
Para obter uma descrio de um return code, utilize o comando tp explainrc <rc>.
Para acompanhar todo o processo verifique as logs dos transportes que foram feitos. As logs de
transporte podem ser visualizadas atravs do Alert Monitor sob a forma de uma estrutura em rvore
que pode sofrer drill down.
O diretrio de transporte deve ser limpo de tempos em tempos para eliminar transportes antigos e
tp check all varre os diretrios de transporte e os
arquivos referentes a transportes j executados so gravados em um arquivo denominado
ALL_OLD.LIS no tmp. O comando tp clearold all l o arquivo gerado pelo comando tp check all e
percorre os arquivos referentes as suas entradas e elimina aqueles que aparentemente no sero
mais necessrios e se tornaram obsoletos baseados em timestamps definidos pelos
datalifetime, olddatalifetime, filelifetime e loglifetime do TPPARAM. Antes de efetuar esta
operao recomendado que se efetue uma cpia backup por segurana.
Pgina 82
ACADEMIA BASIS
Client Tools
As ferramentas de client copy e client transport foram criadas para executar a transferncia de
dados entre clients. Estes dados sobrepem os dados do client destino. As ferramentas de client no
foram concebidas para combinar dados de vrios clients. Os dados so categorizados como dados de
customizao, dados mestre de usurio ou ainda application data. Dentre estes somente o mestre de
usurios pode ser manipulado mais livremente e combinado com outros de outras fontes. No lado
oposto est o application data que no pode ser manipulado de forma alguma sem o correspondente
Os mecanismos de cpia permitem a cpia local, remot ou atravs de transporte. Cada um destes
possui uma caracterstica diferente. A cpia local utilizada para copiar clients dentro da mesma
instncia e no consegue copiar as customizaes client-independents e os objetos de repositrio. J
a cpia remota permite faz exatamente a mesma coisa s que entre sistemas R/3 diferentes e
utilizando conexes RFC. O transporte de client o mais abrangente, com ele podemos levar um
client de um sistema R/3 para outro, mesmo que o destino no esteja ativo no momento, e podemos
As ferramentas de transferncia de dado entre clients so definidas por profiles que definem o
escopo dos dados que sero transferidos. Por exemplo:
SAP_ALL, todos os dados do client
SAP_CUST, customizing data
SAP_CUSV, customizing e variantes de relatrio
SAP_UAPP, user master e reports
SAP_UCSV, user master, customizing e variantes
SAP_UCUS, user master e customizing
SAP_USER, user master
Quando a inteno a criao de um client novo, uma entrada dever ser criada inicialmente
atravs da transao SCC4. Clients recm criados possuem apenas o user SAP* hard coded
(password PASS) e atravs dele que efetuaremos a cpia
Clients protegidos contra cpia no podem ser sobrescritos. Esta proteo especificada na
SCC4. Por questes de integridade, recomendado que no se log no client destino durante a cpia.
Pela mesma razo recomendado que no se utilize o client source durante o processo
Client Transport
Pgina 83
ACADEMIA BASIS
Diferentemente tambm dos dois outros processos, necessrio logar no client source e efetuar
atravs da transao SCC8 o export dos dados. Durante este processo necessrio especificar o
sistema target que dever compartilhar o mesmo transport domain. Por ser um processo demorado
dever ser schedulado em batckground. O processo de export de um client utiliza chamadas ao
programa tp e cria at 3 arquivos no sistema operacional: RTnnn com dados client dependent, ROnnn
com dados client independent e finalmente SXnnn contendo SAPscripts. Alm destes files o processo
cria arquivos na import queue (buffer) do sistema target (S-SID-KOnnn para independent e S-SID-
KTnnn para dependent data).
A segunda parte do processo, que a fase de import executada atravs da transao SCC7 que
comanda o import. Primeiro deve-se importar os dados client independent e posteriormente os client
dependent. Em seguida necessrio se logar no sistema target e executar o Post-process import
para efetuar atividades requeridas pelo SAPscript e possveis steps de gerao de objetos ainda
pendentes.
Copy Process
Durante o processo de cpia de client, o sistema inicialmente limpa os dados com a key do client
no sistema destino. Number ranges so copiados do cliente source. Se o dado de aplicao no for
copiado, o number range ser resetado. No possvel copiar dados de aplicao sem copiar junto
os dados de customizao e os number ranges. A cpia apenas dos dados de customizao pode
causar inconsistncias no momento do merge no client destino
O processo pode ser bastante demorado (dependendo do profile utilizado e volume de dados no
source) devendo o processo rodar em background process. Durante o processo de cpia o logon fica
inibido no client target exceto para os users SAP* e DDIC. ainda recomendado que no se trabalhe
Client Delete
Clients so deletados atravs da transao SCC5. O processo de cpia poder inclusive ser
agilizado se o client tiver sido anteriormente excludo do ambiente destino. No processo de delete os
dados, SAPscripts e batch inputs
Client Compare
Quando vrios sistemas R/3 com clients distintos esto sendo implementados, pode ser
necessrio comparar e ajustar as customizaes entre os diferentes sistemas e clents. A funo
Compare. Esta funo compare permite comparar e ajustar o contedo de tabelas ou vises entre
dois clients distintos. A transao SCUO utilizada para selecionar os tipos de objetos que sero
comparados e ainda especificar se a comparao ser de dados clint dependents ou independents. A
sada da comparao exibida de forma tabular e torna fcil a anlise das eventuais diferenas
Pgina 84
ACADEMIA BASIS
Eventuais ajustes podero ser efetuados atravs da transao SM30, que permite a manuteno
da maioria dos objetos de customizao. Objetos que no podem ser ajustados pela SM30 podero
apenas ser comparados.
Alm das opes de proteo dos dados client dependent e client independent, a transao SCC4
possui opo para proteger o client contra client copy, atravs de niveis de proteo 0 (sem
proteo), 1 (no pode ser sobrescrito) ou 2 (no pode ser sobrescrito nem acessado externamente
Pgina 85
ACADEMIA BASIS
Types of Landscapes
Uma implementao R/3 pode ser executada de diversas maneiras distintas. As implementaes
mais comuns so sistemas R/3 em hardware diferentes e os possveis landscapes so os com 3, 2 ou
1 sistemas R/3:
Three-System Landscapes
Two-System Landscapes
One-System Landscapes
Pgina 86
ACADEMIA BASIS
Como esta opo a mais precria e sucetivel a grandes impactos aps a entrada em produo
ela s aceitvel se os desenvolvimentos parassem antes da entrada em produo. Se for
necessrio fazer alguma correo no ambiente deve ser feito durante o perodo sem atividade
produtiva.
Landscape Requirements
preciso que se tenha uma estratgia consistente para configurao dos sistemas no landscape
para proteo dos repositrios e dos transportes consistentes entre os sistemas. Atravs de uma
configurao correta de clients para os ambientes de produo e qualidade, possvel bloquear
customizaes e desenvolvimentos fora do ambiente reservado para esta finalidade. A estratgia bem
montada de distribuio de transportes, atravs da especificao cuidadosa de rotas de consolidao
e distribio, e a definio de um ponto nico de alterao do ambiente (client de desenvolvimento)
garante assim que todos os clients do landscape tenham configuraes consistentes.
Passo 2: Estabelea uma estratgia de manter o CUST sem dados e qualquer teste dever ser
efetuado atravs do transporte das customizaes nele executadas para o client TEST atravs da
transao SCC1. Os transportes gerados no sistema CUST sero liberados para o diretrio de
transporte
Passo 3: Quando chegar a hora de criar o ambiente de consolidao, instale um sistema R/3 no
ambiente de qualidade e, a partir do client 000, crie os clients TRNG para treinamento e QTST para
qualidade. Ambos os sistemas estaro protegidos atravs das opes No changes allowed e No
changes to Repository and client independent customizing.
Pgina 87
ACADEMIA BASIS
Passo 5: Instale um sistema R/3 no ambiente de produo e, a partir do client 000, faa um client
copy para criar o client PROD, que dever ser configurado para No changes allowed e No changes to
repository and client independent customizing. Em seguida import toda a fila de requests para o novo
client configurado.
A partir deste momento, qualquer change request liberado na CUST dever ser copiado para a
TEST utilizando a SCC1. Uma vez testado, o change ser importado para consolidao na QTST e
eventualmente transferido atravs da SCC1 para a TRNG. Changes consolidadas sero finalmente
importadas no ambiente de produo.
ASAP Recomendations
As change requestes e seus histricos devero estar muito bem documentadas no ambiente e
nenhuma alterao pode ser feita sem estar contida em uma change request. Documente o que
contm a request, o que resolvido, quem fez a alterao e quando foi transportada para cada um
dos ambientes. Tenha estabelecido desde o incio critrios bem definidos para regulamentar as
change e seus transportes entre as instncias com as respectivas rotas e a periodicidade do
transporte em cada uma das rotas. Distribua os transportes apenas quando eles contiverem uma
unidade completa de desenvolvimento ou customizao.
Evite fazer upgrade durante o processo de desenvolvimento. Se for impossvel, tenha certeza que
requests geradas em uma verso/nvel de hot package s sero transportadas para um ambiente
com a mesma verso/nvel de hot package.
Alternative Landscapes
Alternativamente, apenas o client CUST poder ser criado inicialmente com as opes de gerao
de change request desligadas. Quando se decide criar o sistema TEST no mesmo sistema, ele ser
gerado a partir de um client copy do CUST e a partir deste momento deveremos ligar a gerao
automtica de change requests, uma vez que a nica forma de sincronizar os dados client
independents daqui para a frente ser atravs da movimentao dos changes via SCC1. A criao do
client de qualidade (QTST) feita atravs de um client export/import, assim como o produo. A
principal vantagem deste mtodo alternativo que a gerao de transportes somente precisa ser
ativada e gerenciada quando acrescentamos um segundo client no landscape. A desvantagem que
no possuiremos o histrico completo das change e, principalmente, quando do momento dos client
export dados de customizao ainda no totalmente consolidados estaro sendo movimentados para
os demais ambientes. Alm disto devemos ter cuidado em relao a objetos do repositrio pois eles
no estaro presentes na cpia do client. Para solucionar isto temos que ter todos os objetos
alterados documentados para ser possvel gerar uma request que dever ser transportada antes do
client import.
Uma terceira opo a criao dos ambientes de QAS e PRD a partir de homogeneous system
copy, embora esta estratgia no seja recomendada pela SAP. As principais desvantagens esto
associadas a falta de controle das request e a eventual presena de configuraes e
desenvolvimentos no acabados no ambiente produtivo.
Pgina 88
ACADEMIA BASIS
Transport Organizer
O Transport Organizer (SE01) uma ferramenta que fornece solues para a manipulao de
cenrios mais complexos que no podem ser gerenciados pelas ferramentas normalmente utilizadas.
As funes de transportes e realocaes permite transportar cpias de objetos ou realocaes de
originais. possvel manipular Object Lists, que so colees de objetos que podero servir para
template da funo Include Object List conseguindo desta forma incluir object lists em change
requests.
Pgina 89
ACADEMIA BASIS
Um sistema R/3 tpico, uma vez instalado, passa por evolues sejam devido a customizaes ou
novos desenvolvimentos, como tambm pela aplicao de patches do OCS (Online Correcton
Service) ou ainda por upgrade de novos releases.
R/3 Upgrade
Uma das tarefas mais importantes durante a preparao para o upgrade rodar o script
PREPARE (integrante da ferramenta retrofit que integra a localizao que existia na verso 3.0 com o
correspondente standard que vem na verso 4.0) e que responsvel por fazer uma srie de checks,
a saber :
Quais so as verses do banco de dados, do sistema operacional, e do R/3
Quais abaps preciso ser realterados
Existe espao suficiente no banco de dados
Existe alguma reparao em andamento
Quais so as lnguas suportadas
Qual o nvel de hot package e se todos esto confirmados
usurio tem as devidas permisses no sistema operacional
Aps todo este processo o prepare gera um arquivo chamado \usr\sap\put\log\checks.log) no
sistema com as aes necessrias para viabilizar o upgrade. A execuo deste script no faz parte
do upgrade em si que feito utilizando o programa R3up que tem funcionamento semelhante ao
Antes de fazermos o upgrade do R/3 j temos que ter cumprido alguns passos obvieis como a
execuo do script prepare, upgrade do sistema operacional, eventual upgrade do hardware, upgrade
do banco de dados e outros fatores que possam ser pr-requisitos para o R/3.
O primeiro passo efetivo do upgrade a transferncia para o repositrio do R/3 dos novos objetos
enviados em um CD. Este processo passa pela comparao dos objetos para identificar possveis
modifications efetuadas pelo usurio nos objetos SAP standard. Todas as modificaes que o cliente
desejar manter e cujos objetos SAP no novo release tambm foram alterados, precisam ser casados
com os objetos SAP. Este processo executado atravs das transaes SPDD e SPAU e
conhecido como Modification Adjustment.
Existem diversos tipos de modification adjustment que so executados antes (atravs da SPDD) e
depois (atravs da SPAU) da fase do Data Dictionary Activation. Durante esta fase de activation o
sistema desativado, que pode durar vrias horas. Aps esta fase o sistema reativado j no novo
release.
Pgina 90
ACADEMIA BASIS
Repository Switch
A fase de modification adjustment somente ser necessrio quando o objeto alterado pelo cliente
tambm foi modificado pela SAP (seno ele ser movido integralmente) e quando questionado, o
cliente decide continuar com suas alteraes por achar que o novo release no incorpora
devidamente suas necessidades. Caso o cliente aceite o novo objeto, suas antigas alteraes sero
descartadas.
Uma vez que as operaes acima foram efetuadas, o repository switch poder ser efetuado. Caso
no existam objetos que necessitam de adjustment, o switch uma simples questo de reativar o
novo repositrio. simples e rpido, sendo portanto sempre desejvel que os objetos SAP
permaneam o mais standard possvel.
Durante o processo de upgrade podemos escolher trs estratgias diferentes para o uso da log de
alterao. Independente de cada uma destas estratgias evidente que devemos ter backup full off-
line de cada ponto do processo para que em caso de pane ou necessidade de retorno a situao
anterior tenhamos backup para retornar a situao anterior. As principais fases do upgrade so :
Inicializao do processo
Importe do repositrio
Anlise e copia dos novos objetos
Switch, ativao do novo dicionrio e ajuste dos objetos impactados
Importe dos dados de controle
Importe da lingua portuguesa
Fase final e backup aps todo o processo
Pgina 91
ACADEMIA BASIS
Ou seja, ela possui um pouca do lado bom das outras duas e por isto que esta opo a
recomendada pela SAP e j o default.
Modification Adjustment
Aps a ativao do novo dicionrio, a transao SPAU utilizada para ajustar alguns objetos que
se no ajustados no causariam perda de dados, apenas perda de funcionalidade. Estes objetos
seriam objetos de lock, matchcodes e views, alm de objetos do repositrio, tais como ABAP
programs, function modules, menus, screens ou module pools
Ao trmino da execuo destas duas tasks (SPDD e SPAU), todas as modifications estaro
incorporadas no novo release. No release 4.0 o processo de pre-upgrade PREPARE (script
mencionado anteriormente e integranda retrofit tool) para o upgrade efetua um check geral do
sistema e lista todos os objetos que sofreram modifications e consequentemente necessitaro de
passar pelas SPDD e SPAU, podendo desta forma haver um melhor planejamento do esforo a
ser gasto no processo.
Pgina 92
ACADEMIA BASIS
As append structures permite que se acrescente campos em tabelas SAP sem a necessidade de
alterao dos objetos standard do sistema. Os campos includos ocupam fisicamente uma outra rea
e apenas sero incorporados a nova verso do objeto no novo release. Estas estruturas devero
possuir nomes no customer range (Z) para evitar que sejam sobrescritas no momento do upgrade. A
incluso destas estruturas entretando no so permitidas a pool tables, cluster tables ou tables que
possuam campos LONG RAW.
O OCS oferece patches para correo de um sistema R/3 atravs da disponibilizao de Hot
Packages, LCPs, SPAM updates e Conflit Resolution Transport (CRTs). Estes patches reduzem a
necessidade de correes manuais no sistema atravs da aplicao de notas que, diferentemente
destas correes, no sero reconhecidas por um processo de upgrade como modifications.
portanto extremamente aconselhvel que um sistema R/3 esteja up to date no momento de um
upgrade para minimizar a necessidade de anlise de modifications que no passam de notas
aplicadas.
O SAP Patch Manager (transao SPAM) a ferramenta utilizada para aplicar os patches no
ambiente R/3 e dever ser executada no client 000 por um usurio que possua todos os privilgios
(SAP_ALL) porm no dever ser o DDIC ou o SAP*. A SPAM fora a aplicao dos patches na
ordem correta e obriga a um aceite em cada aplicao antes de aceitar a seguinte, forando desta
forma a uma verificao da aplicao pelo cliente. O processo de aplicao dos patches deve ser
efetuado em todos os sistemas do landscape. Caso se efetuem adjustments pela SPAU durante a
aplicao, os mesmos podero ser salvos em change requests para posterior import nos demais
sistemas, evitando a utilizao da SPAU mais de uma vez.
Pgina 93
ACADEMIA BASIS
Terceira Semana
O R/3 possui diferentes formas de enviar documentos atravs de seus sistemas de spool. Um
documento formatado, que pode ser uma impresso, um fax ou um EDI, representa uma message no
sistema R/3 e, uma vez criada, estar liberada para impresso ou transmisso. As impresses no
R/3 podem ser imediatas ou adiadas para sada posterior. Alm do message control, o R/3 possui
uma combinao de programas de impresso e SAPScripts para produzir os documentos de
impresso. Enquanto o programa de impresso obtm os dados a serem impressos, o SAPscripts
especifica o layout do documento a ser impresso.
Como o sistema R/3 um ambiente multiplataforma, foi criado um sistema interno de spool para
interfacear com os diversos hosts nos quais o R/3 pode rodar. Atravs deste princpio o R/3 formata
os documentos e requisita ao spool do sistema operacional que apenas repassa o documento para o
dispositivo fsico de impresso que est alocado na porta paralela ou serial.
Um spool request criado quando um documento R/3 requisitado para impresso mas ainda
no foi enviado para o dispositivo de sada. Os dados ficam armazenados em um
interno do R/3. Um spool request formatado pelo spool work process e passa a ter um determinado
formato para um dispositivo especfico, este formato nos chamamos de output request. Vrios output
requests podem ser gerados a partir de um nico spool request, contendo cada um os atributos ou
comandos especficos de um determinado hardware de impresso.
Pgina 94
ACADEMIA BASIS
do sistema operacional da mquina onde o spool work process que cuida de envia-los, seja para uma
impressora conectada diretamente ao host ou atravs da rede. o mtodo mais rpido, uma vez que
a tarefa de gerenciamento do string at o dispositivo de sada fica a cargo do sistema operacional,
liberando o work process desta tarefa. Evite utilizar o host onde o sistema R/3 est rodando como o
host que controla esta fila de impresso e possui uma impressora ligada fisicamente pois isto vai
consumir recurso do sistema operacional. Existem cinco mtodos de acessos, a saber :
L, utilizado onde o output request passado para o gerenciador de impresso do sistema
operacional (do tipo line command). O mais comum ser utilizado no ambiente unix mas
tambm pode ser utilizado no ambiente Windows NT. Os comandos a serem utilizados para
imprimir e para verificar a fila podem ser redefinidos atravs dos parametros
rspo/host_spool/print e rspo/host_spool/query, respectivamente
C, utilizado onde o output request passado para o gerenciador atravs de call a bibliotecas
especficas do sistema operacional. Deve ser utilizado com Windows NT e AS/400
E, utilizado para enviar o output request para um OMS (ser detalhado logo a seguir)
P, utilizado para enviar o output request para um device pool
F, utilizado para impresso no front-end e quem formata o output device o dialog work
process
Remote printing consiste na transferncia dos output requests diretamente para os dispositivos
remotos. Neste caso o spool work process fica responsvel pela negociao com o dispositivo
atravs da rede. Este mtodo de acesso remoto menos otimizado por onerar o work process
gerando possveis contenes na impresso. O spool work process fica preso at que ele consiga
passar todas as informaes para o spooler remoto (ou saplpd) que eventualmente fica esperando o
buffer da impressora, ou seja, o spool work process fica preso at que a maior parte da impresso
fsica seja feita. A transmisso remota feita atravs de lpd (line printer daemon) e a SAP prov o
programa SAPLPD para as plataformas que no possuem este protocolo standard. Devemos utilizar
este mtodo somente quando a rede for muito rpida e muito confivel. Os mtodos de acesso so :
U para os ambientes baseados no unix e impressoras de rede
S para ambientes windows 9x com saplpd
Spool Administration
Frontend Printing
A impresso frontend no R/3 permite que usurios enviem output requests para impressoras que
no foram definidas como output devices no R/3. o denominado mtodo de acesso F. Caso a
estao do usurio seja um PC windows, o request enviado para um SAPLPD rodando na estao
do usurios. Se o SAPLPD no estiver rodando, ele iniciado e manipula os requests e os envia para
Neste mtodo de acesso o processamento do spool efetuado pelos
prprios dialog work processes, no havendo necessidade de encaminhar o request para os spool
work processes. Para definir uma impressora frontend para as estaes windows, alm de especificar
o mtodo de acesso F, necessrio definir o device type SWIN (qualquer impressora com device
instalado no windows) e o host printer dever ser __DEFAULT. Este mtodo dever ser evitado em
sistemas produtivos por utilizar os work processes para tarefas que deveriam estar reservadas para
os spool work processes alm de prender o dialog work process at que todos os dados da
impresso sejam passados para a estao onde est o frontend e o saplpd.
Pgina 95
ACADEMIA BASIS
Logical spool server uma camada que permite mapear spools lgicos para fsicos, permitindo
efetuar o switch dinmico e balanceamento dos servidores. Um real spool server no ambiente R/3
uma instncia com pelo menos um spool work processes definido. Este mecanismo de definio
lgica permite efetuar o switch facilmente entre servers reais que esto indisponveis sem interrupo
do servio de impresso para os usurios. Como estas definies so configuraes do ambiente e
portanto podemos utilizar o mecanismo de transportes de change requests do R/3 possvel definir
toda uma arquitetura de impresso em um ambiente e posteriormente transporta-la para os demais
sistemas do landscape.
O spool requests gerados no sistema devem ser gerenciados pelo administrador para garantir a
disponibilidade do ambiente. O programa RSPO0041 deve ser schedulado em todos os sistemas para
efetuar o trabalho de housekeeping e eliminar spools antigos do sistema.
A transao SP01 o spool request viewer, que permite aos usurios ver seus requests e
requisitar outputs ou eliminar spools. Administradores com autorizaes apropriadas podem ver todo
SPAD ou o programa RSPO0043 pode ser utilizado para
checar a consistncia entre os spool requests, output requests e output datas so consistentes cada
um por si e as referencias cruzadas entre eles. A verificao de problemas associados com os spool
requests pode ser efetuada tanto pela SP01 quanto pela SM21 ou ST22.
Existem objetos de autorizao especficos para diversas operaes de spool no R/3, seja
protegendo determinados dispositivos de sada (S_SPO_DEV) ou limitando o poder de
gerenciamento (S_SPO_ACT e S_ADMI_FCD) . O objeto S_SPO_PAGE limita o nmero mximo de
pginas que um usurio pode imprimir em um determinado dispositivo. Para que esta autorizao
tenha efeito necessrio ativar o parmetro de profile rspo/auth/pagelimit=1.
Pgina 96
ACADEMIA BASIS
Device Pools
O conceito de device pools permitir que se defina um pool de dispositivos de sada que podem
ser referenciados atravs de um nico nome. Device pools so definidos especificando mtodo de
acesso P e a lista dos dispositivos que o compem. Output requests podem ser enviados para todos
os dispositivos que compem o pool simultaneamente ou pode-se requisitar que o sistema efetue o
balanceamento de carga entre os dispositivos de sada da lista. Os dispositivos que compem a lista
de um device pool podem ainda ser acessados individualmente como devices independentes.
Para o caso de utilizarmos o balanceamento de carga temos que ter certeza que a rede e o
gerenciador de impresso do sistema operacional tem bom tempo de resposta pois para balancear a
carga o R/3 vai fazer query para saber o status do device.
O R/3 permite integrar ao seu ambiente sistemas externos de gerencia de impresso que podem
se fazer necessrios em ambientes complexos. Esta comunicao efetuada atravs do XOM-API.
Atravs da definio de um objeto real de OMS (ROMS) e de pelo menos um objeto lgico OMS
(LOMS), os spool requests de um sistema R/3 podem ser passados para o sistema externo. Os
devices no ambiente R/3 que sero gerenciados pelo sistema externo OMS so definidos com o
Qualquer instncia R/3 que possui spool work processes denominada um spool server. O R/3
permite a definio de um alternate spool server que pode assumir as tarefas de um spool server
principal. Quando se assinala o campo non-exclusive spool server no atributo de um spool server o
sistema R/3 efetua o balanceamento de carga dos requests de impresso.
Para permitir que os usurios acompanhem o andamento de seus requests, os spool work process
questionam os devices sobre o sucesso das operaes. Uma vez que durante este tracking o spool
permanece aguardando uma resposta, isto pode ser particularmente problemtico para
impressoras remotas ou com baixa performance na rede. Esta opo pode ser desabilitada para um
dispositivo de sada especificando a opo no longer ask for print requests in host spool.
Pgina 97
ACADEMIA BASIS
Non-Standard Printers
Quando um determinado dispositivo de sada no possui device padro no R/3, possvel criar
um driver personalizado para o dispositivo atravs da especificao de alguns objetos. A transao
SPAD, em extended admin, fornece todos os mecanismos para formatar e testar o drive a ser
utilizado pelo novo dispositivo. Antes de definir um novo dispositivo, verifique no OSS se j no existe
disponvel o novo driver para ser baixado do sapservX. Se for necessrio criar realmente um novo
driver cpie um j existente e altere o que for necessrio, sempre tentando manter o mais prximo do
Character set
O character set especifica os cdigos internos armazenados no spool request e seus respectivos
ASCII que sero impressos. um de para. Cada caracter tem um cdigo interno no R/3 (nenhuma
relao com o ASCII), cuja lista pode ser visualizada atravs da SPAD (Full Administration SAP
characters). possvel acrescentar caracteres nesta lista, utilizando os cdigos 9000 a 9999.
Cada tabela de character set disponvel transcreve este cdigo interno R/3 para um determinado
ASCII. Para adapter uma determinada tabela, necessrio inicialmente copia-la e ento efetuar as
alteraes na cpia e salvando posteriormente as alteraes em um character set identificado por
Format identifica o papel utilizado pelo R/3 (letter, A4, etc.). Quando utilizamos formulrios que
no so padres necessrio definir novos formatos pela SPAD. Os Page formats prov a interface
entre o format e o SAPscripts, permitindo que os programas R/3 possam determinar o nmero de
linhas por pgina, entre outros dados. Para definir format actions, ou seja, como determinado
dispositivo manipula um determinado formato de impresso, necessrio editar o dispositivo de sada
e acrescentar na sua opo de format as sequencias de caracteres para efetuar as operaes de
impresso (printer initialization, new line, skip page, 12 char/inch, etc.)
Print controls
O message control utilizado no R/3 para troca de informaes entre parceiros envolvidos em
uma determinada regra de negcio. Os documentos gerados (EDI, fax, impresses, etc.) so
normalmente gerados atravs de exits especficas dentro programas R/3 que so chamadas para
formatar a sada desejada. Dependendo da customizao efetuada, o documento gerado enviado
como parte da transao ou fica pendente para posterior envio. O EDI, Electronic Data Interchange,
a troca de mensagens de negcio entre dois sistemas atravs de interfaces standard. A SAP no
fornece um subsistema EDI no R/3, mas prov uma interface aberta para estes sistemas se
conectarem. Esta interface baseada em Intermediate Documents, ou IDOCs. No R/3 todos os dados
transferidos por EDI so transferidos atravs de RFCs entre os sistemas envolvidos.
Pgina 98
ACADEMIA BASIS
SAPconnect
O SAPconnect uma camada que permite a comunicao do R/3 com outros sistemas externos,
tipo fax ou mail servers. A conexo do R/3 com sistemas externos normalmente requer a
especificao de interfaces externas, porm a conexo entre dois sistemas R/3 via SAPconnect pode
ser feita diretamente. Estes adapters externos devem ser fornecidos por cada fornecedor interessado
em se conectar com o sistema R/3. A SAP fornece um adapter para o Microsoft Exchange Server que
pode ser configurado para integrar as duas ferramentas. Para configurar o SapConnect utilize a
transao SC0T. Para maiores informaes sobre o SapConnect utilize as notas 34705 e 92950.
Pgina 99
ACADEMIA BASIS
Installation Check
Hardware e Software
Antes de comear uma instalao necessrio garantir que os requisitos mnimos do checklist de
instalao sejam atendidos. No pacote de instalao existe um checklist completo que deve ser
seguido. Para o hardware, certificar-se de que seja um hardware homologado pela SAP e de alta
disponibilidade, alm de verificar ainda o nmero de processadores, memria RAM e disco
disponveis. Para o software, verificar se a verso do sistema operacional se encontra atualizada e
suportada pelo R/3, checar os utilitrios make do compilador C e a configurao do kernel.
Oracle Database
A verso do banco de dados dever ser compatvel com R/3 e com o sistema operacional. O
database name ser o mesmo system id do R/3. Alteraes posteriores no nome do database no
so simples de serem efetuadas. Para garantir a comunicao entre os processos atravs da rede, as
profiles Oracle referentes a configuraes de network so requeridas: listener.ora, tnsnames.ora,
sqlnet.ora e protocol.ora.
O oracle ser instalado em uma configurao prpria de sua rvore de diretrios e diversas
variveis de ambiente so setadas para apontar para os caminhos corretos. A distribuio dos discos
no ambiente de banco de dados tem influncia direta sobre a performance do banco, devendo desta
forma dedicar um cuidado especial a esta parte. Os redo log files devem ser espelhados (RAID I) por
hardware e por software (oracle). Os arquivos sapdata devem, preferencialmente estar isolados entre
si e de todo resto. Alm disto e havendo disponibilidade, distribua os tablespaces PSAPSTABD e
PSAPBTABD em filesystem nicos. Filesystems crticos (online redo logs, archive, paginao do OS)
no devem ser instalados nos mesmos discos dos datafiles, que por sua vez devem estar em discos
distintos. Evite utilizar RAID 5 para online redo log, saparch e o tablespace PSAPROLL. Estes pontos
tem influncia direta sobre a performance.
Aps a instalao, por questes de segurana, a password dos contas oracle SYS, SYSTEM e
Pgina 100
ACADEMIA BASIS
Server site
\%oracle_home%
\ rdbms80
\ bin
\ net80 \ database
\%sapdata_home%
\ sapdata1
...
\ origlogA
Client site
\%oracle_home%
\ rdbms80
\ net80 \ admin
\ nlsrtl31 \ data
\ nlsrtl32 \ data
\ nlsrtl33 \ data
R/3 System
O system id (SID) de uma instncia R/3 dever ser nica no landscape e composto de 3
caracteres alfanumricos, sendo o primeiro alfabtico. Alguns nomes so reservados, devendo ser
escolhidos cuidadosamente, j que qualquer alterao exigir a reinstalao do R/3. Alguns
parmetros do kernel Unix so relevantes para a instalao e funcionamento do R/3. Verifique a sua
configurao e efetue as alteraes necessrias de acordo com o manual de instalao OS
Dependencies. O programa memlimits disponibilizado no CD de instalao pode ser utilizado para
A instalao do R/3 dever ser executada em uma mquina que no deve possuir outro servio
como pdc, bdc, etc. A estrutura de diretrio a ser utilizada j pr determinada pela SAP. Esta rvore
contm dois ramos bsicos, os diretrios globais que sero compartilhados entre sistemas e os
Uma instncia R/3 possui um nmero (2 dgitos) informado pelo administrador no momento da
instalao e ser utilizado pelo R/3 para compor os nmeros das portas para diversos servios
Pgina 101
ACADEMIA BASIS
TCP/IP que sero utilizados pelos processos. Estes servios sero registrados pelo programa de
instalao no %windir%\system32\drivers\etc\Services do host:
Porta para o dispatcher da instncia: sapdpnn 32nn/tcp
Porta para o servio de gateway: sapgwnn 33nn/tcp
Porta para o message server: sapms<SID> 36nn/tcp
Os gateways 97, 98 e 99 alm do dispatcher 99 so reservados para a SAP para os R/3 service
programs (OSS, SapConnect, EPS e SapRouter respectivamente). Para verificar o ambiente TCP/IP
utilize os programas sapntchk (command line) ou sapsychk (win32). Para maiores informaes sobre
a analise do log produzido veja a nota 65761
O TMS dever ser configurado corretamente em um landscape para permitir o transporte entre os
vrios sistemas R/3 que o compem. Cada transport domain possuir um suas rotas de transporte e
um dos sistemas receber atribuio de domain controller. Se por questes de performance, os
frontend no devero se conectar ao host do database, utilizando para isto application servers. Se o
message server for instalado em outro host que no o do database, a DEFAULT.PFL dever informar
esta nova configurao atravs dos parmetros SAPDBHOST e rdisp/mshost.
Aps a instalao, a transao SICK (ou SM28) utilizada para efetuar um check completo de
consistncias entre verses do kernel e database, garantindo assim que no existiro inconsistncias
na instalao. Alm disso bom configurarmos o saprouter, importarmos os hotpackages atravs da
Configure corretamente o mecanismo para backup do ambiente, seja do database como tambm
do sistema operacional e diretrios do R/3 e faa o backup de tudo.
Pgina 102
ACADEMIA BASIS
Overview
Mechanism
Cada instncia R/3 possui seu prprio dispatcher e sua prpria queue de requisies organizada
de forma FIFO first in first out, mantida na shared memory da instncia. Qualquer chamada de
servio (outbound request) que no seja uma comunicao com o frontend e nem uma chamada RFC
encaminhada pelo dispatcher para o message server. Isto aconter com os outbound requests para
spool, update, enqueue e batch processamentos que a instncia no possuir work process para
atender.
A fila do dispatcher pode ser visualizada atravs do programa dpmon (nvel do sistema
RZ03, Edit -> Other views -> Dispatcher queues. Cada dispatcher
organiza sua fila criando queues para cada tipo de work process: DIA, BTC, UPD, UP2, SPO, ENQ e
uma fila NOWP para outgoing requests vindos destes vrios work processes. O tamanho default para
cada uma destas filas 2.000. Caso a instncia no possua um determinado servio (por exemplo
UP2), sua fila ter um tamanho de 5 requests apenas. O tamanho da fila do dispatcher mantida
atravs do parmetro de profile rdisp/elem_per_queue. Caso ocorra um overflow na queue, ser
gerada uma mensagem na SYSLOG. A monitorao das filas pode ser executada atravs da SM51,
selecionando um servidor e requisitando Goto -> Queue information
Para comparar a distribuio de carga entre os diversos servidores, a transao ST03. Atravs do
Detail analysis menu possvel inclusive requisitar que as comparaes sejam exibidas em modo
grfico: Compare all servers -> Graphics -> Avg response time/Dialog steps.
Uma anlise do CPU time dos work process pela SM50 permite efetuar uma anlise para cada tipo
de servio se o nmero de work process foi definido suficientemente. Como a distribuio dos
servios pelo dispatcher feita de forma sequencial, os ltimos work processes de um determinado
tipo com valores elevados de CPU indicam ocupao constante e portanto uma possvel espera
excessiva de processos na queue deste tipo de work process. O incremento do nmero de work
process, antes de ser feito, precisa ser analisado visando identificar se o recurso de hardware
(principalmente memria mas sem esquecer a cpu) disponvel na instncia comporta mais work
process.
Evite o logon de usurios na central instance para evitar sobrecarga, j que normalmente esta
instncia estar oferendo os servios de DB. Distribua os logons de usurios entre as instncias de
dialog e faa o mesmo com a carga de spool e background.
O logon load balancing utilizado para dinamicamente distribuir os usurios entre os diversos
servidores de um sistema. Isto trs uma srie de benefcios:
Caso um server caia, os usurios podero continuar a se logar nos outros servers do sistema
sem a necessidade de reconfigurao do saplogon
Pgina 103
ACADEMIA BASIS
Para termos isto precisamos categorizar os usurios em grupos e configurar os frontends para um
logon especfico em um grupo especfico e no mais um servidor especfico. A conexo neste caso
feita com o message server (servio sapmsSID 36##/tcp) e no mais diretamente com os dispatcher
O dispatcher inicialmente procurar avaliar entre os servidores disponveis no grupo aquele mais
indicado para receber a conexo de logon e a ento encaminha o usurio para o dispatcher
selecionado. O programa RSRZLLG0 utilizado para efetuar o balance baseado em critrios como
tempo de resposta e nmero de usurios logados em cada server. Este programa roda a cada 5
minutos ou a cada 4 usurios que se logam e determina o server favorito para o logon a cada
instante. Este balanceamento baseado em pesos que so dados aos itens. A nota 51789 descreve
o critrio e como altera-lo para melhor se adaptar as suas necessidades. O default do sistema o
tempo de resposta ter um peso cinco vezes maior que a quantidades de usurios.
SMLG pode ser utilizada para monitorar a lista global dos usurios logados (Goto ->
User list), a distribuio de carga entre os servers (Goto -> Load distribution) ou ainda ver qual o
server favorito para logon (Goto -> System diagnosis -> Msg. Server status area).
Procure sempre especificar logon groups com mais de um server provendo assim uma maior
disponibilidade para o sistema. Entretanto, no adianta colocar todos os servidores em todos os
grupos pois estariamos prejudicando os buffers. Devemos sempre monitorar e procurar um ponto de
equilibrio. Preferencialmente faa um agrupamento baseado nas reas funcionais como FI com CO,
SD com MM, PP separado dos demais, etc. Em casos extremos podemos criar uma user exit para
impedir que um usurio entre em um ou mais grupos.
A tabela TBTCS exibe informaes sobre os jobs schedulados no ambiente. Esta tabela utilizada
pelo batch scheduler para enfilerar os jobs. Atravs da transao RZ01 possvel monitorar os jobs
que esto ultrapassando o tempo mdio de tempo de execuo e a transao RZ15 permite
monitorar os interface-driven jobs. O global work process monitor (SM66) pode ser utilizado para
analisar a distribuio de carga dos background jobs no sistema. No permita que jobs batch rodem
na central instance. Deixe suas CPUs reservadas para os processos de update. Considere a
possibilidade de especificar valores diferentes para o parmetro rdisp/btctime, o batch scheduler,
entre os vrios servidores (por exemplo 61, 62, etc.). Com isto eles rodaro em tempos diferenties e
efetuaro uma distribuio mais eficiente dos background jobs entre as instncias.
Cada sistema R/3 precisa ter definido pelo menos um update work process. recomendado ainda
que pelo menos um update tipo 2 seja definido no ambiente para tratar as atualizaes que no so
time criticals. O Dynamic Update Assignment cuida de distribuir os updates V1 e V2 entre os diversos
Pgina 104
ACADEMIA BASIS
Quando um request de update disparado por um dialog server, o sistema verifica uma rea da
shared memory denominada Update Dispatcher Information, para descobrir em qual server o update
dever ser executado. Ele se baseia em algoritmos internos de balanceamento de carga (o dynamic
update assignment) e a partir da o update request colocado na NOWP queue do dispatcher onde o
update foi gerado. Os updates so distribudos em um processo cclico sequencial entre os servers
disponveis obedecendo ao nmero de update work processes disponveis em cada um. Quando um
ciclo completo de distribuio se fecha, o sistema inicia outro baseado no mesmo critrio. Este
processo faz com que os updates sejam distribudos ao acaso fazendo com que updates pesados
sejam distribudos aleatoriamente entre os servidores disponveis. Quando o algoritmo enderea um
update para um determinado server, o message server entra em ao e movimenta o request da
NOWP queue do server que gerou o request para a UPD queue do server que executar o servio
Ao analisar os update work processes pela SM66, observe se o ltimo update de cada instncia
mostra pouca ou nenhuma CPU. Alm disso o primeiro work process dever apresentar muito mais
CPU que os demais. Se o sistema no apresentar este perfil, possivelmente estar havendo um
gargalo no ambiente causado pela definio de poucos work processes de update. Use ainda a
transao SM51 para exibir o maximum request wait. Este valor dever ser muito prximo de zero.
Por outro lado caso existam muitos work processes com zero de CPU, certamente est havendo um
excesso de recurso alocado.
Para verificar a fila dos processos de update no dispatcher, utilize transao RZ03 (Edit -> Other
view -> Dispatcher queue). A transao SM13 exibe o status do update. Nesta transao, atravs da
opo Goto -> Server, podemos ainda verificar o nmero de updates enviados para cada server bem
como informaes do dispatching. Por questes de performance, ao analisar o CPU time dos update
processes em cada server, mantenha pelo menos um com 0 de CPU. Isto garante que no haver
Existe uma relao de custo benefcio em se manter os updates centralizados na central instance
ou distribudos pelos servidores:
Central instance: a vantagem que as instncias no precisaro manter programas de
update de todos os mdulos otimizando assim a alocao dos buffers dos servidores do logon
group. A desvantagem que no se faz uso do balanceamento de carga do update, que se
encontra centralizado
Distribudo pelas instncias: a principal vantagem o balanceamento distribudo do
processamento de update, conforme descrito acima. A contrapartida que todas as instncias
tero em seus buffers programas de update de todos os mdulos, j que quem distribui os
processos o automatic load balancing de update.
Configuration Summary
No existe uma regra especfica para o nmero de work processes configurados em cada
instncia, devendo o nmero ser ajustado por observao da demanda. Recomenda-se apenas que
se deixe sempre um work process de cada tipo com 0 de CPU garantindo a tima distribuio da
Pgina 105
ACADEMIA BASIS
carga. Existe uma recomendao informal da SAP que se configure 3 spool work processes por
servidor de spool para que se tenha sempre um livre enquanto os outros dois estejam efetuando job
quering e connection checking.
Pgina 106
ACADEMIA BASIS
Quarta Semana
Database Fundamentals
Oracle Overview
A shared pool uma poro de memria compatilhada que contm as reas chamadas de shared
sql, library cache, data dictionary cache e sequence cache. Todas participam do processo e so as
estruturas que contm os sqls que esto sendo execudados pelos mltiplos usurios. Essas reas
contm ainda os comandos na forma interpretada e texto, a anlise dos comandos com os
respectivos planos de execuo, informaes de dicionrios e geradores de nmeros sequenciais. O
principal objetivo da shared pool viabilizar que um comando sql seja utilizado por diversos
processos distintos. Uma nica shared sql area pode ser compartilhada por diversas aplicaes que
usam o mesmo comando deixando mais reas em memria disponvel para os outros usurios e
melhorando a performance de execuo de um comando, j que o plano de execuo estar definido
Pgina 107
ACADEMIA BASIS
O database buffer cache organizado em duas listas: a lista de blocos alterados e a lista dos
blocos menos recentemente utilizados (LRU least recently used). Essa segunda lista contm os
blocos livres, aqueles que esto em uso e inclusive blocos alterados. Quando um processo servidor
precisa ler dados de um bloco do disco para o database buffer cache, ele pesquisa a LRU para
localizar o bloco livre. Se encontrar um bloco alterado, movimenta-o para a lista de blocos alterados.
Esse processo termina quando um bloco livre localizado ou quando um nmero especfico de
blocos so pesquisados sem encontrar um bloco livre.
O redo log buffer armazena todas as alteraes feitas em um banco de dados em memria. Todas
as entradas de redo log neste buffer so escritas nos arquivos de redo log, que so usados para a
O Oracle cria um conjunto de processos que rodam em background para cada instncia, Esses
processos executam diversas tarefas. Entre eles podemos destacar :
DBWR O processo database writer escreve os blocos modificveis do database buffer cache
para os arquivos de dados. Os dados mais antigos so escritos em primeiro lugar. O dbwr adia
ao mximo a escrita dos blocos alterados para otimizao de I/O em disco para evitar aquela
que uma das principais causas de queda de performance de um banco de dados.
LGWR O processo log writer escreve todas as entradas de redo log para o disco. Os dados
de redo log so armazenados em memria no redo log buffer, e no momento em que uma
transao for efetivada ou o redo log estiver com preenchimento de pelo menos um tero, o
lgwr escreve as entradas de redo log para os arquivos online redo log files.
CKPT O processo de check point envia um sinal para o dbwr no momento do check point.
Ele ento atualiza os headers dos control files e dos datafiles.
SMON O processo de system monitoring efetua a recuperao da instncia em caso de
falhas, durante a uma inicializao. Ele tambm limpa os segmentos temporrios que no
esto sendo usados, liberando memria e recupera qualquer transao pendente no caso de
uma falha fsica. Simplificando, o smon um monitor das aes do sistema detectando e
corrigindo possveis falhas no sistema
PMON O processo monitor executa a recuperao do processo de um usurio em caso de
falhas. Ele limpa a rea de memria e libera os recursos que o processo usurio estava
usando. Simplificando, o pmon um monitor das aes dos usurios detectando e corrigindo
possveis falhas nos processos dos usurios
ARCH O processo de archiver copia os arquivos redo log para fita ou mesmo outro disco, no
momento em que um deles torna-se completo. Este processo geralmente est presente
quando o banco de dados esta sendo utilizado no modo archivelog.
RECO O processo de recover usado para resolver transaes distribuidas e pendentes.
LCKn Os processos de lock (lckn) so usuados para controlar o lock entre instncias em
uma configurao oracle parallel server.
Dentro de uma instncia Oracle existem vrios processos que so criados quando a instncia
entra em funcionamento. Eles se dividem em dois grupos :
Dedicated shadow processes: que so os processos criados no Oracle para as conexes
dos work processes. Existe uma relao de 1 para 1 entre estes processos e os work
processes da instncia R/3 e eles s aparecem quando o R/3 est no ar
Shared processes: so os processos criados no Oracle para gerenciamento e funcionamento
da instncia que ir controlar o banco de dados. Eles tem atividades especificas e trabalham
para a manuteno da instncia como um todo.
As alteraes efetuadas nos dados do banco de dados so feitas inicialmente no database buffer
com a imagem anterior copiada para a rea de rollback e refletidas na redo log files garantindo com
isso a segurana transacional dos dados. Estes redo log files so espelhados por questes de
segurana. Os control files no so espelhados mas deve possuir mais de uma cpia, tambm por
motivos de segurana. Para verificar quantos control files existe utilizem a view v$controlfile atravs
Pgina 108
ACADEMIA BASIS
de sql ou da ST04. Para criar mais uma cpia do control file, copie o arquivo para o local desejado e
altere o parametro control_file no initSID.ora acrescentando o novo caminho, tudo isto com o oracle
no estado NoMounted. Se for necessrio acessar o controlfile com o banco for a do ar o estado do
banco deve ser Mounted.
Os work processes do R/3 se conectam com os shadow processes no Oracle com o usurio
SAPR3. Caso esta conexo caia, os work processes tentam reconexo com o Oracle seguindo a
parametrizao feita nas profiles (default ou instance) atravs das variveis rsdb/reco_trials e
rsdb/reco_sleep_time. Uma instncia Oracle aceita 3 tipos de conexes de seus clients: dedicated,
que a utilizada pelo R/3, Combined e Multi-thread.
Os principais problemas de performance esto associados a shared pool (shared sql area e row
cache), ao uso dos data buffers e a redo log. Outro ponto de preocupao o acesso a disco, sua
estruturao de alocao e a possvel conteno causada pelo acesso ao disco.
Obs: Conceito Importante - O check point uma marca de sincronismo entre todos os datafiles e
a online redo logfiles. Sempre que ocorrer um switch no online redo logfiles gravado um check point
para garantir a segurana e sincronismo. Se o banco estiver em archivelog mode, a offline redo logfile
archivada no diretrio saparch logo aps o switch.
O banco de dados Oracle passa por trs fases distintas ao ser inicializado:
Nomount phase: a instncia Oracle construda (shared pool) a partir das informaes
parametrizadas no arquivo init<SID>.ora
Mount phase: o control file aberto e suas informaes referentes aos logs e datafiles so
obtidas mas no podemos acessar os datafiles atravs de um sql.
Open phase: todos os files so abertos. Se o ltimo shutdown no foi realizado com sucesso,
o sistema efetua um rollback das transaes inflight e retorna todos os arquivos ao ultimo
ponto de sincronismo (check point). Os processos podem ento comear a submeter requests
ao banco de dados aberto.
O shutdown pode ser realizado em trs formas distintas tambm, a crittio do administrador:
Shutdown Normal: O sistema para de aceitar novas conexes e aps o encerramento de
todas as conexes j efetuadas os datafiles so fechados, o database desmontado e a
instncia finalmente sai (shutdown)
Shutdown Immediate: Apenas os comandos j em andamento so terminados. Todas as
conexes so derrubadas atravs do PMON e caso exista alguma transao inflight, feito
um rollback antes da instncia sair atravs de um shutdown consistente, ou seja, um check
point gravado. No sapdba ainda temos shutdown immediate force que retira o R/3 antes de
derubar o oracle.
Shutdown Abort: Em casos de emergncia apenas, este comando derruba todas as
conexes e retira a instncia do ar colocando o banco de dados em um estado de
inconsistencia. O prximo startup precisar efetuar um recovery das transies que
permanecero inflight, at que a base volte a ser consistente (roll foward)
Uma instncia Oracle possui trs processos cuja finalidade gravar os dados da SGA (shared
global area) para os datafiles
Database writer (DBWR): que assincronamente grava os blocos alterados do data buffer para
os database data files.
Checkpoint process (CKPT): que acelera o processo de gravao dos checkpoints na
Pgina 109
ACADEMIA BASIS
Logwriter (LGWR): que grava em modo sncrono as alteraes efetuadas nos data buffer e
logadas na redo log buffer para os online redo log files
Um banco de dados em produo deve sempre rodar em ARCHIVELOG mode. Neste caso um
quarto processo, o archive (ARCH), grava os online redo log files para a rea de archive da instncia.
Os arquivos do online redo log files funcionam de forma cclica e a cada switch, o file que estava
sendo usado transferido para a rea de archive. O parmetro da init<SID>.ora,
log_archive_start=TRUE ativa o processo de archive na instncia. O processo ARCH se baseia nos
parmetros log_archive_dest (default $ORACLE_HOME/saparch) e log_archive_format para gerar o
archive na offline redo log area. Quando o online redo log file foi transferido com sucesso, o
respectivo file fica disponvel para ser sobrescrito no processo cclico de utilizao dos files.
Caso no haja espao disponvel na offline redo log area para a gravao do novo file, o online
redo log file no liberado e consequentemente ir travar a instncia quando o ciclo requisitar
novamente o online redo log file, devendo a rea ser liberada para que o Oracle continua com o seu
funcionamento normal.
Os datafiles que compem o tablespace tambm devero possuir uma estrutura prpria de
$ORACLE_HOME / sapdatan / <name>[d/i]_n / <name>[d/i].datan. O sapdatan
normalmente um mount point (sapdata1, sapdata2, etc.). Caso o tablespace do exemplo acima
tivesse dois datafiles e alocado no sapdata5, os arquivos teriam o seguinte nome:
/oracle/<SID>/sapdata5/ddicd_1/ddicd.data1 e .../ddicd_2/ddicd.data2. Os data files de ndices
obedeceriam o mesmo critrio, apenas o nome seria ddici, e no ddicd (.../ddici_1/ddici.data1)
Pgina 110
ACADEMIA BASIS
Alm dos usurios Oracle SYS e SYSTEM, existem os seguintes usurios no unix :
ora<sid>: usurio unix pertencente aos grupos dba e oper
<sid>adm: usurio unix pertencente ao grupo oper
OPS$<sid>adm: usurio definido no oracle como identified externally
O mecanismo de conexo dos work processes com o shadow process no Oracle funciona da
seguinte forma: o work processes tenta a conexo atravs do usurio SAPR3/SAP. Caso a senha
tenha sido alterada, o que aconselhvel, a conexo recusada e o work process tentar uma
conexo atravs do usurio OPS$<sid>adm (que no exige autenticao) e acessa a tabela
SAPUSER (cujo owner o prprio user OPS$<sid>adm) e atravs dela possui a senha para o
O programa chdbpass (no unix) quando utilizado para alterar a senha do usurio SAPR3 j grava
nesta tabela OPS$<sid>adm.SAPUSER a nova senha. O NT que no possui este programa
disponvel o que torna necessrio a incluso manual da senha na tabela quando se altera o usurio
via alter user. A conexo remota dos work processes entretanto com o banco R/3 atravs do user
OPS$ somente se dar se o parmetro REMOTE_OS_AUTHEN estiver setado para TRUE.
NET8 Basis
A comunicao dos work processes com o Oracle se d atravs de comunicao TCP/IP atravs
da rede. A camada Oracle que interpreta e aceita estas conexes o NET8. Para que o NET8 aceite
Pgina 111
ACADEMIA BASIS
conexes atravs da rede, o listener do Oracle precisa estar ativo. O utilitrio lsnrctl80 utilizado no
database server para dar start e stop no processo tnslsnr que executar o servio.
Database Monitoring
Vrias transaes so utilizadas no R/3 para monitorar a base de dados: A DB16 um system
check monitor, a DB12 o monitor de backup, a DB02 a transao utilizada para monitorar os objetos
(tableas, ndices, tablespaces) do banco. Alm destas, a ST04 o monitor de performance e a DB14
o monitor das logs das atividades administrativas do banco.
Pgina 112
ACADEMIA BASIS
Backup Estrategy
Database Backup
A estratgia de backup da base de dados necessria para garantir a recuperao de uma base
de dados que pode falhar por diversos fatores, sejam fsicos (crash de disco), lgicos (operao
indevida nos aplicativos) ou fatores externos (fogo, agua, greve, etc). Atravs de cenrios que iremos
estudar, possvel fazer full recoveries (recuperao total) dos data bases ou ainda recuperaes
point in time (recuperao total em um ponto do tempo passado) a partir de uma boa estratgia de
backup.
Operaes de recovery, por serem crticas, exigem documentao detalhada, estratgia estudada
alm de skill especfico dos administradores de banco de dados. Ou seja, antes de tomar qualquer
ao aps um problema, tenha certeza do que est sendo feito e de que a ao a melhor opo
entre outras analisadas.
Os files que compem uma base de dados Oracle podem ser divididos em cinco grupos:
Os data files so os arquivos que contm os dados da aplicao propriamente ditos.
aconselhvel que sejam protegidos por espelhamento (RAID V ou superior)
Os online redo log files so os arquivos onde so gravadas as logs de transaes no banco
de dados e so espelhadas por definio atravs das mirrlogs
Os control files so os arquivos que possuem as informaes de controles referentes aos
datafiles e a base de dados. O Oracle mantm cpias deste file em mais de um filesystem do
ambiente, definido por parmetro na initSID.ora
Profiles so os arquivos de configurao da instncia oracle
Offline redo log files so as cpias das online redo efetuadas pelo ARCH no momento dos
switch. recomendado que estes files sejam espelhados e, quando transferidos para fita,
sejam replicados em fitas distintas
Um processo de backup de banco de dados copia para outro dispositivo os data files, os online
redo log files, os control files e as profiles. Um processo de backup do offline redo log file copia os
offline redo log files e as profiles para outro dispositivos. Para garantir a integridade fsica da base
de dados ou seja, garantir que as tabelas e blocos estejam fisicamente ntegros necessrio efetuar
logical data checks atravs de ferramentas oracle como o utilitrio dbv (database verify). Temos
integridade das fitas backupeadas necessrio efetuar um physical data
check, que verifica a integridade fsica das fitas gravadas atravs da leitura dos dados backupeados
na fita.
Backup Types
Outro processo para diminuir a janela de backup atravs do paralelismo do backup com a
utilizao de vrios drives de fita. Este processo reduz significantemente o tempo de backup e
restore, sendo porm caro pelo hardware envolvido.
Pgina 113
ACADEMIA BASIS
Backup
ArchiveLog NoArchiveLog
On-Line Off-Line
Data Loss
Vrias so as causas que podem causar a perda de dados em uma base de dados.
podem ocorrer pela deleo indevida de objetos do banco de dados (um data file), um drop em uma
tabela ou ainda por erro de aplicativo que provoca a perda de dados. Erros lgicos so recuperados
um full database restore seguido de um point in time recovery at o momento
imediatamente anterior a causa da perda da informao.
A ausncia de um offline redo log file durante um processo de recovery causar a perda de
todas as informaes subsequentes, j que o processo no permite a aplicao dos offline seguintes
ao que foi perdido. Por este motivo importante a manuteno de pelo menos
redo log files em dispositivos diferentes para garantir uma recuperao com uma salva-guarda de
contingencia.
Uma outra causa de necessidade de recuperao o chamado disaster recovery, efetuado por
causas fsicas, como por exemplo um crash de disco. A manuteno de cpias de backup em cofres
garantem inclusive a possibilidade de recuperao de todo o ambiente computacional em caso de
perda total das instalaes fsicas do cpd.
Backup Recommendations
Alteraes nas estruturas dos arquivos afetaro os restores subsequentes, como ocorre por
exemplo quando um data file acrescentado a base de dados. Processos como este que causam a
backup adicional imediato do banco de dados
para que o processo de recuperao, se houver, no seja afetado pelo diferente estado do banco de
dados. O ponto crtico de uma alterao estrutural do banco de dados a necessidade de ter ao
menos uma cpia do novo datafile e a estrutura gerada no control file. Sem isto impossvel
recuperar o banco na nova estrutura ou fazer um log-foward aps este evento.
Backup Cycle
A SAP recomenda um ciclo de backup de 4 semanas. Isto significa que os offline redo log files
sero backupeados diariamente e mantidos por 28 dias. O backup online deve seguir a mesma regra,
Pgina 114
ACADEMIA BASIS
ou seja uma cpia a cada dia til do ciclo. importante ainda que tenhamos em cada ciclo pelo
menos um backup offline, um check de consistncia do backup e check dos datafiles do banco de
dados. Esta recomendao bsica, sendo o ideal fazer tudo isso pelo menos uma vez a cada
semana. recomendvel tambm que os arquivos do backup online fiquem em fitas diferentes do
backup do offline redo log. Isso viabiliza novas alternativas para os planos de contingencias caso as
fitas tambm apresentem problemas.
Final Recommendations
Utilize as ferramentas providas pela SAP para efetuar o backup (BRBACKUP e BRARCHIVE) e
tenha certeza que elas esto configuradas corretamente. Para um evetunal restore do banco de
dados utilize a ferramenta BRRESTORE. Estas ferramentas que efetuam o backup e o restore
trabalham integradas ao sapdba e se baseiam em logs prprias gravadas no sistema operacional
para direcionar o seu funcionamento.
bom lembrar que alm do banco de dados, necessrio manter backup consistente de outros
objetos R/3, tais como archiving, interfaces, executveis e do sistema operacional. No adianta muito
ter o backup da base de dados se no tivermos o R/3 e o Oracle instalados e com os arquivos de
Pgina 115
ACADEMIA BASIS
Tape Management
Tape Pools
O nmero de fitas utilizadas no pool do BRBACKUP depender de vrios fatores, como tamanho
do banco, durao do ciclo, capacidade das fitas, frequencia e paralelismo dos processos de backup.
J o nmero de fitas do pool utilizado pelo BRARCHIVE depender do tamanho do ciclo, nmero de
redo logs criadas no ambiente (atualizaes), capacidade das fitas e frequencia dos offline redo
backups.
Tape Initialization
O padro de nome a ser utilizado nas fitas <SID><B|A>99 onde o B|A representa o grupo onde
ela ser utilizada (backup ou archive) e 99 um nmero sequencial. O nome das fitas que esto
disponveis para utilizao esto nos parmetros volume_backup e volume_archive do init<SID>.sap.
Tape Locking
O mecanismo de lock protege a fita de sobre escrita. Este mecanismo funciona baseado no
parmetro expir_period que fornece o ciclo de proteo da fita baseado no timestamp do ltimo
backup l gravado (informao no label). Este mecanismo denominado
O BRARCHIVE pode se basear em informaes de suas logs para efetuar o lock lgico, podendo
desta forma ser executado mesmo quando o banco se encontra offline. A fita seguinte a ltima
utilizada no pool a selecionada para utilizao.
Tape Selection
Pgina 116
ACADEMIA BASIS
volume_archive. A chamada destes programas com a opo q permite verificar qual ser a
prxima fita selecionada para uso. Se for necessrio utilize a opo para verificar se
a fita que est montada a fita esperada pelos utilitrios.
mecanismo manual de seleo atravs da opo SCRATCH. Quando uma fita inicializada
com o nome SCRATCH inserido no sistema, o BRBACKUP e o BRARCHIVE a aceita em
substituio a fita requisitada e grava o novo label nela antes de comear a gravao. til
por exemplo para substituir uma fita do pool danificada. Alternativamente, possvel substituir
o pool de fitas informado no init<SID>.sap pelo parmetro SCRATCH. Neste caso o sistema
no sugere uma fita, apenas pede uma cujo operador fica responsvel pela manuteno do
seu schedule. Ainda neste caso os mecanismos de lock funcionam apenas para proteo de
uso indevido das fitas
mecanismo de seleo externa utilizado atravs da opo v e til quando um shell ou
produto externo utilizado para gerenciamento das fitas. O label neste caso tambm ser
checado pelos mecanismos de lock lgico. Todo este processo utiliza uma outra ferramenta de
interface com o mundo externo que o BACKINT.
Tape Layout
Pgina 117
ACADEMIA BASIS
Utilitrio SAPDBA onde possvel ativar backups espordicos de forma interativa por menus e
vrias outras operaes de administrao e operao do oracle
BRBACKUP e BRARCHIVE onde e possvel realizar backups a partir de linha de comando
Alguns dos parmetros podem possuir valores default definidos na profile init<SID>.sap, como por
exemplo o tipo de compresso, comando para compresso, utilitrio para cpia, dispositivo a ser
utilizado, etc. Os utilitrios brbackup e brarchive atualizam as tabelas SDBAD e SDBAH, checa o lock
de fitas e gera logs especficas das atividades efetuadas sempre levando em conta a parametrizao
feita neste arquivo.
tape_size Parameter
O parmetro tape_size da init<SID>.sap define o volume de dados que cabe no modelo de fita
utilizado tanto para o BRBACKUP quanto o BRARCHIVE. Este parmetro importantssimo j que a
sua m especificao pode causar mal funcionamento do processo de backup. Atravs da
especificao do parmetro tape_size os utilitrios de backup (BRBACKUP e BRARCHIVE) calculam
o volume de dados que pode ser enviado para cada fita, dimensionando desta forma o nmero de
fitas que sero necessrias durante o processo. Quando mal dimensionado pode causar o
desperdcio de mdia ou, pior ainda, erro no processo de gravao. O utilitrio dd utilizado no
processo de cpia acusa erro quando atinge o end-of-tape. J o utilitrio cpio, desde que no esteja
trabalhando em modo parallel, consegue passar os dados para um volume subsequente, porm este
volume no ser reconhecido pelas ferramentas de gerencia de fitas por ter sido requisitado ao longo
do processo e no possuir o arquivo de identificao da fita (.tape.hdr0). O ideal portanto que este
10% menor que a capacidade real da fita, como margem de
segurana.
Quando utilizamos compresso por hardware, o valor do tape_size dever ser ainda um pouco
mais folgado, uma vez que a taxa de compresso varia dependendo do tipo de dado armazenado. A
nota 8707 d todos os detalhes sobre esta especificao de tape_size.
Para distribuir os files pelas fitas, o brbackup utiliza informao da dos files.
Este clculo da taxa de compresso dever ser efetuado uma vez a cada ciclo atravs do comando
. Quando utilizado tape stations com hardware compression, o parmetro
compress_cmd da init<SID>.sap dever ser setado para compress b 12 c $ > $ (em unix). A
compresso por software efetuada no diretrio especificado (compress_dir) e consumir ciclos de
Um backup online executado com o banco de dados ativo causando durante o processo uma
certa concorrncia nos datafiles. Os seguintes processos so efetuados durante o processo.
Salva a sada de um backup control file em disco
Obtm os files names que sero backupeados
Backup do tape header, e das profiles (inits ora, sap e dba)
Coloca os tablespaces em backup mode, efetua backup dos datafiles e retira o backup mode
Backup do control file
Pgina 118
ACADEMIA BASIS
O backup offline efetuado com o database em shutdown, porm o brbackup deixa a instncia no
estado exato em que se encontrava no incio do processo (up ou down):
Start no database, se o mesmo se encontra em shutdown
Obtm os files names que sero backupeados
Shutdown no database
Backup do tape header, e profiles
Backup dos datafiles
Backup dos online redo log files
Backup do control file
Start no database
Backup de logs (reorg.log, struct.log, detail.log, summary log)
Deixa o banco no estado inicial, (up ou down)
* Eventualmente, se o backup offline no for completo os online redo log no sero backupeados
Blocos de dados danificados no banco de dados somente so identificados quando o Oracle tentar
manipular este bloco. O utilitrio dbv da Oracle efetua o check de um datafile quanto a estas
integridades.
Esta verificao lgica da integridade dos dados pode ser realizada em tempo de backup atravs
. Este processo faz com que os files
sejam lidos da fita aps gravados e transferidos para o diretrio de compress (compress_dir) onde
so processados pelo utilitrio dbv da Oracle. O processo alm de detectar blocos corrompidos
garante a disponibilidade da fita. aconselhado que seja efetuado uma vez por semana ou no
mnimo uma vez no ciclo. Como este processo pelo menos duplica o tempo gasto no backup,
possvel adiar a execuo do verify atravs de uma execuo posterior de uma simulao de
BRRESTORE, que pode inclusive ser executado em outra mquina. (Para maiores informaes de
datafiles corrompidos veja a nota 99962).
A opo de verificao da integridade lgica (-verify use_dbv) verifica a integridade dos blocos
Oracle porm no garante que o file gravado na fita seja idntico ao file existente no disco. Esta
verificao da integridade fsica dever ser efetuada uma vez no ciclo, que ocorrer a nvel binrio
com a especificao do parmetro (-verify ou w). Este processo de verificao fsica somente pode
ser executado no processo de backup offline e tambm ir provocar a leitura da fita para que o file
seja transferido para a rea de compress. Este processo duplica o tempo de backup e,
diferentemente do anterior, no pode ser postergado para um posterior BRRESTORE.
O BRBACKUP grava logs em files no diretrio sapbackup e nas tabelas SDBAH e SDBAD que
devem ser checados constantemente. Os logs gravados obedecem a um padro prprio de
nomenclatura (b<timestamp>.<ext>) cuja extenso depende do tipo de backup selecionado. As
transaes DB12 e DB13 tambm permitem acompanhar a execuo dos backups
O processo Oracle ARCH responsvel pela movimentao as Online redo log files durante o
switch de log. Estas logs so transferidas para a rea saparch e devem ser transferidas para fitas de
tempos em tempos. Este processo denominado Offline redo log backup e efetuado pelo programa
BRARCHIVE. O BRARCHIVE loga o status dos offline redo log files em um arquivo denominado
arch<SID>.log, que se localiza na saparch e grava linhas referente s atividades executadas com os
redo log files :
ARCHIVED: estado indicando que o file foi arquivado
SAVED: indicando que uma gravao para fita foi efetuada
COPIED: indicando que uma segunda cpia foi efetuada
DELETED: indicando que o file foi deletado do diretrio
Pgina 119
ACADEMIA BASIS
O BRACHIVE possui uma serie de opes para o backup dos archive logs. A SAP aconcelha a
no BRARCHIVE que faz com que esta gerencia de backup duplo
de offline redo log files com posterior deleo seja efetuado automaticamente. Outra boa opo e
a opo f (fillup) onde o brarchive grava os files e continua verificando a saparch de tempos em
tempos. Qualquer offline que aparea ento gravado at que a fita esteja cheia.
Como no BRBACKUP, devemos utilizar a opo verify ou w para efetuar um check fsico dos
arquivos gravados e recomendado que seja efetuado uma vez no ciclo.
A monitorao do processo de offline backup dever ser efetuado atravs da transao DB12 e
atravs da monitorao do arch<SID>.log no diretrio saparch. Atravs da
forar a gravao de mais informaes na log.
Os logs gerados tanto pelo BRBACKUP quanto pelo BRARCHIVE so utilizados posteriormente
pelo SAPDBA para tomar as aes corretivas e parametrizar o BRRESTORE. Estes files porm vo
se acumulando nos diretrios e precisam ser eliminados de tempos em tempos. O SAPDBA possui
clenup no s destes logs como tambm dos traces e logs geradas pelo
Oracle e pelo prprio sapdba. A limpeza dos logs de backup e archive se baseia nos parmetros
expir_period_* da init<SID>.dba. Estes parmetros devero ser adaptados de acordo com o ciclo de
backup adotado na empresa. A chamada a estas funes poder ser executado interativamente via
em linha de comando ou via algum utilitrio de
agendamento do sistema operacional.
Freespace Administration
Os offline redo log files so transferidos para a rea de archive saparch atravs do servio Oracle
ARCH. Se estes arquivos no forem backupeados para fita e deletados, a rea poder estourar, o
que causa a parada do Oracle conhecida como archiver stuck. Neste caso a instncia para por no
poder sobrescrever um online redo log file ainda no transferido para a rea de offline. Este problema
somente ocorre se o ARCHIVELOG mode estiver ativado, o que padro em ambientes produtivos.
Atravs da DB12 deve-se monitorar a rea livre no diretrio (ou atravs de df k) e tomar medidas
preventivas (archive) antes que o problema ocorra.
Outra soluo que pode ser adotada a definio de um arquivo dummy grande o suficiente para
que, em caso de archiver stuck, ele possa ser removido dando ao sistemas mais alguns minutos
enquanto se processa o archive. Caso o sapdba no mais responda a comandos, ative o brarchive
via linha de comando
One-Run Strategy
A estratgia One-Run backup consiste em efetuar o backup e o archive em uma nica chamada
ao brbackup atravs da especificao de parmetros prprios ( ).
Neste caso apenas uma fita do pool backup (volume_backup) utilizada para armazenar os dois
backups. Esta estratgia porm s pode ser utilizada se o backup dos datafiles e todos os offline
redo log files couberem em uma nica fita. A soluo neste caso o uso de paralelismo no backup
(mais de um drive) ou ento adotar outra estratgia para o backup.
Esta soluo possui o incoveniente dos datafiles e ds offline redo log files estarem na mesam fita.
Alm disso, em caso de um archiver stuck ocorrer, esta opo no poder ser usada, j que o
brbackup tentar se conectar com o banco que se encontra travado.
Further Documentation
Para maiores informaes sobre backup e recover, veja as notas 96896, 19909, 99088, 71058,
8707, 33630, 99962, 23345, 100400 e 83699.
Pgina 120
ACADEMIA BASIS
One-Run Strategy
Consiste em executar em uma nica chamada o backup dos datafiles e offline redo log files.
Principais vantagens:
Atende a maioria das instalaes, sendo portanto recomendada pela SAP
Efetua os dois processos em uma nica chamada, garantindo backups consistentes
Principais desvantagens:
backup e os offline redo devem caber em uma nica fita
um backup online contendo dados logicamente consistentes, o que equivale dizer que todos os
offline redo log files gerados durante o backup tambm sero salvos na mesma fita. Pode ser utilizado
para realizar um point in time recovery. ativado atravs da chamada . Os
offline redo log files gravados neste processo no so documentados no arch<SID>.log, j que so
processados pelo brbackup
Principais vantagens:
Menor janela de backup e restore
uma forma de executar o backup de um ou mais tablespaces por vez ou at parte dos
tablespaces de cada vez, de tal forma que em um intervalo menor que o ciclo adotado, todos os
tablespaces sejam copiados. Durante um recovery com este tipo de backup, todas as offline e online
redo log files geradas desde o incio do primeiro tablespace devem estar disponveis. . ativado
e completado por um brbackup m all f <periodo>.
Principais vantagens:
Menor janela de backup
Principais desvantagens:
Administrativamente mais complexo
Maior tempo de restore
Uma outra opo para diminuir a janela de backup atravs da especificao para copiar apenas
os tablespaces que contenham dados, ignorando os que contm apenas ndices ou estejam vazios. .
ativado atravs da chamada brbackup m all_data
Pgina 121
ACADEMIA BASIS
Principais vantagens:
Diminui o volume de dados que sero backupeados
Principais desvantagens:
Aumenta o tempo de restore j que ser necessrio reconstruir os ndices
Inicialmente o backup feito para uma rea em disco (direcionado pelo parametro
backup_root_dir), que um processo bem mais rpido. Em um segundo step, os arquivos so
transferidos do disco para a fita. ativado atravs da chamada que faz o
primeiro step e para o segundo step b last d tape. Nesta opo tambm podemos fazer o primeiro
step de forma paralela. Para isso basta utilizar o parametro exec_parallel e um conjunto de diretrios
destinos para o backup em disco.
Principais vantagens:
Diminui sensivelmente a janela de indisponibilidade ou concorrncia sobre o database
Um restore pode ter seu tempo sensivelmente diminudo, j que os dados do ltimo backup
permanecem no disco
Principais desvantagens:
necessrio um gasto maior com discos fsicos apenas para o backup
um processo que consiste em copiar toda a rvore do Oracle home para um novo diretrio.
um processo que pode ser utilizado por exemplo para transformar um data base de filesystem para
raw device, e vice versa. ativado atravs da chamada brbackup d disk_copy e parametrizado
pelo parmetro new_db_home da init<SID>.sap.
Principais vantagens:
Diminui a janela de backup (disco para disco) e agiliza um possvel restore
Principais desvantagens:
Investimento em hardware (disco) alm da complexidade administrativa maior
Consiste em abrir o espelho (split mirror) e efetuar o backup a partir de outro host no qual o
espelho ser montado. um processo que reduz drasticamente o downtime durante o backup que
dever estar em backup mode ou offline apenas durante o processo de quebra (split) dos espelhos,
que dura apenas alguns poucos minutos. . ativado atravs da chamada
Principais vantagens:
Baixssimo downtime
No h impacto no database server, j que o backup realizado a partir de outro servidor
Principais desvantagens:
Preo elevado da soluo
Pgina 122
ACADEMIA BASIS
um mecanismo que consiste em um outro server com configurao idntica ao database que
se deseja backupear, permanecendo porm em estado de mount. A partir de um sincronismo inicial,
apenas os offline redo log files so responsveis por ir atualizando (via NFS) a verso do database
da instncia de standby, que possui ainda o diretrio sapbackup compartilhado via NFS. Os offline
backups sero transferidos para a nova instncia atravs do comando .
Na instncia de standby os offline so backupeados com a opo brarchive ssd f m <delay> e
os datafiles com a opo brbackup t offline_standby
Principais vantagens:
No h downtime no ambiente produtivo
Principais desvantagens:
Administrativamente mais complexo e exige investimento alto em hardware para replicar os
ambientes
Alteraes na estrutura do banco produtivo precisam ser replicadas manualmente para o
ambiente de standby
Principais vantagens:
Muito depende da ferramenta utilizada, que pode inclusive oferecer maiores facilidades de
gerenciamento de fitas que as oferecidas pela SAP
Principais desvantagens:
Investimento normalmente elevado em hardware e software
Pgina 123
ACADEMIA BASIS
Database Errors
Os erros que podem ocorrer em aplicativos que utilizam bancos de dados so os seguintes:
Statement errors, que uma tentativa de entrada invlida em uma tabela. O oracle cuida de
abendar a transao e efetuar possveis rollback
Process errors, que uma falha na comunicao entre os processos client e os servios
oracle. Qualquer falha recuperada pelo oracle
Instance error, que pode causar um queda da instncia, mas que recuperada no prximo
startup pelos prprios mecanismos do oracle
User error, que provocado por uma ao acidental, como um drop table ou delete de linhas
indevidamente
Media errors, que so provocados por um crash de disco ou um delete datafile.
Os user e media errors devem ser recuperados atravs da ao do DBA, efetuando operaes
de restore e recovery. O sapdba oferece recursos para a maioria das recuperaes, porm
eventualmente pode ser necessrio utilizar ferramentas Oracle na recuperao
Scenario
Uma instncia R/3 com banco de dados Oracle tem todos os seus datafiles normalmente com o
status online e read/write. A sincronizao das alteraes efetuadas nestes files mantido atravs de
um mecanismo de tempo. O Oracle utiliza o conceito de timestamp para esta sincronizao, que um
inteiro que incrementado durante certas aes que so efetuadas no database. Este valor ento
gravado pelos processos DBWR e CKPT nos header dos datafiles e control files no checkpoint.
O Log Sequence Number (LSN) que incrementado por 1 a cada log switch um exemplo de
dado de sincronizao. O Oracle mantm tambm um nvel mais sofisticado de sincronizao das
transaes atravs so System Change Number (SCN) que incrementado pelo commit ou pelo
processo de checkpoint.
As anlises de cenrios seguintes assumiro que foi executado um full backup no LSN 10 e que
ocorreu um erro posteriormente no LSN 38
O crash ocorrido no LSN 38 causou uma perda da funcionalidade do database, deixando o banco
inconsistente. O partial restore and complete recovery o processo de recuperar o banco de dados
at o momento imediatamente anterior a ocorrncia do erro. O conceito de partial restore consiste
em retornar apenas os datafiles que foram avariados. Aps este retorno o banco perde o
sincronismo e no mais poder ser startado.
Para ressincronizar o banco de dados, o oracle abre o banco em modo mount, avalia as
informaes gravadas no header dos files e comea o recovery requisitando os offline redo logs que
foram gerados desde o mais antigo database file, em sequencia, e reaplica as alteraes logadas
(before images) at sincronizar todos os files com o mesmo SCN. O prximo start do banco ir
efetuar um rollback das transaes que permaneceram inflight neste processo. O banco reaberto,
est operativo e apenas os dados no commitados no momento do crash sero perdidos
Database Reset
Um motivo qualquer, por exemplo um upgrade, deixa o banco em um estado inconsistente que se
percebe somente no LSN 38, e se deseja retornar o sistema para a posio do ultimo offline backup
efetuado(LSN 10). Este processo exige um full offline backup.
Pgina 124
ACADEMIA BASIS
O database reset esta operao de retornar o banco a situao exata do offline backup atravs
de uma operao de full restore. Este processo retorna os datafiles, online redo logs e control files
originais (LSN 10). Como estes files foram todos copiados a partir de um offline backup, o banco
retornado fica com o status consistente (mesmo LSN), no necessitando de nenhum processo de
recovery.
Quando o banco reaberto, ele recomea a criar redo log files a partir do LSN 10. Desta forma
sero regerados os offline redo logs 11, 12, ..., 38, etc. O perigo consiste em se necessitar de um full
restore posteriormente e se escolher os offline redo logs das duas diferentes direes. necessrio
um trabalho administrativo aqui, seja para eliminar as logs antigas manualmente ou providenciar um
novo backup offline to logo a LSN atinja o valor anterior, provendo o sistema de um novo ponto para
restore.
Este processo sempre resulta na perda dos dados gerados aps os backup offline, que so
sobrescritos no processo e suas offline redo logs ignoradas.
Esta uma situao em que se deseja retornar o banco at um ponto imediatamente antes de um
determinado fato ter acontecido (digamos na LSN 26), eliminando assim as suas consequncias
sobre a base de dados. O primeiro passo efetuar um full restore de todos os data files, seja a partir
de um offline ou de um online backup. Os control files neste caso devero especificar a situao
da estrutura do banco no ponto em que se deseja parar o recovery. Se o banco sofreu alteraes
estruturais durante este perodo, necessrio uma anlise e interferncia manual do DBA. O prximo
incomplete recovery. O banco de dados aberto em modo mount e todas as
offline redo log files necessrias at atingir o ponto especificado so requisitadas sequencialmente
e aplicadas na base de dados. Este point in time poder ser um timestamp (recover until time) ou
uma determinada offline redo log (recover until cancel), a critrio do DBA.
Aps um point in time recovery o banco de dados normalmente aberto com a opo de reset
logs (alter database open resetlogs), o que significa que o LSN reinicializado e as redo logs
comeam a ser geradas a partir do nmero 1 novamente. Isto somente no ocorrer se durante o
processo o DBA resolver aplicar todas as logs disponveis, efetuando assim um complete recovery. A
partir deste momento no mais possvel efetuar recovery da base de dados (logs foram
resetadas) e um full backup deve ser efetuado imediatamente.
Qualquer necessidade de restore e recovery deve ser analisado com calma para decidir a melhor
estratgia a ser seguida. Em caso de dvida jamais se deve tomar decises e/ou aes aleatorias.
Decises/aes apressadas e erradas tendem a agravar o problema. Em caso de dvida, sempre
consulte DBAs com experincia em processos de recuperao de bases de dados.
Analise cuidadosamente a causa do problema, os backups disponveis, os offline redo log files
disponveis e comece a desenhar os possveis cenrios de recuperao, decidindo qual deles o
melhor a ser escolhido. Havendo tempo e disponibilidade, faa uma cpia full offline da base de
dados que possibilite retornar o problema se o cenrio de recuperao piorar a situao tomando
Caso o ciclo de backup tenha sido bem estruturado, o DBA tem sempre um grande nmero de
backups disponveis para proceder a recuperao. A opo inicial ser sempre pela mais recente,
O SAPDBA executa o partial restore and complete recovery atravs de seis fases:
1. Check database: check do status dos files do banco
Pgina 125
ACADEMIA BASIS
2. Find backup files: a partir das logs de backup determina aquelas que podero ser utilizada,
sugerindo sempre a mais recente
3. Restore backup files: copia dos database files de volta para o disco
4. Find archive files: determina os offline redo log files necessrios para o recovery
5. Restore archive files: copia os offline redo logs necessrios de volta para o disco
6. Recover: cria recover scripts para efetuar a operao de recover
Este mtodo de recuperao simples e o mais seguro de ser efetuado, j que se aplica a maioria
dos casos de perda de dados. Se os control files ou os online redo log files foram perdidos, verifique o
help do R/3 (DBA Oracle) pois existem outros mecanismos mais rpidos para corrigir este problema
ao inves de voltar um backup.
O processo de reset database atravs do sapdba com um full offline backup ir sobrescrever os
datafiles, control files e online redo log files e permite que aps o restore o banco seja aberto em
mount e o DBA proceda um recover a partir do svrmgrl (server manager). Neste caso especifico,
operao manual do svrmgrl, no chamamos de database reset mas esta pode ser uma opo para
Quando se efetua um reset database a partir de um online consistent backup os data files e control
files so sobrescritos, assim como todas as offline redo log files, devendo portanto ser salvas
anteriormente pelo brarchive, conforme aconselhado pelo sapdba. Posteriormente o banco ser
aberto com a opo resetlogs.
Esta a opo do sapdba que corresponde ao point in time recovery. Como este processo
envolve a perda de dados, um full offline backup recomendado antes de iniciar o procedimento,
alm de salvar todos os offline redo log files. Este processo poder partir de um full offline, full online
ou online consistente backup. Caso se tenha efetuado uma alterao na estrutura do banco,
recomendado que se faa um backup da estrutura alterada para que no caso de um restore e
recovery as alteraes possam ser reaplicadas a partir da sua log no sapreorg.
Pgina 126
ACADEMIA BASIS
Storage Management
Space Management
Fragmentations
As linhas de dados das tabelas e ndices vo ocupando os data blocks e quando h necessidade
segmento NEXT. Estes segmentos no necessariamente estaro
contguos ao longo do tablespace, o que causar a denominada external fragmentation ou
fragmentao a nvel do tablespace.
Tabelas que contm raw fields, colunas opcionais ou registros de ndices so armazenados de
forma compactada. Com isto nem todas as linhas dentro de um data block possuem o mesmo
tamanho. A deleo de linhas destes objetos ir produzindo gaps internos nos data blocks
denominados internal fragmentation ou fragmentao a nvel da tabela.
A gerencia dos data blocks que esto disponveis para inserts executada atravs de uma tabela
denominada free list. A m especificao destes parmetros para determinados objetos poder
causar uma grande movimentao dos data blocks nesta free list, o que ruim para a performance. A
Oracle recomenda que a diferena entre o PCTFREE e o PCTUSED seja de pelo menos de tamanho
suficiente para caber uma linha. Isto significa que basta um delete para que o data block retorne para
a free list. A SAP utiliza como padro os valores de 10% para o PCTFREE e 40% para o PCTUSED..
O check database efetuado pelo sapdba efetua uma srie de verificaes na base de dados e nas
configuraes do Oracle que cobrem a quase totalidade dos problemas comuns que podem ocorrer
no dia a dia de um DBA Oracle com o R/3. Atravs da DB13 deve-se schedular este check dirio
Pgina 127
ACADEMIA BASIS
(atravs do comando sapdba check) para monitorao da base de dados. Os dados analisados so
carregados na tabela DBMSGORA e podem ser monitorados atravs da DB16. Os parmetros
utilizados para comparao durante o check pdem ser configurados atravs da transao DB17.
Tablespace Extension
O critrio de alocao de data blocks dos objetos Oracle definido a partir dos parmetros
INITIAL, NEXT e MAXEXTENT. O INITIAL define a alocao inicial, NEXT o tamanho das alocaes
next que podero ocorrer MAXEXTENTS vezes. Devemos sempre lembrar que uma definio destes
parmetros que atendia uma determinada tabela/ndice, pode se tornar obsoleta a medida que uma
tabela comea a crescer. Por exemplo, um alocao NEXT de 16K faz sentido para uma tabela de
100K de tamanho, mas se torna completamente sem sentido quando esta tabela tem por exemplo
1G. O R/3 mantm uma tabela denominada TGORA (ou IGORA para ndices) que contm
especificao da parametrizao para diversos ranges de tamanho de tabelas/ndices. Estas tabelas
so organizadas por categorias de tabelas, de acordo com o atributo especificado para cada tabela
no dicionrio de dados (SE11). Estas tabelas com seus ranges limitados de valores STORAGE
colocam ordem nos valores dos extents alocados nos tablespaces permitindo que um database v
sempre gerando gaps de tamanhos mltiplos que podem ser reaproveitados de forma otimizada por
Para auxiliar a tarefa de adaptao contnua dos parmetros de storage dos objetos da base de
dados, o sapdba possui a opo next que percorre todos os objetos e, atravs de um algortmo
prprio adapta os parmetros de storage destes objetos para os valores encontrados nas faixas
destas tabelas. Esse processo fundamental para a gerencia de fragmentao dos tablespaces e
deve ser efetuado regularmente em uma base de dados.
A transao DB02 permite a monitorao das tabelas e ndices da base de dados do R/3. Os
dados exibidos nesta transao so recolhidos pelo report RSORATDB na tabela MONI. Este
programa deve ser schedulado para ser rodado pelo COLLECTOR_FOR_PERFORMANCE
MONITOR. Este coletor roda de hora em hora e se baseia na tabela TCOLL para verificar o schedule
de vrios reports e dispara-los conforme especificao. O RSORATDB normalmente tem schedule
dirio na TCOLL. Atravs da DB02 tambm podemos monitorar objetos crticos (cuja prxima
alocao de extent no encontrar espao disponvel no tablespace), objetos com elevado volume de
fragmentao (muitos extents), taxa de crescimento, entre outros dados.
O Oracle analyse utilizado para atualizar as estatsticas referentes as alocaes de storage, grau
de fragmentao e distribuio dos dados. Estas informaes sero utilizadas pelo CBO Cust
Based Optimizer. O utilitrio poder ser schedulado via sapdba atravs da opo analyze.
possvel ainda analisar tabelas individualmente pelo sapdba ou atravs da DB20.
O processo de anlise pode ser executado em modo ESTIMATE (amostragem) ou COMPUTE (full
anlise). Os ndices e seus dados so analisados por ANALYSE INDEX VALIDATE STRUCTURE,
porm este mtodo efetua um lock nos objetos durante a anlise.
Durante a anlise da fragmentao interna atravs dos relatrios gerados pelo mtodo analyze,
verifique sempre se a diferena entre EMPTY e NEVER_BEEN_USED. Diferenas grandes indicam
fragmentao. Grande diferena entre USED_BY_BTREE e USED tambm indicaro fragmentao
Pgina 128
ACADEMIA BASIS
Reorganization
Basics
Atravs do sapdba, a reorganizao efetuada em duas fases: na primeira cria os scripts que
executaro os passos a serem executados para aquele mtodo de reorganizao escolhido e verifica
se existe rea suficiente nos filesystems. Na segunda fase do processo estes scripts so iniciados em
uma sequncia por ele estabelecida e executam a reorganizao.
Entre estas duas fases o DBA pode determinar o start imediato (em foreground ou background),
ou se deseja postergar o start para mais tarde. Esta ltima opo pode ser utilizada por exemplo por
DBAs experientes que desejam alterar os scripts criados para manipulao dos parmetros de
storage dos objetos, por exemplo. Sempre que se efetua uma reorganizao de tabelas, os seus
respectivos ndices tambm sero reorganizados. O inverso no verdadeiro
Existem vrios tipos de reorganizao que podem ser manipulados pelo sapdba:
Reorganizao de um nico objeto: utilizado para eliminar fragmentao interna, reduzir o
nmero de extents ou movimentar objetos entre tablespaces
Reorganizao de uma lista de objetos: reorganiza uma lista de objetos especificados em
um arquivo ASCII, localizado no diretrio de trabalho
Reorganizao de tablespace: reorganiza todos os objetos pertencentes ao tablespace,
mantendo a estrutura de datafiles
Reorganizao de tablespace com datafiles: reorganiza todos os objetos do tablespace
permitindo ainda a realocao dos seus datafiles.
Movimentao ou renaming de datafiles, que no encarado como um processo de
Pgina 129
ACADEMIA BASIS
Methods
Options
Durante o processo de reorganizao podemos especificar vrias opes que, salvo algumas
excees, podem ser combinadas entre si:
Compress extents: a fragmentao ser reduzida para apenas 1 extent (INITIAL)
Reduce object size: o sapdba tenta analisar qual a quantidade real de memria necessria e
realoca o novo storage baseado neste valor
Chop = yes: o export dos dados se d atravs de um pipe file, permitindo splitar o dumpfile
em vrios arquivos menores, atendendo as limitaes do sistema operacional (2G em alguns
casos). Esta opo estar disponvel a partir do momento em que se especifica o parmetro
chop_util_name na init<SID>.dba
Compress = yes: um dumpfile do export comprimido
Parallel export/import: o export e import distribudo atravs de vrios processos paralelos
ORACLE parallel clause: utiliza a facilidade oracle para acelerar o processo de
reorganizao
Pgina 130
ACADEMIA BASIS
Performance Monitor
Performance Issues
Cost-Based Optimizer
O CBO um mecanismo introduzido no Oracle que determina a estratgia mais eficiente para
acessar um determinado dado, baseado nas tabelas especificadas, nos campos informados na
clusula WHERE e nos ndices disponveis nas tabelas. O CBO computa todas as estratgias
disponveis e escolhe aquela que sai mais barata em termo de acessos. Para ter parmetros de
comparao, o sistema precisa se basear em estatsticas atualizadas referentes s tabelas e ndices,
como por exemplo nmero de linhas, nmero de data blocks e nmeros de valores distintos em cada
coluna da tabela. Estas estatsticas ficam armazenadas no dicionrio do Oracle e so recolhidas
Informaes antigas ou inexistentes, assim como informaes incorretas sobre a distribuio dos
dados poder induzir o otimizador a tomar decises incorretas sobre o melhor caminho a seguir.
Estes problemas porm so facilmente resolvidos atravs de um refresh das estatsticas ou ainda
atravs de um ajuste fino no procedimento SAP para as rotinas de analyse efetuadas atravs do
processo two-phase (check e analyze). Os processos mais crticos de performance podero
eventualmente ser ajustados atravs de mudana no critrio de cust-based para rule-based ou
finalmente por alteraes no aplicativo..
A SAP recomenda que somente se utilize as ferramentas SAP (SAPDBA e CCMS) para atualizar
as estatsticas da base R/3, j que existem regras particulares que quando no forem seguidas
podero introduzir srios problemas de performance. Com a finalidade de diminuir o tempo envolvido
no refresh das estatsticas, a SAP introduziu o conceito da estratgia two-phase. Este procedimento
consiste em uma primeira passada onde ser determinado quais objetos necessitaro de refresh e
numa segunda fase apenas os objetos selecionados sofrero o refresh. O comando a ser executado
. Ele determina quais tabelas precisam de
refresh e armazena sua deciso na tabela DBSTATC. Esta deciso tomada baseado no critrio de
que o nmero de linhas da tabela alterou em mais de 10% (para tabelas pequenas) ou 100% (para
tabelas grandes). A segunda passada feita pelo comando e
efetivamente atualiza os dados estatisticos que forem necessrios (normalmente para os objetos com
flag ativo na dbstatc).
A tabela DBSTATC contm campos como o nome do objeto, o mtodo utilizado (se estimate ou
compute), o percentual ou nmero de linhas a ser analisado e ainda um tag indicando se a tabela
necessita de refresh. A transao DB21 permite efetuar alteraes e novas entradas nesta tabela. A
nota 122718 indica regras e tabelas crticas que devero ser observadas.
Pgina 131
ACADEMIA BASIS
Repetindo o processo :
A primeira fase (sapdba checkopt) grava uma log no diretrio sapcheck (<timestamp>.opt) e
deve ser monitorado aps a execuo pela transao DB14
A segunda fase (sapdba analize DBSTATCO) efetua um refresh apenas dos objetos que
estiverem flagados na DBSTATC. Aps a execuo, as linhas permanecero na tabela
DBSTATC porm o flag de refreshable retirado
Memory Configuration
A System Global Area do Oracle (SGA) contm o data buffer e o shared pool (shared SQL area e
o row cache)
Data buffer
Quando um shadow process requisita um dado poder ocorrer um physical read (o dado trazido
do disco) ou um logical read (o dado j se encontra no data buffer). Um data block acessado no buffer
1000 vezes mais rpido que quando trazido do disco. O processo de atualizao altera o dado no
data buffer e a transferncia para o disco feita mais tarde, assincronamente. A transao ST04
exibe os dados referentes a performance do banco de dados e dever ser utilizada nas anlises
relativas ao banco.
O conceito de Hit Ratio (Quality) o percentual de logical reads sobre o total de reads (logical +
physicals). Este valor dever estar acima de 94%, ou seja, em 94% dos casos o dado j deve estar
no data buffer. Uma anlise deste valor somente tem validade algumas horas aps o statup do
database, quando o data buffer j atingiu uma estabilidade de runtime. Uma boa regra aguardar
pelo menos at o nmero de reads ultrapassar os 20.000.000. Um valor abaixo de 94% indica uma
necessidade de aumentar o nmero de blocos (parmetro DB_BLOCK_BUFFERS), o que poder
inclusive forar um incremento na memria RAM para no aumentar a paginao (analise a
paginao pela ST06). Antes porm de sair aumentando o valor do data buffer indiscriminadamente
interessante olhar os aplicativos para encontrar comandos SQL ineficientes. A R/3 possui ferramentas
de analise de performance que auxiliam esta tarefa.
Cada plataforma de hardware possui um valor mximo de memria que pode ser alocada na
shared memory, no devendo a soma do data buffer, log buffer e shared pool exceder este valor
Shared pool
A shared pool composta da Shared SQL Area onde os comandos SQL so armazenados para
serem compartilhados pelos shadow prcesses e da Row Cache, que armazena informaes do
dicionrio Oracle, incluindo aqui as informaes de estatsticas que sero utilizadas pelo CBO. O
conceito de user call so os acessos efetuados pelos shadow processes na shared SQL area.
Recursive calls so as leituras fsicas efetuadas pela row cache ao dicionrio Oracle. Os principais
pontos a serem observados em relao a shared pool so :
A relao entre os user calls e os recursive calls dever ser de pelo menos 2 para 1.
A Quality (logical/total reads) do data dictionary cache dever ser maior que 80%
A pinration dever ser maior que 95%
A relao reload/pins dever ficar abaixo de 1%
Pgina 132
ACADEMIA BASIS
Valores inferiores nestes parmetros indicam uma necessidade de aumentar a shared pool area.
Como no existe parmetros especficos para SQL area e row cache separadamente, o aumento
dever ser de toda a rea, utilizando o parmetro SHARED_POOL_SIZE. As mesmas
recomendaes descritas acima para o data buffer se aplicam ao incremento dos valores desta rea
Application Design
Lockwait situations
Um lockwait ocorrer quando diversos work processes requisitarem um lock sobre o mesmo
objeto. Para manter consistncia, o RDBMS colocar o lock para aquele que efetuou primeiramente o
request. Este procedimento poder causar gargalos na fila de queue do dispatcher do R/3 uma vez
que os demais work processes que se encontram em wait estaro com o work process ocupado,
apesar de no estarem processando nenhuma transao, mas em wait por um determinado dado.
A transao DB01 o Exclusive Lock Monitor do R/3 que permite monitorar o sistema e verificar
quem est postando locks e quem est em wait. Para diminuir a conteno por lockwait necessrio
muitas vezes reanalisar o aplicativo para emitir commits mais frequentes e garantindo que as
transaes segurem os objetos pelo menor tempo possvel. Locks podem tambm ser evitados se os
processos puderem ser schedulados para rodarem em diferentes horrios
So comandos que poderiam ser evitados por uma reestruturao do programa evitando
comandos dentro de loops WHILE. A opo detail analysis da ST04 permite listar os comandos SQL
na shared SQL area. Procure por comandos que so muito executados e que possuam baixa taxa de
buffer gets por record. Estes comandos devero ser mais cuidadosamente analisados
Comandos SQL caros possuem um elevado volume de buffer gets comparado com o valor de total
reads do data buffer, devendo esta proporo estar abaixo do 5%. Ou seja, qualquer comando que
provocou mais do que 5% dos reads do data buffer dever ser analisado. Esta anlise passar
certamente por um explain plan para verificar a estratgia adotada pelo otimizador para o acesso.
Estando as estatsticas corretas, este comando precisar ser reanalisado, seja atravs da abertura de
um chamado OSS (comando de programa standard SAP) ou pela verificao se o comando no foi
mal especificado pelo ABAPer. O explain d a opo de explain with hint, que permite analisar outras
alternativas de acesso aos dados
Normalmente este problema ocorrer quando o SQL no utiliza os ndices corretamente. Estes
comandos aparecem sempre com um nmero elevado de bufgets/record. A causa deste problema
varia desde uma ausncia de ndices at em problema com as estatsticas da tabela que esto
direcionando o otimizador para um caminho errado. ndices standard do R/3 somente devero ser
alterados com o aval da SAP. O comando explain plan mostra se o ndice est sendo utilizado ou no
no comando SQL.
Uma das causas mais provveis deste problema o fato do ndice estar definido no dicionrio do
R/3 mas no est ativado, por exemplo devido a uma reorganizao que no foi at o final. Atravs
da DB02 possvel exibir os missing indexes. Esta informao fica disponibilizada a partir do report
RSORATDB que triggado pelo performance collector (RSCOLL00)
Pgina 133
ACADEMIA BASIS
I/O contention
Ocorre quando numerosos shadow processes e o DBWR acessam o mesmo disco ao mesmo
tempo. Comandos SQL caros ou mal qualificados aumentam a probabilidade desta conteno por
produzirem volumes elevados de I/O. Aplicativos mal projetados frequentemente causam este
problema
A transao ST04 (Detail analysis File system requests I/O per path) permite analisar os
mount points separadamente e com isso identificar hot spots disks e planejar remanejamento de
datafiles. Com volumes elevados de I/O, necessrio certificar-se de que o read time no exceda 30
ms e o write time, 50 ms. Filesystems times que desviam mais que 20% da mdia sero possveis hot
spots. Estes valores podero variar entre as vrias plataformas e hardwares disponveis, cabendo
talvez uma anlise mais cuidadosa destes targets.
A conteno de I/O solucionada atravs da identificao dos hot spots e a posterior distribuio
dos datafiles entre os dispositivos e canais. A opo total per device um excelente auxlio nesta
O sistema Oracle efetua a gravao de checkpoints, que consiste na sincronizao dos SCN no
header de todos os seus arquivos (datafiles, redo e control files). Alguns eventos associados a carga
elevada no sistema podem causar erros neste processo, que so chamados Checkpoints Not
Complete. O erro ocorrer quando o checkpoint ainda se encontra em processamento e o switch de
log atinge uma log que ainda no conseguiu ser arquivada. O Oracle congela as atualizaes e
aguarda que o processo de checkpoint finalize, os archives sejam efetuados e consequentemente
exista online redo disponvel para gravao.
Os rollback segments so utilizados no Oracle para gravar imagens before que podero ser teis
para desfazer transaes no commitadas. Outra funo destes rollback segments no Oracle
garantir consistncia na leitura de dados . Isto significa que se um determinado registro foi alterado
por uma transao depois que outro query iniciou um processamento, quando chegar o momento da
requisio do registro o Oracle entrega a imagem before e no a atual ou seja, aquela que estava
corrente no momento em que a transao iniciou e ficou armazenada no rollback segment.
Estas imagens permanecero no rollback segment mesmo aps o commit. O problema que pode
ocorrer um rollback segment commitado pode vir a ser reutilizado por outra transao posterior.
Caso o query chegue na linha alterada, ao verificar o rollback para buscar a imagem consistente para
leitura encontrar o bloco sujo e consequentemente no poder mais fornecer a imagem before.
Neste caso a transao que estava efetuando o query recebe o abend ORA-1555 (snapshot too old).
Para evitar a ocorrncia de ORA-1555, preciso tentar evitar que programas de query sejam
schedulados durante perodos de alto volume de atualizao, tentar otimizar o runtime dos programas
que abendam com 1555 ou, se nada mais funcionar, aumentar o nmero (preferencialmente) ou o
tamanho dos rollback segments
Pgina 134
ACADEMIA BASIS
Caso o somatrio dos WAITS de todos os rollback segments representem mais do que 1% do
somatrio dos GETS isto indica conteno, ou seja, necessrio definir mais rollback
segments
valor OPTIMAL representa a marca at onde os rollback segments que sofreram alocao de
extents iro encolher na operao de shrink
valor HWMARK a marca dgua do segmento. um bom indicativo de qual dever ser o
valor do parmetro OPTIMAL para eliminar os extend/shrinks, porm deve ser analisado com
cuidado pois pode se tratar de uma demanda isolada
Os campos EXTENDS e SHRINKS representam o nmero de alocaes/dealocaes acima
do valor OPTIMAL. Para calcular o valor do OPTIMAL ideal, utilize a frmula: new OPTIMAL
= OPTIMAL + (EXTENDS SHRINKS) * NEXT. Com isto ser especificado um valor para o
optimal que no causar mais os extends/shrinks.
volume ideal de alocao de extents dever ficar na casa dos 20. Com isto podemos calcular
os parmetros de storage: INITIAL = NEXT = OPTIMAL/20
Fragmented indexes
Para analisar os ndices, utilize a transao DB02, selecione o ndice desejado e em seguida
utilize o caminho: Detail analysis Analyse index Storage quality. O valor encontrado para a
qualidade do ndice dever ser superior a 50%. possvel tambm disparar um validate index (em
modo dialog ou background) para analisar o nmero de nveis das folhas.
Pgina 135
ACADEMIA BASIS
Quinta Semana
Top 10 Problems
Esta seo ir listar os 10 problemas mais comuns que podem ocorrer na administrao de uma
base de dados Oracle com o R/3. O principal objetivo reconhecer, solucionar e principalmente
prevenir a ocorrncia de tais fatos
Uma utilizao criteriosa e diria do sapdba check ajuda a preveno dos principais erros no
Oracle. necessrio ainda o monitoramento constante das transaes ST22, SM21 e dos traces e
logs do R/3 e de suas ferramentas
O travamento de uma instncia Oracle devido a incapacidade de gravao das offline redo log files
ocorre principalmente quando a rea saparch atinge os 100% full. Quando o archiver stuck ocorre, o
Oracle grava relata os error ORA-255 e ORA-272 no alert_<SID>.log
Reserve sempre um espao de pelo menos 200MB quando especificar o tamanho da fita para
eventuais erros no dimensionamento dos files durante o brbackup. Este valor do tape size
especificado em MB ou GB e equivalem ao clculo do tape length * write density, que variar de
modelo para modelo de fita e do processo utilizado na gravao, se comprimido ou no
Quando um tablespace backupeado em modo online, necessrio que o mesmo seja colocado
em backup mode atravs do comando begin backup antes de iniciar a cpia. Este modo
permanecer at o final da cpia quando ento o tablespace retirado do backup mode atravs do
comando end backup
A tentativa de retirar um database com shutdown immediate pelo sapdba, o mesmo verifica
antes e coloca qualquer tablespace que se encontre em backup mode para end backup antes
de efetuar a operao.
A ferramenta check database do sapdba efetua este check e, melhor ainda, pergunta ao
operador se deseja retirar o end backup do tablespace e efetua a operao
Caso a instncia DB caia mantendo algum tablespace em backup mode (seja por power fail
ou shutdown abort), o startup ir falhar com a mensagem ORA-1113. Neste caso ser necessrio
efetuar um partial restore and complete recovery dos tablespaces afetados
Pgina 136
ACADEMIA BASIS
A Tablespace Overflow
A necessidade de mais rea para uma tabela ou ndice no tablespace ocorrer quando o mesmo
precisar de mais data blocks. Esta alocao se dar em rea contgua e no tamanho especificado
pelo parmetro NEXT do objeto. Caso o tablespace no possua esta rea desejada, ocorrer o
erro ORA-1653 (tabela) ou ORA-1654 (ndice) que ser emitido na syslog e no ABAP short dump.
A monitorao constante do critical objects pela DB02 ou do sapdba check ajuda a prevenir
esta ausncia de rea e a tomar as medidas necessrias antes que o erro ocorra.
Para garantir a consistncia na leitura, o Oracle implementa um mecanismo que garante aos
queries submetidos ao banco um nvel de pesquisa que permite obter todos os seus registros
desejados no estado em que estavam no incio do SQL. Este mecanismo funciona atravs do
fornecimento de eventuais valores alterados aps o incio do query com suas imagens before que se
mantm armazenadas nos segmentos de rollback.
Comandos de update que sofreram commit permanecero com seus pointers ainda alocados para
a rea de rollback podendo porm ser sobre escritos por novas transaes, dependendo da
atividade do banco e do tempo que o query permanecer percorrendo a base de dados.
Eventuais comandos que requisitem linhas que foram alteradas (e commitadas) e eventualmente
j perderam sua imagem na rea de rollback, iro receber um erro ORA-1555 indicando snapshot
too old, abortando o processo.
Antes que se parta para uma alterao da configurao dos segmentos de rollback, vale identificar
o comando que esteja provocando o erro e verificar alternativas para a sua execuo, inclusive
planejando o seu schedule para horrios de menor atividade no banco
Pgina 137
ACADEMIA BASIS
Este problema pode ser solucionado atravs do arquivo protocol.ora que pode ser obtido do
sapservX. Em seguida copie este arquivo para o diretrio /oracle/<SID>/network/admin com read
permissions para os usurios <sid>adm e ora<sid> em todos os applications e no db server.
Para que o novo modo se torne operativo, necessrio parar todas as instncias
(application, DB e o listener). Volte o listener, ativ o DB e retorne os applications
O erro ORA-1578 indica uma corrupo de estrutura dos blocos Oracle. Este erro pode ocorrer por
uma falha de hardware e permanecer despercebido at o momento que o bloco seja requisitado, o
que pode ocorrer muito tempo aps a ocorrncia do erro.
Se o problema ocorrer em um bloco de ndice, basta reconstruir o ndice danificado. Table blocks
danificados somente podero ser solucionados atravs de um restore e recover parcial at a
momento do crash, se conhecido.
A demora em perceber o bloco danificado pode gerar consequencias graves, j que muitas vezes
fica difcil voltar um backup antigo sem afetar seriamente o negcio de uma empresa. Alm disso o
Para garantir que os blocos danificados sejam detectados no momento do backup, schedule o
brbackup com a opo use_dbv, como visto anteriormente. Um processo constante de verificao do
banco atravs de ferramentas Oracle (DB verify e dbv) tambm garantem a monitorao constante da
base de dados, minimizando as consequncias de qualquer ocorrncia de blocos danificados.
O erro ORA-600 indica um erro interno Oracle. Procure identificar o primeiro argumento da
mensagem de erro e procure no OSS por ocorrncias do erro.
O CBO determina a maneira mais eficiente de acessar uma determinada tabela baseado em
estatsticas armazenadas no dicionrio Oracle.
Qualquer incoerncia nestas estatsticas causada pela no atualizao dos dados poder
direcionar o otimizador para decises que causaro srios problemas de performance.
Garanta que estas estatsticas sejam atualizadas regularmente atravs do shedule das duas fases
(check e analyse) na DB13.
Pgina 138
ACADEMIA BASIS
Performance Problems
A workload analysis consiste em aplicar mtodos especficos de anlise dos tempos de resposta
em um sistema R/3 para que se encontre gargalos e programas problemas no ambiente conseguindo
com isto efetuar ajustes finos de performance que consigam diminuir o tempo de resposta das
transaes e aumentar o throughput do sistema.
Tempos de resposta ruins devero ser analisados localizadamente (por transao) ou no sistema
como um todo (mdia geral dos tempos de resposta), dependendo da forma como o problema se
manifesta.
Basis Tuning
Uma anlise geral do ambiente tem por finalidade distribuir corretamente a carga do ambiente
entre os servidores de um sistema R/3. Isto significa dimensionar corretamente o hardware, distribuir
os discos e otimizar as definies dos work processes e dos buffer das instncias
Application Tuning
Um tuning localizado de uma aplicao tem por finalidade evitar que programas mal especificados
produzam uma carga desnecessria no ambiente. Esta anlise vai desde a localizao e aplicao de
notas do OSS at a otimizao dos cdigos dos programas desenvolvidos na instalao (programas
Z). Eventualmente esta anlise chega a concluso de que necessrio criar novos ndices ou
bufferizar algumas tabelas do sistema.
Response Times
O tempo de resposta (response time) de uma transao no R/3 o tempo entre a requisio do
usurio ao sistema e vai at o retorno da prxima tela, podendo ser dividido em vrios componentes
individuais que permitem uma anlise mais profunda no componente causador da m performance. O
tempo de transmisso (rede) no computado pelos monitores do R/3:
Wait time: o tempo de permanencia do request na fila do dispatcher desde o momento que
a request chega at a sua atribuio ao work process
Roll in time: o tempo necessrio para efetuar o roll in dos dados de contexto do usurio para
dentro do work process
Load time: o tempo necessrio para carregar os objetos (e eventualmente gera-los) do
dicionrio ABAP para os buffers da instncia
Processing time: o tempo gasto para processamento dentro do work process, equivalendo
a diferena entre o response time e a soma dos demais tempos
Database request time: tempo de processamento dos SQL, que comea quando a requisio
encaminhado ao database interface e termina quando este retorna com o resultado
CPU time: tempo de CPU consumido por todo o processo (consumido pelo roll, load, enq,
processing e db)
Wait time
Os requests encaminhados pelo SAPGUI so colocados em uma fila de espera FIFO pelo
dispatcher. Um elevado tempo de permanncia nesta fila indica indisponibilidade de work process.
Esta indisponibilidade pode entretanto vir de uma pequena definio de nmero de work processes
como tambm pode significar que os work processes no esto sendo liberados com a rapidez
esperada. Elevados wait times merecem uma anlise menos simplista e esta normalmente associado
a problemas generalizados no sistema.
Pgina 139
ACADEMIA BASIS
Roll in time
Roll in a transferncia dos dados do contexto do usurio (autorizaes e ponteiros para as reas
de trabalho) do roll buffer para a roll memory do work process. Ao efetuar esta transferncia tem-se
incio ao processamento do dialog step. Tempos elevados de roll time podem indicar problemas no
gerenciamento de memria do R/3 ou ainda gargalos de CPU para efetuar a operao.
Database time
Quando um dado requisitado via um open SQL, a requisio enviada para o database interface
do work process que efetua o request localmente nos database buffers da instncia ou envia a
requisio para ser processada pelo servidor de bancos de dados. Ou seja, o database time
compreende o tempo desde a passagem do sql para o database interface at a disponibilizao dos
blocos de dados ao work process. Tempos elevados no componente database podem indicar
gargalos na instncia DB, problemas de rede (se outra instncia), comandos SQL caros, falta de
ndices, enfim uma srie de problemas relacionados ao tuning do banco.
Processing time
O processing time definido como o tempo de resposta total menos o wait, database, load, roll e
enqueue time. Pode ser entendido como o tempo gasto dentro do work process para realizar o
processamento ABAP demandado pela aplicao. Tempos elevados normalmente significam loops no
programa eu erro na construo da aplicao.
CPU time
O tempo de CPU consumido pelo work process durante um dialog step computado no CPU time.
Entretanto no s este, no cpu time esto computados todos os tempos gastos por cada um dos
componentes na cpu onde est sendo executado o application. Tempos elevados de CPU indicam
problemas na lgica do programa ABAP, tais como processamento de tabelas muito extensas ou
sobrecarga da cpu em funo de outros processamentos que esto concorrendo na mquina.
Workload Statistics
A proporo apresentada entre o nmero de database calls e os database requests d uma noo
exata da eficincia da buferizao de tabelas, indicando o nmero de requests que tiveram que ser
encaminhadas ao DB server pelo database interface.
As chamadas externas de funes RFC podem provocar roll out do user context para liberao do
work processes. A espera pelo retorno (roll wait) e posterior roll in, todos estes tempos ficam
embutidos no roll time do dialog step. Transaes com elevado nmero de chamadas RFC tendem a
ter um roll time mais elevado que as demais.
Workload Analysis
O workload analysis feito atravs da transao ST03. Esta transao viabiliza a analise da carga
no sistema em qualquer momento no tempo (passado agrupado por periodo ou um snapshot dos
ultimos minutos) Uma anlise geral (a partir da seleo de um perodo de tempo que seja conveniente
para a anlise) pode indicar se existem problemas de performance gerais na instalao, como por
exemplo :
Wait time maior que 10% do response time
Main menu () com tempo de execuo superior a 100 ms
Pgina 140
ACADEMIA BASIS
De qualquer forma temos que ter em mente que os sintomas abaixo normalmente esto
associados a tipos padres de problemas, a saber :
Large roll time problemas com o gerenciamento de memoria do R/3
Large load time - buffers de programas, cua, ou screen esto pequenos
Large database request time gargalo na cpu ou memria na mquina de banco de dados,
problemas de rede, comandos sql caros, locks, ausencia de indices ou estatisticas
desatualizados
Large CPU time comandos sql muito caros em funo de processamento pesado ou
acessos frequentes aos buffers
Processing time muito maior que o CPU time gargalo de cpu, problemas de redes e/ou de
ST03
Wait time > 10% response time
Problema generaliza de performance
Database time > 40% (response time wait time)
Analise detalhada do banco de dados
Processing time > CPU time * 2
Analise detalhada do gargalo de hardware
Load time > 50ms
Analise detalhada da configurao de memoria do R/3
Buffer de programas muito pequeno
Roll-in time > 20ms ou roll-out time > 20ms
Analise detalhada da configurao de memoria do R/3
Problemas com memoria extendida ou roll buffer
Perfil de transao (st03 classificado por temo de resposta)
Programa com cpu alta : cpu time > 40% (response time wait time)
Analise detalhada do trace do abap em questo
Programa com db alto : database time > 40% (response time wait time)
Analise detalhada do sql em questo
Processing times muito superiores ao CPU time indicam gargalos de CPU ou problemas de
comunicao. A opo de transaction profile da ST03 exibe a distribuio dos tempos por transao,
permitindo anlises individualizadas, permitindo efetuar esforos de tuning nas transaes mais
utilizadas. Podemos utilizar a transao STAT exibe estatsticas individualizadas por uma srie de
fatores.
Pgina 141
ACADEMIA BASIS
A transao SM50 permite a monitorao dos work processes de uma instncia R/3. A
monitorao dever se ater aos processos com status running e aqueles com status stopped, que
indicam work process em modo PRIV.
A transao que permite a monitorao do sistema operacional no R/3 a ST06, que exibe
informaes sobre utilizao de CPU, swaps, utilizao de discos e configurao do sistema
operacional. Gargalos de CPU aparecem quando temos menos de 10% idle ou quando o Load
Average indica um valor superior a 2 vezes o nmero total de CPUs disponveis
Problemas de alto consumo de CPU podem ser identificados atravs da anlise dos topCPU
processes, no detail analysis. disp+work so os processos R/3 e ORACLE80 um processo de banco
de dados.
Nesta janela devemos observar os percentuais de utilizao da cpu (devem estar com pelo menos
10% de idle), o load average (indica quantos processos ficaram aguardando por cpu), paginao
(sempre inferior a 10% da memria fsica) ou swap alocado em arquivos e no liberados pelos work
process.
A transao ST02 o monitor dos buffers do R/3, indicando tamanhos, qualidades e percentuais
de ocupao de cada um deles. Devmos observar que o percentual de utilizao dos buffers devem
estar sempre acima de 95% alm do cuidado especial com swaps excessivos e com os possvies
gaps no buffer de programas.
Quando detectamos que a extended memory atingiu 100% de utilizao ( Max use = In memory),
comearo a aparecer contenes de memria para os work processes. Roll area com valores de
Max use superiores ao In memory indicam que a utilizao de roll area teve que ser expandida para
Pgina 142
ACADEMIA BASIS
A memria fsica a memria em RAM instalada na mquina. A rea de swap uma rea em
disco pelo sistema operacional para paginar a memria utilizada pelos processos. quando alocamos
uma memria em um sistema operacional, estamos efetuando uma alocao de memria virtual. O
sistema operacional quem decide se a memria alocada estar em disco ou em memria fsica.
Dependendo do sistema operacional utilizado, a memria virtual ter um valor entre o swap
especificado e a soma do swap com a memria real.
Uma instncia possui duas reas bsicas de memria: local memory e shared memory
Local Memory
a memria associada com cada work process. Esta memria utilizada para:
Executveis
Dados, stack
Buffer para transferncia de dados
Local roll area
Local paging area
Heap
Fazendo parte da memria local mas no diretamente temos a heap area. A heap memory
alocada pelo work process diretamente na rea de swap. Work processes que comeam a utilizar
heap area entram em PRIV mode, desta forma no efetuando mais roll out/roll in, ficando desta forma
Shared Memory
A shared memory o agrupamento das reas globais que sero compartilhadas pelos work
process. Ela subdivida em buffers, roll area, paging area e extended area.
Buffers
Memria alocada na shared memory e que contm objetos globais de todos os usurios e work
processes, tais como programas e tabelas de customizao.
Extended
A extended memory contm dados de contexto associados com a transao de um determinado
usurio, tais como variveis, listas, tabelas internas, etc. Ela alocada a medida do necessrio em
pequenos blocos e preservada de um dialog step para o outro.
Roll
A roll memory alocada no roll buffer e contm a parte inicial do contexto do usurio. Ela contm
ainda os ponteiros para a extended memory que est sendo utilizada pela transao corrente.
Paging
uma rea utilizada pelos work processes na paging area (shared memory) para determinadas
operaes de abap. Ela normalmente est associada a dados relacionados a subfunes abap.
Pgina 143
ACADEMIA BASIS
Allocation Concepts
Os work processes so compartilhados pelos vrios usurios que se conectam a uma instncia.
Este compartilhamento efetuado a cada dialog step (ou chamada RFC) fora o R/3 a manter um
mecanismo que salve os dados do usurio e permita o reinicio do processamento quando solicitado
pelo usurio no prximo dialog step. Estes dados referentes a um determinado usurio denominado
user context area. Este conceito permite por exemplo que um determinado cdigo de material que o
usurio trabalhou em uma transao seja lembrado como default na prxima transao.
O conceito de roll out salva a user context area garantindo assim que os dados de um usurio no
sejam sobrescritos pelos usurios que utilizam o mesmo work process posteriormente. Os dados so
movidos (rolled out) para disco. O prximo dialog step provoca o retorno da user context area para o
work process que ir processa-lo. Este processo denominado roll in.
Existem duas reas no R/3 que sofrem este processo de roll out/roll in. A roll area propriamente
dita contm os dados de contexto do usurio associados a autorizaes, internal tables e report lists.
A paging area contm a memria associada a alguns comandos especficos de ABAP.
A extended memory alocada na shared memria e disponibilizada para os work processes que
podem requisitar pedaos de memria que ficam mapeados nos work process atravs de pointers
armazenados na respectiva roll area. Isto permite diminuir o contexto de roll out/in apenas para
referncias (pointers) extended memory alocada.
Allocation Sequence
A fim de minimizar o volume de dados necessrios para as operaes de roll in/out, o sistema R/3
procura otimizar a alocao de memria atravs de uma metodologia nesta operao. Inicialmente
apenas uma poo mnima da roll area alocada, definida pelo parmetro ztta/roll_first. Quando
este parmetro setado para 1, um mnimo de 100K ser alocado para o processo. Quando o
processo necessitar de rea para trabalho, o sistema alocar memria na extended memory da
shared memory e grava na roll area do work processes apenas um pointer para a rea alocada. Esta
aquisio de memria na extended memory vai sendo permitida at que no haja mais memria
disponvel ou ento quando o work process atinge a sua cota de alocao, definida pelo parmetro
ztta/roll_extension. Esta rea no ser copiada durante o processo de rolagem, mas sim mapeada,
ou seja apenas as referncias (pointers) sero copiados.
Quando se esgota a alocao de extended memory o work process comea a alocar o restante da
roll area disponvel, o que acaba aumentando a quantidade de area sujeita a roll out/in. O limite a ser
ztta/roll_area. O ltimo passo quando se esgota a
roll area alocar memria na heap memory, Quando este passo acontece, o work process entra em
PRIV mode e para de efetuar rolagem da rea de contexto, o que significa que ele permanecer
alocado para o usurio at o trmino da transao. A quantidade mxima de rea que pode ser
alocada na heap area para cada work process definida pelo parmetro ztta/heap_area_dia.
A partir do release 4.0 do SAP os demais work processes, como batch work process, tambm
utilizam este mesmo critrio para alocao de memria.
Quando heap area alocada por um work process o mesmo entra em PRIV mode, o que significa
que ele ir parar de efetuar a rolagem para efetuar multitasking, permanecendo alocado (private) para
o usurio. Esta rea heap liberada no trmino da transao porm no ser liberada na swap area
do sistema operacional. Esta rea somente ser liberada se matarmos (kill) o processo (disp+work) a
nvel de sistema operacional. Existe um parmetro (abap/heaplimit) que quando atingido pelo total
de heap area alocado por um determinado work process, ele ser flagado para automatic restart, ou
seja, o sistema efetua um refresh (kill/start) do work process ao trmino da transao.
Pgina 144
ACADEMIA BASIS
Quando se utiliza um novo parmetro do R/3, o PHYS_MEMSIZE, ele permitir que o prprio R/3
gerencie a sua alocao de extended memory at um limite definido por em/max_size_MB. Este
procedimento simplifica a administrao de memria (no necessrio definir mais nenhum outro
Zero Administration Memory Management. Para limitar, neste caso, a
utilizao da extended memory por um usurio utilize o parmetro em/address_space_MB. Para
maiores detalhes veja a nota 88416.
Dever sempre haver uma quantidade suficiente de memria real compatvel com a
parametrizao do R/3 para evitar paginao excessiva de sistema operacional.
ST02
Esta acontecendo muitos swaps
Se existe memria fsica disponvel, aumente o tamanho do buffer em questo
A extended memory est cheia : Max used > 80% in memory
ST02 analise detalhadamente a memoria atravs do Mode List
Existe algum usurio com alto consumo de memria extendida
Identifique e analise os respectivos relatrios e transaes
Se existe memria fsica disponvel, aumente o tamanho da memria extendida
ztta/roll_first > 1024 ?
ztta/roll_first = 1
Roll buffer est cheio ou Max. used maior que 80%
Se existir memria fsica disponvel, aumente o parmetro rdisp/roll_SHM.
Pgina 145
ACADEMIA BASIS
Hardware Bottlenecks
Um gargalo causado por hardware no R/3 reflete em um elevado tempo de resposta das
transaes. No sistema operacional este problema se manifestar atravs de um elevado consumo
de CPU (prximo a 100%), altas taxas de paginao, baixo desempenho da rede ou ainda por
elevados tempos de acesso aos discos. A quantidade ideal de CPU idle dever se situar acima dos
35%. Taxas abaixo de 20% indicam gargalos de CPU. ndices de paginao (ST06 double click
Paged in [Kb/h]) por hora acima de 20% da memria RAM indicam problemas de memria.
Contenes de CPU podem ser resolvidas atravs da distribuio da carga entre os demais
applications, quando possvel. Processing time > CPU time x 2 geralmente indica problemas gerais de
performance associados a hardware, sendo necessrio pesquisar mais fundo a causa do gargalo. A
causa do elevado consumo de CPU pode muito bem estar associado a processos rodando na
mquina que consomem muito ciclo. Se houver gargalo de memria, veja a nota 78498 para avaliar a
possibilidade de utilizar o cache de file system.
Memory configuration
Separe para o banco de dados 20% da memria de todos os servers. Defina os buffers do R/3
entre 200MB e 500MB por instncia. Em unix cada work process consumir aproximadamente 11.5
MB (7.5MB no NT). Cada usurio logado consumir de 5 a 10MB de extended memory. A RAM fsica
dever ser aproximadamente 2/3 da memria usada. A memria virtual alocada pode ser visualizada
Detail analysis Storage. O swap dever ser de 3 x RAM (no mnimo 2GB).
Considere nos clculos o nmero de usurios ativos e o peso dos aplicativos que sero utilizados
CPU configuration
Utilize para o banco de dados de 10 a 30% da CPU de todos os servers. Garanta que nunca haja
gargalos no servidor de banco de dados. Utilize de 10 a 20% do total de CPU para o processamento
dos updates. A demanda dos application servers depender do perfil dos usurios/aplicativos
utilizados
Pgina 146
ACADEMIA BASIS
Comandos caros de SQL podem aumentar o database time das transaes afetando por
consequencia o tempo de resposta de todo o sistema. Estes comandos provocam elevadas taxas de
leitura de data blocks que provocam I/Os elevados e alto consumo de CPU.
Monitors to Analyse
Devemos procurar por programas com elevados database times e posteriormente por SQLs com
altos valores de buffer gets. As transaes utilizadas nestas anlises sero: ST03, SM50/SM66,
ST04, ST05 e SE12. Devemos focar a pesquisa para identificar o nome da tabela em questo, a
clausa where utilizada, os indices envolvidos e principalmente o report ou a transao que contm o
Atravs da SM50 e SM66 tambm possvel efetuar anlise de programas com elevados tempos
de resposta, alm da identificao direta de quem o causador (usurio e cdigo abap). Para isto
veja o roadmap abaixo :
Comandos caros tambm podem ser identificados atravs da monitorao dos buffer gets (ST04
Detail analysis SQL statement) com elevadas taxas. Alm dos buffer gets devemos observar os
gets/execution, records/execution e disk reads.
Pgina 147
ACADEMIA BASIS
Expensive sql statement sempre efetuam elevados volumes de buffer gets durante a sua
execuo. Dependendo do resultado obtido, podem ser classificados em dois tipos: aqueles que
trazem um alto volume de linhas selecionadas (tipo 1) e aqueles que trazem poucas linhas como
resultado (tipo 2). Os comandos tipo 1 normalmente indicam programas ABAP mal escritos, devendo
ser reanalisados. Os comandos tipo 2 so resultado de estratgias ineficientes de acesso ao banco
de dados, seja pela ausncia de ndices ou pela ausncia de estatsticas atualizadas. Eventualmente
a ineficiencia provocada por comandos SQL complexos que devem ser reescritos
Para verificar como o otimizador est resolvendo o sql devemos utliizar o explain (detalhe de como
o sql foi resolvido). Nele podemos perceber o mtodo de acesso (table access full, index range scan,
index unique scan, concatenation, sort, index used, etc) e o custo que o comando teve para ser
executado. Atravs de um explain no comando SQL podemos decidir pela criao ou no de um novo
ndice secundrio. Ao criar ndices posicione os campos mais seletivos no incio do ndice e no
especifique mais do que 5 campos. Evite definir mais do que 5 ndices por tabela, principalmente
naquelas que sofrem muita atualizao, como o caso das tabelas que armazenam dados
transacionais. Atravs do explain possvel verificar a estratgia de acesso que o otimizador est
utilizando para executar o comando SQL. Caso a estratgia esteja saindo cara, verifique se existe
caminho mais otimizado, se a causa no seria desatualizao das estatsticas ou ausncia real de
ndice secundrio. Eventualmente analise a possibilidade de reescrever o comando SQL.
O otimizador do oracle, algoritmo que decide qual a melhor forma de acessar um determinado
dado em uma tabela, para tomar a melhor deciso precisa que as estatisticas das tabelas e dos
indices estejam atualizadas. Basicamente ele precisa saber qual a distribuio estatistica de cada
campo no indice, quantos nveis compe o indice e qual a quantidade de registros da tabela. Se estes
valores no existirem ou se estiverem desatualizados o otimizador certamente no far a opo
correta e o tempo de acesso ao dado tende a ser ruim. Para evitar que isto ocorra sempre tenha os
programas que fazem refresh destas estatisticas agendados semanalmente na transao DB13.
Uma boa opo para a otimizao dos programas abaps o uso to Tips&Tricks (transao ).
Atravs dessa transao podemos construir comandos sql e testar a sua efetividade. Nessa
transao ainda temos uma srie de sugestes e opes de implementaes com os respectivos
tempos de resposta.
Pgina 148
ACADEMIA BASIS
Table Buffering
Concepts
A instancia R/3 possui uma srie de buffers para otimizar o processamento e a manipulao dos
dados. Os principais buffers que so utilizados so os de objetos do repositrio, de tabelas, de
programas, de janelas, de roll e paging, calendarios, number range, etc. A principal vantagem dos
buffers a otimizao e minimizao do acesso a base de dados com a manuteno dos dados mais
Synchronization
claro que temos que ter um tratamento especial se o dado que est no buffer for alterado por
outro usurio. A regra simples e se baseia em alterar o dado na base de dados e o buffer da
instncia de forma a garantir a completa consistencia do dado na instncia que provocou a alterao.
Para as demais instncias temos que ter um mecanismo mais complexo. Esse mecanismo baseia na
rdisp/buffrefmode e na manipulao da tabela DDLOG. Esse parmetro
que define o comportamento do sistema quando um dado que est em buffer alterado. Os valores
Sendon, sempre que um dado que est no buffer alterado feita uma marca na DDLOG
indicando que este dado deve ser invalidado em todos os buffers
Sendoff, evita que o mecanismo manipule a tabela DDLOG ignorando a sincronizao de
outras instncias (se elas existirem)
Execauto, garante que de tempos em tempos (definido pelo parmetro rdisp/bufreftime) a
instncia varre a tabela DDLOG para invalidar os dados que esto no buffer garantindo assim
que na prxima leitura o dado ser obtido no banco de dados
Execoff, evita que a tabela pesquise a tabela DDLOG de tempos em tempos para invalidar os
dados que esto no buffer
Pgina 149
ACADEMIA BASIS
Granularity of invalidation
Durante o processo de invalidao do dado quando ele alterado (marca feita na DDLOG) os
demais buffers so afetados da seguinte forma :
Full buffering, qualquer alterao invalida toda a tabela
Generic buffering e single record buffering, alteraes feitas por um abap invalidam o conjunto
de dados relacionado ao mesmo conjunto (mesma chave de buferizao). Devemos tomar
cuidado com alteraes que no so executadas na work area mode pois elas invalidam todos
os dados da tabela (independente da forma de buferizao)
Todo esse mecanismo de definio se uma tabela deve ser buferizada feito pela transao
SE13.
Alguns comandos abaps ignoram os dados que esto no buffer. Isto acaba por evitar a otimizao
que o buffer realiza. Os comandos so :
Select bypassing buffer
Select from view
Select for update
Select com funo de agregao (count, max, sum, avg, etc)
Select distinct
Where com is null
Order by (se no for chave primria)
Sql nativo
Non single Select em tabelas com single buffer
Select que no usa os campos corretos em tabelas com generic buffer
Devemos sempre lembrar de verificar se o buffer vai comportar a nova tabela que est sendo
buferizada.
Pgina 150
ACADEMIA BASIS
Optimization
Para otimizar os buffers de tabelas devemos ter em mente duas tarefas bsica : pesquisar por
tabelas que deverio estar buferizadas e no esto e pesquisar pelas tabelas que esto buferizadas e
no deverio estar. Para o primeiro caso, devemos procurar pelas tabelas desenvolvidas pelo cliente
(iniciadas por Z) e tabelas de customizao que normalmente no so buferizadas (sufixadas por 500
a 999). Para a segunda tarefa devemos verificar o tamanho e a frequencia de alteraes que
Para essa tarefa usaremos a transao ST10 (Table Call Statistics) e seguir o roadmap :
Pesquisar por alto numero de invalidaes
Verificar se esta tabela no deve ser desbuferizada. Para isso use a ST05 e ST10
Pesquise por tabelas com buffer muito grande
Verificar se esta tabela no deve ser desbuferizada. Para isso use a ST05 e ST10
Pesquisar por tabelas com alto numero de rows affected
Verificar se esta tabela no deve ser desbuferizada. Para isso use a ST05 e ST10
Pesquisar por tabelas com muitas leituras feitas por programas abaps
Verificar se a tabela no deve ser buferizada. Para isso verifique as estatisticas, a
frequencia de alterao, o tamanho, a viabilidade em funo da chave primria (transao
DB05) e a mdia de consumo de processamento (ST03, database time > 40% (response
Pgina 151
ACADEMIA BASIS
Cache Analysis
Uma boa anlise do cache est relacionada a permanente pesquisa por comandos SQL caros e
por problemas de performance que no esto relacionados ao hardware ou a parametrizao do
banco de dados. Outro ponto interessante a completa compreeno da arquitetura do Oracle. Isso
garante uma viso abrangente do problema, a compreeno de como um statement passado,
processado e devolvido pelo banco de dados, dos impactos que comandos SQL podem causar na
shared sql area e da falta de estatsticas atualizadas
Para compreendermos a shared sql area temos que ter os conceitos do uso que o Oracle faz dela,
do impacto que comandos SQL caros podem causar no consumo de cpu, de memria e de I/O aos
datafiles. A maior parte das anlises devem ser feitas utilizando a ST04 (Database Overview Monitor).
Outra analise a ser feita a reduo do numero de buffer gets. Eles indicam que, provavelmente,
esse alto volume de dados que esto sendo manipulados por erro do comando abap ou por erro do
comando sql.
Para diferenciamos quais comandos devemos analisar na ST10 (ST04 -> detail menu -> sql
command) seguiremos o seguinte padro :
Abap open sql, comando em letras maiusculas e com aspas delimitando os nomes dos campos
Recursive call, comando em letras minusculas
Sap statement ou exec sql statement, comando em letras maiusculas sem aspas como
delimitadores
Third party statement, comandos com letras maiusculas e minusculas
Para analisarmos um comando sql devemos estar apto a reconhecer um comando caro, analisar o
impacto causado na shared sql area, entender o explain e a distribuio estatstica.
Um comando sql caro pode ser de dois tipos. O primeiro tipo aquele que acessa um grande
volume de dados (buffer gets) mas retorna poucos registros. Tipicamente o problema deste comando
esta relacionado a m escrita da clausula where ou ao uso erro de indice pelo otimizador. O segundo
tipo aquele que tambm acessa um grande volume de dados e retorna todo ele para o emissor do
comando sql. Esse problema est relacionado a uma m construo do abap que desloca o
processamento que deveria ser feito pelo banco de dados para o processador onde o abap est
sendo executado gerando um grande trafego de dados na rede.
Para identificarmos estes comandos pesquisaremos na ST10 por altos volumes em buffer gets,
disk reads e records (cada um desses itens possui seu prprio hit ratio). Devemos estar atentos a
alguns indices que indicam uma m performance, como :
Nmero de buffer gets maior que 5% do total de reads
Alto nmero de buffer gets
Alto nmero de buffer gets por registro
Alto nmero de registros por execuo
Pgina 152
ACADEMIA BASIS
Update Statistics
Identify Coding
Outra boa opo a identificao do comando no momento que ele acontece atravs das
transaes SM50 e SM66. Nesse caso temos a vantagem de saber quem e qual a transao esta
provocando os efeitos indesejveis. Para facilitar, podemos selecionar os processo que manipulam a
respectiva tabela atrves da SM66 -> select process.
Sempre que tentamos identificar o cdigo abap que produziu o sql devemos ter em mente as
diferenas entre o open sql e o sql nativo. Devemos analisar as facilidades que o open sql permite e
como elas so convertidas para o sql nativo, como por exemplo as tabelas internas (in itab) ou a
clausula for all entries. Alm disso temos que lembrar que o abap pode estar fazendo referencia a
uma view e o sql nativo provavelmente vai estar referenciando a tabela. Para esse caso, lembre de
pesquisar o where-used para a tabela em questo. Outra opo descobrir a rea funcional atravs
do programa RSSTATUS ou os componentes relacionados a tabela atravs da DB15 e acionar o time
funcional responsvel para ajudar na pesquisa do respectivo cdigo abap.
Pgina 153
ACADEMIA BASIS
Um bom exemplo desse recurso a ferramenta de abrir chamados na SAP atravs do OSS. Essa
ferramenta que garante o bom encaminhamento das demandas dos usurios para a SAP e viabiliza
a acumulao de uma base de conhecimento.
Index Utilization
Alm disso devemos estar atentos as indicaes do explain do sql dos caminhos e mecanismos
que esto sendo tomados em um determinado sql. Os mais importantes e que devem ser entendidos
Index unique scan, o melhor caso pois permite a obteno de uma ou nenhuma linha com a
leitura de cerca de quatro blocos (tres no indice e dois na base de dados)
Index range scan, esse no muito bom pois no conseguimos saber quantos blocos sero
lidos para a obteno da informao desejada
Full table scan, a leitura simples e inteira da tabela e a quantidade de blocos afetadas
diretamente proporcional ao tamanho da tabela
Concatenation, onde o indice acessado vrias vezes em funo de opes OR ou IN com
a concatenao dos resultados de cada um dos acessos feitos
Nested loop, o conhecido join entre os dados de duas tabelas e seus respectivos indices
Creating na Index
Antes de criarmos um indice devemos verificar a sua efetividade atravs da simulao da criao
na DB05 e da verificao da distribuio estatsticas dos valores. Durante a anlis dos dados
produzidos pela DB05 devemos ter em mente que um bom indice aquele que permite que dado
uma chave ele nos retorne uma pequena quantidade de registros.
Outros fatores relacionadas aos indices no podem ser esquecidos, a saber : verificar se algum
indice standard no est faltando; executar sempre a atualizao de estatisticas das tabelas e dos
indices; alterar o cdigo para poder reaproveitar os indices j existentes; alterar os indices j
existentes para garantir uma boa performance na maior variedade possivel de situaes e
eventualmente criar um indice para atender especificamente um determinado tipo de pesquisa. Tudo
isso pode e deve ser feito, quando o indice for standard, sempre com a aprovao ou com o
aconselhamento da SAP.
Similar Statements
Tente garantir sempre que statements com a mesma funo sejam escritos de forma identica. Isso
garante um bom aproveitamento da shared sql area (ela sempre maximiza os recursos para
reaproveitar os cursores para o mesmo comando sql). Tente induzir o time de abap a criar
convenes para garantir que os comandos sejam escritos da mesma forma em programas
diferentes. Uma boa conveno a ser adotada combinar a ordem dos campos no comando sql igual
Para identificarmos se um mesmo comando foi escrito de formas diferentes procure comandos
com o mesmo numero de buffers gets/execution ou buffer gets/records. Isso pode ser um bom
comeo para detectar esses comandos mas lembrando sempre que isto um ajuste finssimo no
sistema.
Pgina 154
ACADEMIA BASIS
View Processing
View um objeto lgico que simula a existencia de uma tabela, virtual, que na verdade a juno
de uma ou mais tabelas. Na prtica o gerenciador do banco de dados executa um sql previamente
montado, que imagem da definio da view, sempre que algum dado solicitado da view. Ou seja,
um dado que acessado atravs da view no est previamente alocado a ela, ele descoberto e
acessado no momento da execuo. Os principais tipos de view so :
Nested loop, onde ordem de acesso as tabelas decida pelo otimizador com a identificao
da driven table que normalmente possui a menor quantidade de registros, seguido do acesso
a inner table para obteno dos demais dados
Sort Merge Join, onde os dados das diferentes tabelas so acessados, classificados e
finalmente mergeados
aconselhvel que monitoremos as novas views em busca de possveis problemas de
performances. Os mecanismos a serem utilizados so os mesmos mencionados anteriormente neste
Tabelas pooled e clustered so tabelas que esto contidas em outras tabelas. Essa estrutura
herdada do ambiente mainframe e da poca em que os bancos de dados relacionais ainda no
existiam. Com essa estrutura podiamos viabilizar que um mesmo arquivo indexado poderia
representar uma srie de outros arquivos indexados. Provavelmente esse tipo de estrutura j havia
sido utilizado no R/2 e foi migrada para o R/3 com o respectivo reaproveitamento de cdigo. Os dois
tipos implementados no R/3 so : Pooled e Clustered. Para diferenciarmos uma tabela normal dessas
tabelas passaremos a chamar uma tabela normal de transparente table.
Pooled
Uma pool table uma transparent table que encapsula uma srie de outras tabelas conhecidas
como pooled tables. Isto possivel pela definio de uma tabela pool com a seguinte estrutura : uma
chave especifica que contem o nome da tabela pooled (TABNAME), um campo contendo a chave
genrica (VARKEY) e um campo contendo todo o conteudo a ser acessado atravs da chave
genrica (VARDATA). Com isso, utilizando apenas uma transparent table, podemos ter incontveis
tabelas dentro desta tabela.
Clustered
No R/3, a clustered table a implementao fsica de um banco de dados hierarquico em uma
estrutura de arquivo indexado. Essa estrutura tambm oriunda do mainframe e deve ter sido
mantida para garantir tambm o reaproveitamento. A clustered table na prtica o encapsulamento
de dados de tabelas diferentes em uma mesma linha. Ou seja, a juno de dados dependentes,
mesmo que oriundos de tabelas diferentes, da mesma chave primria. A estrutura de uma clustered
table um conjunto de campos que representam a chave primria que comum ao conjunto de
dados e o DATA que um conjunto de informaes no documentadas constituidas pelas tabelas
Common Mistake
Nunca tente manipular na clausula where de um sql os dados que vo estar ou na vardata de uma
pool table ou no data de uma cluster table. Ou seja, sempre e somente utilize na clausula where os
campos que compe a chave primria, tanto da pooled quanto da clustered tables.
Pgina 155
ACADEMIA BASIS
Uma anlise geral pode indicar se existem problemas de performance gerais na instalao:
q Wait time dever ser < 10% response time
q Main menu dever estar < 100 ms
Atravs da ST03, alguns valores indicam boa performance:
q Average roll in time < 20 ms
q Average roll out time < 20 ms
q Average load time < 10% response time e sempre inferior a 50 ms
q Average database time < 40% do (response time wait time)
q Average CPU time < 40% do (response time wait time)
q Average CPU time no pode ser muito inferior ao processing time
Pgina 156
ACADEMIA BASIS
High paging rate > 20% of RAM per hour memory contention
Other servers available Work process and users redistribution
File system cache > 10% RAM reduce file system cache
q Buffers monitor (ST06 Mode list)
Programs with high memory detail analysis of transaction
Directory Summary
/usr/sap/trans
q bin, contm basicamente os arquivos de parmetros TPPARAM e CONFIG.CFG
q actlog, onde so gravados cada action em um request ou task. Contm files com nomes <source SID>Z<6 digits>
q sapnames, com arquivos associados ao id dos usurios que efetuam release em changes
q buffer, com um import buffer para cada sistema R/3. Quando um change request liberado, o file correspondente ao
q data, contendo arquivos do tipo R9<5 digits>.<source SID> que contm os dados que foram exportados no transporte
q cofiles, com command files do tipo K9<5digits>.<source SID> contendo por exemplo os import steps que sero
executados
q log, com todas as logs de transportes, como por exemplo ULOGs, ALOGs, SLOGs e as demais logs que descrevem as
operaes executadas nos steps individuais ou coletivos
/oracle/<SID>
q dbs: contendo as profiles utilizadas pelo Oracle e pelo SAP (init<SID>.ora, init<SID>.sap, etc.).
q bin: executveis Oracle
q sapdata1,2,...: onde se localizam os data files
q origlogA, origlogB: online redo log files
q mirrlogA, mirrlogB: mirror online redo log files
q saptrace/background: Oracle alert files
q saptrace/usertrace: trace files dos shadow oracle processes
q sapereorg: rea de trabalho para reorganizaes, compress de backup files, etc.
q saparch: offline redo log area e logs do BRARCHIVE
q sapbackup: BRBACKUP e BRRESTORE logs
q sapcheck: sapdba logs (-next, -check, -analyze)
q /network/admin: arquivos de configurao do NET8
To be Known
Databse logs
Durante o processo de start, quando requerido, o startsap chama o script startdb que grava uma log apropriada no
startdb.log
Eventos significantes (start, stop, errors) so logados pelo no Oracle alert file:
/oracle/<SID>/saptrace/background/alert_<SID>_.log
Pgina 157
ACADEMIA BASIS
Environment variables
q ORACLE_SID=<SID>: nome da instncia
q DBS_ORA_TNSNAME: seta o <SID> do banco que ser conectado atravs do tnsnames.ora
q ORACLE_HOME: o diretrio home do oracle (/oracle/<SID>)
q SAPDATA_HOME e SAPDATAn: aponta para diretrios especficos contendo dados
Pgina 158
ACADEMIA BASIS
Anexos
Glossrio
Termo Descrio
ABAP ABAP significa Advanced Business Application Programming e uma
linguagem interpretada e de quarta gerao utilizada para desenvolver no
ambiente SAP. Tanto seus fontes quanto seus p-code so guardados no
banco de dados
ABAP dictionary o dicionrio que contm todas as informaes sobre as estruturas lgicas
dos objetos de aplicao e de banco de dados relacionais bem como os
fontes ativos e verses antigas dos programas. O dicionrio trabalha como
um dicionrio ativo e integrado com as ferramentas de desenvolvimento.
ABAP editor uma das ferramentas do ABAP Workbench e destinada ao
desenvolvimento e manuteno dos programas, funes, lgica de fluxo de
janelas, etc. Alm das funes normais de editor de programas a ferramenta
dispe de uma srie de acessrios para auxiliar no desenvolvimento.
ABAP program um conjunto de cdigo que processado seqencialmente atravs de um
mdulo interpretador de comando. Existem dois tipos de programas, os
Application server Mquina que prov servios como : dialog, update, enqueue, background
processing, print formating e gateway. Um application server contm um
dispatcher e um ou mais work process. O dispatcher recebe a solicitao do
servio a ser executado e atribui-o ao work process disponvel. Um
application server possui pelo menos um dialog e gateway.
Automatic Client change option que significa que a qualquer customizao do sistema,
recording of o R/3 solicitar uma request para guardar tudo o que ser feito.
changes
Backup domain Um sistema R/3 que assume as funes de gerenciamento do domnio de
controller transportes se o primary domain controller ficar indisponvel. ativado
manualmente.
Change and Todas as ferramentas disponibilizadas pelo R/3 para o gerenciar e
transport transportar todas customizaes e desenvolvimentos entre os sistemas R/3
organizers CTO dentro do landscape
Change Significa o gerenciamento das alteraes feitas no ambiente R/3 bem como a
management propagao destas para os demais ambientes com as respectivas
verificaes e consistncia seguido da ativao nos ambientes destino.
Change request Pacote contendo as informaes registradas e acumuladas pelas alteraes
feitas no ambiente durante o trabalho de um desenvolvedor ou configurador.
O principal uso de uma change request encapsular e propagar uma
Pgina 159
ACADEMIA BASIS
Termo Descrio
options dependentes ou independentes de mandante podem ocorrer e se sero
armazenadas automaticamente.
Ainda no terminado
Pgina 160
ACADEMIA BASIS
Transactions
Transaction Description
Alerts
AL08 * Users Logged On
AL11 * Display SAP Directories
AL12 * Display table buffer (Exp. session)
Database
DB01 * Analyze exclusive lockwaits
DB02 * Analyze tables and indexes
DB05 * Analysis of a table acc. to index
DB12 * Overview of Backup Logs
DB13 * Database administration calendar
DB14 * Show SAPDBA Action Logs
DB15 * CCMS - Document archiving
DB16 * DB system check (trigger/browse)
DB17 * DB system check (configure)
DB20 * No.of table tupels acc. to stat.
DB21 * Maintenance control table DBSTATC
DB31 * Table view of DBMSGORA
CCMS Set up
SRZL * CCMS Computing Center Management System
RZ01 * Job Scheduling Monitor
RZ02 * Network Graphics for SAP Instances
RZ03 * Presentation, Control SAP Instances
RZ04 * Maintain SAP Instances
RZ06 * Alerts Thresholds Maintenance
RZ10 * Maintenance of profile parameters
RZ11 * Profile parameter maintenance
RZ12 * Maintain RFC server group assignment
RZ15 * Read XMI log
RZ20 * CCMS MT standard monitor
RZ21 * CCMS Customizing of the mon. infra.
SMGW * Gateway Monitor
SMLG * Maintain Logon Group
ABAP Workbench
SA38 * Execute program
SE11 * ABAP/4 Dictionary Maintenance
SE12 * ABAP/4 Dictionary Display
SE13 Maintain Technical Settings (Tables)
SE14 Utilities for Dictionary Tables
SE15 ABAP/4 Repository Information System
SE16 * Data Browser
SE17 General Table Display
SE24 ABAP Objects Class Library
SE29 Application packet
SE30 * ABAP Runtime Analysis
SE32 ABAP/4 Text Element Maintenance
SE33 Context Builder
SE35 ABAP/4 Dialog Modules
SE36 ABAP/4: Logical Databases
SE37 * ABAP Function Modules
SE38 * ABAP Editor
SE39 Splitscreen Editor: Program Compare
SE40 MP: Standards Maint. and Translation
SE41 Menu Painter
SE43 Maintain Area Menu
Pgina 161
ACADEMIA BASIS
Transaction Description
SE48 Program Analysis: Call Hierarchy
SE49 Program Analysis: Table Manipulation
SE51 Screen Painter
SE52 Parameterized screenpainter call
SE54 Generate table view
SE55 Internal table view maintenance call
SE56 internal call: display table view
SE57 internal delete table view call
SE61 R/3 Documentation
SE62 Industry Utilities
SE63 Translation: Initial Screen
SE64 Terminology
SE65 R/3 Docu.: Short Text Statistics
SE66 R/3 Documentation Statistics
SE71 SAPscript form
SE72 SAPscript styles
SE73 SAPscript font maintenance (revised)
SE74 SAPscript format conversion
SE75 SAPscript Settings
SE76 SAPscript: Form Translation
SE77 SAPscript Translation Styles
SE80 * Repository Browser
SE81 Application Hierarchy
SE82 Application Hierarchy
SE84 R/3 Repository Information System
SE85 ABAP/4 Repository Information System
SE86 ABAP/4 Repository Information System
SE87 Data Modeler Information System
SE88 Development Coordination Info System
SE89 Maintain Trees in Information System
SE90 Process Model Information System
SE91 * Maintain Messages
SE92 * Maintain System Log Messages
SE93 * Maintain Transaction Codes
SE94 Customer enhancement simulation
SE95 Customer Enhancements to AEW Objects
SMOD * SAP Enhancement Management
System Monitoring
SM0 Work Process Overview
SM01 * Lock transactions
SM02 * System Messages
SM04 * User Overview
SM12 * Display and Delete Locks
SM13 * Display Update Records
SM21 * System Log
SM28 * Installation Check
SM30 * Call View Maintenance
SM31 * Table Maintenance
SM35 * Batch Input Monitoring
SM36 * Define Background Job
SM37 * Background Job Overview
SM39 * Job Analysis
SM49 * Execute external OS commands
SM50 * Work Process Overview
SM51 * List of SAP Servers
SM54 * TXCOM maintenance
SM55 * THOST Maintenance
SM56 * Number Range Buffer
SM58 * Asynchronous RFC Error Log
SM59 * RFC Destinations (Display/Maintain)
SM61 * Maintain table BTCCTL (background processing)
Pgina 162
ACADEMIA BASIS
Transaction Description
SM62 * Display/Edit Events
SM63 * Display/Maintain Operating Mode Sets
SM64 * Release of an Event
SM65 * Background Processing Analysis Tool
SM66 * Systemwide Work Process Overview
SM69 * Maintain external OS commands
SMX * Display Own Jobs
System Tuning
ST01 * System Trace
ST02 * Setups/Tune Buffers
ST03 * Performance,SAP Statistics, Workload
ST04 * Select DB activities
ST05 * Trace for SQL, Enqueue, RFC, Memory
ST06 * Operating System Monitor
ST07 * Application monitor
ST08 Network Monitor
ST09 Network Alert Monitor
ST10 Table call statistics
ST11 Display Developer Traces
ST12 Application Monitor
ST14 * Application Analysis
ST22 * ABAP/4 Runtime Error Analysis
STAT * Local transaction statistics
Transports
SE01 * Transport Organizer
SE03 * Workbench Organizer: Tools
SE06 * Set Up Workbench Organizer
SE09 * Workbench Organizer
SE10 * Customizing Organizer
STMS * Transport Management System
Client Administration
SCC1 * Client Copy - Special Selections
SCC3 * Client Copy Log
SCC4 * Client Administration
SCC5 * Client Delete
SCC6 * Client import
SCC7 * Client import - postprocessing
SCC8 * Client export
SCC9 * Remote client copy
SCCL * Client import - postprocessing
SCU0 * Customizing comparison
Archive
SARA * Archive Management
AOBJ * Archiving object definition
SARI Archive Information System
SARJ Archive Information System (Customizing)
Pgina 163
ACADEMIA BASIS
Transaction Description
SARL Call of ArchiveLink Monitor
ALE
BALA ALE Application menu
BALD ALE Development
BALE ALE Distribution menu
BALM ALE Master Data
SALE IMG Application Link Enabling
Spool management
SP01 * Output managment
SPAD * Spool administration
Others
FILE * Archive logical file paths
OY18 * Table History
OY19 * Customizing objects : selection for compare
SF01 * Archive logical file names
SXDA * Data transfer workbench
Not classified
AARD Archiving - Delete program
AARR Archiving - Reload
AARV Archiving - Management
ACLA Archiving class definition
AL01 SAP Alert Monitor
AL02 Database alert monitor
AL03 Operating system alert monitor
AL04 Monitor call distribution
AL05 Monitor current workload
AL06 Performance: Upload/Download
AL07 EarlyWatch Report
AL09 Data for database expertise
AL10 Download to Early Watch
AL13 Display Shared Memory (Expert mode)
AL15 Customize SAPOSCOL destination
AL16 Local Alert Monitor for Operat.Syst.
AL17 Remote Alert Monitor f.Operat. Syst.
AL18 Local File System Monitor
AL19 Remote File System Monitor
AL20 EarlyWatch Data Collector List
AL21 ABAP Program analysis
AL22 Dependent objects display
DB03 Parameter changes in database
DB07 ADABAS D: Diagnostic monitor
DB11 Early Watch Profile Maintenance
DB2J Manage JCL jobs for OS390
DB32 DB syst. check (ORA): Configuration
DB33 DB System check (configure, IFMX)
RZ08 SAP Alert Monitor
SAR Maintain Transaction Codes
SAR0 Display Standard Reporting Tree
SC38 Start Report (Remote)
SC80 CATT utilities
SCAL Factory Calendar with GUI
SCAM CATT management
SCAR Record CATT procedures
SCAT Computer Aided Test Tool
SCD0 Change Documents for Utilities
SCDN Change Documents: Number Ranges
SCDO Display Change Document Objects
SCET Menu for Control Enabling Technology
Pgina 164
ACADEMIA BASIS
Transaction Description
SCMP View/Table compare
SCOM SAPcomm: Configuration
SCOR SAPconnect - Send Attempts
SCOT SAPconnect - Administration
SCPF Generate enterprise IMG
SCPR1 Customizing Profiles: Maintce tool
SCPR2 Compare Customizing profiles
SCT1 Logical imports - overview
SCU1 Table Comparison - Export to Tape
SCU2 Table Comparison Against Tape
SCU3 Table History
SCUI Communicate system status to SAP
SE07 Transport System Status Display
SECR Audit Info System
SEPS SAP Electronic Parcel Service
SERP Reporting: Change Tree Structure
SES0 Maintain favorites
SESA Switching off the menu tree display
SESE Switching off the menu tree display
SESS Starting the R/3 menu
SEU Repository Browser
SEWA Earlywatch Alert
SM18 Reorganize audit
SM19 Basis Audit Configuration
SM20 System Audit Log
SM29 Model Transfer for Tables
SM32 Maintain Table Parameter ID TAB
SM33 Display Table Parameter ID TAB
SM34 Viewcluster maintenance call
SM38 Queue Maintenance Transaction
SM67 Job Scheduling
SM68 Job Administration
SMEN Session Manager Menus
SMET Display frequency of function calls
SMETDELBUFF Del. Measurement data in shared bfr
SMETDELPROG Delete programs in shared buffer
SMLI Language Import Utility
SMLT Language Transport Utility
SMME Output control Message Block Table
SMO1 Repository Information System: SMOD
SMO2 Repository Information System: SMOD
SMO3 Repository Information System: SMOD
SMO4 Repository Information System: SMOD
SMO5 Repository Information System: SMOD
SMT1 Trusted Systems (Display <-> Maint.)
SMT2 Trusting systems (Display <->Maint.)
SMW0 SAP Web Repository
SMW2 Test multipart MIME interface
ST4A Database: Shared cursor cache (ST04)
ST62 Create industry short texts
STDA Debugger display/control (server)
STDC Debugger output/control
STDR TADIR consistency check
STDU Debugger display/control (user)
STFB CATT function module test
STI1 Change Documents Payment Details
STI2 Change Docs Correspondence
STI3 Chg. Docs Transaction Authoriz.
STMP Proposal pool: Selection
STP4 Select DB activities
STPC Test Workbench, Start test package
STPD Test Workbench
Pgina 165
ACADEMIA BASIS
Transaction Description
STSN Customizing Number Ranges Time Strm
STVR WB: Transport Utility R/3 > R/2
STW1 Test Workbench: Test catalog
STW2 Test workbench: Test plan
STW3 Test workbench: Test package
STW4 Test Workbench: Edit test package
STW5 C maintenance table TTPLA
SU01_NAV User maint. to include in navigation
SU05 Maintain Internet users
SU10 Mass Changes to User Master Records
SU12 Mass Changes to User Master Records
SU22 Auth. Object Usage in Transactions
SU23 Load Tables in TAUTL
SU24 Auth. obj. check under transactions
SU25 Upgrade Tool for Profile Generator
SU26 Upgrade tool for Profile Generator
SU52 Maintain User Parameters
SU54 Session Manager
SU55 Call the Session Manager menus
SU80 Archive user change documents
SU81 Archive user password change doc.
SU82 Archive profile documents
SU83 Archive authorization docs.
SU84 Read archived user change documents
SU85 Read archived password change doc.
SU86 Read profile change documents
SU87 Read authorization change documents
SU96 Table maint.: Change SUKRIA
SU97 Table maint.: Display SUKRIA
SU98 Call report RSUSR008
SU99 Call report RSUSR008
SUCH Translatability CHECKs
SUCU Table authorizations: Customizing
SUIM all AUTH reporting tree (info sys.)
SUPC Profiles for activity groups
SUPN Number range maint.: PROF_VARIS
SUPO Maintain org. levels
SUSE Maint. for Self Upgrading Software
TU01 Call Statistics
TU02 Parameter changes
TUTT Workbench Tutorial
Reports
Report Description
RSTMSC0L Read Import Queues in Local Buffer
RDDNEWPP
RDDIMPDP
RDDDICOL
RDDMASGL
RDDTACOL
RDDDIS0L
RDDGEN0L
RDDMASGL
RDDDIC1L
RDDVERSL
RDDEXECL
RDDDIC3L
Pgina 166
ACADEMIA BASIS
Report Description
RSPO0041 Delete old spool print
RSPO0043 Check TemSe consistency
RADDBDIF
OSS Notes
Number Description
001916 Securing a production system
004108 How do I assign a password to sap*
004326 How do I delete the user sap*
008541 Secure the host hardware and OS unix
008707 Explanation about init<SID>.sap parameter tape_size
011796 Authorization profile P_BAS_ALL and table display
012103 Contents of table TCOLL
013202 Security aspects in ABAP
015606 Overflow of dispatcher request queue
016083 Standard jobs, reorganization jobs
016466 Customer namespace for SAP objects
019909 Setting compress_cmd for compress = only
022514 Error analysis for client copy
023345 Consistency check of ORACLE database
023611 FAQs about authorizations
024092 Distribution of background jobs on application server
026171 Possible entry values for command fields
026317 Set up for LOGON group for autom. load balancing
026966 Background jobs do not start when transporting
027928 Consequences in transport during password change
028175 Questions regarding the authorization concept
029276 SAPCPIC: Where are passwords visible ?
030724 Data protection and security in R/3
031395 System parameters: Defined where? Displayed how?
031503 FAQ: Background jobs
031557 The multi-client concept of R/3 - Oveview
032050 RSCOLL00: report runs infinitely, incomplete data
033525 Important information about SAP patches
033630 Deleting old BRBACKUP, BRARCHIVE entries
035493 Secrecy and data security obligations
036280 Background Work Processes Reserved for Job Class A
037104 Error analysis: Background processing system
Pgina 167
ACADEMIA BASIS
Number Description
039267 Availability of the R/3 security guide
039412 How many work processes to configure
040689 New reports for the user informations system
041732 Deletion of data in transport directory
042268 Operating SAPLPD as a service under Windows NT
047502 Messages of the Remote Clientcopy
048018 Third party products
050088
051222 Operation modes and overflow of dispatcher queue
051789 Poor user distribution in logon distribution
052505 Support offered by SAP after end of maintenance
053030 Online archiving versus data integrity
053062 Database reorganization and R/3 archiving
053064 What is important when reloading from archives ?
062431 SAPoffice: Connection over MAPI interface
062739 Configuring a central transport host
063480 R/3 and MS Exchange linking
064015 Test tool for message servers: lgtst
065761 Determine configuration problems under Windows NT
066533 Automatic unlocking after incorrect logon
066612
066687 Network security products Secude and Kerberos
067074 Transporting original objects using se01
068048 Deactivating the automatic user SAP*
068544
069444 Error messages/terminations in client copy
070085 Re-processing failed update records via SM13
070128 Docu/Help for copying clients
070547 Client transport
070639 How are batch jobs scheduled?
071058 Innovations in BRBACKUP and BRARCHIVE Version 3.1G
077429 'SAPgui in Java': scope of functions & availabilit
077462 C/2 certification of R/3
080210 Profile generator: composite note
083327 Setting up transport system in heterogeneous system
083699
084052 R3trans: Table logging
086895 Additional Info: Upgrading to 4.0x PC inst
088416 Zero administration memory management from 4.0A/NT
089324 Archiving: revised adk versions
091096 Table Compare: Info about Cust. Cross System Check
096896
099088 Improvements for BRBACKUP/BRARCHVIE/BRRESTORE 4.0
099284 RFC exception: RESOURCE_FAILURE
099502 SCC1 in Release 4.0B
099962 Error messages when you use DB_VERIFY
100400 dbv reports corrupt blocks in SYSTEM and PSAPTEMP
101146 Batch:authorization object S_BTCH_JOB, S_BITCH_NAM
109515 Update groups for asynchronous updates
118823 Size of client
122718 CBO: Tables with special processing
127773 Several enqueue work processes
182592 Delete/change transactions codes in command field
RZ10 Parameters
Pgina 168
ACADEMIA BASIS
Pgina 169