Hola
Es una pregunta muy amplia ya que no solamente la base de datos es el componente a analizar. Normalmente se deberia considerar:
1) Sistema Operativo: limits y scheduling
2) Configuracion de hardware: utilizacion de CPU, utilizacion de RAM, distribucion de I/O (esto es lo mas importante y lo que normalmente no se presta mucha atencion)
3) Base de datos: Analizar esperas (waits)
4) Aplicacion: programas, sentencias SQL, PL/SQL. Normalmente esto es lo mas complicado porque los desarrolladores asumen que sus programas son los mas optimos por el simple hecho que se llega al resultado, pero te dire que es uno de los puntos que generan los peores problemas de performance.
Si hablamos de afinamiento a nivel de base de datos y sobretodo si esta en produccion no queda otra que analizar WAITS, es decir en que cosas las operaciones estan esperando para terminar de procesar. Si identificamos eso, reducimos tiempos de espera y logicamente mejoramos el tiempo de respuesta. Adicionalmente de dar una revision a la configuracion de parametros de la instancia, principalmente distribucion de SGA y utilizacion de PGA, asi como operaciones de los Background Processes.
Tienes herramientas que te pueden ayudar como el STATSPACK, Performance Views (v$ views), Automatic Workload Repository – AWR (en 10g o superior).
Te recomendaria revises el siguiente link:
http://download.oracle.com/docs/cd/B193 … htm#i10797
Saludos.