domingo, 3 de fevereiro de 2013

O que vem por ai, Oracle 12c



Neste artigo serão abordadas as novas características da nova versão do banco de dados Oracle, prevista para ser lançada no segundo trimestre deste ano.

Depois de seis anos, a primeira mudança é a versão do produto, indicada como 12c, onde o “c” indica um banco de dados voltado para as nuvens (cloud). A Oracle está anunciando aproximadamente 500 novas características, neste artigo serão apresentadas algumas já divulgadas para o mercado.

§  Pluggable Database: A partir da versão 12c, será possível criar um recipiente único banco de dados, chamado contêiner, onde pode-se conectar “plugar” vários bancos de dados neste recipiente. Com essa nova característica, todos os bancos de dados “plugados” poderão compartilhar os mesmos processos do servidor Oracle (chamado de AKA background process) e também a memória. Nas versões anteriores, cada banco de dados tinha seu próprio conjunto de processos e alocação de memória. No Oracle até versões 11gR2, para utilizar a gestão de recursos de banco de dados, era necessário configurar planos de recursos por banco de dados e cada um dos bancos de dados não compartilhava a utilização de recursos de outros bancos de dados no mesmo servidor. No Oracle 12c, todos os bancos de dados poderão usar o mesmo contêiner, que irá gerenciar a utilização de recursos de todos os bancos de dados de forma eficiente.

§  Multi-tenancy Database: O significa? Significa que será possível ter vários bancos de dados em execução no mesmo servidor compartilhando a mesma memória e gestão de processos, essa característica é complementar ao “Pluggable Database”.

§  Map Reduce no banco de dados: O MapReduce(*) pode ser executado a partir de um código PL/SQL diretamente no banco de dados.

(*)  O Map-Reduce é uma forma utilizada em programação para descrever e implementar programas paralelos. Estes programas são muitas vezes usados ​​para processar um grande conjunto de dados em paralelo.

§  Melhorias no gerenciamento de valores “defaults”: Essa nova característica permitirá alocar um valor ou calcular um valor como “default” para uma coluna.

Exemplo: Se uma variável “x”, que está definida como inteira e como uma chave primária. Será possível, inserir em uma tabela e não será necessário calcular um valor de chave primária. Também será possível especificar um valor “default” quando nenhum valor for incluindo em uma coluna.

§  Maior capacidade de armazenamento para VARCHAR2, NVARCHAR2 e RAW: Aumento de tamanho e armazenamento nos tipos de dados VARCHAR2, NVARCHAR2 e RAW até 32K. Porém será necessário configurar a variável MAX_SQL_STRING_SIZE no init.ora ou no spfile. Mas os novos tamanhos  não serão suportados em tabelas e índices clusterizados e também em tabelas do tipo “index-organized table” (IOT).
    
§  Melhorias no gerenciamento do particionamento: A nova versão permitirá a manutenção assíncrona de índices globais em operações de DROP e TRUNCATE PARTITION. Além da inclusão da funcionalidade CASCADE para ações de TRUNCATE e EXCHANGE. Essas melhorias permitirão executar operações de várias partições com um único comando DDL.

§  Melhoria nas estatísticas do banco de dados: Serão incluidos os métodos “Hybrid”,Historgrams” eSession Private” e as estatísticas serão geradas durante as cargas de dados automaticamente.

§  Alterações na área de UNDO: Objetos temporários na área de UNDO serão manipulados na tablespace TEMP. Criação de um novo parâmetro TEMP_UNDO_ENABLED, utilizando o comando ALTER SESSION (ALTER SESSION SET TEMP_UNDO_ENABLED = TRUE). Esta funcionalidade reduzirá o conteúdo da área de UNDO, permitindo um melhor funcionamento. E também reduzirá o tamanho dos “redologs” associados ao UNDO.

§  Recursos para o APEX 4.2 (Oracle Application Express): Serão incluídos novos recursos específicos para a criação de aplicações móveis, incluindo transições, gestão, mudanças e suporte ao HTML 5. Na versão 12c, o APEX suportará o ambiente de banco de dadosPluggable“. Também suportará os tamanhos de VARCHAR2 estendidos.

§  Novas funcionalidades do SQL Developer: O “datapump” será incluindo para permitir o movimento rápido de dados e também permitirá o planejamento da movimentação dos dados (via scheduler). A ferramenta de comparação de bancos de dados será redesenhada permitindo mais opções e comparações mais confiáveis. O dispositivo “copy database” também será redesenhada (novas opções), a ferramenta de migrações será melhorada, permitindo a geração de relatórios utilizando o formato PDF e DOC. Melhorias na interface incluem (drag and drop), conceder permissões a objetos no banco de dados (GRANT/REVOKE).

§  Criação do tipo BOOLEAN, mas apenas na utilização de códigos PL/SQL.

§  Será possível conceder permissões via ROLES para unidades de programas PL/SQL. Será possível especificar uma lista em que unidades de código poderão chamar um código.

§  Permissão de criação de índices com mesmo conjunto de colunas, porém com tipos diferentes. Será possível, por exemplo, criar um índice bit-map e um índice b-tree.

§  Os resultados dos cursores poderão ser devolvidos implicitamente, sem a necessidade de explicitá-los.

§  As mensagens de aviso ao compilar o código PL/SQL poderão ser filtradas com base na severidade, que serão classificadas em : SEVERE (severa), PERFORMANCE RELATED (relacionado a performance) ou INFORMATIONAL (informacional). As mensagens poderão ser definidas em um nível de sistema ou de sessão, conforme o exemplo abaixo:

alter session set plsql_warnings=’enable:severe’;
alter session set plsql_warnings=’enable:performance’;
alter session set plsql_warnings=’enable:informational’;

Referências:  Oracle OpenWorld 2012.





MSc. Rubens Oliveira
DBA Oracle Consultor
olivert.dba@consultant.com