DATASUS Departamento de Informática do SUS
Manual Prático de
Openbase para o
Hospub
Este manual foi criado por Ariobar Lima Pontes ([email protected]) - Técnico de Redes do IplanRIO, durante o Curso
de OpenBase ministrado no DATASUS, Rio de Janeiro, nos dias 13 e 14 de maio de 2008. A revisão foi realizada pela
Tecnocoop.
Manual Prático de Openbase para o Hospub Página 1/9
DATASUS Departamento de Informática do SUS
1. Instalando do OpenBase
Verificar a existência do diretório “/usr/tsgbd/tsdic”. Se não existir, criar. A versão 10.4 cria esses
diretórios de forma automática.
Se não houver uma especificação no BDCNFG, as tabelas serão criadas em “/usr/tsgbd/tsdic”.
2. Verificando se banco está no ar
O comando verifica se processo “bdsgbd” está carregado.
ps -ef | grep bdsgbd
Resultado típico do comando caso o banco esteja no ar
hospub 3264 3104 0 08:44 pts/1 00:00:00 grep bdsgbd
3. Arquivos do OpenBase
/usr/bin
/usr/include
/usr/lib
/usr/tsgbd
4. Comandos do OpenBase
4.1. Verificar o status do serviço (Macete)
#bdlice
(Mostra varias informações sobre o serviço OpenBase, como clientes, processos “zumbis” etc.).
Resultado típico do comando bdlice quando o banco está no ar e não há processos em uso.
Tecnocoop Sistemas – OpenBASE
Manual Prático de Openbase para o Hospub Página 2/9
DATASUS Departamento de Informática do SUS
BDLICE - versao X-8.4 01/02/02
Datasus - Rio de Janeiro
4.2. Colocar o banco no ar
nohup bdsgbd &
4.3. Verificar instalação do OpenBase
#bdcodi
Mostra várias informações relativas à cópia do OpenBase que está instalada, tais como: versão,
prazo de validade, nome do cliente, diretório padrão para o banco, número de usuários da licença,
etc.
Resultado típico do comando bdcodi
Tecnocoop Sistemas – OpenBASE
BDCODI - versao X-8.4 01/02/02
Datasus - Rio de Janeiro
Copia: RDRJLINUX01020725
Prazo de validade: SEM LIMITE
Cliente: Datasus - Rio de Janeiro
Numero de usuarios: free
Diretorio padrao para bancos de dados: /home/ariobar/banco/
Spool: lpr > /dev/nul
Numero no fim do nome de arquivo de índice
Opcao '$screen' ligada por omissão
Valor ASCII do caracter 'break' por omissao: 123
Tamanho da Memoria Compartilhada: 20200
Numero de Elementos na Tabela de Bloqueios: 576
Copia Plena
Numero de Arquivos de Banco: 118
Numero de Arquivos Externos: 7
4.4. Retirar o banco do ar
Manual Prático de Openbase para o Hospub Página 3/9
DATASUS Departamento de Informática do SUS
#bdrmce
Este comando tira o banco do ar de forma limpa, descarregando a memória compartilhada do
OpenBase, esvaziando todos os cachês, etc.
4.5. Configurando o ambiente do OpenBase
#bdcnfg
4.5.1. Parâmetros de configuração do OpenBase para o Hospub
4.5.1.1. Primeira tela do Bdcnfg
Tecnocoop Sistemas -- OpenBASE
BDCNFG - versão 8.4
Datasus - Rio de Janeiro
1. Configura instalação
2. Configura usuário
4.5.1.2. Tela de configuração de usuário
Tecnocoop Sistemas – OpenBASE
BDCNFG - versao 8.4
Datasus - Rio de Janeiro
Diretorio padrao para bancos de dados: /home/hospub/banco/
Spool: lpr > /dev/nul
Numero no (I)nicio/(F)im do nome em arquivos de indice: F
Palavra de nivel: atua
Opcao \'$noexec\' ligada por omissao(S/N): S
Opcao \'$screen\' ligada por omissao(S/N): S
Valor ASCII do caracter \'break\' por omissao:123
4.5.2. Criando as tabelas do Hospub
Manual Prático de Openbase para o Hospub Página 4/9
DATASUS Departamento de Informática do SUS
Para criar as tabelas do Hospub é necessário ter disponível o arquivo de esquema
que contem as definições das tabelas do Hospub para o OpenBase. A nomenclatura
do arquivo de definição do Hospub costuma ser a seguinte: bdintXXXX.e, onde XXXX
representa a versão do Hospub para a qual este esquema ira criar as tabelas, por
exemplo, “bdint12.e” irá criar as tabelas para a versão 12 do Hospub.
O comando do OpenBase que cria as tabelas se chama “define”, a sintaxe para a
criação das tabelas com o “define” é a seguinte:
#define –f bdintXXXX.e
Este comando irá criar todas as tabelas do banco do Hospub, de acordo com o
esquema “bdint”. Se as tabelas já existirem no local configurado, ele irá perguntar se
pode sobrescrever alguma tabela.
Parâmetros:
-f <nomearq> Nome do esquema do banco.
-c <nomearq> Indica um arquivo onde estarão os nomes das tabelas que se deseja
recriar.
Exemplos práticos:
a) #define –f bdintXXXX.e
O comando pede confirmação ao usuário para criar tabela a tabela.
b) #define -c tabelas.txt -f bdintXXXX.e
O Comando acima ira recriar automaticamente as tabelas listadas em um arquivo
texto (neste caso “tabelas.txt”), contendo um nome de tabela por linha.
IMPORTANTE: Para criar as tabelas deve-se utilizar o esquema “bdint.e” da mesma
versão do Hospub que esta sendo utilizada.
4.6. Desbloqueando o banco do Hospub
Manual Prático de Openbase para o Hospub Página 5/9
DATASUS Departamento de Informática do SUS
Utilizar um comando do OpenBase para desbloquear um banco que foi fechado indevidamente e
desfazer transações incompletas para que o banco possa ser aberto novamente. O comando
também fecha as conexões sem uso e mata os processos perdidos.
A sintaxe deste comando para desbloquear o banco do Hospub é a seguinte:
#bdrecu –b bdint –s 33 –n atua
Este comando não modifica fisicamente o banco, apenas permite que ele possa ser aberto
novamente.
4.7. Carregando e descarregando as tabelas:
4.7.1. O utilitário “bddesc”:
Para descarregar o banco para arquivos texto.
Parâmetros:
-a <tabela> Tabela de origem dos dados. Quando esta opção for utilizada, a opção “-g”
serve para indicar o arquivo texto de saída.
-g <nomearq> Indica qual arquivo de saída para a descarga do banco. Se esta opção for
utilizada sozinha, descarrega o banco em um único arquivo texto.
-S Descarrega todas as tabelas em arquivos individuais com o nome de cada tabela.
Exemplos práticos:
a) #bddesc -b bdint -s 33 -n atua –S
O comando acima ira descarregar todas as tabelas do banco em arquivos individuais no diretório
corrente.
b) #bddesc -b bdint -s 33 -n atua –g backuphospub.txt
Manual Prático de Openbase para o Hospub Página 6/9
DATASUS Departamento de Informática do SUS
O comando acima descarrega todo o banco em um único arquivo chamado “backuphospub.txt”, no
diretório corrente. Esta opção é útil para fazer backup do banco.
c) #bddesc -b bdint -s 33 -n atua -a intb6 -g intb6.txt
O comando acima irá descarregar a tabela “intb6” para o arquivo “intb6.txt”, no diretório
corrente.
4.7.2. O utilitário “bdadic”
Um dos utilitários do OpenBase que serve para carregar o banco a partir de arquivos se chama
“bdadic”.
Parâmetros:
-S Carrega o banco todo quando este foi descarregado com “-S”.
-z Zera a tabela de destino antes de carregar os dados.
-e <nomearq> Nome do arquivo de entrada.
Exemplos práticos:
a) #bdadic -b bdint –s 33 –n atua -S –z
O comando acima ira carregar todo banco a partir dos arquivos quando este for descarregado com “-
S”.
b) #bdadic -b bdint –s 33 –n atua –g intb6 –e intb6.txt
Este comando carrega a tabela “intb6” a partir do arquivo “intb6.txt”.
4.7.3. O utilitário “bdreca”
Outro utilitário do OpenBase para carregar tabelas partir de arquivos se chama “bdreca”.
Manual Prático de Openbase para o Hospub Página 7/9
DATASUS Departamento de Informática do SUS
Parâmetros:
-e Carrega o arquivo texto descarregado com “–g”.
Exemplos práticos:
#bdadic -b bdint –s 33 –n atua –e backuphospub.txt
Este comando carrega todo o banco a partir de um único arquivo, é útil para restaurar arquivo
de backup feito com “bddesc –g”.
4.7.4. O utilitário “bdveri”
Este comando verifica a integridade do banco de dados.
Parâmetros:
-q Este comando ira tentar recuperar a integridade do banco (apenas versão 10 em diante).
Exemplos práticos:
a) #bdveri -b bdint –s 33 –n atua
O comando acima verifica a integridade de todo o banco, este processo será muito
demorado em bancos grandes.
b) #bdveri -b bdint –s 33 –n atua –a intb6
O comando acima verifica a integridade de apenas uma tabela, neste caso, a tabela “intb6”.
4.7.5. O utilitário “bdespa”
Este comando lista o espaço ocupado pelos arquivos e quantidade de registros das tabelas
do banco.
Manual Prático de Openbase para o Hospub Página 8/9
DATASUS Departamento de Informática do SUS
Exemplos práticos:
a) #bdespa -b bdint –s 33 –n atua
Este comando lista o numero de registros de todas as tabelas e o espaço em disco ocupado.
b) #bdespa -b bdint –s 33 –n atua –a intb6
Este comando lista o numero de registros de uma única tabela (no caso “intb6”) e o espaço em disco
ocupado.
Exemplos práticos:
Exemplo pratico de descarregar uma tabela (bdint), recriar a estrutura e carregar novamente:
#bddesc -b bdintXXXX -s 33 -n atua -a intb6 -g intb6.txt
#define -c tabela.txt -f bdintXXXX.e
#/bdadic -b bdintXXXX -s 33 -n atua -a intb6 -e intb6.txt
IMPORTANTE: O parâmetro “tabela.txt” se refere a um arquivo texto com as relação de
tabelas que se deseja zerar (uma por linha), como no exemplo abaixo:
am11
am12
cen54
Manual Prático de Openbase para o Hospub Página 9/9