您的当前位置:首页正文

oracle简答题

来源:爱站旅游
导读oracle简答题
⒈Oracle数据库进程: (1.) 日志写LGWR(Log Writer):将日志缓冲区中的所有记录项写到日志文件中,该进程在启动实例时自动启动。LGWR在以下情况下写入:提交时,三分之一填满时,有1MB的重做时,每个三秒,DBWn写入前。 (2.) 检查点(CKPT):在检查点出现期间,DBWR进程将数据缓冲区中的所有脏缓冲块写到数据文件中,LGWR进程将日志缓冲区中的所有记录项写到日志文件中,以确保上一个检查点至今修改过的所有数据块都被写到磁盘上。检查点职责包括:检查点发信号给DBWn,使用检查点信息更新数据文件的头部,使用检查点信息更新控制文件。 (3. )系统监视(SMON):负责完成自动实例恢复,该进程在启动实例时自动启动。系统监视职责:例程恢复(前滚重做日志中的更改,打开数据库供用户访问,回退未提交的

⒊表空间与数据文件的关系:

一个Oracle表空间包

事务处理),合并空闲空间,回收临时段。 (4.) 进程监视(PMON):撤销异常中断的用户进程,并释放该进程已获得的系统资源或锁。例程失败后,通过以下方法进行清理:回退事务处理,释放锁,释放其它资源,重新启动已失效的调度程序。

(5.) 数据库写进程(DBWR):将数据缓冲区中所有修改过的缓冲块数据写到数据文件中,并使用LRU算法来保持缓冲区中的数据块为最近经常使用的,以减少I/O次数。该进程在启动实例时自动启动。在以下情况下写入:出现检查点,脏数据缓冲区达到阈值,没有空闲缓冲区,出现超时,表空间处于OFFLINE状态,表空间处于READ ONLY状态,对表执行DROP或TRUNCATE操作,对表空间执行BEGIN BACKUP操作。 ⒉Oralcle的内存结构:

有两个内存区组成分

含一个或多个文件叫数据文件或Oracle数据库文件。这些文件是

别是:①系统全局区(SGA):在例程启动时分配,是Oracle例程的基本组件。②程序全局区(PGA):在服务器进程启动时分配。 系统全局区(SGA,System Global Area.)是内存结构的主要组成部分,是Oracle为一个实例分配的一组共享内存缓冲区,保存着Oracle系统与所有数据库用户的共享信息,包括数据维护、SQL语句分析,重做日志管理等,是实例的主要部分。SGA 包括以下几种内存结构:共享池,数据库缓冲区高速缓存,重做日志缓冲区。在SGA中还可配置其它两种内存结构:大型共享池,Java池。 系统全局区(SGA)每种内存结构的作用: 共享池:用于存储最近执行的SQL语句,用于存储最近使用的数据定义。它包括两个与性能相关的关键内存结构:库高速缓存(存放SQL文本、编译后的代码和执行计划),数据字典高速缓存(包

操作系统才能识别且只有Oracle系统能读写。一个数据库的数据

含表、列定义以及权限信息)。

数据缓冲存储区(DBC):用于存储从数据文件中读的数据的备份。数据块缓冲区中存放着Oracle系统最近从数据文件中读取的数据块。数据块缓冲区又称用户数据高速缓冲区,为所有与该实例相链接的用户进程所共享。

重做日志缓冲区(RLB): 记录对数据库数据块所做的全部更改, 主要用于恢复 ,其中记录的更改称作重做条目, 重做条目包含用于重新构造或重新更改的信息

LOG_BUFFER定义。 大型共享池:SGA中的可选内存区,分担了共享池的一部分工作,不使用LRU列表,大小由

LARGE_POOL_SIZE确定。

Java池:存储Java命令的服务分析要求,在安装并使用Java时是必须的,大小由JAVA_POOL_SIZE参数确定。

共同存储在数据文件里,数据文件建立在数据库的表空间里。

⒋索引定义,目的及优缺点:

定义:索引是若干数据行的关键字的列表,查询数据时,通过索引中的关键字可以快速定位到要访问的记录所在的数据块,从而大大减少读取数据块的I/O次数,因此可以显著提高性能。

目的:建立索引可以提高对表的查询速度,也可以对表有关列的取值进行检查。加快数据的读取速度和完整性检查。

优点:减少读取数据块的I/O次数,提高查询效率。

缺点:对表进行insert.update,delete处理时,由于要表的存放位置记录到索引项中而会降低一些速度。 ⒌视图的定义:视图是查询一个或多个表的语句的描述。当视图创建完成后,它将被当做特殊的表来看待,用户可以像表一样列出视图的结构,可以查询视图的某些列的结果等。 ⒍日志文件的作用及日志文件和日志缓冲区间的关系: 作用:日志文件用于记录数据库中被修改的信息。

关系:在SGA区中重做日志缓冲区的数据由LGWR进程写到日志文件中。

⒎数据段和回滚段在

段中起的作用: 数据段中保存的是表中的记录,在Oracle中每个未分区的表都是用一个段来保存数据,分区的表将为每个分区建立一个独立的数据段。

回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值)。回滚段的作用:事务回滚,事务恢复,读一致性(选择题)。 ⒏系统权限与对象权限的区别:

系统权限指在Oracle数据库系统中执行某项操作的能力,对象权限指在特定数据库对象上执行某项操作的能力。Oracle提供的每一种系统权限指明用户进行某一种或某类特定的数据库操作,带有any关键字的系统权限范围为数据库中的所有方案。

⒐锁的分类及作用: 行级锁和表级锁 锁的作用:使数据和对象保持一致性和完整性;当数据或对象不是立即可用时,提供一种队列结构,允许将等待的会话加入到该队列中等待。

行级锁的作用:对正在被修改的行进行锁定。其他用户可以访问除被锁定的行以外的行。是一种排他锁,防止其他事务修改此行。 表级锁的作用:锁定整

个表,限制其他用户对表的访问。

⒑表分区的几种方法: 范围分区,散列分区,列表分区,复合分区 范围分区:以表中的一个列或一组列的值的范围分区。

散列分区:允许用户对不具有逻辑范围的数据进行分区,通过在分区键上执行HASH函数决定存储的分区,将数据平均地分布到不同的分区。

列表分区:允许用户将不相关的数据组织在一起。

复合分区:范围分区与散列分区或列表分区的组合。 ⒒光标的分类: 隐式游标,显示游标,REF游标

12.绑定变量的优缺点优点:

可以在library cache中共享游标,避免硬解析以及与之相关的额外开销在大批量数据操作时将呈数量级来减少闩锁的使用,避免闩锁的竞争 缺点:

绑定变量被使用时,查询优化器会忽略其具体值,因此其预估的准确性远不如使用字面量值真实,尤其是在表存在数据倾斜(表上的数据非均匀分布)的列上会提供错误的执行计划。从而使得非高效的执行计划被使

用。

绑定变量只是起到占位的作用,同名的绑定变量并不意味着在它们是同样的,在传递时要考虑的是传递的值与绑定变量出现顺序的对位,而不是绑定变 量的名称。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top