Which has the higher priority in your organization: Deploying a new database or securing the ones you already have?
Looking for a website, and resources, dedicated solely to securing Oracle databases? Check out DBSecWorx.
Purpose
Utility functions for Analytic View auto cache auto tune.
AUTHID
CURRENT_USER
Dependencies
ALL_OBJECTS
DBMS_HCS_LOG
ORA_DICT_OBJ_NAME
AVTUNE_AV_CACHES$
DBMS_STANDARD
ORA_DICT_OBJ_OWNER
AVTUNE_AV_TUNING$
DICTIONARY_OBJ_NAME
ORA_DICT_OBJ_TYPE
AVTUNE_DIM_CACHES$
DICTIONARY_OBJ_OWNER
ORA_SYSEVENT
DBMS_AVTUNE
Documented
No
First Available
21c
Role
SELECT 'sys_priv', privilege FROM dba_sys_privs WHERE grantee = 'AVTUNE_PKG_ROLE'
UNION
SELECT 'obj_priv', table_name OBJECT FROM dba_tab_privs WHERE grantee = 'AVTUNE_PKG_ROLE'
ORDER BY 1,2;
dbms_avtune_util.auto_cache_ddl_trigger(
p_stmt IN VARCHAR2,
p_obj_id IN NUMBER);
conn / as sysdba
GRANT execute ON dbms_avtune_util TO c##uwclass;
conn c##uwclass
CREATE TABLE t (
testcol VARCHAR2(20));
SELECT object_id
FROM user_objects
WHERE object_name = 'T';
OBJECT_ID
----------
77238
DECLARE
str dbms_id := 'CREATE TRIGGER x AFTER UPDATE ON t BEGIN NULL; END testtrig;';
BEGIN
execute immediate str;
END;
/
DROP TRIGGER x;
DECLARE
str dbms_id := 'CREATE TRIGGER x AFTER UPDATE ON t BEGIN NULL; END testtrig;';
obj_id INTEGER := 77238;
BEGIN
sys.dbms_avtune_util.auto_cache_ddl_trigger(str, obj_id);
END;
/
PL/SQL procedure successfully completed.
SELECT owner, object_type
FROM dba_objects
WHERE object_name = 'X';
no rows selected
-- the trigger was not created so p_stmt is likely not DDL to be executed
-- apparently p_stmt is a statement that a trigger is supposed to execute
-- but we are unable to find any dependent triggers: more work will be required