日期:2014-05-17  浏览次数:20822 次

新人,搞不清楚数据库,表空间,用户之间的关系
俺刚学oracle,但也只是因为工作上的需要学的,因为没有基础的书籍,所以现在对这些概念有些模糊。
1.数据库由什么组成,实例与数据库是什么关系?还有表空间又是什么概念
2.是不是每个数据库都有sys等dba用户,而且只能管理到所属的数据库
3.一般的用户,我是指create user语句产生的用户生成之后它是否只属于创建它的数据库,这样的话是不是说用户就只能访问该数据库,没办法访问别的数据库,除非用dblink
差不多问题就这么多吧,请高手们来帮忙解释解释

------解决方案--------------------
1.数据库是一些文件的集合(数据文件、控制文件、日志文件),实例是计算机运行的一些进程和内存。
表空间是物理数据,供用户(user)来使用的。
2.dba是角色,一般为sys用户才具有。一般用户只能管理自已用户下的东西,特别授权的除外。
3.对的,别的用户也可以查看其它用户或直接引用其它用户下的东西,但需要授权限(grant)。如查看不用户下的表可以使用同义词等。


引用楼主 holly2k 的帖子:
俺刚学oracle,但也只是因为工作上的需要学的,因为没有基础的书籍,所以现在对这些概念有些模糊。
1.数据库由什么组成,实例与数据库是什么关系?还有表空间又是什么概念
2.是不是每个数据库都有sys等dba用户,而且只能管理到所属的数据库
3.一般的用户,我是指create user语句产生的用户生成之后它是否只属于创建它的数据库,这样的话是不是说用户就只能访问该数据库,没办法访问别的数据库,除非用dblink
差不多问题就…

------解决方案--------------------
一个数据库可以有多个实例,
解释数据库、表空间、数据文件、表、数据的最好办法就是想象一个装满东西的柜子。数据库其实就是柜子,柜中的抽屉是表空间,抽屉中的文件夹是数据文件,文件夹中的纸是表,写在纸上的信息就是数据。
2、应该说每个实例都有sys用户。
sys用户管理本实例。
3、对。必须建dblink
oracle的数据库跟sql的数据库不一样,概念不同。