Ae pessoal um colega aqui da empresa passou a solução abaixo, disse que testou e funciona...vou ver...
De qualquer forma fica ae para quem quiser... create table system.ver_tabela_sem_acesso( table_name varchar2(30), statistic_name varchar2(30), report_date date, table_owner varchar2(30), startup_time_db date) / create index system.ix_ver_tabela_sem_acesso_rd on system.ver_tabela_sem_acesso(report_date); create or replace procedure system.PR_CHECK_UNUSABLE_TABLE is cursor c_checa_tab_sem_uso is select table_name from dba_tables where owner='SYSADM' minus select object_name from v$segment_statistics where statistic_name = 'logical reads' and object_type = 'TABLE' and owner = 'SYSADM'; begin for i in c_checa_tab_sem_uso loop insert into system.ver_tabela_sem_acesso ( TABLE_NAME, STATISTIC_NAME, REPORT_DATE, TABLE_OWNER, STARTUP_TIME_DB ) values ( i.table_name, 'logical reads', sysdate, 'SYSADM', (select STARTUP_TIME from v$instance) ); end loop; commit; end PR_CHECK_UNUSABLE_TABLE; / select table_name from dba_tables where owner='SYSADM' minus select object_name from v$segment_statistics where statistic_name = 'logical reads' and object_type = 'TABLE' and owner = 'SYSADM' / exec PR_CHECK_UNUSABLE_TABLE; Em 31/07/2012 18:20, J. Laurindo Chiappa < jlchia...@yahoo.com.br > escreveu: Ah, importante : ainda sobre as opções não 100% confiáveis, E SE vc não precisa saber de Queries, vc pode também ativar a funcionalidade de table monitoring no 9i : o que esse cara faz é registrar em tabelas internas mais ou menos o quanto vc teve de alterações nos dados (principalmente via INSERTs) - Óbvio ululante, como o Objetivo desse cara é ter uma idéia se as estatísticas de modo geral estão muito defasadas ou não, É CLARO que esse sujeito só pode ser incluído no grupo das não 100% confiáveis, vc VAI SIM cedo ou tarde ter perdas com esse cara.... http://www.oracle-base.com/articles/8i/refreshing-stale-statistics-8i.php fala sobre o assunto. []s Chiappa --- Em oracle_br@yahoogrupos.com.br, "J. Laurindo Chiappa" escreveu > > Andre, a sua resposta é bem clara aqui : se a sua necessidade é saber > quando a tabela foi usada MAS com 100% de precisão, sem a menor Chance de > falso-positivo OU de perda de dados, a tua ÚNICA alternativa é implantar > algum tipo de AUDITORIA, ok ? CASO seja aceitável algum risco, porém, aí vc > terá as opções que citarei ao final da msg... > > Falando sobre AUDITORIA, ela pode ser EXTERNA ao database (via tools > externas a serem compradas e instaladas/setadas, como o Guardium, o Audit > Vault e n outras), OU pode ser interna ao database (via trace de SQL, comando > AUDIT, FGA, triggers - que NÂO sejam FOR EACH ROW, pelamor, é Claro -, > criação de view materializada com log de alterações, etc)... Há ainda a opção > mista de (SE o banco está em modo archive) vc ** MINERAR ** os redo logs - eu > a chamei de mista porque em princípio vc tanto pode fazer a mineração no > próprio banco-origem QUANTO PODE fazer isso num outro servidor, fora do > database original, para onde vc enviaria os redo logs.... > Lembro apenas que : > - nem todos os métodos acima funcionam em todas as versões, com todos os > SQLs (alguns só auditam DMLs, não queries), com todos os datatypes... vc DEVE > consultar na sua Documentação (se for método interno) ou no Suporte do > fornecedor (se for método externo) a Aplicabilidade > - a vantagem da Auditoria externa é que o Overhead no database em si é > nulo (pode haver algum overhead para o Servidor, se o método externo for > instalado no mesmo servidor , ou então na Rede se o método externo for > instalado em outro servidor), e a Desvantagem principal é que ela tem Custo > extra (em Licenças, em homens/hora para instalação e setup, etc) > - a vantagem da Auditoria interna no database é que o Custo dela é > mínimo (quando não é ZERO), e a desvantagem é que NECESSARIAMENTE ela implica > em algum overhead para o database.... Fique CLARO aqui que via de regra esse > overhead é MÍNIMO, Minúsculo, mas não é zero... Isso TEM que ser > relativizado, porém : Na real, pro seu caso por exemplo, só imagino quanto > bilhões de I/Os teu banco de 20 Terabytes faz rotineiramente, será que nesse > cenário o único , pequenino,simplório I/O de INSERT na tabela de Audit vai > fazer cosquinha nesse servidor, vai "quebrar" alguma coisa ??????? Vc que > diz, mas sinceramente Eu acho Improvável ao extremo... > > Falando sobre as opções NÂO 100% confiáveis : basicamente vc vai consultar > os caches de SQL (já que TODO acesso à tabelas no RDBMS Oracle demanda um SQL > apropriado) : no 9i isso pode ser feito consultando-se diretamente as V$ > apropriadas, ou com Statspack (que faz basicamente a mesma coisa) - sendo 9i > vc Não Terá a funcionalidade do AWR, que já faz essa consulta às V$s > automaticamente e as guarda... > > []s > > Chiappa > > > --- Em oracle_br@yahoogrupos.com.br, Andre Campos escreveu > > > > > > Vitor, valeu pela resposta, mas audit não é uma opção é um banco de 20TB e > > já esta no gargalo o consumo. > > Teria que ser algo tipo monitoração a monitoração de indices.....(tá > > dificil...) > > > > > > > > > > Em 31/07/2012 16:02, Vitor Jr. escreveu: > > Habilitando a auditoria? > > > > > > Att,/Regards, > > > > > > Vitor Jr. > > Infraestrutura / Infrastructure Team > > Oracle 11g DBA Certified Professional - OCP > > Oracle Database 11g Performance Tuning Certified Expert - OCE > > Oracle Exadata 11g Certified Implementation Specialist > > Oracle Certified Associate, MySQL 5 > > mail, gtalk e msn: vitorjr81@ > > http://certificacaobd.com.br/ > > skype: vjunior1981 > > > > > > > > On 31/07/2012, at 16:02, Andre Campos wrote: > > > > > Boa tarde pessoal...tudo bem? > > > > > > Alguém sabe me dizer se tem como monitorar a utilização de uma tabela no > > > oracle 9i? > > > Tipo ultima vez que a tabela foi acessada? > > > > > > Obrigado! > > > > > > _________________________ > > > André Campos > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > ------------------------------------ > > > > ---------------------------------------------------------- > > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de > > >inteira responsabilidade de seus remetentes. > > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ > > ---------------------------------------------------------- > > >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure > > >» Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: > > >http://www.oraclebr.com.br/ > > ---------------------------------------------------------- Links do Yahoo! > > Grupos > > > > Para visitar o site do seu grupo na web, acesse: > > http://br.groups.yahoo.com/group/oracle_br/ > > > > Para sair deste grupo, envie um e-mail para: > > oracle_br-unsubscr...@yahoogrupos.com.br > > > > O uso que você faz do Yahoo! Grupos está sujeito aos: > > http://br.yahoo.com/info/utos.html > > >