Você está na página 1de 56

DATASUL

Manual do Administrador do
Sistema PROGRESS

Verso: I.00
Data Liberao: 01/Outubro/96
Viso Geral do Banco de Dados PROGRESSS 1-1
1.1. PROGRESS ... 1-1
1.2. Estrutura do Banco de Dados .... 1-1
1.2.1. Extenses do Banco de Dados 1-2
1.2.2. Base de Dados . 1-2
1.2.3. Processo do Servidor do Banco de Dados .. 1-2
1.2.4. Processo Broker do Banco de Dados . 1-2
1.2.5. Cache do Banco de Dados .. 1-2
1.2.6. CPU 1-2
1.3. DataServer . 1-3
1.3.1. Schema Holder 1-4
1.4. Limites do PROGRESS . 1-4
1.4.1. Banco de Dados .. 1-4
1.4.2. Elementos do Banco de Dados ... 1-5
1.5. Sistemas Operacionais 1-5

1.6. Modos de Conexo 1-5


1.7. Localizao do Banco de Dados 1-6
1.8. Cliente Servidor . 1-7

Parmetros 2-1
2.1. Parmetros . 2-1
Blocos no Buffer do Banco de Dados (-B) ... 2-1
Nmero de Cursores de ndice (-c) ... 2-1
Formato da Data (-d) 2-2
rea do Diretrio de Programas (-D) ... 2-2
Formato Numrico Europeu (-E) .. 2-3
Nmero de Entradas na Tabela de Bloqueio (-L) . 2-3
Nmero mximo de clientes por servidor (-Ma) ... 2-4
Atraso na Gravao do Arquivo .bi (-Mf) . 2-4
Nmero mnimo de clientes por servidor (-Mi) . 2-5
Nmero mximo de servidores (-Mn) ... 2-5
Exemplo de uso dos parmetros -Mn, -Ma e -Mi . 2-6
Nmero de Usurios (-n) .. 2-6
Impressora (-o) .. 2-7
Programa Inicial (-p) . 2-7
Arquivo de Parmetros (-pf) . 2-7
Pedido Rpido (-q) 2-8
Modo de Compilao de Programas (-rx) . 2-8
Nome do Servidor (-S) .. 2-9
Diretrio para Arquivos Temporrios (-T) ... 2-9
Classificao Rpida (-TB) 2-10 ..
Nmero de Merge (-TM) ...... 2-11 ..
Nome Fsico do Banco de Dados (-db) . 2-11 ..
Nome Lgico do Banco de Dados (-ld) 2-11 ..
Acesso em Monousurio (-l) . 2-12 ..
Nome do Arquivo de After-Image (-a) . 2-12 ..
Nome do Arquivo Before-Image (-g) ... 2-12 ..
Nome do Usurio do Banco (-U) .. 2-13 ..
Senha do Usurio do Banco (-P) .. 2-13 ..

Backup .. 3-1
3.1. Importncia 3-1
3.2. Do que deve ser feito Backup ? . 3-1
3.3. Qual mdia magntica utilizar para o Backup ? . 3-1
3.4. Perodo de Backup 3-2
3.5. Backup Utilizando o Sistema Operacional 3-2
3.5.1. Backup em DOS/OS2 . 3-2
3.5.2. Backup em UNIX ... 3-3
3.5.3. Backup em VMS . 3-3
3.6. Backup utilizando probkup e prorest . 3-4
3.6.1. Probkup Completo do Banco de Dados .. 3-4
3.6.2. Probkup incremental ... 3-5
3.6.3. Probkup Online ... 3-5
3.6.4. Restaurando Backup feito com o probkup (prorest) .. 3-6
3.6.5. Regras importantes para restaurar backup incremental .. 3-7
3.7. Exemplos de Uso do probkup e prorest . 3-7
3.7.1. Exemplo de uso do probkup em DOS 3-7
3.7.2. Exemplo de uso do probkup em UNIX .. 3-8
3.7.3. Exemplo de uso do probkup em VMS 3-9
3.8. Exemplo de um esquema de Backup do Banco de Dados . 3-11 ..
3.9. Teste do Backup 3-12 ..
3.10. Cuidados com a Mdia Magntica 3-13 ..
3.11. Outras Recomendaes .... 3-14 ..

Multi-Volume 4-1
4.1. Conceito de Multi-Volume 4-1
4.2. Passos para transformar um banco em Multi-Volume ... 4-2
4.2.1. Backup do Banco de Dados 4-2
4.2.2. Criao do Arquivo de Estrutura (.st) 4-2
4.2.3. Criao da Estrutura do Banco Multi-Volume ... 4-3
1. Criao da Estrutura com rea em disco disponvel .. 4-3
2. Criao de Banco Multi-Volume usando o probkup 4-5
3. Criao do Banco Multi-Volume sem usar o probkup . 4-5
4.3. Adicionando novas extenses ao Multi-Volume 4-5
4.4. Listando a Estrutura do Multi-Volume .. 4-7
4.5. Usando Estatsticas do Banco 4-7
4.6. Algumas consideraes sobre multi-volume .. 4-7

After-Image ... 5-1


5.1. After-Image e Before-Image .. 5-1
5.1.1. Como funciona o processamento Before-Image . 5-1
5.1.2. Processamento After-Image 5-2
5.2. Preparao para usar o After-Image .. 5-4
5.2.1. Escolhendo a localizao para os arquivos do banco .. 5-4
5.2.2. Estratgia de Backup .. 5-5
5.3. Usando o After-Image ... 5-5
5.3.1. Passos para usar o after-image 5-5
5.3.2. Fazendo backup do Banco de Dados . 5-6
5.3.3. Marcando o banco como "backupeado" . 5-6
5.3.4. Habilitando o after-image do banco 5-6
5.3.5. Usando um banco com after-image habilitado 5-7
5.3.6. Iniciando um novo after-image 5-8
5.3.7. Desabilitando o after-image 5-8
5.4. Reprocessando um arquivo after-image 5-9
5.5. O que pode e o que no pode fazer no after-image ... 5-9
5.6. O que fazer durante erros do sistema . 5-10 ..
5.6.1. Durante o uso do proutil e rfutil . 5-10 ..
5.6.2. Durante o backup do Banco de dados 5-10 ..
5.6.3. Durante o uso do PROGRESS .. 5-10 ..
5.6.4. Perda do disco do .db ou .ai 5-11 ..
5.6.5. Perda do arquivo after-image .. 5-11 ..
5.6.6. Perda do backup do banco .. 5-11 ..
5.7. O que fazer quando o disco lotar ... 5-12 ..
5.7.1. Quando o disco do After-Image lotar . 5-12 ..
5.7.2. Quando o disco do .db ou .bi lotar . 5-12 ..
5.8. Outras Consideraes . 5-13 ..
Copyright 1993 DATASUL S.A.

Este documento de propriedade da DATASUL. No poder ser alterado, copiado,


fotocopiado, traduzido sem o prvio consentimento da DATASUL S.A.

MAGNUS uma marca registrada da DATASUL S.A.


PROGRESS uma marca registrada da PROGRESS Software Corporation.

UNIX uma marca registrada da AT&T Bell Labs.


MSDOS e OS2 so marcas registradas da Microsoft Corporation.
VMS uma marca registrada da Digital Equipment Corporation.
Este manual visa fornecer ao administrador do sistema MAGNUS todas informaes
necessrias para a administrao do PROGRESS.
Este administrador do sistema ser a pessoa responsvel em manter o MAGNUS em
funcionamento para que os usurios possam utilizar o mesmo.
A seguir, mostrado um breve resumo de cada captulo.

1. Viso Geral do Banco de Dados PROGRESS

Este captulo apresentar uma viso geral de todo o ambiente e dos principais componentes
da Base de Dados PROGRESS: sua estrutura fsica e lgica, limitaes, etc.

2. Parmetros

Este captulo explicar os parmetros do PROGRESS, dando uma viso geral de cada um
deles, sua funo e influencia no PROGRESS.

3. Backup

Este captulo d as informaes para o administrador do MAGNUS realizar o Backup do


sistema. Ser falado sobre a importncia, quais arquivos precisam ser copiados, comandos
para backup e um esquema para controle das cpias de backup.
Existem duas formas para fazer o Backup do banco de dados. Uma forma utilizar os
comandos do sistema operacional (cpio, tar, BACKUP/RESTORE, etc) e outra utilizar o
comando probkup do PROGRESS. Neste captulo, vamos falar sobre as duas formas.
Aconselhamos a voc comear a usar os comandos do seu sistema operacional, que voc j
est familiarizado. Estude os comandos do PROGRESS e se achar melhor use-os.

4. Multi-Volume

Este captulo explica o que multi-volume, quando usar e como transformar um banco em
multi-volume.

5. After-Image

Neste captulo ser explicado o que o processamento after-image (imagem posterior), que
pode usado em um banco de dados. O after-image serve para proteger seu banco de dados em
caso de perda do disco em que ele se localiza. Depois de voltar o backup, voc poder ter as
informaes atualizadas at o momento em que ocorreu o erro no disco.
Ser explicado, tambm, como funciona o processamento before-image (imagem anterior) e a
diferena entre os dois.
Mostraremos a sintaxe dos comandos para usar o after-image, bem como alguns exemplos.
1.1. PROGRESS

Este captulo apresentar uma viso geral de todo o ambiente e dos componentes da
base de dados PROGRESS. Os mecanismos da base de dados so extremamente importantes
para uma boa performance das aplicaes desenvolvidas em ambiente PROGRESS. Para cada
um dos principais ambientes operacionais onde precise-se armazenar dados, a PROGRESS
desenvolveu uma robusta estrutura de banco de dados. Atualmente, possvel encontrar
aplicaes rodando em bancos de dados com dezenas de gigabytes de dados armazenados e
milhes de processos sendo executados semanalmente. Portanto, importante conhecermos
os princpios bsicos das estruturas que o PROGRESS utiliza para armazenar e manipular, de
forma clara e segura, as informaes armazenadas em seus bancos de dados e em diferentes
plataformas.
importante mencionar que o banco de dados fsico , naturalmente, de extrema
importncia quando da escolha da plataforma em que o banco ir trabalhar. As escolhas
tpicas de plataformas de hardware incluem muitos dos sistemas UNIX, incluindo SCO, HP,
NCR, RS6000, VMS, IBM AS400, e servidores de redes Novell. O banco de dados nativo da
PROGRESS executa as mesmas funes lgicas indiferente da plataforma, sendo o mesmo
executvel para cada tipo de plataforma. Isto garante que a estrutura tirar mximo proveito
da plataforma na qual esta rodando. Por exemplo, uma liberao de espao de memria em
ambiente VMS , certamente no ser idntica em uma Novell, contudo a estrutura de base de
dados correspondente ser montada apropriadamente.

1.2. Estrutura do Banco de Dados

A figura a seguir, mostra os principais componentes da estrutura de banco de dados


PROGRESS.

Bases de dados
Fsicas

Base de Dados

Processo Intermedirio

CPU
Servidor do Banco de Dados

Memria
Compartilhada

Cliente Remoto Cliente Self Service

A seguir, uma introduo aos componentes da estrutura de banco de dados PROGRESS.


1.2.1. Extenses do Banco de Dados

Estas so entidades fsicas separadas, cada uma contendo uma parte da base de dados,
permitindo que vrios dispositivos compartilhem a carga de acesso ao banco de dados. De
forma mais simples, isto significa que a base de dados pode ser dividida em sees de dados,
cada qual sendo uma extenso do banco. Cada uma destas partes pode residir em qualquer
parte da estrutura de disco. Desta maneira, os drives, controladores, e todos os outros recursos
do sistema podem compartilhar a carga do acesso ao banco de dados.

1.2.2. Base de Dados

Esta entidade lgica referenciada por cada programa que acessa a base de dados. A
localizao fsica e a configurao da base de dados permanece transparente ao cdigo que
esta requisitando os seus dados. De fato, quando fazemos uso do Data Servers para bases de
dados externas , cada tipo de banco de dados (PROGRESS, Oracle, etc.) transparente ao
cdigo.

1.2.3. Processo do Servidor do Banco de Dados

O processo do servidor serve aos clientes do banco de dados (usurios). Isto inclui os
clientes locais auto-servidores (no mesmo hardware que o banco de dados, ou host-based), e
clientes remotos que podem solicitar mltiplos servidores para manipular suas requisies
acumuladas.

1.2.4. Processo Broker do Banco de Dados

O processo broker est relacionado aos clientes remotos cujos processos residem em
um sistema separado do sistema onde contm o processo broker e o processo de servidor.
responsvel por reconhecer o acesso deles ao banco de dados e iniciar processos de servidor
quando necessrios. Note que os clientes remotos no necessariamente so clientes tipo "dial-
in". Por exemplo, dois sistemas UNIX podem estar conectados e enquanto o sistema #1
possui os processo do banco de dados, o sistema #2 pode receber entradas de usurios no
banco de dados e na aplicao.

1.2.5. Cache do Banco de Dados

Os blocos do banco de dados so lidos nesta rea da memria e guard-los tanto


quanto possvel para que as leituras subseqentes para os mesmos dados sejam somente
baseadas na memria, oposto ao baseado em disco (ligado diretamente a performance).

1.2.6. CPU

A CPU est envolvida pesadamente em facilitar todo o processo e essencial


performance e acesso ao sistema. O CPU agiliza os processos do servidor do banco de dados
e o broker do banco de dados to bem quanto seus processo normais.
1.3. DataServer

A prxima seo discute DataServers para mostrar como voc poder acessar bancos
de dados no-PROGRESS transparentemente. Transparentemente, significa que o cdigo
funcionar da mesma maneira, independente do banco de dados usado.
A figura a seguir, apresenta o funcionamento do DataServer.

Bases de dados
Fsicas

Base de Dados
Schema Holder

DataServer

Processo Intermedirio

Servidor do Banco de Dados CPU

Memria
Compartilhada

Cliente Remoto Cliente Self Service


1.3.1. Schema Holder

um banco de dados PROGRESS vazio que mapeia campos, tabelas, indexes, e todos
os objetos externos em formatos PROGRESS. O programas conectam ao schema holder
como se este possusse dados (mas, fisicamente no possui); o DataServer ento, serve dados
dos bancos de dados externos para a estrutura do PROGRESS. interessante notar que o
DataServer PROGRESS atualmente um cliente para um banco de dados externo.

Agora voc possui as informaes bsicas sobre a estrutura do banco de dados, que
permitir a voc compreender completamente o desenvolvimento de uma aplicao de
alcance empresarial. O conceito de uma estrutura de banco de dados verdadeira peculiar
para alguns que j tenham trabalhado em ambientes como dbase ou clipper. Nestes casos, no
existe uma estrutura verdadeira funcionando. Ao invs, o executvel da aplicao (.exe)
contm o mecanismo que solicita e gerencia os dados.

1.4. Limites do PROGRESS

O banco de dados PROGRESS possui suas limitaes. Entre elas podemos citar:

1.4.1. Banco de dados

Tamanho do Bloco Tamanho Mximo do Banco


512 bytes 32 GB
1024 bytes 64 GB
2048 bytes 128 GB
4096 bytes 256 GB

Obs.: O tamanho do Bloco do Banco de Dados em HP-UX 1024 bytes.


1.4.2. Elementos do Banco de Dados

Elemento Limite
Tabela Equivale ao tamanho mximo do banco de dados
ndice Depende do tamanho do bloco.
Tamanho do Bloco Nmero mximo de ndices
512 2048
1024 4096
2048 8192
4096 16384

No existe limite fsico especfico por tabela.


Entrada de Mximo de 16 campos por ndice. O tamanho total para cada ndice cerca
ndice de 188 caracteres por ndice.
Registro At 32 K por registro. Na prtica, devido ao tamanho da pilha e de buffer,
reduz-se a 15 Kb.
Atributo Limitado pelo tamanho do registro
Lock de Dependente do valor do parmetro -L (Lock table)
Registro
Worktable Tamanho mnimo 64 bytes. Est limitado pela memria disponvel no
sistema.

Existe tambm um limite do tamanho do arquivo fsico para o sistema operacional.


Este tamanho limitado pelo sistema operacional. Em DOS, 8 Mb (por motivos de
performance) e na maioria dos UNIX 2 GB. Para possuir um banco maior mais que o
especificado pelo sistema operacional, deve utilizar banco de dados em multivolume.

1.5. Sistemas Operacionais

O PROGRESS suporta vrios tipos de sistemas operacionais, os quais podemos


classificar em sistemas de memria compartilhada e sistemas de memria no compartilhada.

Sistemas de Memria Compartilhada Os sistemas de memria compartilhada usam uma rea


de memria compartilhada para suportar mltiplos
usurios concorrentemente. Estes incluem UNIX,
Windows NT, VMS e OS/2.
Sistemas de Memria no- Suportam somente um usurio concorrentemente. Estes
compatilhada so os sistemas baseados em DOS e Windows. Com
sistemas cliente/servidor, voc poder suportar
mltiplos usurios remotos.
1.6. Modos de Conexo

O PROGRESS possuem dois modos de conexo, que controlam quantos usurios


podem acessar a base de dados simultaneamente.

Modo Monousurio Somente uma sesso PROGRESS pode acessar o banco


de dados especificado por vez. Se o banco de dados
estiver em uso por outro usurio, voc no conseguir
conectar com este banco.
Somente utilize modo monousurio quando um usurio
necessitar acessar a base de dados, ou executar
programas para criar ou alterar um grande nmero de
registros em uma nica transao. Tambm utilize
modo monousurio quando for fazer alguma alterao
no dicionrio de dados.
Modo Multiusurio Mltiplas sesses podem acessar o banco de dados
simultaneamente. Um processo de servidor coordena
todos os acessos ao banco de dados de todos os
usurios.

Tanto em modo monousurio como em multiusurio, pode-se acessar o banco de


dados em modo interativo (on-line) ou de modo batch.

Modo interativo O usurio interage diretamente com o PROGRESS


Modo Batch O processamento ocorre sem a interao com o usurio.
Este modo muito utilizado quando em operaes de
atualizao de larga escala, ou programas que executam
a noite sem o auxlio do usurio. Observe que processos
em batch quando em multiusurio degradam a
performance de processo on-line.
1.7. Localizao do Banco de Dados

O PROGRESS suporta banco de dados local e remoto.

Banco de dados Local O banco de dados est localizado na mesma mquina onde
est a aplicao, ou sesso do PROGRESS.
Banco de dados Remoto O banco de dados est localizado na rede, desde que a
mquina onde esta sendo executada a aplicao tambm
esteja na mesma rede.

Para banco de dados remoto, podemos citar bancos de dados distribudos, que nada
mais so do que vrias bases de dados distribudas atravs da rede. Podendo ser um ou mais
bancos de dados por mquina.

1.8. Cliente / Servidor

Em um ambiente cliente/servidor, o cliente e o servidor so processos separados. Cada


servidor pode suportar mltiplos usurios. Os processos clientes so, normalmente, locais.
Estes clientes solicitam dados ao servidor , que acessa o banco de dados, procura os dados e
os retorna para os clientes. Para exemplificar, veja a figura abaixo:

Servidor Banco de Dados


Conexo
Local

Conexo
Remota

Cliente Cliente Cliente


2.1. Parmetros

Existem vrios parmetros que voc informa ao PROGRESS. Estes parmetros tem as
mais diversas funes, podendo, por exemplo, dizer ao PROGRESS, o quanto de memria ele
vai usar da mquina, em qual diretrio ele deve gravar arquivos temporrios, etc.
Estes parmetros esto explicados a seguir:

Blocos no Buffer do Banco de Dados (-B)

Sintaxe UNIX -B n
NT
DOS
OS/2
VMS /BUFFERS=n
Mximo 500.000
Mnimo 10
Padro (8 * nmero de
usurios)

n - nmero de blocos no buffer do banco de dados. Cada bloco tem a rea de um bloco do disco - 512
bytes em DOS, OS2 e VMS, 1024 na maioria dos sistemas UNIX (2048 em alguns). Aumentando este
parmetros mais blocos do banco ficaro em memria aumentando a performance.

Use este parmetro para alocar memria para armazenar registros do banco de dados
em memria. Cada vez que um programa acessar um registro do banco, o PROGRESS
verifica se este registro j no est em memria e no haver necessidade de ler do disco.
Geralmente, o valor do -B 3% do tamanho do banco. (Ex.: BANCO: 100MB -B:3)

Nmero de Cursores de ndice (-c)

Sintaxe UNIX -c n
DOS
Windows
OS/2
VMS /INDEX_CURSORS=n
Mximo
Mnimo
Padro (4 * nmero de
usurios)

n - nmero de cursores de ndice permitidos. Cada vez que um programa PROGRESS acessar um
arquivo para uma leitura seqencial ser usado cursor de ndice. Cada cursor usa 64 bytes. Se este
nmero estiver baixo o PROGRESS mostra a seguinte mensagem:

SYSTEM ERROR: Too few index cursors. Increase -c parameter.


Formato da Data (-d)

Sintaxe UNIX -d formato


NT
DOS
Windows
OS/2
VMS /DATE_FORMAT=formato
Padro dmy

formato - Formato da data que voc quer ver ao executar o MAGNUS. Este formato a combinao
das trs letras: d (dia), m (ms), y (ano). O padro DIA/MS/ANO (dmy).

rea do Diretrio de Programas (-D)

Sintaxe UNIX -D n
NT
DOS
Windows
OS/2
VMS /COMPILED_FILE_DIRECTORY=n
Mximo 500
Mnimo 5
Padro 36

n - Nmero de programas e includes que podem ser abertos ao mesmo tempo.

Cada programa executado durante uma sesso PROGRESS ocupa uma entrada de
diretrio. Cada programa ao ser compilado usa uma entrada de diretrio, bem como cada um
de seus includes. Se voc receber a seguinte mensagem este parmetro dever ser aumentado:

SYSTEM ERROR: Too few directory entries: Increase -D parameter.

Formato Numrico Europeu (-E)

Sintaxe UNIX -E
DOS
Windows
OS/2
VMS /NUMERIC_FORMAT=EUROPEAN
Padro -E

Este parmetro deve ser usado para indicar ao PROGRESS para interpretar os campos
decimais no formato europeu. Se no tiver este parmetro, ser usado o formato Americano.
Veja o exemplo a seguir:
Formato Europeu..: 191.065,00
Formato Americano: 191,065.00
Nmero de Entradas na Tabela de Bloqueio (-L)

Sintaxe UNIX -L n
NT
DOS
Windows
OS/2
VMS /LOCK_TABLE=n
Mximo depende S.O.

Mnimo 32
Padro 500,00
Limitado pela disponibilidade de memria e pelos parmetros de memria compartilhada

n - Nmero de entradas na tabela de bloqueios

Cada registro acessado em multiusurio usa uma entrada nesta tabela. Voc precisa
aumentar o valor deste parmetro se voc ver a seguinte mensagem durante a execuo de um
programa:

SYSTEM ERROR: Record lock table too small. Increase -L parameter.

Se voc aumentar o valor do -L e o problema persistir entre em contato com a


DATASUL, pois talvez o programa no qual vem ocorrendo o problema precise ser
reestruturado.
Neste erro somente o programa ser cancelado, mas o servidor do banco continuar
operando. Cada entrada nesta tabela usa 14 bytes no DOS e nos outros sistemas sem memria
compartilhada, e nos sistemas com memria compartilhada usa 18 bytes.
Utilizar sempre mltiplos de 32 para o valor do -L.

Nmero mximo de clientes por servidor (-Ma)

Sintaxe UNIX -Ma n


NT
OS/2
VMS /MAXCLIENTS=n
Mximo 2048
Mnimo 1
Padro 5
usurio/servidor

n - Nmero mximo de usurios remotos (clientes) por servidor.

Os parmetros -Mn, -Ma e -Mi so usados em sistemas com memria compartilhada e


que vo ter o banco acessado por usurios remotos.
Este parmetro indica quantos usurios remotos podero acessar um servidor.
Atraso na Gravao do Arquivo .bi (-Mf)

Sintaxe UNIX -Mf n


NT
OS/2
VMS /TRANSACTION_DELAY=n
Mximo 32768
Mnimo 0
Padro 0
O padro 3 para sistemas que usam memria compartilhada.

n - Nmero de segundos que o PROGRESS vai atrasar na gravao das transaes do arquivo before-
image (.bi).

Este parmetro pode ser usado para melhorar a performance em sistema muito
carregado. Ele faz com que o PROGRESS no grave imediatamente a transao no arquivo
before-image, com isto voc economiza algumas gravaes no arquivo before-image. Isto no
significa que seu banco ficar sem integridade. Quando ocorrer um erro do sistema voc
poder perder alm da ltima transao incompleta, outras transaes que foram completadas
neste perodo de atraso que voc determinou.
Este parmetro tambm pode ser usado em monousurio.

Nmero mnimo de clientes por servidor (-Mi)

Sintaxe UNIX -Mi n


NT
OS/2
VMS /MINCLIENTS=n
Mximo
Mnimo 1
Padro 1

n - Nmero de usurios remotos (clientes) num servidor antes de ser iniciado um novo servidor (at o
nmero mximo de usurios por servidor - parmetro -Ma).

Os parmetros -Mn, -Ma e -Mi so usados em sistemas com memria compartilhada e


que vo ter o banco acessado por usurios remotos.
Assim que o usurio remoto acessa o banco, iniciado um servidor para ele. Este
servidor ser iniciado a cada n usurios at o mximo de servidores (especificado pelo
parmetro -Mn). Por default, um novo servidor iniciado para cada um dos primeiros 4
usurios remotos. Os prximos usurios sero distribudos entre estes servidores at que seja
alcanado os parmetros -Mn ou -Ma.
Nmero mximo de servidores (-Mn)

Sintaxe UNIX -Mn n


NT
OS/2
VMS /MAXSERVERS=n
Mximo 512
Mnimo 1
Padro 4

n - Nmero mximo de servidores para clientes remotos que podem ser inicializados pelo servidor
local..

Este parmetro necessrio para sistemas operacionais que usam memria


compartilhada e que o banco de dados ser acessado por usurios remotos. Normalmente, o
banco acessado por usurios locais, mas em certas configuraes voc pode colocar o
banco em um equipamento e este banco ser acessado por usurios que esto em um outro
equipamento conectado via rede (TCP/IP, DECNET, etc), ou seja, usurios remotos.
Quando o usurio remoto vai acessar o banco atravs da rede o servidor do banco inicia
um outro servidor para este usurio remoto (tambm conhecido por client). Voc pode
especificar o nmero mximo de servidores que podem ser inicializados (atravs deste
parmetro -Mn), o nmero mximo de usurios por servidor (-Ma) e o nmero mnimo de
usurios por servidor (-Mi).

Exemplo de uso dos parmetros -Mn, -Ma e -Mi

Suponha que voc ter 40 usurios remotos para acessar um banco na sua mquina e
voc definiu os seguintes parmetros:

Exemplo 1) -Mn 10 -Ma 4 -Mi 1


Os 10 primeiros usurios remotos tero um servidor cada um, pois o nmero mnimo
de usurios por servidor 1. Os usurios seguintes sero divididos entre estes 10 servidores.
Cada servidor poder servir at 4 usurios.

Exemplo 2) -Mn 10 -Ma 4 -Mi 3


Neste caso o PROGRESS vai iniciar um servidor a cada 3 usurios. Assim que atingir
10 servidores, o PROGRESS vai distribuir os usurios entre os servidores iniciados. Esta
configurao melhor que a primeira.
Nmero de Usurios (-n)

Sintaxe UNIX -n n
NT
DOS
Windows
OS/2
VMS /NUMBER_OF_USERS=n
Mximo 2048
Mnimo 1
Padro
O valor mximo pode ser menor se sua mquina no estiver rodando Unix System 5, mas este valor
ser no mnimo 10.
Depende do equipamento: UNIX System 5: 20
Pyramid: 50
Openet: 64
MS-DOS: 20
Outros: 10

n - O nmero mximo de usurios no banco de dados. Aps este nmero ser alcanado, outros usurios
no vo conseguir iniciar sesso neste banco de dados.

Em sistemas que no tem memria compartilhada, use este parmetro para limitar o
nmero de usurios para o servidor do banco. Em sistemas com memria compartilhada, -n
deve incluir usurios locais e remotos.

Impressora (-o)

Sintaxe UNIX -o impressora


NT
DOS
Windows
OS/2
VMS /PRINTER=impressora
Padro lp -s
Este o padro para o sistema UNIX.

impressora - Identifica a impressora padro para o PROGRESS.

Veja o captulo sobre Impressoras neste manual para obter maiores informaes sobre
este parmetro e como configurar impressoras no MAGNUS.

Programa Inicial (-p)

Sintaxe UNIX -p programa


NT
DOS
Windows
OS/2
VMS /STARTUP=programa
Padro menu.p
programa - nome do programa que deve ser executado ao iniciar o PROGRESS.

Arquivo de Parmetros (-pf)

Sintaxe UNIX -pf arquivo


NT
DOS
Windows
OS/2
VMS /PARMFILE=arquivo

arquivo - Nome de um arquivo do sistema operacional que contm parmetros. Este arquivo deve ter a
terminao .pf e pode ser criado usando-se um editor de textos formato ASCII.

Este arquivo til quando voc tem muitos parmetros na linha de comando,
especialmente em DOS onde o tamanho mximo da linha de comando 128 bytes.
Voc pode agrupar neste arquivo todos os parmetros que pretende usar e indica atravs
deste parmetro a localizao do mesmo. No MAGNUS, cada banco tem seu prprio arquivo
de parmetros (i00adm.pf, i00ind.pf e i00com.pf).
Voc pode usar mais de um arquivo de parmetros ao mesmo tempo na linha de comandos.

Pedido Rpido (-q)

Sintaxe UNIX -q
NT
DOS
Windows
OS/2
VMS /QUICK_REQUEST
Padro

Ao executar um programa, o PROGRESS procura por este programa no PROPATH1.


Ao encontrar o programa, o PROGRESS verifica se ele no foi alterado procurando pelo
fonte deste programa. Isto til num ambiente de desenvolvimento, mas para o usurio final
isto pode ser evitado usando-se este parmetro.
O uso deste parmetro tende a melhorar a performance, pois, o PROGRESS s vai
pesquisar o PROPATH no primeiro uso do programa.

1
Veja no captulo 2 informaes sobre PROPATH.
Modo de Compilao de Programas (-rx)

Sintaxe UNIX -rx


NT
DOS
Windows
OS/2
VMS /XCOMPILER

Este parmetro usado somente no script libera e explicado adiante no tpico


Compilao de Programas. Este parmetro serve para compilar programas criptografados
(formato que a DATASUL envia os programas para compilao nos clientes) e para quando
precisar fazer alguma alterao nas definies do dicionrio de dados. Em situao normal
voc no precisa usar este parmetro.

Nome do Servidor (-S)

Sintaxe UNIX -S nome-do-servidor


DOS
Windows
OS/2
VMS /SERVICE=nome-do-servidor

nome-do-servidor - um nome para o servidor do PROGRESS.

Esta opo poder ser usada em dois casos: quando iniciando um servidor que vai ser
acessado por usurios remotos, ou quando usando o PROGRESS como usurio remoto. Neste
caso, o nome do servidor deve ser o mesmo nos dois casos.
Em redes Novell usando NLM ser necessrio criar um nome de servidor para cada um
que voc carregar. E para cada usurio que for acessar o servidor do banco dever ter tambm
o -S. Por exemplo: coloque o nome do servidor do i00adm como si00adm, o i00ind como
si00ind e o f00com como si00com.

Diretrio para Arquivos Temporrios (-T)

Sintaxe UNIX -T diretrio


NT
DOS
Windows
OS/2
VMS /TEMPORARY_FILES=diretrio
Padro O Home Directory
do usurio

diretrio - Nome do diretrio para o PROGRESS gravar arquivos temporrios.

Se no for informado este parmetro, o PROGRESS grava os arquivos temporrios no


diretrio corrente. Em UNIX, VMS e OS2 estes arquivos comeam por lbi, pge, srt e trp e
terminam com o nmero do processo da sesso PROGRESS. Em DOS, estes arquivos tem o
mesmo prefixo mas, terminam com 5 caracteres de preenchimento.
Se voc estiver usando LAN DOS, possvel que vrios usurios usem o mesmo
diretrio temporrio e os mesmos arquivos temporrios. Isto pode gerar conflito. Se isto
estiver ocorrendo voc pode receber a seguinte mensagem:

Sob o IBM PC Network:

Unable to open or create mgadm.srt, error 3

Sob NOVELL NetWare:

Network error: file in use during CREATE A FILE.


File = mgadm.srt
Abort, Retry, Fail ?

Neste caso para cada usurio voc deve definir um diretrio de trabalho diferente. Isto
pode ser feito da seguinte maneira:

1. no script MAGNUS.BAT coloque o parmetro -T %TEMP%


2. defina no AUTOEXEC.BAT de cada usurio o valor da varivel TEMP com o comando set
TEMP=C:\TMP1, por exemplo.
3. Assim, quando o usurio executar o MAGNUS.BAT a varivel TEMP estar apontando para um
diretrio diferente.

Classificao Rpida (-TB)

Sintaxe UNIX -TB n


NT
DOS
Windows
OS/2
VMS /TBLOCKS=n
Mximo 31
Mnimo 1
Padro 2

n - Nmero de blocos (em 1024 bytes) que voc deseja alocar quando o PROGRESS for fazer uma
classificao (sort) de registros ou quando for reindexar ndices 2. O default 2 KB mas pode estar em
qualquer valor na faixa de 1 a 31 KB.

Este parmetro usado para melhorar a performance quando for feita uma classificao
de registros (sort).
Para fazer uma classificao de registros o PROGRESS usa a memria (valor do -TB),
mas a partir do momento que no tem memria para isto, ele vai gravando num arquivo de
trabalho. Ento, se for um tamanho maior, mais memria voc vai ter para estas
classificaes.

2
Veja adiante o tpico Reindexao do Banco de Dados.
Nmero de Merge (-TM)

Sintaxe UNIX -TM n


NT
DOS
Windows
OS/2
VMS /MERGE_NUM=n
Mximo 32
Mnimo 1
Padro 5

n - Nmero de blocos que podem ser simultaneamente unidos durante o processo de classificao.

Incremente este parmetro para melhorar a performance durante um processo de


classificao (Este parmetro implica no uso de mais memria da mquina).

Nome Fsico do Banco de Dados (-db)

Sintaxe UNIX -db nome-banco


DOS
NT
Windows
VMS
OS/2

nome-banco - Nome fsico do banco de dados. Pode ser includo o nome do diretrio tambm.

Este parmetro utilizado na hora que voc conectar um banco no PROGRESS. Ele
indica a localizao fsica do banco de dados. Ateno: No confunda o nome fsico de um
banco com o nome lgico (parmetro -ld).

Nome Lgico do Banco de Dados (-ld)

Sintaxe UNIX -ld nome-lgico


DOS
Windows
OS/2
VMS /LOGICAL_DBNAME=nome-lgico

nome-lgico - Nome lgico do banco de dados.

Este parmetro se utiliza na hora que voc conectar um banco no PROGRESS, e


compilar um programa nesta base de dados. Portanto, caso voc mude o nome fsico do
banco, o nome lgico deve permanecer o mesmo, seno os programas compilados antes da
alterao no podero rodar.
Acesso em Monousurio (-1)

Sintaxe UNIX -1
DOS
NT
Windows
OS/2
VMS

Este parmetro utilizado, caso voc deseje acessar um banco PROGRESS em monousurio.

Nome do Arquivo de After-Image (-a)

Sintaxe UNIX -a nome-arquivo


DOS
NT
Windows
OS/2
VMS /AFTER_IMAGE=nome-arquivo

nome-arquivo - Nome do arquivo que indica o local do after-image.

Este parmetro dever ser usado quando voc estiver trabalhando com after-image.
Veja neste manual e no manual Progress System Administration Guide, o captulo que fala
sobre o Processamento after-image.

Nome do Arquivo Before-Image (-g)

Sintaxe UNIX -g nome-arquivo-bi


DOS
NT
Windows
OS/2
VMS /BEFORE_IMAGE=nome-arquivo-bi

nome-arquivo-bi - Nome do arquivo do before-image.

Um banco de dados composto por trs arquivos. Por exemplo, para o banco i00adm,
voc ter o arquivo i00adm.db, i00adm.bi e i00adm.lg. O arquivo .bi usado pelo
PROGRESS para processamento de transaes.
Por default, o PROGRESS considera que este arquivo est no mesmo diretrio do
banco de dados (arquivo .db). Mas, algumas vezes, voc pode colocar este arquivo em um
outro disco para ganhar performance, sendo ento necessrio especificar neste parmetro
onde est o arquivo .bi do banco.
Por exemplo, voc instalou o MAGNUS no diretrio /usr/MAGNUS mas, depois
moveu o arquivo .bi do mgadm para o diretrio /disco1/MAGNUS. No arquivo mgadm.pf
dever ter a seguinte linha para indicar que o .bi est neste outro diretrio:

-g /disco1/MAGNUS/i00adm.bi
Nome do Usurio do Banco (-U)

Sintaxe UNIX -U nome-usurio


DOS
NT
Windows
OS/2
VMS /USER=nome-usurio

nome-usurio - Nome do usurio que voc pretende setar como usurio ativo no banco de dados.

Dentro de cada banco de dados existe o controle de usurios e senhas. Este controle
feito pelo PROGRESS. Se voc desejar definir um usurio padro para o banco pode ser
informado neste parmetro. O usurio dever ter sido previamente cadastrado no banco. Veja
neste manual o captulo sobre Segurana para maiores detalhes. Neste parmetro, voc
informa o Usurio veja o parmetro -P a seguir que indica como informar a senha.

Senha do Usurio do Banco (-P)

Sintaxe UNIX -P senha


DOS
NT
Windows
OS/2
VMS /PASSWORD=senha

senha - Senha do usurio (parmetro -U) que voc pretende setar como usurio ativo no banco.

3.1. Importncia

Entende-se por Backup as cpias que so feitas de um conjunto de arquivos em outro


dispositivo magntico, para o caso da perda do original, ter uma cpia de segurana. Esta
perda pode ser ocasionada por algum problema na mquina. Algumas vezes, voc pode fazer
algum teste no banco, no obter o resultado desejado e resolva voltar a cpia antiga, etc.
Enfim, sempre importante que voc tenha uma cpia de segurana do seu banco de dados.
Temos exemplos de clientes que perderam trabalhos de uma semana por no terem feito
backup neste perodo.
No espere por uma oportunidade de descobrir por si mesmo a importncia do Backup,
previna-se.

3.2. Do que deve ser feito Backup ?

Basicamente, no MAGNUS, voc deve fazer backup da base de dados (todos os


bancos), dos programas executveis (*.r) e dos utilitrios diversos.
Os bancos do MAGNUS devem ser copiados sempre juntos, para que as
informaes estejam sempre sincronizadas. A base de dados mnima do MAGNUS
composta dos bancos de dados mgadm, mgind e mgcom. Cada um destes bancos possui,
originalmente, 3 arquivos: .db, .bi e .lg. Alm, claro dos arquivos de parmetros .pf. Ento,
faa o backup dos seguintes arquivos:

i00adm.db, i00adm.bi, i00adm.lg e i00adm.pf


i00ind.db, i00ind.bi, i00ind.lg e i00ind.pf
i00com.db, i00com.bi, i00com.lg e i00com.pf

E dos outros arquivos semelhantes para os outros banco de dados do MAGNUS que
voc possui. No diretrio em que foi instalado o MAGNUS voc ter os sub-diretrios dos
programas dos mdulos (exemplo: ctp o diretrio da Contabilidade). bom que sempre se
faa cpia destes programas, para o caso de uma perda do disco, voc no precise solicitar os
fontes criptografados para recompilar.
Os utilitrios diversos so os scripts de inicializao do MAGNUS (smagnus,
MAGNUS e fmagnus), os arquivos que esto no diretrio util, o script libera e instala, etc.

3.3. Qual mdia magntica utilizar para o Backup ?

Depende do equipamento que voc est utilizando para rodar o MAGNUS. Existe por
exemplo, equipamentos que utilizam fita DAT, que tem capacidade para 2 GB, e pode
portanto armazenar todo o diretrio do MAGNUS de uma s vez (banco, programas e
utilitrios). Existe equipamento que s possui unidade de disquete. Neste caso, interessante
separar o backup do banco em um jogo de disquetes, e dos programas e utilitrios em outro.
claro que, voc pode tambm separar cada mdulo dos programas em um jogo de disquetes
diferente. A mesma coisa para os bancos de dados (i00adm, i00ind e i00com).

3.4. Perodo de Backup

Para o backup do Banco de Dados importante que seja feito diariamente. Veja o
tpico Exemplo de um Esquema de Backup.
Dos programas voc pode fazer uma cpia semanal. Isto depende das novas verses
de programas que voc recebeu.
E dos utilitrios faa uma cpia sempre que alterar algum dos parmetros dos scripts
(MAGNUS, smagnus, fmagnus, etc).

3.5. Backup Utilizando o Sistema Operacional

Voc vai usar os comandos do seu sistema operacional para fazer backup da base de
dados, dos programas e utilitrios. Opcionalmente, voc pode usar o comando probkup do
PROGRESS para backup do banco. Veja o prximo tpico.
A seguir, damos exemplos dos comandos por sistema operacional.

3.5.1. Backup em DOS/OS2

Em DOS, normalmente, se usa o comando BACKUP para copiar os programas para


disquete e o comando RESTORE para voltar um cpia de backup.
Para fazer um backup do banco de dados mgadm execute o seguinte comando (posicione-se
no diretrio do MAGNUS antes):
BACKUP I00ADM.* A:

Este comando dever ser executado para cada um dos bancos (i00adm, i00ind e i00com).
Para fazer o backup dos programas do diretrio cdp (Cadastros) execute:

BACKUP CDP A:/S

Neste exemplo, estamos supondo que a unidade de disquete A:. O parmetro /S indica pro
DOS copiar os sub-diretrios. Para cada diretrio de programas execute este comando. No
captulo 1. MAGNUS I.00 voc tem a relao dos mdulos.

Para retornar algum backup digite o comando:

RESTORE A: C:/S

Obs.: Veja a documentao do MSDOS para maiores detalhes sobre o comando BACKUP e
RESTORE.

3.5.2. Backup em UNIX

Neste sistema operacional sempre se usa o comando cpio. Para fazer um backup
usando este comando, precisaremos de um outro comando do sistema para gerar a lista de
arquivos a serem copiados. Vamos usar o comando find. A sintaxe ser a seguinte:

find lista-arquivos -print | cpio -opces > dispostivo

onde: lista-arquivos - nomes dos arquivos e/ou diretrios


opes - opes para gravao no cpio
dispositivo - dispositivo no qual ser feito o backup
A seguir, temos um exemplo do backup dos bancos de dados num equipamento HP com fita
DAT.

find i00adm.* i00ind.* i00com.* -print | cpio -ovcB > /dev/rmt/0m

Este comando vai copiar a base de dados do MAGNUS para unidade de fita DAT.

O seguinte comando copia todo o contedo do diretrio do MAGNUS para fita DAT.

find . -print | cpio -ovcB > /dev/rmt/0m

Posicione-se no diretrio em que foi instalado o MAGNUS para fazer o backup.

Para retornar um backup tambm usado o cpio. Exemplo:

cpio -iduvcB < /dev/rmt/0m

Este comando vai retornar da Fita DAT todos os arquivos que foram copiados previamente
com o cpio.
Veja na documentao do seu sistema operacional maiores informaes sobre a
sintaxe do comando cpio, e sobre os dispositivos instalados, pois eles variam de equipamento
para equipamento (nos exemplos aqui, usamos /dev/rmt/0m).

3.5.3. Backup em VMS

Em VMS voc poder fazer backup usando o utilitrio BACKUP. Veja a


documentao do seu sistema para maiores detalhes sobre este utilitrio.

3.6. Backup utilizando probkup e prorest3

Para fazer backup do banco de dados voc pode usar o comando probkup. Este
comando deve ser feito para um banco de dados de cada vez. Se voc fizer um probkup do
banco i00adm, voc no poder usar este dispositivo (disquetes, fita DAT, fita streamer) para
os outros bancos. Cada banco dever ter seu prprio dispositivo.
A vantagem deste comando com relao ao comando do sistema operacional a seguinte:

no comando do sistema operacional sempre copiado o banco de dados completo.

no probkup, voc pode usar o backup incremental, ou seja, depois de um backup completo, pode ser
copiado somente o que foi alterado de um dia para o outro. Ainda, existe a possibilidade de se fazer
backup online com o probkup. Ou seja, pode ser feito backup durante o uso do MAGNUS.

Por exemplo, na segunda-feira a noite voc faz um backup completo do banco de


dados. Se o banco tiver 100 MB, todos 100 MB sero copiados para a unidade de backup. Na
tera-feira a noite voc faz o backup incremental, ou seja, s ser copiado o que foi alterado
neste dia, que menos que os 100 MB do dia anterior.
A seguir, temos um esquema tpico usando o probkup completo e incremental (estes
backup so realizados a noite e para cada dia ser usada uma mdia magntica diferente):

Segunda Tera Quarta Quinta Sexta


Fazer um Probkup Probkup Probkup Fazer um
probkup incremental. incremental. incremental. probkup
completo do S ser S ser S ser completo do
banco de copiado as copiado as copiado as banco de
dados. alteraes do alteraes do alteraes do dados.
dia. dia. dia.

Se ocorrer algum problema com o banco de dados, dever ser feito o seguinte, dependendo do
dia em que precise voltar o backup:

Segunda Tera Quarta Quinta Sexta

3
O comando probkup e prorest esto descritos, tambm, no System Administration Guide II do PROGRESS (Verso 6) e System
Administration Reference (Verso 7).
Voltar o Voltar o Voltar o Voltar o Voltar o
backup backup backup backup backup
completo de completo de completo de completo de completo de
Sexta. Segunda. segunda mais segunda mais segunda mais
o backup o backup o backup
incremental incremental incremental
de Tera. de Tera e de Tera,
Quarta. Quarta e
Quinta.

Ento, por exemplo, se ocorrer algum problema na quarta-feira e voc precisar voltar
o backup, primeiro retorne o backup completo da segunda-feira e em seguida o backup
incremental da tera-feira. Adiante mostrado como fazer isto.
Voc pode ajustar o ciclo conforme suas necessidades. Mas, importante no deixar
um espao muito grande entre dois backup's completos. A PROGRESS recomenda pelo
menos um backup completo por semana.

3.6.1. Probkup Completo do Banco de Dados

A seguir, mostrada a sintaxe do comando probkup para fazer um backup completo


(este programa est no sub-diretrio probin no diretrio em que voc instalou o
PROGRESS):

Sistema Operacional Comando para Reindexar o banco de dados


DOS, UNIX, OS/2 probkup banco dispositivo [-vs n] [-bf n]
VMS PROGRESS/BACKUP[/SIZE=n][/BLOCKING_FATOR=n] banco
dispositivo

O banco o nome que voc deseja fazer o backup completo. No MAGNUS dever ser
i00adm, i00ind ou i00com.
O dispositivo o nome do dispositivo no qual ser feito o backup. Depende do
sistema operacional. Veja os exemplos a seguir:
O parmetro -vs (/SIZE) indica a capacidade em blocos do dispositivo que voc est
gravando. O tamanho do bloco depende do sistema operacional (512 em DOS, OS2 e VMS, e
1024 na maioria dos sistemas UNIX). Este parmetro util por exemplo ao gravar em
disquete DOS.
O parmetro -bf (/BLOCKING_FATOR) indica quantos blocos devem ser lidos para
memria antes de gravar no dispositivo. O tamanho do bloco tambm depende do sistema
(512 em DOS, OS2 e VMS, e 1024 na maioria dos sistemas UNIX).

3.6.2. Probkup incremental

O probkup incremental s poder ser realizado aps um probkup completo. A sintaxe do


comando a seguinte:

Sistema Operacional Comando para Reindexar o banco de dados


DOS, UNIX, OS/2 probkup banco incremental dispositivo [-vs n] [-bf n] [-io n] [-
scan]
VMS PROGRESS/BACKUP/INCREMENTAL[/SIZE=n][/BLOCKING_FATOR=
n][/OVERLAP=n][/SCAN] banco dispositivo

A diferena da sintaxe do incremental para o completo a seguinte:

A incluso da palavra incremental no comando.

A opo do fator de overlap -io (/OVERLAP). Este parmetro serve para o seguinte: se voc usar o
fator de overlap 1, significa que ser feito o backup das alteraes do dia e tambm as alteraes do
dia anterior. Fator 2 indica que alm do backup das alteraes do dia, tambm ser feito backup dos 2
dias anteriores e assim por diante.

A opo -scan (/SCAN) que calcula a rea necessria para o backup incremental, j que no
possvel saber esta rea antes do backup.

3.6.3. Probkup Online

O probkup online pode ser usado para fazer backup de um banco em uso. A sintaxe
a seguinte:

Sistema Operacional Comando para Reindexar o banco de dados


UNIX, OS/2 probkup online banco incremental dispositivo [-vs n] [-bf n] [-
io n] [-scan]
VMS PROGRESS/BACKUP/ONLINE[/INCREMENTAL][/SIZE=n][/BLOCKIN
G_FATOR=n][/OVERLAP=n][/SCAN] banco dispositivo

Exceto pela opo online (/ONLINE) a sintaxe a mesma do backup completo e


incremental. Voc no poder executar backup online nas seguinte situaes:

Em sistemas operacionais sem memria compartilhada, exemplo DOS.

Quando o banco de dados estiver sendo usado em monousurio.

Quando o after-image do banco estiver habilitado4

Enquanto outros modos de backup exigem que o banco no esteja em uso, o backup
online permite que se faa backup durante este uso. Entretanto, usando backup online pode
degradar a performance um pouco. Isto porque, quando o PROGRESS estiver copiando o
arquivo de before-image, voc no poder acessar o banco. Se o before-image estiver muito
grande, voc poder esperar at 30 segundos ou mais para o PROGRESS copiar o arquivo.
Quando for iniciar o backup online, certifique-se que o dispositivo esteja pronto
(disquete, fita, etc.) para o backup. Se no, o PROGRESS no vai poder gravar as
informaes no dispositivo. At o PROGRESS gravar estas informaes, voc no poder
acessar o banco. Se voc usar mais um volume para backup (exemplo, disquetes) haver um
tempo de espera durante a troca dos volumes.

4
Veja neste Manual o captulo sobre processamento After-Image.
Obs.: Backup criado com probkup online s poder ser restaurado com utilitrio prorest da
verso 6. Veja o tpico a seguir.

3.6.4. Restaurando Backup feito com o probkup (prorest)

Quando feito um backup usando o probkup, voc deve usar o comando prorest do
PROGRESS para restaurar o backup. Este programa se encontra no sub-diretrio probin no
diretrio em que foi instalado o PROGRESS.
A sintaxe do prorest a seguinte:

Sistema Operacional Comando para Reindexar o banco de dados


DOS, UNIX, OS/2 prorest banco dispositivo
VMS PROGRESS/RESTORE banco dispositivo

banco o nome do banco que voc quer voltar o backup e dispositivo o dispositivo
onde se encontra o backup. O prorest usa o mesmo fator de bloco que foi feita a gravao.

3.6.5. Regras importantes para restaurar backup incremental

Voc deve restaurar na ordem em que foi feito o backup. Primeiro, restaure o backup
completo, seguido do primeiro backup incremental, seguido do segundo backup incremental e
assim por diante. Se voc tentar restaurar um incremental fora de seqncia o PROGRESS
emite uma mensagem de erro e a operao cancelada.
Se voc perder a segunda cpia do incremental, mas usou o fator de overlap 1, ento o
terceiro incremental vai restaurar corretamente os dados perdidos do segundo.
Aps restaurar um backup completo, no atualize nada no banco, se voc tiver mais backup
incremental a ser restaurado. Se voc entrar no banco, todos os backup incrementais (ainda
no restaurados) vo ficar invlidos, at que voc restaure tudo novamente, a partir do backup
completo.
Se ocorrer uma falha no sistema durante a restaurao do banco, recomece a partir o
backup que voc estava processando quando ocorreu a falha.

3.7. Exemplos de Uso do probkup e prorest

A seguir, vamos dar um exemplo de um backup do banco de dados i00adm nos


diversos sistemas operacionais. No exemplo o banco ser sempre o i00adm, mas se voc for
usar este modo de backup no esquea que o processo deve ser repetido para os outros
bancos: i00ind e i00com. E tambm, a mdia magntica deve ser outra, uma para cada banco.
Os dispositivos que sero mostrados so apenas exemplos, verifique no seu
equipamento qual dispositivo voc tem disponvel bem como quantos blocos possui. Como
falamos anteriormente o tamanho do bloco depende do sistema, podemos citar 512 bytes para
DOS, OS2 e VMS, 1024 na maioria dos sistemas operacionais, etc.
Quando o backup for feito em dipositivo multi-volume (unidade de disquete) o
PROGRESS faz uma pausa para troca do disquete.
3.7.1. Exemplo de uso do probkup em DOS

Neste exemplo, vamos fazer um backup do banco i00adm para uma unidade de
disquete no drive a.

The bi file requires a total of 128 blocks (65536 bytes) of full


backup media.
i00adm requires an unknown amount of bytes for backup media.

1. Na primeira vez que for fazer um backup completo, voc pode executar o utilitrio
prostrct5 para determinar quantos disquetes sero necessrios para fazer o backup.

prostrct statistics i00adm

Este comando mostra o nmero de blocos que o banco de dados possui.

2. Execute o comando probkup para fazer o backup completo do banco:

probkup i00adm.db a:\i00adm -vs 708

Neste exemplo o dispositivo o arquivo \i00adm no drive a. A opo -vs indica que a
rea do disquete 708 * 512 = 362249 bytes (512 = tamanho do bloco em DOS). Por default
o fator de bloco 30. A seguinte tela mostra o relatrio gerado quando o backup inicia:

Na mensagem acima, o PROGRESS diz que necessrio 163 blocos para backup e
302 blocos para restaurar o banco. Esta diferena ocorre porque o PROGRESS compacta os
dados antes do backup.

3. Aps executar o backup completo voc pode executar o probkup incremental.


i00adm requires a total of 163 blocks (83456 bytes) of backup media.
3 of those blocks will then be free.
160 out of 160 active data blocks will be dumped.
mgadm requires a minimum of 302 (154624 bytes) blocks to restore.

probkup i00adm.db a:\i00adm1 incremental -vs 708 -bf 50

Neste exemplo, o dispositivo de sada o arquivo \i00adm1 no drive a. O fator de bloco


50 e a seguinte tela indica o relatrio gerado.

J que no foi usada a opo -scan o PROGRESS no pode determinar quantos blocos
sero usados para o backup.

5
Voc tem maiores informaes sobre o prostrct no captulo so bre after-image.
4. Para retornar o backup do banco i00adm voc usa o prorest. Voc pode retornar como
i00adm ou dar um novo nome para o banco, neste caso dever ser alterado o parmetro -db no
arquivo .pf6.

prorest i00adm.db a:\i00adm

Voc dever ter um relatrio na tela parecido com este.

i00adm requires a total of 163 blocks (166912 bytes) of


full backup media.
NO BACKUP HAVE BEEN DONE.
Total number of allocated blocks = 79
Total number of allocated blocks that are free: 22
Total number of allocated blocks that are used: 57

5. Para retornar o backup incremental use o comando prorest indicando o nome do banco e o
dispositivo.

prorest i00adm.db a:\i00adm1

Processing volume 1.
a:\i00adm is a full backup of i00adm.db
This backup was taken on Wed Feb 10 20:30:00 1993
It will require a minimum of 38 blocks to restore.

A seguinte tela mostra o relatrio gerado:

3.7.2. Exemplo de uso do probkup em UNIX

1. Na primeira vez que for fazer um backup completo, voc pode executar o utilitrio
prostrct7 para determinar quantos blocos sero necessrios para fazer o backup.

Processing volume 1.
a:\i00adm1 is a incremental backup of i00adm.db
This backup was taken Fri Feb 13 20:30:10 1993
It is based on the full backup of Wed Feb 10 20:30:00 1993
It will require a minimum of 38 blocks to restore.

prostrct statistics i00adm

Este comando mostra o nmero de blocos que o banco de dados possui.

2. Execute o comando probkup para fazer o backup completo do banco:

6
No captulo 3. Administrao voc tem informaes sobre os parmetros de banco.
7
Voc tem maiores informaes sobre o prostrct no captulo sobre after-image.
probkup i00adm.db /dev/rmt/0m -vs 4000 -bf 20

Neste exemplo o dispositivo o /dev/rmt/0m. A opo -vs indica que a rea do dispositivo
4000 * 1024 = 4000 Kbytes. O fator de bloco 20. A seguinte tela mostra o relatrio gerado
quando o backup inicia:

3. Aps executar o backup completo voc pode executar o probkup incremental.

probkup i00adm.db /dev/rmt/0m incremental -vs 4000 -bf 50

Neste exemplo, o dispositivo de sada o /dev/rmt/0m. O fator de bloco 50 e a seguinte tela


indica o relatrio gerado.

4. Para retornar o backup do banco i00adm voc usa o prorest. Voc pode retornar como
i00adm ou dar um novo nome para o banco, neste caso dever ser alterado o parmetro -db no
arquivo .pf8.

i00adm requires a total of 64 blocks (65536 bytes) of backup media.


3 of those blocks will then be free.
61 out of 61 active data blocks will be dumped.
i00adm requires a minimum of 64 (65536) blocks to restore.

Voc dever ter um relatrio na tela parecido com este.


i00adm requires a total of 64 blocks (65536 bytes) of backup media.
3 of those blocks will then be free.
61 out of 61 active data blocks will be dumped.
i00adm requires a minimum of 64 (65536) blocks to restore.

prorest i00adm.db /dev/rmt/0m

3.7.3. Exemplo de uso do probkup em VMS

1. Como ser feito um backup completo, podemos usar o utilitrio de estatsticas para saber
quanto de rea o banco possui. Execute o comando:

PROGRESS/STRUCTURE/STATISTICS i00adm

Este comando mostra o nmero de blocos que o banco possui9.

2. Use o seguinte comando para fazer o backup completo:

PROGRESS/BACKUP/BLOCKING_FATOR=20/SIZE=4000 i00adm dispositivo

8
No captulo 3. Administrao voc tem informaes sobre os parmetros de banco.
9
Voc tem maiores informaes sobre o prostrct no captulo sobre after-image.
Neste exemplo, o dispositivo de backup dever ser informado em dispositivo. /SIZE
indica que o dispositivo de backup possui 4000 blocos de rea. A seguinte tela surgir quando
for iniciado o backup completo:

3. A seguir, temos o comando para executar backup incremental no banco:

PROGRESS/BACKUP/INCREMENTAL/BLOCKING_FATOR=20/SIZE=4000
i00adm dispositivo

4. Para retornar o backup do banco i00adm voc usa o prorest. Voc pode retornar como
i00adm ou dar um novo nome para o banco, neste caso dever ser alterado o parmetro -db no
arquivo .pf.

PROGRESS/RESTORE i00adm dispositivo

3.8. Exemplo de um esquema de Backup do Banco de Dados

Neste tpico damos um exemplo de um esquema para controle de backup. Caso voc
for utilizar este esquema com o comando probkup do PROGRESS, aconselhamos a usar
sempre backup completo para cada dia e assim evitar confuso com backup incremental.
O uso deste esquema exige disciplina, mas um esquema muito seguro para controle
do backup. A rotina de backup do seu banco de dados deve ser efetuada utilizando os
seguintes discos:

- A = Banco de Dados em uso


- B = Cpia Diria Nmero 1
- C = Cpia Diria Nmero 2
- D = Cpia Diria Nmero 3
- E = Cpia Semanal
- F = Cpia do Perodo (Ms)

O procedimento de cpia o seguinte:

Segunda-Feira --> Copiar "A" para "B"


Tera-Feira --> Copiar "A" para "C"
Quarta-Feira --> Copiar "A" para "D"
Quinta-Feira --> Copiar "A" para "B"
Sexta-Feira --> Copiar "A" para "C", sendo que "C" passar
a ser a cpia semanal e "E" ser liberado
para realizao de cpias dirias,
substituindo a cpia "C".

Segunda-Feira --> Copiar "A" para "D"


Tera-Feira --> Copiar "A" para "B"
Quarta-Feira --> Copiar "A" para "E"
Quinta-Feira --> Copiar "A" para "D"
Sexta-Feira --> Copiar "A" para "B", sendo que "B" passar
a ser a cpia semanal e "C" ser liberado
para realizao de cpias dirias,
substituindo a cpia "B".

Antes do Fechamento --> Fazer a cpia diria normalmente,


porm guardar a cpia como sendo o
backup do perodo, liberando o disco
"F" para as cpias dirias.

Este rodzio necessrio para que as cpias mensais e semanais sejam utilizadas
diariamente tambm, sendo assim, caso haja algum problema com a cpia (erro fsico) voc
possa detectar o problema numa cpia diria, o que menos grave do que encontrar o
problema em uma cpia mensal que a sua ltima alternativa.

Seguindo as instrues, o usurio ter os seguintes backup's:

- Situao do dia anterior do processamento


- Situao do penltimo dia de processamento
- Situao do antepenltimo dia de processamento
- Situao da ltima semana
- Situao do ltimo perodo encerrado

3.9. Teste do Backup

importante que periodicamente se faa um teste do backup. Principalmente dos


bancos de dados. Voc pode fazer isto da seguinte forma:

1. Crie um banco de dados teste (pode ser usado o banco demo do PROGRESS: prodb teste demo).
2. Faa o backup deste banco usando os mesmos comandos que voc usa para o seu banco.
3. Retorne este backup para um diretrio temporrio que seja diferente do diretrio em que est o seu
banco teste. (Voc deve tomar cuidado ao usar o Backup/Restore do DOS, pois ele grava o diretrio
no backup).

3.Compare os dois bancos usando o comando cmpdb do PROGRESS. A sintaxe deste


comando a seguinte:

Sistema Operacional Comando para comparar dois bancos


DOS, UNIX, OS/2 cmpdb banco1 banco2
VMS PROGRESS/TOOLS=CMPDB banco1 banco2

Obs.: o cmpdb no pode ser usado em bancos multi-volume.

Este teste importante para saber se no h nenhum problema com a mdia na qual
voc est fazendo o backup e nem com os comandos que voc est usando.
3.10. Cuidados com a Mdia Magntica

Descrevemos a seguir, alguns cuidados que voc deve ter, afim de aumentar a vida til
dos disquetes e fitas que usar para backup. Alm, claro de garantir as informaes do seu
backup.

1. Fumar inadmissvel. O maior perigo no est na fumaa, mas nas cinzas. Use cinzeiro daqueles que
seguram o cigarro e o esvazie com freqncia.
2. Faa muitas cpias de segurana.
3. Discos, quando fora de uso, devem ficar guardados em posio vertical, sempre dentro das capas.
4. To logo tenha feito um Backup, coloque a etiqueta lateral de proteo e tire-a somente quando, de s
conscincia, for liberar o Backup.
5. Use etiquetas de fcil destaque na hora da remoo, procure faz-lo com o disquete apoiado (nunca
no ar), firmando pelo canto (nunca pelo centro). Toda operao de colocar ou retirar etiqueta deve ser
feita com o disco dentro da capa. Procure escrever antes de colar; use caneta hidrocolor. A etiqueta,
quando colada de qualquer maneira, pode deixar fragmentos.
6. Evite poeira. Se possvel, o ambiente dos discos jamais deve ser varrido (use pano mido e aspirador
de p).
7. Evite vapores qumicos, detergentes, aerosol, cho-encerado.
8. Se um disco desencapado cair no cho, cuide imediatamente de saber se ainda pode ser lido; faa
nova cpia de segurana.
9. No se deixe enganar euforicamente quando, aps sucessivas mensagens de erro no disquete ele
deixa passar, principalmente se voc executou um (I)gnore.
10. Ateno ao colocar o disquete na unidade - se isto for feito de forma dispersiva, voc pode esbarrar
as partes sensveis da gravao em algum obstculo.
11. To logo tenha recebido novos disquetes, formate todos de uma vez, no os deixe virgens por muito
tempo.
12. Evite guard-los em armrios ou gavetas de ferro. Use madeira ou acrlico.
13. Evite coloc-los perto de motores, telefones, rdios, enfim qualquer coisa que possa gerar campo
magntico.
14. Mantenha todo o seu conjunto de computador afastado de alimentos.
15. Muito cuidado: no coloque mais de 10 (dez) disquetes numa caixa de papelo. A maioria dos discos
danificada pelo excesso de presso.
16. Pelo fato de terem o nome de "discos flexveis", no vamos ficar por a entortando-os.
17. Nunca use grampeador ou clips para anexar bilhetes aos discos, pois os mesmos no suportam serem
perfurados.
18. Quando transportar ou enviar disquetes em malotes ou correio faa uma embalagem resistente com
caixas de material rgido ou de papelo duro para evitar que os discos sejam amassados.
3.11. Outras Recomendaes

No copiar o banco de dados em uso10 - Certifique, antes de fazer o backup que no tem nenhum
usurio usando o banco de dados. Em ambiente multiusurio voc pode executar o comando
fmagnus, conforme descrito no captulo 3, e verificar se tem algum usurio conectado ao banco. Em
monousurio, veja o arquivo .lg do banco. Nele tem a relao dos usurios que acessaram o banco.

Teste o Backup - Pior do que voc no ter uma cpia de backup para voltar, esta cpia no voltar
por causa de erro na mdia. Por isso importante voc sempre fazer um teste para ver se o dispositivo
no qual voc est fazendo backup confivel. Volte o backup do banco de dados em um outro
diretrio somente para ver se ele est em perfeitas condies.

No use mdia magntica de baixa qualidade - No economize comprando disquetes, fitas streamer
para backup, que sejam de baixa qualidade. Voc vai fazer o backup e importante que seja um
material confivel.

No use uma mdia por muito tempo - Com o tempo, alguns disquetes, ou fitas, tendem a perder a
qualidade de gravao. Veja com seu fornecedor qual o tempo de uso da mdia magntica.

Identifique claramente cada backup - As informaes que voc colocar na identificao do backup
(etiqueta) devem incluir:
1. data e hora do backup.
2. o nome do banco de dados.
3. o nmero do volume e o total de volumes da mdia, mesmo se for somente um nico volume.
4. o nome da pessoa que fez o backup.
5. o comando para restaurar o backup (importante).

Mantenha o backup dirio por pelo menos duas semanas, o semanal por dois meses, e o mensal por
um ano. Comprar mdia magntica extra, mais barato do que reconstruir bancos danificados.

Mantenha algumas cpias de backup em outro prdio que no seja o local de trabalho, na casa de
algum diretor da empresa, por exemplo. Com isto, se ocorrer algum sinistro no prdio da empresa,
voc ter suas informaes salvas.

No esquea de fazer backup - muito importante que o cliente esteja sempre com o backup em dia,
pois imprevistos acontecem, e imprescindvel que voc possa retornar um backup confivel do seu
banco de dados. Lembre-se que so as informaes de sua empresa que esto em jogo.

No esquea de fazer backup....


No esquea de fazer backup....
No esquea de fazer backup....
No esquea de fazer backup....

10
Veja no captulo 3 o comando proutil holder.
4.1. Conceito de Multi-Volume

O PROGRESS fornece a possibilidade de voc dividir os arquivos .db, .bi e .ai em


vrias partes (volumes ou extenses) que so acessadas como se fossem um nico arquivo.
Normalmente, s dividimos o arquivo .db.
Voc poder usar um banco multi-volume nas seguintes situaes:

Em alguns sistemas operacionais existe um certo limite para o tamanho mximo de arquivo. Na
verdade, ao alcanar este limite o sistema tende a perder performance. Ento, interessante dividir .db
em vrias partes com este tamanho mximo. Exemplo: em DOS, se o seu banco passar de 8 Megabytes
convm usar multi-volume. Consulte o seu sistema operacional para ver se no h algum limite deste
tipo.
Quando no disco em que estiver o arquivo .db no tiver mais espao, voc pode transformar o .db em
multi-volume e continuar usando o primeiro volume neste disco e os outros volumes podem ser
gravados em outros discos.
De uma forma geral se for distribudo os volumes em vrios discos a performance tende a melhorar,
pois est se distribuindo as gravaes e leituras para vrias controladoras de disco. importante
salientar que se distribua em vrios discos fsicos diferentes. Em alguns sistemas, um mesmo disco pode
ser dividido em unidades lgicas diferentes.

O tratamento multi-volume por banco de dados. No caso do MAGNUS I.00 voc


pode fazer o multi-volume para o i00adm, i00ind, i00com ou outro banco qualquer.
A seguir, mostramos um esquema do banco i00adm normal e i00adm em multi-volume, para
voc ter um idia:

1. i00adm normal:

Dados

i00adm.db

2. i00adm multi-volume:

Localizao
das Dados Dados
Extenses .......

i00adm.db i00adm.d1 i00adm.d2


Como voc observou, ao transformar um banco em multi-volume o arquivo .db
servir para indicar ao PROGRESS onde esto as extenses do banco (arquivos .d1, .d2, etc).
O acesso ao banco continua o mesmo, voc no precisa alterar nenhum script do MAGNUS,
pois o PROGRESS sabe quando o banco multi-volume e trata todas as extenses como se
fossem um arquivo nico. O nico detalhe que se voc no estiver usando o probkup do
PROGRESS11 para fazer backup, dever copiar todas as extenses do banco juntas. Lembre-
se que elas podem estar em discos separados.
Voc pode ter vrias extenses para um banco. Estas extenses so identificadas pelo
nome do banco mais .d1, .d2, .d3 e assim por diante. A ltima extenso do banco vai ter
tamanho varivel (para que o banco possa continuar crescendo), mas as outras extenses tero
tamanho fixo.

4.2. Passos para transformar um banco em Multi-Volume

1. Fazer um backup do banco de dados que voc ir transformar em multi-volume.


2. Criar um arquivo de descrio da nova estrutura do seu banco de dados (nmero de extenses,
tamanho de cada uma, localizao).
3. Criar a nova estrutura do banco com o prostrct create do PROGRESS. A rea que voc definir para
cada extenso fixa ser alocada automaticamente pelo PROGRESS. Voc dever ter rea em disco
suficiente para fazer isto. Veja adiante como criar um estrutura sem rea em disco.
4. Copiar os dados do banco antigo para a nova estrutura. Esta cpia pode ser feita usando o comando
procopy do PROGRESS ou retornando um backup que foi feito com o probkup.

Estes so os passos para transformar um banco em Multi-Volume. A seguir, ser


explicado cada passo em detalhes.

4.2.1. Backup do Banco de Dados

sempre bom fazer o backup do banco, antes de fazer alguma grande alterao no
mesmo. No caso do banco multi-volume, ser til fazer o backup com o probkup, pois voc
poder retornar o backup na nova estrutura que voc criou. Se fizer o backup usando os
comandos do sistema operacional isto no ser possvel.

4.2.2. Criao do Arquivo de Estrutura (.st)

Usando um editor de textos, formato ASCII, crie um arquivo com a descrio das
extenses do banco que voc deseja criar. A seguir, temos um exemplo de um arquivo com
uma estrutura em UNIX:

As linhas que se iniciam por * so comentrios.


As linhas que se iniciam por d indicam que ser descrita uma extenso do banco. Para
cada extenso voc deve especificar o diretrio e nome da extenso. No nosso exemplo
estamos usando o diretrio /disco1/MAGNUS. Este um exemplo para UNIX, voc dever
informar de acordo com o sistema operacional. Em cada extenso fixa deve-se colocar o
11
O purobkup est descrito no captulo 3. Backup.
parmetro f e o tamanho da extenso. Neste exemplo, as trs primeiras extenses so fixas e
tem tamanho de 5000 blocos. No UNIX, o tamanho do bloco geralmente 1024 bytes e em
DOS e VMS 512 bytes. A ltima extenso livre, ou seja, enquanto as trs primeiras tem
tamanho limitado a ltima poder crescer ilimitadamente. Voc tem opo de adicionar novas
extenses mais tarde.
*
* i00adm.st - exemplo de estrutura
*
d /disco1/MAGNUS/i00adm.d1 f 5000
d /disco1/MAGNUS/i00adm.d2 f 5000
d /disco1/MAGNUS/i00adm.d3 f 5000
d /disco1/MAGNUS/mgadm.d4

4.2.3. Criao da Estrutura do Banco Multi-Volume

Para criar a estrutura do banco multi-volume voc dever ter rea em disco suficiente
para esta estrutura. No exemplo anterior voc precisar de pelo menos 25000 blocos livres
(5000 para cada um das trs extenses). Isto porque ao criar uma estrutura o PROGRESS j
aloca a rea definida no arquivo de estrutura. Lembre-se de reservar alguma rea tambm para
a ltima extenso (que varivel).
A partir daqui, poder surgir trs situaes diferentes:
1. Voc tem rea em disco suficiente para criar a estrutura, mesmo com o banco de dados que pretende
transformar em multi-volume.
2. Voc no tem rea em disco suficiente para criar a estrutura e vai usar o probkup.
3. Voc no tem rea em disco suficiente para criar a estrutura e no vai usar o probkup.

Vamos explicar os passos para cada uma das trs situaes.

1. Criao da Estrutura com rea em disco disponvel

Nesta situao voc dever ter rea em disco suficiente para acomodar o banco de
dados e a estrutura que ser criada. Em UNIX, o comando df fornece a rea disponvel, em
DOS use o comando DIR. Em VMS, use o comando SHOW DEVICE.
Ao criar uma estrutura multi-volume necessrio que ela tenha um nome diferente do
banco. Por isto sugerimos, que antes de criar a estrutura, renomeie o banco de dados. Voc
deve renomear o arquivo .db, .bi e .lg.
Exemplo UNIX:

mv i00adm.db i00adm1.db
mv i00adm.bi i00adm1.bi
mv i00adm.lg i00adm1.lg

Exemplo DOS e VMS:

REN I00ADM.DB I00ADM1.DB


REN I00ADM.BI I00ADM1.BI
REN I00ADM.LG I00ADM1.LG
O banco de dados ser ento o I00adm1 e voc vai criar a estrutura chamada I00adm,
que aps a transferncia dos dados, ser o banco de dados que voc usar.
Para criar a estrutura dever ser usado o comando prostrct create, cuja sintaxe a seguinte:

Sistema Operacional Comando para criar Estrutura


UNIX, DOS, OS2 prostrct create nome-banco arquivo.st
VMS PROGRESS/STRUCTURE/CREATE=arquivo.st nome-
banco

O comando prostrct est no diretrio probin sob o diretrio onde foi instalado o
PROGRESS. Por exemplo, se o diretrio do PROGRESS o /usr/dlc voc deve executar o
comando /usr/dlc/probin/prostrct.
U tilizando o arquivo de estrutura mostrado no tpico anterior, voc deve executar o
seguinte comando em DOS, UNIX ou OS2:

prostrct create i00adm.db i00adm.st

Em VMS execute o seguinte comando:

PROGRESS/STRUCTURE/CREATE=i00adm.st i00adm.db

Lembre-se de renomear o banco de dados, se voc pretende criar a estrutura com o mesmo
nome do banco. Voc ter ento no seu disco a estrutura vazia do i00adm e o banco de dados
i00adm1 (que foi renomeado anteriormente). Voc precisar agora transferir os dados do
banco para a estrutura criada. Voc usar o comando procopy. A sintaxe a seguinte:

Sistema Operacional Comando para criar Estrutura


UNIX, DOS, OS2 procopy banco-origem banco-destino
VMS PROGRESS/COPY banco-origem banco-destino

Para o nosso exemplo execute o seguinte comando em DOS/OS2/UNIX:

procopy i00adm1 i00adm

Em VMS execute:

PROGRESS/COPY i00adm1 i00adm

Com este comando ser feita a transferncia dos dados do banco i00adm1 para a
estrutura i00adm. Aps a transferncia dos dados, o banco estar pronto para ser usado e voc
poder eliminar o banco antigo usando o comando prodel do PROGRESS. Exemplo em
UNIX/DOS/OS2:

prodel i00adm1

Exemplo VMS:

PROGRESS/DELETE i00adm1
2. Criao de Banco Multi-Volume usando o probkup

Caso voc no tenha rea em disco suficiente para acomodar a estrutura e o banco de
dados, pode ser usado o probkup para auxiliar na criao do multi-volume. Os passos so os
seguintes:
usar o probkup para fazer um backup do banco;
eliminar o banco para obter rea em disco suficiente para a estrutura;
criar a estrutura usando o prostrct create e o arquivo .st;
retornar o backup do banco para a nova estrutura usando o prorest;

Veja no captulo 4. Backup como fazer um backup usando o comando probkup. Para
maior segurana, voc pode fazer mais de um backup para o banco, usando por exemplo o
comando do seu sistema operacional (BACKUP, cpio, etc). Caso ocorra algum problema
voc pode voltar o backup do banco. A seguir, temos um exemplo do uso do probkup em
UNIX para o banco i00adm:

probkup i00adm /dev/rmt/0m

Para eliminar o banco de dados use o comando prodel do PROGRESS. Por exemplo,
se voc estiver transformando o i00adm em multi-volume execute o comando prodel i00adm
(em VMS: PROGRESS/DELETE mgadm). Com isto voc ter rea suficiente para criar a
estrutura vazia do banco.
Para criar a estrutura ser usado o comando prostrct create. Veja no item anterior (1.
Criao da Estrutura com rea em disco disponvel) a sintaxe e um exemplo de como criar a
estrutura.
Aps a criao da estrutura voc deve retornar o backup feito anteriormente para a nova
estrutura do banco. O comando prorest tambm descrito no captulo 4. Backup. Conforme
o exemplo anterior teramos:

prorest i00adm /dev/rmt/0m

Este comando vai copiar os dados do banco para a nova estrutura criada e o banco estar
pronto para uso.

3. Criao do Banco Multi-Volume sem usar o probkup

Se voc no tiver rea em disco suficiente para o banco e a estrutura e no utilizar o


probkup para fazer um backup do banco, voc deve transformar o seu banco em multi-volume
com uma nica extenso e adicionar novas extenses depois.
Voc usa o comando prostrct convert para transformar o seu banco para um banco
multi-volume. Lembre-se de truncar o bi12 do banco e fazer um backup.
A sintaxe do comando a seguinte:

Sistema Operacional Comando para converter o banco em multi-volume


UNIX, DOS, OS2 prostrct convert nome-banco
VMS PROGRESS/STRUCTURE/CONVERT nome-banco

12
O comando para truncar o bi est descrito no captulo 3> Administrao do MAGNUS.
Por exemplo se voc quiser transformar o banco i00adm em multi-volume execute o
seguinte comando (UNIX/DOS/OS2):

prostrct convert i00adm

Este comando vai renomear o arquivo i00adm.db para i00adm.d1 (primeira e nica
extenso do banco) e vai criar o i00adm.db como arquivo de estrutura do banco. Voc poder
ento adicionar novas extenses para o banco i00adm usando o comando prostrct add que
descrito a seguir.
*
* nova.st - nova extenso para o banco i00adm
*
d /disco2/MAGNUS/i00adm.d4

4.3. Adicionando novas extenses ao Multi-Volume

Depois que voc comear a usar o banco multi-volume, pode ser que a ltima
extenso do banco, que sempre de tamanho varivel, comece a ficar muito grande e voc
queira adicionar novas extenses ao banco. Estas novas extenses podem inclusive estar em
outro disco ou sistema de arquivos. Voc pode ainda adicionar novas extenses a um banco
no qual voc usou o prostrct convert.
Para tanto, voc deve criar um novo arquivo de estrutura (arquivo .st) contendo
somente a descrio das novas extenses que pretende adicionar. Suponha que voc esteja
usando o banco i00adm como multi-volume e ele j tenha 3 extenses. Vamos adicionar uma
nova extenso para este banco. Usando um editor de textos, formato ASCII, voc pode criar o
arquivo nova.st com o seguinte contedo:

Neste caso estamos adicionando a extenso i00adm.d4 ao banco i00adm. Voc usar
ento o comando prostrct add, cuja sintaxe a seguinte:

Sistema Operacional Comando para adicionar nova extenso


UNIX, DOS, OS2 prostrct add nome-banco arquivo.st
VMS PROGRESS/STRUCTURE/ADD=arquivo.st nome-banco

No nosso exemplo voc usaria o seguinte comando:

prostrct add i00adm nova.st

Depois de executar este comando o banco passar a ter 4 extenses. Lembre-se que a ltima
extenso ser sempre varivel.
4.4. Listando a Estrutura do Multi-Volume

Para voc listar a estrutura de um banco multi-volume voc pode usar o comando
prostrct list. Este comando gera um arquivo de estrutura (.st) com o mesmo nome do banco.
A sintaxe do comando a seguinte:

Sistema Operacional Comando para listar a estrutura do multi-volume


UNIX, DOS, OS2 prostrct list nome-banco
VMS PROGRESS/STRUCTURE/LIST nome-banco

Exemplo:

prostrct list i00adm

Com este comando ser gerado o arquivo i00adm.st com a descrio da estrutura do multi-
volume.

4.5. Usando Estatsticas do Banco

Para um banco de dados voc pode emitir um relatrio da utilizao da rea do banco
de dados. Voc usa o comando prostrct statistics. Este comando lhe fornece as seguintes
informaes:

O nmero de blocos necessrios para realizar um backup completo usando o probkup.


O nmero de blocos necessrios para realizar um backup incremental do banco.
O nmero total de blocos alocados para o banco de dados.
O nmero total de blocos livres.
O nmero total de blocos em uso.

A sintaxe do comando a seguinte:

Sistema Operacional Comando para listar estatsticas do banco


UNIX, DOS, OS2 prostrct statistics nome-banco
VMS PROGRESS/STRUCTURE/STATISTICS nome-banco

4.6. Algumas consideraes sobre multi-volume

Como foi falado no comeo, o multi-volume ser til naqueles sistemas que tem uma
certa limitao para o tamanho mximo de um arquivo, ou quando no disco em que se
encontra o arquivo .db no tem mais rea em disco. Se voc separar um banco em vrios
discos lembre-se que ao fazer backup voc deve copiar o arquivo .db, .bi, .lg e todas as
extenses do banco. A no ser que voc esteja usando o probkup, que reconhece o banco
multi-volume.
O multi-volume feito por banco de dados. Nos exemplos deste captulo, usamos
sempre o banco i00adm. Voc pode usar o multi-volume em todos os outros bancos tambm.
5.1. After-Image e Before-Image

Neste primeiro tpico, falaremos sobre como o PROGRESS faz para recuperar os
dados em caso de erro. Falaremos sobre cada um dos dois mtodos: after-image e before-
image.
Convm relembrar que, um banco de dados composto por um arquivo .db, .bi e .lg.
No caso do i00adm, por exemplo, teremos o i00adm.db, i00adm.bi e i00adm.lg. Quando for
habilitado o after-image teremos ainda um quarto arquivo chamado .ai (i00adm.ai por
exemplo).

5.1.1. Como funciona o processamento Before-Image

Este processamento feito automaticamente pelo PROGRESS e protege o banco de


dados contra falhas no sistema (uma queda de energia por exemplo), mas no protege contra
uma falha no disco. No caso de uma falha no disco voc deve voltar o backup. Voc no
precisa habilitar o before-image para que ele funcione. Isto feito automaticamente pelo
PROGRESS.

** The last session was abnormally terminated.


** Any incomplete transactions are being backed out.
** Data recovery is complete. You must return all active transactions.

Press space bar to continue.

Como exemplo, imagine que voc est usando o MAGNUS e ocorra queda de energia.
Quando voc entrar novamente no MAGNUS voc ver as seguintes mensagens na tela:

Voc ver esta mensagem para cada banco de dados que estiver sendo modificado no
momento do erro. Esta mensagem indica que a ltima sesso terminou de modo anormal e
que as transaes incompletas esto sendo desfeitas. Tudo aquilo que j foi atualizado no
banco, o PROGRESS mantm. Mas as transaes incompletas so desfeitas. No PROGRESS
temos o conceito de transao, que um conjunto de alteraes no banco de dados que deve
ser feita por completo ou no. Por exemplo, a atualizao do movimento da Contabilidade,
pode ser considerada uma transao. Se durante a atualizao ocorrer algum problema, ela
ser desfeita e voc dever reinici-la do comeo.
Imagine que voc vai alterar alguma informao no cadastro de clientes, por exemplo
o endereo. Assim que, voc for alterar o registro do cliente, o PROGRESS grava uma cpia
deste registro no arquivo .bi do banco. Voc altera o registro de cliente e ele regravado no
arquivo .db. Se por acaso ocorrer algum erro durante a atualizao do registro, o PROGRESS
usa a cpia que ele gravou no arquivo .bi para restaurar a situao anterior do registro no
arquivo .db. Veja o esquema a seguir que ilustra este exemplo:
o Progress l o registro
arquivo
de clientes do banco (.db)
.db

o Progress grava uma copia


Inicio da alterao
do registro no .bi arquivo
.bi

o Progress regrava o registro


Fim das alteraes
arquivo
com as alteraes no .db
.db

O before-image tem as seguintes caractersticas:

automtico. Voc no precisa habilit-lo para usar.


Protege contra falhas do sistema.
No protege contra perda do disco.

Se voc estiver usando seu banco de dados e ocorrer uma falha no disco em que ele se
localiza, voc s vai poder recuper-lo retornando um backup. Neste caso, voc pode perder
todas as alteraes feitas desde o ltimo backup. Imagine que foi feito o backup na segunda-
feira noite, e ocorreu um erro na tera tarde. Voc vai retornar o backup e perder todas as
alteraes que foram feitas na tera de manh. neste caso que entra o processamento after-
image.

5.1.2. Processamento After-Image

Quando voc estiver usando o after-image o PROGRESS far um trabalho extra ao


modificar o banco de dados. Alm de regravar o registro alterado no arquivo .db ele gravar
uma cpia do mesmo no arquivo de after-image (.ai). Veja o esquema a seguir:
o Progress l o
registro
arquivo
de clientes do banco
(.db) .db

o Progress grava uma


Inicio da alterao copia
do registro no .bi arquivo
.bi

o Progress regrava o
Fim das alteraes registro
arquivo
com as alteraes no
.db
.db

alm de gravar o
registro arquivo
no .db, tambm .ai
gravado
uma copia no .ai

No caso de ocorrer um erro no disco em que est o banco de dados, voc deve retornar
o backup do banco e reprocessar o after-image do dia. Assim, voc ter o seu banco na
mesma situao anterior a que o ocorreu o problema no disco. Ento, s faz sentido usar o
after-image, se voc tiver mais de um disco. Um para manter o banco de dados (.db, .bi e
.lg) e outro para manter o arquivo de after-image (.ai).
Para usar o after-image necessrio que o mesmo precise ser habilitado. Adiante
descrito este procedimento. Algumas caractersticas do after-image:

No automtico. Voc precisa habilitar o mesmo para poder us-lo.


Requer que voc esquematize um procedimento regular de backup.
Protege seu banco contra perda do disco (a menos que ocorra problema no disco em que est o banco
de dados e no disco em que est arquivo de after-image).
5.2. Preparao para usar o After-Image

Antes de habilitar o after-image voc deve tomar conhecimento de alguns pontos, para
que ele possa ser usado de uma forma correta e eficiente.

5.2.1. Escolhendo a localizao para os arquivos do banco

Como falamos, anteriormente, um banco de dados composto pelos arquivos .db, .bi
e .lg. Quando voc estiver usando after-image teremos ainda um quarto arquivo com
terminao .ai. Para que tenha sentido usar o after-image necessrio ter mais de um disco no
seu equipamento. Normalmente, voc ter a seguinte configurao (tomando como exemplo o
after-image para o banco mgadm):

mgadm.db mgadm.ai

Disco 1 Disco 2
mgadm.bi

mgadm.lg

Mquina

Ao definir a localizao para os arquivos .db, .bi, .lg e .ai, tenha em mente o seguinte:

Para proteo contra falhas de hardware coloque o arquivo .ai em um disco diferente dos arquivos
.db, .bi e .lg.
Por causa de performance voc pode colocar o arquivo .bi em um disco diferente do .db 13. Tenha o
cuidado de no colocar o .bi no mesmo disco do .ai.

Obs.: neste captulo ao falarmos de "banco de dados", estaremos nos referindo aos arquivo
.db, .bi e .lg. O "arquivo after-image" ser o arquivo .ai do banco.

13
Voc faz isto usando o parmetro -g, que descrito no captulo 3.
5.2.2. Estratgia de Backup

O processamento after-image uma segurana a mais para o seu banco de dados, mas
ele no funciona sem backup. Veja o seguinte esquema:

situao atual do banco = ltimo backup + arquivo after-image atual

O backup do banco de dados poder ser feito usando o comando probkup do


PROGRESS ou os comandos do seu sistema operacional. Neste manual, voc tem um
captulo dedicado ao backup. Recomendamos que voc defina seu mtodo de backup
primeiro para depois comear a usar o after-image.
preciso um controle bastante rgido com relao ao backup, no sentido de identificar
as mdias nas quais voc faz o backup. Voc deve ter o nome do banco, a data em que foi
feito, quem fez o backup e o comando para retornar o mesmo.

5.3. Usando o After-Image

Depois de definir sua poltica de backup, voc pode comear a usar o after-image. Voc usar
dois utilitrios do PROGRESS:

proutil - este utilitrio est no diretrio bin que se encontra no diretrio em que foi instalado o
PROGRESS.
rfutil - este utilitrio est no diretrio bin que se encontra no diretrio em que foi instalado o
PROGRESS (ex.: se o PROGRESS foi instalado no diretrio /usr/dlc, voc deve executar o seguinte
comando para usar o rfutil: /usr/dlc/bin/rfutil <opes>).

5.3.1. Passos para usar o after-image

Vamos tomar como exemplo o banco i00adm. Suponha que voc queira habilitar o after-
image deste banco. Os passos que voc deve seguir so os seguintes:

1. Faa um backup do banco de dados. Pode ser usado o probkup ou o comando do seu sistema
operacional (cpio, tar, BACKUP, etc). Antes de fazer o backup interessante verificar se o banco no
est em uso e truncar o arquivo .bi14.
1. Se voc no usou o comando probkup para fazer o backup, voc deve marcar o banco como
"backupeado". Adiante explicado como fazer isto.
2. Habilite o after-image no banco i00adm. Ser usado o rfutil.
3. Agora voc pode usar o banco i00adm normalmente. A diferena que voc precisa usar o parmetro
-a para indicar onde se localiza o arquivo after-image.
4. Aps o uso do banco, no final do dia, encerre a sesso PROGRESS. Caso esteja sendo usado em
multiusurio derrube o servidor.
5. Faa o backup do banco de dados e do arquivo after-image (.ai).
6. Inicie um novo arquivo after-image usando o rfutil. A partir deste ponto o banco estar liberado
novamente para uso.

A seguir, descreveremos cada um dos passos necessrios para uso do after-image.

14
Veja o captulo 3. Administrao para informaes sobre estes comandos.
5.3.2. Fazendo backup do Banco de Dados

Os passos necessrios para fazer um backup do banco esto descritos no captulo 4.


backup. essencial que voc use o comando truncate bi para truncar o before-image do banco
antes do backup. Tenha sempre em mente que para iniciar um arquivo after-image preciso
fazer o backup do banco de dados antes.

5.3.3. Marcando o banco como "backupeado"

Marcar o banco como "backupeado" significa indicar ao PROGRESS que foi feito
backup do mesmo. O PROGRESS verifica isto ao iniciar o after-image. Quando voc usa o
probkup no tem necessidade de fazer isto, pois o banco marcado automaticamente. Se voc
usar os comandos do seu sistema operacional (cpio, tar, BACKUP/RESTORE, etc)
necessrio executar o seguinte comando:

Sistema Operacional
Comando para marcar o banco como "backupeado"
UNIX, DOS, OS2 rfutil nome-banco -C mark backedup [ -g nome-bi ]
VMS PROGRESS/UT=MARK_BACKEDUP[/BEFORE_IMAGE=nome
-bi]
nome-banco

Para marcar o banco i00adm como backedup use o comando (UNIX/DOS/OS2):

rfutil i00adm -C mark backedup

Em VMS, o exemplo seria o seguinte:

PROGRESS/UT=MARK_BACKEDUP i00adm

5.3.4. Habilitando o after-image do banco

Para habilitar o after-image voc usa o comando rfutil aimage begin. Este comando:
Cria o arquivo after-image do banco.
Marca no banco que ele possui after-image habilitado.

O comando o seguinte:

Sistema Operacional Comando para habilitar after-image


UNIX, DOS, OS2 rfutil nome-banco -C aimage begin
buffered/unbuffered -a nome-ai [ -g nome-bi ]
VMS PROGRESS/UT=AIMAGE_BEGIN/AFTER_IMAGE=nome-
ai
[/BEFORE_IMAGE=nome-bi] nome-banco

Neste comando voc deve especificar o nome do banco e o nome do arquivo .ai. No
caso do .ai, voc deve informar o diretrio e disco em que ele dever ser criado.
Em UNIX/DOS/OS2, a opo BUFFERED faz com que as gravaes do .ai sejam
buferizadas pelo sistema operacional. Se for usado UNBUFFERED as gravaes sero feitas
diretamente pelo PROGRESS.
Obs.: Em VMS, todas gravaes so UNBUFFERED e esta opo no tem efeito no
comando.

A opo BUFFERED fornece uma performance melhor. Entretanto, se voc precisar


reprocessar o after-image, voc pode perder algumas transaes que foram completadas nos
dois ltimos minutos antes do momento em que ocorreu o erro. Mas isto no afeta em nada a
estrutura do seu banco.
Por exemplo, para habilitar o after-image do mgadm voc usar o seguinte comando em
UNIX:

rfutil i00adm -C aimage begin unbuffered -a /disco2/MAGNUS/i00adm.ai

Em DOS/OS:

rfutil i00adm -C aimage begin unbuffered -a d:i00adm.ai

Em VMS:

PROGRESS/UT=AIMAGE_BEGIN/AFTER_IMAGE=USR:[U2]IOOADM.AI I00ADM

A partir deste momento, para usar o banco I00adm dever ser sempre especificado o
parmetro -a. Veja a seguir o tpico que explica como fazer isto. Se voc tentar iniciar um
after-image para um banco que foi modificado aps o ltimo backup, o rfutil mostrar uma
mensagem de erro e vai cancelar.

5.3.5. Usando um banco com after-image habilitado

Para usar um banco com o after-image preciso usar o parmetro -a. No caso do
MAGNUS, voc pode colocar este parmetro no arquivo .pf do banco. Por exemplo, se voc
for usar o after-image no i00adm, deve ser feita a seguinte alterao no i00adm.pf:

#
# i00adm.pf - parametros do i00adm
#
-db i00adm.db
-ld i00adm
-a /disco2/MAGNUS/mgadm.ai

Assim, ao executar o script MAGNUS o PROGRESS saber onde se localiza o


arquivo de after-image do banco.
No caso da carga do servidor tambm dever ser informado o parmetro -a. Sugerimos
que voc copie o script smagnus para smgadm por exemplo e coloque neste arquivo o
parmetro -a. A mesma coisa para o script fmagnus, que derruba o servidor do banco.
O PROGRESS no vai iniciar sesso se voc informar o nome do arquivo .ai incorretamente.
5.3.6. Iniciando um novo after-image

Aps fazer o backup do banco de dados e do arquivo de after-image, voc pode usar o
rfutil aimage new para iniciar um novo arquivo after-image. Ou seja, este comando trunca o
arquivo after-image do banco.

Sistema Operacional Comando para habilitar after-image


UNIX, DOS, OS2 rfutil nome-banco -C aimage new
buffered/unbuffered -a nome-ai [ -g nome-bi ]
VMS PROGRESS/UT=AIMAGE_NEW/AFTER_IMAGE=nome-ai
[/BEFORE_IMAGE=nome-bi] nome-banco

Este comando ser usado sempre que fizer o backup do banco com after-image
habilitado. Este comando difere do comando para habilitar o after-image pelo uso da opo
new no lugar de begin.

5.3.7. Desabilitando o after-image

Caso voc queira desabilitar o after-image de um banco, use o seguinte comando:

Sistema Operacional Comando para habilitar after-image


UNIX, DOS, OS2 rfutil nome-banco -C aimage end [ -g nome-bi ]
VMS PROGRESS/UT=AIMAGE_END[/BEFORE_IMAGE=nome-
bi
nome-banco

Aps este comando no ser mais necessrio usar o parmetro -a para acessar o banco.

5.4. Reprocessando um arquivo after-image

Neste tpico explicaremos o comando para reprocessar um arquivo after-image.


Imagine a seguinte situao: na tera-feira tarde ocorre um problema no seu disco e voc
perde o arquivo .db. Voc deve voltar o backup do banco de dados da segunda noite e
reprocessar o after-image do banco da tera. Assim, voc ter seu banco atualizado at o
momento em que ocorreu o erro.
O comando para reprocessar o after-image o seguinte:

Sistema Operacional
Comando para reprocessar o after-image
UNIX, DOS, OS2 rfutil nome-banco -C roll forward [verbose]
-a nome-ai [ -g nome-bi -B n -i ]
VMS PROGRESS/UT=ROLL_FORWARD/AFTER_IMAGE=nome-
ai
[/BEFORE_IMAGE=nome-bi/BLOCKS=n/NOINTEGRITY]
nome-banco

Neste comando se voc usar a opo -i (NOINTEGRITY) o processo de restaurao ser mais
rpido.
Se houver algum erro durante o ROLL FORWARD, ser necessrio voltar o backup do banco
e reiniciar o processo.

5.5. O que pode e o que no pode fazer no after-image

Tenha sempre em mente os seguinte cuidados ao usar after-image.


Sempre:
Teste seus backup's.
Faa backup do after-image. Identifique e guarde o mesmo. bom testar tambm este backup.
Trunque o arquivo .bi do banco antes de fazer o backup.
Faa o backup do arquivo .db, .bi e .lg juntos.
Faa o backup do arquivo .ai num dispositivo diferente.
Identifique todos os seus backup's.

Nunca:
Elimine o arquivo de after-image a no ser que esteja eliminando todo o banco e no necessita mais
do mesmo, ou tem um backup completo e seguro.
Use o AIMAGE NEW sem ter feito o backup do after-image.
Faa backup do after-image sem primeiro truncar o before-image.
Copie o arquivo .db sem copiar o .bi e .lg.
Elimine o .db ou .bi a no ser que no precise mais do banco, ou tenha um backup completo e seguro
do mesmo.
Volte o backup do arquivo .db sem voltar tambm o backup do .bi e .lg.

5.6. O que fazer durante erros do sistema

Neste tpico, falaremos sobre os procedimentos a serem executados no caso de


alguma falha no sistema, como queda de energia, perda de um disco por falha de hardware,
etc.

5.6.1. Durante o uso do proutil e rfutil

Se ocorrer algum problema no seu sistema durante o uso de algum destes utilitrios,
simplesmente reinicie o processo:

UNIX/DOS/OS2 VMS
proutil BUSY PROGRESS/UT=BUSY
proutil HOLDER PROGRESS/UT=HOLDER
proutil TRUNCATE BI PROGRESS/UT=TRUNCATE_BI
rfutil AIMAGE BEGIN PROGRESS/UT=AIMAGE_BEGIN
rfutil AIMAGE CHANGE PROGRESS/UT=AIMAGE_CHANGE
rfutil AIMAGE END PROGRESS/UT=AIMAGE_END
rfutil AIMAGE SCAN PROGRESS/UT=AIMAGE_SCAN
rfutil AIMAGE NEW PROGRESS/UT=AIMAGE_NEW
rfutil MARK BACKEDUP PROGRESS/UT=MARK_BACKEDUP
Se voc estiver executando o rfutil ROLL FORWARD (UNIX/DOS/OS2) ou
PROGRESS/UT=ROLL_FORWARD (VMS), ento faa o seguinte:

1. Volte a cpia de backup do banco de dados.


2. Reinicie o processo.

5.6.2. Durante o backup do Banco de dados

Se ocorrer algum erro durante o backup do banco, simplesmente reinicie o backup


novamente.

5.6.3. Durante o uso do PROGRESS

Se ocorrer erro do sistema durante o uso do PROGRESS, reinicie o processo. O


PROGRESS usar o arquivo de before-image para restaurar o banco (.db) e o after-image
(.ai). No importa se voc est usando a opo BUFFERED ou UNBUFFERED no after-
image. Em ambos os casos o PROGRESS vai restaurar os arquivos .db e .ai.
Se voc estiver usando o PROGRESS em UNIX/DOS/OS2 com a opo -r ou a opo
-i, o PROGRESS no poder restaurar completamente os erros do .db e .ai.

5.6.4. Perda do disco do .db ou .ai

Backup do after-image (.ai) - Seu after-image contm informaes que voc necessita
para atualizar o seu banco de dados. Faa backup do after-image num dispositivo diferente no
qual este arquivo est.
Retornando backup do banco de dados - Restaure o backup do banco (.db, .bi e .lg)
que foi feito imediatamente antes do incio do after-image atual. Se voc estiver usando o
probkup com a opo incremental, retorne o backup completo mais recente e todos os
incrementais que foram feitos. No retorne o backup de arquivos after-image anteriores. A
seguir, faa o reprocessamento do after-image do banco conforme descrito anteriormente
neste captulo.

5.6.5. Perda do arquivo after-image

Caso ocorra algum problema no disco do after-image e ele seja perdido, faa o seguinte:

1. desabilite o after-image.
2. trunque o .bi.
3. faa um backup do banco.
4. marque o banco como backedup.
5. habilite o after-image.

5.6.6. Perda do backup do banco

Voc pode reconstruir um banco de dados usando um backup anterior e o after-image


associado a este banco.
5.7. O que fazer quando o disco lotar

Se durante o uso do PROGRESS seu disco lotar, o PROGRESS vai encerrar e mostrar
uma mensagem de erro. Neste caso faa o seguinte:

1. Elimine os arquivos que no so necessrios neste disco.


2. Reinicie o PROGRESS, que ele far a recuperao automtica do banco.

Se no puder conseguir mais rea no disco para o PROGRESS fazer a recuperao


automtica, voc deve executar procedimentos de acordo com o contedo do disco.

5.7.1. Quando o disco do After-Image lotar

Se o disco em que estiver o after-image lotar, faa o seguinte:

1. Faa um backup do .db, .bi, .lg e .ai.


2. Remova o after-image do disco cheio.
3. Desabilite o after-image.
4. Reinicie o PROGRESS, para ele fazer a recuperao automtica do banco.
5. Encerre a sesso PROGRESS.
6. Trunque o .bi.
7. Faa backup do banco de dados.
8. Mark o banco como backedup.
9. Use o rfutil AIMAGE BEGIN para habilitar o after-image.
10. Volte ao uso normal do PROGRESS.

5.7.2. Quando o disco do .db ou .bi lotar

Neste caso, voc deve conseguir rea livre em disco para fazer a recuperao
automtica do banco. Se no for possvel mude estes arquivos para um disco maior.

5.8. Outras Consideraes

No captulo Roll Forward Recovery do manual System Administration do PROGRESS, tambm,


falado sobre o after-image.

O uso do after-image implica numa pequena diminuio da performance, mas por outro lado, voc
ter uma segurana a mais para seu banco de dados.

Se voc for usar o after-image no MAGNUS, isto dever ser implementado para os trs bancos
(i00adm, i00ind e i00com), porque se voc perder o disco onde esto os trs bancos, dever ser
reprocessado o after-image nos trs bancos para que eles estejam atualizados at o momento do
erro. No adianta reprocessar somente em um dos bancos, pois eles no estaro mais
sincronizados.

Como existem diversos passos para usar o after-image, ou seja, execuo de diversos comandos,
sugerimos que voc coloque estes comandos em script's (UNIX), ou arquivos lote (.BAT em DOS e
OS2) ou arquivos .COM em VMS.

Por motivos de performance, voc deve executar o comando "proaiw nome-do-banco" sempre que for utilizar o after-image.
Este comando deve ser executado logo aps a carga do servidor do banco de dados. Informaes detalhadas sobre este
procedimento podem ser encontradas no manual do System Administration do PROGRESS.

Você também pode gostar