一、填空题
1、从存储结构的角度来说,Oracle数据库可分为物理结构和逻辑结构. 2、Oracle实例,也被称作数据库服务或服务器,是一组操作系统进程和内存区域.Oracle使用他们来管理数据库访问, 3、内存结构是指一个进程在其中进行自身对话或与其他进程对话的内存区域,Oracle使用两种类型的内存结构,一种是系统全局区或SGA;另一种是程序全局区或PGA.
4、现在最长使用的RAID有4个等级:0级,1级,3级,5级.
5、实现远程数据操作,需要使用两个阶段提交(two-phase commit,2PC).两个阶段提交也是Oracle分布式数据 库的功能基础.第一阶段为准备阶段,第二阶段称为提交阶段.2PC可以把几个节点见的事物 组看做是一个单元,或者是所有事物都提交,或者是他们都回滚.
6、一个模式为一个数据库用户所拥有,并且名称与用户名相同,是一个数据库的逻辑结构的集合.
7、一个段由区间组成,一旦现有的区间不能再存储新数据,这个段就要获取另一个区间.这种扩展过程将一直持续下去,直到表空间中的数据文件已没有自由空间,或者已达到每个段的最大内部区间数量为 止.
8、数据字典试图分成3类:(DBA_);(ALL_)和(USER_)视图.(DBA_)视图包含了数据库所有对象的信息,(ALL_)视图包含了用户查询表时可以访问的所有对象的信息,(USER_)视图包含了用户查询表时表所拥有的全部对象的信息.
9、数据库进行物理备份有两种方式可供选择:联机备份和脱机备份.
10、Oracle企业管理器产品集包括应用服务控制器,主要用于管理Oracle应用服务器10g的实例;数据库控制器,主要用于管理Oracle数据库10g的实例;网络控制器,主要集中地管理整个企业计算。
11、表的数据存储在行和列中。可以用一个表名和一组列来定义一个表,每个列有一个名称,数据类型和可能的宽度(视数据类型而定)。一行是列信息的集合,对应于一条记录。
12、索引是为了加速对特定表数据的访问而创建的数据段,拥有表的一列或多列的值以及与这些列值相对应的POWID。当O racle服务器需要在表中查找某一指定行时,它在索引中查找POWID,然后直接从表中提出数据 13、聚簇是一种可选的数据库对象,提供了一种存储表的数据的方法,将那些经常在相同数据块中一起使用的表进行物理分组,从而使经常被同时访问的表在物理位置上可以存储在一起。可以分为表簇和哈希簇
14、一个同义词就是一个数据库对象别名。在创建一个同义词时,就指定了一个同义词名字和同义词所用的对象,当引用同义词名字时。O racle服务器回自动用同义词定义的对象名字来代替同义词的 名字
15、表空间是O racle数据库中数据的逻辑组织,它存储段的集合,在操作系统级映到一个或多个数据文件中上去 16、O racle数据库的早期版本使用回滚段来存储撤消信息。O racle 9i引入了自动撤消管理。O racle强烈建议用户使用撤消表空间来管理撤消。而不是用回滚段
17、在过去的O racle版本里使用回滚段来管理撤消空间。称为手工撤消管理模式。现在,如果使用撤消表空间方法,称为自动撤消管理模式。可以使用VNDO—MANAGEMENT初始化参数在实例启动的时候 来确定撤消管理模式,这个参数的默认值是MANVAL 18、区间分配有两种:动态初始分配和手工区间分配
19、在用户请求连接数据库之前,Oracle提供了4种主要的认证合法用户的方式:数据库认证、外部认证、全局认证和代理认证。
20、每个Oracle 10g数据库在创建后都有4个默认的数据库用户:system、sys、sysman和DBcnmp
21、Oracle提供了两种类型的权限:系统权限和对象权限。系统权限提供了在Oracle数据库系统范围内执行某种任务的操作能力,而对象权限则是一种赋予用户在指定的数据库对象(如表、视图、过程等) 上执行特定类型的操作的权限。
22、控制结构是所有程序设计语言的核心,PL/SQL程序可以使用顺序结构、选择结构、NULL结构和循环结构来控制程序流。
23、PL/SQL用游标来管理SQL的SELECT语言。
24、PL/SQL中的块主要有两种类型:命名块和匿名块。匿名块没有自己的名称,以DECLARE或BEGIN开始,每次使用时都要进行编译,除此之外,该类块不再数据库中存储并且不能直接从其他的PL/SQL块 中调用;而命名块没有这些限制,可以存储在数据库中并适当的时候进行。
25、Oracle数据库系统得初始化参数分为,导出参数,操作平台特有的操作,变量操作3类 26、字符集中的NLS-LANG参数包含3个组成部分:语言,地域,字符集 27、按照触发时间来源的不同,触发器分为4种主要的类型,分别是DML触发器、替代触发器、系统触发器和DDL触发器。
1.下列SQL命令中,不属于DML命令的是(UPDATE)。
2. SQL*PLUS提供了一系列SQL缓冲区命令来提取并编辑存储在该缓冲区中的SQL语句和PL/SQL块。例如,如果想使用新文本更改一行中的旧文本,则应该使用(LIST)命令。
3. SQL缓冲区命令中除(LIST)命令外,所有其他的编辑命令仅影响缓冲区中的一行。 4. SQL*PLUS中用于文件操作的命令中,(SAVE)命令运行脚本文件中的SQL语句,支持嵌套脚本。
5.在很多实际操作中,一个表有可能在同一列中有重复的值。如果一个字段有重复的值,用户希望每个值只被选取一次,这时就需要使用关键字(AS)了。
6.查询一个表的总的记录条数,可以采用(COUNT(*))统计函数。
7.如果确定要删除一个大表了的全部记录,可以执行(TRUNCATE 表名)命令,它可以释放占有的数据块表空间。 8.下列SQL命令中,不能隐式提交的命令是(SELECT)。 填空1.SQL语句可分为两种类型:(DDL)和(DML)。
2.数据操作语言允许用户对数据库中的数据进行查询、插入、更新和删除等操作,相应的命令是(SELECT)、(INSERT)、(UPDATE)和(DELETE)等。
3.Oracle对SQL最重要的改进之一就是增加了(描述或DESCRIBE)命令,利用该命令可以快速掌握表及其中所有表列的概要。
4.确保多个SQL语句被当作但个工作单元来处理的机制被称为事务,事务一般具有一致性和可恢复性的特点。 5.提交数据有3种类型:(显式提交)、(隐式提交)及(自动提交)。用COMMAIT命令直接完成的提交为(显式提交),用SQL命令间接完成的提交为(隐式提交),若把AUTOCOMMIT选项设置为ON,则 在插入、修改、删除语句执行后,系统将自动进行提交,这被称为(自动提交)。
1. 在数据库打开时进行数据库备份叫做 联机备份 ,执行此备份时数据库只能运行在 归档模式下。
2. 数据库可以运行在两种备份模式下, NOARCHIVELOG(非归档)模式和 ARCHIVELOG(归档)模式。
3. Oracle 的故障包括介质故障 、用户或应用程序故障、数据库实例错误、语句故障、进程故障、网络故障等六种类型。
4. 按介质恢复的内容,可以将介质恢复分为完全恢复和不完全恢复。
5.使用EXPORT导出数据时,可以根据需要按 完整数据库、用户、表三种不同的方式导出, 三、简答
1. 为什么要对数据库进行备份。
答:保证数据库的数据安全是数据库管理员的重要工作职责。今天,计算机软件、硬件系统的可靠性都有了很大的改善,采用了许多新技术来提高了系统的可靠性。但是这些措施并不是万无一失的,数据库在运行期间或多或少会出现一些避免不了的故障,有些故障甚至是灾难性的。例如一个电子商务网站的数据库服务器遭到了破坏性病毒的攻击而宕机,或者是由于操作人员的意外操作,所有用户的资料,交易记录,商务数据统统丢失,那后果恐怕是不堪设想的。数据库的备份与恢复就是预防这类灾难的一个十分有效的手段。定期进行数据库备份是保证系统安全的一项重要措施,是数据库管理员的日常的工作之一。 2. 数据库备份的种类和特点。 答:1.物理备份和逻辑备份
Oracle的备份可以分为物理备份和逻辑备份。物理备份指备份数据库的物理文件,这些文件包括数据文件和控制文件,如果数据库运行在归档模式下,也要备份归档日志文件。可以使用RMAN命令或操作系统命令备份物理
文件。物理备份又分为脱机冷备份和联机热备份两种。逻辑备份指把数据库的逻辑对象导出到一个物理文件上,一般使用Import或 逻辑备份指把数据库的逻辑对象导出到一个物理文件上,一般使用Import或Export命令,这两个命令是最常见的逻辑备份命令。Export命令将模式对象导出到一个二进制的文件中,然后用Import命令导回到数据库中,逻辑备份可以横跨数据库。例如用Import命令导出到文件后,可再在其他数据库内导入这个文件。 2.全数据备份和部分数据库备份
全数据库备份是将数据库内的控制文件和所有数据文件备份。全数据库备份是数据库管理经常进行的备份。全数据库备份不要求数据库在归档方式中。在归档和非归档模式下有不同的全数据库备份的方法。归档方式下的全数据库备份有两种类型:一致的和不一致的备份。使用以下方法可进行全数据库备份。部分数据库备份指只备份数据库的一部分,如表空间、数据文件、控制文件等。表空间备份是指备份构成表空间的数据文件。 3.一致备份和不一致备份
一致备份是指全数据库或部分数据库备份的所有的数据文件和控制文件是同一个系统改变号(SCN,SYSTEM CHANGE NUMBER)。数据库在打开或异常关闭时进行的备份时不一致备份,因为其内部的SCN不一致,所以是不一致的备份。如果重新装载一致性的数据库备份,因为SCN号一致,所以不需要执行介质或实例恢复。执行一致备份的惟一方法是使用带NORMAL、IMMEDIATE或TRANSACTION的方式关闭数据库,在数据库关闭后执行数据库备份。
不一致备份是指所有的数据文件和控制文件处在不同的系统改变号下,如果数据库不能关闭,那么只能执行不一致的备份。只有运行在归档模式下才能执行不一致备份,因为不一致备份的数据文件或控制文件的SCN号不完全一样,要从不一致的备份中恢复数据库,必须借助归档的日志文件才能使恢复后的SCN号一样。 4.联机和脱机备份
在数据库打开时进行数据库备份叫做联机备份,联机备份的数据库只能运行在归档模式下。使用联机备份时要避免出现数据裂块。数据裂块的意思就是当Oracle写数据库的时候,有可能一个数据块正在更新,这时如果进行备份,备份出去的这个数据块可能一部分是旧数据,一部分是新数据,导致数据不一致。避免出现数据裂块的方法是使用RMAN命令,因为RMAN命令是通过Oracle服务器会话读取数据文件,服务器会话会读取整个的数据块,并设法使读取的数据块数据一致。
设学校环境如下:一个系有若干个专业,每个专业一年只招一个班,每个班有若干个学生。 现要建立关于系、学生、班级的数据库,关系模式为:
班CLASS (班号classid,专业名subject,系名deptname,入学年份enrolltime,人数num) 学生STUDENT (学号studentid,姓名name,年龄age,班号classid) 系 DEPARTMENT (系号deptid,系名deptname) 试用SQL语言完成以下功能: 1 建表,在定义中要求声明: (1)每个表的主外键。
(2)每个班级的人数不能超过30人。 (3)学生的年龄介于15到40岁之间。 (4)学生姓名不能为空。 2 插入如下数据 CLASS(
101,软件,计算机,1995,20; 102,微电子,计算机,1996,30; 111,无机化学,化学,1995,29; 112,高分子化学,化学,1996,25; 121,统计数学,数学,1995,20; 131,现代语言,中文,1996,20; 141,国际贸易,经济,1997,30;
142,国际金融,经济,1996,14; )
STUDENT (
8101,张三,18,101; 8102,钱四,16,121; 8103,王玲,17,131; 8105,李飞,19,102; 8109,赵四,18,141; 8110,李可,20,142; 8201,张飞,18,111; 8302,周瑜,16,112;
8203,王亮,17,111; 8305,董庆,19,102; 8409,赵龙,18,101; 8510,李丽,20,142 )
DEPARTMENT( 001, 数学;002, 计算机;003,3 完成以下查询功能
(1)找出所有姓李的学生。
(2)列出所有开设超过两个专业的系的名字。 (3)列出人数大于等于30的系的编号和名字。 4 学校又新增加了一个物理系,编号为006。 5 学生张三退学,请更新相关的表。 答案如下:
create table class (
classid number(3) primary key, subject varchar2(20), deptname varchar2(20), enrolltime date, num number,
constraint num_uk check ( num<=30) );
create table student2(
studentid number(4) primary key, name varchar2(20) not null, age number(2), classid number(3), constraint classid_fk
foreign key (classid) references class( classid), constraint age_uk
check ( age between 15 and 40) );
create table department2(
deptid number(4) primary key, deptname varchar2(20) );
往class 表中插入数据:
insert into class ( classid, subject,deptname, enrolltime, num) values(101,'软件','计算机', to_date(1995,'yyyy'),20);
insert into class ( classid, subject,deptname, enrolltime, num)
化学;004,中文;005,经济;) values(102,'微电子','计算机', to_date(1996,'yyyy'),30);
insert into class ( classid, subject,deptname, enrolltime, num) values(111,'无机化学','化学', to_date(1995,'yyyy'),29);
insert into class ( classid, subject,deptname, enrolltime, num) values(112,'高分子化学','化学', to_date(1996,'yyyy'),25); insert into class ( classid, subject,deptname, enrolltime, num) values(121,'统计数学','数学', to_date(1995,'yyyy'),20);
insert into class ( classid, subject,deptname, enrolltime, num) values(131,'现代语言','中文', to_date(1996,'yyyy'),20);
insert into class ( classid, subject,deptname, enrolltime, num) values(141,'国际贸易','经济', to_date(1997,'yyyy'),30);
insert into class ( classid, subject,deptname, enrolltime, num) values(142,'国际金融','经济', to_date(1996,'yyyy'),14); 往student2 表中插入数据:
insert into student2 (studentid, name, age, classid) values(8101,'张三', 18,101);
insert into student2 (studentid, name, age, classid) values(8102,'钱四', 16,121);
insert into student2 (studentid, name, age, classid) values(8103,'王玲', 17,131);
insert into student2 (studentid, name, age, classid) values(8109,'赵四', 18,141);
insert into student2 (studentid, name, age, classid) values(8110,'李可', 20,142);
insert into student2 (studentid, name, age, classid) values(8201,'张飞', 18,111);
insert into student2 (studentid, name, age, classid) values(8302,'周瑜', 16,112);
insert into student2 (studentid, name, age, classid) values(8203,'王亮', 17,111);
insert into student2 (studentid, name, age, classid) values(8305,'董庆', 19,102);
insert into student2 (studentid, name, age, classid) values(8409,'赵龙', 18,101);
insert into student2 (studentid, name, age, classid) values(8510,'李丽', 20,142);
insert into student2 (studentid, name, age, classid) values(8105,'李飞', 19,102); 往department表中插入数据:
insert into department2( deptid,deptname) values(001,'数学');
insert into department2( deptid,deptname) values(002,'计算机');
insert into department2( deptid,deptname)
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Oracle习题在线全文阅读。
相关推荐: