日期:2014-05-16 浏览次数:20932 次
?
?
Oracle的体系结构大体上分为两部分:Instance(实例)和Database(数据库)。
?
?
下面介绍几个Oracle重要概念:
Oracle Server(Oracle服务器)
????? Oracle Server又包含两部分:Oracle Instance和Oracle Database(Oracle Server是一个比较大的概念,我们通常说的Oracle服务器就是指的Oracle Server)。
?
?
Oracle Instance(Oracle实例)
????? Oracle Server用于管理数据,数据存储在Oracle Database中,其表现形式为存储在磁盘上的一堆文件,如果要去访问这堆文件,需要有一个媒介------Oracle Instance,Oracle Instance是访问Oracle Database的一种手段。
?????? 一个Oracle Instance对应一个且只能对应一个Oracle Database,而一个Oracle Database可以有多个Instance来访问他,也就是说Oracle Instance和Oracle Database是多对一的方式。一般情况下我们以一台机器上安装Oracle时都是以Instance和Database一对一的方式,但是在Oracle集群(Oracle RAC环境)的情况下他是多个Instance对应一个Database。
?
?
Oracle Instance有两部分组成:
?
Oracle Instance启动时就会启动一些Background Process并且分配内存,Oracle Instance是易于消失的。(相对于数据库文件来说,例如:一断电就没有了)。
?
Oracle数据库Connection & Session
?
Oracle Connection
????? Oracle中的Connection是指一个Oracle的客户端和后台的服务器建立的一个TCP连接,一定是Oracle客户端和后台的进程(Server Process)建立的TCP连接。
?
在Oracle Process中有三种类型:
?
Oracle Session
?
?
????? Connection建立的过程其实就是首先建立TCP连接,Oracle对用户的身份进行认证、进行安全审计等等,当这些都通过后Oracle的Server Process才会允许客户端使用Oracle提供的服务,当Oracle的连接建立起来以后,就意味着开始了一个会话,当连接断开的时候这个回话就消失了。Session是和Connection相辅相成的。Session信息会存储在Oracle的Data Dictionary中。
?
下图为在Linux中启动Oracle Instance
?
输入一个【!】便可以切换到shell中。后续如果想返回sqlplus中输入【exit】即可。
通过Linux命令ps –ef可以查看Oracle进程(Oracle Instance)
?
Oracle Database(Oracle数据库)
?
?
????? Oracle Database其实就是一堆文件,这堆文件是一堆数据,他们是作为一个整体。Oracle Database包含三种基本的核心文件类型Data File、Control File、Redo Log File。
?
?
<