Para carregar o Oracle se um Datafile estiver corrompido.
STARTUP MOUNT;
ALTER DATABASE DATAFILE '/u01/oradata/ORCL/EXEMPLO.dbf' OFFLINE FOR DROP;
ALTER DATABASE OPEN;
Depois será necessário remover a tablespace (EXEMPLO) e recriar.
sábado, 19 de janeiro de 2008
Carregar o Oracle com um Datafile Corrompido
Trocar o Character Set do Oracle de US7ASCII para WEISO8859P1
Para trocar a tabela de caracteres utilizada pelo Oracle execute as seguintes instruções após uma boa cópia de segurança:
Neste exemplo a tabela de caracteres ficará comWEISO8859P1.
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET WE8ISO8859P1;
SHUTDOWN IMMEDIATE;
STARTUP;
Neste exemplo a tabela de caracteres ficará comWEISO8859P1.
Conexão com o Firebird em Terminal Server
Quando conectamos o Firebird no próprio servidor do banco de dados não precisamos especificar o nome do servidor.
Entretanto quando é conectado a partir de um servidor Windows utilizando o terminal services somente irá funcionar especificando servidor:caminho\arquivo.FDB
Entretanto quando é conectado a partir de um servidor Windows utilizando o terminal services somente irá funcionar especificando servidor:caminho\arquivo.FDB
domingo, 23 de setembro de 2007
Exclusão de registros filhos
Estes dias me solicitaram para criar uma trigger para excluir os registros filhos de uma tabela, como os itens da nota, sempre que o registro principal fosse excluído.
Expliquei o procedimento para a pessoa, mas aproveitei para comentar que ela poderia ter o mesmo resultado usando o recurso DELETE CASCADE, presente nas versões mais atuais dos bancos de dados.
Abaixo coloquei um exemplo da declaração de duas tabelas: pedido e os itens do pedido.
Sempre que o pedido for excluído, todos os itens do pedido serão excluídos automaticamente.
Create Table Pedido
(CodPedido Int not null primary key,
DataPedido DateTime,
Cliente Varchar(40));
Create Table ItemPedido
(CodPedido int not null,
CodItem int not null,
Qtdade decimal(9,2),
Valor decimal(9,2)
Constraint pk_ItemPedido Primary key (CodPedido, CodItem)
Constraint fk_ItemPedido_01 Foreign key (CodPedido)
References Pedido(CodPedido) ON DELETE CASCADE)
Expliquei o procedimento para a pessoa, mas aproveitei para comentar que ela poderia ter o mesmo resultado usando o recurso DELETE CASCADE, presente nas versões mais atuais dos bancos de dados.
Abaixo coloquei um exemplo da declaração de duas tabelas: pedido e os itens do pedido.
Sempre que o pedido for excluído, todos os itens do pedido serão excluídos automaticamente.
Create Table Pedido
(CodPedido Int not null primary key,
DataPedido DateTime,
Cliente Varchar(40));
Create Table ItemPedido
(CodPedido int not null,
CodItem int not null,
Qtdade decimal(9,2),
Valor decimal(9,2)
Constraint pk_ItemPedido Primary key (CodPedido, CodItem)
Constraint fk_ItemPedido_01 Foreign key (CodPedido)
References Pedido(CodPedido) ON DELETE CASCADE)
terça-feira, 28 de agosto de 2007
Bases Corrompidas no Firebird
Quando uma base Firebird corromper, o melhor a se fazer é restaurar o backup mais recente.
Nas situações onde não exista um backup, pode-se tentar recuperar o banco de dados com a ferramenta GFIX.
Entretanto podem ser perdidas informações do banco de dados, que não serão identificadas no processo.
gfix -v -f -user sysdba -password masterkey arquivodobanco.fdb
gfix -m -i -user sysdba -password masterkey arquivodobanco.fdb
Em seguida faça um backup e um restore.
sábado, 25 de agosto de 2007
Exportação de dados no Oracle
Quando é necessário exportar os dados de uma base Oracle, para carregar em outro servidor, ou mesmo como backup; a forma mais simples de realizar este procedimento é exportando os dados com a ferramenta exp.
Com a seguinte sintaxe já serão exportadas todas as tabelas, índices, dados, triggers, procedures,.... enfim todos os objetos do usuário (oracle) especificado.
EXP usuario/senha@instância FILE=Caminho\NomeArq.DMP LOG=Caminho\NomeArq.LOG
Será gravado o arquivo NomeArq.DMP. A pasta "Caminho" deve ser previamente criada.
Este arquivo é um backup dos dados, portanto o interessante é que fosse realizado sem nenhum usuário acessando os dados.
Para maiores informações sobre este procedimento, acesse o site:
http://www.devmedia.com.br/articles/viewcomp.asp?comp=6283
Com a seguinte sintaxe já serão exportadas todas as tabelas, índices, dados, triggers, procedures,.... enfim todos os objetos do usuário (oracle) especificado.
EXP usuario/senha@instância FILE=Caminho\NomeArq.DMP LOG=Caminho\NomeArq.LOG
Será gravado o arquivo NomeArq.DMP. A pasta "Caminho" deve ser previamente criada.
Este arquivo é um backup dos dados, portanto o interessante é que fosse realizado sem nenhum usuário acessando os dados.
Para maiores informações sobre este procedimento, acesse o site:
http://www.devmedia.com.br/articles/viewcomp.asp?comp=6283
Backup automático do SQL Server 2005 Express
Como o SQL Server 2005 Express não possui o Agent que automatiza procedimentos do banco de dados, é necessário criar manualmente a rotina de Backup.
1) Crie um script SQL que executa o backup do banco de dados com o nome BACKUP.SQL
Backup Database NomeBanco to disk="Caminho\NomeBanco.bak"
2) Crie um arquivo BAT com o nome BACKUP.BAT:
osql -U sa -P senhadoSA -i "Caminho\Backup.SQL"
3) No agendador de tarefas do Windows crie uma nova tarefa para executar o arquivo BACKUP.BAT, em um horário que normalmente os usuários não estão usando o banco de dados.
4) Crie algum procedimento para salvar o arquivo NomeBanco.bak para outra mídia (CD, DVD, HD, Fita,...)
Para maiores detalhes sobre os parâmetros usados veja o site: http://www.devmedia.com.br/articles/viewcomp.asp?comp=3648
1) Crie um script SQL que executa o backup do banco de dados com o nome BACKUP.SQL
Backup Database NomeBanco to disk="Caminho\NomeBanco.bak"
2) Crie um arquivo BAT com o nome BACKUP.BAT:
osql -U sa -P senhadoSA -i "Caminho\Backup.SQL"
3) No agendador de tarefas do Windows crie uma nova tarefa para executar o arquivo BACKUP.BAT, em um horário que normalmente os usuários não estão usando o banco de dados.
4) Crie algum procedimento para salvar o arquivo NomeBanco.bak para outra mídia (CD, DVD, HD, Fita,...)
Para maiores detalhes sobre os parâmetros usados veja o site: http://www.devmedia.com.br/articles/viewcomp.asp?comp=3648
Assinar:
Postagens (Atom)