简述表空间和数据文件之间的关系.docx

上传人:b****6 文档编号:4991896 上传时间:2022-12-12 格式:DOCX 页数:7 大小:33.24KB
下载 相关 举报
简述表空间和数据文件之间的关系.docx_第1页
第1页 / 共7页
简述表空间和数据文件之间的关系.docx_第2页
第2页 / 共7页
简述表空间和数据文件之间的关系.docx_第3页
第3页 / 共7页
简述表空间和数据文件之间的关系.docx_第4页
第4页 / 共7页
简述表空间和数据文件之间的关系.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

简述表空间和数据文件之间的关系.docx

《简述表空间和数据文件之间的关系.docx》由会员分享,可在线阅读,更多相关《简述表空间和数据文件之间的关系.docx(7页珍藏版)》请在冰豆网上搜索。

简述表空间和数据文件之间的关系.docx

简述表空间和数据文件之间的关系

1、简述表空间和数据文件之间的关系。

2、概述Oracle数据库体系的物理结构。

3、简要介绍表空间、段、区和数据块之间的关系。

4、简述Oracle实例系统中各后台进程的作用。

5、简述Oracle初始化参数文件。

6、简述启动数据库时的状态。

7、简述数据库的各种关闭方式。

8、Oracle实例和数据库的概念和关系是什么?

9、SGA的各个组成部分的名称和作用,PGA与它有什么区别?

10、简述行迁移、行链接的产生原因?

14、truncate操作与delete操作的区别?

15、B-Tree与Bitmap索引的比较?

16、解释冷备份和热备份的不同点以及各自的优点

18、还原段的作用是什么

19、影响oracle数据库性能的因素都有哪些?

20、ORACLE数据库有哪几种标准备份方式?

21、对raid1+0和raid5有何认识?

22、rman是什么?

23、oracle系统后台进程的作用?

24、某数据运行在archivelog,且用rman作过全备份和数据库的冷备份,且所有的归档日志都有,现非system表空间的数据文件损坏,其他文件全部完好,请问该怎么恢复该数据库。

参考答案:

1.简述表空间和数据文件之间的关系。

答:

每一个数据文件都必须隶属于某个表空间,但一个表空间可以由多个数据文件组合而成。

   tablespace是逻辑上的概念,datafile则在物理上储存了数据库的种种对象。

2.概述Oracle数据库体系的物理结构。

答:

Oracle数据库体系的物理结构是指数据库上实际的、可以从操作系统看到的文件,可以利用操作系统指令进行管理作业,物理存储结构组成文件如下所列:

数据文件(DataFile):

实际存储数据的地方;在线重做日志文件(OnlineRedoLogFile):

记录曾经发生过的动作,当数据库受损时,可利用在线重做日志文件进行必要的恢复动作;控制文件(ControlFile):

记录数据库必要的信息,以验证及维护数据库的完整性的信息;初始化参数文件(ParameterFile):

当数据库开启时,用来架构出Oracle内存结构的文件;密码文件(PasswordFile):

验证哪些帐号能开启、关闭Oracle数据库。

3.简要介绍表空间、段、区和数据块之间的关系。

答:

Oracle的逻辑存储单元从小到大依次为:

数据块、区、段和表空间。

它们之间的关系如

右图所示。

表空间又由许多段组成,段由多个

区组成,区又由多个数据块组成。

4.简述Oracle实例系统中各后台进程的作用。

答:

(1)DBWRn(DatabaseWriter)的主要工作是将数据

缓冲区中被改过的数据写回到数据文件里。

(2)LGWR(LogWriter)主要的工作是将RedoLogBuffer

里的记录写到在线重做日志文件中。

(3)SMON(SystemMonitor)有两个主要的功能。

<1>执行InstanceRecovery:

当数据库不正常中断后再度

开启时,SMON会自动执行InstanceRecovery,也

就是会将在线重做日志里面的数据回写到数据文件里面。

<2>收集空间:

将表空间内相邻的空间进行合并的动作。

(4)PMON(ProcessMonitor):

监视数据库的用户进程。

若用户的进程不当而被中断,PMON会负责清理任何遗留下来的资源,并释放失效的进程所保留的锁,然后从ProcessList中移除,以终止ProcessID。

(5)CKPT(Checkpoint)主要负责更新数据库的最新状态,CKPT当Checkpoint完成时,会更新控制文件和数据库文件的文件头。

(6)ARCn(Archiver).当Oracle数据库设定为ARCHIVELOGMode时,ARCn会在LogSwitch时自动将RedoLogFile复制一份到指定的目录下称为归档日志文件(Archivedredologs)。

5.简述Oracle初始化参数文件。

答:

Oracle在启动实例时将读取本地的一个文本文件,并利用从中获取的初始化参数对实例和数据库进行设置,这个文本文件称为初始化参数文件(简称PFILE)。

6.简述启动数据库时的状态。

答:

开启数据库分成4种状态。

(1)SHUTDOWN状态:

数据库是关闭的。

(2)NOMOUNT状态:

Instance被开启的状态,会去读取初始化参数文件。

(3)MOUNT状态:

会去读取控制文件。

数据库被装载。

(4)OPEN状态:

读取数据文件、在线重做日志文件等,数据库开启。

7.简述数据库的各种关闭方式。

答:

(1)正常关闭(SHUTDOWNNORMAL):

不允许新的USER连进来。

(2)事务关闭(SHUTDOWNTRANSACTIONAL):

等待所有未提交的事务完成后再关闭数据库。

(3)立即关闭(SHUTDOWNIMMEDIATE):

任何未提交的事务均被回退。

(4)终止关闭(SHUTDOWNABORT):

立即终止当前正在执行的SQL语句,任何未提交的事务均不被回退。

8.简述角色的优点。

答:

角色是具有名称的一组相关权限的组合。

角色的主要功能是将授予用户的权限做整合的管理。

由于角色集合了多种权限,可以为用户授予角色或从用户中收回角色,简化了用户权限的管理。

9、段的主要类型及作用?

答:

(1)数据段中保存的是表中的记录。

(2)索引段,在Oracle数据库中每个未分区索引都有一个索引段保存索引中的索引条目。

对于一个分区索引,每个分区都有一个索引段保存它的数据

(3)临时段,当处理查询时,Oracle可能会需要使用到一些临时存储空间,用于临时保存解析过的查询语句以及在排序过程中产生的临时数据。

Oracle会自动在专门用于存储临时数据的表空间为操作分配临时段。

(4)Undo段,Undo段用于存放数据修改之前的值(包括数据修改之前的位置和值)。

Undo段的作用主要有以下几方面:

<1>事务回滚<2>事务恢复<3>读一致性

10、Oracle实例和数据库的概念和关系是什么?

答:

在Oracle中,数据库指的是数据实际存放的地方,不论数据库是处于开启还是关闭的状态,永远都会存在于操作系统上;而实例指的是在计算机的一块内存空间,提供使用者做数据库上数据存取或数据交换的地方,由于这块空间放在内存中,因此,会随着数据库的开启而建构起来,当数据库关闭时,实例也就随之消失。

数据库:

数据库包含存在存储媒体上的一些文件。

实例:

实例是有一些内存空间及后台进程组合而成。

11、SGA的各个组成部分的名称和作用,PGA与它有什么区别?

答:

SGA包含三个部分:

(1)数据缓冲区:

主要用来存放最近使用过的数据,提升了查询的效率;

(2)日志缓冲区:

主要用来追踪最近修改过的数据记录,提升了数据修改的效率;(3)

共享池:

主要用来存放最近执行过的SQ指令、DataDirectionary与PL/SQL一些资料、table的定义和权限等,提升了程序执行的效率。

PGA是连接产生时被产生、当结束连接时PGA被结束,SGA是永远存在的;SGA内存是被多个联机共同使用的,而PGA只被一个连接专用。

12、简述行迁移、行链接的产生原因?

答:

行迁移(RowMigration):

Oracle数据库中的数据被存放在数据块中,当用UPDATE语句更新一行数据时,可能使该行的数据增加,从而无法使其再放入它的数据块中。

这时Oracle就寻找能容纳下该行的数据块,如果能找到这样的块,便把该行全部移入新块,这称为行迁移(RowMigration)。

行链接(ChainingRow):

若行太大找不到能容纳该整行的任何可用块,则Oracle将行分割为多个部分,然后把每一份分别放入一个块中,于是这样的行被存放在多个数据块中,这称为行链接(ChainingRow)。

13、简述pctused,pctfree运作情况?

答:

pctused与pctfree控制数据块是否出现在freelist中,pctfree控制数据块中保留用于update的空间,当数据块中的freespace小于pctfree设置的空间时,该数据块从freelist中去掉,当块由于dml操作freespace大于pct_used设置的空间时,该数据库块将被添加在freelist链表中。

14、truncate操作与delete操作的区别与联系?

答:

(1)无论truncate大表还是小表速度都非常快。

(2)truncate是DDL语句进行隐式提交,操作立即生效,不能进行回滚操作。

delete语句是dml,这个操作会放到rollbacksegement中,事务提交之后才生效。

(3)truncate重新设定表和索引的HWM(高水标记),由于全表扫描和索引快速扫描都要读取所有的数据块直到HWM为止。

所以全表扫描的性能不会因为delete而提高,但是经过truncate操作后速度会很快。

(4)不能truncate一个带有外键的表,如果要删除首先要取消外键,然后再删除。

相同点:

truncate和delete只删除数据不删除表的结构(定义)。

15、B-Tree与Bitmap索引的比较?

答:

B-Tree索引结构的键值后面跟着ROWID,位图索引是在索引的叶块中存储的是位图信息,而不是rowid。

(1)如果表中的索引列的取值只有有限的几个,就可以在此列上采用位图索引。

因为此时在位图索引上根据列的取值,每条记录得到一个0/1值,在位图索引中就可以存储这些0/1值。

(2)如果一张表中的值经常需要进行修改,此时不能使用位图索引,因为对表的值进行修改后对应的位图值也要进行修改,但是对于B-Tree索引而言,ROWID是不会改变的。

所以对于表中的值需要经常修改的,不宜采用位图索引。

(3)由于位图索引的特性,在索引的列值上进行相等/OR/AND等逻辑操作时,使用位图索引进行查询,将会大大提高查询速度。

因为在进行这些操作时,进行的是一些逻辑操作,这是计算机最拿手的。

但是,如果要在索引列上进行大于/小于等查询操作,此时使用位图索引不但不能提高性能,反而会降低性能,因为位图索引中存储的一些0/1位图,这些0/1串要通过映射才能够转化为rowid,从而得到对应的值,然后进行比较,这样性能会大大下降。

(4)位图索引可以节省大量的存储空间,这对于数据量特别大的情形,就特别明显了。

另外,在位图索引中可以包含键值为NULL的行。

16、解释冷备份和热备份的不同点以及各自的优点

答:

热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。

而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。

热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。

冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下。

因为不必将archivelog写入硬盘,非归档模式可以带来数据库性能上的少许提高。

17、简述带前缀的视图的区别:

V$,DBA_,ALL_,USER_

答:

V$开头的是描述实例运行的动态性能视图,DBA_,数据库中数据字典的信息,ALL_,用户具有操作权限的对象 信息,USER_,用户所拥有的对象的信息。

影响oracle查询性能的因素都有哪些?

18、回滚段的作用是什么

答:

事务回滚:

当事务修改表中数据的时候,该数据修改前的值(即前影像)会存放在回滚段中,当用户回滚事务(ROLLBACK)时,ORACLE将会利用回滚段中的数据前影像来将修改的数据恢复到原来的值。

事务恢复:

当事务正在处理的时候,例程失败,回滚段的信息保存在undo表空间中,ORACLE将在下次打开数据库时利用回滚来恢复未提交的数据。

读一致性:

当一个会话正在修改数据时,其他的会话将看不到该会话未提交的修改。

当一个语句正在执行时,该语句将看不到从该语句开始执行后的未提交的修改(语句级读一致性)当ORACLE执行SELECT语句时,ORACLE依照当前的系统改变号(SYSTEMCHANGENUMBER-SCN)来保证任何前于当前SCN的未提交的改变不被该语句处理。

可以想象:

当一个长时间的查询正在执行时,若其他会话改变了该查询要查询的某个数据块,ORACLE将利用回滚段的数据前影像来构造一个读一致性视图。

19、影响oracle数据库性能的因素都有哪些?

答:

(1)系统环境的优化,包括硬件、磁盘阵列的规划、网络架构、操作系统的规划

(2)实例的优化:

数据库缓冲区、重做日志缓冲区、共享池的设置

(3)oracle对象的优化:

数据块的设置、存储参数的设置、表空间的设置、表空间碎片

(4)SQL语法优化

20、ORACLE数据库有哪几种标准备份方式?

答:

(1)逻辑备份(EXP/IMP)。

利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。

(2)物理备份

<1>热备份。

  热备份是在数据库运行的情况下,采用archivelogmode方式备份数据库的方法。

①在线的tablespace的备份

>altertablespacetablespace_namebeginbackup;

>执行系统的备份文件命令cp

>altertablespacetablespace_nameendbackup;

②离线的tablespace的备份

>altertablespacetablespace_nameofflinenormal;

>执行操作系统备份的命令

>altertablespacetablespace_nameonline;

<2>冷备份。

冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。

<3>RMAN备份

 21、对raid1+0和raid5有何认识

答:

  RAID10(或称RAID1+0)与RAID0+1不同,它是用硬盘驱动器先组成RAID1阵列,然后在RAID1阵列之间再组成RAID0阵列。

RAID10模式同RAID0+1模式一样具有良好的数据传输性能,但却比RAID0+1具有更高的可靠性。

RAID10阵列的实际容量为M×n/2,磁盘利用率为50%。

RAID10也需要至少4个硬盘驱动器构成,因而价格昂贵。

RAID10的可靠性同RAID1一样,但由于RAID10硬盘驱动器之间有数据分割,因而数据传输性能优良。

RAID5与RAID3很相似,不同之处在于RAID5的奇偶校验信息也同数据一样被分割保存到所有的硬盘驱动器,而不是写入一个指定的硬盘驱动器,从而消除了单个奇偶校验硬盘驱动器的瓶颈问题。

RAID5磁盘阵列的性能比RAID3有所提高,但仍然需要至少3块硬盘驱动器。

其实际容量为M×(n-1),磁盘利用率为(n-1)/n。

22、对于一个存在系统性能的系统,说出你的诊断处理思路

答:

 1用statspack收集系统相关信息

  了解系统大致情况/确定是否存在参数设置不合适的地方/查看top5event/查看topsql等

  2查v$system_event/v$session_event/v$session_wait

  从v$system_event开始,确定需要什么资源(dbfilesequentialread)等

  深入研究v$session_event,确定等待事件涉及的会话

  从v$session_wait确定详细的资源争用情况(p1-p3的值:

file_id/block_id/blocks等)

  3通过v$sql/v$sqltext/v$sqlarea表确定disk_reads、(buffer_gets/executions)值较大的SQL

 

22、rman是什么?

  RMAN(RecoveryManager)是DBA的一个重要工具,用于备份、还原和恢复oracle数据库,RMAN可以用来备份和恢复数据库文件、归档日志、控制文件、系统参数文件,也可以用来执行完全或不完全的数据库恢复。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 图表模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1