数据库逻辑存储结构
1.表空间
可以包含一个或多个数据文件
system(系统表空间)
sysaux(表空间的辅助表空间)
temp(临时表空间)
undotbs1(还原表空间)
users(存储永久用户对象和数据)
2.段
占用存储空间的数据库对象
变段、索引段、回滚段、临时段
3.区
数据库内存储空间的最小分配单位
4.数据块
最小存储单位
块头、表目录、行目录、空闲空间、行数据
数据库物理存储结构
1.数据库物理文件
数据文件:DBF结尾,保存用户应用程序数据和系统内部数据文件
控制文件:CTL,二进制文件很小,记录控制信息如数据库名称、创建数据库的时间戳、组成数据库的各个数据库文件、重做日志文件的存储路径及名称系统的检查点,如果损坏就无法打开数据库
重做日志文件:LOG,存储重做日志文件组存储数据库的重做日志信息,这组重做日志被称为联机重做日志文件,副本被称为归档日志文件
之间的关系
1.数据库实例
系统全局区:
所有用户进程共享的一块内存区域,每个实例都用一个很大的内存结构来缓存数据,这样可以减少磁盘物理I/O次数,提高系统性能
高速数据缓冲区:
为了减少数据库的物理I/O次数
重做日志缓冲区:
共享池:
数据字典缓存、库缓存、服务器结果缓存
2.后台进程
数据库写入进程:
DBWR,负责将SGA内数据库缓冲区的脏数据块写入数据文件
日志写入进程:
LGWR,负责把日志缓冲区内的重做日志写入重做日志文件
归档进程:
ARCH,处于归档模式才可能起到作用
检查点进程:
CKPT,检查点信息写入控制文件和数据文件头部,可保证数据库文件在每个检查点处于同步状态,并将所有已提交事务的数据写入数据文件,恢复时只需恢复最后一个检查点后提交的事务,从而缩短实例恢复所需的时间
进程监视进程:
PMON,负责清理数据库缓冲区缓存
系统监视进程:
SMON,大量系统级的清理工作
3.启动与关闭
用STARTUP命令启动实例,从Close状态直接启动到其他三种任意状态
startup nomount、startup mount、startup open 启动到nomount、mount、open状态
启动以后就不能用此命令改变数据库状态,只能用,alter database命令把数据库改变到下一个状态
alter database mount装载
alter database open打开数据库
shutdown关闭数据库
shutdown normal正常关闭
shutdown transactional事务关闭,无需等待
shutdown immdiate立即关闭,禁止启动新的事务
shutdown abort异常关闭,立即中止数据库实例的方式