MigraTI - Soluções em banco de dados

Guob 2017

terça-feira, 29 de agosto de 2017

Guob Tech Day 2017



No sábado, dia 5 de agosto de 2017, ocorreu em São Paulo, capital, o 8º. GOUB Tech Day, também conhecido como OTN TOUR Latin America.
Evento realizado pela comunidade Oracle em toda a América Latina, onde Brasil, Argentina, México entre outros países, participam.
Com o objetivo de compartilhar conhecimento, os maiores e mais renomados profissionais da área, apresentaram suas experiências, trazendo conteúdo teórico e prático.
Entre os nomes que se apresentaram no dia estão Alex Zaballa, Mike Dietrich e Craig Shallahamer.
Zaballa com suas inúmeras certificações, apresentou aos participantes um dos assuntos mais importantes do momento: Cloud.
Mostrando algumas das principais formas de migração de bancos On-Premisses para a Oracle Cloud.
Mike com sua experiencia como gerente de produtos de upgrade e migração da Oracle, nos trouxe um excelente conteúdo sobre atualização de versão para Oracle 12.2 e uma das novidades mais inusitadas, não teremos mais versões com builds, ou seja, não teremos mais versões 12.3, 12.3.0.1, mas sim, teremos versões enumeradas como Oracle 18, Oracle 19.

O principal motivo da Oracle ter realizado esta alteração foi por crer que as corporações tendem a não atualizar seus databases para as versões de builds iniciais como 11.1, e deixando apenas para versões 11.2, por exemplo.
No novo conceito, não haverá versão inicial e versão final, e sim versões estáveis e prontas para uso.

Craig, diretor e fundador do OraPub, nos trouxe um exemplo pratico e complexo do uso do ASH, Active Session History, para identificar problemas de concorrência.

O que muitos chamaram de "O maior GUOB de todos os tempos", também trouxeram nomes novos como Franky Faust Weber (nosso amigo que veio de Blumenau e tem um grande futuro no mundo Oracle), Fernando Simon entre outros profissionais com assuntos diversos, que vão de rootkits à Grid Infrastructure.

Como conclusão, fica o sentimento de um excelente evento, com excelentes conteúdos que agregaram e muito para o conhecimento das tecnologias e novidades do mundo Oracle.
Também fica o sentimento de grandes profissionais unidos tentando disseminar conhecimento, sem a percepção de concorrência, mas sim de um conjunto agregando para um todo.

Que venham os próximos, com certeza estaremos lá.

Post Criado por Jone Jarouj

terça-feira, 20 de dezembro de 2016

Instalação do mssql-tools no linux

Ontem a tarde foi escrito como efetuar a instalação do SQL-Server no Cento 7.
Agora vamos descrever como efetuar a instalação do SQLCMD.

A instalação é muito parecida com a do SQL-Server, porem são outros pacotes e outro repositório. (coisas de microsoft)

A Instalação esta utilizando o mesmo servidor que foi instalado o SQL-Server Ontem. Veja aqui o post sobre isso.


Mãos a Massa:

Instalar o repositório

[root@localhost ~]#  curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
Ou adicionar o repositório manualmente:

[root@localhost ~]# vi /etc/yum.repos.d/msprod.repo
[packages-microsoft-com-prod]
name=packages-microsoft-com-prod
baseurl=https://packages.microsoft.com/rhel/7/prod/
enabled=1
gpgcheck=1
gpgkey=https://packages.microsoft.com/keys/microsoft.asc

Após configurar o repositório basta instalar o mssql-tools

[root@localhost ~]# yum install -y mssql-tools
Este comando já irá instalar o sqlcmd e o ODBC para o banco.

Após isto, você já esta pronto para conectar no banco de dados pelo sql-cmd:
[root@localhost ~]# sqlcmd -S localhost -U sa -P 'XXXXXXXXXX'
1> use master;
2> go
Changed database context to 'master'.
1> select @@version;
2> go
                                                                                                                                                                                                                                             
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Microsoft SQL Server vNext (CTP1.1) - 14.0.100.187 (X64)
        Dec 10 2016 02:51:11
        Copyright (C) 2016 Microsoft Corporation. All rights reserved.
        on Linux (CentOS Linux 7 (Core))

(1 rows affected)







segunda-feira, 19 de dezembro de 2016

SQL-Server on Linux (Centos/Red Hat/Fedora)

A alguns meses atrás a Microsoft sacudiu o mundo do TI liberando o SQL-Server para Linux, diante dessas perspectivas muito se foi cogitado sobre essa nova forma de utilizar o SQL-Server.

Resolvi efetuar a instalação de um Linux e instalar o SQL-Server nele basicamente para comparar a instalação dele.

A Instalação foi baseada em um "Centos 7",  4Gb de Memória e 1 processador. (O SQL-Server precisa de no minimo 3,2Gb de memória para rodar)
No site da microsoft só existe referencias para o Linux 7, suse e ubunto. Não testei com o Linux 6, mas acredito que não funcionaria...

Então, mão a Obra:

Após instalar o Centos, é necessário configurar os repositórios da Microsoft para termos os pacotes mais atualizados possíveis.


[root@localhost ~]# curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo > /etc/yum.repos.d/mssql-server.repo
Caso você desejar efetuar essa configuração na mão, basta ir na pasta dos pacotes e adicionar as linhas abaixo:

/etc/yum.repos.d/mssql-server.repo
[packages-microsoft-com-mssql-server]
name=packages-microsoft-com-mssql-server
baseurl=https://packages.microsoft.com/rhel/7/mssql-server/
enabled=1
gpgcheck=1
gpgkey=https://packages.microsoft.com/keys/microsoft.asc
Configurado o repositório, basta instalar o pacote:

[root@localhost ~]# yum install -y mssql-server
A opção "-y" é para efetuar a instalação automática, serve apenas para não parar no meio do processo solicitando o "yes" de aceite.

Após a instalação do seu SQL-Server, vamos configura-lo:

[root@localhost ~]# /opt/mssql/bin/sqlservr-setup
O Comando acima irá configurar o seu sql para a primeira conexão.

Observe abaixo:
[root@localhost ~]# /opt/mssql/bin/sqlservr-setup
Microsoft(R) SQL Server(R) Setup

You can abort setup at anytime by pressing Ctrl-C. Start this program
with the --help option for information about running it in unattended
mode.

Please enter a password for the system administrator (SA) account:
Please confirm the password for the system administrator (SA) account:

Setting system administrator (SA) account password...

Do you wish to start the SQL Server service now? [y/n]: y
Do you wish to enable SQL Server to start on boot? [y/n]: y
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /usr/lib/systemd/system/mssql-server.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server-telemetry.service to /usr/lib/systemd/system/mssql-server-telemetry.service.

Setup completed successfully.
O configurador solicitou senha e a confirmação dela, se eu desejo iniciar imediatamente o SQL-Server e se desejo configura-lo para iniciar automaticamente.

Após isso é só acessa-lo conforme abaixo:

Simples não?

sábado, 8 de outubro de 2016

Grant para usuário visualizar apenas databases especificas. (SQL-Server)

Bom dia, sempre me preocupei muito em escrever posts sobre Oracle, porem como o meu foco hoje em dia não é apenas Oracle e sim, Banco de dados em Geral, começarei a postar dicas de outros bancos de dados também, dito isso vamos dar uma dica bem bacana de SQL-Server.

Sabe quando você possui um usuário e não quer que ele consiga nem mesmo visualizar os databases que a instancia possui? Então, no SQL-Server é meio "chato" de fazer essa configuração na mão, então la vai os comandos que efetuam esse Grant.

Conecte com algum usuário que possua permissão sysadmin e efetue o processo abaixo:

USE <database_destino>

ALTER AUTHORIZATION ON DATABASE::<database_destino>to <usuário_destino>;


USE MASTER

DENY VIEW ANY DATABASE TO <database_destino>;

Caso o primeiro comando dê erro, verifique se o mesmo já não possui acesso ao database, é importante que ele ainda não possua acesso ao database.

Para você ver como ficaria o usuário seria assim...
Na aba "Mapeamento de Usuário":



Na aba "Protegíveis", vá para "Efetivas":




Boa diversão.

segunda-feira, 15 de agosto de 2016

ORA-27037: unable to obtain file status (standby)

Quando você possuir um standby e durante as replicações do mesmo, você receber este erro abaixo:

ORA-00313: open failed for members of log group 3 of thread 1
ORA-00312: online log 3 thread 1: '/home/oracle/app/oracle/oradata/dbprod/redo03.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory

Não se desespere, tudo há solução.

Abra o banco em modo read only, e cancele qualquer tipo de recuperação do mesmo.

Alter database recover cancel;

Após você manter seu standby aberto em modo leitura, execute o comando abaixo:

alter database recover managed standby database using current logfile disconnect;

Após isso efetue o shutdown do seu database e refaça os processos de recuperação.

Qualquer duvida procure uma consultoria especializada, clicando aqui.

segunda-feira, 19 de maio de 2014

GPG key retrieval failed: [Errno 14] Could not open/read file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

Caso você tenha lido o nosso post sobre como simplificar a instalação do Oracle, e após isto tentou utilizar o mesmo processo para instalar o banco de dados em algum SO diferente o oracle linux, você irá se deparar com o seguinte erro...

Leia Mais...

Diferenças entre Truncate table, Drop table ou Delete from

Muitas vezes nos deparamos com a situação de limpar os registros em alguma determinada tabela.
Porem, qual comando usar? Qual comando é mais rápido para o Banco de dados? Ou qual comando atenderá a sua necessidade?
Veremos a seguir qual é o melhor caminho para a sua necessidade.

terça-feira, 19 de março de 2013

Funções Analíticas do Oracle (Rank)


Hoje precisei efetuar um select  e listar os top 10 de uma tabela.
Me lembrei que já tinha utilizado isso em uma procedure bem antiga. Só não lembrava com havia feito, então devido a isso eu decidi estudar novamente sobre esta função chamada RANK.
Bom o que eu desejava era coletar os top 10 sql’s da v$sql. então vamos em busca do que queremos.
O melhor exemplo que encontrei na internet foi este
select … analytic-function (…) over (partition by …) ..
select … analytic-function (…) over (order by …) ..
select … analytic-function (…) over (partition by … order by …) ..