Cuando el sistema presenta errores con el servidor de estadísticas y muestra errores como «Out of memory», una solución al problema puede ser la siguiente:
CREATE PROCEDURE set_retention_days (IN rdays int) LANGUAGE SQLSCRIPT
SQL SECURITY INVOKER AS
— rdays [IN]: retention days
l_retention_days integer := 0;
l_alter_sys string;
l_alter_config_set string := ‘alter system alter configuration
(»statisticsserver.ini»,»SYSTEM») set
(»statisticsserver_general»,»editing»)=»yes» with reconfigure’;
l_alter_config_unset string := ‘alter system alter configuration
(»statisticsserver.ini»,»SYSTEM») unset
(»statisticsserver_general»,»editing») with reconfigure’;
CURSOR c_cursor for select substr_before(substr_after(value,’-‘),’)’)
rtime, lower(trim(‘»‘ from substr_before(substr_after(value,’.’),’ ‘)))
table_name from m_inifile_contents where
file_name=’statisticsserver.ini’ and layer_name=’DEFAULT’ and section =
‘statisticsserver_sqlcommands’ and value like ‘delete%’;
BEGIN
exec l_alter_config_set;
for cur as c_cursor do
if cur.rtime >= rdays then
l_retention_days := rdays;
else
l_retention_days := cur.rtime;
end if;
l_alter_sys := ‘alter system alter configuration (»statisticsserver.ini»,»SYSTEM») set (»statisticsserver_sqlcommands»,»delete_old_data_’;
l_alter_sys := l_alter_sys || cur.table_name || »’)=» delete from _sys_statistics.’ || cur.table_name;
l_alter_sys := l_alter_sys || ‘ where server_timestamp < add_days(CURRENT_TIMESTAMP,-‘ || :l_retention_days || ‘)»’;
if rdays >= 1 then
exec l_alter_sys;
end if;
end for;
exec l_alter_config_unset;
END;
Implementar el procedimiento en HANA Studio:
Y después llamar el procedimiento de la siguiente manera:
Esto definirá en 10 dias la retención de datos del servidor de estadísticas y con ello reducir el consumo de memoria e historia.
Tambien es posible jugar con el parámetro allocationlimit
Esto dependiendo de las tablas y la memoria que el sistema tenga.
Finalmente se puede migrar el servidor de estadísticas basado en las notas 1917938 y 1925684 lo cual reduce enormemente el consumo de memoria.
SAP HANA STATISTICS OUT OF MEMORY