Oracle数据库管理习题及答案11_第1页
Oracle数据库管理习题及答案11_第2页
Oracle数据库管理习题及答案11_第3页
Oracle数据库管理习题及答案11_第4页
Oracle数据库管理习题及答案11_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第页1.6习题一.填空题1、关系模型提供了3类完整性规则,分别是_______、_______、_______。参考答案:实体完整性规则、参照完整性规则、用户定义的完整性规则2、RDBMS由两部分组成,即_______、_______两部分。答案:数据库系统内核、数据字典3、关系数据库模型支持三种类型的表关联关系:_______、_______、_______。答案:一对一、一对多以及多对多4、数据模型的种类有很多,例如_______、_______、_______和_______等。目前理论最成熟、使用最普及的是_______。答案:层次模型、网状模型、关系数据模型、面向对象模型。关系数据模型二、选择题1、Oracle11g版本号中字母“g”的含义是()A.产品类型的“代”(generation) B.网格(gridding)C.集成(integration) D.无含义 答案:A设计性能较优的关系模式称为规范化,规范化主要的理论依据是( )A.关系规范化理论 B.关系运算理论 C.关系代数理论 D.数理逻辑 答案:A 3、消除了部分函数依赖的1NF的关系模式必定是( ) A.1NF B.2NF C.3NF D.4NF 答案:B4、当B属于函数依赖于A属性时,属性B及A的联系是( )A.1对多B.多对1C.多对多 D.答案:B5、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。下面“部门”关系中,因哪个属性而使它不满足第一范式?部门(部门号,部门名,部门成员,部门总经理)A.部门总经理 B.部门成员C.部门名 D.部门号 答案:B 6、下列不属于Oracle数据库数据类型的是( ) A.NUMBER B.FLOAT C.CLOB D.BOOLEAN 答案:D三、简答题 1、简述数据库及数据库管理系统的区别。参考答案:数据库是用来存储信息或数据的机制,是按照数据结构来组织、存储和管理数据的仓库。可以被定义为是在计算机存储设备上合理存放的,互相关联的数据集合。数据库管理系统,它是基于某种结构数据模型、以统一的方式管理和维护数据库,并提供访问数据库接口的通用软件。2、简述数据库规范化的概念及其作用。参考答案:数据库规范化,又称数据库或资料库正规化、标准化,是数据库设计中的一系列原理和技术,以减少数据库中数据冗余,增进数据的一致性。四、应用题1、设有一教学管理数据库,其属性为:学号(S#),课程号(C#),成绩(G),任课教师(TN),教师所在的系(D)。这些数据有下列语义:学号和课程号分别及其代表的学生和课程一一对应。一个学生所修的每门课程都有一个成绩。每门课程只有一位任课教师,但每位教师可以有多门课程。教师中没有重名,每个教师只属于一个系。(1)试根据上述语义确定函数依赖集。(2)如果用上面所有属性组成一个关系模式,那么该关系模式为何模式?并举例说明在进行增、删操作时的异常现象。(3)分解为具有依赖保持和无损连接的3NF。参考答案:(1)F={(S#,C#)→G,C#→TN,TN→D}(2)关系模式为1NF,因为该关系模式的候选码为(S#,C#),则非主属性有G,TN和D。又∵F中有C#→TN,∴存在非主属性TN对候选码(S#,C#)的部分依赖,即:若新增设一门课程而暂时还没有学生选修时,则因缺少码S#值而不能进行插入操作。若某个教师调离学校要删除有关信息时,会将不该删除的课程(C#)信息删除。(3)∵Fm={(S#,C#)→G,C#→TN,TN→D}∴ρ={R1,R2,R3}其中:R1=(S#,C#,G)R2=(C#,TN)R3=(TN,D)2.7习题一、填空题1、常用的Oracle服务主要有如下四种,分别是_______、_______、_______、_______。参考答案:OracleDBConsoleorcl、OracleJobScheduler<SID>、OracleService<SID>、Oracle<ORACLE_HOME_NAME>TNSListener2、Oracle数据库启动的三个阶段是:_______、_______、_______。参考答案:启动实例、打开控制文件、打开数据库3、Oracle数据库关闭的四个选项是:_______、_______、_______、_______。参考答案:normal、immediate、transaction、abort二、选择题1、系统标识符(SID)是指唯一在网络域中区别于其他数据库的数据库实例名,下面合法的SID是( )A.my2orcl B.myoracletest C.my_orcl D.my@orcl 参考答案:A2、安装OracleDatabase11g可以选择安装类型,下列不属于OracleDatabase11g的安装类型是( )A.企业版 B.个人版 C.定制 D.免费版 参考答案:D三、简答题 1、简述OracleDatabase11g在Windows系统下的安装步骤。参考答案:选择安装方法、选择安装类型、指定主目录详细信息、产品特定的先决条件检查、选择配置选项、安装、安装结束。2、简述Oracle中用户和模式的关系。参考答案:用户是用连接数据库和访问数据库对象的。模式是数据库对象的集合。模式对象是数据库数据的逻辑结构。通俗地说,模式是用来创建oracle中各种对象,而用户用来连接数据库并访问模式中对象,在oracle中模式及用户是一一对应关系。四、上机练习1、按照书中步骤,正确安装OracleDatabase11g,创建数据库,并且创建用户。2、从操作系统提示符界面,采用上题创建的用户登录数据库,并创建EMPLOYEES表进行测试。(表结构如下图)3、客户端连接Oracle数据库时,默认端口为1521。创建一个新的监听程序,其端口为1522。然后将ORCL注册于该监听程序。3.5习题一、填空题1.查看表结构时,所使用的命令是___________,该命令可以简写为___________。参考答案:DESCRIBE、DESC2.使用SQL*Plus语句快速编辑SQL语句时,可以使用的命令有APPEND(可以简写为A)命令、___________(可以简写为C)命令、___________(可以简写为I)、___________(可简写为L)命令,以及RUN(可以简写为R)命令。参考答案:CHANGE、INPUT、LIST3.在SQL*Plus工具中,可以使用SAVE命令将缓冲区内容保存到文件;可以使用___________命令读取并运行文件内容;可以使用___________命令编辑缓冲区内容或文件内容;还可以使用SPOOL命令复制输出结果到文件。参考答案:START、EDIT4.在SQL语句中,如果在某个变量前面使用了&符号,那么就表示该变量是一个临时变量。定义变量,可以使用___________或ACCEPT命令;删除变量,可以使用UNDEFINE命令。参考答案:DEFINE5.在SQL*Plus中格式化查询结果时,COLUMN命令可以对列格式化显示效果,PAGESIZE命令可以___________,LINESIZE命令可以___________。参考答案:设置页的大小、设置行宽度6.创建简单报表时,使用___________命令和___________命令,分别为报表设置页眉和页脚信息。参考答案:Ttitle、Btitle二、选择题1.在SQL*Plus中连接数据库时,可以使用CONNECT命令。下面的4个选项中,哪个命令是正确的?其中,用户名为scott,密码为tiger,数据库名为orcl。( )A.CONNECTscott/tiger;B.CONNECTtiger/scott;C.CONNscott/tigerassysdba;D.CONNscott/tiger@orclassysdba;参考答案:D2.执行语句SAVEscott_emp_query.sqlAPPEND,执行结果表示( )。A.如果scottemp_query.sql文件不存在,则出现错误B.如果scottemp_query.sql文件已经存在,则出现错误C.将缓冲区中的内容追加到scott_emp_query.sql文件中。如果该文件不存在,会创建该文件D.将缓冲区中的內容替换掉scott_emp_query.sql文件的内容。如果该文件不存在,会创建该文件参考答案:C3.使用SQL*Plus中的___________,可以将文件中的内容检索到缓冲区,并且不执行。( )A.SAVE命令B.GET命令C.START命令D.SPOOL命令参考答案:B4.下面是有关变量的描述,请问哪些描述是正确的?( )A.临时变量是指仅在某个SQL语句中有效的变量B.临时变量是在某个会话期间有效的变量C.已定义变量是指明确定义,其生命期至显式地删除、重新定义或退出SQL*Plus为止D.已定义的变量是不能被删除的参考答案:B、C5.如果希望控制列的显式格式,那么可以使用下面的___________命令( )A.SHOWB.DEFINEC.SPOOLD.COLUMN参考答案:D三、简答题1.使用DESCRIBE命令,查看scott用户的dept表的结构信息。参考答案:descscott.dept2.使用SAVE命令将缓冲区内容写入到e:\test.sql文件中;然后使用START命令将文件中的內容读入到缓冲区,并且进行执行。参考答案:savee:\test.sql Starte:\test.sql3.执行下列语句,观察输出结果:DEFINEtemp=5000SELECTempno,ename,mgrFROMscott.empWHEREsal>=&temp;参考答案:略4.对scott用户的emp表的输出信息进行格式设置。其中,empno列设置标题为“员工编号”,NUMBER格式为9999;ename列设置标题为“员工名称”,格式设置为25个字符;hiredate列设置标题为“受雇日期”,并且标题居中显示。参考答案:colempnoheading‘员工编号’format9999;colenameheading‘员工名称’forA25;colhiredateheading’受雇日期’justifycenter;5.设置一页显示30行数据,并且设置一行显示130个字符,然后输出scott用户的emp表的全部信息。参考答案:SETPAGESIZE30 SETLINESIZE130 SELECT*FROMSCOTT.EMP四、操作练习下载SQLDeveloper,建立Oracle数据库的连接,按照书中所述步骤,操作熟悉SQLDeveloper的使用。4.5习题一、填空题1.如果需要在SELECT子句中包括一个表的所有列,可以使用符号___________。参考答案:*2.WHERE子句可以接收FROM子句输出的数据;而HAVING子句可以接收来自FROM、___________或___________子句的输出的数据。参考答案:WHERE、GROUP3.在SELECT语句中,分组条件的子句是___________,对显示的数据进行排序的子句是___________。参考答案:GROUPBY、ORDERBY4.在DML语句中,INSERT语句可以实现插入记录,___________语句可以实现更新记录,___________语句和___________语句可以实现删除记录。参考答案:UPDATE、DELETE、TURNCATE5.___________函数可以返回某个数值的ASCII值,___________函数可以返回某个ASCII值对应的十进制数。参考答案:ASCII、CHR6.使用___________函数,可以把数字或日期类型的数据转换成字符串;使用TO_DATE函数,可以把___________转换成___________,默认的日期格式为___________。参考答案:TO_CHAR、字符串、日期型、yyyy-MM-ddHH:mm:ss二、选择题1.查询scott用户的emp表中的总记录数,可以使用下列哪个语句?( )A.SELECTMAX(empno)FROMscott.emp;B.SELECTCOUNT(empno)FROMscott.emp;C.SELECTCOUNT(comm)FROMscott.emp;D.SELECTCOUNT(*)FROMscott.emp;参考答案:D2.为了去除结果集中的重复行,可以在SELECT中使用下列哪个关键字?( )A.ALL B.DISTINCT C.UPDATA D.MERGE参考答案:B3.在SELECT语句中,HAVING子句的作用是( )A.查询结果的分组条件 B.组的筛选条件C.限定返回的行的判断条件 D.对结果集进行排序参考答案:B4.下列哪个聚合函数可以把一个列中的所有值相加求和?( )A.MAX函数 B.MIN函数 C.COUNT函数 D.SUM函数参考答案:A5.如果要统计表中有多少行记录,应该使用下列哪个聚合函数?( )A.SUM函数 B.AVG函数 C.COUNT函数 D.MAX函数参考答案:C三、简答题1.标准SQL语言的语句类型可以分为哪三大类,每种语句类型分别用来操纵哪些语句?参考答案:数据操纵语言(DML):用来操纵数据库中数据的命令。包括:select、insert、update、delete。

数据定义语言(DDL):用来建立数据库、数据库对象和定义列的命令。包括:create、alter、drop。

数据控制语言(DCL):用来控制数据库组件的存取许可、权限等的命令。包括:grant、deny、revoke。2.列举几个在WHERE条件中可以使用的操作符。参考答案:使用=、>、>=、<、<=、<>符号和BETWEEN。。。AND。。。、IN(set)、LIKE、ISNULL。3.如果要按照降序对数据进行排序,应该在ORDERBY子句中使用哪个关键字?参考答案:DESC4.下面这个SELECT语句能否输出查询结果?如果不能,该如何修改?SELECTempno,ename,deptno,COUNT(*)FROMscott.empGROUPBYdeptno 参考答案:不能。SELECTdeptno,COUNT(*)FROMscott.empGROUPBYdeptno5.指定一个日期值,例如08-8月-2019,获得这个日期及系统当前日期之间相隔的月份数和天数。参考答案:selectmonths_between('08-8月-2019',sysdate)mon_betwfromdual;5.8习题一、填空题1.按照约束的用途,主要可以将表的完整性约束分为NOTNULL约束、___________、___________、___________和___________。参考答案:Check、UniqueIndex、Primarykey、Foreignkey2.使用___________关键字,可以快速删除表中的所有记录,并且不在撤消表空间中记录撤消数据。参考答案:TRUNCATE3.___________约束用于定义列中不能出现NULL值,___________约束用于定义列中不能出现重复值,而PRIMARYKEY约束则可以定义列中既不允许出现NULL值,也不允许出现重复值。参考答案:NOTNULL、UNIQUE二、选择题1.存储数据123.45,可以使用下面哪种数据类型?( )A.NUMBER B.NUMBER(5) C.NUMBER(5,3) D.NUMBER(5,2)参考答案:D2.如果某列定义了UNIQUE约束,则( )A.该列不允许出现重复值。 B.该列不允许出现NULL值。C.该列內允许出现一个NULL值。 D.该列允许出现多个NULL值。参考答案:A3.为列定义一个CHECK约束,希望该约束能对表中已存储的数据,以及以后向表中添加或修改的数据都进行检查,则应该将该约束设置为如下哪种状态?( )A.ENABLEVALIDATE B.ENABLENOVALIDATEC.DISABLEVALIDATE D.DISABLENOVALIDATE参考答案:A4.使用如下语句创建一个临时表空间temp:CREAT_________TABLESPACEtemp_________‘F:\oraclefole\temp.dbf’SIZE10MAUTOEXTENTONNEXT2MMAXSIZE20M;请从下列选项中选择正确的关键字补充上面的语句。( )A.(不填)、DATAFILEB.TEMP、TEMPFILE C.TEMPORARY、TEMPFILE D.TEMP、DATAFILE参考答案:C5.下列关于约束及索引的说法中哪一项是不正确的?( )A.在字段上定义PRIMARYKEY约束时会自动创建B树惟一索引B.在字段上定义UNIQUE约束时会自动创建B树惟一索引C.在默认的情况下,禁用约束会删除对应的索引,而激活约束会自动重建相应的索引D.在定义FOREIGNKEY约束时会创建B树唯一索引参考答案:D三、简答题1.比较VARCHAR2及CHAR两种数据类型的区别,并举例说明分别在什么情况下使用这两种数据类型。参考答案:CHAR的长度是固定的,VARCHAR2的长度是可以变化的,存储字符串“ABC",对于CHAR(10),表示存储的字符将占10个字节(包括7个空字符),而同样的VARCHAR2(10)则只占用3个字节的长度,10只是最大值,当你存储的字符小于10时,按实际长度存储。VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些。2.创建一个表后,为表中的某列添加CHECK约束,并分别设置该约束的状态为4种不同的状态,比较这4种状态下的约束检查效果。参考答案:略3.建立一个学生表,表结构如下stu_info(stuidnumber,name varchar(20),agenumber(2),sexchar(2),birthdaydate) (1)在数据库中建立stu_info表。 (2)添加主键约束(stuid) (3)添加

check约束(插入的年龄必须大于19岁)(4)添加

非空约束

(要求姓名不能为空值)(5)给上面的表添加

唯一约束(要求姓名不可重复)参考答案:createtablestu_info(stuidnumber,namevarchar(20),agenumber(2),sexchar(2),birthdaydate);ALTERTABLEstu_infoADDCONSTRAINTstu_info_pkPRIMARYKEY(stuid);ALTERTABLEstu_infoADDCONSTRAINTage_checkcheck(age>19);altertablestu_infomodifynamenotnull;ALTERTABLEstu_infoADDCONSTRAINTname_uniunique(name);6.8习题一、填空题 1.为了保证在SQL>方式下进行INSERT、DELETE和UPDATE操作达到安全的目的,一般在SQL>下进行操作前,建议将环境设置成为非自动提交的方式,采用的命令是_______,若想取消操作,采取的命令是_______。参考答案:setautocommitoff、rollback 2.对某步操作设置相应保存点的命令是_______,当根据需要用命令_______来实现撤消到这一步。参考答案:SAVEPOINT、ROLLBACKTO 3.关系数据库中比较常用的SQL中,采用命令_______进行插入,采用_______来进行数据更新,而同时具有更新和插入功能的命令式_______。参考答案:INSERT、UPDATA、MERGE二、选择题1.PL/SQL块中不能直接使用的SQL命令是()。A.SELECTB.INSERTC.UPDATED.DROP参考答案:D2.以零作除数时会引发()异常。A.VALUE_ERROR B.ZERO_DIVIDEC.STORAGE_ERROR D.SELF_IS_NULL参考答案:B3.要更新游标结果集中的当前行,应使用()子句。A.WHERECURRENTOF B.FORUPDATEC.FORDELETE D.FORMODIFY参考答案:A4.下面不是常用的数据对象权限的是()A.DELETE B.REVOKE C.INSERT D.UPDATE参考答案:B5.用于修改表中数据的语句是()A.EDIT B.MODIFY C.UPDATE D.ALTER参考答案:D6.在只读表空间上可以执行以下哪些操作?()A.CREATETABLE B.ALTERTABLEC.DROPTABLE D.INSERT参考答案:C三、简答题1.简述DETELE操作及TRUNCATE操作的异同。参考答案:truncate,可以删除表中的所有记录,释放表空间,只保留表结构。delete,如果没有where条件,也是删除表中的所有记录,但是它不释放空间。TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。RUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比DELETE操作后的表要快得多。2.已有表文件teacher(教师代码(C),姓名(C),学院(C),职称(C),年龄(N)),按照要求写出SQL语句。1.查询职称为"副教授"的教师代码,姓名,学院,职称信息;2.查询学院为“电信学院”并且职称为“讲师”的所有教师的信息,并将查询结果按年龄字段的降序排序。3.将所有教师的年龄加1;4.将表中年龄小于15岁的教师记录加上删除标记;参考答案:(1)select教师代码,姓名,学院。职称fromteacherwhere职称=’副教授’;(2)select*fromteacherwhere学院=’电信学院’and职称=’讲师’orderby年龄desc;(3)updateteacherset年龄=年龄+1;(4)deletefromteacherwhere年龄<153.有一个表T,有两个字段a,b,我们想在表T中做Insert/Update,如果存在,则更新T中b的值,如果不存在,则插入一条记录。假设待Insert/Update的记录为(a=’001’请使用MERGE命令完成。参考答案:MERGE

INTO

T

T1USING

(SELECT

'1001'

AS

a,2

AS

b

FROM

dual)

T2ON

(

T1.a=T2.a)WHEN

MATCHED

THENUPDATE

SET

T1.b

=

T2.bWHEN

NOT

MATCHED

THEN

INSERT

(a,b)

VALUES(T2.a,T2.b);7.5习题一.填空题1.创建视图的命令是_______。若要保证插入或修改的数据行必须满足视图定义的约束,创建时附带的参数是_______;若要保证视图上不能进行任何DML操作,创建时附带的参数是_______。参考答案:CREATEVIEW、WITHCHECK

OPTION、WITHREADONLY2.创建序列的命令是_______。若要使序列的增量为5,创建时附带的参数是_______;若要使序列开始值为10,创建时附带的参数是_______。参考答案:CREATESEQUENCE、INCREMENTBY5、STARTWITH103.视图中的列并不都支持DML操作,通过数据字典___________可以了解视图中哪些列是可更新的。参考答案:user_updatable_columns4.使用___________可以获取序列的当前值,使用___________可以获取下一个值。参考答案:currval、nextval5.如果要清除索引中的存储碎片,可以对索引进行合并或___________。参考答案:重建选择题1.以下哪个视图可以查到用户具有使用权限的表的信息( )A.USER_VIEWS B.USER_TABLESC.ALL_OBJECTS D.USER_OBJECTS 参考答案:C2.要查看当前用户下有哪些数据表格,适用下列哪个视图( )A.USER_TABLE B.TABC.USER_ALL_TABLES D.TABLES_USER 参考答案:C 3.可以使用( )伪列来访问序列。A.CURRVAL和NEXTVAL B.NEXTVAL和PREVALC.CACHE和NOCACHE D.MAXVALUE和MINVALUE参考答案:A4.带有错误的视图可使用( )选项来创建。A.FORCE B.WITHCHECKOPTIONC.CREATEVIEWWITHERROR D.CREATEERRORVIEW参考答案:A5.在联接视图中,当( )时,该基表被称为键保留表。A.基表的主键不是结果集的主键B.基表的主键是结果集的主键C.基表的主键是结果集的外键D.基表的主键不是结果集的外键参考答案:B6.使用如下语句创建一个视图:CREATEVIEWtestviewASSELECTstu.stuname,stu.stuage+1newage,cla.clanameFROMstudentstuLEFTJOINclassclaONstu.claid=cla.claid;请问testview视图中哪些列是可更新的?( )A.stuname B.stuname,newageC.stuname,claname D.stuname,newage,claname参考答案:A7.如果创建一个序列,用于为表的主键列生成主键值,则创建该序列时不应该指定以下哪种参数?( )A.MAXVALUE1000 B.MINVALUE10C.CACHE10 D.CYCLE参考答案:D8.如果在创建序列时指定其CACHE参数值为10,当序列的当前值为5时,数据库突然关闭,再次运行数据库后,序列将从以下哪个值开始?( )A.5 B.6 C.11 D.16参考答案:C9.下列关于索引的描述哪一项是不正确的?( )A.表是否具有索引不会影响到所使用的sql的编写形式B.为表创建索引后,所有的查询操作都会使用索引 C.为表创建索引后,可以提高查询的执行速度D.为表创建索引后,Oracle优化器将根据具体情况决定是否采用索引参考答案:B三、简答题1.简述表及视图的关系。参考答案:联系:视图(view)是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系。2.表结构说明:

createtableemployee(

idnumber(10)notnull,—员工工号

salarynumber(10,2)default0notnull,—薪水

namevarchar2(24)notnull—姓名

(1).创建序列seq_employee,该序列每次取的时候它会自动增加,从1开始计数,不设最大值,并且一直累加,不循环。参考答案:createsequenceseq_employee2incrementby13startwith14nomaxvalue5nocycle6/(2).写一个PL/SQL块,插入表user.employee中100条数据。插入该表中字段id用序列seq_employee实现,薪水和姓名字段可以任意填写。参考答案:略3.如果对视图的基表进行结构上的改动,将会影响视图的可用性。请基于一个表创建一个视图,在视图的子查询语句中使用*查询基表中的所有列,然后对该表进行结构修改,例如增加列、删除列,修改列名等,测试不同情况下视图的可用性,并思考其中的原因。参考答案:视图依赖于基础表的存在而存在,当基础表进行了结构上的修改后,有可能会对视图产生印象,如果要再次使用此试图,需要进行编译。4.如果经常需要使用如下语句查询employee表中的员工信息:SELECT*FROMemployeeWHERESUBSTRB(ename,0,2)=‘李‘;那么应该为ename创建什么索引,如何创建?参考答案:创建基于函数的索引 CREATEINDEXEANME_INDEX ONemployee(SUBSTRB(ename,0,2)) TABLESPACEmyspace8.6习题一.填空题1. PL/SQL程序由三个块组成,即_______、_______、_______。参考答案:声明部分、执行部分、异常处理部分2.Oracle块根据应用模块功能,可以分为四种类型,分别是:_______、_______、_______、_______。参考答案:匿名块、命名块、子程序、触发器3.Oracle的游标分为_______、_______。参考答案:显示游标、隐式游标4.Oracle游标有4个属性,_______判断游标是否被打开,如果打开等于true,否则等于false;_______判断游标所在的行是否有效,如果有效,则等于true,否则等于false,_______属性及之相反;_______返回当前位置为止游标读取的记录行数。参考答案:%ISOPEN、%FOUND、%NOTFOUND、%ROWCOUNT二、选择题1.关于存储过程参数,正确的说法是( )A.存储过程的输出参数可以是标量类型,也可以是表类型B.存储过程输入参数可以不输入信息而调用过程C.可以指定字符参数的字符长度(函数的()或者过程的(number/varchar2))D.以上说法都不对参考答案:B2.下列说法,正确的说法是( )A.只要在存储过程中有增删改语句,一定加自治事务B.在函数内可以修改表数据C.函数不能递归调用D.以上说法都不对参考答案:B3.利用游标来修改数据时,FORUPDATE充分利用了事务的哪个特性?( )A.原子性 B.一致性 C.永久性 D.隔离性参考答案:D4.下列哪个语句无需COMMIT而自动提交()A.CREATETABLEt(t1NUMBER,t2NUMBER)B.UPDATEtSETt1=123C.DELETEFROMtD.INSERTINTOtVALUES(1,3)参考答案:A5.下列说法不正确的是()A.在PLSQL自定义函数中如果包含UPDATE、DELETE、INSERT语句,不必在函数 体内给出COMMIT;B.自定义函数可以在SQL语句中调用、也可以在PLSQL块中调用C.自定义函数可以返回表类型D.自定义函数中的参数可以是OUT类型参考答案:D6.下面定义PL/SQL记录的语法正确的是()A.TYPE<记录类型名>ISRECORD B.TYPE<记录类型名>RECORDC.RECORD<记录类型名> D.TYPERECORD<记录类型名>参考答案:A7.在SQL*PLUS环境中可以利用DBMS_OUTPUT包中的PUT_LINE方法来回显服务器端变量的值,但在此之前要利用一个命令打开服务器的回显功能,这一命令是( )A.setserveron B.setserverechoonC.setservershowon D.setserveroutputon参考答案:D三、简答题 1.简述NO_DATA_FOUND和%NOTFOUND两个保留字的用法。参考答案:SELECT

.

.

.

INTO

语句触发

NO_DATA_FOUND;

当一个显示光标的where子句未找到时触发%NOTFOUND;

当UPDATE或DELETE语句的where子句未找到时触发SQL%NOTFOUND;

在光标的提取(Fetch)循环中要用%NOTFOUND或%FOUND来确定循环的退出条件,不要用NO_DATA_FOUND。2.简述PL/SQL的异常处理机制。参考答案:当发生错误时,程序无条件转到异常处理部分,这就要求代码要非常干净并把错误处理部分和程序的其它部分分开。oracle允许声明其他异常条件类型以扩展错误/异常处理。这种扩展使PL/SQL的异常处理非常灵活。当一个运行时错误发生时,称为一个异常被抛出。PL/SQL程序编译时的错误不是能被处理得异常,只有在运行时的异常能被处理。在PL/SQL程序设计中异常的抛出和处理是非常重要的内容。3.查找出当前用户模式下,每张表的记录数,以scott用户为例,结果应如下:DEPT4EMP14BONUS0SALGRADE5请编写PL/SQL程序块实现。参考答案:DECLARE

typetab_namesistableofvarchar2(20)indexbybinary_integer;

tab_nametab_names;

counnumber;

strvarchar2(100);

BEGIN

selecttable_namebulkcollectintotab_namefromuser_tables;

foriintab_name.first..tab_name.lastLOOP

str:='selectcount(*)from'||tab_name(i);

executeimmediatestrintocoun;

dbms_output.put_line(tab_name(i)||''||coun);

ENDLOOP;

END;9.6习题一、填空题1._______关键字标志着PL/SQL程序中声明段的开始。参考答案:DECLARE2.PL/SQL的异常处理代码在_______块中实现。参考答案:EXCEPTION3.触发器可以分为三类,分别是:_______、_______、_______。参考答案:DML触发器、替代触发器、系统及触发器包中包含_______和_______,它们共享公共的变量,公共的局部函数和过程。参考答案:过程、函数5.一个包由两个分开的部分组成_______和_______。参考答案:包说明(packagesoecification)、包主体(packagebody)二、选择题1.关于触发器,下列说法正确的是( )A.可以在表上创建INSTEADOF触发器B.语句级触发器不能使用“:old”和“:new”C.行级触发器不能用于审计功能D.触发器可以显式调用 参考答案:B2.分析下面的PL/SQL代码块:BEGINFORIIN1..5LOOPIFI=1THENNULL;ELSEIFI=3THENCOMMIT;ELSEIF1=5THENROLLBACK;ELSEINSERTINTOtest(results)values(i);ENDIF;ENDLOOP;COMMIT;END;有多少个值,被永久地插入到TEST表中?()A.0 B.1 C.2 D.3参考答案是:B3.在PL/SQL循环中,需要测试当前的FETCH是否成功,可以完成这个要求的游标 属性是下列哪个()。A.SQL%ISOPEN B.SQL%ROWCOUNTC.SQL%FOUND D.这一要求无法使用SQL游标属性完成。参考答案是:D4.检查下面的PL/SQL块:DECLARETYPEEmpListISVARRAY(2)OFemployees.employee_id%TYPENOTNULL;v_employeesEmpList:=EmpList();BEGINDBMS_OUTPUT.PUT_LINE(v_employees.COUNT);v_employees.EXTEND;v_employees(1):=30;END;下列关于上述PL/SQL块的结果的说法,正确的一项是:()。A.它执行成功,并显示值为2B.它执行成功,并显示值为0C.它生成一个错误,因为数组不能扩展D.它生成一个错误,因为该变长数组的声明是无效的。参考答案是:B三、简答题简述PL/SQL程序包的作用。参考答案:把相关的过程和函数归类,按照功能的相关性存放在一起,并赋予一定的管理功能和使用的一组对象就叫做包。Oracle系统把相关的模块归类成为包,可使开发人员利用面向对象的方法进行内嵌过程的开发,从而提高系统性能。简述存储过程和函数的区别。参考答案:本质上没区别。只是函数有如:只能返回一个变量的限制。而存储过程可以返回多个。而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行。执行的本质都一样。

函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制相对就比较少。思考如何在PL/SQL里避免重复编码的问题,请举例说明。参考答案:使用存储过程或函数,举例略。在PL/SQL里如何使用绑定变量,为何使用绑定变量,请举例说明。参考答案:这是解决Oracle应用程序可伸缩性的一个关键环节;而Oracle的共享池就决定了开发人员必须使用绑定变量;如果想要Oracle运行减慢,甚至完全终止,那就可以不用绑定变量;

这里举例说明上述问题;

为了查询一个员工代号是123,你可以这样查询:

select*fromempwhereempno=’123’;

你也可以这样查询:

select*fromempwhereempno=:empno;第一个查询使用的频率越高,所消耗的系统硬件资源越大,从而降低了用户的使用数量;它也会把优化好的其它查询语句从共享池中踢出,系统的整体性能降低;而执行绑定变量,提交相同对象的完全相同的查询的用户,,一次性使用就可重复使用,提高效率。四、应用题1.用PL/SQL编写函数计算一个给定的正整数的阶乘,并编写调用程序对该函数进行调用。参考答案:FUNCTION

fac(n

POSITIVE)

RETURN

INTEGER

IS

BEGIN

IF

n

=

1

THEN

RETURN

1;

ELSE

RETURN

n

*

fac(n

-

1);

END

IF;

END

fac;BEGINdbms_output.put_line(fac(5));END;2.给teacher_info表编写一个(before-delete)触发器,当要在teacher_info表中删除一个记录,将触发该触发器。在触发器中将判断老师是否已经授课?如果已经安排某位教师授课,它将激发一个例外,把无法删除的信息返回用户。参考答案:createtriggerteacher_cancel

onteacher_info

insteadofdelete

as

declare@skint,

@IDint

begin

select@ID=course_idFROMdeleted

select@sk=SKJLfromteacher_infowherecourse_id=@ID

if(@sk=0)

deletefromteacher_infowherecourse_id=@ID

else

begin

raiserror('无法删除',10,1)

end

end3.根据下面的要求编写相应存储过程,并调用执行。具体要求如下:1)编写一个存储过程,向表中随机插入1000条记录SerialNo:使用序列方式,自增长。:使用随机插入6个字母Partid:使用随机4位数字StaffNo:从YTCZ060001…….YTCZ060020中随机抽取RecordTime:从2012 2)写一个程序块,循环调用500次此存储过程,保证数据表中存储50万条记录。参考答案:(1)createtableRecordFile(

SerialNoVARCHAR2(20),

VARCHAR2(200),

PartidVarchar2(4),

StaffNoVARCHAR2(10),

RecordTimeDATE)CreateindexIx_Recordonrecord)pctfree30tablespacemytbscreatesequenceseq_Recordwith0minvalue0;createorreplaceprocedureadd_Record

begin

foriin1..1000loop

insertintoRecord(seq_Record,dbms_random.string('u',6),trunc(dbms_random.value(1000,9999)),'YTCZ0'||trunc(dbms_random.value(60001,60020)),to_date('2019-08-04','yyyy-mm-dd')-dbms_random.value(0,181));endloop;

commit;

endadd_RecordFile;(2)begin

foriin1..500loop

add_RecordFile;

endloop;

end;10.6习题一、填空题1.Oracle数据库从存储结构上可以分为___________和___________。参考答案:逻辑存储结构、物理存储结构在Oracle数据库中,___________是指存储数据库数据的文件。数据库中的所有数据最终都保存在___________中。参考答案:数据文件、数据文件Oracle数据库从逻辑存储结构的角度可以分为表空间、___________、区、___________。一个数据库实例由多个表空间组成,一个表空间由多个___________组成,一个___________由多个区组成,一个区由多个___________组成。参考答案:段、数据块、段、段、数据块将日志缓冲区中的日志信息写入日志文件的后台进程是___________。如果数据库实例运行在归档模式下,则日志文件中的內容将会被___________进程写入归档日志文件。参考答案:LGWR、ARCH5.Oracle数据库的物理存储结构主要由数据文件、___________和___________这3种类型的文件组成。参考答案:控制文件、日志文件如果一个服务器进程非正常终止,由Oracle系统会使用___________进程来释放它所占用的资源。参考答案:PMONOracle数据库中,段主要可以分为数据段、___________、___________、___________和___________。参考答案:索引段、回退段、LOB段和临时段在多进程Oracle实例系统中,进程分为___________、___________、___________。参考答案:用户进程、后台进程、服务进程。Oracle服务进程用于处理用户的请求。服务器进程可分为___________、___________。参考答案:专用服务器进程(dedicatedserverprocess)、共享服务器进程(sharedserverprocess)数据库写入器从___________中将修改过的数据块写到数据文件。参考答案:数据库缓冲区将当用户进程失败时,___________进程监视器执行恢复处理;当日志文件满或切换发生时,一个或多个___________负责拷贝联机重做日志到归档存储上;___________是一个实例的作业队列进程,当需要执行作业时就要启动。参考答案:PMON、归档进程、作业队列进程LARGE_POOL_SIZE使用大的池(LARGE_POOL_SIZE)来给I/O服务进程___________和___________分配内存;参数__________设置共享服务器的最大数量;参数___________设置共享服务器进程数量。参考答案:RMAN、MTS、MAX_DISPATCHERS、SHARED_SERVERS运行___________脚本可建立及锁有关的视图;运行___________脚本可显示(以树型结构)等待锁和已占有锁的信息;在Oracle系统运行中,所产生的死锁都动态地记录在___________视图中。参考答案:CATBLOCK.SQL、UTLLOCK.SQL、V$LOCK14.___________是Oracle在系统异常时,有Oracle自动创建的文件,它及警告文件一起构成完整的故障信息。参考答案:跟踪文件二、选择题1.下面对数据文件的叙述中,正确的是( )A.一个表空间只能对应一个数据文件B.一个数据文件可以对应多个表空间C.一个表空间可以对应多个数据文件D.数据文件存储了数据库中的所有日志信息参考答案:C2.下面对Oracle的逻辑存储结构叙述中,正确的是( )A.一个数据库实例由多个表空间组成B.一个段由多个区组成C.一个区由多个段组成D.一个块由多个区组成参考答案:B3.用符号"->"表示组成关系,下面哪一个组成关系正确表示了Oracle数据库的逻辑存储结构( )A.块->段->区->表空间->数据库B.块->区->段->表空间->数据库C.块->表空间->区->段->数据库D.块->段->表空间->区->数据库参考答案:B4.系统全局区包括下面哪些区间?( )A.Java池 B.软件代码区间 C.数据缓冲区 D.日志缓冲区参考答案:ACD5.解析后的SQL语句会缓存在SGA的哪个区间域中?( )A.Java池 B.大型池 C.共享池 D.数据缓冲区参考答案:C6.下述选项不属于Oracle数据库逻辑存储结构的是( )A.表空间 B.段 C.日志文件 D.区参考答案:C7.在全局存储区SGA中,哪部分内存区间是循环使用的?( )A.数据缓冲区 B.日志缓冲区 C.共享池 D.大池参考答案:B 8.下列哪一个后台进程和对应的数据库组件能够保证即使用户对数据库所做的修改没有写入数据文件,也不会发生修改内容丢失的情况( )A.DBWn及数据库缓冲区 B.LGWR及重做日志文件C.CKPT及控制文件 D.ARCn及归档日志文件参考答案:B9.下列哪项后台服务进程不是Oracle例程必须要启动的( )A.DBWn B.LGWR C.PMON D.ARCn参考答案:D10.在WINDOWS平台上Oracle服务器是以哪种形式运行的( )A.单进程,多线程 B.多进程,多线程C.多进程,每个进程为单线程 D.以上所述都不正确参考答案:A11.下面哪种后台进程用于将数据缓冲区中的数据写入数据文件?( )A.LGWR B.DBWn C.CKPT D.ARCn参考答案:B12.以下关于数据库后台服务进程叙述正确是的( ) A.DBWn负责从数据文件中读取数据到内存,并且负责将数据从内存回写到数据文件中B.LGWR负责从重做日志文件中读取信息到内存,并且负责将日志信息从内存回写到重做日志文件中C.SMON负责定时启动数据库并做相应的恢复和清理工作D.CKPT负责向数据库发出检查点,用于同步数据库的所有数据文件、控制文件和重做日志文件参考答案:D13.当执行COMMIT语句时,会在哪类文件上发生I/O操作( )A.数据文件 B.控制文件 C.重做日志文件 D.归档日志文件参考答案:C三、简答题1.简述Oracle物理存储结构中数据文件、控制文件及重做日志文件的作用。参考答案:数据文件用来存储数据库的数据,如表、索引等。读取数据时,系统首先从数据库文件中读取数据,并存储到SGA的数据缓冲区中。重做日志文件记录对数据库的所有修改信息。它是三类文件中最复杂的一类文件,也是保证数据库安全及数据库备份及恢复有直接关系的文件。控制文件是一个二进制文件,用来描述数据库的物理结构,一个数据库只需要一个控制文件。2.简述Oracle逻辑存储结构中表空间、段、区和块之间的关系。参考答案:逻辑存储结构包括表空间,段,区,块。简单的说,逻辑存储结构之间的关系是:多个块组成区,多个区组成段,多个段组成表空间,多个表空间组成逻辑数据库。3.简单介绍LGWR进程及ARCn进程的作用。参考答案:

LGWR进程是负责管理日志缓冲区的一个后台进程用于将日志缓冲区中的日志数据写入磁盘的日志文件中。ARCn进程用于将写满的日志文件复制到归档日志文件中防止日志文件组中的日志信息由于日志文件组的循环使用而被覆盖。4.如果想要了解数据库中所有表的信息,应该使用哪种数据字典?参考答案:

dba_tablesDBWn进程所采用的LRU算法应该怎样理解?参考答案:略SYS、SYSTEM账户都是Oracle数据库自动存在的账户,请简述二者的区别。参考答案:SYS用户:当创建一个数据库时,SYS用户将被默认创建并授予DBA角色,所有数据库数据字典中的基本表和视图都存储在名为SYS的方案中,这些基本表和视图对于Oracle数据库的操作时非常重要的。为了维护数据字典的真实性,SYS方案中的表只能由系统来维护,他们不能被任何用户或数据库管理员修改,而且任何用户不能在SYS方案中创建表。SYSTEM用户及SYS一样,在创建Oracle数据库时,SYSTEM用户被默认创建并被授予DBA角色,用于创建显示管理信息的表或视图,以及被各种Oracle数据库应用和工具使用的内容表或视图。Oracle数据库的工作模式有哪两种?它们之间有有何区别?参考答案:在Oracle数据库中,数据库的操作模式分为专用服务器(DELICATEDSERVER)模式和多线程服务器(MULTITHREADEDSERVER)模式两种。其中,在专用服务器模式中为每个用户进程创建一个服务器进程,用户进程及服务器进程之间是1:1的关系;在共享服务器模式中,一个服务器进程可以为多个用户进程服务器。Oracle进程主要有哪些,作用是什么。参考答案:数据写进程(dbwr):负责将更改的数据从数据库缓冲区高速缓存写入数据文件日志写进程(lgwr):将重做日志缓冲区中的更改写入在线重做日志文件系统监控(smon):检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复进程监控(pmon):负责在一个Oracle进程失败时清理资源检查点进程(chpt):负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。归档进程(arcn):在每次日志切换时把已满的日志组进行备份或归档作业调度器(cjq):负责将调度及执行系统中已定义好的job,完成一些预定义的工作.恢复进程(reco):保证分布式事务的一致性,在分布式事务中,要么同时commit,要么同时rollback。Oracle的后台进程包括必须进程和可选进程。请列举Oracle的必须进程,并解释其作用。参考答案:系统监控进程SMON用户监控进程PMON数据库写进程DBWR日志写进程LGWR检查点进程CKPT如果是归档模式归档进程ARCH警告日志文件是一个存储在Oracle系统目录下的文本文件,它存储数据库系统运行期间记录例行的信息及错误信息。请简述记录的主要错误。参考答案:警告日志的文件,用于记录数据库文件运行中主要事件的命令及结果。简述数据库管理员使用初始化参数文件的作用。参考答案:始化参数文件,也称启动参数文件,是配置Oracle数据库的一个重要方面,初始化参数文件内包括定义参数,静态限制参数,动态性能参数,控制或修改数据库和数据库实例操作的参数。当数据库启动时,在创建实例或读取控制文件之前,先读取初始化参数文件。12.简述Oracle警告文件记录的内容。参考答案:警告日志的文件,用于记录数据库文件运行中主要事件的命令及结果。11.7习题一、填空题1.在创建永久性表空间时,需要使用DATAFILE关键字指定其数据文件,而如果是创建临时表空间,则应该使用___________关键字为其指定临时文件。参考答案:TEMPORARY表空间的状态属性主要有ONLINE、___________、___________和___________。参考答案:OFFLINE、READONLY、READWRITE数据文件的状态属性主要有ONLINE、___________和___________。参考答案:OFFLINE、OFFLINEDROP创建临时表空间需要使用TEMPORARY关键字,创建大文件表空间需要使用___________关键字,创建撤消表空间需要使用___________关键字。参考答案:BIGOracle中用户默认的永久性表空间为___________,默认的临时表空间为temp。参考答案:systemOracle中管理撤消表空间的方式有回退段撤消管理和___________。参考答案:自动撤销管理二、选择题1.下面哪些不属于表空间的状态属性?( )A.ONLINE B.OFFLINEC.OFFLINEDROP D.READ参考答案:C2.将表空间的状态切换为OFFLINE时,可以指定下下面哪几种切换参数?( )A.NORMAL B.IMMEDIATE C.TEMP D.FORRECOVER参考答案:AB3.在表空间space中没有存储任何数据,现在需要删除该表空间,并同时删除其对应的数据文件,可以使用下列哪条语句?( )A.DROPTABLESPACEspace;B.DROPTABLESPACEspaceINCLUDINGDATAFILES;C.DROPTABLESPACEspaceINCLUDINGCONTENTSANDDATAFILES;D.DROPTABLESPACEspaceANDDATAFILES;参考答案:B4.使用如下语句创建一个临时表空间temp:CREATE___________TABLESPACEtemp___________‘F:\oracle‘SIZE10MAUTOEXTENDONNEXT2MMAXSIZE20M;请从下列选项中选择正确的关键字补充上面的语句。( )A.(不填)、DATAFILE B.TEMP,TEMPFILEC.TEMPORARY,TEMPFILE D.TEMP,DATAFILE参考答案:C5.下列将临时表空间temp设置为默认临时表空间的语句正确的是( )A.ALTERDATABASEDEFAULTTABLESPACEtemp;B.ALTERDATABASEDEFAULTTEMPORARYTABLESPACEtemp;C.ALTERDEFAULTTEMPORARYTABLESPLBLESPACETOtemp;D.ALTERDEFAULTTAI3LESPACETOtemp;参考答案:B6.如果当前数据库实例中有一个临时表空间组groupl,该组中只有一个临时表空间temp1。现在使用下面的语句修改temp1表空间所在组为group2:ALTERTABLESPACEtemp1GROUPgroup2;下面对执行上述语句后的结果叙述正确的是( )A.由于数据库实例中并不存在group2组,所以上述操作将执行失败B.上述语句可以成功执行,temp1表空间将被移动到group2组中C.执行上述语句后,数据库实例中将存在两个临时表空间组:group1和group2D.执行上述语句后,数据库实例中将只存在一个临时表空间组:group2参考答案:D三、简答题1.表空间的状态有哪几种,它们分别表示什么意思?参考答案:

在线:只有在此状态下才允许访问表空间中的数据;离线:当表空间状态为离线时不允许范围表空间中的数据;只读:当表空间状态为只读时可以访问表空间中的数据但访问仅仅限于阅读而不能进行任何更新或删除操作;读写:当表空间状态为读写时可以对表空间进行正常访问包括对表空间中的数据进行查询、更新和删除等操作。2.如果初始化参数db_block_size的值为l6KB,那么还能设置db_16k_cache_size参数的值吗?请结合本章的学习内容,创建一个非标准数据块表空间,并简单概述其步骤。参考答案:不能。3.使用undo_retention参数可以设置撤消表空间中的撤消数据的保留时间,默认为900秒,这个时间长度在实际应用中可能不够,为了让撤消数据保留足够长的时间,是不是可以将undo_retention参数的值设置成非常大呢?为什么?参考答案:不能,理由略4.在实际应用中,需要临时创建一个表来使用,那么是否可以将该表创建在临时表空间中?参考答案:可以,但是不是必须。在Oracle中,对表空间的使用及管理非常重要。请创建一个表空间,然后对表空间的数据文件进行增加、删除和移动等管理,巩固本章所学的知识。参考答案:略12.7习题一、填空题1.备份控制文件主要有两种方式:___________和备份成脚本文件。参考答案:二进制文件通过数据字典v$datafile可以查看数据文件信息,通过数据字典___________可以查看控制文件信息,通过数据字典___________可以查看日志文件信息。参考答案:v$controlfile、v$log数据库的运行模式有归档模式和___________模式两种,Oracle数据库默认为非归档模式,数据库管理员可以执行___________语句,将数据库的运行模式设置为归档模式。参考答案:非归档模式、archivelogstart如果在创建控制文件时使用了RESETLOGS选项,则应该执行___________语句打开数据库。参考答案:二进制文件、ALTERSYSTEMARCHIVELOGSTART使用ALTERSYSTEM语句修改参数值时,可以使用SCOPE选项,该选项有MEMORY、___________、___________3个可选值。参考答案:sp二、选择题1.下面对日志文件组及其成员叙述正确的是( )A.日志文件组中可以没有日志成员B.日志文件组中的日志成员大小一致C.在创建日志文件组时,其日志成员可以是已经存在的日志文件D.在创建日志文件组时,如果日志成员已经存在,则使用REUSE关键字就一定可以成功替换该文件参考答案:B2.当日志文件组处于下列哪种情况时,无法清空该日志文件组?( )A.ACTIVE B.INACTIVEC.CURRENT D.UNUSED参考答案:AC3.下面哪条语句用于切换日志文件组?( )A.ALTERDATABASESWITCHLOGFILE;B.ALTERSYSTEMSWITCHLOGFILE;.C.ALTERSYSTEMARCHIVELOG;D.ALTERDATABASEARCHIVELOG;参考答案:B4.删除日志文件组5中的日志文件E:\orcl\data,其中正确的语句是A.ALTERDATABASEDROPLOGFILE‘E:\orcl\data‘;B.ALTERDATABASEDROPLOG5‘E:\orcl\data‘;C.ALTERDATABASEDROPLOG‘E:\orcl\data‘D.ALTERGROUP5DROPLOGFILE‘E:\orcl\data’‘参考答案:C5.修改系统中的参数值时,如果只修改服务器参数文件中的设置,则SCOPE选项的值应该为( )A.SPFILE B.MEMORYC.BOTH D.以上都不对参考答案:A三、简答题1.控制文件在数据库中有什么作用?在创建控制文件时应该注意哪些问题?参考答案:控制文件存放数据库中的数据文件和日志文件的信息。在创建控制文件时需要指定及数据库相关的日志文件及数据文件。2.日志文件组中的日志成员大小应该一致吗?为什么?参考答案:应该一致。理由略。3.日志文件组有哪几种状态,它们分别表示什么含义?参考答案:归档未完成正在使用非活动状态从未使用4.简述清空日志文件组以及删除日志文件组或日志成员时应该注意哪些问题。参考答案:清空日志文件组应注意如下两点①被清空的日志文件组不能处于正在使用状态②当数据库中止呕两个日志文件时不能清空日志文件组。删除日志文件应注意如下几点①该日志文件所在的日志文件组不能处于正在使用状态②该日志文件所在的日志文件组中必须还包含其他日志成员③如果数据库运行在归档模式下则应该在删除日志文件之前确定它所在的日志文件组已经被归档否则会导致数据丢失。删除日志文件组应注意如下几点①一个数据库至少需要两个日志文件组②日志文件组不能处于正在使用状态③如果数据库运行在归档模式下应该确定日志文件组已经被归档。简述归档模式及非归档模式的区别。参考答案:在非归档日志模式下如果发生日志切换则日志文件中原有内容将被新的内容覆盖在归档日志模式下如果发生日志切换则ORACLE系统会将日志文件通过赋值保存在指定的地方然后才允许向文件中写入新的日志内容。13.5习题一、填空题1.创建用户时,要求创建者具有___________系统权限。参考答案:createuser2.向用户授予系统权限时,使用___________选项表示该用户可以将此系统权限再授予其他用户。向用户授予对象权限时,使用___________选项表示该用户可以将此对象权限再授予其他用户。参考答案:WITHADMINOPTION、WITHGRANTOPTION3.Oracle数据库中的权限主要有___________和___________两类。参考答案:系统权限、对象权限4.___________是具有名称的一组相关权限的组合。参考答案:角色5.一个用户想要在其他模式创建表,则该用户至少需要具有___________系统权限。参考答案:createtable6.禁用及启用角色应该使用___________语句。参考答案:SETROLE7.Oracle提供两个命令:___________用于给用户或角色进行授权;___________从用户或角色中收回某些权限参考答案:grant、revoke8.我们可将Oracle用户分为三级,即___________、___________、___________。参考答案:connectuser,resourceuser及DBA9.___________允许用户联到Oracle数据库,用户可访问Oracle.;___________创建属于开发者的存储过程,软件包和函数.开发者也能撤消他们所拥有的这些对象;___________允许用户将数据库中任何权限授予任何用户。参考答案:CRE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论