CASE
WHEN … THEN
WHEN … THEN
WHEN … THEN
ELSE
END
Arquivo para Manuais
Recuperar base de dados corrompida por falha de energia
gFix:
1º – gfix -v -full c:\banco\corrompida.fdb -USER SYSDBA -pass masterkey
2º – gfix -mend c:\banco\corrompida.fdb -USER SYSDBA -pass masterkey
-v :v[erbose]
-full :validate record fragments, o mesmo que
-mend : prepare corrupt database for backup
gBak:
3º – GBAK -backup -V -ignore -garbage -limbo C:\banco\corrompida.fdb C:\banco\corrompida.gBK -USER SYSDBA -pass masterkey
4º – GBAK -c -v -z C:\banco\corrompida.gbk C:\banco\corrompida.fdb -USER SYSDBA -pass masterkey
-backup ou -b: b[ackup_database]. Back up. This switch is optional.
-limbo ou -l : Ignores limbo transactions while backing up
-ignore : -ig[nore] Ignores checksum errors while backing up
-garbage :-g[arbage collect] Does not perform garbage collection (sweeping) during backup
-limbo : -l[imbo] Ignores limbo transactions while backing up
-z :Show GBAK version and server version
-c : c[reate_database]Restore to a new database (the target database file MUST NOT exist)
Links:
http://www.destructor.de/firebird/gbak.htm
http://mail.firebase.com.br/pipermail/lista_firebase.com.br/2005-June/014097.html
InterBase and Firebird recovery guide
NOTICE: This document is the chapter from the book “The InterBase World” which was written by Alexey Kovyazin and Serg Vostrikov.
The chapter from book “The InterBase World” devoted to the database repairing.
Limite de tamanho de Bases de Dados
A limitação do tamanho da base de dados de firebird está directamente relacionada com o tipo sistema de ficheiros do sistema operativo Conheça os limites possíveis:
Windows
| Sistema | Tamanho (Limite) |
| FAT12 | 32Mb por arquivo |
| FAT16 | 2GB por arquivo (Windows NT 3 ou superior) |
| FAT32 | 2GB por arquivo |
| FAT32 | 4GB por arquivo (Windows NT5 / 2000 ou superior) |
| NTFS | 4GB por arquivo (Windows NT) |
| NTFS | 16EiB por arquivo (Windows NT5 / 2000 ou superior) |
Linux
| Sistema | Tamanho (Limite) |
| EXT2/EXT3 | (4kB blocksize) = 2TB por arquivo |
| EXT2/EXT3 | (8kB blocksize) = 64TB por arquivo |
| ReiserFS 3.6 | 1EiB por arquivo |
| XFS | 8EiB por arquivo |
| JFS | (512b blocksize) = 8EiB por arquivo |
| JFS | (4kB blocksize) = 8EiB por arquivo |
Source link: http://www.kanenberg.com/
Interbase/Firebird INFORMATION_SCHEMA
O standard SQL 2003 inclui um novo schema chamado INFORMATION_SCHEMA, PostgreSQL, SQL Server e MySql usam-no.
ORACLE, DB2, Sybase, Ingres, Informix e outras DBMS usam algo parecido chamado de System Tables. o Firebird usa METADATA TABLES, cujos nomes começam por “RDB$”.
Para listar todas as tables e views da Base de Dados:
SELECT DISTINCT RDB$RELATION_NAME FROM RDB$RELATION_FIELDS WHERE RDB$SYSTEM_FLAG=0;
ou
SELECT RDB$RELATION_NAME FROM RDB$RELATIONS WHERE RDB$SYSTEM_FLAG=0;
apenas tables:
SELECT DISTINCT RDB$RELATION_NAME FROM RDB$RELATION_FIELDS WHERE RDB$SYSTEM_FLAG=0 AND RDB$VIEW_CONTEXT IS NULL;
mais info em:
http://www.alberton.info/firebird_sql_meta_info.html
http://www.tecnobyte.com.br/dica9.html#dica208
Porquê usar Firebird?
A IBPhoenix foi contratada para escrever um documento sobre as inúmeras razões pela qual o Firebird deve ser o SGBD escolhido para os mais diversos tipos de utilização. Esse documento foi disponibilizado publicamente, e além de características técnicas, mostra também exemplos reais de uso do Firebird em grande empresas e organizações ao redor do mundo.
Alterar o tamanho de um campo
Para alterar o tamanho de um campo CHAR ou VARCHAR no FireBird (ou InterBase 6.0 ou superior) basta executar o comando SQL abaixo:
ALTER TABLE NomeDaTabela ALTER NomeDoCampo TYPE NovoTipo;
Exemplo:
| ALTER TABLE Cliente ALTER Nome TYPE VARCHAR(50); |
Obs: Este comando não funciona se a alteração de tamanho implicar em perda de dados, ou seja, não serve para reduzir o tamanho de um campo.
Mudar a password de SYSDBA
Mudando a password de 'masterkey' para 'qwertyui'
| # cd /opt/firebird/bin # ./changeDBAPassword.sh Please enter current password for SYSDBA user : masterkey Please enter new password for SYSDBA user : qwertyui GSEC> GSEC> Running ed to modify /etc/init.d/firebird |
Atenção:
Sempre q mudar a password SYSDBA usando o utilitário GSEC, deve també, alterar o ficheiro scritp de arranque. Para garantir a completa alteração da password deve-se sempre usar este script
Link: www.firebirdsql.org/
Extraindo metadata de um banco Firebird
isql -extract -o [nome arquivo] [banco de dados]Exemplo:
isql -extract -o metadata.sql banco.fdb
Onde metadata.sql é o arquivo que será gerado, e banco.fdb é meu banco Firebird supondo que ele está no diretório actual. Claro que a pasta bin do Firebird tem que estar no path, pois é lá que o isql se encontra.
Uma das utilidades deste recurso é por exemplo incluir no seu build a extracção de metadata e atualização deste no controle de versão.
Sobre o Firebird
Firebird é uma base de dados relacional com muitas características da norma ANSI Sql-99, funciona em Linux, em Windows, e em uma variedade de plataformas de Unix.
Firebird oferece a excelente acesso concorrente, elevado desempenho, e a uma excelente linguagem para Stored Procedures e Triggers.
Foi usado em sistemas de produção, sob uma variedade dos nomes desde 1981.
Firebird é um projeto comercialmente independente de programadores de C e de C++, de conselheiros técnicos e de apoiantes que desenvolvem e que realçam um sistema de gestão da base de dados relacional de multi-plataforma baseado no código de fonte disponibilizado pela Inprise Corp (conhecida agora como Borland Software Corp) em 25 julho de 2000 sob a licença pública interBase v.1.0. Firebird está completamente livre de todas as taxas do registo, licenciar ou da distribuição.
Pode ser desenvolvido livremente para o uso com todo o software de terceiros, comercial ou não.
Os módulos novos do código adicionados a Firebird são licenciados sob a licença Initial Developer’s Public License. (IDPL). Os módulos originais disponibilizados pela Inprise são licenciados sob a licença InterBase Public License v.1.0. Ambas são versões modificadas da licença Mozilla Public License v.1.1.
Fonte:http://firebird.sourceforge.net/