DBMS_METADATA 系统包实现了 mdAPI,是对检索数据库对象的一种聚合定义。DBMS_METADATA 系统包用于创建 DDL,或通过提交 XML 文档以执行 DDL。

DBMS_METADATA 安全模型

该系统包属于 SYS 用户,并具有是否授予 PUBLIC 的执行访问权限。DBMS_METADATA 通过调用者权限(即调用者的安全配置文件)运行。它通过调用 DBMS_METADATAL INT 以执行权限功能。

在 catmeta.sql 中定义的对象视图通过公共视图上的 WHERE 子句实现系统包的安全策略,其中包括控制用户访问元数据的语法。如果当前用户是 SYS 或 SELECT-CATALOG_ROLE,则所有对象都是可见的; 否则,只有当前用户架构中的对象可见。