Buscar en moleculax

Este blog es un ensayo digital donde el pensamiento estructurado se encuentra con la introspección profunda. Explora la arquitectura del conocimiento: desde lo técnico hasta los fundamentos éticos. Aquí, cada algoritmo tiene propósito, cada línea de código refleja intención, y cada reflexión filosófica busca optimizar no solo sistemas, sino también decisiones humanas. Este blog no solo enseña a pensar, enseña a discernir, a construir con sentido. Porque el verdadero desarrollo nace de la conciencia, y eso exige precisión, virtud y coraje.

Tenemos que aprender a contemplar las potenciales consecuencias de nuestros planes, para impedir que nos sorprendan. De esta manera, tendremos más control sobre las situaciones difíciles ya que el verdadero progreso no se mide por la velocidad con la que avanzamos, sino por la dirección que elegimos. En un mundo cada vez más interconectado, el desarrollo de la humanidad exige más que tecnología y conocimiento: requiere conciencia, empatía y propósito.

Debemos cultivar una inteligencia que no solo resuelva problemas, sino que los prevenga con sabiduría. Una ciencia que no solo descubra, sino que se pregunte por qué y para quién. Una economía que no solo crezca, sino que reparta con justicia. Y una cultura que no solo celebre lo diverso, sino que lo abrace como fuerza vital.

Cada decisión que tomamos, cada palabra que decimos, cada idea que compartimos, puede ser una semilla de transformación. El futuro no está escrito: lo estamos escribiendo juntos, ahora mismo.

Que el desarrollo humano sea integral, sostenible y profundamente humano. Porque solo cuando elevamos a todos, nos elevamos como especie.

Sabiduría Justicia Templanza Coraje
Guía: Cómo optimizar una base de datos Oracle

Guía rápida — Optimizar una base de datos Oracle

Resumen con prácticas clave, comandos de ejemplo y recomendaciones para aplicar en tu entorno Oracle.

1. Diseño de la base de datos

  • Normaliza para evitar redundancia pero considera desnormalizar en tablas de solo lectura donde importe la velocidad de lectura.
  • Particionamiento (RANGE, LIST, HASH) para tablas muy grandes; mejora parallel scans y mantenimiento.
  • Índices: B-TREE para igualdad/rango; BITMAP para baja cardinalidad. Revisa índices no usados.
-- Ejemplo: crear partición por rango
CREATE TABLE ventas (
  id NUMBER,
  fecha_venta DATE,
  importe NUMBER
)
PARTITION BY RANGE (fecha_venta) (
  PARTITION p_2023 VALUES LESS THAN (TO_DATE('01-01-2024','DD-MM-YYYY')),
  PARTITION p_2024 VALUES LESS THAN (TO_DATE('01-01-2025','DD-MM-YYYY'))
);

2. Optimización de consultas SQL

  • Evita SELECT *. Solicita solo columnas necesarias.
  • Usa bind variables para reusar planes y mejorar el cursor cache.
  • Analiza planes con EXPLAIN PLAN y DBMS_XPLAN.DISPLAY_CURSOR.
-- Forzar bind variables (ejemplo en PL/SQL)
VAR1 := :b1; -- en aplicaciones usa placeholders

-- Ver plan de ejecución
EXPLAIN PLAN FOR
SELECT id, nombre FROM clientes WHERE ciudad = 'CABA';
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY());

3. Memoria y parámetros

  • Ajusta SGA y PGA: sga_target, pga_aggregate_target. Considera memory_target para administración automática.
  • Revisa tamaño de redo logs y número de miembros. Evita archivos muy pequeños que causen frecuentes switches.
-- Ver parámetros actuales
SHOW PARAMETER sga_target;
SHOW PARAMETER pga_aggregate_target;

4. Mantenimiento y estadísticas

  • Recolecta estadísticas regularmente: DBMS_STATS.GATHER_TABLE_STATS.
  • Usa AWR, ADDM y SQL Tuning Advisor para recomendaciones automatizadas.
  • Rebuild índices y compacta segmentos si hay mucha fragmentación.
-- Recolectar estadísticas de una tabla
BEGIN
  DBMS_STATS.GATHER_TABLE_STATS(
    ownname => 'SCHEMA_NAME',
    tabname => 'MI_TABLA',
    cascade => TRUE
  );
END;
/

-- Ejecutar SQL Tuning Advisor (simplificado)
EXEC DBMS_SQLTUNE.CREATE_TUNING_TASK (...);

5. Concurrencia y bloqueo

  • Evita transacciones largas que mantengan locks.
  • Monitorea sesiones bloqueadas: consulta V$SESSION y V$LOCK.
-- Ver sesiones activas y bloqueos
SELECT s.sid, s.serial#, s.username, s.status, l.type
FROM v$session s
LEFT JOIN v$lock l ON s.sid = l.sid
WHERE s.username IS NOT NULL;

6. Herramientas Oracle recomendadas

OEM / Cloud Control

Monitoreo visual, AWR, métricas y alertas.

AWR / ASH / ADDM

Diagnóstico del rendimiento y recomendaciones.

SQL Tuning Advisor

Reescritura de queries y sugerencias de índices.

Checklist rápido

  • ¿Están actualizadas las estadísticas? ✅
  • ¿Índices utilizados y revisados? ✅
  • ¿Consultas con bind variables? ✅
  • ¿Monitoreo AWR/ASH activo? ✅
  • ¿Particionamiento en tablas grandes? ✅
Sugerencia: configura tareas programadas para gather stats y backups, y usa AWR snapshots para periodos pico y valle.

.

15dias (4) agenda 2023 (1) Algo que leer (266) Android (2) Angular (2) Apache (6) API (1) Arte y Cultura (11) Artes Marciales (10) Astro (1) Banner (1) Base de datos (35) Batalla Cultural (5) Big Data (12) Budismo (4) cabala judia (2) Calculo Asistido por computadoras (2) Canaima (6) Caos (1) Ceo (1) ciencias (1) Cine (1) Cobol (12) Cobra Kai (1) Codigo Linux Documental (2) Computación (3) Computación forense (14) Configurando Samba (1) Conocimiento (1) Consola (8) contenedores (9) Criptomonedas (3) Cultura (1) Cursos (16) Darkweeb (3) Data Mining (1) Debian (18) Deep Learning (2) DeepWeb (7) demografia (9) Deporte y Recreación (9) Deportes (10) desclasificados (7) Desktop (1) developers (1) DevOps (1) Docker (11) Document (1) Ecología (6) Editor (3) Editores (4) Educacion y TIC (31) Electronica (2) Empleos (1) Emprendimiento (7) Espiritualidad (2) estoicismo (4) Eventos (2) Excel (1) Express (1) fedora (1) Filosofía (25) Flisol 2008 (3) Flisol 2010 (1) Flisol 2015 (1) framework (2) Funny (1) Geografía (1) Gerencia y Liderazgo (72) Gestor de Volúmenes Lógicos (1) Git (7) GitHub (8) Globalizacion (5) gnu (28) Go (1) gobiernos (2) golang (2) Google por dentro (1) GraphQL (1) gRPC (1) Hackers - Documental (8) Hacking (31) Historia (3) howto (189) html (1) IA (22) IntelliJIDEA (1) Internet (6) Introducción a los patrones (2) J SON (1) java (52) java eclipse (2) javaScript (9) JDK (1) jiujitsu (4) Json (1) Junit (1) kali (39) kernel (2) Kotlin (1) Laravel (2) Latin (1) LIbreOffice (1) Libros (4) Linux (48) Linux VirtualBox (1) Literatura (1) Machine Learning (2) Manuales (42) mariaDB (1) Markdown (4) Marketing (1) Matando ladilla (9) Matematricas (1) Math (1) maven (1) metodos https (1) Modelos (1) MongoDB (17) Multimedia (1) Musica (1) mvc (2) Mysql (20) MySQL Workbench (1) Nagios (2) Naturismo (1) node (5) Node.js (6) NodeJS (9) NoSQL (1) Oracle (9) Oracle sql (9) Php (3) PL/SQL (1) Plsql (1) PNL (1) Poblacion (2) Podman (1) Poesia (1) Politica (5) Política (1) Postgresql (9) PowerShell (1) programacion (86) Psicologia (11) Python (7) React (1) Recomiendo (1) Redes (31) Redis (2) Religion (2) REST (2) Rock (1) Rock/Metal Mp3 (2) RUP (1) Salud (5) sc:snap:android-studio (1) sc:snap:datagrip (1) sc:snap:gitkraken linux (1) Seguridad (18) Seguridad con Gnu Privacy (2) Seo (1) simulaEntrevistas (10) simularExamen (10) Sistemas Operativos (69) SOAP (1) Sociedad (5) Software Libre (169) Soporte Tecnico (12) Sphinx (1) spring (1) spring boot (10) SQL (3) SQL en postgreSQL (39) Taekwondo (11) Tecnologia (5) Tecnología (27) Templarios (5) Tendencias (1) Tensorflow (4) Thymeleaf (1) Tomcat (2) Tor (9) Trialectica (3) TYPEACRIPT (1) Ubuntu (5) unix (2) Vida activa (1) Videos (11) Videos Educativos (10) Vim (1) Viral (3) Visual Studio (1) wallpaper (2) web (1) Wifi (2) Windows (3) WWW (2) Xrandr (1) Zero Trust (2)

Sabiduria Justicia Templanza Coraje.

Hay que contemplar las potenciales consecuencias de nuestros planes, para impedir que nos sorprendan. De esta manera, tendremos más control sobre las situaciones difíciles.


Powered by