quinta-feira, 31 de maio de 2018

Oracle NoSQL - Instalando e comandos úteis

Boa noite pessoal,

Hoje um post rápido mas bem interessante. Detalho abaixo a instalação do Oracle NoSQL e a configuração de uma KVStore 2x2.
--Criar estrutura de diretório em todos os hosts que farão parte da Store
mkdir /nosql
cd /nosql
mkdir KVROOT
cd KVROOT
mkdir str1
mkdir str2

--Descompactar instalador

--Renomear pasta descompactada para KVHOME
mv kv-4.5.12/ KVHOME

--Editar .bash_profile e adicionar
#NoSQL KVSTORE

KVHOME=/nosql/KVHOME
KVROOT=/nosql/KVROOT

export KVHOME
export KVROOT


--Checar se após descompactar se o instalador está ok
java -jar $KVHOME/lib/kvclient.jar

java -jar $KVHOME/lib/kvstore.jar makebootconfig \
-root $KVROOT -host nome_do_host_1 -port 5000 \
-harange 5005,5050 \
-store-security none -capacity 2 \
-storagedir $KVROOT/str1 \
-storagedir $KVROOT/str2

nohup java -jar $KVHOME/lib/kvstore.jar start -root $KVROOT &

java -jar $KVHOME/lib/kvstore.jar ping \
-port 5000 \
-host nome_do_host_1

Repetir os passos acima no host2

-- iniciando a ferramenta de configuração
java -jar $KVHOME/lib/kvstore.jar runadmin \
-port 5000 \
-host nome_do_host_1

-- Configurando o nome da Store
configure -name KVStore

--Criando uma Zone
plan deploy-zone -name "ZoneKV" -rf 2 -type primary -wait

show plans

--(OPCIONAL)para confirmar o id da zona

show topology

-- Deploy storage and admin nodes Host 1 (Confirmar via interface web se o nome do storage node(sn) é realmente sn1)

plan deploy-sn -znname "ZoneKV" -host nome_do_host_1 -port 5000 -wait

plan deploy-admin -sn sn1 -port 5001 -wait

    --Na mesma interface rode os comandos dos outros 2 hosts
        -- Deploy storage Host2
        plan deploy-sn -znname "Zone_KV" -host nome_do_host_2 -port 5000 -wait



-- Criar um storage pool
pool create -name KVPool

show plans

-- Ligar nodes com o storage pool
pool join -name KVPool -sn sn1
pool join -name KVPool -sn sn2


show pools

-- Criando a topology
topology create -name Topo -pool KVPool -partitions 150

topology preview -name Topo

-- Deploying the KVStore
plan deploy-topology -name Topo -wait

---Olhar via web o resultado

-- Testando a KVStore
java -jar $KVHOME/lib/kvstore.jar ping -host nome_do_host_1 -port 5000

ping

--conectando na store
java -jar $KVHOME/lib/kvstore.jar runadmin -port 5000 -host nome_do_host_1
connect store -host nome_do_host_1 -port 5000 -name KVStore

--importando tabela
java -jar $KVHOME/lib/sql.jar
connect -host nome_do_host_1 -port 5000 -name KVStore

java -jar $KVHOME/lib/sql.jar -helper-hosts nome_do_host_1:5000 -store KVStore

import -table SETOR -file 01_SETOR.csv csv

##Iniciando NoSQL
nohup java -jar $KVHOME/lib/kvstore.jar start -root $KVROOT &

##Parando NoSQL
java -jar $KVHOME/lib/kvstore.jar stop -root $KVROOT

###############Em caso de erro na instalação

 If you run into installation problems or want to start over with a new store, then on every node in the system:

    Stop the node using:

java \
-jar $KVHOME/lib/kvstore.jar stop -root $KVROOT

    Remove the contents of the KVROOT directory:

    rm -rf KVROOT

    Start over

segunda-feira, 26 de fevereiro de 2018

Oracle Database Cloud Service – Provisione seu ambiente de Banco de Dados Oracle em 30 minutos.

 

O que é?

Segundo o site https://cloud.oracle.com/pt_BR/database, O “Oracle Database Cloud Service oferece serviços de banco de dados para desenvolvimento de aplicativos, teste e implantação de produção. O serviço oferece uma interface de usuário em console web fácil de usar e API RESTful para provisionar e administrar o Oracle Database”. Em resumo é o Banco de Dados Oracle como serviço na nuvem.
Outro ponto importante a ser esclarecido: O Oracle Database Cloud Service é exatamente o mesmo banco de dados da versão On premise! A mesma aplicação que roda on premise também roda no banco em nuvem.

Por que ir pra nuvem?

                Hoje em dia isso já é uma pergunta que não faz mais sentido, correto? Porém várias pessoas ainda se sentem inseguras nesse ponto. Segundo a Computerworld Strategic Marketing Services Cloud survey, alguns pontos motivam o movimento “move to cloud” que está acontecendo no mundo:

- Maior agilidade nos negócios 
- Custos mais baixos. 
- Melhor utilização de RecursosImplementações mais rápidas
- Menos problemas operacionais  

                O que Provavelmente não é novidade para muitos de vocês. 

Funcionalidades

                Ok, já falamos sobre o que é, o porque de ir, mas quais são as funcionalidades a mais que a nuvem me traz? Para aqueles que já possuem a base Oracle uma instância DBCS traz as possibilidades de:

- Testar options que não possui em ambiente on-premise. É comum se perguntar qual o impacto que uma option teria em seu ambiente, por que não testar com seus próprios dados na cloud?;
- Provisionamento rápido para ambientes de desenv, testes e homologação; 
- Replicação de ambientes para cloud. Crie um ambiente novo na cloud com os seus dados de produção on premise;
- Backup de ambiente on premise para cloud (RMAN). Todos os dados que vão para nuvem são criptografados. 

E as funcionalidades gerais que hoje são abordadas nesse serviço são:


- Banco Completo: Você pode optar por um DBMS dedicado 11gR2 ou 12c 
Pensando em Segurança: Criptografia na rede, Database, Storage
- Alta disponibilidade: Data Guard, RAC Cluster
- Gerenciado: Oracle Backup, patches e upgrades 
- Ferramental completo: SQL Loader, Data Pump, JDBC, OCI, Enterprise Manager, e suporte a qualquer ferramenta de terceiros 
- Totalmente portável: de on-premises para a nuvem
 
 
Foi citado na funcionalidade “Gerenciado” um ponto que é interessante de abordar. E um desses pontos é mais um serviço: O Oracle Database Backup Cloud Service. Segundo o site https://cloud.oracle.com/pt_BR/database_backup, “é uma solução de armazenamento de objetos confiável e escalável para armazenar e acessar o volume cada vez maior de dados de backup do seu Oracle Database”. É possível enumerar suas características :
- Armazena e dá acesso ao backup do banco de dados Oracle
- Suporta data protection, criptografia de comunicação e políticas de privacidade
- Capacidade sob demanda: cresce conforme a necessidade
- Gerencia automaticamente expiração e os dados da perspectiva de degradação
- Redundância: dados sempre em alta disponibilidade
- Simples: backups transparentes usando interface RMAN
 
Mas em o que mais que o Oracle Database Cloud Service consegue me ajudar?


Além dos motivos do “move to cloud” e das funcionalidades citadas acima, o Oracle Database Cloud Service pode ajudar você e sua equipe de diversas maneiras. Por meio de interface visual é possível provisionar um ambiente para testes, desenvolvimento, homologação ou produção de maneira simples e rápida. Não sendo necessário separar e alocar recursos do datacenter, configurar o Sistema Operacional e instalar o Banco de Dados e nem se preocupar com alta disponibilidade e Backup.
Pensando no dia a dia o Serviço também inclui automação. De maneira que é possível configurar o seu backup, ser avisado quando um patch novo sair e com o apertar de um botão, ou criação de scripts, é possível aplicar esse patch a uma ou mais instâncias, e o gerenciamento é similar ao do ambiente on-premise.
Aproveito para abaixo adicionar uma imagem contendo as Funcionalidades, automações e opções de Tooling do Oracle Database Cloud Service:



 


Como criar a sua primeira instância na cloud Oracle


Legal, grande parte das funcionalidades nós já conseguimos abordar. E se eu batesse na tecla novamente que o Provisionamento é simples? E que você consegue provisionar uma instância de banco de dados em 6 passos, e dependendo da configuração feita, você tem acesso em até 30 minutos? De maneira bem simples os passos a serem seguidos são:



1- Escolha a versão do Banco de Dados
2- Escolha a edição (SE, EE, EE High, EE Extreme)
3- Escolha o Shape  (storage, cores, memory)
4- Defina como quer seu Backup
5- Faça Upload da sua chave ssh
6- Aperte  Criar



Para a criação de sua primeira instância é necessário ter em mãos o seu acesso a Oracle Cloud. Com as credenciais em mãos siga os passos abaixo:

Após logar em sua conta clique em “Create Instance”:



Em seguida em “Database”:



 

Nessa Próxima Janela caso você já tivesse alguma instância, seria possível ver o resumo dela(s). Clique em “Create Instance”:

 

Escolha o nome da sua instância, sua descrição, frequência de cobrança do serviço, Release do Software (11 ou 12) e edição. Clique em “Next”:

 

No passo de “Details” dê nome ao seu Banco de Dados, PDB (Pluggable Database), insira a senha do Administrador (Será a senha do SYS, SYSTEM...), espaço do Banco de Dados, O Shape (CPU e Memória), cria ou insira sua chave(SSH Public Key), caso queria mudar alguma configuração avançada sinta-se a vontdade. Na parte do backup existem algumas possibilidades, eu solicitei que o backup fosse feito para um Storage na Cloud. É possível ver dois quadrados vermelhos, nesse item eu adicionei o caminho para o meu Storage e o meu usuário (Tem de ser um usuário com permissão escrever/criar Cloud Storage Container). Clique em next.


Revise as configurações feitas e clique em “Create”:

 

Após clicar em “Create”, a interface volta para a tela de resumo das instâncias. Assim como demonstrado na figura, a nossa instância está com status de “Creating instance”:


E pronto! Sua instância está no ar

 

Com isso finalizamos essa introdução. Em um próximo momento iremos abordar a conexão com instância, backup e restore. 

Obrigado pela atenção! Toda e qualquer dúvida/sugestão será bem vinda.