0
回答
oracle逻辑结构与物理结构
【腾讯云】学生服务器套餐10元/月 >>>   

逻辑结构: 数据概念上的组织,如数据库,表
 物理结构: 实际数据的存储单元,如文件和数据块
 
 逻辑存储结构包括表空间,段,区,数据块。
 
 表空间是最大的逻辑单位,一个数据库可以有多个表空间,一个表空间可以包含多个数据文件。
 任何方案对象都被存储在表空间的数据文件中,虽然不能存储在多个表空间,但可以存储在多个数据文件中。
 分为系统表空间和非系统表空间(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是一个应用程序,所以它的执行也不例外,需要放置到内存中才能执行。

举报
南北024
发帖于7年前 0回/382阅
顶部