1. Redimensiona bases de datos (compact, truncate)
Puntos Clave
- Compact: Mueve el espacio libre distribuido a lo largo de la base de datos a su final reubicando bloques globales
- Truncate: Devuelve el espacio libre del final de los volúmenes de base de datos al sistema de archivos subyacente
- Operaciones frecuentemente realizadas juntas: compact primero, luego truncate
- Puede cruzar límites de volumen en bases de datos multivolumen
Notas Detalladas
Comprender Compact y Truncate
La gestión de espacio de base de datos en InterSystems IRIS involucra dos operaciones complementarias. Compactar una base de datos reorganiza el diseño físico moviendo bloques de espacio libre al final del archivo de base de datos. Cuando compacta, especifica la cantidad objetivo de espacio libre deseado al final - la operación reubica bloques globales para consolidar espacio libre sin crear nuevo espacio libre. Por ejemplo, si una base de datos de 50 MB tiene 15 MB de espacio libre con solo 5 MB al final, compactar con un objetivo de 15 MB mueve todos los bloques globales hacia adelante para posicionar todo el espacio libre al final.
Devolver Espacio al Sistema de Archivos
Truncar devuelve este espacio libre consolidado al sistema de archivos del sistema operativo. Especifica un tamaño objetivo de base de datos al truncar - si existe suficiente espacio libre al final, la base de datos se reduce a ese tamaño. Ingresar 0 como objetivo elimina todo el espacio libre posible.
Consideraciones Operacionales
Estas operaciones se ejecutan concurrentemente con la actividad normal de la base de datos pero consumen recursos del sistema. InterSystems recomienda ejecutarlas durante horas de baja actividad y ejecutar solo una operación de reorganización de base de datos a la vez por sistema. Ambas operaciones son accesibles mediante el Management Portal (System Operations > Databases > página Database Details) o la utilidad ^DATABASE.
Referencias de Documentación
2. Usa verificación de integridad y ejecútala en modo batch
Puntos Clave
- Valida la integridad estructural de archivos de base de datos
- Puede ejecutarse vía Management Portal o utilidad ^INTEGRIT
- Modo batch disponible a través de Task Manager
- Examina estructuras de datos, punteros y relaciones de bloques
- Genera informes detallados incluyendo densidad de bloques globales
Notas Detalladas
Propósito y Alcance
La verificación de integridad de base de datos es una operación de mantenimiento crítica que valida la solidez estructural de los archivos de base de datos. La verificación de integridad examina estructuras de base de datos incluyendo organización de bloques globales, validez de punteros y consistencia de estructuras de datos.
Ejecución de Verificaciones de Integridad
Los administradores pueden ejecutar verificaciones de integridad interactivamente a través del Management Portal (System Operations > Databases, luego clic en el botón Integrity Check) o programáticamente usando la utilidad ^INTEGRIT. Para entornos de producción, las verificaciones de integridad deben programarse durante ventanas de mantenimiento usando el Task Manager. El tipo de tarea IntegrityCheck está disponible (aunque deshabilitado por defecto) y puede configurarse para ejecutarse en bases de datos específicas a intervalos programados.
Interpretación de Resultados
La verificación de integridad produce un informe detallado mostrando la salud de cada global, incluyendo métricas como estructura de nivel de datos y densidad de bloques globales. Esta información de densidad es valiosa al planificar operaciones de compact - el informe muestra la utilización actual de bloques lo cual ayuda a determinar si compactar producirá ahorros significativos de espacio. La verificación regular de integridad es una práctica esencial de mantenimiento preventivo, ayudando a identificar corrupción temprano antes de que impacte las operaciones de producción. Los archivos de salida deben retenerse y revisarse como parte de los procedimientos estándar de monitoreo de salud de base de datos.
Referencias de Documentación
3. Desfragmenta una base de datos
Puntos Clave
- Reorganiza bloques globales para que los bloques de cada global estén en secuencia consecutiva
- Compacta automáticamente todos los globals a densidad objetivo del 70%
- No es necesario regularmente; beneficia cargas de trabajo de lectura secuencial
- Requiere espacio libre al final de la base de datos; puede auto-expandirse si es necesario
- La base de datos IRISTEMP no puede desfragmentarse
Notas Detalladas
Cómo Funciona la Desfragmentación
Desfragmentar una base de datos reorganiza los bloques globales dentro de la base de datos para que todos los bloques que contienen datos para un global dado se almacenen en secuencia física consecutiva. Esta operación difiere del compactado básico en que optimiza para localidad de datos en lugar de solo consolidar espacio libre. El proceso de desfragmentación incluye automáticamente compactación global a una densidad objetivo del 70% (comparado con el 90% predeterminado normal para operaciones de compact independientes).
Cuándo Desfragmentar
Las estructuras de datos de InterSystems IRIS son auto-balanceadas y no sufren inherentemente degradación de rendimiento con el tiempo, por lo que la desfragmentación generalmente no se requiere como mantenimiento rutinario. Sin embargo, las cargas de trabajo que realizan grandes escaneos secuenciales de bases de datos pueden beneficiarse de la localidad de datos mejorada que proporciona la desfragmentación.
Requisitos de Espacio y Recursos
La operación requiere una cierta cantidad de espacio libre al final de la base de datos para trabajar eficientemente. Si no existe suficiente espacio libre, el sistema expandirá la base de datos según sea necesario o le informará que compactar primero reduciría la expansión requerida. Una advertencia importante: la desfragmentación reubica temporalmente todos los datos en la base de datos independientemente del nivel de fragmentación existente, consumiendo recursos significativos. Las ejecuciones subsiguientes no proporcionan beneficio adicional pero consumen recursos similares.
Ejecución
Ejecute la desfragmentación vía Management Portal (System Operations > Databases > Database Details > botón Defragment) durante horas de baja actividad, y rastree el progreso vía la página Background Tasks.
Referencias de Documentación
4. Monta y desmonta bases de datos
Puntos Clave
- Mount: Hace accesible la base de datos al sistema y usuarios
- Dismount: Hace la base de datos temporalmente no disponible sin removerla de la configuración
- El estado permanece hasta que se cambie explícitamente o reinicio de instancia
- El desmontaje permanente requiere remover la base de datos de la configuración
- Accesible vía página Database Details del Management Portal
Notas Detalladas
Mount vs. Dismount
El montaje y desmontaje de base de datos proporciona control dinámico sobre la disponibilidad de base de datos dentro de una instancia de InterSystems IRIS. Una base de datos montada está activa y accesible para lecturas y escrituras; una base de datos desmontada permanece en la configuración pero no está disponible para acceso. Esta distinción es importante - desmontar no elimina o remueve la base de datos de la configuración del sistema; simplemente cambia el estado operacional.
Casos de Uso Comunes
Los casos de uso comunes para desmontar incluyen realizar copias de seguridad a nivel de archivo, mover archivos de base de datos, investigar corrupción de base de datos, o temporalmente reducir la utilización de recursos del sistema.
Cómo Montar y Desmontar
Para montar o desmontar una base de datos a través del Management Portal, navegue a System Operations > Databases, haga clic en el nombre de la base de datos para acceder a su página Database Details, luego haga clic en el botón Mount o Dismount en la cinta. El nuevo estado de montaje toma efecto inmediatamente y persiste hasta que lo cambie explícitamente o reinicie la instancia de IRIS.
Remoción Permanente
Para prevenir permanentemente que una base de datos se monte al inicio, debe removerla de la configuración de instancia completamente, no solo desmontarla. La página Database Details muestra el estado de montaje actual junto con otra información importante incluyendo si la base de datos está montada como solo lectura y la razón de cualquier estado de solo lectura. Las operaciones de montaje de base de datos son fundamentales para la gestión del ciclo de vida de base de datos y procedimientos de recuperación ante desastres.
Referencias de Documentación
5. Compacta globals
Puntos Clave
- Consolida datos globales en menos bloques, aumentando el espacio libre de la base de datos
- Ejecutar vía utilidad ^DATABASE desde Terminal
- La densidad objetivo predeterminada es 90%; la asignación normal es ~70%
- Puede seleccionar globals específicos o todos los globals en la base de datos
- Posible expansión temporal de base de datos durante la operación
Notas Detalladas
Propósito de la Compactación Global
Compactar globals es una técnica dirigida de gestión de espacio que consolida datos dentro de globals individuales para aumentar la utilización de bloques y liberar espacio de base de datos. InterSystems IRIS normalmente asigna datos globales a aproximadamente 70% de capacidad de bloque para acomodar crecimiento y mantener rendimiento. Con el tiempo, particularmente con patrones de eliminación no secuenciales, la densidad promedio de bloques globales puede disminuir significativamente. La operación de compactación de globals reorganiza datos para lograr una densidad objetivo especificada (90% por defecto), consolidando datos que podrían estar distribuidos en tres bloques en dos bloques, aumentando así el espacio libre disponible.
Uso de la Utilidad ^DATABASE
Para ejecutar compactación global, abra Terminal, cambie al namespace %SYS, ejecute "do ^DATABASE", y seleccione la opción 7 (Compact globals in a database). Luego puede especificar en qué base de datos operar, elegir globals específicos o todos los globals, establecer la densidad objetivo, y confirmar. La utilidad proporciona flexibilidad para compactar múltiples bases de datos ingresando sus números de una lista.
Consideraciones Importantes
Una consideración importante: si especifica una densidad objetivo menor que la densidad actual, el tamaño de la base de datos no aumentará. La compactación global puede involucrar expansión temporal de base de datos, por lo que si la base de datos alcanza su tamaño máximo configurado o el volumen de almacenamiento se llena, la operación se cancela. Como otras operaciones de reorganización de base de datos, compactar globals se ejecuta concurrentemente con actividad normal pero debe programarse durante horas de baja actividad, con solo una operación de este tipo ejecutándose en todo el sistema a la vez para utilización óptima de recursos.
Referencias de Documentación
6. Elimina una base de datos
Puntos Clave
- Proceso de dos pasos: Remover de configuración, luego eliminar archivos físicos
- Debe desmontar primero la base de datos antes de la eliminación
- Requiere privilegios administrativos apropiados
- No hay recuperación automática después de la eliminación de archivo físico
- Crítico verificar contenidos de base de datos antes de la eliminación
Notas Detalladas
Resumen del Proceso de Eliminación
Eliminar una base de datos de InterSystems IRIS es una operación permanente e irreversible que requiere planificación y ejecución cuidadosas. El proceso involucra dos pasos distintos: primero remover la base de datos de la configuración de instancia, luego eliminar los archivos físicos de base de datos del sistema de archivos. Antes de la eliminación, la base de datos debe desmontarse para asegurar que no haya procesos activos accediéndola.
Verificación Pre-Eliminación
A través del Management Portal, puede ver la lista de bases de datos configuradas en System Operations > Databases. Sin embargo, el proceso de eliminación real típicamente requiere edición directa del archivo de configuración o uso de APIs de gestión del sistema. Es absolutamente crítico verificar varios factores antes de proceder con la eliminación de base de datos: confirmar que la base de datos no contiene datos valiosos (o que existen copias de seguridad completas y probadas), asegurar que ningún namespace o aplicación dependa de la base de datos, verificar que ningún mapeo global apunte a la base de datos, y confirmar que la base de datos no es requerida para la operación de instancia (bases de datos del sistema como IRISSYS, IRISLIB, IRISAUDIT, etc., nunca deben eliminarse).
Mejores Prácticas
Una vez que la base de datos se remueve de la configuración y los archivos físicos se eliminan del sistema de archivos, la recuperación solo es posible desde copias de seguridad. Las mejores prácticas incluyen documentar la razón de la eliminación, obtener aprobaciones apropiadas, hacer copia de seguridad de la base de datos antes de la eliminación, probar la eliminación en entornos no productivos primero, y verificar la funcionalidad del sistema después de que la eliminación esté completa. La eliminación de base de datos es una operación administrativa avanzada que debe abordarse con la precaución y planificación apropiadas.
Referencias de Documentación
7. Gestionar operaciones de datos y routines
Puntos Clave
- ^%GO (Global Output): Exportar globals a archivos secuenciales para respaldo o transferencia
- ^%GI (Global Input): Importar globals desde archivos secuenciales a bases de datos
- ^%RO (Routine Output): Exportar routines (MAC, INT, INC) a archivos secuenciales
- ^%RI (Routine Input): Importar routines desde archivos secuenciales
- Formatos de archivo: GOF (Global Output Format) para globals, formato de texto estándar para routines
- Management Portal: System Explorer proporciona opciones de importación/exportación basadas en GUI
- Casos de uso: Migración de datos, flujos de trabajo de desarrollo, respaldos selectivos, transferencias entre sistemas
Notas Detalladas
Resumen
InterSystems IRIS proporciona utilidades poderosas para importar y exportar datos (globals) y código (routines). Estas operaciones son esenciales para tareas de administración del sistema incluyendo migración de datos entre entornos, creación de respaldos selectivos, movimiento de código entre namespaces, y transferencia de datos entre sistemas. Las herramientas principales son utilidades basadas en Terminal (^%GO, ^%GI, ^%RO, ^%RI) y la interfaz System Explorer del Management Portal.
Operaciones de Exportación e Importación de Globals
^%GO (Global Output): La utilidad Global Output exporta globals desde una base de datos a un archivo secuencial en formato GOF (Global Output Format). Este formato preserva la estructura del global y la integridad de datos durante la exportación.
Cómo usar ^%GO: 1. Abrir Terminal y cambiar al namespace que contiene los globals a exportar 2. Ejecutar: `do ^%GO` 3. Seleccionar globals a exportar (wildcards soportados, ej., `MyApp*` exporta todos los globals que comienzan con "MyApp") 4. Especificar ruta de dispositivo/archivo de salida 5. Confirmar parámetros de exportación
Opciones comunes:
- Exportar globals específicos o rangos (ej., `^Orders`, `^Patient(100)::(200)` para rangos de subscripts)
- Exportar a archivo o dispositivo
- Incluir o excluir niveles específicos de subscript
^%GI (Global Input): La utilidad Global Input importa globals desde archivos en formato GOF creados por ^%GO.
Cómo usar ^%GI: 1. Abrir Terminal y cambiar al namespace destino 2. Ejecutar: `do ^%GI` 3. Especificar ruta de archivo de entrada que contiene globals exportados 4. Confirmar namespace y base de datos para importación 5. Elegir si reemplazar datos existentes o fusionar
Consideraciones importantes:
- Los globals existentes con el mismo nombre son reemplazados por defecto a menos que se seleccione la opción de fusionar
- Asegurar espacio suficiente en base de datos antes de importar globals grandes
- Verificar permisos en base de datos destino (debe tener acceso de escritura)
Formato de Archivo GOF: El Global Output Format (GOF) es un formato de archivo secuencial independiente de plataforma que representa globals como una serie de comandos SET. Los archivos GOF son legibles por humanos y pueden editarse (con precaución) antes de la importación. El formato preserva:
- Nombres de globals y estructura de subscripts
- Todos los tipos de datos (strings, números, datos binarios)
- Información de codificación de caracteres
Operaciones de Exportación e Importación de Routines
^%RO (Routine Output): La utilidad Routine Output exporta routines (código fuente MAC, código compilado INT, o archivos de include INC) a archivos de texto secuenciales.
Cómo usar ^%RO: 1. Abrir Terminal y cambiar al namespace que contiene routines 2. Ejecutar: `do ^%RO` 3. Seleccionar routines a exportar (wildcards soportados) 4. Especificar ruta de archivo de salida 5. Elegir formato: MAC (fuente), INT (compilado), o INC (archivos include)
Casos de uso comunes:
- Exportar código fuente para control de versiones
- Crear respaldos portables de routines
- Mover código entre entornos de desarrollo/test/producción
- Compartir routines de utilidad entre sistemas
^%RI (Routine Input): La utilidad Routine Input importa routines desde archivos creados por ^%RO o desde archivos de texto estándar.
Cómo usar ^%RI: 1. Abrir Terminal y cambiar al namespace destino 2. Ejecutar: `do ^%RI` 3. Especificar ruta de archivo de entrada 4. Elegir si compilar routines después de la importación 5. Confirmar operación de importación
Consideraciones importantes:
- Las routines MAC pueden importarse como fuente y opcionalmente compilarse
- Las routines INT deben recompilarse para la plataforma destino
- Las routines existentes con el mismo nombre son reemplazadas
- Los errores de compilación son reportados pero no detienen el proceso de importación
Formato de Archivo de Routine: Los archivos de exportación de routine usan un formato de texto estandarizado con:
- Nombre de routine en primera línea (ej., `ROUTINE MyRoutine [Type=MAC]`)
- Código fuente de routine siguiente
- Marcadores especiales para límites de routine en exportaciones multi-routine
Métodos del Management Portal
System Explorer - Globals: Navegar a System Explorer > Globals para acceder operaciones de global basadas en GUI:
- Explorar estructura y datos de global
- Exportar globals seleccionados a formato GOF o XML
- Importar globals desde archivos GOF o XML
- Buscar globals específicos o patrones de global
- Ver propiedades de global (tamaño, distribución de bloques)
System Explorer - Routines: Navegar a System Explorer > Routines para operaciones de routine:
- Explorar routines disponibles por tipo (MAC, INT, INC)
- Exportar routines a archivos
- Importar routines desde archivos
- Ver código fuente de routine
- Compilar/descompilar routines
Opción de Formato de Exportación XML: El Management Portal también soporta formato XML para exportaciones, que proporciona:
- Representación más verbosa y estructurada
- Mejor soporte para metadatos y documentación
- Integración con herramientas externas y sistemas de control de versiones
- Compatibilidad entre plataformas
Casos de Uso Comunes
Migración de Datos Entre Entornos: Al mover datos de aplicación desde desarrollo a test o producción: 1. Usar ^%GO para exportar globals relevantes desde sistema fuente 2. Transferir archivos GOF al sistema destino (transferencia segura de archivos) 3. Usar ^%GI para importar globals en namespace destino 4. Verificar integridad de datos después de importación usando verificaciones de integridad
Flujo de Trabajo de Desarrollo: Mover código entre namespaces durante desarrollo:
- Exportar routines desde namespace de desarrollo usando ^%RO
- Importar en namespace de integración usando ^%RI con opción de compilar
- Probar funcionalidad en aislamiento antes del despliegue a producción
Respaldos Selectivos: Crear respaldos de globals o routines específicos:
- Complementar respaldos completos de base de datos con exportaciones selectivas
- Exportar globals de configuración críticos separadamente para restauración rápida
- Control de versiones de código a través de exportaciones de routine
Recuperación ante Desastres: Extraer datos de bases de datos dañadas:
- Si la base de datos es parcialmente accesible, usar ^%GO para exportar globals intactos
- Transferir datos al sistema de recuperación
- Restaurar a base de datos limpia usando ^%GI
Transferencia de Datos Entre Sistemas: Compartir datos de referencia o configuración entre sistemas:
- Exportar tablas de lookup, globals de configuración usando ^%GO
- Distribuir archivos GOF a múltiples sistemas
- Importar consistentemente en todos los sistemas destino
Mejores Prácticas
Antes de Exportar:
- Verificar integridad de datos fuente usando verificaciones de integridad
- Documentar alcance y parámetros de exportación
- Asegurar espacio suficiente en disco para archivos de exportación
- Considerar bloqueo/quiescencia de base de datos para exportaciones consistentes de globals relacionados
Durante Importación:
- Verificar que la base de datos destino tenga espacio libre suficiente
- Hacer respaldo de base de datos destino antes de importar (permite rollback)
- Probar importaciones en entorno no productivo primero
- Monitorear progreso de importación para conjuntos de datos grandes
Después de Importar:
- Ejecutar verificación de integridad en base de datos destino
- Verificar completitud de datos (conteos de filas, registros clave)
- Probar funcionalidad de aplicación con datos/código importado
- Documentar detalles de importación (fuente, timestamp, alcance)
Gestión de Archivos:
- Usar nombres de archivo descriptivos con timestamps (ej., `Orders_Export_20260107.gof`)
- Almacenar archivos de exportación de forma segura con controles de acceso apropiados
- Considerar compresión para archivos de exportación grandes
- Documentar formato y codificación de archivo para transferencias entre plataformas
Codificación de Caracteres:
- Estar consciente de diferencias de conjunto de caracteres entre sistemas
- UTF-8 es recomendado para máxima compatibilidad
- Probar con datos de muestra al transferir entre diferentes plataformas (Windows/Linux)
- Documentar codificación usada en archivos de exportación
Integración con Control de Versiones:
- Exportar routines MAC regularmente a sistemas de control de versiones
- Usar formato XML para mejores capacidades de diff/merge
- Automatizar exportaciones de routine como parte de pipelines CI/CD
- Etiquetar exportaciones con números de versión o identificadores de release
Referencias de Documentación
Resumen de Preparación para el Examen
Conceptos Críticos a Dominar:
- Compact vs. Truncate: Comprender que compact mueve espacio libre al final; truncate lo devuelve al sistema de archivos
- Propósito de Desfragmentación: Saber cuándo la desfragmentación beneficia el rendimiento (cargas de trabajo de lectura secuencial)
- Verificaciones de Integridad: Comprender cómo programar e interpretar resultados de verificación de integridad
- Mount/Dismount: Distinguir entre desmontar (temporal) y eliminar (permanente)
- Compactación Global: Reconocer cuándo la compactación global es apropiada vs. compactación completa de base de datos
- Consideraciones de Recursos: Recordar que todas las operaciones de reorganización deben ejecutarse durante horas de baja actividad
Escenarios Comunes de Examen:
- Determinar secuencia correcta de operaciones (compact antes de truncate)
- Identificar cuándo la desfragmentación proporciona beneficios de rendimiento
- Solucionar problemas de bases de datos que no montan
- Planificar ventanas de mantenimiento para verificaciones de integridad
- Recuperar espacio de base de datos eficientemente
Recomendaciones de Práctica Práctica:
- Practicar operaciones de compact y truncate en bases de datos de prueba
- Ejecutar verificaciones de integridad e interpretar informes de salida
- Usar utilidad ^DATABASE para compactación global
- Monitorear espacio libre usando ^%FREECNT
- Observar reorganización de base de datos vía página Background Tasks
- Montar y desmontar bases de datos a través del Management Portal