Ampliación del límite de cláusulas SQL IN en los informes de obtención de detalles
Resuelva un error de informes de obtención de detalles aumentando el límite de la cláusula SQL IN más allá del valor por defecto de 1000 miembros.
Si los informes de obtención de detalles fallan con errores
'ERROR: relation <member name> does not exist'
El fallo se produce porque las cláusulas SQL IN están limitadas a 1000 miembros por defecto. Este valor predeterminado existe para Essbase y para Oracle Database.
Atención:
La plataforma de Essbase incluye scripts en <DOMAIN HOME>/bin que pueden personalizar el entorno y los comportamientos de la funcionalidad de Essbase. Sin embargo, los cambios en estos scripts de inicio o entorno de dominio pueden tener efectos no deseados, incluido un fallo de inicio. Oracle recomienda realizar primero los cambios en un entorno de prueba. Antes de editar estos scripts, siempre debe:
-
Detenga los servidores gestionados de Essbase mediante
<DOMAIN HOME>/esstools/bin/stop.sh(en Linux) o<DOMAIN HOME>\esstools\bin\stop.cmd(en Windows). -
En
<DOMAIN HOME>/bin, realice una copia de seguridad del archivo que desea editar. Por ejemplo,En Linux
cp setStartupEnv.sh setStartupEnv_bak.shEn Windows
copy setStartupEnv.cmd setStartupEnv_bak.cmd -
Edítelo cuidadosamente siguiendo únicamente las instrucciones documentada de Oracle o trabajando con los Servicios de Soporte Oracle.
-
Reinicie Essbase mediante
<DOMAIN HOME>/esstools/bin/start.sh(en Linux) o<DOMAIN HOME>\esstools\bin\start.cmd(en Windows). Compruebe que el inicio se ha completado normalmente.
Para aumentar el límite de la cláusula SQL IN para obtención de detalles, si la base de datos externa soporta límites ampliados,
- Detenga los servicios de Essbase (consulte Parar, Iniciar y Comprobar Servidores).
- En el equipo en el que se despliega Essbase, navegue a
<Domain Home>/bin(consulte Ubicaciones del entorno en la plataforma Essbase). - Realice una copia de seguridad de la secuencia de comandos de inicio,
setStartupEnv.sh(Linux) osetStartupEnv.bat(Windows). Guárdelo con un nombre diferente; por ejemplo:cp setStartupEnv.sh setStartupEnv_orig.sh - Abra
setStartupEnv.shosetStartupEnv.batpara editar. - Agregue las líneas de configuración para aumentar el límite más allá de 1000.
Ejemplo de Linux (setStartupEnv.sh):
JAVA_OPTIONS="${JAVA_OPTIONS} -Ddtr.in.clause.limit=15000" export JAVA_OPTIONSEjemplo de Windows (setStartupEnv.bat):
set JAVA_OPTIONS=%JAVA_OPTIONS% "-Ddtr.in.clause.limit=15000" - Guarde
setStartupEnv.shosetStartupEnv.bat. - Inicie los servicios de Essbase (consulte Parada, Inicio y Comprobación de Servidores).