FAQs on Database/Datamart/ETL/Postgres/Oracle
CLI reports are not showing up on sites with Oracle database. What should I do?
Grant read privilege to the TeamForge reports read only user and also create synonyms in the TeamForge reports read only user schema.
Suppose the TeamForge reports read only username is ctfrptrouser213
. The following commands and queries grant the user privileges to view CLI reports on sites that use the Oracle database.
grant drop any synonym to ctfrptrouser213;
grant create synonym to ctfrptrouser213;
BEGIN
FOR i IN (SELECT table_name FROM user_tables)
LOOP
EXECUTE IMMEDIATE('grant select on '|| i.table_name || ' to ctfrptrouser213');
END LOOP;
FOR i IN (SELECT view_name FROM user_views)
LOOP
EXECUTE IMMEDIATE('grant select on '|| i.view_name || ' to ctfrptrouser213');
END LOOP ;
END;
/
BEGIN
FOR i IN (select table_name from all_tables where owner='CTFRPTUSER213')
LOOP
EXECUTE IMMEDIATE('create synonym '|| i.table_name || ' for CTFRPTUSER213.' || i.table_name );
END LOOP;
FOR i IN (select view_name from all_views where owner='CTFRPTUSER213')
LOOP
EXECUTE IMMEDIATE('create synonym '|| i.view_name || ' for CTFRPTUSER213.' || i.view_name);
END LOOP ;
END;
/
What are the right PostgreSQL settings for my site?
Your site's PostgreSQL settings depend on the conditions your site is operating under, especially the number and size of projects and the number of users.
The default values in the site-options.conf
file are designed for a TeamForge site running on a system with 8GB of RAM. This table contains recommended values for systems with various amounts of RAM, based on testing carried out in CollabNet's performance lab. Use your discretion in selecting the right values for your environment.
You must recreate the runtime environment after changing any value in the site-options.conf
file.
Recommended values if PostgreSQL and TeamForge are on the same server
site-options.conf Tokens | 8GB RAM | 16GB RAM | 32GB RAM | 64GB RAM | 128GB RAM |
---|---|---|---|---|---|
PGSQL_EFFECTIVE_CACHE_SIZE= | 4GB | 6GB | 12GB | 24GB | 48GB |
PGSQL_SHARED_BUFFERS= | 1GB | 2GB | 4GB | 8GB | 8GB |
PGSQL_WORK_MEM= | 64MB | 64MB | 64MB | 64MB | 64MB |
PGSQL_WAL_BUFFERS= | 16MB | 32MB | 32MB | 32MB | 32MB |
PGSQL_MAINTENANCE_WORK_MEM= | 256MB | 615MB | 615MB | 615MB | 615MB |
Recommended values if PostgreSQL is on a separate server
site-options.conf Tokens | 8GB RAM | 16GB RAM | 32GB RAM | 64GB RAM | 128GB RAM |
---|---|---|---|---|---|
PGSQL_EFFECTIVE_CACHE_SIZE= | 6GB | 12GB | 24GB | 48GB | 96GB |
PGSQL_SHARED_BUFFERS= | 2GB | 4GB | 8GB | 8GB | 8GB |
PGSQL_WORK_MEM= | 64MB | 64MB | 64MB | 64MB | 64MB |
PGSQL_WAL_BUFFERS= | 16MB | 32MB | 32MB | 32MB | 32MB |
PGSQL_MAINTENANCE_WORK_MEM= | 256MB | 615MB | 615MB | 615MB | 615MB |
Why do ETL jobs fail post TeamForge upgrade?
ETL jobs can fail due to reasons such as incompatibility between the database and JDBC driver versions and ETL jobs not being able to connect to the Datamart. Try the following solutions.
Pentaho, used by TeamForge for data integration and transformation jobs, recommends using compatible JDBC drivers meant for specific database versions. See Pentaho's JDBC Drivers Reference for more information.
If ETL jobs fail post TeamForge upgrade due to incompatibility between the database and JDBC driver versions:
- Refer to Pentaho's JDBC Drivers Reference page.
- Click the JDBC driver reference URL corresponding to your database, Oracle or PostgreSQL.
- Identify and download the compatible JDBC driver for your database.
- Replace the JDBC driver found in the following directories with the one you downloaded. (The TeamForge ETL process refers to the JDBC driver available in these directories.)
/opt/collabnet/teamforge/dist/tomcat/commonlib/
/opt/collabnet/teamforge/runtime/tomcat_etl/webapps/etl/WEB-INF/lib
noteYou can also refer to this page for more information about Pentaho-special database issues and resolutions.
If ETL jobs fail due to unavailable connections to the PostgreSQL Datamart:
Make sure that the following error message is found in etl.log
Invalid JNDI connection java:comp/env/jdbc/ReportsDS : FATAL: remaining connection slots are reserved for non-replication superuser connections
If yes, restart the ETL service and restart the failed ETL jobs manually using ./etl-client.py
script in the /opt/collabnet/teamforge/runtime/scripts/
directory. The ETL jobs should be able to connect to the PostgreSQL Datamart after the restart.
If the problem persists even after restarting, contact Digital.ai Support.