Oracle数据库基础教程-参考答案

更新时间:2024-02-28 21:48:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第2章数据库服务器的安装与卸载

一..在安装数据库服务器之前需要进行如下准备: ①启动操作系统,并以Administrator身份登录。

②检查计算机名称、检查源文件完整路径,如果包含中文字符则需要修改为不含中文字符。 ③检查服务器系统是否满足软硬件要求。 ④对服务器进行正确网络配置。

⑤如果服务器上运行其它Oracle服务,必须在安装前将它们全部停止。

⑥如果服务器上运行有以前版本的Oracle数据库,则必须对其数据进行备份。 ⑦决定数据库的创建方式。

(2)数据库服务器的企业版,标准版,个人版有什么区别?并适用于什么环境?

企业版数据库服务器包含所有的数据库组件,主要针对高端的应用环境,适用于安全性和性能要求较高的联机事务处理(OLTP)、查询密集型的数据仓库和要求较高的Internet应用程序:标准版数据库服务器提供大部分核心的数据库功能和特性,适合于工作组或部门级的应用程序:个人版数据库服务器只提供基本数据库管理功能和特性,适合单用户的开发环境,为用户提供开发测试平台。

(3)常用的数据库类型?有何区别?分别适用于什么类型的应用

常用数据库类型包括事务处理类、数据仓库类以通用类型。其中事务处理类型主要针对具有大量并发用户连接,并且用户主要执行简单事务处理的应用环境。事务处理数据库的典型应用有银行系统数据库、Internet电子商务数据库、证券交易系统数据库等。对于需要较高的可用性和事务处理性能、存在大量用户并行访问相同数据以及需要较高恢复性能的数据库环境,事务处理类型的配置可以提供最佳性能;数据仓库类型的数据库主要针对有大量的对某个主题进行复杂查询的应用环境。数据仓库的典型应用有客户订单研究、支持呼叫、销售预测、采购模式以及其他战略性业务问题的历史数据研究。对于需要对大量数据进行快速访问,以及复杂查询的数据库环境,数据仓库类型配置是最佳选择;通用类型配置的数据库是事务处理数据库与数据仓库配置的折衷方案。既可以支持大量并发用户的事务处理,又可以快速对大量历史数据进行复杂的数据扫描和处理。

(5)用户身份中的SYSDBA和SYSOPER在权限上有何区别?

以SYSDBA身份登录的用户具有创建数据库启动或关闭数据库与实例、使用ALTER DATABASE 执行打开、备份数据库等变更操作、对数据库进行归档或恢复、受限状态下连接数据库以及创建服务器端初始化参数文件等权限。以SYSOPER身份登录的用户具有启动或关闭数据库与实例、使用ALTER DATABASE 执行打开、备份数据库等变更操作、对数据库进行归档或恢复、受限状态下连接数据库以及创建服务器端初始化参数文件等权限。

(6)如果将数据库中的SYS,SYSTEM,SYSMAN口令忘记了该如何进入系统? 在本地数据库服务器系统中,以SYSDBA身份登录数据库服务器然后重新设定SYS或SYSTEM用户的口令。

(7)卸载数据库服务器软件的步骤为: ①停止所有Oracle相关的服务 ②卸载Oracle9i数据库服务器组件

③删除注册表中Oracle目录、服务以及事件日志 ④删除Oracle环境变量

⑤删除TEMP目录下Oracle相关的文件夹

⑥检查“开始”菜单中是否还有Oracle菜单,如果有,则将其删除 ⑦删除Windows系统安装磁盘中的Program Files\\Oracle 目录 ⑧删除Oracle安装目录

(9)解释说明oracle10g数据库文件结构OFA的特性

OFA是Oracle组织文件以及文件命名的一套规则。例如对应存放安装软件的目录,在Oracle相关服务中都包含主目录名称等。

第3章创建数据库

(1)创建数据库的方法有哪些?他们的优缺点? 创建数据库方法有两种:使用数据库配置助手(DBCA)创建数据库或运行脚本手工创建数据库。DBCA(Database Configuration Assistant)是Oracle提供的用于创建数据库的图形界面工具,内置数据库模板,可以直观快速地创建数据库。可在Oracle9i数据库服务安装时自动启动,或在需要创建数据库时单独启动。该创建方式比较适合于初学者。手动创建数据库方式比DBCA方式具有更大的灵活性和效率,但需要用户对Oracle9i数据库的创建语法和参数有深入了解,适合有经验的DBA。

(2)利用DBCA创建数据库时采用的数据模板有几种? 分别适合创建说明类型的数据库?

创建数据库的模板包括“数据仓库”、“通用”、“事务处理”、“自定义”四种,其中“数据仓库”用于创建数据量大、数据变化小,用户少,用户数据分析和决策支持。“事务处理”类型数据库主要用户联机处理,用户多,数据不断变化。“通用”类型数据库是集前两者的优点,具有通用性;“自定义”是用户自己选择安装组件和参数设置。

(3)创建数据库的基本步骤?

创建数据库之前应该做好规划、检查系统资源情况以及决定数据库的创建方式。 (4)手动创建数据库的步骤

1.确定新建数据库名称与实例名称;2.确数据库管理员的认证方式;3. 创建初始化参数文件;4.创建实例;5连接并启动实例;6使用CREATE DATABASE语句创建数据库;7 创建附加的表空间;7运行脚本创建数据字典视图

(6)Oracle10g数据库文本初始化参数文件与服务器初始化参数文件的区别

文本初始化参数文件是一个本地的初始化参数文件,而服务器初始化参数文件是一个放在数据库服务器端的共享的二进制初始化参数文件。文本参数文件的修改是通过直接对文本的修改实现的,通过命令行是无法将修改后的参数值写入该文件中,而服务器初始化参数文件是不能直接修改的,必须通过ALTER SYSTEM语句来进行参数修改的。

(8)列举查看数据库参数设置情况的方法 ①SHOW PARAMETERS命令

②查询数据字典V$PARAMETER或V$PARAMETER2或V$SPPARAMETER ③将服务器初始参数文件转换为文本出示参数文件。 第5章 SQL*PLUS

(1)简述SQL*PLUS工具可以完成的任务

在SQL*PLUS中可以执行的数据库管理管理包括:输入、编辑、存储、提取、运行和调试SQL语句和PL/SQL程序;处理数据、生成报表、存储、打印、格式化查询结果;列出任何表的列的定义;在数据库之间存取和拷贝数据;从一个用户端发送和接受消息等。

(2)说明在SQL*PLUS环境中运行文件读/写操作的方法 保存文SQL*PLUS件的方法为:SAVE filename 读取文件的方法为:GET filename

(3)列举10个SQL*PLUS命令,并说明功能 CONN[ECT]:连接数据库 DISC[ONNECT]:断开连接 SAVE:保存文件 GET:读入文件 START:执行文件

SHOW:显示环境变量值 SET:设置环境变量值

DESCRIBE:查看对象结构 CLEAR:清空缓冲区

COLUMN:设置格式输出

(4)常用的格式控制命令包括: COLUMN TTITLE BTITLE

REPHEADER REPFOOTER

(5)可以在SQL*PLUS环境中定义绑定变量或定义替换变量,用户与程序的交互。 第6章物理存储结构

简述Oracle数据库体系结构的组成极其关系

Oracle数据库体系结构由物理存储结构、逻辑存储结构和实例组成。其中物理存储结构描述了操作系统层次数据的存储与管理,包括数据文件、日志文件、重做日志文件等组成。逻辑结构描述了数据库内部数据的组织与管理,由表空间、段、区、块组成。实例是数据库运行的软件结构,由内存结构和后台进程组成。数据库运行过程中,用户的操作在内存区中进行,最终通过后台进行转化为对数据库的操作。

(2)说明Oracle数据库物理存储结构的组成及其关系

Oracle数据库物理结构包括数据文件、控制文件、重做日志文件、初始化参数文件、归档文件、口令文件等。在控制文件中记录了当前数据库所有的数据文件的名称与位置、重做日志文件的名称与位置,以

及数据文件、重做日志文件的状态等。

(3)说明Oracle数据库数据文件的作用

数据文件中保存了数据库中的所有数据,包括数据字典以及用户数据。 (4)说明Oracle数据库控制文件的作用

控制文件保存数据库的物理结构信息,包括数据库名称、数据文件的名称与状态、重做日志文件的名称与状态等。在数据库启动时,数据库实例依赖初始化参数定位控制文件,然后根据控制文件的信息加载数据文件和重做日志文件,最后打开数据文件和重做日志文件。

(5)说明Oracle数据库重做日志文件的作用

重做日志文件是以重做记录的形式记录、保存用户对数据库所进行的修改操作,包括用户执行DDL、DML语句的操作。如果用户只对数据库进行查询操作,那么查询信息是不会记录到重做日志文件中的。

(6)说明Oracle数据库归档的必要性以及如何进行归档设置

归档是数据库恢复及热备份的基础。只用当数据库归档模式时,才可以进行热备份和完全恢复。进行归档设置包括归档模式设置(ARCHIVELOG)、归档方式设置以及归档路径的设置等。

(7)说明Oracle数据库重做日志文件的工作方法

每个数据库至少需要两个重做日志文件,采用循环写的方式进行工作。当一个重做日志文件在进行归档时,还有另一个重做日志文件可用。当一个重做日志文件被写满后,后台进程LGWR开始写入下一个重做日志文件,即日志切换,同时产生一个“日志序列号”,并将这个号码分配给即将开始使用的重做日志文件。当所有的日志文件都写满后,LGWR进程再重新写入第一个日志文件。

(8)简单描述如何合理布置Oracle数据库物理存储结构

数据库的物理结构尽量分散到不同磁盘空间,既有利于数据库的安全性,也有利于提供系统的性能,如并发行等。

(9)说明采用多路复用控制文件的必要性及其工作方式

采用多路复用控制文件可以避免由于一个控制文件的损坏而导致数据库无法正常启动。在数据库启动时根据一个控制文件打开数据库,在数据库运行时多路复用控制文件采用镜像的方式进行写操作,保持所有控制文件的同步。

(10)说明如何查询数据库物理存储结构信息

可以通过V$DATAFILE、V$CONTROLFILE、V$LOGFILE、V$LOG等数据字典可以查询相应的物理结构信息。

第7章逻辑存储结构

说明数据库逻辑存储结构的组成和相互关系。

Oracle9i数据库的逻辑存储结构分为数据块、区、段和表空间四种。其中,数据块是数据库中的最小I/O单元,由若干个连续的数据块组成的区是数据库中最小的存储分配单元,由若干个区形成的段是相同类型数据的存储分配区域,由若干个段形成的表空间是最大的逻辑存储单元,所有的表空间构成一个数据库。

说明数据库表空间的种类,以及不同类型表空间的作用。

数据库表空间分为系统表空间和非系统表空间两类,其中非系统表空间包括撤销表空间、临时表空间和用户表空间等。

SYSTEM表空间主要用于存储数据库的数据字典、PL/SQL程序的源代码和解释代码、数据库对象的定义。撤销表空间专门进行回退信息的自动管理。临时表空间是专门进行临时段管理的表空间。用户表空间用于分离不同应用的数据,而且能够减少读取数据文件时产生的I/O冲突。

说明数据库、表空间、数据文件以及数据库对象之间的关系。

一个数据库由一个或多个表空间构成,不同的表空间用于存放不同应用的数据,表空间的大小决定了数据库的大小。一个表空间对应一个或多个数据文件,数据文件的大小决定了表空间的大小。一个数据文件只能从属于一个表空间。一个数据库对象只能存储在一个表空间中,但可以存储在该表空间所对应的一个或多个数据文件中。

数据库表空间的管理方式有几种,各有什么特点?

数据库表空间的管理方式有两种:字典管理方式和本地管理方式。在字典管理方式下,表空间使用数据字典来管理存储空间的分配,当进行区的分配与回收时,Oracle将对数据字典中的相关基础表进行更新,同时会产生回退信息和重做信息。在本地管理方式中,区的分配和管理信息都存储在表空间的数据文件中,而与数据字典无关。

表空间管理时应考虑哪些问题? 表空间管理时,应该遵循以下原则:

将数据字典与用户数据分离; 将回退数据与用户数据分离;

将表空间的数据文件分散保存到不同的硬盘上; 为不同的应用创建独立的表空间。

利用手动管理方式,如何有效管理数据块的使用?

DBA可以利用手动管理方式,通过为段设置PCTFREE和PCTUSED两个参数来控制数据块中空闲空间的使用。

数据库中常用的段有哪几种,分别起什么作用?

根据存储对象类型不同,可以分为数据段、索引段、临时段和回退段四类。数据段用来存储表或簇的数据。索引段用来存放索引信息,包括ROWID和索引键值。临时段用来保存SQL语句在解释和执行过程中所产生的临时数据。回退段用于保存数据修改之前的信息,包括数据修改前的值及其位置,即记录数据库中所有事务修改之前信息的段。

说明回退段的作用,以及回退段的管理方式。

利用回退段中保存的信息,可以实现事务回滚、数据库恢复和数据的读一致性。回退段的管理有两种方式,即自动撤销管理和手动撤销管理。

第8章 数据库实例与操作模式

(1)说明数据库实例的概念及其结构

数据库实例是数据库系统的软件结构,由内存结构与后台进程组成,处于用户与物理数据库之间,实现对数据库的操作。

(2)说明数据库内存结构中SGA和PGA的组成,以及这两个内存区存放信息的区别 SGA区由数据缓冲区、共享池、重做日志缓冲区、大型池、JAVA池构成;PGA区由排序区、私有SQL区以及堆栈构成。SGA区是由Oracle分配的共享内存结构,包含一个数据库实例共享的数据和控制信息。当多个用户同时连接同一个实例时,SGA区数据供多个用户共享,所以SGA区又称为共享全局区。用户对数据库的各种操作主要在SGA区中进行。该内存区随数据库实例的创建而分配,随实例的终止而释放。PGA区是在用户进程连接数据库,创建一个会话时,由Oracle为用户分配的内存区域,保存当前用户私有的数据和控制信息,因此该区又称为私有全局区。每个服务器进程只能访问自己的PGA区,所有服务器进程PGA区总和即为实例的PGA区的大小。

(3)简述Oracle数据库SGA中重做日志缓冲区、数据告诉缓冲区及共享池的功能

数据高速缓冲区存储的是最近从数据文件中检索出来的数据,供所有用户共享。当用户要操作数据库中的数据时,先由服务器进程将数据从磁盘的数据文件读到数据高速缓冲区中,然后在缓冲区中进行处理。重做日志缓冲区用于缓存用户对数据库进行修改操作时生成的重做记录。共享池用于缓存最近执行过的SQL语句、PL/SQL程序和数据字典信息,是对SQL语句、PL/SQL程序进行语法分析、编译、执行的区域。

(4)Oracle数据库进程的类型有哪些?分别完成什么任务?

Oracle数据库进程包括用户进程、服务器进程和后台进程三类。其中,用户进程用户建立用户数据库服务器的连接;服务器进程接受用户连接请求;后台进程实现数据库的后台操作。

(5)Oracle数据库后台进程有哪些?其功能是什么? Oracle实例的主要后台进程包括数据库写进程(DBWR)、日志写进程(LGWR)、检查点进程(CKPT)、系统监控进程(SMON)、进程监控进程(PMON)、归档进程(ARCH)、恢复进程(RECO)、锁进程(LCKn)、调度进程(Dnnn)等。

DBWR进程负责把数据高速缓冲区中已经被修改过的数据(“脏”缓存块)成批写入数据文件中永久保存,同时使数据高速缓冲区有更多的空闲缓存块,保证服务器进程将所需要的数据从数据文件读取到数据高速缓冲区中,提高缓存命中率。

LGWR日志写入进程负责把重做日志缓冲区的重做记录写入重做日志文件中永久保存。 CKPT进程的作用就是执行检查点,更新控制文件与数据文件的头部,使其同步;,触发DBWR进程,将脏缓存块写入数据文件。

SMON进程的主要功能包括:在实例启动时负责对数据库进行恢复;回收不再使用的临时空间;将各个表空间的空闲碎片合并。

PMON进程的主要功能包括:负责恢复失败的用户进程或服务器进程,并且释放进程所占用的资源;清除非正常中断的用户进程留下的孤儿会话,回退未提交的事务,释放会话所占用的锁、SGA、PGA等资源;监控调度进程和服务器进程的状态,如果它们失败,则尝试重新启动它们,并释放它们所占用的各种资源。

ARCH进程用户归档重做日志文件。

RECO进程用户数据库恢复。 (6)DBWR进程是如何工作的

数据库写入进程负责把数据高速缓冲区中已经被修改过的数据(“脏”缓存块)成批写入数据文件中永久保存,同时使数据高速缓冲区有更多的空闲缓存块,保证服务器进程将所需要的数据从数据文件读取到数据高速缓冲区中,提高缓存命中率。

当下列某个条件满足时,DBWR进程将启动,将数据高速缓冲区中的脏数据写入数据文件。

服务器进程在数据高速缓存区中搜索一定数量的缓存块后,仍然没有找不到可用的空闲缓存块,此时DBWR进程将被启动。

检查点发生时,将启动DBWR进程。

当数据高速缓冲区中LRU列表长度达到初始化参数DB_BLOCK_WRITE_BATCH指定值的一半时,DBWR进程将被启动。

DBWR进程发生超时(大约3秒),DBWR进程将被启动。 (7)LGWR进程是如何工作的

日志写入进程负责把重做日志缓冲区的重做记录写入重做日志文件中永久保存。

DBWR进程在工作之前,需要了解LGWR进程是否已经把相关的日志缓冲区中的重做记录写入重做日志文件中。如果还没有写入重做日志文件,DBWR进程将通知LGWR进程完成相应的工作,然后DBWR进程才开始写入。这样可以保证先将与脏缓存块相关的重做记录信息写入重做日志文件,然后将脏缓存块写入数据文件,即先写重做日志文件,后写数据文件。

当下列事件发生时,LGWR进程将重做日志缓冲区中的重做记录写入重做日志文件。 用户通过COMMIT语句提交当前事务。 重做日志缓冲区被写满三分之一。

DBWR进程开始将脏缓存块写入数据文件。 LGWR进程超时(大约3秒),LGWR进程将启动。 (8)分别说明SMON进程与PMON进程的功能是什么

SMON进程的主要功能包括:在实例启动时负责对数据库进行恢复;回收不再使用的临时空间;将各个表空间的空闲碎片合并。

PMON进程的主要功能包括:负责恢复失败的用户进程或服务器进程,并且释放进程所占用的资源;清除非正常中断的用户进程留下的孤儿会话,回退未提交的事务,释放会话所占用的锁、SGA、PGA等资源;监控调度进程和服务器进程的状态,如果它们失败,则尝试重新启动它们,并释放它们所占用的各种资源。

第9章

(1)Oracle数据库的工作模式有哪两种?它们之间有何不同?

在Oracle数据库中,数据库的操作模式分为专用服务器(DELICATED SERVER)模式和多线程服务器(MULTITHREADED SERVER)模式两种。其中,在专用服务器模式中为每个用户进程创建一个服务器进程,用户进程与服务器进程之间是1:1的关系;在共享服务器模式中,一个服务器进程可以为多个用户进程服务器。

(2)说明Oracle专用服务器工作模式的工作过程 专用服务器模式工作过程

用户进程向一个数据库实例发出连接请求。

位于数据库服务器中的Oracle监听程序探测到用户进程请求后,首先验证用户进程提供的用户名和口令,验证通过后建议一个专用的服务器进程为该用户进程提供服务。

用户提交一条SQL语句。

专用服务器进程首先判断在共享SQL工作区中是否存在类似的SQL语句。如果不存在,将为这条SQL语句分配新的共享SQL工作区,然后解析该语句。在解析过程中,服务器进程将检查该语句的语法正确性。同时,该语句的私有数据和信息保存到服务器进程的PGA中。

解析完成后,服务器进程开始在数据高速缓冲区中寻找SQL语句所要求的数据。如果数据不在数据高速缓冲区中,还需要从数据文件中将所需要的数据读取到数据高速缓冲区中。

服务器进程执行SQL语句。如果SQL语句要对数据进行更改,仅在数据高速缓冲区中对缓存块进行更改,并将更改所生成的重做记录保存在重做日志缓存中。将来,由LGWR进程将重做记录写入重做日志文件,由DBWR进程将脏缓存块写入数据文件。

执行完毕后,服务器进程将结果返回给用户进程。 第10章 数据库的启动与关闭

(1)可以进行Oracle数据库启动与关闭管理的工具有哪些?

常用的数据库启动与关闭工具包括:SQL*PLUS、OEM、RMAN等。 (2)说明数据库启动的过程。

数据库启动时首先根据初始化参数文件创建并启动实例,然后根据控制文件加载数据文件和充作日志文件,最后打开数据文件和重做日志文件。

(3)说明说据库关闭的步骤。

数据库关闭时首先关闭数据文件和重做日志文件,然后卸载数据文件和重做日志文件,关闭控制文件,最后释放内存结构和后台进程,即关闭实例。

(4)说明在数据库启动和关闭的过程中,初始化参数文件、控制文件、重做日志文件的作用。 利用初始化参数文件中参数设置创建并启动实例;

利用控制文件中的信息定位并加载数据文件和重做日志文件。

重做日志文件用户在数据库运行过程中记录用户对数据库的修改操作。 (5)在SQL*Plus环境中,数据库启动模式有哪些?分别适合哪些管理操作? 数据库启动模式包括: STARTUP NOMOUNT

用于创建一个新的数据库或重建数据库的控制文件。 STARTUP MOUNT

用于重命名数据文件、添加、删除或重命名重做日志文件、改变数据库的归档模式、执行数据库完全恢复操作等。

STARTUP NORMAL 正常启动数据库 STARTUP FORCE

在下列情况下,需要使用STARTUP FORCE命令启动数据库:无法使用SHUTDOWN NORMAL,SHUTDOWN IMMEDIATE或SHUTDOWN TRANSACTION语句关闭数据库实例;在启动实例时出现无法恢复的错误。

STARTUP RESTRICT

当执行下列操作时,需要使用STARTUP RESTRICT命令启动数据库:执行数据库数据的导出或导入操作;执行数据装载操作;暂时阻止普通用户连接数据库;进行数据库移植或升级操作等。

(6)在SQL*Plus环境中,数据库关闭有哪些方法?分别有什么特点? 关闭数据库的方法包括: SHUTDOWN [ NORMAL ]

如果对数据库的关闭没有时间限制,则可以采用该命令正常关闭数据库。 当采用SHUTDOWN NORAML方式关闭数据库时,Oracle将执行下列操作: 阻止任何用户建立新的连接;

等待当前所有正在连接的用户主动断开连接; 一旦所有用户断开连接,则关闭数据库;

数据库下次启动时不需要任何实例的恢复过程。 SHUTDOWN IMMEDIATE

如果要求在尽可能短时间内关闭数据库,如即将启动数据库备份操作、即将发生电力供应中断、数据库本身或某个数据库应用程序发生异常需要关闭数据库等,都可以采用SHUTDOWN IMMEDIATE命令来立即关闭数据库。

当采用SHUTDOWN IMMEDIATE方式关闭数据库时,Oracle将执行下列操作: 阻止任何用户建立新的连接,也不允许当前连接用户启动任何新的事务; 回滚所有当前未提交的事务;

终止所有用户的连接,直接关闭数据库;

数据库下一次启动时不需要任何实例的恢复过程。 SHUTDOWN TRANSACTION

如果要求在尽量短的时间内关闭数据库,同时还要保证所有当前活动事务可以提交,则可以采用SHUTDOWN TRANSACTION命令关闭数据。

当采用SHUTDOWN TRANSACTION方式关闭数据库时,Oracle将执行下列操作: 阻止所有用户建立新的连接,也不允许当前连接用户启动任何新的事务; 等待用户回滚或提交任何当前未提交的事务,然后立即断开用户连接; 关闭数据库;

数据库下一次启动时不需要任何实例的恢复过程。

SHUTDOWN ABORT

如果前三种方法都无法成功关闭数据库,说明数据库产生了严重错误,只能采用终止方式,即SHUTDOWN ABORT命令来关闭数据库,此时会丢失一部分数据信息,对数据库完整性造成损害。

当采用SHUTDOWN ABORT方式关闭数据库时,Oracle将执行下列操作: 阻止任何用户建立新的连接,同时阻止当前连接用户开始任何新的事务。 立即结束当前正在执行的SQL语句。 任何未提交的事务不被回滚。

中断所有的用户连接,立即关闭数据库。 数据库实例重启后需要恢复。

(7)说明数据库在STARTUP NOMOUNT,STARTUP MOUNT模式下可以进行的管理操作。 STARTUP NOMOUNT可用完成的管理操作包括:

用于创建一个新的数据库、重建数据库的控制文件等。 STARTUP MOUNT可以完成的管理操作包括:

用于重命名数据文件、添加、删除或重命名重做日志文件、改变数据库的归档模式、执行数据库完全恢复操作等。

(9)数据库的静默状态与挂起状态有何区别?

所谓的静默状态是指只允许DBA用户在数据库中进行操作,而其他所有用户都不能进行数据库的访问。DBA在进行数据库的管理与维护,执行某些特殊操作时,需要排除其他用户对数据库的操作。例如,DBA在执行某些操作的程中,如果有其他用户访问操作的对象,将导致管理操作失败;DBA的某些操作在执行过程中所产生的中间结果不应当被其他用户看到。

当数据库处于挂起状态时,数据库所有的物理文件的I/O操作都被暂停。但是与静默状态不同,挂起状态不禁止非DBA用户进行数据库操作,只是暂时停止所有用户的I/O操作

(10)说明数据库启动时读取默认初始化参数文件的状况,以及如何利用非默认的初始化参数文件启动数据库。

数据库启动时首先从默认位置读取服务器端初始化参数文件,如果没有,则读取默认位置的文本初始化参数文件;如果还没有则可以通过PFILE参数指定文本初始化参数文件文件。

第11章 模式对象

(1)说明数据库模式与用户之间的区别。

数据库模式与用户之间的区别在于:用户是数据库的使用者和管理者,用户具有帐户状态、访问权限和操作权限等属性。模式是一系列逻辑数据结构或对象的集合,是数据库中对象的组织和管理单位。

(2)数据库中有哪些类型的表,各有什么特征?

在Oracle 数据库中,根据表生存周期不同,可以分为永久性表和临时表;根据表中数据组织方式不同,可以分为标准表、索引化表和分区表。索引化表是一种特殊的表,它按B树的结构来组织和存储数据,将表的数据和索引的数据存储在一起。分区表是将一个表分成若干个独立的组成部分进行存储和管理。

(3)表的约束有哪几种,分别起什么作用? 表的约束包括:

主键约束:定义了主键约束的列取值不能为空,也不能重复。 唯一值约束:定义了唯一值约束的列取值不能重复。 检查约束:定义了检查约束的列取值要满足检查条件。

外键约束:定义了外键约束的列取值要么是主表参照列的值,要么是空值。 空/非空约束:定义了非空约束的列取值不能为空。

(4)说明索引的作用,以及Oracle数据库中索引的类型。

索引用于提高数据的查询效率。根据索引值是否唯一,可以分为唯一性索引和非唯一性索引;根据索引的组织结构不同,可以分为平衡树索引和位图索引;根据索引基于的列数不同可以分为单列索引和复合索引。

(5)说明索引化表的特点,以及如何设置索引化表的溢出功能。

索引化表将按索引的结构组织表中的数据,整条记录都被保存在索引条目中。要启用溢出存储功能,必须在创建索引化表时使用OVERFLOW子句指定溢出部分的存储空间,同时使用PCTTHRESHOLD子句或INCLUDING子句来设置溢出方式。

(6)简述Oracle数据库中分区的概念,对表和索引进行分区管理有何优点?

所谓分区是指将一个巨型表或巨型索引分成若干个独立的组成部分进行存储和管理,每一个小的、可以独立管理的部分,称为原来表或索引的分区。对巨型表进行分区后,即可以对整个表进行操作,也可以针对特定的分区进行操作,从而简化了对表的管理和维护。

(7)对表进行分区的方法有哪些?如何实现? 对表进行分区的方法包括:

范围分区:按照分区值的范围对表进行分区。 列表分区:按照分区值对表进行分区。

散列分区:采用HASH算法在指定数量的分区中均等地分配数据。 复合分区:先对表进行范围分区,然后对每个分区进行散列分区。 (8)说明簇、视图、序列、同义词和数据库链接的概念及作用。

簇是一种存储表数据的方法,一个簇由共享相同数据块的一组表组成。在一个簇中,Oracle将多个表中具有相同相关列的记录聚簇在相同的数据块中。对于经常访问这些列的应用来说,能够减少磁盘I/O时间,改善连接查询的效率。

视图是从一个或多个表或视图中提取出来的数据的一种表现形式。在数据库中只有视图的定义,而没有实际对应“表”的存在。通过视图的使用可以提高数据的安全性,隐藏数据的复杂性,简化查询语句,分离应用程序与基础表,保存复杂查询等。

序列是用于产生唯一序列号的数据库对象,可以为多个数据库用户依次生成不重复的连续整数,通常使用序列自动生成表中的主键值。

同义词是数据库中表、索引、视图或其他模式对象的一个别名。利用同义词,一方面可以为数据库对象提供一定的安全性保障;另一方面可以简化对象访问。此外,当数据库对象改变时,只需要修改同义词而不需要修改应用程序。

数据库链接是在分布式数据库应用环境中的一个数据库与另一个数据库之间的通信途径,将远程数据库映射到本地。所有能够访问本地数据库链接的应用程序均可访问远程数据库中的模式对象。

(9)说明数据库中使用索引的优点和缺点,索引是如何工作的?

在数据库中使用索引可以提高对表中数据的查询速度,但是,向表中插入数据需要更新索引,会影响更新速度。如果表建了索引,在有条件查询时,系统先对索引表进行查询,利用索引表可以找到相应记录的ROWID。索引建好后,由系统负责更新。

(10)说明数据库中临时表的种类、创建表的方法有哪些?

数据库中临时表分为事务级别的临时表和会话级别的临时表。创建表有三种方法: 定义表名、列名、类型与约束等直接创建表;利用子查询间接创建表。

第12章 安全管理

Oracle数据库的安全控制机制有哪些?

Oracle数据库的安全机制包括:用户管理、权限管理、角色管理、表空间设置和配额管理、用户资源限制以及数据库审计等。

(2)Oracle数据库用户的认证方式有哪几种?

Oracle提供了3种用户认证机制,即数据库身份认证、外部身份认证和全局身份认证。只有通过认证的用户才能访问数据库。

(3)Oracle数据库中的权限有哪几种? Oracle数据库中权限有两类,系统权限和对象权限。系统权限是指在数据库级别执行某种操作的权限,或针对某一类对象执行某种操作的权限。对象权限是指对某个特定的数据库对象执行某种操作的权限。例如,对特定表的插入、删除、修改、查询的权限。

(4)Oracle数据库中给用户授权的方法有哪几种,如何实现?

在Oracle数据库中,将权限授予用户有2种方法:直接授权,利用GRANT命令直接为用户授权;间接授权,先将权限授予角色,然后再将角色授予用户。

(5)简述Oracle数据库角色的种类、作用,以及如何利用角色为用户授权。

Oracle数据库中角色分为系统预定义的角色和用户自定义的角色两类。角色是一系列权限的集合,可以先将权限授予角色,然后将角色授予具有相同权限的用户。

(6)Oracle数据库系统权限的授予与回收和对象权限的授予与回收的区别是什么?

系统权限授予与回收时不需要指定权限的所有者,因为系统权限是数据库级别的权限;而对象权限的授予与回收需要指定权限所依附的数据库对象。

(7)简述Oracle数据库概要文件的作用。

Oracle数据库概要文件主要用来限制用户的数据库及系统资源的使用以及管理用户口令策略。 (8)分别列举5种常用的系统权限、对象权限和3个角色,并说明如何设置。 常用的系统权限包括:CREATE TABLE、CREATE VIEW、CREATE SESSION、CREATE ANY TABLE、CREATE USER等;常用的对象权限包括:SELECT、UPDATE、DELETE、INSERT、ALTER等;常用角

色包括:CONNECT、DBA、RESOURCE、EXP_FULL_DATABASE、IMP_FULL_DATABASE

(9)数据库概要文件资源控制参数包括:

CPU_PER_SESSION :限制用户在一次会话期间可以占用的CPU 时间总量,单位为百分之一秒。当达到该时间限制后,用户就不能在会话中执行任何操作了,必须断开连接,然后重新建立连接。

CPU_PER_CALL:限制每个调用可以占用的CPU 时间总量,单位为百分之一秒。当一个SQL语句执行时间达到该限制后,该语句以错误信息结束。

CONNECT_TIME:限制每个会话可持续最大时间值,单位为分钟。当数据库连接持续时间超出该设置时,连接被断开。

IDLE_TIME:限制每个会话处于连续空闲状态最大时间值,单位为分钟。当会话空闲时间超过该设置时,连接将被断开。

SESSIONS_PER_USER:限制一个用户打开数据库会话的最大数量。

LOGICAL_READS_PER_SESSION:允许一个会话读取数据块的最大数量,包括从内存中读取的数据块和从磁盘中读取的数据块的总和。

LOGICAL_READS_PER_CALL :允许一个调用读取的数据块的最大数量,包括从内存中读取的数据块和从磁盘中读取的数据块的总和。

PRIVATE_SGA:在共享服务器操作模式中,执行SQL语句或PL/SQL程序时,Oracle将在SGA中创建私有SQL区。该参数限制在SGA中一个会话可分配私有SQL区的最大值。

COMPOSITE_LIMIT :称为“综合资源限制”,是一个用户会话可以消耗的资源总限额。该参数由CPU_PER_SESSION、 LOGICAL_READS_PER_SESSION、 PRIVATE_SGA、 CONNECT_TIME几个参数综合决定。

(10)概要文件中的口令管理参数包括:

FAILED_LOGIN_ATTEMPTS:该参数限制用户在登录Oracle数据库时允许失败的次数。一个用户尝试登录数据库的次数达到该值时,该用户的账户将被锁定,只有解锁后才可以使用。

PASSWORD_LOCK_TIME:该参数用于设定当用户登录失败后,用户账户被锁定的时间长度。 PASSWORD_LIFE_TIME:该参数用于设置用户口令有效天数。达到限制的天数后,该口令将过期,需要设置口令。

PASSWORD_GRACE_TIME:用于设定在PASSWORD_LIFE_TIME过期后一个天数。在这几天中,用户将接收到一个关于口令过期需要修改口令的警告。当达到规定的天数后,原口令过期。

PASSWORD_REUSE_MAX:该参数用于指定一个用户口令被修改后,必须经过多少天后才可以重新使用该口令。

PASSWORD_REUSE_TIME:该参数用于指定一个口令被重新使用前,必须经过多少次修改。 PASSWORD_VERIFY_FUNCTION:设置口令复杂性校验函数。

第15章PL/SQL程序设计 1.简答题

PL/SQL语言是Oracle数据库专用的一种高级程序设计语言,是对标准SQL语言进行了过程化扩展的语言。具有如下特点:

与SQL语言紧密集成,所有的SQL语句在PL/SQL中都得到支持; 减小网络流量,提高应用程序的运行性能。 模块化的程序设计功能,提高系统可靠性。 服务器端程序设计,可移植性好。

PL/SQL程序的基本单元是语句块,所有的PL/SQL程序都是由语句块构成的,语句块之间可以相互嵌套,每个语句块完成特定的功能。

声明部分:以关键字DECLARE开始,BEGIN结束。主要用于声明变量、常量、数据类型、游标、异常处理名称以及本地(局部)子程序定义等。

执行部分:是PL/SQL块的功能实现部分,以关键字BEGIN开始,EXCEPTION或END结束(如果PL/SQL块中没有异常处理部分,则以END结束)。该部分通过变量赋值、流程控制、数据查询、数据操纵、数据定义、事务控制、游标处理等实现块的功能。

异常处理部分:以关键字EXCEPTION开始,END结束。该部分用于处理该块执行过程中产生的异常。

PL/SQL程序中的选择结构有两种类型,分别为IF系列和CASE系列。循环结构包括简单循环、WHILE

循坏、FOR循环三种。

游标的作用是将数据库的中数据检索出来后缓存,可以被PL/SQL程序一行一行的读取并处理。支持一条、多条、零条记录的处理。游标的基本操作步骤为声明游标、打开游标、检索游标、关闭游标。

Oracle中的命名块经过编译后可以存储在数据库服务器端,供用户从不同的客户端调用。常用的命名块包括存储过程、函数、包和触发器。其中,过程用于实现某特定操作;函数用户将运行结果返回给用户;包是一系列过程、函数、常量等集合;触发器是特定的事件处理器,当特定的事件发生时,系统自动进行调用执行。

触发器包括DML触发器、INSTEAD-OF触发器和系统触发器。其中,DML触发器主要作用于表,其事件有INSERT、UPDATE、DELETE;INSTEAD-OF触发器主要主用于视图,其事件有INSERT、UPDATE、DELETE;系统触发器主要是DML事件和系统事件发生时调用的触发器,其中DML事件包括CREATE、DROP、ALTER等,系统事件包括LOGON、LOGOFF、STARTUP、SHUTDOWN、SERVERERROR等。

DML触发器执行顺序为:

如果存在,执行语句级前触发器。 对于受触发事件影响的每一个记录: 如果存在,执行行级前触发器;

执行当前记录的DML操作(触发事件); 如果存在,执行行级后触发器。 如果存在,执行语句级后触发器。

DML触发器中的语句级触发器是激发触发器的SQL语句不管涉及到多少记录,触发器只执行一次,而行级触发器是激发触发器的SQL语句涉及到多少记录,触发器就执行多少次。通常,如果要获取当前操作记录的信息,需要采用行级触发器,而如果需要获取整个操作之前或操作之后的信息,可以采用语句级触发器。

基于数据库的系统触发器是只要数据库中相应事件发生,触发器就执行,与用户没有关系;而模式级别的触发器只有特定用户操作中的特定事件发生时触发器才执行。

PL/SQL命名块可以一次编译多次执行,可以放在服务器端由不同客户端用户调用;而匿名块只能一次性执行,不能被其他用户调用。

本文来源:https://www.bwwdw.com/article/h11a.html

Top