Oracle9i Supplied PL/SQL Packages and Types Reference Release 2 (9.2) Part Number A96612-01 |
|
DBMS_RLS , 2 of 2
This procedure adds a fine-grained access control policy to a table , view, or synonym.
The procedure causes the current transaction, if any, to commit before the operation is carried out. However, this does not cause a commit first if it is inside a DDL event trigger.
A COMMIT
is also performed at the end of the operation.
DBMS_RLS.ADD_POLICY ( object_schema IN VARCHAR2 NULL, object_name IN VARCHAR2, policy_name IN VARCHAR2, function_schema IN VARCHAR2 NULL, policy_function IN VARCHAR2, statement_types IN VARCHAR2 NULL, update_check IN BOOLEAN FALSE, enable IN BOOLEAN TRUE, static_policy IN BOOLEAN FALSE);
DETERMINISTIC
does not affect performance.SYS
is free of any security policy.FUNCTION policy_function (object_schema IN VARCHAR2, object_name VARCHAR2) RETURN VARCHAR2 --- object_schema is the schema owning the table of view. --- object_name is the name of table, view, or synonym to which the policy applies.
The maximum length of the predicate that the policy function can return is 32K.
WNDS
(write no database state).
See Also:
The Oracle9i Application Developer's Guide - Fundamentals has more details about the |
AND
ed) of all the predicates.This procedure drops a fine-grained access control policy from a table, view, or synonym.
The procedure causes the current transaction, if any, to commit before the operation is carried out. However, this does not cause a commit first if it is inside a DDL event trigger.
A commit is also performed at the end of the operation.
DBMS_RLS.DROP_POLICY ( object_schema IN VARCHAR2 NULL, object_name IN VARCHAR2, policy_name IN VARCHAR2);
This procedure causes all the cached statements associated with the policy to be reparsed. This guarantees that the latest change to this policy will have immediate effect after the procedure is executed.
The procedure causes the current transaction, if any, to commit before the operation is carried out. However, this does not cause a commit first if it is inside a DDL event trigger.
A commit is also performed at the end of the operation.
DBMS_RLS.REFRESH_POLICY ( object_schema IN VARCHAR2 NULL, object_name IN VARCHAR2 NULL, policy_name IN VARCHAR2 NULL);
The procedure returns an error if it tries to refresh a disabled policy.
This procedure enables or disables a fine-grained access control policy. A policy is enabled when it is created.
The procedure causes the current transaction, if any, to commit before the operation is carried out. However, this does not cause a commit first if it is inside a DDL event trigger.
A commit is also performed at the end of the operation.
DBMS_RLS.ENABLE_POLICY ( object_schema IN VARCHAR2 NULL, object_name IN VARCHAR2, policy_name IN VARCHAR2, enable IN BOOLEAN);
This procedure creates a policy group.
DBMS_RLS.CREATE_POLICY_GROUP ( object_schema VARCHAR2, object_name VARCHAR2, policy_group VARCHAR2 );
The group must be unique for each table or view.
This procedure adds a policy associated with a policy group.
DBMS_RLS.ADD_GROUPED_POLICY( object_schema VARCHAR2, object_name VARCHAR2, policy_group VARCHAR2, policy_name VARCHAR2, function_schema VARCHAR2, policy_function VARCHAR2, statement_types VARCHAR2, update_check BOOLEAN, enabled BOOLEAN, static_policy BOOLEAN FALSE );
DETERMINISTIC
does not affect performance.CREATE_POLICY_GROUP
interface.SYS_DEFAULT
, are always executed regardless of the active policy group; however, fine-grained access control policies do not apply to users with EXEMPT ACCESS POLICY
system privilege.This procedure adds the context for the active application.
DBMS_RLS.ADD_POLICY_CONTEXT ( object_schema VARCHAR2, object_name VARCHAR2, namespace VARCHAR2, attribute VARCHAR2 );
Note the following:
NULL,
policies from all policy groups are used.hr.employees
in group access_control_group,
the following command is issued:
DBMS_RLS.ADD_GROUPED_POLICY('hr','employees','access_control_ group','policy1','SYS', 'HR.ACCESS');
This procedure deletes a policy group.
DBMS_RLS.DELETE_POLICY_GROUP ( object_schema VARCHAR2, object_name VARCHAR2, policy_group VARCHAR2 );
Note the following:
This procedure drops a policy associated with a policy group.
DBMS_RLS.DROP_GROUPED_POLICY ( object_schema VARCHAR2, object_name VARCHAR2, policy_group VARCHAR2, policy_name VARCHAR2 );
This procedure drops a driving context from the object so that it will have one less driving context.
DBMS_RLS.DROP_POLICY_CONTEXT ( object_schema VARCHAR2, object_name VARCHAR2, namespace VARCHAR2, attribute VARCHAR2 );
This procedure enables or disables a row-level group security policy.
DBMS_RLS.ENABLE_GROUPED_POLICY ( object_schema VARCHAR2, object_name VARCHAR2, group_name VARCHAR2, policy_name VARCHAR2, enable BOOLEAN );
This procedure reparses the SQL statements associated with a refreshed policy.
DBMS_RLS.REFRESH_GROUPED_POLICY ( object_schema VARCHAR2, object_name VARCHAR2, group_name VARCHAR2, policy_name VARCHAR2 );
|
Copyright © 2000, 2002 Oracle Corporation. All Rights Reserved. |
|