oracle 数据库学习 基本结构介绍

所属分类: 数据库 / oracle 阅读数: 56
收藏 0 赞 0 分享

普及一下oracle的基础知识,总结一下,oracle 是由实例和数据库组成。结构如下:

oracle数据库由实例、数据库组成:

* 数据库由数据文件(包含oracle 数据、索引、表结构等数据)、控制文件(包括每个表的操作信息)、日志文件(数据操作sql语句)、参数文件、口令文件、日志归档文件(归档模式下)(服务器崩溃、硬盘损坏情况下,通过日志恢复时用)

* 实例由 内存结构(memory strutct) 和 后台进程(background processor)组成。

内存结构组成:

* PGA: Processor Global Area 程序全局区 ,每一个客户端接入到oracle 服务器都有一个PGA,用于保存该客户单的相关信息

* SGA: System Global Area 系统全局区,主要是给oracle实例使用,包括 shared pool 、 data buffer area , redo log buffer .

共享池(shared pool):

* 包括library cache 、data directory cache 组成,其中 library cache 主要保存最近的sql 检查、编译、执行计划, 下次有同样语句过来的时候,可以重用这些,避免重复的检查编译执行计划。 data directory cache 主要保存数据库数据表的字段定义、索引数据等, shared pool 的大小直接影响到数据库的性能。

data buffer area : 主要保存用户对数据的修改,查询操作。该内存区域的大小直接影响数据库的性能。

redo log buffer area: 主要保存最近用户对数据库的操作记录,该大小对数据库性能没有多大影响

oracle 必须要的后台进程包括:PMON 、 SMON 、 DBWR、 LOGWR、 CKPT、其他,每个作用如下:

*PMON 监控PGA的健康情况,释放已经死去的PGA,回收资源,管理PGA的生命周期

*SMON 监控SGA的健康情况,收集SGA碎片内存,监控实例健康情况

*DBWR 维护data buffer area 和物理表数据的一致性

*LGWR 维护redo log buffer area 内存数据和日志文件的一致性

*CKPT 设置检查点,在oracle 实例出现问题的时候,可以恢复到实例失败前的情况。

oracle 内存结构有 块、区、段、表空间组成,块是oracle 在内存中的最小结构, 区、段、 表空间是oracle 依次向上的内存结构。快的太小数据管理麻烦,太大,数据碎片比较多。具体情况具体分析。

表空间是oracle最大的逻辑单位,一个表空间只能属于一个数据库,一个数据库可以包含多个表空间,但默认包含一个system的表空间。创建表空间的语法:

复制代码 代码如下:

CREATE TABLESPACE name
DATAFILE path [SIZE interger M|K]
LOGFILE path
[AUTOEXTEND ON | OFF]

客户端链接服务器配置:

以后补充

更多精彩内容其他人还在看

ORACLE中如何找到未提交事务的SQL语句详解

这篇文章主要给大家介绍了关于ORACLE中如何找到未提交事务的SQL语句,文中通过示例代码介绍的非常详细,对大家学习或者使用ORACLE具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Oracle分组函数之ROLLUP的基本用法

这篇文章主要给大家介绍了关于Oracle分组函数之ROLLUP的基本用法,文中通过示例代码介绍的非常详细,对大家学习或者使用Oracle数据库具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Oracle表空间设置和管理浅析

这篇文章主要给大家介绍了关于Oracle表空间设置和管理的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Oracle使用MyBatis中RowBounds实现分页查询功能

这篇文章主要介绍了Oracle使用MyBatis中RowBounds实现分页查询 ,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Oracle自定义脱敏函数的代码详解

这篇文章主要介绍了Oracle自定义脱敏函数的实例代码,代码简单易懂,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
收藏 0 赞 0 分享

oracle查询截至到当前日期月份所在年份的所有月份

这篇文章主要介绍了oracle查询截至到当前日期月份所在年份的所有月份,本文通过代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
收藏 0 赞 0 分享

oracle数据库导入.dmp脚本的sql 语句

这篇文章主要介绍了oracle数据库导入.dmp脚本的sql语句,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
收藏 0 赞 0 分享

oracle通过1条语句插入多个值的方法示例

这篇文章主要给大家介绍了关于oracle通过1条语句插入多个值的方法,文中通过示例代码介绍的非常详细,对大家学习或者使用oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

oracle导入导出表时因一个分号引发的惨案

这篇文章主要给大家介绍了关于oracle导入导出表时因一个分号引发的惨案,文中通过示例代码介绍的非常详细,对大家学习或者使用oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Oracle创建设置查询权限用户的方法

这篇文章主要给大家介绍了关于Oracle创建设置查询权限用户的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享
查看更多