[firebase-br] Problemas com GBAK em web server

Mario brujeria em task.com.br
Sáb Out 28 15:34:39 -03 2006


Ola,

problema resulvido, vou mostrar a solução aqui para todos.

Como postar um banco FB em um servidor web?

	1. Primeiro receba um usuário e senha do servidor web referente ao seu
banco. Lembrando que este deverá ter a permissão de DONO do banco, como
o SYSDBA deles.

	2. Crie este usuário e senha em seu firebird local. 

	3. Monte seu banco de dados usando na conexao local este usuário e
senha. Lembrando de criar usando a mesma versão do firebird do servidor
web.

	4. Efetue um BACKUP deste banco : 
	gbak -b /var/banco.gdb /var/banco.gbk

	5. Faça um RESTORE deste backup no servidor web:
	gbak -r /var/banco.gbk ip_servidor:/var/www/banco.gdb -user USUARIO
-pass SENHA

Problema: Antes eu estava gerando o banco como SYSDBA e dava permissão
para o usuário do servidor usando GRANT. Este GRANT eu aplicava pra
todas as tabelas e de sistemas também, dando permissão total.
	Efetuando o RESTORE percebia que tudo era copiado perfeitamente, até os
GRANT's estavam no banco de dados no servidor web. E mesmo assim quando
eu tentava acessá-lo vinha como resposta que não tinha permissão de
acesso à tabela.

Solução: Basta criar seu banco usando o mesmo usuário que foi criado no
servidor web.

Pergunta: 
Porque os GRANT's, que são copiados pelo RESTORE, não funcionaram?
Há algo a mais que eu deveria ter feito?

Eu uso ubuntu/apache2/php5/firebird2 e o servidor web firebird2.
Uso também meu sistema no servidor web, localmente e um ibwebadmin local
acessando o banco do server web.

Obrigado a todos que ajudaram,
Mario H.



kua base em seu computador usando este

Em Sáb, 2006-10-28 às 14:30 -0200, Mario escreveu:
> Ola,
> 
> certo, mas isso e um pouco inviavel quando usamos servidores web, porque
> este nãp é um servidor controlado por mim. Nao tenho como apagar o banco
> e recriar.
> 
> Mas ai vai minha pergunta, nao era pro restore funcionar desta maneira?
> 
> Ouvi falar que o restore nao copiar os usuários. Então se este é o unico
> problema o que fiz é dar GRANT para o usuário que já esta criado!
> 
> Portanto ainda nao entendi porque o restore nao funcionaria!
> 
> Obrigado!!!
> Mario H.
> 
> Em Sáb, 2006-10-28 às 13:11 -0300, Eduardo Jedliczka (TeamFB) escreveu:
> > Acho que da forma que você está pensando em fazer não vai virar...
> > 
> > Já passei por isto, e posso lhe dizer que a melhor forma é apagar este 
> > arquivo e recriar o banco lá no servidor através de scripts...
> > 
> > extraia o metadata da sua base local e crie ele via IBExpert (ou outra 
> > ferramenta), assim, não vai ter problemas com permissões ou restrições, pois 
> > o owner do banco será o SEU USUÁRIO...
> > 
> > ======================
> > Eduardo Jedliczka
> > Membro do TeamFB - FireBase
> > Apucarana - PR
> > ======================
> > "Posso não concordar com nada do que dizes.
> > Mas defenderei até a morte o seu direito de dizê-lo"
> > (Voltaire 1694-1778)
> > ----- Original Message ----- 
> > From: "Mario" <brujeria em task.com.br>
> > To: "FireBase" <lista em firebase.com.br>
> > Sent: Saturday, October 28, 2006 1:04 PM
> > Subject: Re: [firebase-br] Problemas com GBAK em web server
> > 
> > 
> > Ola,
> > 
> > muito obrigado, vc foi o unico a responder!
> > 
> > O servidor web mudou a permissao do meu USUARIO e pos como DONO do
> > banco!
> > 
> > Portanto agora consigo fazer o RESTORE com sucesso!
> > 
> > O que ocorre é o seguinte:
> > 1. Em minha casa gero o banco usando o SYSDBA e faço um GRANT para todas
> > as tabelas dando permissao para USUARIO.
> > 
> > 2. Faço o restore do banco com destino o servidor web, e esse faz com
> > sucesso!
> > 
> > 3. O que ocorre é que quando vou acessar os dados usando USUARIO ele diz
> > que nao tem permissao para leitura nas tabelas.
> > 
> > 4. Eu vo no METADATA e la mostra os GRANT para USUARIO em todas as
> > tabelas.
> > 
> > O que voce me recomenda a fazer?
> > Neste momento estou gerando o banco como USUARIO (ao inves de SYSDBA) e
> > vou tentar mais um restore.
> > 
> > 
> > Obrigado,
> > Mario H.
> > 
> > 
> > 
> > Em Sáb, 2006-10-28 às 10:56 -0300, Eduardo Jedliczka (TeamFB) escreveu:
> > > não vi se alguém respondeu a sua pergunta, mas vamos lá...
> > >
> > > Estabeleça uma conexão com um outro banco de dados (via ibexpert) e use um
> > > drop database.
> > >
> > > depois disto, restaure o seu backup.
> > >
> > > ======================
> > > Eduardo Jedliczka
> > > Membro do TeamFB - FireBase
> > > Apucarana - PR
> > > ======================
> > > "Posso não concordar com nada do que dizes.
> > > Mas defenderei até a morte o seu direito de dizê-lo"
> > > (Voltaire 1694-1778)
> > > ----- Original Message ----- 
> > > From: "Mario" <brujeria em task.com.br>
> > > To: "FireBase" <lista em firebase.com.br>
> > > Sent: Thursday, October 26, 2006 6:12 PM
> > > Subject: [firebase-br] Problemas com GBAK em web server
> > >
> > >
> > > Pessoal,
> > >
> > >  estou usando ubuntu/php/firebird2 e quero colocar o banco que esta em
> > > meu computador em um servidor web.
> > >
> > > Faço o seguinte comando:
> > > # gbak -r /var/www/meusite/banco.gdb
> > > ip_servidor_web:/var/lib/firebird2/data/banco.gdb -user USUARIO_DO_BANCO
> > > -pass SENHA
> > >
> > > PS: Ja tentei usar este gbak de todas as formas possiveis, com o ip,
> > > nome dns, localhost, meu ip..... tudo!
> > >
> > > Dá o seguinte erro:
> > > gbak: ERROR: Cannot restore over current database, must be SYSDBA or
> > > owner of the existing database.
> > > gbak: Exiting before comple
> > >
> > > Usando o IBWEBADMIN que está rodando no meu localhost, consigo conectar
> > > com USUARIO a este banco no servidor web e manipular a vontade.
> > >
> > > Pelo visto o gbak precisa rodar com o SYSDBA ou com um usuario que seja
> > > o dono do banco. E o meu USUARIO parece nao ser nenhum dos dois.
> > >
> > > Resumindo, qual a permissao necessária pra fazer o gbak. Ou melhor,
> > > quais as maneiras de dar permissao.
> > >
> > > Obrigado,
> > > Mario H.
> > >
> > >
> > > ______________________________________________
> > > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > > Para editar sua configuração na lista, use o endereço
> > > http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> > > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > >
> > >
> > > ______________________________________________
> > > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > > Para editar sua configuração na lista, use o endereço 
> > > http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> > > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > 
> > 
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para editar sua configuração na lista, use o endereço 
> > http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa 
> > 
> > 
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista