Bom dia Orfeu,
Neste caso, o cenário ficou incompleto e para mostrá-lo todo, seria informação
demais para postar.
Eu começaria buscando o que a query está fazendo com banco, para em seguida
identificar o plano de execução.
Para identificar, abra outra sessão na mesma instance enquanto a sua query
esteja rodando e execute:
--executando.sql
set pagesize 100;
set linesize 160;
column sid format a6;
column serial format a6;
column processo format a60;
column inicio format a20;
column username format a20;
SELECT to_char(s.sid) sid,
to_char(s.serial#) serial,
s.username,
substr(decode(target_desc, NULL, decode(target, NULL, opname,
concat(opname, concat(' - ', target))), decode(target, NULL,
concat(opname, concat(' : ', target_desc)), concat(opname, concat(' : ',
concat(target_desc, concat(' - ', target)), 1, 55) Processo,
to_char(start_time, 'dd/mm/ hh24:mi:ss') Inicio,
totalwork tot_block,
totalwork - sofar A processar
FROM v$session_longops l,
v$session s
WHERE sofar totalWork
AND s.sid = l.sid;
Depois, pegue o plano de execução da sua query original com:
EXPLAIN PLAN FOR
--seu SQL --
SET LINESIZE 130
SET PAGESIZE 0
SELECT * FROM table(DBMS_XPLAN.DISPLAY);
Repita o EXPLAIN, mas retirando TODOS os hints e compare os dois.
É um começo ...
Ederson Elias
DBA Oracle
http://br.linkedin.com/pub/ederson-elias/24/8b/8b0
Labor improbus omnia vincit
--- Em oracle_br@yahoogrupos.com.br, orfeu lima orfeuml@... escreveu
Boa tarde Srs. do grupo,
Temos um ambiente de dw com as seguintes configurações.
S. O - Red Hat 5.5
Oracle 11.2.0.3
Discos em ASM
Estou tentando executar o select abaixo, mas não estou conseguindo. A
instrução está executando mas não termina.
Gostaria de pedir sugestão aos membros do grupo para poder estar melhorando
essa instrução.
Índices foram criados.
Obrigado
Segue abaixo a instrução sql.
SELECT
/*+ index_join(TBBENEFICIARIO IDXTPSEXO,IDXLOTE,IDXLOTE2) */
/*+ index_join(TBPROJETO
IDXPROJETO,IDXTP_PROJETO,IDX_PROJETO_COMPLEMENTA,IDXSUPER2,IDXPROJMUN) */
/*+ index_join(TBTIPOPROJETO IDXTPPROJETO) */
/*+ index_join(TBProjetoTipoFase IDXTPPROJ,IDXTPROJTPFASE) */
/*+ index_join(TBPROJETOCONSTITUICAO IDXTPROJTPFASE2) */
/*+ index_join(TBTIPOSEXO IDXTPSEXO2) */
/*+ index_join(TBLOTE IDXLOTE2) */
/*+ index_join(TBDAPGerada IDXGERADA2) */
/*+ index_join(TBSR IDXSUPER) */
/*+ index_join(TBUF IDXSUPERUF) */
/*+ index_join(TBUF IDXSUPERUF) */
/*+ index_join(TBMUNICIPIO IDXMUNICIPIO) */
/*+ index_join(TBCREDITO IDXTBCREDITO,IDXTPAGFIN2) */
/*+ index_join(TBTIPOCREDITO IDXTPTBCREDITO) */
/*+ index_join(TBAgenteFinanceiro IDXTPAGFIN) */
/*+ index_join(TBAssentamento IDXASSENTA,IDXASSENTA4) */
/*+ index_join(TBTipoSituacao IDXASSENTA3) */
BENEFICIARIO.BENEFICIARIO_IDENT_CODIGO CodigoBeneficiario,
BENEFICIARIO.BENEFICIARIO_IDENT_NOME NomeBeneficiario,
BENEFICIARIO.BENEFICIARIO_IDENT_PAI PaiBeneficiario,
BENEFICIARIO.BENEFICIARIO_IDENT_MAE MaeBeneficiario,
NACIONALIDADE.BENEFICIARIO_TPNAC_CODIGO CodigoNacionalidade,
NACIONALIDADE.BENEFICIARIO_TPNAC_DESC Nacionalidade,
ESTADOCIVIL.BENEFICIARIO_TPESTCIV_CODIGO CodigoEstadoCivil,
ESTADOCIVIL.BENEFICIARIO_TPESTCIV_DESC EstadoCivil,
BENEFICIARIO.BENEFICIARIO_IDENT_CPF CPF,
PROJETO.PROJETO_IDENT_CODIGO CodigoProjeto,
PROJETO.PROJETO_IDENT_NOME NomeProjeto,
BENEFICIARIO.BENEFICIARIO_IDENT_PROCADM NumeroProcesso,
LOTE.beneficiario_lote_numero NumeroLote,
SEXO.sexo_codigo CodigoSexo,
SEXO.sexo_descricao Sexo,
BENEFICIARIO.BENEFICIARIO_IDENT_DTNASC DataNascimento,
BENEFICIARIO.BENEFICIARIO_IDENT_DTATUALIZA DataAtualizacao,
SITUACAO.BENEFICIARIO_TIPOSIT_CODIGO CodigoSituacao,
SITUACAO.BENEFICIARIO_TIPOSIT_DESC Situacao,
ASSENTAMENTO.BENEFICIARIO_ASSENT_SIT_DATA DataSituacao,
BENEFICIARIO.BENEFICIARIO_IDENT_DTHOMOLOG DataAssentado,
CASE WHEN DAP_GERADA.Cod_DAP IS NOT NULL THEN 'SIM' ELSE 'NÃO' END PossuiDAP,
DAP_GERADA.Cod_DAP CodigoDAP,
DAP_GERADA.ID_dap_gerada DAPGerada,
DAP_GERADA.DAP_grupo DAPGrupo,
DAP_GERADA.DAP_modelo DAPModelo,
SR.sr_codigo CodigoSR,
SR.sr_nome NomeSR,
UF.COUF CodigoUF,
UF.NOUF NomeUF,
MUNICIPIO.COMUNIBGE CodigoIBGE,
MUNICIPIO.NOMUN Municipio,
PROJETOCOMPLEMENTO.Area Area,
PROJETOCOMPLEMENTO.Capacidade Capacidade,
PROJETOTIPOFASE.projeto_tipofase_codigo CodigoFase,
PROJETOTIPOFASE.projeto_tipofase_descricao Fase,
TIPOPROJETO.projeto_tipoprojeto_codigo CodigoTipoProjeto,
TIPOPROJETO.projeto_tipoprojeto_descricao TipoProjeto,
PROJETOCOMPLEMENTO.DataCriacao DataCriacao,
CREDITO.crd_id CodigoCredito,
TIPOCREDITO.tpc_codigo CodigoTipoCredito,
tiPOCREDITO.tpc_descricao TipoCredito,
CASE WHEN crd_complementacao = '0' THEN CREDITO.crd_valor ELSE 0 END
ValorCredito,
CREDITO.crd_data_recebimento DataCredito,
CASE WHEN crd_complementacao = '1' THEN CREDITO.crd_valor ELSE 0 END
ValorComplementacao,