oracle中的Schema简析ITeye - 千亿集团

oracle中的Schema简析ITeye

2019年03月14日14时57分13秒 | 作者: 碧春 | 标签: 用户,能够,不同 | 浏览: 2633


  oracle中的Schema简析
 
  在一个数据库中能够有多个运用的数据表,这些不同运用的表能够放在不同的schema之中,
  一起,每一个schema对应一个用户,不同的运用能够以不同的用户衔接数据库,
  这样,一个大数据库就能够依据运用把其表分开来办理。  www.2cto.com 
 
  不同的schema之间它们没有直接的联系,不同的shcema之间的表能够同名,
  也能够相互引证(但必须有权限),在没有操作其他schema的操作根权下,
  每个用户只能操作它自己的schema下的一切的表。不同的schema下的同名的表,
  能够存入不同的数据(即schema用户自己的数据)。
 
  Oracle里schema简直和user/用户是通用的。schema是指一组数据库object
  (比方:表,视图,包,序列,等等),而这些object是归于用户的,
  归于一个用户的一切object就叫schema。
  假如你运用Oracle的企业办理器Enterprise Manager,你会发现里边的用户就叫schema。
 
  Schema 中文意思是 计划. "计划"仅仅 Oracle 一个分类,不同用户有不同的计划.
  拿 DBA Studio 来说吧,在左面分了四大类:(例程,存储,安全,计划)
  例程: 是办理库的发动...之类的.  www.2cto.com 
  存储: 办理表空间,数据文件之类.
  安全: 就是办理用户(暗码,表空间分配...)
  计划: 有(表,视图,存储进程...),不同用户有不同的案.
  如: 在"计划"- 选你的"用户名"之后,才会呈现用户名相关的表. 
 
  两个不容易了解的概念──user和schema
 
  user是操控权限的,而schema则是一个容器,非一切者假如需求拜访这个容器下的目标
  就需求在目标前面写上schema(owner)的姓名,假如不想写而又没有创立synonym,此刻能够经过alter session set current_schema=schema_name来改动当时session的schema从而在拜访目标时省去schema(owner);终究能否拜访目标仍是要看是否有拜访这个目标的权限而和schema无关。
 
  深化了解user和schema的差异:
 
  user即Oracle中的用户,和一切体系的中用户概念相似,用户所持有的是体系的权限及资源;
 
  而schema所包含的是各种目标,它包含了表、函数、包等等目标的“地点地”,并不包含对他们的权限操控。
 
  比如一个房子,里边放满了家具,对这些家具有支配权的是房子的主人(user),而不是房子(schema)。
 
  你能够也是一个房子的主人(user),具有自己的房子(schema)。能够经过alter session的方法
  进入他人的房子。  www.2cto.com 
 
  这个时分,你能够看到他人房子里的家具(desc)。
 
  假如你没有特别指定的话,你所做的操作都是针对你当时地点房子中的东西。
 
  至于你是否有权限运用(select)、搬动(update)或许拿走(delete)这些家具就看这个房子的
  主人有没有给你这样的权限了,或许你是整个大厦(DB)的老迈(DBA)。
  alter session set schema能够用来替代synonyms。
 
  假如你想调用其他schema的目标(有权限的前提下),但并没有建synonym,
  一起又不想把其他schema姓名放入代码中,就能够首要运用alter session set schema= 其他schema姓名 。
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表千亿集团立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章