Re: [oracle_br] MV em external table
I can be wrong ,but Oracle não consegue saber quando uma tabela externa(arquivo) foi atualizado.Teria probelmas quanto ao refresh.Nunca tentei isso. Achei alguns links: http://dbaforums.org/oracle/index.php?showtopic=9235 http://www.dbforums.com/oracle/1008638-materialized-view-external-table.html Espero que ajude. 2009/3/3 Alexandre Rocha Placido aplacido.ora...@gmail.com É possível criar uma Materialized View a partir de uma external table? Alexandre Rocha Placido Divisão de Tecnologia da Informação +55 74 3612-2900 +55 87 8802-0474 MSN: aplac...@gmail.com aplacido%40gmail.com “Bom é render graças ao Senhor, e cantar louvores ao teu nome, ó Altíssimo, anunciar de manhã a tua benignidade, e à noite a tua fidelidade, sobre um instrumento de dez cordas, e sobre o saltério, ao som solene da harpa.” Salmo 92:1-3 Antes de imprimir pense em seu compromisso com o Meio Ambiente e no comprometimento com os Custos. -- Esta mensagem, incluindo seus anexos, pode conter informacoes privilegiadas e/ou de carater confidencial, nao podendo ser retransmitida sem autorizacao do remetente. Se voce nao e o destinatario ou pessoa autorizada a recebe-la, informamos que o seu uso, divulgacao, copia ou arquivamento sao proibidos. [As partes desta mensagem que não continham texto foram removidas] -- Júlio César Corrêa IS Technologist - Oracle DBA http://jccorrea.blogspot.com “To stay competitive in the tech industry, never stop learning. Always be on the lookout for better ways of doing things and new technologies. Our industry does not reward people who let themselves stagnate” –John Hall, Senior Vice President, Oracle University [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] MV em external table
Alexandre, Você fez algum teste? Fiz um pequeno teste. Segue os testes que acabei de fazer a respeito da questão. Está mal formatado porque eu copiei e colei,mas dá para seguir a logica e os comandos - Criei o arquivo .txt [ora...@tahiti dir_work]$ vi test_ext_t [ora...@tahiti dir_work]$ ls - Criei o diretorio SQL create directory dir_work as '/u02/oradata/lab/dir_work' 2 ; Directory created. -Concedi as permissões SQL grant read,write on directory dir_work to public; Grant succeeded. Criei a tabela externa com base no arquivo e no diretorio SQL create table test_ext 2 (name varchar2(15), 3sobrenome varchar2(15), 4 idade number(2)) 5 organization external 6 (default directory dir_work 7 access parameters 8 ( records delimited by newline fields terminated by '|' 9 10) 11location('test_ext_t.txt') 12 ); Table created. -Alterei a tabela porque troquei as palavras chaves rs SQL alter table test_ext 2 access parameters 3 ( records delimited by newline 4 fields terminated by '|' 5 ); Table altered. -Alterei o nome do arquivo,senão.. don't work [ora...@tahiti dir_work]$ mv text_ext_t.txt test_ext_t.txt [ora...@tahiti dir_work]$ exit exit - Testei uma consulta na rabela externa SQL select * from test_ext; NAMESOBRENOMEIDADE --- --- -- julio correa 22 SQL Criei uma mview de teste SQL create materialized view test_mv_on_ext 2 build immediate 3 as select * from test_ext; Materialized view created. -Testei a query na mview criada anteriormente SQL SQL select * from test_mv_on_ext; NAMESOBRENOMEIDADE --- --- -- julio correa 22 -Outro teste de criação de mview -Tentativa de refresh na mview SQL begin 2 dbms_refresh('test_mv_on_ext2'); 3 end; 4 Esta ultima está rodando,vamos ver o que acontece. O problema é na hora do refresh.Por se tratar de um arquivo,caso você gere outro arquivo com o mesmo nome no diretorio, o Oracle não saberá disto. Não sei se isto funciona,nunca fiz.Mais vou tentar um refresh ok? Abs, Julio Cesar Correa 2009/3/3 Júlio César Corrêa juliotubi...@yahoo.com.br I can be wrong ,but Oracle não consegue saber quando uma tabela externa(arquivo) foi atualizado.Teria probelmas quanto ao refresh.Nunca tentei isso. Achei alguns links: http://dbaforums.org/oracle/index.php?showtopic=9235 http://www.dbforums.com/oracle/1008638-materialized-view-external-table.html Espero que ajude. 2009/3/3 Alexandre Rocha Placido aplacido.ora...@gmail.com É possível criar uma Materialized View a partir de uma external table? Alexandre Rocha Placido Divisão de Tecnologia da Informação +55 74 3612-2900 +55 87 8802-0474 MSN: aplac...@gmail.com aplacido%40gmail.com “Bom é render graças ao Senhor, e cantar louvores ao teu nome, ó Altíssimo, anunciar de manhã a tua benignidade, e à noite a tua fidelidade, sobre um instrumento de dez cordas, e sobre o saltério, ao som solene da harpa.” Salmo 92:1-3 Antes de imprimir pense em seu compromisso com o Meio Ambiente e no comprometimento com os Custos. -- Esta mensagem, incluindo seus anexos, pode conter informacoes privilegiadas e/ou de carater confidencial, nao podendo ser retransmitida sem autorizacao do remetente. Se voce nao e o destinatario ou pessoa autorizada a recebe-la, informamos que o seu uso, divulgacao, copia ou arquivamento sao proibidos. [As partes desta mensagem que não continham texto foram removidas] -- Júlio César Corrêa IS Technologist - Oracle DBA http://jccorrea.blogspot.com “To stay competitive in the tech industry, never stop learning. Always be on the lookout for better ways of doing things and new technologies. Our industry does not reward people who let themselves stagnate” –John Hall, Senior Vice President, Oracle University -- Júlio César Corrêa IS Technologist - Oracle DBA http://jccorrea.blogspot.com “To stay competitive in the tech industry, never stop learning. Always be on the lookout for better ways of doing things and new technologies. Our industry does not reward people who let themselves stagnate” –John Hall, Senior Vice President, Oracle University [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] MV em external table
Não testei ainda pq estou em curso, mas creio que a solução tem que ser schedulada realmente não tem como ser refreshed por uma alteração no arquivo. Alexandre Rocha Placido Divisão de Tecnologia da Informação +55 74 3612-2900 +55 87 8802-0474 MSN: aplac...@gmail.com “Bom é render graças ao Senhor, e cantar louvores ao teu nome, ó Altíssimo, anunciar de manhã a tua benignidade, e à noite a tua fidelidade, sobre um instrumento de dez cordas, e sobre o saltério, ao som solene da harpa.” Salmo 92:1-3 Antes de imprimir pense em seu compromisso com o Meio Ambiente e no comprometimento com os Custos. Em Ter, Março 3, 2009 15:57, Júlio César Corrêa escreveu: Alexandre, Você fez algum teste? Fiz um pequeno teste. Segue os testes que acabei de fazer a respeito da questão. Está mal formatado porque eu copiei e colei,mas dá para seguir a logica e os comandos - Criei o arquivo .txt [ora...@tahiti dir_work]$ vi test_ext_t [ora...@tahiti dir_work]$ ls - Criei o diretorio SQL create directory dir_work as '/u02/oradata/lab/dir_work' 2 ; Directory created. -Concedi as permissões SQL grant read,write on directory dir_work to public; Grant succeeded. Criei a tabela externa com base no arquivo e no diretorio SQL create table test_ext 2 (name varchar2(15), 3 sobrenome varchar2(15), 4 idade number(2)) 5 organization external 6 (default directory dir_work 7 access parameters 8 ( records delimited by newline fields terminated by '|' 9 10 ) 11 location('test_ext_t.txt') 12 ); Table created. -Alterei a tabela porque troquei as palavras chaves rs SQL alter table test_ext 2 access parameters 3 ( records delimited by newline 4 fields terminated by '|' 5 ); Table altered. -Alterei o nome do arquivo,senão.. don't work [ora...@tahiti dir_work]$ mv text_ext_t.txt test_ext_t.txt [ora...@tahiti dir_work]$ exit exit - Testei uma consulta na rabela externa SQL select * from test_ext; NAME SOBRENOME IDADE --- --- -- julio correa 22 SQL Criei uma mview de teste SQL create materialized view test_mv_on_ext 2 build immediate 3 as select * from test_ext; Materialized view created. -Testei a query na mview criada anteriormente SQL SQL select * from test_mv_on_ext; NAME SOBRENOME IDADE --- --- -- julio correa 22 -Outro teste de criação de mview -Tentativa de refresh na mview SQL begin 2 dbms_refresh('test_mv_on_ext2'); 3 end; 4 Esta ultima está rodando,vamos ver o que acontece. O problema é na hora do refresh.Por se tratar de um arquivo,caso você gere outro arquivo com o mesmo nome no diretorio, o Oracle não saberá disto. Não sei se isto funciona,nunca fiz.Mais vou tentar um refresh ok? Abs, Julio Cesar Correa 2009/3/3 Júlio César Corrêa juliotubi...@yahoo.com.br I can be wrong ,but Oracle não consegue saber quando uma tabela externa(arquivo) foi atualizado.Teria probelmas quanto ao refresh.Nunca tentei isso. Achei alguns links: http://dbaforums.org/oracle/index.php?showtopic=9235 http://www.dbforums.com/oracle/1008638-materialized-view-external-table.html Espero que ajude. 2009/3/3 Alexandre Rocha Placido aplacido.ora...@gmail.com É possível criar uma Materialized View a partir de uma external table? Alexandre Rocha Placido Divisão de Tecnologia da Informação +55 74 3612-2900 +55 87 8802-0474 MSN: aplac...@gmail.com com “Bom é render graças ao Senhor, e cantar louvores ao teu nome, ó Altíssimo, anunciar de manhã a tua benignidade, e à noite a tua fidelidade, sobre um instrumento de dez cordas, e sobre o saltério, ao som solene da harpa.” Salmo 92:1-3 Antes de imprimir pense em seu compromisso com o Meio Ambiente e no comprometimento com os Custos. -- Esta mensagem, incluindo seus anexos, pode conter informacoes privilegiadas e/ou de carater confidencial, nao podendo ser retransmitida sem autorizacao do remetente. Se voce nao e o destinatario ou pessoa autorizada a recebe-la, informamos que o seu uso, divulgacao, copia ou arquivamento sao proibidos. [As partes desta mensagem que não continham texto foram removidas] -- Júlio César Corrêa IS Technologist - Oracle DBA http://jccorrea.blogspot.com “To stay competitive in the tech industry, never stop learning. Always be on the lookout for better ways of doing things and new technologies. Our industry does not reward people who let themselves stagnate” –John Hall, Senior Vice President, Oracle University -- Júlio César Corrêa IS Technologist - Oracle DBA http://jccorrea.blogspot.com “To stay competitive in the tech industry, never stop learning. Always be on the lookout for better ways of doing things and new technologies. Our industry does not reward people who let themselves stagnate” –John Hall, Senior Vice President, Oracle University [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] MV em external table
Depois você dá uma olhada nos links que passei no primeiro e-mail. O D.Burlesson fala que há diferenças em refresh em uma tabela normal do Oracle .A tabela externa não trabalha com isso.Pode ser que o refresh não funcione,eu testei e ficou rodando... Depois posta no que deu. Uma questão é.Qual a necessidade disso? Pra não precisar ficar lendo a tabela todas as vezes que gerar um arquivo novo? Acredito que seja que sempre que você gerar um arquivo,irá tentar um refresh para não precisar ficar levando os dados ao banco manualmente. 2009/3/3 Alexandre Rocha Placido aplacido.ora...@gmail.com Não testei ainda pq estou em curso, mas creio que a solução tem que ser schedulada realmente não tem como ser refreshed por uma alteração no arquivo. Alexandre Rocha Placido Divisão de Tecnologia da Informação +55 74 3612-2900 +55 87 8802-0474 MSN: aplac...@gmail.com aplacido%40gmail.com “Bom é render graças ao Senhor, e cantar louvores ao teu nome, ó Altíssimo, anunciar de manhã a tua benignidade, e à noite a tua fidelidade, sobre um instrumento de dez cordas, e sobre o saltério, ao som solene da harpa.” Salmo 92:1-3 Antes de imprimir pense em seu compromisso com o Meio Ambiente e no comprometimento com os Custos. Em Ter, Março 3, 2009 15:57, Júlio César Corrêa escreveu: Alexandre, Você fez algum teste? Fiz um pequeno teste. Segue os testes que acabei de fazer a respeito da questão. Está mal formatado porque eu copiei e colei,mas dá para seguir a logica e os comandos - Criei o arquivo .txt [ora...@tahiti dir_work]$ vi test_ext_t [ora...@tahiti dir_work]$ ls - Criei o diretorio SQL create directory dir_work as '/u02/oradata/lab/dir_work' 2 ; Directory created. -Concedi as permissões SQL grant read,write on directory dir_work to public; Grant succeeded. Criei a tabela externa com base no arquivo e no diretorio SQL create table test_ext 2 (name varchar2(15), 3 sobrenome varchar2(15), 4 idade number(2)) 5 organization external 6 (default directory dir_work 7 access parameters 8 ( records delimited by newline fields terminated by '|' 9 10 ) 11 location('test_ext_t.txt') 12 ); Table created. -Alterei a tabela porque troquei as palavras chaves rs SQL alter table test_ext 2 access parameters 3 ( records delimited by newline 4 fields terminated by '|' 5 ); Table altered. -Alterei o nome do arquivo,senão.. don't work [ora...@tahiti dir_work]$ mv text_ext_t.txt test_ext_t.txt [ora...@tahiti dir_work]$ exit exit - Testei uma consulta na rabela externa SQL select * from test_ext; NAME SOBRENOME IDADE --- --- -- julio correa 22 SQL Criei uma mview de teste SQL create materialized view test_mv_on_ext 2 build immediate 3 as select * from test_ext; Materialized view created. -Testei a query na mview criada anteriormente SQL SQL select * from test_mv_on_ext; NAME SOBRENOME IDADE --- --- -- julio correa 22 -Outro teste de criação de mview -Tentativa de refresh na mview SQL begin 2 dbms_refresh('test_mv_on_ext2'); 3 end; 4 Esta ultima está rodando,vamos ver o que acontece. O problema é na hora do refresh.Por se tratar de um arquivo,caso você gere outro arquivo com o mesmo nome no diretorio, o Oracle não saberá disto. Não sei se isto funciona,nunca fiz.Mais vou tentar um refresh ok? Abs, Julio Cesar Correa 2009/3/3 Júlio César Corrêa juliotubi...@yahoo.com.brjuliotubista%40yahoo.com.br I can be wrong ,but Oracle não consegue saber quando uma tabela externa(arquivo) foi atualizado.Teria probelmas quanto ao refresh.Nunca tentei isso. Achei alguns links: http://dbaforums.org/oracle/index.php?showtopic=9235 http://www.dbforums.com/oracle/1008638-materialized-view-external-table.html Espero que ajude. 2009/3/3 Alexandre Rocha Placido aplacido.ora...@gmail.comaplacido.oracle%40gmail.com É possível criar uma Materialized View a partir de uma external table? Alexandre Rocha Placido Divisão de Tecnologia da Informação +55 74 3612-2900 +55 87 8802-0474 MSN: aplac...@gmail.com aplacido%40gmail.com com “Bom é render graças ao Senhor, e cantar louvores ao teu nome, ó Altíssimo, anunciar de manhã a tua benignidade, e à noite a tua fidelidade, sobre um instrumento de dez cordas, e sobre o saltério, ao som solene da harpa.” Salmo 92:1-3 Antes de imprimir pense em seu compromisso com o Meio Ambiente e no comprometimento com os Custos. -- Esta mensagem, incluindo seus anexos, pode conter informacoes privilegiadas e/ou de carater confidencial, nao podendo ser retransmitida sem autorizacao do remetente. Se voce nao e o destinatario ou pessoa autorizada a recebe-la, informamos que o seu uso, divulgacao, copia ou arquivamento sao proibidos. [As partes desta
Re: [oracle_br] MV em external table
A questão é exatamente essa, não precisar acessar a tabela externa cada vez que rodar um select e sim usar a MV. Foi uma discussão sobre performance que surgiu durante o treinamento. Alexandre Rocha Placido Divisão de Tecnologia da Informação +55 74 3612-2900 +55 87 8802-0474 MSN: aplac...@gmail.com “Bom é render graças ao Senhor, e cantar louvores ao teu nome, ó Altíssimo, anunciar de manhã a tua benignidade, e à noite a tua fidelidade, sobre um instrumento de dez cordas, e sobre o saltério, ao som solene da harpa.” Salmo 92:1-3 Antes de imprimir pense em seu compromisso com o Meio Ambiente e no comprometimento com os Custos. Em Ter, Março 3, 2009 17:08, Júlio César Corrêa escreveu: Depois você dá uma olhada nos links que passei no primeiro e-mail. O D.Burlesson fala que há diferenças em refresh em uma tabela normal do Oracle .A tabela externa não trabalha com isso.Pode ser que o refresh não funcione,eu testei e ficou rodando... Depois posta no que deu. Uma questão é.Qual a necessidade disso? Pra não precisar ficar lendo a tabela todas as vezes que gerar um arquivo novo? Acredito que seja que sempre que você gerar um arquivo,irá tentar um refresh para não precisar ficar levando os dados ao banco manualmente. 2009/3/3 Alexandre Rocha Placido aplacido.ora...@gmail.com Não testei ainda pq estou em curso, mas creio que a solução tem que ser schedulada realmente não tem como ser refreshed por uma alteração no arquivo. Alexandre Rocha Placido Divisão de Tecnologia da Informação +55 74 3612-2900 +55 87 8802-0474 MSN: aplac...@gmail.com com “Bom é render graças ao Senhor, e cantar louvores ao teu nome, ó Altíssimo, anunciar de manhã a tua benignidade, e à noite a tua fidelidade, sobre um instrumento de dez cordas, e sobre o saltério, ao som solene da harpa.” Salmo 92:1-3 Antes de imprimir pense em seu compromisso com o Meio Ambiente e no comprometimento com os Custos. Em Ter, Março 3, 2009 15:57, Júlio César Corrêa escreveu: Alexandre, Você fez algum teste? Fiz um pequeno teste. Segue os testes que acabei de fazer a respeito da questão. Está mal formatado porque eu copiei e colei,mas dá para seguir a logica e os comandos - Criei o arquivo .txt [ora...@tahiti dir_work]$ vi test_ext_t [ora...@tahiti dir_work]$ ls - Criei o diretorio SQL create directory dir_work as '/u02/oradata/lab/dir_work' 2 ; Directory created. -Concedi as permissões SQL grant read,write on directory dir_work to public; Grant succeeded. Criei a tabela externa com base no arquivo e no diretorio SQL create table test_ext 2 (name varchar2(15), 3 sobrenome varchar2(15), 4 idade number(2)) 5 organization external 6 (default directory dir_work 7 access parameters 8 ( records delimited by newline fields terminated by '|' 9 10 ) 11 location('test_ext_t.txt') 12 ); Table created. -Alterei a tabela porque troquei as palavras chaves rs SQL alter table test_ext 2 access parameters 3 ( records delimited by newline 4 fields terminated by '|' 5 ); Table altered. -Alterei o nome do arquivo,senão.. don't work [ora...@tahiti dir_work]$ mv text_ext_t.txt test_ext_t.txt [ora...@tahiti dir_work]$ exit exit - Testei uma consulta na rabela externa SQL select * from test_ext; NAME SOBRENOME IDADE --- --- -- julio correa 22 SQL Criei uma mview de teste SQL create materialized view test_mv_on_ext 2 build immediate 3 as select * from test_ext; Materialized view created. -Testei a query na mview criada anteriormente SQL SQL select * from test_mv_on_ext; NAME SOBRENOME IDADE --- --- -- julio correa 22 -Outro teste de criação de mview -Tentativa de refresh na mview SQL begin 2 dbms_refresh('test_mv_on_ext2'); 3 end; 4 Esta ultima está rodando,vamos ver o que acontece. O problema é na hora do refresh.Por se tratar de um arquivo,caso você gere outro arquivo com o mesmo nome no diretorio, o Oracle não saberá disto. Não sei se isto funciona,nunca fiz.Mais vou tentar um refresh ok? Abs, Julio Cesar Correa 2009/3/3 Júlio César Corrêa juliotubi...@yahoo.com.br40yahoo.com.br I can be wrong ,but Oracle não consegue saber quando uma tabela externa(arquivo) foi atualizado.Teria probelmas quanto ao refresh.Nunca tentei isso. Achei alguns links: http://dbaforums.org/oracle/index.php?showtopic=9235 http://www.dbforums.com/oracle/1008638-materialized-view-external-table.html Espero que ajude. 2009/3/3 Alexandre Rocha Placido aplacido.ora...@gmail.com40gmail.com É possível criar uma Materialized View a partir de uma external table? Alexandre Rocha Placido Divisão de Tecnologia da Informação +55 74 3612-2900 +55 87 8802-0474 MSN: aplac...@gmail.com com com “Bom é render graças ao Senhor, e cantar louvores ao teu nome, ó Altíssimo, anunciar de manhã a tua benignidade, e à