oracle 10g 的g指的是grid(网格)
分为
- 存储网格 automatic storage management (ASM):可以在所有磁盘中分布数据,创建网格并维护
- 数据库网格 real application cluster (RAC)
- 集成式集群件
- 自动工作量管理
- 对中间层自动发送事件通知
- 应用程序网格 oracle stream :提供一个信息共享的统一框架。可以使得多个数据源同步
- 网格控制 enterprise manager grid control :将硬件节点、数据库和应用程序服务器组合成一个逻辑实体,因而可作为一个单元来管理一组目标。
oracle服务器
- oracle数据库(按内存,逻辑,存储来划分)
- 内存结构
- SGA(系统全局区) 由所有服务器进程和后台进程共享
- database buffer cache:缓存从数据库检索的数据块
- redo log buffer:高速缓存重做信息(用于实例恢复),直到可以将其写入磁盘中存储的物理重做日志文件
- share pool:缓存可在用户间共享的各个结构
- jave pool:用于 Java 虚拟机(JVM) 中特定会话的所有Java 代码和数据
- large pool:是一个可选区域,可为某些大型进程(如 Oracle 备份和恢复操作、I/O 服务器进程)提供大量内存分配
- stream pool:由 Oracle Streams 使用
- PGA(程序全局区):专用于每一个服务器进程或后台进程。每一个进程使用一个 PGA
- 进程结构
- 用户进程:在数据库用户请求连接到 Oracle 服务器时启动
- 服务器进程:可以连接到 Oracle 实例,它在用户建立会话时启动
- 后台进程:在启动 Oracle 实例时启动
- 服务器进程和数据库缓冲区高速缓存:处理某个查询时,Oracle 服务器进程会在数据库缓冲区高速缓存中查找它所需要的所有数据块。如果未在数据库缓冲区高速缓存中找到数据块,服务器进程会从数据文件读取数据块,并在数据库缓冲区高速缓存中添加一个副本。因为对同一数据块的后续请求可能会在内存中找到该数据块,因此,这些请求可能不需要执行物理读操作。
- 已连接:可防止多个会话同时对同一数据块执行写操作。
- 干净:缓冲区现已解除连接,如果没有再次引用当前内容(数据块),则可以考虑立即腾出该缓冲区。此时,不是缓冲区的内容已与磁盘中存储的数据块内容同步,就是缓冲区中包含块的一致读取 (CR) 快照。
- 空闲或未使用:实例刚刚启动,缓冲区为空。此状态与“干净”状态非常相似,不同之处在于缓冲区尚未使用。
- 脏:缓冲区不再处于已连接状态,但是内容(数据块)已更改,DBWn 必须先将内容刷新到磁盘,才能腾出缓冲区。
- oracle数据库(逻辑数据库和物理数据库)
- 物理数据库结构
- control file:包含有关数据库本身的数据
- data file:包含数据库中的用户数据或应用程序数据
- online redo log file :可用来实现数据库实例恢复
- parameter file:用于定义启动实例时如何配置实例
- password file:允许用户远程连接到数据库并执行管理任务
- backup file :用于恢复数据库
- archive log file:使用这些文件和数据库备份可以恢复丢失的数据文件
- trace file :每个服务器和后台进程都可以对关联的跟踪文件执行写操作。如果在进程中检测到内部错误,进程就会将关于错误的信息转储到进程的跟踪文件中。
- alert file :数据库预警日志是按时间顺序列出的消息日志和错误日志
- 逻辑数据库结构
- 表空间:一个数据库划分为多个逻辑单元,成为表空间
- system表空间:必须存在,必须联机,用于核心功能
- sysaux表空间:必须存在,必须联机,用于附加的数据库组件
- 方案:方案是数据库用户拥有的数据库对象的集合。一般而言,方案对象包括应用程序在数据库中创建的任何内容。
- 数据块:一个数据块对应于磁盘上特定字节数的物理数据库空间。
- 区:区是数据块的集合
- 段:段是区的集合
- 数据段
- 索引段
- 还原段
- 临时段
- 实例
- 系统监视器 (SMON):出现故障后,在启动实例时执行崩溃恢复任务
- 进程监视器 (PMON):用户进程失败时执行进程清理任务
- 数据库写进程 (DBWn):将修改后的块从数据库缓冲区高速缓存写入磁盘中的数据文件
- 检查点 (CKPT):通过更新数据库的所有数据文件和控制文件指出最新的检查点
- 日志写进程(LGWR):将重做日志条目写入磁盘
- 归档进程 (ARCn):发生日志切换时将重做日志文件复制到归档存储器