oracle数据库组成部分?

oracle数据库组成部分?,第1张

ORACLE由两部分:实例和数据

实例由以下组成: SGA,Shared pool,Database buffer cache,Redo log buffer cache.

数据库由物理文件组成,其中必须有的文件是:数据文件,控制文件,重做日志

另外还有:参数文件,口令文件,归档日志文件(这三个不是必须的)

ORACLE SERVER 由两个部分组成,

1.INSTANCE:又由内存结构和后台进程组成

2.DATABASE:又由数据文件,日志文件和控制文件组成<这三个文件是必需的>.

CONTROL FILE是用来连接实例和DATABASE的

SQL>SHUTDOWN IMMEDIATE

SQL>STARTUP NOMOUNT

SQL>ALTER DATABASE MOUNT

以上三个过程就是通过CONTROL FILE来连接实例和数据库.

SQL>ALTER DATABASE OPEN

在OPEN的过程对DATABASE的数据文件和重做日志文件进行一次性的验证,验证它们的状态.

ORACLE INSTANCE:存取数据库的一个手段

一个DATABASE与INSTANCE之间是1:N的关系,一个INSTANCE只能 *** 作一个DATABASE,由内存结构(共享池,

BUFFER CACHE,REDO LOG BUFFER CACHE)及相应的进程结构组成(PMON<程序监控进程>,SMON<系统监控进

程>,CKPT<检查点进程>)

SQL>SHOW SGA ---显示DATABASE内存结构信息

SQL>SET WRAP OFF

SQL>SET LINESIZE 200

以上这两个是设置行宽

SQL>SELECT * FROM V$BGPROCESS

将看到在这个系统中所有可能使用到的进程,其中PADDR并不每个进程都分配到有效的地址,即并不是每个进程都是必须的.

SQL>SELECT * FROM V$BGPROCESS WHERE PADDR<>\'00\'

将显示所有必需的进程.

ESTABLISHING A CONNECTION AND CREATING A SESSION

连接到ORACLE实例包括建立一个用户连接及创建会话.

ORACLE MEMORY STRUCTURE (内存结构)

由两部分组成:

1.SGA

SGA是动态的,其最大值由SGA_MAX_SIZE指定,SGA的内存由SGA COMPONENTS来动态调整.

2.PGA 是不共享的,即其包含的信息是不一样的,有两个可享的内存可以由SGA配置

<1>LARGE POOL

<2>JAVA POOL

SQL>SHOW PARAMETER SHARED

SQL>SHOW PARAMETER DB_CACHE

SQL>SHOW PARAMETER LOG

以上三个命令是用于查看相关内存信息

SQL>ALTER SYSTEM SET DB_CACHE_SIZE=20M

所有内存大小总和不能大于SGA_MAX_SIZE的值,当提示信息出现?号或乱码时,是由于系统的语言问题.

可以通过ALTER SESSION SET NLS_LANGUAGE=\'AMERICAN\'或ALTER SESSION SET NLS_LANGUAGE=\"SIMPLE

[Page]

CHINESE\"

SHARED POOL (共享池)

含:<1>LIBRARY CACHE 库缓存

<2>DATA DICTIONARY CACHE 数据字典缓存,有的地方又称行CACHE,由SHARED_POOL_SIZE指定大小.

SQL>ALTER SYSTEM SET SHARED_POOL_SIZE=64M

LIBRARY CACHE 主要为提高代码的共享,存储的是最近使用的SQL和PL/SQL代码.

<1>.用最近最少使用(LRU)算法

<2>.包括两个结构 1:共享SQL代码 2:共享PL/SQL代码

<3>.不可直接定义,而由SHARED POOL SIZE决定.

DATA DICTONARY CACHE.

执行此命令的过程是:首先确认是否存在AUTHORS,,然后确认字段存不存在,再检查语法,最后验证权限,而

这些信息就属于DATA DICTIONARY CACHE的内容.其包含的信息有:DATABASE FILES,表,索引,字段,用户,

权限和其他数据库对象.

物理结构,即Oracle数据库使用的 *** 作系统文件结构。

对于数据库物理结构文件,不同的oracle版本,不同的 *** 作系统平台上有不同的存储目录结构.

数据库的物理结构文件按其作用可以分为三类:

数据文件

日志文件

控制文件

一、数据文件

数据文件用来存储数据库的数据,如表、索引等。读取数据时,系统首先从数据库文件中读取数据,并存储到SGA的数据缓冲区中。

二、重做日志文件

重做日志文件记录对数据库的所有修改信息。它是三类文件中最复杂的一类文件,也是保证数据库安全与数据库备份与恢复有直接关系的文件。

三、控制文件

控制文件是一个二进制文件,用来描述数据库的物理结构,一个数据库只需要一个控制文件,控制文件的内容包括:

数据库名及数据库唯一标识

数据文件和日志文件标识

数据库恢复所需的同步信息,即检查点号

.

Oracle数据库的体系结构包括四个方面:数据库的物理结构、逻辑结构、内存结构及进程。

一 物理结构

数据文件 ORACLE数据库包含若干数据文件 数据文件存储数据库数据 包括表 索引等等 数据文件的几个特点

)一个数据文件只允许分配给一个数据库

)数据文件可设置为自动扩展

)一个或多个数据文件构成表空间

在进行数据库 *** 作的时候 数据库先从内存寻找要 *** 作的数据 如果没有找到的话 再从数据文件取出数据放在内存中 然后才对内存中的数据进行相关的 *** 作 *** 作完的数据并没有立即写到数据文件中(这样减少了磁盘的IO) 而是放在内存中 然后由DBWn进程决定何时批量写入数据文件

控制文件 每一个数据库都有一个或多个控制文件 控制文件包含了数据库的物理结构 包括

)数据库名

)数据文件名及位置

)重做日志文件名及位置

)数据库的建立时间等等

一般一个数据库都有若干个控制文件镜像 数据库在打开的时候(ALTER

DATABASE OPEN) 会读取控制文件中的信息来打开数据库 当数据库的物理结构发生变化的时候 比如增加一个数据文件 一组重做日志等等 控制文件都会自动地做相应的修改 在数据库物理结构发生变化后 最好重新备份一下控制文件 用于数据库恢复

重做日志文件 重做日志中记录了数据的变化 一般一个数据库都会有两到三组重做日志文件 同一日志组的镜像最好分布于不同的磁盘上

归档日志 当数据库启动归档的时候 重做日志会被自动归档到指定的位置

初始化参数文件 包含了数据库启动时的配置信息

警告和跟踪日志文件

)跟踪文件 每一个后台进程都有一个单独的跟踪文件 比如当系统发现某一个进程有问题的时候 相关的信息就会写到相应的跟踪文件中 可以从数据库的跟踪文件来发现和调试数据库的错误

)警告文件 也叫警告日志 是一个特别的跟踪文件 它记录着数据库启动 运行中的相关信息 它是按时间顺序进行记录的

备份文件

二 逻辑结构

表空间 相关逻辑对象的集合 在oracle g中 在创建数据库的时候就自动创建了SYSTEM和SYSAUX表空间

数据块 数据存储在数据块中 一个数据块的大小(DB_BLOCK_SIZE)由 *** 作系统块来决定 可以指定 种 分别为 K K K K K

区 一系列连续的数据块组成区 区存储特定类型的数据 比如索引 表等等

段 由一系列区组成段

)数据段 对于每一个非聚集表有一数据段 表的所有数据存放在该段 每一聚集有一个数据段 聚集中每一个表的数据存储在该段中 分区表中的每一个分区有一个数据段 分区中的数据存储在该段中

)索引段 每一个索引有一索引段 存储索引数据 分区索引中的每一分区有一个索引段

)回滚段 用于临时存储要撤消的信息 这些信息用于生成读一致性数据库信息 在数据库恢复时使用 回滚未提交的事务 系统回滚段用于处理系统事务 不建议用户使用系统回滚段来做其它 *** 作

lishixinzhi/Article/program/Oracle/201311/17699


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9891964.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存