Tabelas Externas no Oracle 10g

 

Olá pessoal,

 

Uma tabela externa é uma tabela somente para leitura cujo metadados são armazenados no banco de dados, mas os dados são armazenados fora do banco de dados. Quando se utiliza uma tabela externa, na realidade você está usando um diretório do sistema operacional para reter os dados. O diretório resultante tem um formato proprietário da Oracle, que é independente do sistema operacional. As operações de DML (Insert, Update e Delete) não são suportados. O meio de definir os metadados para tabela externa é pela instrução 'create table organization external'.

Pode-se considerar essa definição de tabela externa como uma view usada para executar consultas em dados externos sem que seja necessário carregar os dados externos primeiramente no banco de dados. O Oracle Server fornece dois drives (oracle_loader e oracle_internal) de acesso para as tabelas externas.

 

Criando uma tabela externa

 

Devemos inicialmente criar uma entrada de diretório e conceder permissão de leitura e gravação a esse diretório. Depois definimos a tabela externa, utilizando Data Pump para acessos aos dados e usamos o comando 'create table as select' para preencher a tabela externa.

 

Exemplo:

 

SQL> create directory Suporte as 'C:\oracle\admin\suporte';

 

SQL> grant read, write on directory Suporte to usuario_1;

 

SQL> create table tabela_externa

           (coluna_1, coluna_2, coluna_3, coluna_4)

            organization directory Suporte

            location ('Suporte_1.exp', 'Suporte_1.exp')

            parallel as select a.coluna_1, b.coluna_2, a.coluna_3, b.coluna_4

            from tabela_1 a , tabela_2 b

            where a.coluna_10=b.coluna_10;

 

 SQL> select *

            from Suporte;

 

Quando você remove uma tabela externa com o comando Drop, os arquivos que foram criados no sistema operacional por essa tabela externa não são removidos. Você deve remover manualmente o diretório no sistema operacional.

 

Para maiores detalhes, você pode ler Oracle® Database Administrator's Guide 10g Release 2 (10.2).

(disponível para download no endereço http://www.oracle.com/pls/db102/homepage )

 

Por hoje é tudo pessoal,

 

Até o próximo artigo,

 

André Luiz Gomes Antunes

“Keeping IT Running”