DBMS_METADATA API enables you to do the following:
Retrieve an object's metadata as XML
Transform the XML in a variety of ways, including transforming it into SQL DDL
Submit the XML to re-create the object extracted by the retrieval
DBMS_METADATA_DIFF API lets you compare objects between databases to identify metadata changes over time in objects of the same type.
See the following topics: