oracle 10g 体系结构

oracle 10g 体系结构

    完整的oracle数据库包括数据库db数据库管理系统dbms两大部分,这两个部分分别对应的时存储网络结构和软件结构

    oracle网络结构:单层结构(服务器,哑终端)特点是使用基于字符的非图形终端设备直接串行地连接到oracle数据库。所有的智能和处理都发生再大型机上。单层结构的配置和管理较方便,也不存在多操作系统的复杂性问题。单层结构在可缩放性和灵活性方面有些限制,大型机的性能决定了整个系统的性能。

    双层结构:特点是客户机具有图形用户界面,易于理解,学习,操作,客户机具有只能,可进行处理,减轻了对服务器性能的需求。(c/s结构,服务器,只能客户机)

    n层结构:它在客户机和数据库服务器之间引进了中间件,如应用服务器或web服务器。

工作原理,包括数据库系统处理过程和体系结构两方面

   建立连接,在连接的基础上,为用户建立会话session,并为该会话创建一个pga区(程序全局区)以存储与该会话相关的信息。在同一个连接中,不同的用户有不同的会话。启动服务进程,由该服务进程负责执行该会话的各项任务

总体结构:

 

    进程结构:包括前台进程,后台进程。前台进程是指服务进程和用户进程,前台进程是根据实际需要而运行的,并在需要结束后立刻结束,后台进程是指在oracle数据库启动后,自动启动的几个操作系统进程。

    存储结构:包括控制文件,数据文件,日志文件等操作系统文件

    oracle数据库的存储结构分为逻辑存储结构和物理存储结构,这两种结构即相互独立又相互联系

     逻辑存储结构主要描述oracle数据库的内部存储结构,即从技术概念上描述在oracle数据库中如何组织,管理数据。因此,逻辑存储结构是和操作系统平台无关的,是由oracle数据库创建和管理的。

    物理存储结构主要描述oracle数据库的外部存储结构,即在操作系统中如何组织,管理数据,因此物理存储结构是和操作系统平台有关的,物理存储结构是逻辑存储机构在物理上的,可见的,可操作的,具体的实现形式。物理存储结构对应的操作系统文件存储在磁盘上。

从物理上看,数据库是由控制文件,数据文件,重做日志文件等操作系统文件组成;从逻辑上看,数据库是由系统表空间,用户表空间等表空间组成的。表空间是最大的逻辑单位,块是最小的逻辑单位。逻辑存储结构中的块最后对应到操作系统中的块。

   逻辑存储结构:

   逻辑存储结构包括表空间,段,区,数据块。

    表空间是最大的逻辑单位,一个数据库可以有多个表空间,一个表空间可以包含多个数据文件。任何方案对象都被存储在表空间的数据文件中,虽然不能存储在多个表空间,但可以存储在多个数据文件中。

    分为系统表空间和非系统表空间(sysem,sysaux,)

    段:用户存储表空间中某一种特定的具有独立存储结构的对象的所有数据,它由一个或多个区组成。按照段中所存储的数据的特征和用途的不同可以分为表段(数据段),索引段,临时段,回滚段。

    数据段:存储表中所有数据。当某个用户创建表时,就会在该用户的默认表空间中为该表分配一个与表名相同的数据段,以便将来存储该表的所有数据,如果创建的是分区表,则为每个分区分配一个数据段。显然一个表空间中创建了几个表,该表空间中就由几个数据段。数据段随着数据的增加和逐渐增大。段的增大过程是通过增加区的个数而实现的。每次增加一个区,每个区的大小是块的整数倍。

    查询所登陆用户的数据断存储在哪个表空间,由多大,有几个区

    select segment_name,tablespace_namel,bytes,blocks from user_extents;

    索引段:存储索引的所有数据。当用户用create index创建索引,或定义约束而自动创建索引时,就会在该用户的默认表空间为该索引分配一个与索引名相同的索引段,以便将来存储该索引的所有数据,如果创建的时分区索引,则为每个分区索引分配一个索引段。

    查询登陆用户的索引信息

   select index_name,table_owner,table_name,tablespace_name from user_indexes;

    临时段:存储排序操作所产生的临时数据,当用户使用order by预计进行排序或汇总时,在该用户的临时表空间中自动创建一个临时段,排序结束,临时段自动消除。由于在创建临死段时存在空间的分配,回收,在分配的特点,容易造成不连续的磁盘碎片,因此,为了优化系统性能,oracle建议使用专用的临时表空间作为用户的临时表空间。

   回滚段:存储数据修改之前的位置和值。利用这些信息可以回退提交的事务,维护数据库的读一致性,并能从例程的崩溃中进行恢复。回滚段的原理与实现时一项十分复杂的技术,已经面临淘汰,自9i开始,增加了undo表空间,并增加了自动撤销管理功能来代替回滚段的功能。

    查询是否使用了自动撤销管理功能

   select value from v$parameter where  name='undo_management';

    如果使用回退段功能,需要先将undo_management参数设置为manual,并重新启动数据库。

   区extent:是物理上连续存放的块构成的。区是oracle存储分配的最小单位,由一个或多个块组成,由一个或多个区组成段。当在数据库中创建带有实际存储结构的方案对象时,oracle将为该方案对象分配若干个区,以便组成一个对应的段来为该方案对象提供初始的存储空间。当段中已分配的区都写满后,oracle就为该段分配一个新区,以便容纳更多的数据。

   块block:是最小的数据管理单位,也是执行输入输出操作时的最小单位。相对应地,操作系统执行输入输出操作的最小单位时操作系统块。块的大小时操作系统块大小的整数倍。

物理存储结构:控制文件,数据文件,重做日志文件,次要文件(密码文件,参数文件,归档重做日志文件)。

   控制文件:控制文件一般是很小的文件,通常是数据库中最小的文件,大小一般在1M到5M之间,为二进制文件,但它是数据库中的关键性文件,它对数据库的成功启动和正常运行都是至关重要的。因为它存储了在其他地方无法获得的关键信息。如:数据库名称,数据文件和重做日志文件的名称,位置和大小,发生磁盘故障或用户错误时,用于恢复数据库的信息。

    在以下情况下,需要备份控制文件:1,增加删除或重命名数据文件。2,增加或删除表空间,或改变了表空间的读写状态。3增加或删除日志组或成员。

    如果一个控制文件所在的磁盘损坏,相关联的实例将关闭。待磁盘故障排除后,损坏的控制文件可以启动这个控制文件的备份启动实例。

   每个数据库必须而且只相应有一个控制文件。它存储了数据库的结构。

   在数据库运行的过程中。每当出现数据库检查点或修改数据库结构之后,oracle就会修改控制文件的内容。dba可以通过oem工具修改控制文件的部分内容如归档,但dba和用户都不应该人为地修改控制文件中的内容,否则会破坏控制文件。

   在出现检查点事件时,ckpt进程会自动修改控制文件,以便数据文件和重做日志文件保持同步。

   控制文件包括以下内容:控制文件所属的数据库名称一个控制文件只能属于一个数据库。相关的数据文件和重做日志文件的名称,位置,联机、脱机状态信息。数据库创建的时间信息。当前重做日志的序号。它是一个在重做日志文件切换时被递增和记录的唯一性标识号。当前的检查点信息。rman的备份信息,是dba用来备份恢复数据库的使用工具。其参数为control_files

    每个oracle数据库都应该至少有两个控制文件,并且应该分别存储在不同的磁盘上,进行多路复用,避免出现单点故障。

    查询控制文件信息:select name from v$controlfile;

    查询控制文件记录文档段的信息:

   select type,record_size,records_total,records_used from v$controlfile_record_section; 
   创建控制文件时指定的参数:maxdatafiles,maxlogfiles,maxlogmembers,maxloghistroy,maxinstances指定同时访问数据库的最大例程个数
备份恢复控制文件:
在数据库运行期间原封不动地复制当前的控制文件:

   alter database backup controlfile to '目录';
   将控制文件备份为文本文件,被称为跟踪文件

   alter database backup controlfile to trace;
跟踪备份存放位置;show parameter user_dump_dest指定的目录中。
   可以通过文本文件,创建新的控制文件;

select value from v$parameter where name='CONTROL_FILES';  

SHOW PARAMETER CONTROL_FILES;
CREATE CONTROLFILE SET DATABASE prod

LOGFILE GROUP 1 ('/U01/ORACLE/PROD/REDO01_01.LOG',

                ('/U01/ORACLE/PROD/REDO01_02.LOG'),

        GROUP 2 ('/U01/ORACLE/PROD/REDO02_01.LOG', 

                ('/U01/ORACLE/PROD/REDO02_02.LOG'),

        GROUP 3 ('/U01/ORACLE/PROD/REDO03_01.LOG', 

                ('/U01/ORACLE/PROD/REDO03_02.LOG'),

RESETLOGS

DATAFILE '/U01/ORACLE/PROD/SYSTEM01.DBF' SIZE 3M

MAXLOGFILES 50

MAXLOGMEMBERS 3

MAXLOGHISTORY 400

MAXDATAFILES 200

MAXINSTANCES 6

ARCHIVELOG;

RESETLOGS指定重置日志文件,也可以设定为NORESETLOGS

镜像控制文件

多路复用控制文件:

alter system set control_files=

'c:\oracle\product\10.1.0\oradata\oamis\control01.ctl',

'c:\oracle\product\10.1.0\oradata\oamis\control02.ctl',
'c:\oracle\product\10.1.0\oradata\oamis\control03.ctl', 

'e:\control04.ctl' scope=spfile;

 

 

   数据文件:存储实际数据的操作系统文件。数据文件的大小与他们所存储的数据量的大小直接相关,会自动增大,但不会自动减少

   一个表空间对应若干数据文件,而一个数据文件对应一个表空间。

   在创建表空间时,oracle会同时为该表空间创建第一个数据文件,如果这个数据文件很大,这个创建过程会用较长时间。新创建的数据不包含任何数据,只是一个准备存储数据的空容器。

  除了system表空间之外,任何表空间都可以由联机状态切换为脱机状态。当表空间进入脱机状态后,组成该表空间的数据文件也就进入脱机状态,也可以将表空间中的某一个数据文件单独地设置为脱机状态,以便进行数据库的备份或恢复。

   重做日志文件:oracle随时将内存中的修改结果保存到重做日志文件中。当系统出现崩溃时,可以恢复丢失的数据。只要某项操作的重做信息没丢失就可以。

   参数文件:也称为初始化文件,用于存储sga,可选的oracle特性和后台进程的配置参数,分为文本参数文件pfile和服务器参数文件spfile。可以使用其中之一来配置例程和数据选项。文本参数文件可以使用文本编辑器进行编辑。服务器参数文件时二进制文件,不能直接用文本编辑器进行编辑。

   口令文件:是二进制文件,用于验证特权用户。特权用户是指具有sysoper或sysdba权限的特殊数据库用户。这些用户可以启动例程,关闭例程,创建数据库,执行备份恢复等操作。创建oracle数据库默认的特权用户是sys

   归档日志文件:非活动的重做日志文件的备份,通过使用归档日志文件,可以保罗所有重做历史记录

  后台进程跟踪文件:记录后台进程的警告或错误信息。每个后台进程都有相应的跟踪文件

  服务进程跟踪文件:记录服务进程的相关信息,用于跟踪sql语句,诊断sql语句的性能,并实施相应的性能调整

   软件结构:数据库管理系统实用化与物理数据库之间的一个中间层,是软件层。它具有一定的结构。

   当用户连接到数据库并使用数据库时,实际上是连接到该数据库的例程,通过例程来连接,使用数据库。所以例程是用户和数据库之间的一个中间层。例程是由操作系统的内存结构和一系列进程所组成的,可以启动和关闭。

   软件结构由内存结构和进程结构组成。

   内存结构:内存是用来保存指令代码和缓存数据的。内存是用来保存指令代码和缓存数据的。要运行一个软件程序,必须先要在内存中为其指令代码和缓存数据申请,划分出一个区域,再将其从磁盘上读入,放置到内存,然后才能执行。oracle dbms是一个应用程序,所以它的执行也不例外,需要放置到内存中才能执行。

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值