You need the EXECUTE privilege on the special macro DBQLAccessMacro to enable and disable query logging. DBQLAccessMacro is created by DIPVIEWSV of the DIP utility.
The system users DBC and SystemFE have the EXECUTE privilege on DBQLAccessMacro and can grant it to others when needed. If you want other users, such as your administrative user, to be able to execute DBQLAccessMacro, follow this procedure:
- Log on as user DBC (or SystemFE).
- List the contents of database DBC to see if the DBQLAccessMacro, DBQLRuleTbl, and DBQLRuleCountTbl have been created:
HELP DATABASE DBC ;
The DBQL tables, views, and macros should be reported.
- Grant the following privileges to your database administrator user:
GRANT EXECUTE ON DBC.DBQLAccessMacro TO DBADMIN ; GRANT SELECT ON DBC.DBQLRULESV TO DBADMIN ;
- Log off the DBC or SystemFE session.
- Log on again as user DBADMIN.
- Define query logging rules for one or more users, one or more accounts, or applications using BEGIN QUERY LOGGING or REPLACE QUERY LOGGING statements. (For full syntax, see Teradata Vantage™ - SQL Data Definition Language Syntax and Examples, B035-1144.)
- Check the DBQLRules[V] view to see if the rules are correct:
SELECT * FROM DBC.DBQLRulesV ;
If you find an error, submit an REPLACE QUERY LOGGING statement for that user.