知识大全 user和schema的区别和联系

Posted

篇首语:黑暗带来恐惧。知识可以点亮你,驱逐恐惧。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 user和schema的区别和联系相关的知识,希望对你有一定的参考价值。

ORACLE中的两个概念:user和schema的区别和联系  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  今天重读ORACLE官方文档《concepts》 读到schema的基本概念 对它的理解更进一层 官方文档中关于schema是这样解释的

   A schema is a collection of database objects A schema is owned by a database user and has the same name as that user Schema objects are the logical structures that directly refer to the database s data Schema objects include structures like tables views and indexes (There is no relationship beeen a tablespace and a schema Objects in the same schema can be in different tablespaces and a tablespace can hold objects from different schemas )

  官方文档里面说得比较明白 schema是数据对象的集合 包括像表 视图 索引 同义词等等都可以说是schema的对象 但不够生动 网上有篇文章里面把schema和user的关系用一个形象的比喻阐述得非常透彻 引用如下

   user即Oracle中的用户 和所有系统的中用户概念类似 用户所持有的是系统的权限及资源 而schema所涵盖的是各种对象 它包含了表 函数 包等等对象的 所在地 并不包括对他们的权限控制 好比一个房子 里面放满了家具 对这些家具有支配权的是房子的主人(user) 而不是房子(schema) 你可以也是一个房子的主人(user) 拥有自己的房子(schema) 可以通过alter session的方式进入别人的房子 如果你没有特别指定的话 你所做的操作都是针对你当前所在房子中的东西 至于你是否有权限使用(select) 搬动(update)或者拿走(delete)这些家具就看这个房子的主人有没有给你这样的权限了 或者你是整个大厦(DB)的老大(DBA) alter session set schema可以用来代替synonyms 如果你想调用其他schema的对象(有权限的前提下) 但并没有建synonym 同时又不想把其他 schema名字放入代码中 就可以首先使用alter session set schema=<其他schema名字>

  这段文字说得非常生动 把user和schema的区别阐述得很透彻 下面通过具体的例子来加深对user和schema两者区别的认识

  第一步 以sys用户登陆SQL并建立普通用户storm和penguin

  $ sqlplus / as sysdba

  SQL> create user storm identified by storm;

  User created

  SQL> create user penguin identified by penguin;

  User created

  第二步 赋予一些基本的权限给新建的用户storm和penguin

  SQL> grant connect create table resource to storm penguin;

  Grant succeeded

  第三步 以storm用户登陆 创建一张表并插入数据

  SQL> conn storm/storm

  Connected

  SQL> create table t (id int);

  Table created

  SQL> insert into t values( );

   row created

  SQL> mit;

  Commit plete

  第四步 以penguin用户登陆 看能否查询storm用户所建表里面的数据

  SQL> conn penguin/penguin

  Connected

  SQL> select table_name from user_tables;

  no rows selected

  SQL> show user;

  USER is PENGUIN

  SQL> select * from storm t;

  select * from storm t

  *

  ERROR at line :

  ORA : table or view does not exist

  从以上结果可以看出 用户 penguin无法查看用户storm所建表里面的内容 甚至被告知没有这张表

  第五步 修改当前schema为storm 并继续查询

  SQL> alter session set current_schema=storm;

  Session altered

  SQL> show user;

  USER is PENGUIN

  SQL> select * from storm t;

  select * from storm t

  *

  ERROR at line :

  ORA : table or view does not exist

  仍然不能查看

  第六步 以storm用户登陆 赋予penguin用户查看t表的权限

  SQL> conn storm/storm

  Connected

  SQL> grant select on t to penguin;

  Grant succeeded

  第七步 以penguin用户登陆 查看storm用户的t表

  SQL> conn penguin/penguin

  Connected

  SQL> select * from storm t;

  ID

  

  

  更简单的 将当前schema更改为storm 可以简化查询过程

  SQL> alter session set current_schema=storm;

  Session altered

  SQL> select * from t;

  ID

  

  

cha138/Article/program/Oracle/201311/18195

相关参考

突发事件、灾难、紧急事件和冲突的联系和区别

简单阐述了突发事件和灾难、紧急事件的联系和区别,详细阐述了突发事件和冲突的联系和区别。突发事件与灾难《现代汉语词典》将“灾难”界定为:天灾人祸所造成的严重损害和痛苦。广义地说,

知识大全 出纳和会计有哪些区别与联系

出纳和会计有哪些区别与联系出纳一般与钱打交道,会计一般和账与数据打交道。出纳做账也只做现金和银行账,会计要核算公司各个方面的账务。会计与出纳的区别和联系出纳是会计的一个岗位主要负责现金和银行存款的收支

知识大全 感情和爱情的区别和联系

感情和爱情的区别和联系亲情、爱情、友情,都和感情有关联,都只占了其中一的一小部分。起初是友情、变爱情、再到亲情。很多人都是如此的,人和人不同 所以理解的方式也会不一样。我们说的不一定会适合你!而爱情只

知识大全 webservice和软件接口有什么区别和联系吗

webservice和软件接口有什么区别和联系吗?webservice(SOAP)与HTTP接口的区别什么是webservice?soap请求是HTTPPOST的一个专用版本,遵循一种特殊的xml消息

财产保险学与相近学科的联系和区别

财产保险学与相近学科的联系和区别1.财产保险学与保险学原理的联系和区别。保险学原理是以保险的风险集中与分散的运动规律即保险的一般矛盾为研究对象,财产保险学则以财产保险的风险集中与分散的运动规律即保险的

突发事件与事故的联系和区别

突发事件与事故的联系和区别“事故”在英文中对应的词是“accident”,意思是未曾预料、不希望发生的意外事件、偶然事件、机会事件或附带事件。《辞海》中

突发事件与事故的联系和区别

突发事件与事故的联系和区别“事故”在英文中对应的词是“accident”,意思是未曾预料、不希望发生的意外事件、偶然事件、机会事件或附带事件。《辞海》中

突发事件与风险的联系和区别

突发事件与风险的联系和区别,简单描述了风险的特性。词典对风险的界定是“可能发生的危险”,或“遭受损失、伤害、不利或毁灭的可能性”。风险管理的经典著作《R

突发事件与风险的联系和区别

突发事件与风险的联系和区别,简单描述了风险的特性。词典对风险的界定是“可能发生的危险”,或“遭受损失、伤害、不利或毁灭的可能性”。风险管理的经典著作《R

知识大全 请你简述要论述自信,自立,自强三者的区别和联系

请你简述要论述自信,自立,自强三者的区别和联系,“自信”、“自立”、“自强”三者的区别和联系是什么?所谓自信,就是要树立自信心,相信自己是有能力的,完全能够同其他人一样参与社会生活,创造社会财富,为社