数据和元数据变更可以采用cdc(change data capture更改数据捕获)方式实时进行获取,但是有时候cdc受到很多方面的限制,比如影响数据库性能等;如果只是抽取元数据变更的话,也可以采用定期拉取元数据变更的方式,本文主要介绍一些常用oracle sql语句获取元数据变更,话不多说,上sql.
1、oracle中获取相关用户表及视图最后更新时间
select owner "用户名",object_name "对象名称",object_type "对象类型",last_ddl_time "最后更新时间" from dba_objects where object_type in ('TABLE','VIEW') and owner in ('AAA') order by last_ddl_time desc
--AAA代表用户名
2、获取表字段最新信息
select owner "用户名",table_name "表名称",column_name "列名",data_type "数据类型",data_length "数据长度" from dba_tab_columns where owner in ('AAA') and table_name='BBB'
3、获取视图信息
select owner "用户名" ,view_name "视图名称",text "视图定义" from dba_views where owner in ('AAA')
4、获取视图依赖的表信息
select referenced_name "依赖表名称" from dba_dependencies WHERE owner IN ('AAA')
AND referenced_type in ('TABLE') AND TYPE = 'VIEW' AND NAME = 'CCC'
--CCC代表视图名