到目前为止,接触Oracle已经将近2年了,但是总也没有好好的总结过这些东西,今天闲下来了,从头到尾捋一捋,写一写,如果能真正写下来,那么这个印象可就更加深刻了。。。
学习一门技能,你首先应该搞清楚它的架构,了解到它的架构,懂得它的组成、工作过程、原理,你学习起来才能更简单些。如下图所示就是Oracle体系架构
学习Oracle数据库,你首先应该清楚它的两个比较重要的概念:
- 实例(Instance):是由内存结构和后台进程组成的,每次实例启动时,会分配一个称为SGA(System Global Area)的共享内存区域,启动后台进程。
- 数据库:数据库是由物理结构和逻辑结构构成。物理结构是:比较实际的东西,看得见的,如:数据文件、控制文件、日志文件、参数文件和归档日志文件等,逻辑结构是:描述Oracle内部组织和管理数据的方式,说起来可能你感觉你比较抽象,哈哈哈,但是你映射到表空间、数据段、数据区、数据块等,差不多就能理解了~
实例和数据库,这两个是如何相辅相成的呢?
实例是用来管理和控制数据库的,而数据库是用来存储数据的,这些数据就是为实例准备的,一个数据库可以被一个或多个实例打开,但是一个实例的运行时期只能打开一个数据库。我们常见的单机数据库,就是一个实例