ORACLE中 schema 和 user 区别

1) 定义:

 a schema is a collection of database objects (used by a user)   Schema objects are the logical structures that directly refer to the database's data.

 a user is a name defined in the database that can connect to and access objects.  

2)    关系:

oracle 中  一个用户  有一个缺省的 schema,其schema 名 就等于 用户名。

如 用户user1访问表:

select *  from  user1.emp    ---------访问user1 的schema集合中的对象emp

select * from  emp   -----------------不加集合名,默认访问自己的schema 集合的emp,即 user1 的 emp

select * from user2.emp   --------访问 user2的schema集合的对象 emp

3) 比喻

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名字>。

转载于:https://www.cnblogs.com/sunxiangfu/p/4261046.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值