DBA

Como comprimir una base de datos SAP R3

Pasos para comprimir una base de datos SAP R3

En esta edición hablaremos un poco de como utilizar la  compresión de datos que viene en SQL Server, pero en un ambiente de SAP R3, aunque no lo crean existe para lo cual se utilizo una transacción de SAP llamada MSSCOMPRESS, por razones de confidencialidad no puedo colocar las imágenes reales, sin embargo mostrare una traducción de donde tome los pasos a realizar, puedo decirles que nuestra base de datos tenia un tamaño aproximado de 2 terabytes y luego de nuestro proceso quedo en 340 gigabyte  aproximadamente

En alguna oportunidad SAP publicó el informe MSSCOMPRESS en la nota 1488135 de SAP.

El informe se puede usar para comprimir tablas e índices existentes mediante la función de compresión de datos de SQL Server 2008 (y todas las versiones más recientes 2012  2014 2016). Puede elegir entre el tipo de compresión NONE, ROW o PAGE para los datos (montón o índice agrupado) y los índices (no agrupados). MSSCOMPRESS realiza la compresión en el cuadro de diálogo o mediante un trabajo por lotes de SAP. MSSCOMPRESS es particularmente útil para dos escenarios:

Compresión de índices (no agrupados) después de activar el soporte de compresión de índice para SAP como se describe en la nota de SAP 1488135
Volver a comprimir una base de datos SAP Unicode para beneficiarse de la compresión Unicode mejorada de SQL Server 2008 R2
Al lanzar MSSCOMPRESS, el procedimiento almacenado sp_use_db_compression se ha desaprobado (consulte

http: //blogs.msdn.com/b/saponsqlserver/archive/2010/03/17/updated-version-of-sp-sp-use-db-compression-version- 2-42.aspx

https://sql-listo.com/dba/compresion-de-datos-en-sql-server/

 

Requisitos previos

Si el informe MSSCOMPRESS no fue importado en su sistema SAP por un paquete de soporte básico, debe importarlo manualmente. Los detalles se describen a continuación.

MSSCOMPRESS solo se puede utilizar para SQL Server 2008 o posterior. Necesita los mismos privilegios para usar MSSCOMPRESS que necesita para la utilidad de base de datos SAP SE14 (objeto de autoridad S_DEVELOP).
Antes de utilizar MSSCOMPRESS, debe implementar las instrucciones de corrección de la nota 1459005 de SAP. Esto activará el soporte de compresión de índice en el diccionario de datos de SAP. Mientras el diccionario de datos de SAP no esté actualizado, solo podrá comprimir los datos (montón o índice agrupado) utilizando MSSCOMPRESS.

SAP compresion

 

 

 

Una vez que haya aplicado la nota SAP 1459005, puede comprimir datos e índices (no agrupados) utilizando el informe MSSCOMPRESS.

 

 

 

El tipo de compresión predeterminado para el informe MSSCOMPRESS se toma del tipo de compresión predeterminado del diccionario de datos SAP. El tipo de compresión de índice está sincronizado con el tipo de compresión de datos. Sin embargo, puede elegir el tipo de compresión de índice manualmente marcando la casilla correspondiente:

 

 

 

Iniciando MSSCOMPRESS

Use la transacción SA38 o SE38 de SAP para iniciar el informe ABSC MSSCOMPRESS.

imagen Para obtener una breve descripción de MSSCOMPRESS, presione el botón «i» o seleccione «Ayuda de la aplicación» en el menú «Ayuda». A continuación, se describe en detalle MSSCOMPRESS.

En la sección inferior de la pantalla, se muestra una lista de todas las tablas de base de datos de su sistema SAP ABAP. La lista no incluye tablas de un esquema JAVA instalado, ya que el diccionario de datos para JAVA no admite la compresión. Existen soluciones SAP JAVA que tienen tablas de base de datos enormes, por ejemplo, SAP Enterprise Portal (EP). Sin embargo, casi todos los datos en un sistema EP se almacenan en campos del tipo de datos de SQL Server IMAGEN o VARBINARIO (MAX). Estos tipos de datos no pueden comprimirse en SQL Server 2008 (R2) de todos modos.

La lista de tablas mostradas en MSSCOMPRESS contiene el número de índices, el tamaño de datos / índices y los tipos de compresión de datos / índices para cada tabla. Las tablas en la lista están ordenadas por tamaño total (datos + tamaño de índice). El número de índices no contiene el índice agrupado. Un índice agrupado (o restricción de clave primaria) se considera DATOS y todos los índices no agrupados son ÍNDICES. El tipo de compresión de datos puede ser «ROW», «PAGE» o «none». Para una tabla particionada puede ver un tipo de compresión combinada, por ejemplo, «ROW, PAGE». Este es el caso, si algunas particiones están comprimidas por filas y algunas particiones de la misma tabla están comprimidas por página. Lo mismo se aplica para el tipo de compresión de índice. Cuando una tabla no tiene ningún índice no agrupado, el número de índices se muestra como 0 y el tipo de compresión de índice está vacío («»).

Visión general del flujo de trabajo

Para iniciar la compresión tienes que realizar 3 pasos:

  • Elija las tablas que desea comprimir (filtrando y seleccionando)
  • Elija las opciones (tipos de compresión y opciones de tiempo de ejecución)
  • Elija el tipo de ejecución de compresión (diálogo o lote)

La compresión de tablas enormes puede generar un alto consumo de recursos (CPU, E / S, espacio de datos temporal, espacio de registro de transacciones, bloqueo de bloqueos de base de datos). Por lo tanto, debe asegurarse de que haya suficiente espacio disponible durante la compresión con MSSCOMPRESS. Además, la compresión no debe ejecutarse durante las horas pico. Se recomienda utilizar el modelo de recuperación de SQL Server «Bulk-log» durante la compresión para minimizar el espacio de registro de transacciones necesario.

También puede comprimir la base de datos de SAP en trozos. Por ejemplo, puede elegir las 10 tablas no comprimidas más grandes usando los filtros en MSSCOMPRESS y programar la compresión para el fin de semana. Las otras tablas se pueden comprimir durante el próximo fin de semana (s).

Eligiendo las tablas

Para elegir las tablas que desea comprimir, primero puede filtrar la lista de tablas y luego seleccionar las tablas dentro de la lista filtrada. La aplicación de un filtro modifica la lista de tablas mostrada. Puede aplicar múltiples filtros en el mismo punto de tiempo. En el siguiente ejemplo se aplican los cuatro tipos de filtro posibles:

Después de aplicar estos filtros, la lista contiene las 10 tablas más grandes, cuyo nombre comienza con «/ BI», la compresión de datos es «ROW» y la compresión de índice es «ninguna». A continuación, puede seleccionar las tablas dentro de la lista filtrada haciendo clic en ellas. Use las teclas MAYÚS y CTRL mientras hace clic para ampliar su selección. En este ejemplo, se seleccionan tres tablas:

Elija la entrada vacía en el menú emergente para eliminar un filtro nuevamente. El filtro de nombre funciona un poco diferente. Puede habilitar y deshabilitar el filtro de nombre usando la casilla de verificación. Por defecto, el criterio de filtro es «/ BI *», que filtra todas las tablas de SAP BW. Después de cambiar los criterios de filtro, debe presionar la tecla ENTER (o el botón ENTER en el lado derecho de los criterios de filtro).

Eligiendo las opciones
Las opciones de compresión definen el tipo de compresión deseado de las tablas después de la ejecución de la compresión. No los confunda con las opciones de filtro «Tipo de compresión de datos» y «Tipo de compresión de índice». Se utilizan para elegir las tablas, que deben ser comprimidas. Las opciones de filtro se aplican al tipo de compresión de una tabla antes de la ejecución de la compresión.

Puede elegir los datos deseados y el tipo de compresión de índice usando los botones de opción. La sentencia SQL utilizada para la compresión es
ALTERAR [TABLA | ÍNDICE] … RECONSTRUIR CON (DATA_COMPRESSION = [ROW | PAGE | NONE]…)
Antes de comprimir realmente, MSSCOMPRESS comprueba el tipo de compresión actual para cada tabla e índice. Si el tipo de compresión actual se ajusta al tipo de compresión deseado, no se hace nada para el índice en cuestión. Sin embargo, puede forzar la compresión de estas tablas e índices independientemente del estado actual seleccionando las casillas correspondientes («Forzar la reconstrucción de datos» y «Forzar la reconstrucción del índice»).

Estas opciones son necesarias si desea comprimir una tabla ya comprimida nuevamente. Esto es particularmente útil después de actualizar SQL Server 2008 a SQL Server 2008 R2, para beneficiarse de las mejoras de compresión para las cadenas Unicode.

La transacción MSSCOMPRESS elimina automáticamente el formato de almacenamiento vardecimal de una tabla al comprimirlo. Puede cambiar esto en el menú «Ir a» => «Opciones avanzadas». Sin embargo, no vemos la ventaja de cambiar este comportamiento predeterminado.

Las opciones de compresión tienen un impacto en el resultado de la ejecución de compresión. Hay dos opciones que tienen un impacto en la compresión en sí:

Puede configurar el número máximo de subprocesos utilizados para ejecutar una sola instrucción SQL con el grado máximo de paralelismo de la opción de configuración de SQL Server. Para un sistema SAP, esto generalmente se establece en 1. Para sobrescribir esta configuración para la ejecución de compresión, configure la casilla de verificación «MAXDOP» e ingrese un valor mayor que 1. MSSCOMPRESS comprime tabla por tabla e índice por índice. No comprime varias tablas en el mismo punto en el tiempo, incluso cuando se establece «MAXDOP». Si desea comprimir muchas tablas en paralelo, debe programar algunas ejecuciones de compresión de tablas distintas para el mismo período. El beneficio de las ejecuciones de compresión paralelas depende de los recursos de hardware.

Al configurar la casilla de verificación «Usar EN LÍNEA», la compresión de la base de datos no adquiere bloqueos de tablas, lo que resulta en una mejor concurrencia. Sin embargo, esto no funciona para algunas tablas, por ejemplo, tablas que tienen un campo de texto o de imagen. Si ha establecido la casilla de verificación, la compresión falla para estas tablas en particular. MSSCOMPRESS repite automáticamente la compresión fallida sin utilizar la opción en línea.

 

Comenzar con la compresión de datos

En términos generales, la opción en línea tiene sentido al comprimir algunas tablas en el diálogo durante las horas normales de trabajo. No tiene sentido cuando se comprimen muchas tablas en un trabajo por lotes durante las horas de menor actividad.

 

Al presionar el botón «Comprimir», aparece un cuadro de diálogo. Aquí puede elegir si desea iniciar el cuadro de diálogo de compresión, iniciarlo inmediatamente como un trabajo por lotes o programar un trabajo por lotes para las horas de menor actividad.

 

Al comprimir en el cuadro de diálogo, se muestra un indicador de progreso en la esquina inferior izquierda de la ventana. Una vez finalizada la ejecución de la compresión, el tipo de compresión y el tamaño de los datos / índice se actualizan en la lista de tablas. Posteriormente se vuelve a aplicar el filtro actual. Las tablas seleccionadas aún están seleccionadas, lo que facilita ver el resultado de la ejecución de compresión.

Sin embargo, este puede no ser el caso cuando se usan filtros, por ejemplo, la opción de filtro «Fila comprimida». Después de comprimir una tabla comprimida por filas, la lista filtrada ya no contiene la tabla (porque los criterios de filtro ya no se aplican a esta tabla).

Una vez que haya iniciado una ejecución de compresión como un trabajo por lotes, puede ver el estado del trabajo en la pantalla principal de MSSCOMPRESS. Sin embargo, debe actualizar el estado del trabajo manualmente presionando el botón en el lado derecho del campo del estado del trabajo.

Al usar un trabajo por lotes, los tipos de compresión y el tamaño de datos / índice en la lista de tablas filtradas no se actualizarán automáticamente. Sin embargo, puede hacer esto manualmente presionando el botón «Actualizar».

Comprobando los archivos de registro

La sentencia MSSCOMPRESS crea un registro de compresión para cada tabla o compresión de índice. No se almacena como un archivo. Utiliza el registro de aplicaciones SAP estándar. Puede visualizar los registros de compresión presionando el botón «Log». Por defecto solo se muestran los registros del día actual. Sin embargo, puede cambiar la fecha de vencimiento y la fecha de inicio antes de iniciar el registro de la aplicación.

 

Si la compresión se está ejecutando en un trabajo por lotes de SAP, también se escribe un registro de trabajo. Presione el botón «Registro de trabajos» para obtener la pantalla de selección de trabajos estándar de SAP. Aquí puede consultar el estado y el registro de trabajos de cualquier trabajo por lotes de SAP.

Puede leer el registro de trabajos mientras el trabajo aún se está ejecutando. El trabajo contiene entradas sobre el progreso de todo el trabajo («… comprimido 15% …»). El progreso se calcula por el tamaño de las tablas ya comprimidas en comparación con el tamaño de todas las tablas, que están programadas para la compresión. Para ahorrar espacio en la base de datos, MSSCOMPRESS siempre inicia la compresión con las tablas más pequeñas de la ejecución de compresión. Por lo tanto, parece haber solo un progreso muy pequeño, después de que las primeras tablas ya se hayan comprimido.

 

Importando el transporte de MSSCOMPRESS
Si el informe MSSCOMPRESS no fue importado en su sistema SAP por un paquete de soporte básico, debe importarlo manualmente. Esto debe ser hecho por el administrador de base de SAP. En primer lugar, debe descomprimir el archivo (Kxxx.SID) y el archivo de datos (Rxxx.SID) del transporte, que se adjunta a la nota SAP 1488135. Luego, copie los archivos en los archivos (usr \ sap \ trans \ cofiles \ ) y el directorio de datos (usr \ sap \ trans \ data \). El siguiente paso es agregar la solicitud a la cola de importación en el STMS de transacciones SAP.

Utilice la ayuda F4 para la solicitud de transporte de campo para elegir su transporte.

Seleccione la Solicitud (SIDKxxx) y presione el botón «Importar Solicitud»

Para las versiones 720 de SAP y posteriores, es posible que tenga que elegir la opción de importación «Ignorar versión de componente no válida».

 

Dependiendo de la versión de SAP, este procedimiento puede ser ligeramente diferente. El administrador de la base de SAP debe conocer los detalles.

Problemas conocidos
Al presionar el botón «Comprimir», puede ver la siguiente advertencia:

Simplemente puede ignorar esta advertencia presionando OK. No tiene ningún impacto en absoluto. La causa raíz de esta advertencia no es un problema del informe MSSCOMPRESS. Es un error conocido en el kernel de SAP y se corrigió con la nota 1309615 de SAP. Después de aplicar el parche de kernel de SAP más reciente, ya no verá esta advertencia.

 

Link original del post https://blogs.msdn.microsoft.com/saponsqlserver/2010/10/08/compressing-an-sap-database-using-report-msscompress/

 

 

Deja una respuesta

WP to LinkedIn Auto Publish Powered By : XYZScripts.com