Conteúdo voltado para banco de dados Oracle e SQL Server

Author Description

Leonardo Pedroso

Leonardo Pedroso, é administrador de banco de dados, possui amplo conhecimento em Oracle 11g e 12c, com atuação em empresas de telecomunicações, bancos, seguradoras e órgãos do governo brasileiro prestando serviços especializados em banco de dados. Atua ativamente em comunidades técnicas através de fóruns, eventos, blog e palestras.

Baixe e instale o Oracle Linux 7 diretamente do site da Oracle, após concluir a instalação rode o YUM UPDATE para atualizar todos os pacotes do Sistema operacional.

– Garanta que no arquivo /etc/hosts tem o nome completo da máquina, conforme exemplo abaixo:

[root@localhost ~]# vi /etc/hosts

192.168.0.1        localhost.localdomain         localhost
10.0.12.15       localhost.localdomain  localhost

– Ajustar o SELINUX, editar o arquivo config e alterar a linha SELINUX de enforced para permissive. Logo depois digitar o comando setenforce Permissive:

[root@localhost ~]# vi /etc/selinux/config
[root@localhost ~]# SELINUX = permissive
[root@localhost ~]# setenforce Permissive

Para verificar se as configurações foram aplicadas, digite o comando [root@localhost ~]# sestatus no shell e verificar a saída:

oracle-linux-selinux

 

– Crie os usuários e grupos abaixo:

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54327 asmdba
groupadd -g 54328 asmoper
groupadd -g 54329 asmadmin

Crie um usuário chamado oracle e o adicione nos grupos oinstall, dba e oper, conforme script abaixo:
[root@localhost ~]# useradd -u 54321 -g oinstall -G dba,oper oracle

Altere a senha do usuário oracle:

[root@localhost ~]# passwd oracle

Para visualizar os grupos criados, basta digitar: # cat /etc/group

oracle-linux-grupos-criados

 

– Desabilitar o Firewall, em algumas distribuições é preciso rodar o comando somente para o desabilitar o IPTABLES, em outras, tais como Oracle Linux 7 é preciso parar e desabilitar o serviço FIREWALLD:

[root@localhost ~]# service iptables stop
[root@localhost ~]# chkconfig iptables off
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld

– Instale os pré-requisitos da oracle para o banco de dados. Esse pacote cria usuários, ajusta arquivos de configuração e instala os pacotes necessários.

[root@localhost ~]# yum install oracle-rdbms-server-12cR1-preinstall -y
Após rodar o comando acima, execute as instalações abaixo que são um complemento do preinstall:
# From Public Yum or ULN
 yum install binutils -y
  yum install compat-libcap1 -y
  yum install compat-libstdc++-33 -y
  yum install compat-libstdc++-33.i686 -y
  yum install gcc -y
  yum install gcc-c++ -y
  yum install glibc -y
  yum install glibc.i686 -y
  yum install glibc-devel -y
  yum install glibc-devel.i686 -y
  yum install ksh -y
  yum install libgcc -y
  yum install libgcc.i686 -y
  yum install libstdc++ -y
  yum install xhost -y
  yum install unzip -y
  yum install xclock -y
  yum install libstdc++.i686 -y
  yum install libstdc++-devel -y
  yum install libstdc++-devel.i686 -y
  yum install libaio -y
  yum install libaio.i686 -y
  yum install libaio-devel -y
  yum install libaio-devel.i686 -y
  yum install libXext -y
  yum install libXext.i686 -y
  yum install libXtst -y
  yum install libXtst.i686 -y
  yum install libX11 -y
  yum install libX11.i686 -y
  yum install libXau -y
  yum install libXau.i686 -y
  yum install libxcb -y
  yum install libxcb.i686 -y
  yum install libXi -y
  yum install libXi.i686 -y
  yum install make -y
  yum install sysstat -y
  yum install unixODBC -y
  yum install unixODBC-devel -y

– Permitir a execução de programas de modo interativo. Edite o arquivo sshd_config para permitir a emulação de softwares via terminal e deixe as configurações abaixo habilitadas:

[root@localhost ~]# vi /etc/ssh/sshd_config
AllowAgentForwarding yes
AllowTcpForwarding yes
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
PermitTTY yes
PrintMotd yes

Saia do linux e conecte novamente para que as configurações acima façam efeito e digite o comando abaixo com o usuário root, veja que aparecerá uma mensagem informativa logo após o comando ser executado:

[root@localhost ~]# xhost +
access control disabled, clients can connect from any host

E os comandos abaixo com o usuário oracle:

[oracle@localhost ~]# export DISPLAY

[oracle@localhost ~]# DISPLAY=:0.0

Para mais informações visitar o link: http://www.cyberciti.biz/faq/x11-connection-rejected-because-of-wrong-authentication/

–  Alterar o arquivo /etc/security/limits.d/[??]-nproc.conf, sendo que o sinal de interrogação deve ser trocado pelos números que estiverem em seu arquivo:

[root@localhost ~]# vi /etc/security/limits.d/20-nproc.conf

Comentar a linha abaixo:
#*          soft    nproc    1024

E adicionar essa linha no arquivo:
* - nproc 16384

 

 – Adicionar as seguintes linhas no arquivo /etc/security/limits.conf:

[root@localhost ~]# vi /etc/security/limits.conf

oracle        soft         nofile      1024
oracle        hard       nofile      65536
oracle        soft         nproc      16384
oracle        hard       nproc      16384
oracle        soft         stack       10240
oracle       hard        stack       32768

 

– Criar o diretório de instalação do Oracle e dar as devidas permissões:

[root@localhost ~]# mkdir -p /u01/app/oracle/product/12.1.0.2/db_1
[root@localhost ~]# chown -R oracle:oinstall /u01
[root@localhost ~]# chmod -R 775 /u01

10º – Adicionar o conteúdo abaixo no bash_profile do usuário Oracle (/home/oracle/.bash_profile):

[root@localhost ~]# vi /home/oracle/.bash_profile

# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP

export ORACLE_HOSTNAME=nomedasuamaquina.nomedoseudominio
export ORACLE_UNQNAME=cdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0.2/db_1
export ORACLE_SID=cdb1

export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

11º – Copiar a instalação do oracle (parte 1 e 2) e descompactar:

[root@localhost ~]# unzip linuxamd64_12102_database_1of2.zip
[root@localhost ~]# unzip linuxamd64_12102_database_2of2.zip

 

12º – Acessar a pasta database (# cd /database ) e listar os arquivos com o ls -l

 

Por aqui terminamos a configuração do S.O. Oracle Linux para suportar a instalação do SGBD Oracle. No próximo artigo daremos início á instalação do banco de dados através do comando ./runInstaler de dentro da pasta database.

Na configuração padrão, a placa de rede do S.O. CentOS ou Oracle Linux não é habilitada automaticamente após o boot do servidor, sendo necessário usar o comando IFUP para subir a interface de rede toda vez que houver desligamento ou reboot do servidor.

Uma maneira simples de automatizar esse processo é editando o arquivo de configuração da placa de rede e habilitar a opção ONBOOT com o valor YES ao invés de NO:

Rede_oracleLInux

Editando o arquivo com o VIM, localiza a opção ONBOOT, basta trocar o valor no por yes e salvar as configurações e sair da edição do arquivo:

Rede_oracleLInux

Após realizar essa configuração, a placa de rede subirá automaticamente a cada boot.

 

 

Vira e mexe precisamos listar o tamanho dos backups de banco de dados da nossa instância, com a demanda recorrente por essa informação precisei criar um script que lista o nome da base, tamanho com e sem compressão, caminho onde o arquivo foi salvo, taxa de compressão, dentre outros.

O script abaixo é foi utilizado e retorna inúmeras informações úteis:

USE msdb
GO
SELECT
bs.database_name as ‘Database’,
bm.physical_device_name as ‘Caminho’,
CAST(CAST(bs.backup_size / 1000000 AS BIGINT) AS VARCHAR(100)) + ‘ MB’ AS ‘Tamanho do Backup’,
CAST(CAST(compressed_backup_size / 1000000 as BIGINT) AS VARCHAR(100)) + ‘ MB’ AS ‘Tamanho do Backup Comprimido’,
bs.backup_start_date,
CASE bs.[type] WHEN ‘D’ THEN ‘Full’
WHEN ‘I’ THEN ‘Differential’
WHEN ‘L’ THEN ‘Transaction Log’
END AS BackupType,
backup_size / compressed_backup_size as ‘Taxa de compressão’
FROM msdb.dbo.backupset bs
JOIN msdb.dbo.backupmediafamily bm
ON bs.media_set_id = bm.media_set_id
ORDER BY database_name ASC, backup_start_date DESC
GO

Output do comando:

Backup

Como pode ser visto, o backup do banco BDTESTE tem um ganho significativo de economia de espaço quando utiliza a compressão de dados, sendo que seu tamanho cresce naturalmente ao passar dos dias, conforme utilização por parte dos sistemas/usuários.

Hoje irei mostrar como realizar uma instalação do banco de dados MongoDB, um dos melhores produtos da atualidade no quesito NOSQL. O cenário atual consiste em uma máquina virutal com CentOS 7, 1GB de RAM e 4 processadores.

 

1º – Adicionar o Repositório do MongoDB no seu sistema operacional:

vim /etc/yum.repos.d/mongodb-org-3.2.repo

[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

2º – Instalar o mongodb

yum install mongodb-org

Aparecerá a seguinte tela:

MongoDB - Instalação Pacote

 

Feito isso basta digitar: y e aguardar a instalação:

MongoDB-Instalação Pacote - Final

Na imagem acima vimos que o MondoDB foi instalado com sucesso, restando agora apenas algumas configurações para que o mesmo esteja apto a ser utilizado.

3º – Desabilitar o SELinux com o vim:

vim /etc/selinux/config

MongoDB - desabilitgar SELinux

Feito isso basta reiniciar o servidor para as configurações do SELinux fazer efeito e checar se as pastas de dados e log foram criadas com as devidas permissões ao usuário mongod.

Os caminhos são, respectivamente: /var/lib/mongo e /var/log/mongodb, conforme imagens abaixo:

Diretório de dados:

MongoDB- Diretórios

Diretório de logs:

MongoDB- Diretórios_Log

Estes diretórios são definidos pelo instalador do MongoDB e podem ser visualizados/alterados através do arquivo mongod.conf, bem como as configurações de rede e processos. Essa configuração é localizada no diretório: /etc/mongod.conf:

vim /etc/mongod.conf

MongoDB - arquivo de configuração

 

Após a checagem da estrutura de pastas e permissões, vamos inicializar o banco de dados:

 

1º – Startar o serviço do mongoDB:

service mongod start

MongoDB - startar serviço

A imagem acima mostra que o serviço foi startado com sucesso. Outra maneira de checar é rodando  o comando: service mongod status:

MongoDB - checar serviço

Ou então analisando a saída de log no arquivo mongod.log:

tail -f /var/log/mongodb/mongod.log

MongoDB - checar serviço - Log

Nesse caso o serviço subiu normalmente e está só aguardando novas conexões na porta 27017.

 

2º – habilitar o serviço do Mongo para inicializar automaticamente quando o servidor fizer algum reboot. Por padrão ele vem desabilitado, conforme imagem abaixo:

chkconfig –list

MongoDB - checar serviço - inicializacao

 

Para habilitá-lo basta digitar o comando: chkconfig mongod on e checar novamente:

MongoDB - checar serviço - inicializacao - chkconfig

E para finalizar, apresento uma ferramenta para gerenciamento da instância que chama Robomongo, podendo ser baixada diretamente no site e pode ajudar muito no gerenciamento da instância:

MongoDB - teste Mongo

Por hoje é só, nos próximos artigos vamos explorar os recursos do banco de dados e alguns truques para gerenciamento do banco.

 

Uma tarefa muito comum para Administradores de Storage é a expansão de discos e hoje vamos aprender como expandir uma LUN de 256GB para 600GB em poucos passos:

1º – Localize a LUN desejada, no nosso caso será a LUN_TESTE:

1 - Storage Expandir lun (3)

1 - Storage Expandir lun (1)

2º – Clique com o botão direito sobre a LUN e selecione: Expand

1 - Storage Expandir lun (2)

 

3º – Digite o novo tamanho da LUN e clique em OK. Note que o valor pode ser colocado em MB, GB, TB e Block:

1 - Storage Expandir lun (4)

Feito isso clique em OK.

4º – Verifique o novo tamanho da LUN:

1 - Storage Expandir lun (5)

É uma operação bastante simples, basta ter espaço disponível no storage pool para realizar essa operação.

Quando trabalhamos com algum sistema operacional, seja ele windows, mac ou linux é importante saber o quanto de recurso está disponível para realizar suas tarefas, seja CPU, Memória, Disco, Rede, versão do S.O. dentre outros.  Abaixo alguns comandos úteis para redhat e centos:

Verificar a versão do S.O.: cat /etc/redhat-release !

6 - Versao do s.o.

Listar CPU:  cat /proc/cpuinfo

1 - Processador

Memória: free -m ou free -h ! O free -h mostra os valores em GB, facilitando a visualização dos números:

2 - Memória

Disco: df -h

3 - Disco

Memória virtual: cat /proc/swaps

4 - Swap

Para verificar os ativos de rede, utilize os comandos: mii-tool e dmesg | grep eth

5 - Rede

Com essas informações você já será capaz de ter noção dos recursos disponíveis pelo seu sistema, lembrando que o comando htop também fornece algumas dessas informações e seu uso em tempo real.

 

O comando HTOP é utilizado para listar todos os processos que estão rodando no servidor linux. Em muitos casos é preciso instalá-lo à parte, pois o mesmo não é contemplado em grande parte das versões linux disponíveis.  Além de ser leve e bem intuitivo, o htop fornece informações em tempo real sobre o uso de processador, memória e swap do seu servidor Linux, conforme imagem abaixo:

1

 

No exemplo acima temos um servidor com 8 cores de processador e 64GB de RAM, sendo o uso desses recursos representados pelas cores: VERDE, VERMELHO, AZUL E AMARELO/LARANJA:

Em CPU temos:

  • VERDE: Threads rodando com prioridade normal
  • AZUL: Threads rodando com baixa prioridade
  • VERMELHO: Threads rodando em favor do Kernel

Em MEMÓRIA:

  • VERDE: Memória em uso pelas aplicações
  • AZUL: Buffers em utilização
  • AMARELO/LARANJA: Cache

E para SWAP, temos somente a cor vermelha, que representa a quantidade de memória SWAP utilizada.

Para obter essa documentação, basta entrar no HTOP do linux, e apertar a tecla F1, conforme procedimento abaixo:

1 – Digite htop no shell do linux:

2

 

 

Exemplo da interface do HTOP:

3

 

 

 

 

 

2 – Aperte a tecla F1 e verique a documentação referente ás cores utilizadas pelo HTOP

4

 

 

 

 

 

Basicamente são essas as informações referente ao uso dos recursos, nas próximas postagens estarei falando sobre as demais opções disponíveis no HTOP para alteração de prioridade em processos, filtros, ordenações, etc!

Até a próxima.

Após fazer a instalação do SQL Server em seu ambiente é importante verificar alguns pontos para que nenhuma surpresa desagradável venha a acontecer. Alguns itens básicos de verificação que podem ajudar são:

 

  • Verificar o alinhamento das partições entregues ao S.O. Essa opção deve ser verificada antes de instalar o SQL Server, caso contrário, tem o trabalho administrativo para mover as bases de dados para outra unidade, formatar o disco com o alinhamento correto e voltar os bancos para a partição original.

 

  • Desabilitar o usuário SA e criar um grupo no Windows como sysadmin e incluir lá os DBA’s responsáveis pela instância.Entretanto considere a possibilidade de habilitar somente o Windows Authentication Mode no momento da instalação, e só depois habilitar o Mixed Mode, assim não será preciso digitar a senha do SA e o mesmo será criado desabilitado.

Read more…