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
This package was undocumented in 11gR1 but now is included in the online documentation. The package is an API to dbms_metadata_int which compares the difference between two objects via their SXML formatted metadata.
This function compares the metadata for two objects and returns a set of ALTER statements for making object 1 like object2
dbms_metadata_diff.compare_alter(
object_type IN VARCHAR2,
name1 IN VARCHAR2,
name2 IN VARCHAR2,
schema1 IN VARCHAR2 DEFAULT NULL,
schema2 IN VARCHAR2 DEFAULT NULL,
network_link1 IN VARCHAR2 DEFAULT NULL,
network_link2 IN VARCHAR2 DEFAULT NULL)
RETURN CLOB;
conn uwclass/uwclass@pdbdev
desc servers
desc serv_inst
set serveroutput on
DECLARE
c CLOB;
BEGIN
SELECT dbms_metadata_diff.compare_alter('TABLE', 'SERVERS', 'SERV_INST', USER, USER)
INTO c
FROM dual;
Compares the metadata for two objects and returns an ALTER_XML document
dbms_metadata_diff.compare_alter_xml(
OBJECT_TYPE IN VARCHAR2,
NAME1 IN VARCHAR2,
NAME2 IN VARCHAR2,
SCHEMA1 IN VARCHAR2,
SCHEMA2 IN VARCHAR2,
NETWORK_LINK1 IN VARCHAR2,
NETWORK_LINK2 IN VARCHAR2)
RETURN CLOB;
conn sys@pdbdev as sysdba
set serveroutput on
DECLARE
c CLOB;
BEGIN
SELECT dbms_metadata_diff.compare_alter_xml('TABLE', 'EMP', 'EMPLOYEES', 'SCOTT', 'HR')
INTO c
FROM dual;
The functions compares the metadata for two objects and returns an sxml difference document
dbms_metadata_diff.compare_sxml(
object_type IN VARCHAR2,
name1 IN VARCHAR2,
name2 IN VARCHAR2,
schema1 IN VARCHAR2 DEFAULT NULL,
schema2 IN VARCHAR2 DEFAULT NULL,
network_link1 IN VARCHAR2 DEFAULT NULL,
network_link2 IN VARCHAR2 DEFAULT NULL)
RETURN CLOB;
conn sys@pdbdev as sysdba
set serveroutput on
DECLARE
c CLOB;
BEGIN
SELECT dbms_metadata_diff.compare_sxml('TABLE', 'EMP', 'EMPLOYEES', 'SCOTT', 'HR')
INTO c
FROM dual;