Immutable tables are read-only tables that protect data against unauthorized
modification. They also prevent against accidental data modifications that may be
caused by human errors. The
DBMS_IMMUTABLE_TABLE package allows you
to delete the expired rows in an immutable table.
This chapter contains the following topics:
88.1 DBMS_IMMUTABLE_TABLE Overview
Immutable tables are
read-only tables that protect data
against unauthorized modification. Immutable tables also prevent against accidental data
modifications that may be caused by human errors. You must specify a retention period for
the immutable table and for rows within the immutable table. An immutable table can be
dropped if it contains no rows or if the specified retention period for the table has
lapsed. Rows can be deleted from an immutable table only after the specified retention
period for rows in the table has elapsed. Except for increasing the retention periods, you
cannot modify the definition of an immutable table.
88.2 DBMS_IMMUTABLE_TABLE Security Model
package is owned by
SYS and is installed as part of database installation.
The routines in the package are run with invoker's rights and hence run with the privileges
of the current user.
88.3 Summary of DBMS_IMMUTABLE_TABLE Subprograms
This table lists the
DBMS_IMMUTABLE_TABLE subprograms in
alphabetical order and briefly describes them.
Table 88-1 DBMS_IMMUTABLE_TABLE Package Subprograms
|DELETE_EXPIRED_ROWS Procedure||This procedure deletes the expired rows.|
88.3.1 DELETE_EXPIRED_ROWS Procedure
This procedure deletes some or all of the expired rows from the immutable table. This procedure does not commit.
DBMS_IMMUTABLE_TABLE.DELETE_EXPIRED_ROWS( schema_name IN VARCHAR2, table_name IN VARCHAR2, before_timestamp IN TIMESTAMP WITH TIME ZONE DEFAULT NULL, number_of_rows_deleted OUT NUMBER);
Table 88-2 DELETE_EXPIRED_ROWS Procedure Parameters
||The name of the schema.|
||The name of the immutable table.|
If the parameter is
The default value is
||The number of rows deleted.|