Oracle复习资料练习题.docx
《Oracle复习资料练习题.docx》由会员分享,可在线阅读,更多相关《Oracle复习资料练习题.docx(36页珍藏版)》请在冰豆网上搜索。
Oracle复习资料练习题
Oracle复习资料
Oracle
表是
组成数据库的基本元素,数据库中的数据存储在表中。
区是
Oracle分配存储空间和回收存储空间的基本单位。
数据块是
关系表
Oracle读写数据库的基本单位。
主要由行和列构成。
每一列用来保存关系的属性,每一行存储了关系的元组
CS模式主要由客户应用程序、服务器管理程序和中间件三个部分组成。
B/S由客户端、应用
程序服务器和数据库服务器组成
Oracle数据库的存储结构分为物理存储结构和逻辑存储结构,这两种存储结构既相互独立又
相互联系
数据库的物理存储结构由
数据文件、重做日志、控制、归档日志初始化参数文件、
密码文件组成。
数据文件的单位的两种方式:
字节和数据快
数据文件特点:
数据文件的扩展名是.dbf
1:
每一个数据文件只与一个数据库相联系。
2:
一个表空间可包含一个或多个数据文件,
一个数据文件只能属于一个表空间。
3:
当数据库容量越界时,数据文件能够自动扩展。
Oracle提供了三种扩展数据文件存储空间的方法:
1:
在当前表空间中增加新的数据文件,新数据将被存储在新的数据文件中。
2:
手工扩展表空间中的数据文件,在原来的存储空间的基础上,增加一定数量的存储空
间。
3:
激活数据文件的自动扩展功能,数据库服务器将自动为数据文件分配新的存储空间。
控制文件的功能是记录数据库的结构和状态
在一个数据库中至少需要一个控制文件,Oracle建议至少创建两个控制文件,并将
它们分别存储在两个磁盘上。
重做日志文件用于记录对数据库的所有修改信息,包括用户对数据的修改,以及管理员对
数据库结构的修改。
重做日志文件保证了数据库的安全和数据库的备份与恢复。
数据库的逻辑结构由表空间、段、区和数据块组成
表空间是数据库的逻辑划分,一个数据库在逻辑上由多个表空间组成。
引入表空间的优点:
1将系统数据和用户数据分开,有利于保护重要数据;
2可以限制用户对磁盘存储空间的使用;
3将临时数据与用户数据分开,从而减少用户数据存储区的碎片,提高数据库的性能;
4能够将不同类型的数据分别存放在不同的磁盘上,以减少磁盘的读写冲突。
可以将访
问频繁的数据存储在速度相对较快的磁盘上,从而在整体上提高数据库的性能。
5各个表空间可以被单独设置为联机或脱机状态,这样可以在数据库正常运行的情况下,
将单个表空间置于脱机状态,并对其进行备份或恢复。
数据库中包含的表空间的类型
(5点)
系统表空间
辅助表空间
撤销表空间
临时表空间用户表空间
数据块是Oracle中的最小存储单位,一个数据块由若干个操作系统块组成,
为了区分不同的实例,每个实例都有一个系统标识符SID,通常SID与数据库同名。
每个服
务器进程的命名也与SID相匹配。
数据库的内存分类
(SGAPGA)
Oracle数据库的内存可以分为系统全局区(SGA)和程序全局区(PGA)。
P63
Oracle数据库的启动分为三个步骤:
启动实例、装载数据库和打开数据库。
P69表空间是Oracle数据库中最大的逻辑存储单位,同时也是数据库的存储空间单位
每个表空间由一个或多个数据文件组成,但是一个数据文件只能属于一个表空间,
这是逻辑与物理的统一。
表空间可以分为数据字典管理的表空间和本地化管理的表空间两种。
P78
删除表空间
(参数说明2点)
●[INCLUDINGCONTENTS]:
如果在删除表空间时要把表空间中的数据文件也删除,可以在
删除的表空间语句后面加上该语句。
●[CASCADECONSTRAINTS]:
如果在删除空间时要把表空间中的完整性也删除,可以在删除
的表空间语句后面加上该语句。
P85
删除数据文件
ALTERTABLESPACEtablespace_nameDROPDATAFILE'filename';
P87
控制文件主要包含的信息
(7点)
数据库名称。
数据文件和重做日志文件的位置和名称。
数据库创建的时间戳。
当前日志序列号。
检查点信息。
表空间名称。
备份和恢复信息
P88
需要创建控制文件的情况
(3点)
1:
控制文件全部损坏,而且没有可用的备份。
2:
修改某些永久性参数,如:
MAXLOGFILES、MAXLOGMEMBERS、MAXLOGHISTORY、MAXINSTANCES等。
3:
修改数据库名称
P108
临时表的概念
临时表是一种特殊类型的表,表中的数据并不永久保存,而是一些临时数据。
这些临
时数据只在当前事务或当前会话中有效,当事务或会话结束时,这些临时数据将被全
部删除
P213
游标分类
游标分为显式游标和隐式游标两种。
显示游标的处理步骤
声明游标、打开游标、提取游标、关闭游标
P215
P221
游标的属性(4点)%ISOPEN、%FOUND、%NOTFOUND和%ROWCOUNT
游标的主要作用是查询数据,并对数据逐行进行处理
P227
PL/SQL程序单元分为存储过程、函数、触发器和程序包四种。
P271对事务的操作有两个:
提交(COMMIT)和回滚(ROLLBACK)
控制事务的方式有两种,隐式控制和显示控制
P274
锁概述
(2点)
加锁是实现数据库并发控制的一个非常重要的技术。
Oracle通过使用锁(Lock)机制维护数据的完整性、并发性和一致性。
Oracle在两个不同级别上提供读取一致性:
语句级读取一致性和事务级读取一致性。
锁的分类
在数据库中有两种基本的锁类型:
排它锁(ExclusiveLocks,即X锁)<防止资源的共享,
用做数据的修改。
>和共享锁(ShareLocks,即S锁)。
<数据只能被读取,不能被修改。
>
P279
Oracle数据库的用户管理包括创建用户、修改用户的安全参数、删除用户和查询用户
信息等。
用户管理------初始用户
(SYS
SYSTEM
SCOTT)
用户身份认证方式
数据库身份认证
外部身份认证
全局身份认证
思考题:
2数据库管理
1、通过哪些视图可以查看当前数据库的信息?
答:
通过dba_*视图查看。
2、简述如何手工创建表空间?
答:
首先选择“服务器”,单击“表空间”,然后单击“创建”按钮,进入“创建表空间”页
面,并填写相关信息,再单击的“添加”按钮,为表空间添加一个数据文件,之后单击“存
储”按钮进入到创建表空间的界面,填写相关信息即可。
3PL/SQL编程基础
1、PL/SQL语句块的分类及构成有哪些?
答:
分类:
无名块,命名块,子程序、触发器、包。
构成:
声明部分、执行体部分、异常处理部分。
2,PL/SQL语句与标准SQL的联系与区别?
答:
PL/SQL是一种增加了过程化概念的SQL语言,是Oracle对SQL的扩充。
与标准
SQL语言相同,它有标准SQL所没有的特征:
变量,控制结构,自定义的存储过程和
函数;对象类型等。
P/L-SQL融合了SQL语言的灵活性和过程化的概念,是一种功
能强大的结构化语言。
1、什么是索引?
简述Oracle索引的分类。
答:
索引是Oracle编排数据的内部方法。
它为数据库提供一种方法来编排查询数据。
索引
页是指数据库中存储索引的数据页。
索引是以表的列为基础的数据库对象,它保存着表中排
序的索引项,并且记录索引列在数据库中的物理存储位置,实现表中数据的逻辑排序。
索引
是对数据库表中一个或多个列的值进行排序的结构。
用户可以利用索引快速访问数据库表的
特定信息。
Oracle索引分类:
B*树索引,位图索引,反向键索引,基于函数的索引和其他类型的索引。
假设employees表中包含一个marriage字段,用于描述雇员的婚姻状况,应当为marriage
字段建立__位图_索引。
3:
什么是包?
包一般由哪两个部分组成?
使用包有什么好处?
答:
包也称之为程序包,是指相关的过程、函数、变量、常量和游标等PL/SQL程序设计元
素的组合。
包通常由两个部分组成:
规范(specification)和包体(body)。
包(Package)可将一些有联系的对象放置在其内部,构成一个逻辑分组,这些对象包括存
储过程、函数、游标、自定义的类型(例如PL/SQL表和记录)和变量等。
7Oracle数据库安全管理
1、简述Oracle的用户认证方式。
答:
oracle数据库用户以下三种身份认证方式:
(1)、数据库身份认证:
这种方式即用用户名/口令方式,用户以加密的方式保存在数据库
的内部,用户连接数据库时必须输入用户名和口令,通过数据库的认证后才能登录数据库,
这是默认的认证方式。
(2)、外部身份认证:
用户账户由oracle数据库管理,但口令管理和身份验证由外部服务完
成,外部服务可以是操作系统或网络服务。
(3)、全局身份认证:
当用户试图建立于数据库连接时,oracle使用网络中的安全管理服务
器对用户进行身份认证。
2、简述Oracle数据库的权限分类。
答:
SYS:
是数据库中具有最高权限的数据库管理员,可以启动、修改和关闭数据库,拥有
数据字典。
SYSTEM:
是辅助数据库管理员,不能启动和关闭数据库,可以进行一些其他管理工作,例
如创建用户、删除用户等。
SCOTT:
数据库测试用户,默认口令为tiger。
在该用户下已经创建了一些数据表,可以用
于用户学习及网络测试连接,包括EMP表、DEPT表等。
3、简述角色的概念。
答:
角色是权限管理的一种工具,是一系列权限的集合,角色可以授予任何用户,也可
以从用户处收回。
使用角色可以简化权限管理,可以仅用一条语句就能向用户授予或者
回收许多权限而不用一一授权或者回收。
使用角色还可以实现权限的动态管理。
实验七数据库的完整性
1、ORACLE数据库的备份与恢复的途径有哪些?
答:
Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷
备份。
导出备件是一种逻辑备份,冷备份和热备份是物理备份。
2、什么是数据库的完整性?
数据库完整性(DatabaseIntegrity)是指数据库中数据在逻辑上的一致性、正确性、有效性
和相容性。
数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就
是数据库完整性约束的设计。
数据库完整性约束可以通过DBMS或应用程序来实现,基于
DBMS的完整性约束作为模式的一部分存入数据库中。
通过DBMS实现的数据库完整性按照
数据库设计步骤进行设计,而由应用软件实现的数据库完整性则纳入应用软件设计(本文主
要讨论前者)。
触发器参考
1.创建一个DML触发器:
用于每次对表SYSTEM.STUDENT进行DML操作(插入、删除和修
改)前,首先在屏幕上显示该学生原来的年龄、现在的年龄以及新旧年龄的差值。
CREATEORREPLACETRIGGER
PRINT_SAGE_TRIGGER
BEFOREINSERTORDELETEORUPDATE
ONSTUDENTFOREACHROW
DECLARE
AGEDIFFNUMBER(3,0);
BEGIN
ENDPRINT_SAGE_TRIGGER;
3.创建学生表STUDENT的同义词STU。
CREATEPUBLICSYNONYMSTUFORSYSTEM.STUDENT;
1.每个Oracle数据库都由3种类型的文件组成:
数据文件、日志文件和控制文件。
2.执行立即关闭的命令是_hareg–noracle_。
3.改变数据库状态的语句是alterdatabase。
4.用于创建表空间的语句是createtablespace,
5.修改表空间的语句是altertablespace。
6.向用户授权的命令为grantconnect,resourcetocdpfzx。
7.创建用户的语句是createuserCDPFZXidentifiedbyCDPFZX。
8.修改角色的语句是alterrole。
9.在CREATETABLE语句中,定义主键的关键字是_PRIMARYKEY。
10.在ALTERTABLE语句中,修改列名的关键字是_______ALTER__________。
13.[declarations]关键字标志着PL/SQL程序中声明段的开始,在声明段中可以声明变量、常
量和游标等对象。
14.PL/SQL的异常处理代码在异常处理块中实现。
删除数据库的语句是
DROPDATABASE
登录iSQL*Plus页面时使用的默认端口号为
1521
用于显示所有表空间描述信息的视图为
DBA_TABLESPACE
在CREATETABLESPACE语句中使用(TEMPORARY)关键字可以创建临时表空间。
7.撤销用户指定权限的命令是
8.拥有所有系统级管理权限的角色是
9.在CRAETETABLE语句中,指定某列不接受空值,可以使用哪个关键字NOTNULL
10.在ALTERTABLE中,指定某列不可用,可以使用哪个关键字
11.用于修改表中数据的语句是
12.在PL/SQL标识符的最大长度为.
13.Oracle用于保存二进制大对象的数据类型是
REVOKE
DBA
UNUSED
UPDATE
30
BLOB
14.在循环语句中,退出循环体的关键字是
BREAK
用户和角色的关系。
答:
Oracle使用角色的方法来限定各种用户的权力,在系统中可以有许多用户,各种用户有
各种不同的角色,拥有不同的权力。
实践表明与其很明确的赋一组权限给一个角色,不如赋
给一个角色,然后把这个角色赋给一组用户。
这样就可以实现动态的权限管理,当这组用户
的权限必须改变时,只需改变角色的权限就可以了。
4.在oracle中已commit或rollback作为上一个事务的结束标志及下一个新事物开始的标志。
5.DML表示数据操作语言,主要的DML有SELECT,INSERT,UPDATE,DELETE.
6.索引的主要目标是提高访问的速度。
7.在Oracledatabase10g系统中,可以使用DBCA工具和CREATEDATEBASE命令两种方式创
建数据库。
8.命令Startupnomount只能启动数据库实例,但不能装载和打开数据库。
9.在输入URL进入OracleEnterpriceManagerDatabaseControl的时候,必须指出ip地址和
端口号。
10.在登录OracleEnterpriceManagerDatabaseControl时,连接身份有两种选择,分别为
normal和sysdba。
在Oracle中,当用户要执行SELECT语句时,服务器进程
从磁盘获得用户需要的数据
3.在Oracle数据库的逻辑结构中有以下组件:
A表空间;B数据块;C区;D段;这些组件从大到
小依次是A→D→C→B
4.(使用OUT参数)可以从过程返回多个值。
5.PL/SQL为内存耗尽时,预定义了(STORAGE_ERROR)异常。
6.以下是同义词不具有的用途是(D)。
A.简化SQL语句
B.隐藏对象的名称和所有者C.提供对对象的公共访问D.显示对象的
名称和所有者
在Oracle中创建用户时,若未提及DEFAULTTABLESPACE关键字,则Oracle就将(SYSTEM)
表空间分配给用户作为默认表空间。
Oracle的控制文件不包括以下哪些内容()。
A
A.数据库名称B.数据文件和日志文件的名称和位置C.时间戳D.服务器信息
下列
(D)不是PL/SQL过程和函数的参数模式。
A.In
B.Out
C.InOut
D.Ref
1.(控制文件)是ORACLE维护数据库中其他文件的列表、数据库名称和系统改变号(SCN)
的文件。
2.ORACLE数据库被划分为(表空间)的逻辑存储单元,该逻辑存储单元本身由操
作系统磁盘文件和原始分区组成。
3.(表)是包含ORACLE数据库中所有数据的数据库对象。
(第二章)
4.(索引)是为了加速对特定表数据的访问而创建的数据段。
(第二章)
5.下面是有关DATE数据类型和TIMESTAMP数据类型的描述,请问哪一种描述是正确的?
(第
二章)
date数据类型比timestamp数据类型的存储时间精度低。
6.可以自动执行操作的存储对象是(触发器)。
(第二章)
7.当Oracle创建数据库时,所有为数据库的数据字典所建立的基本表和视图都存储在(SYS)
模式中。
8.(同义词)是Oracle数据库对象的别名,可以强化对象的安全性。
9.(数据字典)是具有只读类型的表和视图集,存储了数据库的物理和逻辑结构信息。
10.
(实例)是一组Oracle进程和SGA。
11.(Clob)可以用于存储4Gb字节的数据。
12.NUMBER数据类型存储的最大精度是(38)。
13.当需要描述一个表table1对象结构时,可以使用(DESCtable1);(第三章)
14.(关系数据库)是目前各类数据库中最重要、最流行的数据库类型。
(第三章)
15.(数据)是对事物的符号表示,是用于表示事物的未经加工的原始素材。
(第三章)
16.(数据库管理系统)是一种软件,用于建立、使用和维护数据库。
它对数据库进行统一
的管理和控制,以保证数据库的安全性和完整性。
(第三章)
17.Oracle的分区表可以包括多个分区,每个分区都是一个独立的(段),可以存放到不
同的表空间中。
(第三章)
18.下面的时间函数(current_timestamp())用于返回当前Oracle会话时区中的日期信息。
19.下面的函数,(dbtimezone())用于返回时区信息。
(第三章)
20.(localtimestamp())可用于返回会话中的日期和时间。
(第三章)
21.下列(ROLLUP)是Oraclesuperaggregate函数
(第三章)
22.(分区表(Partitionedtable))类型的表通常用来创建可扩展的的应用程序,
并且对大型表来说是有用的,这个表可以被几个并发过程查询或操作。
(第三章)
23.为了启动Oracle数据库实例,Oracle必须读取一个(参数文件)文件,该文件保存了
实例和数据库的配置参数列表。
(第三章)
24.在命令行中启动SQL*Plus,使用如下(SQLPLUS)命令。
(第三章)
25.当启动Oracle实例,如果不需要装置数据库,可以使用如下(STARTUPNOMOUNT)命令。
26.Orcacle提供了(OracleDatabaseConfigurationAssistant),用于支持采用向导
方式创建数据库。
27.当在SQL*Plus中需要以DBA连接到Oracle数据库,可以使用如下(CONNECTSYS/password
ASSYSDBA)方式。
28.以下数据类型中,(CHAR)是固定长度的数据类型。
当需要删除表,且该表具有外键约束,需要删除表及其外键约束,可以使用如下(DROP
TABLEtablel1CASCADECONSTRAINTS)类型的SQL语句。
(第三章)
connectSYS/passwordASSYSDBA
(第二章)
29.
30.
假设需要给某个客户表Customer添加注释信息:
客户表,可以使用如下(COMMENTON
IS'客户表';)方式。
(第三章)
TABLE
CUSTOMER
31.假设需要更改表名“CUSTOMER”为“CUSTOMER_CHANGE”,可以使用(ALTERTABLE
CUSTOMERRENAMETOCUSTOMER_CHANGE;)语句。
假设需要在Customer客户表中增加一列LogoutTime,数据类型为TIMESTAMP(6),
(第三章)
32.
表示最后客户退出登录的时间,可以使用如下(ALTERTABLECUSTOMER
ADD("LOGOUTTIME"TIMESTAMP(6));)方式。
33.假设需要删除Customer表中的LogoutTime列,可以使用如下(ALTERTABLECUSTOMER
DROPcolumnLOGOUTTIME;)方式。
(第三章)
34.假设需要为表customer添加主键约束,主键列为customer_id,可以使用如下(
AltertableCUSTOMER
ADDCONSTRAINTPK_CUSTOMERPRIMARYKEY("CUSTOMER_ID");)方式。
35.
假设需要查看某个表的主键约束信息,可以使用如下()方式。
(第四章)
SELECTTABLE_NAME,CONSTRAINT_NAME,CONSTRAINT_TYPE,STATUS
FROMUSER_CONSTRAINTS
WHERETABLE_NAME='CUSTOMER';
36.假设需要为CUSTOMER表的Status列设置缺省约束,默认值为“1”,可以使用如下()
方式。
(第四章)ALTERTABLECUSTOMER
MODIFYSTATUSCHAR
DEFAULT(‘1’);
37.假设需要禁用CUSTOMER表上为STATUS列创建的检查约束CK_STATUS,可以使用如下()
方式。
(第四章)
ALTERTABLECUSTOMER
DISABLECONSTRAINTCK_STATUS;
38.假设需要删除数据库中的CUSTOMER表,可以使用如下()方式。
(第四章)
DROPTABLECUSTOMER;
39.以下对INSERT语句,说法错误的是()。
(第四章)
A.INSERT语句是数据操纵语言中的一条语句。
B.在使用INSERT语句执行数据插入时,表中的列顺序一定要与提供的值顺序相同。
C.在使用INSERT语句执行数据插入时,必须为表中所有列定义数据值。
D.在插入数据时,应当满足表中定义的检查约束。
41.在Oracle中引入的(合并查询)语句通常被称作“更新插入”,因为使用该语句可以
在同一个步骤中更新(update)并插入(insert)数据行,对于抽取、转换和载入类型的应用
软件可以节省大量宝贵的时间。
(第四章)
43.(保存点)可以让用户在事务处理中建立标记点,从而能够用于支持用户的事务处理。
44.Oracle的数据操纵包括(ABCD)。
(第四章)
A.数据查询操作。
B.数据更新操作。
C.数据删除操作。
D.数据插入操作。
45.内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。
内连接分(ABC)。
(第四章)
A.等值连接。
B.不等连接。
C.自然连接。
46.在Oracle中,约束可以在DML语句执行之后立即生效,也可以延迟到事务处理提交时才
生效。
(setconstraint)语句可以让用户在事务处理中设置延迟约束的强制模式。
(第四章)
4