DBUnload 24.4.4 and superior failures Due to Missing Temporary Table Privileges
search cancel

DBUnload 24.4.4 and superior failures Due to Missing Temporary Table Privileges

book

Article ID: 453150

calendar_today

Updated On:

Products

Automic Automation

Issue/Introduction

When running Automic Automation Engine utilities such as DBUnload  (specifically the -BREORG reorganization process), operations may fail with "permission denied" or "insufficient privileges" errors. This behavior is due to a change in utility functionality (implemented in DE180043 on 24.4.4) which now requires the database user to have explicit permissions to create temporary tables.

Symptoms

Utilities fail to complete the database reorganization process. The following error is observed in the log: 

U00003592 UCUDB - Status: '42501' Native error: '6818257' Msg: 'permission denied to create temporary tables in database "###"'

Environment

  • Component: Automic Workload Automation (Automation Engine)
  • Utilities: DBUnload  and DBLoad 
  • Error: U00003592 / "Permission denied"
  • Database Platforms: PostgreSQL, Oracle, DB2

Cause

Following the implementation of DE180043, the DBUnload and DBLoad utilities now attempt to create a temporary table (clct_run) to manage data processing. Previously, these utilities relied on different mechanisms (DIVDB). Database users without explicit permission to create temporary tables in the database schema will now encounter failures.

Resolution

Depending on your database platform, ensure the following privileges are granted to the user defined in the [ODBC] section of your utility's .ini file:

PostgreSQL

The database user requires the TEMP privilege. Note that TEMP and TEMPORARY are synonyms in PostgreSQL.

  1. Log in to the PostgreSQL instance as a superuser.
  2. Execute the following command: GRANT TEMP ON DATABASE <ae_database> TO <ae_db_user>;
  3. Replace <ae_database> with your Automic database and <ae_db_user> with your Automation Engine database user.
Oracle

The database user requires the CREATE PRIVATE TEMPORARY TABLE privilege.

  1. Log in to the Oracle instance as a DBA user.
  2. Execute the following command: GRANT CREATE PRIVATE TEMPORARY TABLE TO <ae_db_user>;
  3. Replace <ae_db_user> with your Automation Engine database user.
DB2

The database user requires specific usage rights on a defined user temporary tablespace.

  1. Create a user temporary tablespace if one does not exist: CREATE USER TEMPORARY TABLESPACE usertemp1 MANAGED BY AUTOMATIC STORAGE;
  2. Grant the usage privilege to the Automation Engine database user: GRANT USE OF TABLESPACE usertemp1 TO USER <ae_db_user>;
Microsoft SQL Server

No additional configuration is required. The create table #clct_run command uses standard local temporary tables backed by the tempdb system database, which is accessible to all logins by default.


If the issue persists after applying these grants, please verify that your database policies do not override these schema-level permissions. To speak with a customer representative or a Support Engineer, see Contact Support. Scroll to the bottom of the page and click on your respective region.