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

oracle实例、表空间、用户、库的问题

大家好,以前sqlserver,初学Oracle,

望大家多多指教。

如题:

oracle实例、表空间、用户、库的问题

它们到底是什么关系呢


希望路过的顺道帮个小忙

此外 来个例子

比如我装个10g,然后实例选orcl,密码asd

然后我 sqlplus  system/asd@orcl 是什么意思呢

然后创建表空间 

create tablespace tab_aaa

然后建立用户 

CREATE USER aaaproperty IDENTIFIED BY 123 DEFAULT TABLESPACE
tab_aaa TEMPORARY TABLESPACE TEMP;


然后导入库


imp userid=system/asd@orcl fromuser=aaaproperty touser=aaaproperty file=D:\temp\dmp\aaaproperty.dmp tablespaces=tab_aaa rows=y


ps:希望结合例子说明他们的关系,或者不结合例子也行。

小弟初学,对这些有点茫然,网上说法纷纭,望高人指点迷津。







------最佳解决方案--------------------
Oracle 数据库、实例、用户、表空间、表之间的关系

数据库:
Oracle数据库是数据的物理存储。这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是Oracle就只有一个大数据库。

实例:  
一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。一个数据库可以有n个实例。

用户:
用户是在实例下建立的。不同实例可以建相同名字的用户。

表空间:
        表空间是一个用来管理数据存储逻辑概念,表空间只是和数据文件(ORA或者DBF文件)发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。

数据文件(dbf、ora):
        数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真正是在某一个或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。

注:     表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。

由于oracle的数据库不是普通的概念,oracle是有用户和表空间对数据进行管理和存放的。但是表不是有表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!

------其他解决方案--------------------
感谢楼上详尽的回复,一目了然。

小弟追加几个问题:

系统账户都有哪些

他们在整个体系里是怎样的 

比如system  sys  之类
------其他解决方案--------------------
此外,创建用户的时候,必须要指定表空间吗?  

如果指定了表空间, 用户想在表空间里面建立一个 a.dbf 数据文件,该如何?

在哪个实例下操作 是不是 登陆的时候就指定了 ?@orcl 实例

另外,都要在system下进行操作吗 ,以上 ?

其它账户可不可以?该如何实现呢


---------------

真是问题一大堆啊,不过这也是我的疑惑,望懂行的人
解惑,谢谢。
------其他解决方案--------------------
null