Oracle PRVT_ACCESS_ADVISOR
Version 21c

General Information
Library Note Morgan's Library Page Header
ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling complimentary technical Workshops on Database Security for the first 30 Oracle Database customers located anywhere in North America, EMEA, LATAM, or APAC that send an email to asra_us@oracle.com. Request a Workshop for your organization today.
Purpose Undocumented
AUTHID DEFINER
Dependencies
 ALL_USERS DBMS_SWAT_ARM_INTERNAL WRI$_ADV_SQLACCESS_ADV
DBA_ADVISOR_EXECUTIONS DBMS_UTILITY WRI$_ADV_SQLA_COLVOL
DBA_SQLSET_DEFINITIONS PLITBLM WRI$_ADV_SQLA_FAKE_REG
DBA_SQLSET_REFERENCES PRVT_ADVISOR WRI$_ADV_SQLA_MAP
DBA_TABLESPACES PRVT_PARTREC_NOPRIV WRI$_ADV_SQLA_STMTS
DBMS_ADVISOR PRVT_SQLSET_INFRA WRI$_ADV_SQLA_SUM
DBMS_ASSERT PRVT_TUNE_MVIEW WRI$_ADV_SQLA_TABLES
DBMS_LOCK PRVT_WORKLOAD WRI$_ADV_SQLA_TABVOL
DBMS_OUTPUT USER$ WRI$_ADV_SQLA_TMP
DBMS_SMB_INTERNAL WRI$_ADV_ACTIONS WRI$_ADV_SQLW_SUM
DBMS_SQLTUNE_INTERNAL WRI$_ADV_DEFINITIONS WRI$_ADV_TASKS
DBMS_STANDARD WRI$_ADV_DEF_PARAMETERS WRI$_ADV_TUNEMVIEW_ADV
DBMS_SUMA_LIB WRI$_ADV_PARAMETERS WRI$_ADV_WORKLOAD
DBMS_SYS_ERROR WRI$_ADV_RECOMMENDATIONS WRI$_SQLSET_REFERENCES
Documented No
First Available Not known
Security Model Owned by SYS with no privileges granted

Direct access to some objects in this package is prevented by means of an Accessible By clause.
Source {ORACLE_HOME}/rdbms/admin/prvtsms.plb
{ORACLE_HOME}/rdbms/admin/prvtsmaa.plb
Subprograms
 
CALLER_USER_ID
Undocumented prvt_access_advisor.caller_user_id RETURN BINARY_INTEGER;
SELECT prvt_access_advisor.caller_user_id
FROM dual;

CALLER_USER_ID
--------------
 
 
CHECK_WK_REF
Undocumented prvt_access_advisor.check_wf_ref(
work_id IN BINARY_INTEGER,
name    IN VARCHAR2,
sig     IN BOOLEAN)
RETURN BOOLEAN;
TBD
 
CLEANUP_TASK
Undocumented prvt_access_advisor.cleanup_task(
task_id        IN BINARY_INTEGER,
lock_it        IN BOOLEAN,
execution_name IN VARCHAR2);
TBD
 
CREATE_TASK
Undocumented prvt_access_advisor.create_task(
task_num IN BINARY_INTEGER,
from_num IN BINARY_INTEGER);
TBD
 
CREATE_TASK_REPORT
Undocumented prvt_access_advisor.create_task_report(
task_num IN NUMBER,
location IN VARCHAR2,
filename IN VARCHAR2);
TBD
 
DELETE_TASK
Undocumented prvt_access_advisor.delete_task(task_num IN BINARY_INTEGER);
TBD
 
DELETE_TASK_EXECUTION
Undocumented prvt_access_advisor.delete_task_execution(
task_num       IN BINARY_INTEGER,
execution_name IN VARCHAR2);
TBD
 
EXECUTE_TASK
Undocumented prvt_access_advisor.execute_task(
task_id IN  BINARY_INTEGER,
errnum  OUT BINARY_INTEGER);
TBD
 
GET_ACCESS_ADVISOR_DEFAULTS
Undocumented prvt_access_advisor.get_access_advisor_defaults(
task_name     OUT VARCHAR2,
task_id_num   OUT NUMBER,
workload_name OUT VARCHAR2,
work_id_num   OUT NUMBER,
l_user_id     IN  BINARY_INTEGER);
DECLARE
 tname    dbms_id;
 tidnum   dbms_id;
 wkldname dbms_id;
 wkidnum  dbms_id;
 uid      user$.user#%TYPE := 111;
BEGIN
  prvt_access_advisor.get_access_advisor_defaults(tname, tidnum, wkldname, wkidnum, uid);
  dbms_output.put_line(tname);
  dbms_output.put_line(tidnum);
  dbms_output.put_line(wkldname);
  dbms_output.put_line(wkidnum);
END;
/
 
GET_NEW_NAME
Undocumented prvt_access_advisor.get_new_name(
owner       IN VARCHAR2,
object_name IN VARCHAR2,
num_retries IN BINARY_INTEGER,
namespace   IN BINARY_INTEGER)
RETURN VARCHAR2;
TBD
 
GET_REC_ATTRIBUTES
Undocumented prvt_access_advisor.get_rec_attributes(
task_num       IN  BINARY_INTEGER,
recom_id       IN  BINARY_INTEGER,
action_id      IN  BINARY_INTEGER,
attribute_name IN  VARCHAR2,
value          OUT VARCHAR2);
TBD
 
GET_TASK_SCRIPT
Undocumented prvt_access_advisor.get_task_script(
task_num       IN     BINARY_INTEGER,
type           IN     VARCHAR2,
buffer         IN OUT CLOB,
rec_id         IN     BINARY_INTEGER,
act_id         IN     BINARY_INTEGER,
execution_name IN     VARCHAR2);
TBD
 
IMPLEMENT_TASK
Undocumented prvt_access_advisor.implement_task(
task_num      IN BINARY_INTEGER,
rec_id        IN BINARY_INTEGER,
exit_on_error IN BINARY_INTEGER);
TBD
 
PARAM_VALIDATE
Undocumented prvt_access_advisor.param_validate(
task_id IN BINARY_INTEGER,
name    IN VARCHAR2,
value   IN VARCHAR2,
adv_id  IN BINARY_INTEGER)
RETURN VARCHAR2;
TBD
 
QUICK_TUNE
Undocumented prvt_access_advisor.quick_tune(
task_name IN VARCHAR2,
attr1     IN CLOB,
attr2     IN VARCHAR2,
attr3     IN NUMBER,
template  IN VARCHAR2,
implement IN BOOLEAN);
TBD
 
RESET_TASK
Undocumented prvt_access_advisor.reset_task(
task_num       IN BINARY_INTEGER,
execution_name IN VARCHAR2);
TBD
 
RESUME_TASK
Undocumented prvt_access_advisor.resume_task(
task_id IN  BINARY_INTEGER,
err_num OUT NUMBER);
TBD
 
SETUP_PARAMETERS
Undocumented

Overload 1
prvt_access_advisor.setup_parameters(adv IN BINARY_INTEGER);
TBD
Overload 2 prvt_access_advisor.setup_parameters;
exec prvt_access_advisor.setup_parameters;

PL/SQL procedure successfully completed.
 
SETUP_TEMPLATES
Undocumented prvt_access_advisor.setup_templates(
adv_id    IN BINARY_INTEGER,
l_user_id IN BINARY_INTEGER);
TBD
 
SETUP_USER
Undocumented

Appears to be protected by an Accessible By clause
prvt_access_advisor.setup_user(user_id IN BINARY_INTEGER);
exec prvt_access_advisor.setup_user(0);
BEGIN prvt_access_advisor.setup_user(111); END;
*
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00904: insufficient privilege to access object SETUP_USER
 
SYNONYM
Undocumented prvt_access_advisor.synonym(
n1 IN VARCHAR2,
n2 IN VARCHAR2)
RETURN sys.prvt_access_advisor.syn_type;
TBD
 
TEST_API
Appears to be a NOOP prvt_access_advisor.test_api(
id    IN NUMBER,
which IN NUMBER);
exec prvt_access_advisor.test_api(99, 42);
Testing call 42

PL/SQL procedure successfully completed.
 
THROW_ERROR
Likely raises an exception if sent a valid exception number with valid arguments prvt_access_advisor.throw_error(
code IN VARCHAR2,
arg1 IN VARCHAR2,
arg2 IN VARCHAR2,
arg3 IN VARCHAR2,
arg4 IN VARCHAR2,
arg5 IN VARCHAR2);
exec prvt_access_advisor.throw_error('00600','A','B','C','D','E');
BEGIN prvt_access_advisor.throw_error('00600','A','B','C','D','E'); END;
*
ERROR at line 1:
ORA-13600: error encountered in Advisor
ORA-00600: internal error code, arguments: [A], [B], [C], [D], [E], [], [], [], [], [], [], []
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.PRVT_ACCESS_ADVISOR", line 229
ORA-06512: at line 1
 
UPDATE_REC_ATTRIBUTES
Undocumented prvt_access_advisor.update_rec_attributes(
task_num       IN BINARY_INTEGER,
rec_id         IN BINARY_INTEGER,
action_id      IN BINARY_INTEGER,
attribute_name IN VARCHAR2,
value          IN VARCHAR2);
TBD

Related Topics
Built-in Functions
Built-in Packages
Database Security
DBMS_ADVISOR
PRVT_TUNE_MVIEW
What's New In 21c
What's New In 23c

Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2023 Daniel A. Morgan All Rights Reserved
  DBSecWorx