Oracle体系结构理解(1)

页面导航:首页 > 数据库 > oracle > Oracle体系结构理解(1)

Oracle体系结构理解(1)

来源: 作者: 时间:2016-01-20 09:41 【

数据库与实例数据库(database):物理操作系统文件或者磁盘的集合。使用Oracle的ASM(自动存储管理)时,或者在使用RAW分区时,数据库可能不作为文件系统中单独的文件,但是定义仍然
与实例
 
数据库(database):物理操作系统文件或者磁盘的集合。使用的ASM(自动存储管理)时,或者在使用RAW分区时,数据库可能不作为文件中单独的文件,但是定义仍然不变。
 
注:ASM在我第一次接触的时候,暂时被解释为和LVM具有相似功能的管理机制。
 
实例(instance):一组Oracle后台进程(与Unix下)以及一个共享内存区(内存结构),就算没有磁盘存储,实例也可以存在。
 
注:数据库可以由多个实例装载和打开,而实例可以在任何时间点转载和打开仅仅一个数据库。也就是说,在同一个时间,通过当前实例仅仅可以访问一个数据库并进行交互。
 
当我们执行一个仅软件安装的数据库的操作,并不包括“启动”数据库的行为的时候,除软件之外什么都没有。
 
此时$ORACLE_HOME/dbs目录(oracle的工作目录)下没有任何文件,我们使用ls -l查看会发现一下信息:
 
Total 0
 
其中不存在init.ora文件(parameter file 参数文件),此时通过ps命令也不会发现任何关于oracle的进程(除了grep oracle操作出现的oracle关键字之外),如果建库执行dbca创建数据库后,执行sqlplus / as sysdba,作为sysdba不使用用户密码认证访问$ORACLE_SID所指定的实例名后,会生成init.ora的参数文件。
 
   在访问数据库后,系统上执行ps aux就会发现许多进程,他们是以ora_开头的,包括smon(系统监控),ckpt(检查点),pmon(进程监控)等进程。
 
注:一个实例在其生存期中最多只能装载和打开一个实例,如果关闭数据库(alter close database;),那么则生存周期完毕(回收内存空间,结束相关进程),如果再想打开一个数据库,那么需要丢弃该实例,创建一个新的实例(尝试shutdown关闭实例后再startup再开启相当于重新建立实例,可以打开数据库)。
 
这里就是Oracle的instance与database概念的划分。
Tags: