When you connecting to OBIEE from Tableau/Power BI/Qlik using BI Connector, reports/queries/data source that extract or query around a million records are intermittently failing with C-runtime error occurred (std::bad_alloc).
You intermittently receive the follower error in Tableau/Power BI/Qlik and also in BI Connector log file.
A C-runtime error occurred (std::bad_alloc)
- This error is due to OBIEE running out of resources to execute your query. It is not a BI Connector issue.
- The error may sometimes go away when when you reduce the number of rows or columns that you are fetching
- The error may go away when you restart the OBIEE Presentation Server.
- The error at times seems random or intermittent.
- The error may or could occur under a heavy concurrent user load.
This document suggests some methods to correct or prevent this issue. We also recommend that you consult your linux system administrator + documentation + file a service request with Oracle.
Increase the OBIEE Presentation Server cache entries in the instanceconfig.xml.
Increase the memory cache so new threads are not required so often for BI Server requests
<!-- Increasing the memory cache so new threads are not required so often for BI Server requests -->
<!-- Increase the maximum age of the cache so that it does not need to refresh as often consuming a thread. -->
<!-- MaxAgeMinutes default="0" -->
<!-- Remove from the cache every thing older than N minutes -->
<!-- Remove from the cache everything older than N minutes -->
Decrease the client expiration time in the instanceconfig.xml.
Increase virtual memory map
As 'root' user:
Temporary change: /sbin/sysctl -w vm.max_map_count=262144
Permanent change: add to /etc/sysctl.conf
Finally, as suggested earlier, please consult your linux system administrator + documentation + file a service request with Oracle.