Banco De Dados
Monografias: Banco De Dados. Pesquise 862.000+ trabalhos acadêmicosPor: fabi_city • 21/4/2013 • 3.801 Palavras (16 Páginas) • 626 Visualizações
SQL LOADER
SQL Loader, um utilitário que permite ler dados de arquivos externos e carregar estes dados em tabelas de um Banco de Dados Oracle, com a vantagem de efetuar cargas de dados mais rápidas que os caminhos de atualização de dados convencionais, tais como scripts de INSERT.
O SQL Loader pode ser instalado através do instalador do Oracle Client e seu arquivo utilitário, sqlldr.exe, encontra-se na pasta "ORACLE_HOME\<versão do cliente>\bin".
Ex.: "C:\Oracle\Produto\Cliente\10gR2\BIN\sqlldr.exe".
Para executar uma carga de dados com o utilitário do SQL Loader , deve-se utilizar obrigatoriamente, como parâmetros, um arquivo de controle e um arquivo de dados. Opcionalmente, a carga de dados pode gerar log das operações executadas, dos dados rejeitados e dos dados descartados.
O arquivo de controle é um arquivo texto com uma extensão .ctl (preferencial, mas não obrigatória), que deve conter as seguintes informações: caminho e nome do arquivo de dados, formato dos dados, detalhes de configurações e como manipular os dados.
O arquivo de dados é um arquivo texto com uma extensão qualquer (.csv, .dat, .txt etc.), que poderá conter registros (linhas) em um dos seguintes formatos: registro fixo, registro variável e registro de fluxo.
O arquivo de log é um arquivo texto que contém um resumo detalhado do processo de carga.
O arquivo de dados rejeitados ou arquivo de erros (bad file), contém registros que são rejeitados pelo processo de carga por conterem dados em formato de entrada inválido. Ele permite verificar quais linhas do arquivo de dados foram rejeitadas, para que você possa posteriormente analisar a causa da rejeição.
O arquivo de dados descartados é criado somente quando for especificado no arquivo de controle e contém registros que são excluídos do processo de carga por não corresponderem aos critérios de seleção de carga, especificados no arquivo de controle.
SQL * Loader () é a utilidade de usar para cargas de dados de alto desempenho. Os dados podem ser carregados a partir de qualquer ficheiro de texto e inserido na base de dados.
SQL * Loader lê um arquivo de dados e uma descrição dos dados que é definido no arquivo de controle. Usando essas informações e quaisquer parâmetros adicionais especificadas (tanto na linha de comando ou no parfile), SQL * Loader carrega os dados no banco de dados.
Durante o processamento, o SQL * Loader escreve mensagens para o arquivo de log, linhas ruins para o arquivo ruim, e as linhas descartadas para o arquivo de descarte.
O arquivo de controle sqlldr
O SQL * arquivo de controle do carregador contém informações que descrevem como os dados serão carregados. O arquivo contém sqlldr o nome da tabela, tipos de dados de coluna, delimitadores de campo, etc, e fornece as tripas para todo o processamento SQL * Loader.
Criar manualmente os arquivos de controle é um processo sujeito a erros. O seguinte script SQL () pode ser usada para gerar um ficheiro de controlo exacto para uma determinada mesa. O script aceita um nome de mesa e um formato de data (a ser usado para colunas de data), e gera um arquivo de controle válido para usar com o SQL * Loader para essa tabela.
O arquivo de controle também pode especificar que os registros estão no formato fixo. Um arquivo é em formato de registro fixo quando todos os registros em um arquivo de dados são do mesmo comprimento. O arquivo de controle especifica a localização de byte específico inicial e final de cada campo. Este formato é mais difícil de criar e menos flexível, mas pode render benefícios de desempenho. Um arquivo de controle especificando um formato fixo para a mesma tabela pode parecer com o seguinte:
LOAD
'Table_with_one_million_rows.dat' INFILE
EM TABLE_WITH_ONE_MILLION_ROWS TABELA
O SQL arquivo de log carregador
O arquivo de log contém informações sobre a execução de SQL * Loader. Deve ser visto depois de cada trabalho SQL * Loader está completa. Especialmente interessante é o resumo das informações na parte inferior do tronco, incluindo o tempo de CPU e tempo decorrido. Os dados a seguir é uma amostra do conteúdo do ficheiro de registo.
Arquivo ruim e arquivos de descarte
Maximizando SQL * Loader Desempenho
SQL * Loader é flexível e oferece muitas opções que devem ser considerados para maximizar a velocidade de cargas de dados. Estes incluem muitas permutações dos * SQL carregador parâmetros do arquivo de controle:
Use Cargas caminho direto - O carregador caminho convencional essencialmente carrega os dados usando instruções de inserção padrão. O carregador caminho direto ( direto = true ) cargas diretamente nos arquivos de dados Oracle e cria blocos no Oracle formato de bloco de banco de dados. Para preparar o banco de dados para cargas de caminho direto, o script $ ORACLE_HOME / rdbms / admin / catldr.sql . SQL deve ser executado.
- Desativar índices. Para cargas de dados convencionais só, a desativação de índices e restrições podem melhorar muito o desempenho do SQL * Loader. skip_index_maintenance O SQL * parâmetro carregador permite que você ignore a manutenção do índice ao realizar paralelamente construir cargas de dados em Oracle, mas apenas ao utilizar o direto sqlldr = y opções de carga diretos. acordo com Dave Mais em seu livro "A Oracle Utilities" usando skip_index_maintenance = true significa "não reconstruir índices", e vai acelerar bastante-up cargas de dados sqlldr ao utilizar processos paralelos com sqlldr: Também, de acordo com a Oracle especialista Jonathan Gennick "O skip_index_maintenance SQL * parâmetro Loader: ". Controla se ou não a manutenção do índice é feito por um caminho direto de carga Este parâmetro não se aplica a cargas caminho convencional Um valor do índice verdadeiras causas. manutenção para ser ignorada.
- Use uma matriz maior Bind . Para cargas de dados convencionais, apenas matrizes maiores ligam limitar o número de chamadas para o banco de dados e aumentar o desempenho. O tamanho da matriz de ligação é especificada utilizando o bindsize parâmetro. O tamanho da matriz de ligação é equivalente ao número de linhas que ele contém ( linhas = ) vezes o comprimento máximo de cada linha.
...