1.简单描述Oracle数据库体系结构的组成及其关系?答:Oracle数据库体系结构由物理存储结构、逻辑存储结构和实例组成。其中物理存储结构描述了操作系统层次数据的存储与管理,包括数据文件、日志文件、重做日志文件等组成。逻辑结构描述了数据库内部数据的组织与管理,由表空间、段、区、块组成。实例是数据库运行的软件结构,由内存结构和后台进程组成。数据库运行过程中,用户的操作在内存区中进行,最终通过后台进行转化为对数据库的操作。2、说明Oracle数据库物理存储结构的组成?Oracle数据库物理结构包括数据文件、控制文件、重做日志文件、初始化参数文件、归档文件、口令文件等。在控制文件中记录了当前数据库所有的数据文件的名称与位置、重做日志文件的名称与位置,以及数据文件、重做日志文件的状态等。3、说明Oracle数据库数据文件的作用?数据文件中保存了数据库中的所有数据,包括数据字典以及用户数据。4、说明Oracle数据库控制文件的作用?控制文件保存数据库的物理结构信息,包括数据库名称、数据文件的名称与状态、重做日志文件的名称与状态等。在数据库启动时,数据库实例依赖初始化参数定位控制文件,然后根据控制文件的信息加载数据文件和重做日志文件,最后打开数据文件和重做日志文件。5、说明Oracle数据库重做日志文件的作用?重做日志文件是以重做记录的形式记录、保存用户对数据库所进行的修改操作,包括用户执行DDL、DML语句的操作。如果用户只对数据库进行查询操作,那么查询信息是不会记录到重做日志文件中的。6、说明数据库逻辑存储结构的组成和相互关系。Oracle9i数据库的逻辑存储结构分为数据块、区、段和表空间四种。其中,数据块是数据库中的最小I/O单元,由若干个连续的数据块组成的区是数据库中最小的存储分配单元,由若干个区形成的段是相同类型数据的存储分配区域,由若干个段形成的表空间是最大的逻辑存储单元,所有的表空间构成一个数据库。7、说明数据库表空间的种类,以及不同类型表空间的作用。数据库表空间分为系统表空间和非系统表空间两类,其中非系统表空间包括撤销表空间、临时表空间和用户表空间等。SYSTEM表空间主要用于存储数据库的数据字典、PL/SQL程序的源代码和解释代码、数据库对象的定义。撤销表空间专门进行回退信息的自动管理。临时表空间是专门进行临时段管理的表空间。用户表空间用于分离不同应用的数据,而且能够减少读取数据文件时产生的I/O冲突。8、说明数据库、表空间、数据文件以及数据库对象之间的关系。一个数据库由一个或多个表空间构成,不同的表空间用于存放不同应用的数据,表空间的大小决定了数据库的大小。一个表空间对应一个或多个数据文件,数据文件的大小决定了表空间的大小。一个数据文件只能从属于一个表空间。一个数据库对象只能存储在一个表空间中,但可以存储在该表空间所对应的一个或多个数据文件中。9、数据库表空间的管理方式有几种,各有什么特点?数据库表空间的管理方式有两种:字典管理方式和本地管理方式。在字典管理方式下,表空间使用数据字典来管理存储空间的分配,当进行区的分配与回收时,Oracle将对数据字典中的相关基础表进行更新,同时会产生回退信息和重做信息。在本地管理方式中,区的分配和管理信息都存储在表空间的数据文件中,而与数据字典无关。10、表空间管理时应考虑哪些问题?表空间管理时,应该遵循以下原则:将数据字典与用户数据分离;将回退数据与用户数据分离;将表空间的数据文件分散保存到不同的硬盘上;为不同的应用创建独立的表空间。11、Oracle数据库进程的类型有哪些?分别完成什么任务?Oracle数据库进程包括用户进程、服务器进程和后台进程三类。其中,用户进程用户建立用户数据库服务器的连接;服务器进程接受用户连接请求;后台进程实现数据库的后台操作。12、Oracle数据库后台进程有哪些?其功能是什么?racle实例的主要后台进程包括数据库写进程(DBWR)、日志写进程(LGWR)、检查点进程(CKPT)、系统监控进程(SMON)、进程监控进程(PMON)、归档进程(ARCH)、恢复进程(RECO)、锁进程(LCKn)、调度进程(Dnnn)等。DBWR进程负责把数据高速缓冲区中已经被修改过的数据(“脏”缓存块)成批写入数据文件中永久保存,同时使数据高速缓冲区有更多的空闲缓存块,保证服务器进程将所需要的数据从数据文件读取到数据高速缓冲区中,提高缓存命中率。LGWR日志写入进程负责把重做日志缓冲区的重做记录写入重做日志文件中永久保存。CKPT进程的作用就是执行检查点,更新控制文件与数据文件的头部,使其同步;,触发DBWR进程,将脏缓存块写入数据文件。SMON进程的主要功能包括:在实例启动时负责对数据库进行恢复;回收不再使用的临时空间;将各个表空间的空闲碎片合并。PMON进程的主要功能包括:负责恢复失败的用户进程或服务器进程,并且释放进程所占用的资源;清除非正常中断的用户进程留下的孤儿会话,回退未提交的事务,释放会话所占用的锁、SGA、PGA等资源;监控调度进程和服务器进程的状态,如果它们失败,则尝试重新启动它们,并释放它们所占用的各种资源。ARCH进程用户归档重做日志文件。RECO进程用户数据库恢复。13、DBWR进程如何工作的?数据库写入进程负责把数据高速缓冲区中已经被修改过的数据(“脏”缓存块)成批写入数据文件中永久保存,同时使数据高速缓冲区有更多的空闲缓存块,保证服务器进程将所需要的数据从数据文件读取到数据高速缓冲区中,提高缓存命中率。当下列某个条件满足时,DBWR进程将启动,将数据高速缓冲区中的脏数据写入数据文件。服务器进程在数据高速缓存区中搜索一定数量的缓存块后,仍然没有找不到可用的空闲缓存块,此时DBWR进程将被启动。检查点发生时,将启动DBWR进程。当数据高速缓冲区中LRU列表长度达到初始化参数DB_BLOCK_WRITE_BATCH指定值的一半时,DBWR进程将被启动。DBWR进程发生超时(大约3秒),DBWR进程将被启动。14、LGWR进程是如何工作的?日志写入进程负责把重做日志缓冲区的重做记录写入重做日志文件中永久保存。DBWR进程在工作之前,需要了解LGWR进程是否已经把相关的日志缓冲区中的重做记录写入重做日志文件中。如果还没有写入重做日志文件,DBWR进程将通知LGWR进程完成相应的工作,然后DBWR进程才开始写入。这样可以保证先将与脏缓存块相关的重做记录信息写入重做日志文件,然后将脏缓存块写入数据文件,即先写重做日志文件,后写数据文件。当下列事件发生时,LGWR进程将重做日志缓冲区中的重做记录写入重做日志文件。用户通过COMMIT语句提交当前事务。重做日志缓冲区被写满三分之一。DBWR进程开始将脏缓存块写入数据文件。LGWR进程超时(大约3秒),LGWR进程将启动。15、可以进行Oracle数据库启动与关闭管理的工具有哪些?常用的数据库启动与关闭工具包括:SQL*PLUS、OEM、RMAN等。16、说明数据库启动的过程?数据库启动时首先根据初始化参数文件创建并启动实例,然后根据控制文件加载数据文件和充作日志文件,最后打开数据文件和重做日志文件。17、说明数据库关闭的步骤?数据库关闭时首先关闭数据文件和重做日志文件,然后卸载数据文件和重做日志文件,关闭控制文件,最后释放内存结构和后台进程,即关闭实例。18、说明在数据库启动和关闭的过程中,初始参数文件、控制文件、重做日志文件的作用?利用初始化参数文件中参数设置创建并启动实例;利用控制文件中的信息定位并加载数据文件和重做日志文件。重做日志文件用户在数据库运行过程中记录用户对数据库的修改操作。19、数据库中有哪些类型的表?各有什么特征?在Oracle数据库中,根据表生存周期不同,可以分为永久性表和临时表;根据表中数据组织方式不同,可以分为标准表、索引化表和分区表。索引化表是一种特殊的表,它按B树的结构来组织和存储数据,将表的数据和索引的数据存储在一起。分区表是将一个表分成若干个独立的组成部分进行存储和管理。20、表的约束有哪几种?分别起什么作用?表的约束包括:主键约束:定义了主键约束的列取值不能为空,也不能重复。唯一值约束:定义了唯一值约束的列取值不能重复。检查约束:定义了检查约束的列取值要满足检查条件。外键约束:定义了外键约束的列取值要么是主表参照列的值,要么是空值。空/非空约束:定义了非空约束的列取值不能为空。21、说明索引的作用,以及Oracle数据库中索引的类型?索引用于提高数据的查询效率。根据索引值是否唯一,可以分为唯一性索引和非唯一性索引;根据索引的组织结构不同,可以分为平衡树索引和位图索引;根据索引基于的列数不同可以分为单列索引和复合索引。22、简述Oracle数据库中分区的概念,对表和索引进行分区管理有何优点?所谓分区是指将一个巨型表或巨型索引分成若干个独立的组成部分进行存储和管理,每一个小的、可以独立管理的部分,称为原来表或索引的分区。对巨型表进行分区后,即可以对整个表进行操作,也可以针对特定的分区进行操作,从而简化了对表的管理和维护。23、说明分区表的特点及其应用?表分区技术是在超大型数据库(VLDB)中将大表及其索引通过分区(patition)的形式分割为若干较小、可管理的小块,并且每一分区可进一步划分为更小的子分区(subpartition)。而这种分区对于应用来说是透明的。Oracle的表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通过对表进行分区,可以获得以下的好处:1)增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用;2)维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可;3)均衡I/O:可以把不同的分区映射到磁盘以平衡I/O,改善整个系统性能;4)改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度。什么时候使用分区表1、表的大小超过2GB。2、表中包含历史数据,新的数据被增加到新的分区中。24、Oracle数据库的安全控制机制有哪些?Oracle数据库的安全机制包括:用户管理、权限管理、角色管理、表空间设置和配额管理、用户资源限制以及数据库审计等。25、Oracle数据库用户认证方式有哪些?Oracle提供了3种用户认证机制,即数据库身份认证、外部身份认证和全局身份认证。只有通过认证的用户才能访问数据库。26、Oracle数据库中的权限有哪几种?Oracle数据库中权限有两类,系统权限和对象权限。系统权限是指在数据库级别执行某种操作的权限,或针对某一类对象执行某种操作的权限。对象权限是指对某个特定的数据库对象执行某种操作的权限。例如,对特定表的插入、删除、修改、查询的权限。1.简述回滚段的作用答:回滚段用于存放数据修改之前的值(也包括数据修改前的位置)。回滚段的头部包含正在使用的回滚段事物的信息。一个事物只能使用一个回滚段来存放回滚信息,而一个回滚段可以存放多个事物的回滚信息。回滚段用于对数据库修改时,保存原有的数据,以便稍后可以通过使用rollback操作来恢复到修改之前的数据;另外回滚段可以为数据库中的所有进程提供读一致性。具体的作用有如下几项:事物恢复事物正在处理时,例程失败,回滚段的信息保存在重做日志文件中,ORACLE将在下次打开数据库时利用回滚来恢复未提交的数据。事物回滚:当事物修改表中的数据时,该数据修改前的值会存放在回滚段中,当用户回滚事物时,ORACLE将会利用回滚段中的数据前影像来将修改的数据恢复到原来的值。读一致性:当一个会话正在修改数据时,其他的会话将看不到该会话未提交的修改。而且,当一个语句正在执行时,该语句将看不到该语句开始执行后的未提交的修改。2.回滚段的类型1.系统回滚段当数据库创建后,将自动创建一个系统回滚段,它位于SYSTEM表空间,用于处理涉及系统的CataLog的事物2.非系统回滚段拥有多个表空间的数据库至少应该有一个非系统回滚段,用于存放非系统表空间中对象的数据前映像。3.DEFERED回滚段该回滚段在表空间