- Este tópico contém 18 respostas, 6 vozes e foi atualizado pela última vez 16 anos, 7 meses atrás por
Rodrigo Almeida.
-
AutorPosts
-
28 de julho de 2009 às 9:43 pm #88294
hermesmc
ParticipanteSenhores,
Ao rodar o comando:
exec dbms_stats.gather_schema_stats(‘owner’)
Error starting at line 1 in command:
exec dbms_stats.gather_schema_stats(‘owner’)
Error report:
ORA-00923: FROM keyword not found where expected
ORA-06512: at “SYS.DBMS_STATS”, line 13591
ORA-06512: at “SYS.DBMS_STATS”, line 13937
ORA-06512: at “SYS.DBMS_STATS”, line 14015
ORA-06512: at “SYS.DBMS_STATS”, line 13974
ORA-06512: at line 1
00923. 00000 – “FROM keyword not found where expected”
*Cause:
*Action:Mas com essa informação não estou conseguindo localizar o erro na base de dados. O que poderia ser?
28 de julho de 2009 às 9:48 pm #88295Ishii
ParticipanteOlá,
O comando está correto?
É com owner mesmo ou vc substituiu pelo nome correto do OWNER, algo como DBORACLE ou SIGA ou outro…
[]s Ishii
28 de julho de 2009 às 9:54 pm #88297hermesmc
ParticipanteEu substitui o nome correto por OWNER. Este comando era executado sem problemas antes. Depois que algumas tabelas foram criadas é que começou a aparecer. Porém não gostaria de dropar todas as tabelas criadas até achar a culpada. Deve haver uma forma melhor para localizar o problema.
28 de julho de 2009 às 10:47 pm #88302vieri
ParticipanteVc não tem que setar OWNER.
Owner quer dizer dono, é apenas um exemplo…
vc tem que colocar o dono da tabela no seu comando.
verifique os owner’s das tabelas :
select owner , count(*) from dba_tables group by owner;
substitua owner pelo resultset deste script.
28 de julho de 2009 às 10:58 pm #88304David Siqueira
ParticipanteSiga as instruções do Vieri, estão corretissimas.
Abraço
28 de julho de 2009 às 11:09 pm #88306hermesmc
ParticipanteGente, vc não estão entendendo. Coloquei a “palavra” OWNER onde seria o nome do owner. Por exemplo: a minha base se chama XPTO e o seu owner ABCD. Dando o comando exec dbms_stats.gather_schema_stats(‘ABCD’) eu atualizo as estatíscas da base XPTO, não é isso? Como eu disse, troquei o nome do owner original pela palavra OWNER. Só isso. Antes o comando: exec dbms_stats.gather_schema_stats(‘nome_do_owner’) funcionava corretamente mas depois da criação de algumas tabelas o comando retorna o erro acima.
28 de julho de 2009 às 11:11 pm #88307Ishii
ParticipanteOlá,
Você tem os nomes destas tabelas que foram criadas? E como elas foram criadas?
[]s Ishii
28 de julho de 2009 às 11:15 pm #88309David Siqueira
ParticipanteOk!
Então vamos a pergunta mais importante.
Por qual razão você tirou o nome do OWNER da sua base e colocou a palavra reservada “OWNER” no lugar da chamada da execução do pacote DBMS_STATS?Se você olhar bem, se essas tais tabelas novas foram criadas debaixo do owner ABCD e sua chamada da procedure estava coletando estatisticas do Owner em questão não haveria de dar problemas, como você mudou o nome do OWNER em questão para a palavra reservada ele não esta executando normalmente.
Tente voltar o nome do Owner que estava antes, e check se as estatisticas foram coletadas.
Abraço
28 de julho de 2009 às 11:18 pm #88310David Siqueira
ParticipanteSe ainda assim não funcionar cara, use a procedure que coleta estatisticas de tabelas diretamente :
DBMS_STATS.GATHER_TABLE_STATSExemplo:
EXEC DBMS_STATS.gather_table_stats('SCOTT', 'EMPLOYEES', estimate_percent => 15);Abraço.
28 de julho de 2009 às 11:34 pm #88313hermesmc
ParticipanteObrigado pelas dicas. Lamento ter confundido a cabeça de todos usando a palavra owner. Prometo não fazer mais isso. O meu intuito era apenas saber interpretar o erro como ocorreu. Nenhuma das repostas dadas acima foi eficiente. Por isso vou repetir tudo tirando a palavra owner.
O comando dado foi:
exec dbms_stats.gather_schema_stats(‘ABCD’)
E o erro foi:
Error starting at line 1 in command:
exec dbms_stats.gather_schema_stats(‘ABCD’)
Error report:
ORA-00923: FROM keyword not found where expected
ORA-06512: at “SYS.DBMS_STATS”, line 13591
ORA-06512: at “SYS.DBMS_STATS”, line 13937
ORA-06512: at “SYS.DBMS_STATS”, line 14015
ORA-06512: at “SYS.DBMS_STATS”, line 13974
ORA-06512: at line 1
00923. 00000 – “FROM keyword not found where expected”
*Cause:Como localizar o erro que ocorreu depois da criação de várias tabelas?
Grato
29 de julho de 2009 às 12:09 am #88315vieri
ParticipanteCara o comando está correto…
O jeito que vc escreveu confundiu o pessoal.
Seja mais direto e poste o comando inteiro que usou,
em T.I TODOS usam forúm ninguem vai lhe discriminar por isso
na sua empresa , nem vão invadir sua instância , porquem sabem
o nome do seu owner.Voltando…
Cara coloca um trace antes de executar a coleta!!
alter session set sql_trace=true;
exec dbms…..
alter session set sql_trace=true;
show parameters user_dump_dest
Va até o diretório , analise o arquivo e veja o ponto que gerou o erro.
está é a saida.
29 de julho de 2009 às 12:31 am #88322vieri
ParticipanteOPS:
corrigindo.
alter session set sql_trace=true;
exec dbms…..
alter session set sql_trace=
😛
29 de julho de 2009 às 12:31 am #88323vieri
Participantealter session set sql_trace= false
29 de julho de 2009 às 12:32 am #88324vieri
ParticipanteO false cancela a geração do TRACE.
29 de julho de 2009 às 3:31 am #88327hermesmc
ParticipanteOk Vieri, obrigado. Amanhã vou tentar.
-
AutorPosts
- Você deve fazer login para responder a este tópico.