博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ORACLE中 schema 和 user 区别
阅读量:6681 次
发布时间:2019-06-25

本文共 1025 字,大约阅读时间需要 3 分钟。

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

你可能感兴趣的文章
http状态码
查看>>
好记性不如烂笔杆-android学习笔记<十五> GridView简单用法
查看>>
最短路径
查看>>
表格相关技巧(双击启动事件、取得行号、定义表格的读写属性)
查看>>
ubuntu server vsftpd 虚拟用户及目录
查看>>
GCD多线程使用
查看>>
[转载] 格式化字符串漏洞原理介绍
查看>>
python小项目之微信远程控制
查看>>
Mysql本地安装多实例后启动遇到的问题
查看>>
用 RPM 打包软件,第 1 部分
查看>>
POJ题目(转)
查看>>
js使用闭包时,内部函数是直接访问外部函数的实际变量而非复制一份新变量...
查看>>
P3622 [APIO2007]动物园
查看>>
HBase原理和设计
查看>>
map通过value获取对应key
查看>>
第三篇第九章火灾自动报警系统
查看>>
day24 异常处理
查看>>
day28 classmethod 装饰器
查看>>
python_面向对象魔法方法指南
查看>>
jquery 实现弹出框 打开与关闭
查看>>