在这里给你举个例子,说明schema和用户名、以及用户下面的表、索引的关系。
一个楼房相当于一个数据库
一个楼房内有2家住户,用户A,用户B。
当用户A进入自己的屋子(schema)后,就可以再自己的屋子里添加桌子(表),椅子(视图),沙发(索引)等。
当然用户B也可以在自己的屋子(schema)里添加不一样的桌子,椅子,沙发。
那么我们知道了A用户和B用户的屋子(schema)是不同的,所以一般我们会直接说A用户或者B用户,这样就能区别他们不同的桌子和椅子,但是严格来说,我们应该说A用户的屋子(schema)和B用户的屋子(schema)不一样。所以说这里面我们一般就说用户A,其实就直接代表了A这个schema。
如果是用该用户登录使用以下语句:
SELECT *
FROM USER_TABLES;
如果是用其他用户(在dba权限下):
SELECT *
FROM ALL_TABLES WHERE OWNER='USER_NAME'
扩展资料:
select * from all_tab_comments -- 查询所有用户的表,视图等。
select * from user_tab_comments -- 查询本用户的表,视图等。
select * from all_col_comments --查询所有用户的表的列版名和权注释。
select * from user_col_comments -- 查询本用户的表的列名和注释。
select * from all_tab_columns --查询所有用户的表的列名等信息。
select * from user_tab_columns --查询本用户的表的列名等信息。
Schema是Oracle中一个重要的概念,很容易跟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.
Schemas and users help database
administrators manage database
security.
2、从定义中可知Schema为数据库对象的集合,为了区分各个集合,认为的给这个集合起个名字,也就是通常在企业管理器的方案下看到的许多类似用户名的节点,节点也就是一个Schema,其包含了各种数据对象:如tables,
views, sequences, stored procedures, synonyms, indexes, clusters, and database
links。
3、Oracle里Schema几乎和user/用户是通用的。Schema是指一组数据库Object
(比如:表,视图,包,序列,等等),而这些Object是属于用户的,
属于一个用户的所有Object就叫Schema。
4、User即Oracle中的用户,是控制权限的,和所有系统的中用户概念类似,用户所持有的是系统的权限及资源;而Schema所涵盖的是各种对象,它包含了表、函数、包等等对象的“所在地”,并不包括对他们的权限控制。
5、举例说明如下:
一个房子里面放满了家具,对这些家具有支配权的是房子的主人(User),而不是房子(Schema)。 你可以也是一个房子的主人(User),拥有自己的房子(Schema)。可以通过alter session的方式进入别人的房子。 这个时候,你可以看到别人房子里的家具(desc)。 如果你没有特别指定的话,你所做的 *** 作都是针对你当前所在房子中的东西。
至于你是否有权限使用(select)、搬动(update)或者拿走(delete)这些家具就看这个房子的主人有没有给你这样的权限了,或者你是整个大厦(DB)的老大(DBA)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)