quinta-feira, 29 de maio de 2014

Conectar no SQL Server, Sybase e MySQL pelo SQL Developer;

...Instalar o SQL Server, fazer a instalação do My SQL, baixar e instalar o Sybase ... Ah também o DB2?
Ufa... Cansei !

Hoje vou demonstrar a vocês, que apenas pelo SQL Developer é possível conectarmos nos Bancos de Dados de outras Fabricantes.

Para começarmos, será necessário baixarmos o Driver JDBC -  É através dele que efetuamos a ponte para conexão.
Link para os downloads: http://www.oracle.com/technetwork/database/migration/jdbc-migration-1923524.html

OBS: Irei demonstrar apenas com os SGBD's que atualmente utilizo.

Após baixar, será necessário extraí-los:














Agora vamos adicionar as conexões no SQL Developer.
No menu Tools>Preferences... irá abrir a janela de Preferências, no painel a esquerda expandir a opção Database>Third Party JDBC Drivers e clicar em Add Entry... (No meu caso eu já havia adicionado).

















Para ambos, adicionar o arquivo com extensão *.JAR - Um de cada vez.
























Pronto! Agora ao adicionar uma nova conexão, você verá 3 novas abas com os SGBD's.
Para testar, efetuei uma conexão em um servidor SQL Server.






















Select @@version;







Valeu !
Bruno Duarte.

terça-feira, 27 de maio de 2014

Como retirar Quebra de Linha no SQL Server e Oracle;

Pessoal,  Boa tarde!

Aqui vai a dica para retirar quebra de linha de um campo

SQL SERVER:
select REPLACE(CAMPO, CHAR(13) + Char(10) ,' ') FROM TABELA

ORACLE:
select REPLACE(TRIM(CAMPO),CHR(10),' ') from TABELA;

Bruno Duarte.

segunda-feira, 26 de maio de 2014

Migração de Dados do SQL Server para Oracle - Via SQL LOADER;

Galera, Boa tarde!

Hoje irei demonstrar a vocês um processo de Migração de dados via SQL Loader.
Em um passo a passo vocês verão como que é simples o procedimento, que por muitas vezes achamos ser algo complexo.

Bom, vamos ao trabalho!
Conectado no SQL Server, irei Migrar os dados da tabela TABLESQLSERVER

select * from BaseDeDados.Schema.Tabela
Exemplo:


Iremos utilizar o comando BCP para exportar os dados da tabela para um arquivo de texto. Para isso teremos que habilitar o xp_cmdshell.

EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell', 1
GO
RECONFIGURE
GO

Ok ! Pelo comando abaixo vamos exportar os dados da tabela para um arquivo com extensão TXT, delimitado por ; (Ponto e vírgula).

DECLARE @cmd VARCHAR(1000)
set @cmd = 'bcp "select action_id, action_name from treina2.dbo.TABLESQLSERVER" QUERYOUT "C:\TABLESQLSERVER.txt" -c -a65535 -t; -CACP -T'
Exec master..xp_cmdshell @cmd

OBS: No comando não pode conter quebra de linha.
Exemplo:


O arquivo foi exportado com sucesso, vide C:\ do servidor o qual foi enviado.




























Agora iremos criar o arquivo de controle para carregar os dado, que sempre terá a extensão .CTL.

load data                        
 infile 'TABLEORACLE.txt'
 into table TABLEORACLE
 Append
 fields terminated by ";"        
 TRAILING NULLCOLS
 (
action_id,
action_name
 )


Será necessário criar uma BAT para executar o SQL Loader - Extensão .BAT.

sqlldr userid=usuario/senha@instancia control=TABLESQLSERVER.ctl log=TABLESQLSERVER.log


Os 3 arquivos deverão ficar no mesmo diretório, desta forma:












Finalizado todos os passos acima, agora é só executar a .BAT.
OBS: Para executar a .BAT será necessário estar em algum local que tenha acesso a instância ORACLE.

Agora vamos verificar os dados importados na tabela do Oracle.
Select * from TABLEORACLE


Pronto ! Os dados foram Migrados do SQL Server para o Oracle.

Valeu !
Bruno Duarte.

Alter user X identified by VALUES [Oracle];

Bom dia a todos !

Gostaria de compartilhar com vocês uma dica, que me facilitou muito um dia desses.

Estava precisando fazer uma manutenção em um usuário X, e não lembrava a senha. Também as vezes nos encontramos em situações que não temos acesso por questões de politica da empresa.

Sendo assim, se conecte com o usuário SYSTEM ou SYSDBA e execute o comando:

SELECT password FROM dba_users WHERE username='HR'; 


Anote o retorno da consulta, pois esta é a senha criptografada do usuário em questão.
Agora iremos alterar a senha do usuário por qualquer uma que desejamos:

ALTER USER HR IDENTIFIED BY senhatemp;

Após a manutenção, temos que alterar a senha para aquela que anotamos e ela voltará a ser a mesma de antes.

ALTER USER HR IDENTIFIED BY VALUES '4C6D73C3E8B0F0DA';





Simples e fácil !
Como qualquer DBA é impossível termos de cabeça todas as senhas dos usuários do banco de dados.

Abraços,
Bruno Duarte.