oracle数据库数据处理习题

1
一、单项选择题
1.( A )是Oracle服务器在启动期间用来标识物理文件和数据库结构的二进制文件。
A.控制文件 B.参数文件 C.数据文件 D.日志文件
2.( B )进程主要职责是监控服务器进程和注册数据库服务。
A.SMON B.PMON C.CHKT D.LGWR
3.( C ) 代表了数据库中最小粒度的逻辑数据存储层次。
A.盘区 B.表空间 C.数据块 D.数据文件
4.用于在启动实例时配置数据库,确定 Oracle 11g 的运行环境文件是( A )
A.参数文件 B.数据文件 C. 可执行文件 D. 控制文件
5.下列选项中,哪一部分不是 Oracle实例的组成部分?( C )
A.系统全局区 SGA B.PMON后台进程 C.控制文件 D.Dnnn 调度进程
6.在全局存储区 SGA中,哪部分内存区域是循环使用的 ?( B )
A.数据缓冲区 B.日志缓冲区 C.共享池 D.大池
7.解析后的 SQL语句在SGA的哪个区域中进行缓存?( C )
A.数据缓冲区 B.日志缓冲区 C.共享池 D.大池
8.如果服务器进程无法在数据缓冲区中找到空闲缓存块, 以添加从数据文件中读取的数据块,
则将启动如下哪个进程?( A )
A.DBWR B.LGWR C.SMON D.PMON
9.如果服务器进程非正常终止, Oracle 系统将使用下列哪一个进程以释放它所占用的资源?
( D )
A.DBWR B.LGWR C.SMON D.PMON
10.下列哪个进程用于将修改过的数据从内存保存到磁盘数据文件中?( A )
A.DBWR B.LGWR C.RECO D.ARCH
11.当数据库运行在归档模式下时,如果发生日志切换,为了保证不覆盖旧的日志信息,系统
将启动哪个进程?( D )
A.DBWR B.LGWR C.SMON D.ARCH
2
12.下面哪个描述是正确的?( A )
A.表空间由段组成,段由盘区组成,盘区由数据块组成。
B.段由表空间组成,表空间由盘区组成,盘区由数据块组成。
C.盘区由数据块组成 ,数据块由段组成,段由表空间组成。
D.数据块由段组成,段由盘区组成,盘区由表空间组成。
13.下列哪个部分不是 oracle 实例的组成部分?( C )
A.系统全局区域 B. 服务器进程 C.数据库作者 D.系统监控器
14.你用DBCA建立了一个数据库而没有保存模版定义。现在你打算用 DBCA拷贝整个数据库和
数据,下列哪个是首先要做的?( D )
A.使用脚本建立新的数据库,使用 DBCA导入数据
B.用DBCA模版管理从现有数据库建立一个新的数据库,数据也如此导入
C.从模版列表中选择先前建立的数据库模版并建立数据库
D.从现有数据库中拷贝数据文件建立新的数据库,然后利用 DBCA拷贝数据
15. 你正在你的组织紧急事件处置演习中。几乎没有时间通报用户,你就需要尽快地停止数
据库进程。下列命令哪个是你需要要执行的?( D )
A. shutdown abort  B. shutdown transactional
C. shutdown  D. shutdown immediate
16. 你正在用共享服务器管理一个数据库。 Large_pool_size 是 50M。你执行命令 :alter
system set  Large_pool_size=100M  scope=memory后然后关闭并重启数据库。现在
Large_pool_size 是多少?( A )
A. 50M B.  默认Large_pool_size 大小
C. 100M  D. 和使用中的 oracle SPfile 设置的一样
17. 你使用下列命令连接数据库: sqlplus scott/[email protected]:1522/orcl. 目标数据库
是哪一个?( A )
A.abc.com  B.tiger  C.orcl  D.scott  E. 以上都不是
18. 下列哪个不是有效的数据库状态?( A )
A. 开机 B. 关闭 C. 启动 D. 装载 E. 不装载
19. 如果一个数据库举例 (instance) 失败,但是没有停止运行,你必须使用哪个命令使实例
恢复能被执行? ( B )
A.startup nomount  B.shutdown immediate; start force
C.startup mount  D.shutdown abort; startup
3
20. Oracle 数据库由一个或多个称为()的逻辑存储单元组成。 ( B )
A.表 B. 表空间 C. 行 D. 单元
21. 对于系统表的空间, Oracle建议的大小是( D )
A.100M B. 200M C.300M D.400M E.500M
22. 下列动态视图中,( C )是从控制文件中得到的所有表空间的名称和数量。
A.V$INSTANCE B.V$DATABASE C.V$TABLESPACE D.V$DATAFILES
23. 如果一个表空间脱机在哪里查看?( B )
A. dba_tablespaces  B. v$ tablespaces  C. v$database  D. dba_datafile_status
24.下面哪个参数不能在 STORAGE子句中进行设置( B )
A. INITIAL  B. PCTUSED C. MINEXTENTS D. NEXT
25.Oracle 数据库的最小 I/O单位是( D )
A. 表空间 B. 段 C. 盘区 D. 数据块
26.在设置自动撤消管理时,下列( B  )参数用于设置所使用的撤消表空间
A.UNDO_MANAGEMENT  B.UNDO_TABLESPACE
C.UNDO_RETENTION D.ROLLBACK_SEGMENTS
27.把一个表空间切换到 OFFLINE状态时,可以使用4个参数,不包括下列哪个选项? ( D )
A.IMMEDIATE B.NORMAL C.TEMPORARY D.FORCE
28.在设置撤消表空间的自动管理功能时, DBA通过使用相关的初始化参数对自动撤消表空间
进行配置。下面的 4个参数中,哪一个不是与自动撤消管理功能相关的参数? ( D )
A.UNDO_MANAGEMENT  B.UNDO_TABLESPACE
C.UNDO_RETENTION D.TRANSACTIONS
29.Oracle 表的唯一键约束与主键约束的一个区别是( A )
A.唯一键标识的列可以为空 B. 主键标识的列可以为空
C.唯一键标识的列只可以为单列 D. 主键标识的列只可以为单列
30.下列哪个是无效的列名?( A )
A.1ST_ID  B.CUST#  C.ADDRESS1  D.EXCEPTION
4
31.如果希望在激活约束时不验证表中已有的数据是否满足约束的定义,那么可以使用下列哪
个关键字?( D )
A.disactive B.validate C.active D.novalidate
32.SQL语言中,删除一个表的命令是( B )
A. DELETE B. DROP C.CLEAR D. REMORE
33.你定义了一个对象类型 myOBJ,要基于该类型来创建表 tab1,语句为( C )。
A.CREATE TABLE tab1 OF myOBJ;
B.CREATE TABLE myOBJ OF tab1;
C.CREATE TABLE tab1 AS myOBJ;
D.CREATE TABLE tab1 TYPE OF myOBJ;
34.下列函数不属于集函数的是( D )
A.max B.avg C.count D.substring
35.( C )函数不能用于日期 /时间类型。
A.MAX B.MIN C.COUNT D.TO_CHAR
36.HAVING子句的作用是( A )
A.查询结果的分组条件 B. 组的筛选条件
C.限定返回的行的判断条件 D. 对结果集进行排序
37.查询一个表的总记录数,可以采用( C )统计函数。
A.AVG(*) B.SUM(*) C.COUNT(*) D.MAX(*)
38.下列涉及空值的操作,不正确的是 ( C )
A. AGE IS NULL B. AGE IS NOT NULL
C. AGE = NULL D. NOT (AGE IS NULL)
39. 下列中哪个不是 DML命令?( B )
A.Insert  B.Create  C.Update  D.Delete
40.用于删除表中所有数据行的命令是( B )
A. DELETE TABLE B. TRUNCATE TABLE C. DROP TABLE D. ALTER TABLE
41.( C ) 权限可以允许被授权者置数据库于 noarchivelog 模式?
A. sysdba  B. root  C. dba  D.operator
5
42.下列哪个表述将用户 brent和他的模型实体一起从数据库中移动? ( D )
A.drop user brent;
B.delete from dba_uesrs where username= ’brent’;
C.alter system remove user brent cascade;
D.drop user brent cascade;
43.下列权限中,哪一个不是数据库的访问权限 ?( D )
A. Read权限 B. Resource 权限 C. Update 权限 D.Lock 权限
44.假设用户 USER1的默认表空间为 USERS,他在该空间的配额为 10MB,则USER1在USERS表
空间创建基本表时,他应具有( A )权限
A.CREATE TABLE B.CREATE USER C.UNLIMITED TABLESPACE D.LIMITED TABLESPACE
45.下列哪一项资源不能在用户配置文件中限定?( A )
A.各个会话的用户数 B.登录失败的次数 C.使用CPU时间 D.使用SGA区的大小
46.下面哪一个不是系统权限?( D )
A.SELECT TABLE B.CREATE TABLE C.SYSDBA D.CREATE INDEX
47.想在另一个模式中创建表,用户至少该具有( B )系统权限
A.CREATE TABLE B.CREATE ANY TABLE C.RESOURCE D.DBA
48.用户查询下列( C )数据字典视图可以查看他向其他用户授予的对象权限。
A.DBA_SYS_PRIVS B.USER_TAB_PRIVS_MADE C.USER_TAB_PRIVS D.USER_OBJ_PRIVS
49.下面( B )角色允许一个用户创建其他用户
A.CONNECT B.DBA C.RESOURCE D.SYSDBA
50.如果要启用所有角色,则应该使用( B )命令
A.SET ROLE ALL B.SET ROLE ENABLE ALL C.ALTER SESSION ALL D.ALTER USER ROLE ALL
51.如果一个用户不慎删除了一个表,这将被认为是什么故障? ( B )
A.实例 B.用户错误 C. 表述 D.用户进程
52.下列哪个不是有效的数据泵导出模式? ( A )
A.JAVA  B. SCHEMA C. TABLE  D. TABLESPACE
6
53.进行数据库闪回时,必须确保数据库是处于( C )模式。
A.正常启动模式 B.用户交互模式
C.归档模式 D.调试维护模式
54.Oracle 支持多种类型的不完全备份,下列 ( B ) 不是Oracle所支持的不完全备份?
A.基于时间的不完全备份 B. 基于拥护的不完全备份
C.基于撤消的不完全备份 D. 基于更改的不完全备份
55.在对恢复目录进行 CROSSCHECK 检验时,如果 RMAN不能找到物理存储的备份文件,则备份
文件的信息将被标记为 ( A ) 。
A.EXPIRED B.DELETE
C.ACAILABLE D.UNAVAILABLE
56.下列哪个命令可以用来确认恢复目录中记录的备份数据文件是否存在? ( D )
A.CROSS CHECK BACKUP OF DATABASE
B.CROSS CHECK COPY OF DATABASE
C.CROSSCHECK COPY
D.CROSSCHECK BACKUP OF ARCHIVELOG ALL
57.下面哪一种不完全恢复需要使用 SCN号作为参数?( C )
A.基于时间的不完全备份
B.基于撤消的不完全备份
C.基于更改的不完全备份
D.基于顺序的不完全备份
58.执行不完全恢复时,数据库必须处于什么状态? ( D )
A.关闭 B. 卸载 C. 打开 D. 装载
59.下列哪一个命令可以将一个文件的备份还原到数据库原目录中? ( D )
A.RECOVER B.BACKUP C.COPY D.RESTORE
60.使用RMAN进行介质恢复时,执行命令的顺序是什么? ( A )
A.RESTORE、RECOVER B.RECOVER 、RESTORE
C.COPY、BACKUP D.COPY、RECOVER
61.下列哪一个操作可以用来为一个备份操作手动分配通道? ( A )
A.ALLOCATE CHANNEL B.CREATE CHANNEL
C.CHANNEL ALLOCATE D.CREATE LINK
7
62.下列哪一个命令用来显示 RMAN通道的配置信息? ( A )
A.LIST B.DISPLAY C.SHOW D. 都可以
63.下列哪一个命令可以用来执行不完全恢复? ( B )
A.RESTORE DATABASE UNTIL
B.RECOVER DATABASE UNTIL
C.RECOVER DATA UNTIL
D.RESTORE DATA UNTIL
64.weblogic 调优过程中不涉及的方面( D)。
A.JVM内存
B.线程数量
C.操作系统共享内存大小
D.文件系统大小
65.如下什么是标准的 BEA错误号?(C)。
A.Error-0001
B.WLS-00002
C.BEA-12345
D.ORA-10101
66.proxy plug-in 的作用是?( C)。
A.使得web server 提供静态内容服务
B.使得weblogic 提供动态内容服务
C.负载均衡请求
D.以上都不是
67.若WebLogic域所在服务器地址为 85.16.16.201, 域的端口为 8001,则登录控制台的地址
为:(B)。
A.http://85.16.16.201:8001
B.http://85.16.16.201:8001/console/
C.http://85.16.16.201:8001/login
D.以上都不是
8
二、填空题
1.在Oracle 11g的文件系统中包含多种类型的文件, 这些文件是 数据文件 、 控制文件 、
日志文件 、 参数文件 、口令文件、跟踪文件、警告日志文件等。
2.一般地,Oracle的后台进程包括 数据写入进场 DBWR 、日志写入进场 LGWR 、 检查点
进程CKPT 、系统监控进场 SMON 、进程监控进场 PMON 、归档进程 ARCH 、恢复进程
RECO、封锁进程 LCKn、调度进程 Dnnn、服务器进程 Snnn、作业进程 SNP等。
3.一个表空间物理上对应一个或多个 数据 文件。
4.用户对 数据库的操作如果产生日志信息,则 该日志信息首先 存储在 日志缓 冲区
中,随后由 LGWR 进程保存到 日志文件 。
5.在Oralce的逻辑存储结构中,根据存储数据的类型,可将段分为 数据段 、索引段
回退段 、LOB段和 临时段 。
6.Oracle数据库由一个或多个称为 表空间 的逻辑存储单元组成。
7. 内存结构是指一个进程在其中进行自身对话或与其他进程对话的内存区域 ,Oracle 使用两
种类型的内存结构 ,一种是 SGA ;另一种是 PGA 。
8. 数据字典试图分成 3类:DBA_、 ALL_ 和 USER_ 视图,DBA_视图包含了数据库所有对
象的信息, ALL_ 视图包含了用户查询表时可以访问的所有对象的信息 , USER_  视图包含
了用户查询表时表所拥有的全部对象的信息。
9.表空间是Oracle数据库中数据的逻辑组织 ,每个数据库至少有一个 系统 表空间。
10.表空间是 O racle数据库中数据的逻辑组织,它存储段的集合,在操作系统级映到一个或
多个 数据文件 上。
11.如果想查询当前会话可以使用的权限,可以查询 SESSION_PRIVS  视图。
12.如果要查看某个用户所拥有的角色,可以查看 DBA_ROLE_PRIVS  视图。
13.若要获取数据库中创建的配置文件的信息,可以通过查询数据字典视图 DBA_PROFILES 。
14.在Oracle中将权限分为两类,即 系统权限 和 对象权限 。 系统权限 是指在系统
级控制数据库的存取和使用机制, 对象权限 是指模式对象上控制存取和使用的机制。
9
15. 角色 是具有名称的一组相关权限的组合。
16.连接到数据库的最低系统预定义角色是 CONNECT 。
17.在用户连接到数据库后可以查询数据字典 ROLE_SYS_PRIVS 了解用户所具有的系统权
限。
18.当数据库在 非归档 模式中运行时,无法使用单个备份文件对数据库进行恢复。因
为对模式数据库进行恢复时,必须使用所有的数据库文件备份,使数据库恢复后处于一致状
态。
19.手动进行介质恢复时, 按照数据库恢复后的运行状态不同, 介质恢复为分为 完全数据库
恢复 和 不完全数据库恢复 。 完全恢复 就是恢复所有已经提交的事务,即将数
据库、表空间或数据文件的备份更新到最近的时间。 不完全恢复 使用数据库的备份来对
数据库进行恢复,即将数据库恢复到某一特定的时刻。
20.使用EXPORT导出数据时,可以根据需要按 3种不同的方式导出数据。 表 方式就是导
出一个指定的基本表,包括表的定义、表中的数据,以及在表上建立的索引、约束等。
用户 方式是指到处属于一个拥护的所有对象,包括表、视图、存储过程、序列等。
整数据库 方式导出是指导出数据库中所有的对象。
21.使用 RMAN 进行目标数据库的备份时,可以使用 COPY  和 BACKUP  命令。
COPY 命令用于数据文件备份, 可以将指定的数据库文件备份到磁盘或磁带。 BACKUP  命
令是数据的备份,可以复制一个或多个表空间,以及整个数据库中的数据。
22. 数据库进行物理备份有两种方式可供选择 :联机备份和 脱机备份 。
23.集合运算符 UNION  实现了集合的并运算, 操作INTERSECT实现了对集合的交运算,
而 MINUS  则实现了减运算。
24.如果只需要返回匹配的列,则应当使用 INNER  JOIN  连接。
25.如果使用逗号分隔连接查看两个表,其中一表有 20行,而另一表有 50行,如果未使用
WHERE子句,则将返回 1000  行。
26.外连接的三种类型是 LEFT JOIN  、 RIGHT JOIN  和 FULL JOIN  。
27. DISTINCT  关键字用来限定检索结果中只显示那些不冗余的数据,该关键字使用在
SELECT子句中列的列表前面。
10
28.在order by子句中, ASC  关键字表示升序排列, DESC  关键字表示降序排列。
29.在连接操作中,如果左表和右表中不满足连接条件的数据都出现在结果中,那么这种连接
是 FULL JOIN  。
三、简答题
1.设有关系 EMP(ENO,ENAME,SALARY,DNO),其中各属性的含义依次为职工号、
姓名、工资和所在部门号,以及关系 DEPT(DNO,DNAME,MANAGER),其中各属性含
义依次为部门号、部门名称、部门经理的职工号。
试用SQL语句完成以下查询:
(1)列出各部门中工资不低于 600元的职工的平均工资。
(2)写出“查询 001号职工所在部门名称”的查询语句。
(3)请用SQL语句将“销售部”的那些工资数额低于 600的职工的工资上调 10%。
解:
(1)SELECT AVG(SALARY) FROM EMP WHERE SALARY>=600
(2)SELECT B. DNAME  FROM EMP A, DEPT B WHERE A. DNO=B. DNO AND A.
ENO=’001’
(3)UPDATE A SET A. SALARY=A. SALARY*1.1
FROM EMP A, DEPT B WHERE A. DNO=B. DNO AND B. DNAME =’销售部’AND A.
SALARY<600
2.已知有学生关系 S(SNO,SNAME,AGE,DNO),各属性含义依次为学号,姓名、年龄和所在
系号;学生选课关系 SC(SNO,CNO,SCORE),各属性含义依次为学号、课程号和成绩。
(1)分析以下 SQL语句:
SELECT SNO FROM SC WHERE SCORE= (SELECT MAX(SCORE)FROM SC WHERE CNO=’002’)
请问上述语句完成了什么查询操作?
(2)试用SQL语句完成如下查询:
按系号列出各系学生的平均成绩。
(3)试用SQL语句完成如下查询:
列出同时选修了 001号和002号课程的学生的学号
解:
(1) 读取学生选课关系中成绩为课程号为 002的最高成绩的学号。
(2)SELECT DNO,AVG(SCORE)
FROM S A,SC B
WHERE A.SNO=B.SNO
GROUP BY DNO
11
(3)SELECT SNO FROM S
WHERE S.NO IN(SELECT A.SNO
FROM SC A,SC B
WHERE A.CNO=001 AND B.CNO=002 AND A.SNO=B.SNO)
3.已知3个表:工程技术人员表 emp(sno,sname,sgrade),含义分别为技术人员代号、姓名和技
术等级;项目表 project(prjno,prjname,sgrade),含义分别为项目代号,项目名称,项目所需的技
术等级;项目日报酬表 pay(sno,prjno,daypay),含义分别为技术人员代号,项目代号,项目日报
酬。要求技术人员只能参加低于其技术等级的项目。
(1)请查询出技术等级大于 2的项目代号和项目名称,同时按项目等级降序排序。
(2)请查询出工程技术人员姓名为“张三” ,项目代号为“ A001”的项目日报酬。
(3)请查询出可以参加编号为“ A001”的项目的工程技术人员代号和姓名。
(4)请查询出姓名为“张三”的工程技术人员可以参加的项目代号和项目名称。
解:
(1)SELECT prjno,prjname FROM project WHERE sgrade>2 ORDER BY prjname DESC
(2)SELECT daypay FROM emp A, pay B WHERE A. sno=B. sno AND sname=’张三’AND
prjno=’ A001’
(3)SELECT sno,sname FROM emp A, pay B WHERE A. sno=B. sno AND prjno= ’ A001’
(4)SELECT C.prjno,prjname FROM emp A, pay B, project C WHERE A. sno=B. sno AND B.
prjno=C. prjno AND sname=’张三’
4.已知 一个员工表TBEmp,包含以下字段
列名称 数据类型 备注
id  varchar2(10)  代表员工号码,主键
name  varchar2(2) 代表员工名字,非空
sex  varchar2(10) 代表员工性别
birthday  date 代表出生日期
memo  varchar2(100) 代表员工备注
(1)创建员工表 TBEmp
(2)增加一个字段 salary,类型 number
(3)删除表的 memo字段
(4)把name字段长度改为 100
(5) 插入以下数据(‘ 001’,‘陈四’,‘男’,‘ 1980-10-20’,NULL)
(6)查询有工资的员工信息
(7)查询名字中没有 ac的员工姓名和出生日期
(8)查询工资在 900到2300之间的员工信息
(9)查询女员工个数(性别为 female的)
(10)查询拿最高工资的员工信息
(11)按照员工年龄由高到低来排序,显示员工号码、姓名、出生日期(使用 to_char函数,
日期按照年/月/日时:分显示) to_char(birthday,’yyyy/mm/dd hh:mi:ss’)
12
(12)将Jack的出生日期修改为 1977-2-1,工资增加 200元
(13)更新表格,在所有员工的号码后面加上 ‘emp’
(14)删除号码是 e001和e002和e003的员工
(15)将员工的 id和姓名连接起来使用别名 newname来显示(语法 select  ⋯ as ⋯from .. )
(16)取出员工姓名的前三个字符、第三个字符、姓名长度
(17)使用create table ⋯ as ⋯ 来创建tbemp的备份表格 tbemp2
(18)使用两种方式删除所有员工
(19)删除TBEmp表格
解:(1)create table TBEmp
( id varchar2(10) not null PRIMARY KEY,
name varchar2(2) not null,
sex varchar2(10),
birthday date,
memo varchar2(100));
comment on column TBEmp.id is  员工号'';
comment on column TBEmp.name is ' 员工名称';
comment on column TBEmp.sex is ' 员工性别';
comment on column TBEmp.birthday is ' 出生日期';
comment on column TBEmp.memo is ' 员工备注';
(2)alter table TBEmp add SALARY number;
(3)alter table TBEmp drop column memo;
(4)alter table TBEmp modify name varchar2(100);
(5)INSERT INTO TBEmp(id,name,sex,  birthday ) VALUES(‘001’,‘陈四’,‘男’,
‘1980-10-20’)
(6)SELECT * FROM TBEmp WHERE  SALARY IS NOT NULL
(7)SELECT name, birthday FROM TBEmp WHERE  name NOT IN (SELECT name FROM TBEmp WHERE
NAME LIKE ‘%ac%’)
(8)SELECT * FROM TBEmp WHERE  SALARY BETWEEN 900 AND 2300
(9)SELECT COUNT(1) FROM  TBEmp WHRE sex =’ female’
(10)SELECT * FROM TBEmp WHRE ID IN (SELECT ID FROM TBEmp WHERE SALARY
=(SELECT MAX(SALARY) FROM  TBEmp))
(11)SELECT id,name,birthday  FROM TBEmp ORDER BY to_char(birthday, ’yyyy/mm/dd hh:mi:ss’)
DESC
(12)UPDATE TBEmp SET birthday=’1977-2-1’, SALARY=  SALARY+200  WHERE name=’
Jack’
(13)UPDATE TBEmp SET id=id+’emp’
(14)DELETE TBEmp WHERE id IN (‘e001’,’e002’,’e003’)
(15)SELECT id+name AS newname FROM TBEmp
(16)SELECT SUBSTR(name,1,3),SUBSTR(name,3,1),LEN(name) FROM TBEmp
13
(17)CREATE TABLE tbemp2 AS SELECT * FROM tbemp
(18)DELETE TBEmp;
TRUNCATE TABLE TBEmp
(19)DROP TABLE TBEmp
 

你可能感兴趣的:(关系型数据库)