Olá, tudo jóia ? Antes de indicar algumas refs boas, que usei pessoalmente e atesto, a minha Recomendação é simples, básica e humilde : para poder entender o que será dito nas refs, como passo zero, primaira coisa, vc ** TEM ** que ter um conhecimento geral dos mecanismos principais de funcionamento dum RDBMS Oracle, okdoc ?? Nada muito sofisticado nem complexo e muito menos completo - a idéia é vc ter o mínimo de noção sobre o que acontece quando o database é startado (tipo, os caches são alocados - SGA -, os arquivos - datafiles, controlfiles, etc - são abertos, os processos /subprogramas especializados em I/O e em controles são startados, etc), o que acontece quando o usuário envia um SQL pro banco (tipo, o texto do SQL vai pelo fio da rede até o servidor Oracle, lá ele é procurado no cache de SQLs, se é inédito ele é "recompilado" - PARSE -, com um Plano de Execução apropriado, baseado nas estatísticas de CBO, e cada passo do plano é executado posteriormente, os blocos necessários vão pro cache e se for DML são lá alterados, com a info original sendo "copiada" pro rollback/undo), uma boa noção do que acontece quando várias sessões querem acessar os mesmos dados e/ou acessam blocos já alterados por outras - Consistência de dados -, etc)... O outro conhecimento básico Absolutamente necessário é conhecer as features e recursos built-in do RDBMS Oracle : ok, ninguém conhece TODOS, rigorosamente TODOS (e quem diz o contrário OU é gênio OU é mentiroso, ambos casos com tratamento excepcional), mas ao menos um apanhadão geral é imho Crítico de se ter, sim ? A razão é simples : ao substituir um longo e complexo programa externo (normalmente interpretado e enviando SQLs isolados) ao database por uma (ou mais de uma) sequência de built-ins internos (programados em C e compilados normalmente, e que além disso usam & abusam de atalhos internos ao RDBMS), não é incomum se obter ordens de grandeza de melhorias... Essas coisas que eu falei são Novidade para vc ? Se sim, aprofunde-se mais nelas... Isso porque a *** ESMAGADORA *** maioria dos problemas de Performance que vc encontrará no mundo real (abstraindo-se os casos normalmente fora do controle por parte do time técnico, como hardware sub-dimensionado ou mal-configurado, digamos) são causados por planos de execução impróprios (por estatísticas e/ou modelagem inadequados), espera por mecanismos de consistência de dados, e quetais, re-invenção da roda de maneira ineficiente, não uso dos recursos de armazenamento, pesquisa e indexação de dados built-in, etc ...
Os conhecimentos básicos razoavelmente presentes, aí sim vamos pro que as pessoas pensam quando se fala em performance, ie : utilização da instrumentação já presente no RDBMS para identificar gargalos no processamento e/ou pontos de melhoria, re-escrita/melhorias de SQL (já que TUDO num RDBMS começa pelo SQL, ele é o quase que o Único meio de se obter/enviar informação para um RDBMS) e ajustes na configuração do banco e/ou do Sistema Operacional e do hardware.... Vou citar nas refs algumas fontes básicas para isso, mas a recomendação é mesmo fazer como eu fiz : botar a mão na massa, aprender na prática, o que enquanto vc não trabalha efetivamente na área implica em criar VMs/ambientes de teste para que vc possa ajustar params de SO, banco e hardware + ou - à vontade, E também mexer com SQL... => As referências para tudo que eu disse seriam (sem focar em versão/SO/plataforma/SO, já que -imagino-vc quer uma recomendação Genérica), os abaixo... Infelizmente, há algum grau de redundância entre eles, e há fontes aonde o que interessa mais são alguns poucos capítulos/entradas, mas não tem jeito... São eles : manuais Oracle : principalmente o "Oracle Concepts", o manual de Tuning e o de DW (pois alguns recursos de uso comum com grandes volumes de dados, como particionamento e paralelismo) tão lá livros : "Expert Oracle Database Architecture: 9i and 10g Programming Techniques and Solutions", de Thomas Kyte (vem com CD com o livro antigo, "Expert One on One: Oracle", do mesmo Autor : acho Muito interessante ler esse também, pois algumas coisas não foram repetidas no novo) "Expert Oracle Database Architecture: Oracle Database 9i, 10g, and 11g Programming Techniques and Solutions", de Thomas Kyte "Effective Oracle by Design" , Thomas Kyte "Practical Oracle 8i: Building Efficient Databases", de Jonathan Lewis (não se engane com o 8i do título, a maioria dos conceitos aqui ainda tão + que válidos hoje em dia) "Cost-Based Oracle Fundamentals (Expert's Voice in Oracle)", de Jonathan Lewis "Oracle Wait Interface: A Practical Guide to Performance Diagnostics & Tuning",de Richmond Shee, Kirtikumar Deshpande and K Gopalakrishnan "Optimizing Oracle Performance", de Cary Millsap "Oracle Performance Survival Guide: A Systematic Approach to Database Optimization", de Guy Harrison "Oracle SQL High-Performance Tuning (2nd Edition)", de Guy Harrison "Performance Firefighting", de Craig Shallahamer "Troubleshooting Oracle Performance", de Christian Antognini "Linux Recipes for Oracle DBAs (Expert's Voice in Oracle)", de Darl Kuhn, Bernard Lopuz e Charles Kim "Linux Debugging and Performance Tuning: Tips and Techniques", de Steve Best "Guerrilla Oracle: The Succinct Windows Perspective", de Richard Staron "Windows Internals: Covering Windows Server 2008 R2 and Windows 7", de Mark E. Russinovich, David A. Solomon e Alex Ionescu "Pro Oracle Database 11g Administration (Expert's Voice in Oracle)", de Darl Kuhn "Beginning Oracle Database 11g Administration: From Novice to Professional (Expert's Voice in Oracle)", de Iggy Fernandez "Pro Oracle SQL (Expert's Voice in Oracle)", de Karen Morton, Kerry Osborne, Robyn Sands, Riyaj Shamsudeen e Jared Still "Oracle Built-in Packages", Steven Feuerstein Blogs/Sites/Portais (SEMPRE com a ressalva que essas coisas são Extremamente voláteis, a qquer hora pode mudar a URL, sites saem do ar, etc) : http://asktom.oracle.com http://alexanderanokhin.wordpress.com http://carlos-sierra.net/ http://orasql.org/ http://tinky2jed.wordpress.com/ http://dbasrus.blogspot.com.au/ http://blog.ronnyegner-consulting.de/ http://gavinsoorma.com/ http://christianbilien.wordpress.com/ http://blog.oracledba.ru/ http://structureddata.org/ http://hemantoracledba.blogspot.com.br/ http://technology.amis.nl/ http://iggyfernandez.wordpress.com/ http://sysdba.wordpress.com/ http://oracleprof.blogspot.ie/ http://enterprise-manager.blogspot.com.br/ http://tonyhasler.wordpress.com/ http://blog.tanelpoder.com/ http://dioncho.wordpress.com/ http://www.adellera.it/blog/ https://blogs.oracle.com/ (especialmente https://blogs.oracle.com/optimizer/ e https://blogs.oracle.com/AlejandroVargas/) http://www.oraclenerd.com/ http://richardfoote.wordpress.com/ http://newappsdba.blogspot.com.br/ http://carymillsap.blogspot.com.br/ http://akolk.wordpress.com/ http://prodlife.wordpress.com/ http://jkstill.blogspot.com.br/ http://tardate.blogspot.com.br/ http://www.scaleabilities.co.uk/ http://kerryosborne.oracle-guy.com/ http://hoopercharles.wordpress.com/ http://joze-senegacnik.blogspot.com.br/ http://arup.blogspot.com.br/ http://laurentschneider.com/ http://wedonotuse.blogspot.com.br/ http://www.colestock.com/blogs/readme.html http://jarneil.wordpress.com/ http://blog.flimatech.com/ http://mikesmithers.wordpress.com/ http://uhesse.com/ http://robertgfreeman.blogspot.com.br/ http://dfitzjarrell.wordpress.com/ http://www.dbaexpert.com/blog/ http://damir-vadas.blogspot.com.br/ http://oraclenz.org/ http://kamranagayev.com/ http://jhdba.wordpress.com/ http://www.stefanocislaghi.eu/ http://oraclue.com/ http://hansforbrich.blogspot.com/ http://hourim.wordpress.com/ http://jaffardba.blogspot.com.br/ http://orainternals.wordpress.com/ []s Chiappa