绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
关于元数据采集管理的数据库方案
2020-02-20 15:38:39


方案一、便捷但权限大

为每个数据库添加metadata账号,赋予读取任何表权限

create user metadata
  identified by password
  default tablespace USERASPACE
  temporary tablespace USERTEMP;
Grant connect,resource to metadata;
Grant create session to metadata;
Grant select any table to metadata;
Grant execute any procedure to metadata;

自然就能获取相关授权用户表的信息了,不过麻烦的是,除了看到相关赋权的用户,也可以读取所有用户表的数据了。

select  * from all_objects;
select  * from all_tables;
select  * from all_cons_columns;
select  * from all_tab_comments;
select  * from all_col_comments;
select  * from all_tab_columns;
select  * from all_source;
select  * from all_constraints;
select  * from user_objects;
select  * from user_source;

方案二、方便且容易控制权限

create user metadata
  identified by password
  default tablespace USERASPACE
  temporary tablespace USERTEMP;

Grant connect,resource to metadata;
Grant create session to metadata;

Grant select on sys.dba_objects to metadata; 
Grant select on sys.dba_tables to metadata; 
Grant select on sys.dba_tab_columns to metadata;
Grant select on sys.dba_cons_columns to metadata; 
Grant select on sys.dba_tab_comments to metadata; 
Grant select on sys.dba_col_comments to metadata; 
Grant select on sys.dba_source to metadata;
Grant select on sys.dba_constraints to metadata; 

方案三、建立大量的系统表中间表、还要赋权给metadata用户,还要写存储过程和定时任务,当然权限控制没问题,不过操作上比较麻烦,在此不做详述

综上,选择方案二


分享好友

分享这个小栈给你的朋友们,一起进步吧。

追梦IT人
创建时间:2020-02-12 11:47:47
20年IT工作经验,曾在华为、HP、移动、电网等国内外知名IT企业任职;关注领域包括证券、航空、制造、电信、电网等。在数据库开发和优化、数据仓库、系统架构、大中型项目管理、部门管理、数据挖掘和分析、数据治理、大数据方面有一定研究。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • bq_wang
    栈主

小栈成员

查看更多
  • 栈栈
  • 小雨滴
  • 我没
  • 飘絮絮絮丶
戳我,来吐槽~