Oracle体系结构之-数据库、表空间、实例简介
一、数据库
数据库顾名思义是数据的集合,而Oracle则是管理这些数据集合的软件系统,它是一个对象关系型的数据库管理系统。
二、表空间
表空间是Oracle对物理数据库上相关数据的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为system表空间)。
每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间。
数据库、表空间、数据文件的关系如下图所示(图片和部分文本引自《Oracle9i 概念手册》)
从上面这副图可以看出以下几点:
·每一个数据库都从逻辑上被划分成一个或多个的表空间
·每一个表空间由一到多个的数据文件构成
·每一个表空间的存储大小等于其所有数据文件的大小之和
·每一个数据库的存储大小等于其所有表空间的大小之和
三、实例
每一个运行中的数据库都对应着一个Oracle实例。当服务器上的Oracle数据库启动时,Oracle首先会在内存中分配一片区域-称之为System Global Area(SGA),然后启动一个或多个的Oracle进程。
SGA和这些进程合起来就称为一个Oracle的实例。实例中的内存和进程管理器用来高效地访问数据库的数据,同时为单个或多个的用户提供服务。
一个数据库可以由多个实例打开,但任何时刻一个实例只能打开一个数据库。多个实例可以同时运行在同一个机器上,它们彼此访问各自独立的物理数据库。
数据库实例的示意图如下:(图片和部分文本引自《Oracle9i 概念手册》)
当实例启动之后,Oracle会把这个实例以及其对应的物理数据库关联起来,这个过程称为“加载”(Mounting)。这个时候数据库将处于准备打开的状态,数据库在打开之后只有管理员才能够将其关闭,普通用户是无权关闭数据库的。
相关文档:
之前在项目中用到的分页都是假分页,也就是先从数据库中把所有的数据都查询出来然后在绑定时进行分页。这是一种假分页,效率较低,前几天听其他项目组说他们要使用数据库的存储过程来实现分页,感觉很疑惑,难道使用数据库还可以实现分页功能?闲来无事,就从网上搜了搜资料,果然,在oracl ......
Oracle学习:分区表和索引
http://tech.it168.com/a2009/0609/585/000000585998.shtml
什么时候使用分区:
1、 大数据量的表,比如大于2GB。一方面2GB文件对于32位os是一个上限,另外备份时间长。
2、 包括历史数据的表,比如最新的数据放入到最新的分区中。典型的例子:历史表,只有当前月份的数据可以被修改, ......
Oracle Database 11g A Beginner's Guide
Oracle Database 11g SQL
Oracle Database 11g SQL: Tuning Work Shop
Oracle Database 11g SQL: Tuning Work Shop Practices and Solutions
Oracle Essentials: Oracle D ......
《Oracle大型数据库系统在AIX/UNIX上的实战详解》集中讨论的继续。 做了一周关于Oracle在32位windows上实施的培训,恰好期间有几位Oracle用户邮件询问关于Windows系统调整问题。正好吧,把准备的一些内容共享出来。 如果Oracle使用大于1.7的内存,需要一些特写的设置。参见下面来自metalink的论点: Large page support ......