设为首页 收藏本站
查看: 975|回复: 0

[经验分享] Oracle 数据库中 同义词的意思

[复制链接]

尚未签到

发表于 2017-12-11 07:38:42 | 显示全部楼层 |阅读模式
  一、Oracle数据只有一个实例(简单理解就是Oracle 只能建立一个数据库,不像MySQL,它下面可以创建N个库),那么Oracle是根据用户灵活去管理的;这点读起来、理解
  起来也不那么难,但是除非自己亲自实现一把才理解深入点,刚接触数据库可能不是很理解这些;
  二、Oracle中可以建立多个用户,那么这些用户刚建立是得授权的,不让没有权限做任何事情,(举个栗子:用户 ‘AA’ 是授权的DBA用户,此用户下面有 N 张表,如果再创建
  一个用户 “BB” ,那么 “BB” 是没有权限读取 “AA” 中表的,有人可能就会说给他授权不就行了么,给 “BB” 授予超级权限,抱歉,那也不行,你同样么有机会访问 “AA”
  中的表的,你虽然授予了超级权限,那是在你名下的,在 “AA” 起不了作用),是不是很是揪心,同一个库下两个 超级用户 还不能访问。
  三、是不是在 “BB” 用户下在把 “AA” 下的表 复制一遍不就好了,没错,这样也能实现,但是这样会浪费很多资源,而且不能同步数据;这种情况下 同义词 就有用武之地了,
  其实  同义词 也相当于一个视图 可以这个么理解,可以进行对表的 增删改查,(省资源,数据同步);
  四、注意事项
  0》接上面的举例子:新建的用户 “BB” 要在不复制资源的请款下建立一个同义词 要可以对 “AA” 下的表 操作(除了删除)
  建立:create 【public】  synonym 同义词名称(一般可以与表名不同,这样不容易混淆) for AA.table_name;--在当前用户下建立一个同义词(去同义“AA”中的表:table_name,public的是可选参数,本人建议尽量建立公用的 同义词)
  删除:DROP   【public】   SYNONYM   同义词名称; ---------此处特别注意 关键字 public 的存在--------;
  查看:select * from    user_synonyms  sy  where sy.synonym_name ='A_CODEMAPPING';  --查看私有的同义词,自己看到自己创建的;
  select * from    all_synonyms sy  where sy.synonym_name ='A_CODEMAPPING';  --可以查看到 某某创建的 公共的 同义词
  参看信息中包括,同义词拥有者,表拥有者,是否public的等信息;
  1》同义词 分为私有的 和公共的两种;
  私有的:
  也只有 本用户使用,包括别的用户查不到 用户 “BB” 有这个同义词(这点很重哟奥);
  共有的:
  可以被其它的任何用户使用, 也可以被人家查到,看到这个同义词,当然最重要的也可以被别的用户删除;
  自己在公司遇到这个问题,第一次接触这个  概念 弄的很是揪心,终于研究有些明了了;还有数据导入导出问题,有些问题,在做个简单的例子就能明白,发现栗子 四个好东西,当然最重要的是,遇到问题自己要有信息决心去搞明白的欲望!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-422853-1-1.html 上篇帖子: 如何使用swingbench进行oracle数据库压力测试 下篇帖子: Oracle 删除表中记录 如何释放表及表空间大小
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表