Latest Entries »

Olá, tudo bem ?

Após muito tempo sem postar nada, resolvi escrever, ou melhor, sumarizar algumas das novidades do Oracle Database 12c que pesquisei na internet. Nas referências estão todas as fontes pesquisadas e que serviram de base para compor este post.

Então, vamos ao que interessa!

Anualmente ocorre em San Francisco, Califórnia – USA o  Oracle Open World, que é o principal evento da Oracle Corporation para o lançamento dos novos produtos para mundo. E este ano o lançamento mais aguardado era a nova versão do banco de dados, o Oracle Database 12c.

Existiam muitos rumores referente as novas características desta versão e sua integração com os serviços na nuvem (Cloud Computing). Vamos descrever algumas das principais mudanças e novidades divulgadas.

A nova versão contará com mais de 500 novos recursos, porém o foco do evento estava em algumas grandes inovações, como: o novo Framework Pluggable Database que traz grandes benefícios para a gestão de virtualização de banco de dados.

Segurança também recebeu uma grande atenção. O 12c inclui Database-Level Redaction, permitindo o controle granular de acesso a dados sensíveis, como números de cartões de crédito, dados pessoais ou informações financeiras. Com base no perfil do usuário que acessar os dados, as políticas de Redaction do banco de dados podem mascarar as informações, antes de serem apresentadas/enviadas à aplicação.

Outra feature interessante é a “Database Automatic Data Optimisation”, que ajudam os DBA’s  a visualizar o uso em um heat map, destacando tabelas e dados que são mais acessados. Com isso os dados inativos ou menos acessados podem ser comprimidos de forma mais agressiva ou arquivados, reduzindo assim custos de armazenamento. Um detalhe bastante importante é que a optimização pode ser executada em bases de dados “ao vivo”, sem interrupções.

Mais algumas informações sobre as principais mudanças e novos recursos:

 

CDB – Container Database

É uma nova arquitetura do banco de dados Oracle 12c chamada “Multi-tenant database”, onde nesse tipo de arquitetura é possível separar totalmente o CORE do banco de dados das aplicações residentes nele, ou seja, pelo dicionário de dados, irá existir uma distinção entre informações que pertence ao banco de dados e das aplicações, tornando assim possível você criar um CONTÊINER de banco de dados e posteriormente plugar novos bancos de dados conforme a demanda, centralizando e otimizando a utilização dos recursos de infraestrutura.

PDB – Pluggable Database

Permite aos DBA‘s administrar todo o contêiner de banco de dados como um todo, você pode plugar o seu banco de dados em uma infraestrutura de contêiner existente e centralizar os seus backups, rotinas administrativas e etc. Segundo as pesquisas da Oracle, criar um banco de dados usando o PDB fica 1000x mais rápido.

Oracle Cloud Storage

Conforme as novas arquiteturas de banco de dados foram criadas, surge também o Oracle Cloud Storage, onde você poderá armazenar todos os arquivos do seu banco de dados (REDO, CONTROL FILE, DATAFILES) na nuvem, usando um Private ou Public Cloud Storage, que está totalmente integrado aos recursos do ASM.

Oracle Redaction

É um novo produto do Oracle Database 12c para melhorar a questão da segurança, o Oracle Redaction trabalha semelhante ao Oracle Data Masking e o Oracle Label Security, pois ele pode mascarar os dados sensíveis no mesmo banco de dados (Oracle Data Masking) e pode trabalhar a base de políticas de acesso aos dados, restringindo por linhas ou colunas (Oracle Label Security) em tempo real, durante a transação da aplicação.

Agora, vamos ao resumo de algumas características do banco de dados, tais como:

  • FAR ASYNC do Oracle Stand-by, que permite criar standby database com menos overhead em distâncias muito longas;
  • As operações de UNION ALL e SORT ficaram 7x mais rápidas somente com o novo kernel do Oracle Database 12c;
  • Novas melhorias no CBO assim como novos modos de estatísticas do dbms_stats foram adicionados;
  • As operações de DROP e TRUNCATE em partições não afetam mais os índices globais;
  • Agora o Oracle Database 12c possui controle de ILM nativamente;
  • Oracle Advanced Compression, possui algoritmos de compressão semelhantes ao EHCC que pode chegar a taxa de compressão de até 15x em qualquer modelo de storage do mercado;
  • Autenticação de segurança em bases com Microsoft Windows podem usufruir do Windows Authentication;
  • Melhorias em todas as operações de manutenção e administração em tabelas particionadas;
  • Oracle Services possui novos recursos do SQL*NET para acesso as bases de infraestrutura local ou via Cloud para ambientes de alta-disponibilidade ou load balance;
  • Para os amantes de PL/SQL, os Drivers JDBC agora podem contar com passagem de dados via Bind;
  • Novas instrumentações de Oracle Wait Interface foram introduzidas, principalmente para Cloud Computing[bb];
  • AFD – Automatic Fault Diagnostic, é um novo assistente que irá trabalhar em conjunto com o ADR para coletar traces e logs de falhas que a infraestrutura pode causar ao ambiente;
  • Colunas do tipo VARCHAR2 vão ter seu tamanho máximo apliado de 4000 para 32.767, o que corresponde ao tamanho das variáveis VARCHAR2 em PL/SQL. Acima de 4K o armazenamento é feito fora da linha(registro), semelhante ao que acontece com LOB, porém, mais simples;
  • Default Value da coluna pode usar uma sequence.nextval;
  • Top-N agora pode limitar o número de linhas retornadas com clausulas semelhantes a essas: “OFFSET 10 ROWS FETCH FIRST 10 ROWS ONLY”. Similar a sintaxe do MySQL;
  • “Identity Columns”, que são auto-incrementada no momento da inserção (como no MySQL);
  • Melhoria nas estatísticas (histogramas híbridos para mais de 254 valores distintos,  e estatísticas automaticamente coletadas durante o carregamento);
  • Planos de execução adaptativos (alteração do plano em tempo de execução);
  • Duplicar Índices – Criar índices duplicados no mesmo conjunto de colunas. Até o Oracle 11g R2 , se tentar criar um índice usando as mesmas colunas, na mesma ordem, como um índice existente, ocorre um erro;
  • PL / SQL dentro do SQL: este novo recurso permite usar DDL dentro de instruções SQL;

Por enquanto é isso, assim que surgirem mais informações interessantes vou atualizando o post.

 

Referencias:

 

Até mais.

Carlos Neto.

Ola!!!

Finalmente vou postar meu primeiro post que acredito que possa agregar algum tipo de valor!  Então, sem mais delongas, vamos aos fatos.

Frequentemente as pessoas me procuram para “resolver” algum tipo de problema com client de oracle[bb]. Resolvi, fazer esse post por se tratar de um assunto recorrente e apesar da solução ser bastante simples, o problema acaba impactando bastante (principalmente no processo de implantação).

Mas afinal, qual é o problema ?

Essa é a pergunta que eu sempre faço, e que em quase 100% dos casos eu recebo como resposta: “Não consigo conectar no oracle”.

Daí tenho que refazer a pergunta para “Qual a mensagem de erro que ocorre?”
As respostas são absurdamente variadas, porém com pouco tempo de verificação constata-se que os problemas são normalmente os mesmos!

Existem duas causas “principais”, são elas:

  • Client de Oracle não instalado ou instalado incorretamente
  • Configuração de TNSNAMES.ORA

Cada  problema desses tem suas peculiaridades, ou seja, a solução nem sempre é unica, o sintoma muitas vezes é o mesmo, porém a solução pode variar de caso para caso.

Este post, limita-se a apresentar um solução para mensagens de erro semelhantes aos abaixo:

System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.

 Provedor não encontrado. É possível que ele não esteja instalado corretamente.

 

Vou apresentar uma das formas de resolver os dois problemas apresentados acima, vamos utilizar um recurso que já esta disponível na instalação do client do Oracle, mas que poucos sabem da sua importância.

Neste post vamos falar exclusivamente do problema de “falta de provedor” (client oracle) ao tentar acessar uma aplicação feita em Delphi ou C#.

Vamos aos passos:

1) Primeiro passo é identificar a versão do Banco de dados e instalar um client compatível. (Download disponível no site da Oracle http://ads.tt/W4TPQw)

2) Após baixar o client compatível com o banco que se deseja conectar, vamos iniciar a instalação e seguir os passos abaixo:

3) Selecionar a opção “Personalizar”

 

4) Definir o OracleHome e local que deseja instalar o client. (Pode-se deixar os valores sugeridos pelo installer).

 

5) A opção “Oracle Client” XX.X.X.X.X sempre vem marcada e é impossível desmarcá-la, afinal estamos instalando o client do oracle…

6) Para resolvermos o nosso problema, vamos precisar marcar as duas opções marcadas abaixo:  (Oracle Windows[bb] Interfaces e Oracle Call Interface(OCI)).

7) Ao marcar a opção Oracle Windows Interfaces, alguns “subitens” serão marcados automaticamente. É importante verificar se os itens marcados automaticamente contemplam os sinalizados na imagem abaixo, caso não sejam marcados automaticamente, faça isso manualmente.

8 ) Ao prosseguir com a instalação, será apresentado ao usuário o “resumo” da instalação. É importante verificar se os itens que marcamos no passo anterior estão sendo instalados. Caso não estejam, cancele a instalação e repita os passos anteriores.

Para maiores informações referente provider para Oracle seguem os links abaixo do fórum da Oracle:

Como eu comentei antes neste post, as vezes um “problema” ou “sintoma de problema” pode ter mais de uma solução. Procurando na net, encontrei alguém resolvendo um problema de provider para SQL Server. Fonte: http://ads.tt/SmWOrA.

O problema de TNSNAMES mencionado anteriormente pode ser semelhante a este : “ORA-12154: TNS:não foi possível resolver nome de serviço”. Este “problema” também ocorre com muita frequência, mas na verdade não se trata de um problema e sim de uma falta de configuração. Como este assunto também possui algumas peculiaridades, vou deixar para abordá-lo em um outro post.

Dúvidas e/ou sugestões deixe seu comentário.

Carlos Neto.

Começando

Olá!!!

Meu nome é Carlos Neto, trabalho a 15 anos na área de desenvolvimento de sistemas, passando por muitas áreas como: Programação, Analise, Consultoria, Suporte, Projetista…  enfim, muitas foram as funções e/ou atribuições, muito aprendizado, muitas decepções e várias realizações. A vida nessa área não é fácil, o aprendizado deve ser contínuo, tudo evolui muito rápido e se você não acompanhar, você pode ser facilmente substituído.

Por isso, depois de muito tempo querendo montar um blog, finalmente criei coragem e principalmente deixei a preguiça de lado para criar um! Desta forma, vou me “forçar” a estudar para ter condições de postar algo que tenha algum valor e principalmente não falar besteira.

Vai levar algum tempo para ajeitar o blog do jeito que desejo e também para conseguir ganhar uma “periodicidade” boa entre um post e outro.

Neste blog pretendo falar principalmente(não exclusivamente) de Oracle[bb], esse SGBD[bb]que tenho profunda admiração, algum conhecimento e muita vontade de a cada dia que passa aprender mais! Mesmo que este não seja o foco do meu trabalho no dia-a-dia, sempre que possível tento ficar por dentro das novidades. Sempre que tenho a oportunidade de  implementar algo em Oracle a satisfação é imensa, pois acabo juntando duas grandes paixões: programação e ADM de Banco Oracle.

Então é isso, espero que os próximos posts possam ser relevantes para alguém e que de alguma forma possa ajudar.

Até mais,

Carlos Neto.