数据库是一个容器。
数据库除了存放数据,还存放各种数据库对象。
数据库对象有:表、索引、视图、存储过程、触发器、函数等对象。
数据库管理系统:DBMS。
Oracle数据库的逻辑结构是由一个或多个表空间组成。
数据库块(Database Block)是数据库使用的I/O最小单元,又称逻辑块或者Oracle块。
一个数据库块对应一个或多个物理块。数据块的大小由参数DB_BLOCK_SIZE确定。
数据库的大小一般定义为2k、4k、8k、16k、32k或者更大。默认Oracle块大小是8k。
Oracle数据库的物理结构。
数据库的物理结构由数据文件、控制文件和重做日志文件组成。
数据文件:是数据存储的仓库。
控制文件:包含维护和验证数据库完整性的必要信息。
联机重做日志文件:包含对数据库所做的更改记录,在发生故障时能够恢复数据。
口令文件:用户通过提交用户名和口令来建立会话。
数据文件 后缀名:DBF
控制文件 后缀名:CTL
重做日志文件 后缀名:LOG
Oracle数据库逻辑结构和物理结构的对应关系:
Oracle数据库的实例结构:
Oracle数据库由实例和数据库组成。
Oracle的内存架构包括:系统全局区(SGA)和程序全局区(PGA)
系统全局区(SGA):由操作系统提供的共享内存。SGA在实例启动时分配,在关闭时释放。
程序全局区(PGA):为每个用户连接到Oracle数据库单独分配的内存。当进程创建时分配,进程结束时回收,只能被一个进程使用。
实例由内存和后台进程组成。实例暂存在于RAM和CPU中。当关闭运行的实例时,实例消失。
数据库由磁盘上的物理文件组成,不管在运行状态还是停止状态,这些文件一直存在。
数据库缓冲区是Oracle用来执行SQL语句的工作区域。
在更新数据时,用户会话不会直接更新磁盘上的数据,而是首先复制到数据库缓冲区缓冲。
在查询数据时,数据也要经过缓冲,会话计算出哪些块包含关键的块,然后将他们复制到数据缓冲区缓存。
数据操纵语言(DML):以insert、update、delete三种指令为核心。(插入、更新、删除)。增删改。
Java池:只有当应用程序需要在数据库中运行java存储程序时,才需要java池。
Oracle数据库部署环境
1.独立DBMS服务器-独立数据库
User(应用程序)和数据库是一对一的独立关系。
2.共享DBMS服务器-独立数据库
一个数据库,数据库中多个数据库实例。应用程序分别对应相应的数据库实例。
3.共享DBMS服务器-共享数据库
4.集群DBMS数据库-共享数据库