| General Information |
| Subprograms |
| ADD_DEP_ERROR |
GET_REDEF_ID |
IS_CONTRAINT_ON_NTAB |
| DELETE_DEP_ERROR |
GET_SUPPLEMENTAL_LOG_GRP_NAME |
IS_INDEX_ON_NESTED_TAB |
| FETCH_DDL |
GET_SUPPLEMENTAL_LOG_TYPE |
IS_NOTNULL_CONSTRAINT |
| GET_MVLOG_NAME |
GET_TABLE_OBJID |
IS_REG_DEP_OBJ |
| GET_PARTITION_CNT |
GET_USER_ID |
REGISTER_DEP_OBJ |
|
| Source |
{ORACLE_HOME}/rdbms/admin/prvtbord.plb |
| First Available |
11.2.0.3 |
| Data Types |
CREATE OR REPLACE TYPE sys.ku$_ddl AS OBJECT (
ddltext CLOB, -- The DDL text
parsedItems sys.ku$_parsed_items) -- the parsed items
/
CREATE OR REPLACE TYPE sys.ku$_ddls IS TABLE OF sys.ku$_ddl;
/ |
| Dependencies |
| CCOL$ |
DBA_LOG_GROUPS |
IND$ |
| CDEF$ |
DBA_MVIEW_LOGS |
KU$_DDLS |
| COL$ |
DBA_REDEFINITION_OBJECTS |
OBJ$ |
| CON$ |
DBA_TAB_PARTITIONS |
REDEF_DEP_ERROR$ |
| DBA_CONSTRAINTS |
DBA_USERS |
REDEF_OBJECT$ |
| DBA_CONS_COLUMNS |
DBMS_METADATA |
TRIGGER$ |
| DBA_INDEXES |
DBMS_REDEFINITION |
TRIGGERDEP$ |
| DBA_IND_COLUMNS |
ICOL$ |
USER$ |
|
| Security Model |
Owned by SYS with no privs granted |
| |
| ADD_DEP_ERROR |
| Undocumented but likely creates a dependency error record in redef_dep_error$ visualized in dba_redefinition_errors |
dbms_redefinition_internal.add_dep_error(
rid IN BINARY_INTEGER,
otyp IN BINARY_INTEGER, -- object type
o_obj_owner IN VARCHAR2, -- object_owner
o_obj_name IN VARCHAR2, -- object name
o_bt_owner IN VARCHAR2, -- base table owner
o_bt_name IN VARCHAR2, -- base table object name
ddltxt IN CLOB); |
| TBD |
| |
| DELETE_DEP_ERROR |
| Undocumented but likely removes a dependency error created by the ADD_DEP_ERROR procedure |
dbms_redefinition_internal.delete_dep_error(
rid IN BINARY_INTEGER,
otyp IN BINARY_INTEGER, -- object type
o_obj_owner IN VARCHAR2, -- object_owner
o_obj_name IN VARCHAR2, -- object name
o_bt_owner IN VARCHAR2, -- base table owner
o_bt_name IN VARCHAR2, -- base table object name |
| TBD |
| |
| FETCH_DDL |
| Based on a handle returns associated DDL statements |
dbms_redefinition_internal.fetch_ddl(handle IN NUMBER) RETURN ku$ddls; |
| TBD |
| |
| GET_MVLOG_NAME |
| Given a schema and table name returns the name of the associated materialized view log |
dbms_redefinition_internal.get_mvlog_name(towner IN VARCHAR2, tname IN VARCHAR2) RETURN VARCHAR2; |
conn / as sysdba
CREATE MATERIALIZED VIEW LOG ON uwclass.servers;
set serveroutput on
DECLARE
mvlog_name VARCHAR2(30);
BEGIN
mvlog_name := dbms_redefinition_internal.get_mvlog_name('UWCLASS', 'SERVERS');
dbms_output.put_line(mvlog_name);
mvlog_name := dbms_redefinition_internal.get_mvlog_name('UWCLASS', 'SERVINST');
EXCEPTION
WHEN no_data_found THEN
dbms_output.put_line('Table does not have a materialized view log');
END;
/
DROP MATERIALIZED VIEW LOG ON uwclass.servers; |
| |
| GET_PARTITION_CNT |
| Returns the number of partitions in a partitioned table |
dbms_redefinition_internal.get_partition_cnt(tab_name IN VARCHAR2, tab_owner IN VARCHAR2) RETURN NUMBER; |
CREATE TABLE uwclass.hash_part (
prof_history_id NUMBER(10),
prof_hist_comments VARCHAR2(100))
PARTITION BY HASH (prof_history_id)
PARTITIONS 3
STORE IN (uwdata);
set serveroutput on
DECLARE
pcount NUMBER;
BEGIN
pcount := dbms_redefinition_internal.get_partition_cnt('HASH_PART', 'UWCLASS');
dbms_output.put_line(TO_CHAR(pcount));
END;
/
DROP TABLE uwclass.hash_part; |
| |
| GET_REDEF_ID |
| Returns a redefinition handle and information about the redefinition job |
dbms_redefinition_internal.get_redef_id(
c_uname IN VARCHAR2,
c_orig_table IN VARCHAR2,
redef_id OUT NUMBER, -- handle
int_obj_owner OUT VARCHAR2, -- interim table owner
int_obj_name OUT VARCHAR2, -- interim table name
is_part_redef OUT BINARY_INTEGER, -- is a partitioned object
has_mvlog OUT BINARY_INTEGER, -- has a materialized view log |
| TBD |
| |
| GET_SUPPLEMENTAL_LOG_GRP_NAME |
| Can be used to obtain the name of a supplemental log group |
dbms_redefinition_internal.get_supplemental_log_grp_name(
grp_owner IN VARCHAR2,
tab_name IN VARCHAR2,
grp_type IN VARCHAR2,
grp_name OUT VARCHAR2); |
| TBD |
| |
| GET_SUPPLEMENTAL_LOG_TYPE |
| Can be used to return the supplemental log type |
dbms_redefinition_internal.get_supplemental_log_type(
grp_owner IN VARCHAR2,
grp_name IN VARCHAR2,
tab_name IN VARCHAR2,
grp_type OUT VARCHAR2); |
| TBD |
| |
| GET_TABLE_OBJID |
| Given a schema and table name returns the object id from obj$ |
dbms_redefinition_internal.get_table_objid(tab_name IN VARCHAR2, tab_owner IN VARCHAR2) RETURN NUMBER; |
set serveroutput on
DECLARE
objID dba_objects.object_id%TYPE;
BEGIN
objID := dbms_redefinition_internal.get_table_objid('SERVERS', 'UWCLASS');
dbms_output.put_line(TO_CHAR(objID));
END;
/
SELECT owner, object_name
FROM dba_objects
WHERE object_id = 76978; |
| |
| GET_USER_ID |
| Returns the user_id of a user |
dbms_redefinition_internal.get_user_id(user_name IN VARCHAR2) RETURN BINARY_INTEGER; |
set serveroutput on
DECLARE
uid dba_users.user_id%TYPE;
BEGIN
uid := dbms_redefinition_internal.get_user_id('UWCLASS');
dbms_output.put_line(TO_CHAR(uid));
END;
/
SELECT username
FROM dba_users
WHERE user_id = 90; |
| |
| IS_CONTRAINT_ON_NTAB |
| Returns a value indicative that a constraint is on a nested table |
dbms_redefinition_internal.is_constraint_on_ntab(
cons_name IN VARCHAR2,
cons_owner IN VARCHAR2)
RETURN NUMBER; |
| TBD |
| |
| IS_INDEX_ON_NESTED_TAB |
| Returns a value indicative that an index is on a nested table |
dbms_redefinition_internal.is_index_on_nested_tab(
idx_name IN VARCHAR2,
idx_owner IN VARCHAR2)
RETURN NUMBER; |
| TBD |
| |
| IS_NOTNULL_CONSTRAINT |
| Returns a value indicative that a constraint is a not null constraint |
dbms_redefinition_internal.is_notnull_constraint(
cons_name IN VARCHAR2,
cons_owner IN VARCHAR2)
RETURN NUMBER; |
| TBD |
| |
| IS_REG_DEP_OBJ |
| Returns true if the object has been registered as a dependent object of the table being redefined |
dbms_redefinition_internal.is_reg_dep_obj(
rid IN BINARY_INTEGER,
otyp IN BINARY_INTEGER,
o_obj_owner IN VARCHAR2,
o_obj_name IN VARCHAR2,
o_bt_owner IN VARCHAR2,
o_bt_name IN VARCHAR2)
RETURN BOOLEAN; |
| TBD |
| |
| REGISTER_DEP_OBJ |
| Registers an object as dependent |
dbms_redefinition_internal.register_dep_obj(
rid IN BINARY_INTEGER,
otyp IN BINARY_INTEGER,
o_obj_owner IN VARCHAR2,
o_obj_name IN VARCHAR2,
o_bt_owner IN VARCHAR2,
o_bt_name IN VARCHAR2,
i_obj_owner IN VARCHAR2,
i_obj_name IN VARCHAR2
typflag IN BINARY_INTEGER;) |
| TBD |
| |