2017年Oracle数据库基础测试答案

2017年Oracle数据库基础测试答案
2017年Oracle数据库基础测试答案

2017年Oracle数据库基础测试答案

姓名成绩

一、单项选择题(每题1分,共60分)

1.列出EMP表中,从事每个工种(JOB)的员工人数

A.select job from emp;

B. select job,count(*) from emp;

C. select distinct job,count(*) from emp;

D. select job,count(*) from emp group by job;

2.查询EMP表中的数据并且显示出行号(从1开始)

A.select rowid,a.* from emp a;

B. select level,a.* from emp a;

C. select rownum,a.* from emp a;

D. select sequence,a.* from emp a;

3.Oracle数据库中发出一个查询。下列哪个选项不能查询对用户定义静态表

达式执行数学运算时的查询组件?

A.列子句 B.表子句 C.DUAL表D.where子句

4.你要操纵Oracle数据,下列哪个不是SQL命令?

A.select * from dual; B.set define

C.update emp set ename = 6543 where ename = ‘SMITHERS’;

D.create table employees(empid varchar2(10) primary key);

5.你要在Oracle中定义SQL查询。下列哪个数据库对象不能直接从select

语句中引用?

A.表 B.序列C.索引 D.视图

6.你要根据PRODUCT_NAME列从PROFITS表查询中过滤返回的数据。下列哪个

子句包含相应过滤条件的引用?

A.select B.from C.where D.having

7.下列代码显示了PROFITS表输出的局部:

PRODUCT_NAME PRODUCT_TYPE QTR_END_DATE PROFIT

------------ ------------ ------------ -------------

BARNEY DOLL TOY 31-MAR-2001 6575430.30

GAS GRILL APP 31-MAR-2001 1234023.88

PENCIL OFFICE 30-JUN-2001 34039.99

下列查询的where子句哪个能正确计算2001年1月1日到6月1日六个月内销售的所有家电总利润?

A.where product_name = ‘GAS GRILL’ and qtr_end_date

between ’01-JAN-2001’ and ‘01-JUN-2001’;

B.where proeuct_type = ‘APPLIANCE’ and name = ‘GAS GRILL’ and qtr_end_date= ’31-JAN-2001’ or ‘30-JUN-2001’;

C.where proeuct_type = ‘APPLIANCE’ and qtr_end_date

between ’01-JAN-2001’ and ’01-JUN-2001;

D.where proeuct_name = ‘GAS GRILL’ and qtr_end_date

= ’01-JAN-2001’ or ‘01-JUN-2001’;

用下列代码所示的内容回答后面八个问题:

EMPNO ENAME JOB MGR HIREDATE SAL COMM

DEPTNO

------ ---------- --------- ---- --------- ---- ----

------

7369 SIMTH CLERK 7902 17-DEC-80 800 20 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30 7566 JONES MANAGER 7839 02-APR-81 2975 20 7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 7782 CLARK MANAGER 7839 09-JUN-81 2450 10 7788 SCOTT ANALYST 7566 19-APR-87 3000 20 7839 KING PRESIDENT 17-NOV-81 5000 10 7844 TURNER SALESMAN 7698 08-SET-81 1500 0 30 7876 ADAMS CLERK 7788 23-MAY-87 1100 20 7900 JAMES CLERK 7689 03-DEC-81 950 30 7902 FORD ANALYST 7566 03-DEC-81 3000 20 7934 MILLER CLERK 7782 23-JAN-82 1300 10 8.以下选项中哪个是下列查询返回的值:select sum(sal) + sum(comm) from

emp where job = ‘ANALYST’ or ename like ‘J%’ ?

A.6000 B.9925 C.9975 D.NULL

9.以下选项中哪个是下列查询返回的值:select count(mgr) from emp where

deptno = 10 ?

A.1 B.2 C.3 D.NULL

10.以下选项中哪个是下列查询返回的值:

select count(*) from emp where mgr = 7700-2 ?

A.5 B.6 C.7 D.NUL

11.以下选项中哪个是下列SQL命令产生的第三个员工:select ename, sal from

emp where job= ‘SALESMAN’ order by empno desc ?

A.ALLEN B.MARTIN C.TURNER D.WARD

12.以下选项中哪个是下列SQL命令产生的第三个员工:ename, sal from emp

where job= ‘SALESMAN’ order by 1 desc ?

A.ALLEN B.MARTIN C.TURNER D.WARD

13.以下选项中哪个是发出下列查询后Oracle返回的值:

select substr(job, 1, 3) from emp where ename like upper(‘__ar%’) ?

A.ANA B.CLE C.MAN D.SAL

14.以下选项中哪个是发出下列查询后Oracle返回的值:select

trunk(months_between(min(hiredate), max(hiredate))) from emp ?

A.24 B.25 C.-24 D.-25

15.以下选项中哪个是发出下列查询后Oracle返回的值:select * from emp

where hiredate > ’23-JAN-82’ ?(选择两个答案)

A.ADAMS B.MILLER C.SCOTT D.SMITH

16.TEST表包含两个列,TESTCOL定义为数据类型NUMBER(10),TESTCOL_2定义

为数据类型VARCHAR2(10)。在Oracle中发出下列语句:insert into

test(testcol, testcol_2) values (null, ‘FRANCIS’),然后对表进程下列查询:select nvl(testcol, ‘EMPTY’) as testcol from test where testcol_2 = ‘FRANCIS’。下列选项哪个是得到的结果?

A.Oracle返回结果0 B.Oracle返回结果EMPTY

C.Oracle返回结果NULL D.Oracle返回错误结果

17.要从ORDERS表中取得数据,其中包括三个列CUSTOMER、ORDER_DATE与

ORDER_AMT。可以用下列哪个where子句查询ORDERS表,取得客户LESLIE 超过2700的订单?

A.where customer = ‘LESLIE’;

B.where customer = ‘LESLIE’ and order_amt < 2700;

C.where customer = ‘LESLIE’ or order_amt > 2700;

D.where customer = ‘LESLIE’ and order_amt > 2700;

18.查询出当前的数据库系统时间,精确到秒

A. select to_date(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

B. select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

C. select date(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

D. select chr(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

19.用下列代码块回答问题:

SQL> select ______(-45) as output from dual;

OUTPUT

------

-45

下列哪个单行函数无法产生这个输出?

A.abs() B.ceil() C.floor() D.round() 20.对表中的某一行,VARCHAR2列包含数值SMITHY,应用程序在右侧填充七个

空格。length()函数处理这个列值时,返回什么值?

A.6 B.13 C.30 D.60

21.在Oracle中发出的下列查询:

SQL> select months_between( ‘15-MAR-83’, ‘15-MAR-97’) form dual;

Oracle返回什么?

A.14 B.-14 C.168 D.-168

22.你要在Oracle中使用日期信息的格式掩码。下列哪种情形不适合这个格式

掩码?

A.to_date() B.to_char()

C.alter session set nls_date_format D.to_number()

23.数据库中有两表PRODUCT与STORAGE_BOX,表中列出各个产品的惟一ID号、

产品名和特定产品所在的箱子。另一个表中列出各个存储箱(用数字标识)可以包含许多产品,但每个箱子只能在一个地方。下列哪个语句能正确显示这个数据库中所有产品ID、名称和箱子地址?

A.select p.prod_id, p.prod_name, b.box_loc from product p,

storage_box b where

p.prod_id = b.prod_id and prod_name=’WIDGET’;

B.select p.prod_id, p.prod_name, b.box_loc from product p,

storage_box b where

prod_name=’WIDGET’;

C.select p.prod_id, p.prod_name, b.box_loc from product p,

storage_box b where

p.stor_box_num = b.stor_box_num and prod_name=’WIDGET’;

D.select prod_id, prod_name, box_loc from product , storage_box where stor_box_num = stor_box_num and prod_name=’WIDGET’;

24.开发报表时,要连接三个表的信息,这些表为EMP、DEPT与SALGRADE。只

需要公司10级以上员工相应的员工、部门地址与工资范围的记录。这个查询需要多少比较运算?

A.2 B.3 C.4 D.5

25.要连接两个表PRODUST与STOTAGE的内容,列出所有包含产品的箱子地址。

PRODUCT有三列ID、NAME与BOX#;STORAGE有两列BOX#与LOC。下列哪个选项无法得到想要的结果?

A.select product.id, https://www.360docs.net/doc/e017787279.html,, storage.loc from product, storage where product.box#=storage.box#;

B.select product.id, https://www.360docs.net/doc/e017787279.html,, storage.loc from product join storage on product.box#=storage.box#;

C.select product.id, https://www.360docs.net/doc/e017787279.html,, storage.loc from product natural join storage on product.box#=storage.box#;

D.select product.id, https://www.360docs.net/doc/e017787279.html,, storage.loc from product natural join storage;

26.数据库中有两个表PRODUCT与STORAGE_BOX,表中列出各个产品的惟一ID

号、产品名和特定产品所在的箱子。另一个表中列出各个存储箱(用数字标识)可以包含许多产品,但每个箱子只能在一个地方。下列哪个语句能正确显示这个数据库中所有产品ID、名称和箱子地址,不管有没有指定存储箱?

A.select p.prod_id, p.prod_name, b.box_loc from product p left outer join storage_box b on

p.stor_bax_num = b. stor_bax_num where prod_name=’WIDGET’(+);

B.select p.prod_id, p.prod_name, b.box_loc from product p left outer join storage_box b on

p.stor_bax_num = b. stor_bax_num where prod_name=’WIDGET’ ;

C.select p.prod_id, p.prod_name, b.box_loc from product p right outer join storage_box b

where b.stor_bax_num = p. stor_bax_num(+) and

prod_name=’WIDGET’(+);

D.select p.prod_id, p.prod_name, b.box_loc from product p full outer join storage_box b on

p.stor_bax_num = b. stor_bax_num where b.stor_box_num is NULL ;

27.列出薪水高于所在部门平均工资的员工信息

A.select deptno,ename,sal from emp a where sal>(select avg(a.sal)

from emp where deptno=a.deptno);

B. select deptno,ename,sal from emp a where sal>(select avg(sal) from

emp where deptno=a.deptno);

C.select a.deptno,a.ename,a.sal from emp a,emp b where

a.deptno=

b.deptno and a.sal>avg(b.sal);

D. select a.deptno,a.ename,a.sal from emp a,emp b where

a.deptno=

b.deptno and b.sal>avg(a.sal);

28.要查询PROFITS表存储公司不同地区、产品类型和季度的利润信息。下列哪

个SQL语句显示不同地区、产品类型和季度的利润的交叉表输出?

A.select region, product_type, time,sum(profit) from profits group by region, prod_type, time;

B.select region, product_type, time from profits group by

rollup(region, prod_type, time);

C.select region, product_type, time, from profits group by

cube(region, prod_type, time);

D.select region, product_type, time,sum(profit) from profits group

by cube(region, prod_type, time);

29.对数据库运行下列哪个group by查询时不会从Oracle产生错误?

A.select deptno, job, sum(sal) from emp group by job, deptno;

B.select sum(sal), deptno, job from emp group by job, deptno;

C.select deptno, job, sum(sal) from emp;

D.select deptno, sum(sal), job from emp group by job, deptno; 30.检查下列SQL的输出

SQL> select a.deptno,a.job,b.loc,sum(a.sal)

2 from dmp a,dept b

3 where a.deptno = b.depton

4 group by a.deptno,a.job,b.loc

5 order by sum(a.sal);

这个查询按哪个列的顺序返回输出?

A.A.DEPTON B.A.JOB C.B.LOC D.SUM(A.SAL)

31.要查询的PROFITS表存储公司不同地区、产品类型和季度的利润信息。下列

哪个SQL语句按不同地区、产品类型和季度求出平均利润大于100000美元的利润?

A.select region, prod_type, period, avg(profits) from profits where avg(prodit) > 100000 group by region, prod_type, period;

B.select region, prod_type, period, avg(profits) from profits where avg(prodit) > 100000 order by region, prod_type, period;

C.select region, prod_type, period, avg(profits) from profits group by region, prod_type, period having avg(prodit) > 100000;

D.select region, prod_type, period, avg(profits) from profits group by region, prod_type, period having avg(prodit) < 100000;

32.公司的员工费用应用程序有两表,一个是EMP,包含所有员工数据,一个是

EXPENSE,包含公司每个员工提交的费用票据。下列哪个查询取得提交的费用总和超过其工资值的员工ID与姓名?

A.select e.empno, e.ename from emp e where e.sal < (select

sum(x.vouch_amt) from expense x) and x.empno = e.empno;

B.select e.empno, e.ename from emp e where e.sal < (select x.vouch_amt from expense x where x.empno = e.empno);

C.select e.empno, e.ename from emp e where e.sal < (select

sum(x.vouch_amt) from expense x where x.empno = e.empno);

D.select e.empno, e.ename from emp e where exists (select

sum(x.vouch_amt) from expense x where x.empno = e.empno;

33.看看下列语句:

SQL> select ename

2 from emp

3 where empno in

4 ( select empno

5 from expense

6 where vouch_amt > 10000 );

下列哪个SQL语句产生与上面相同的输出,改写成使用运算符?

A.select e.ename from emp e where exists(select x.empno from expense x where x.vouch_amt>10000)

and x.empno = e.empno;

B.select e.ename from emp e where exists(select x.empno from expense x where x.vouch_amt>10000 and x.empno = e.empno);

C.select e.ename from emp e where x.empno = e.empno and exists(select x.empno from expense x

where x.vouch_amt>10000)

D.select e.ename from emp e, expense x where x.empno = e.empno and x.vouch_amt>10000 and

exists(select x.empno from expense x where)

34.用下列代码块回答问题:

SQL> select deptno,job,avg(sal)

2 from emp

3 group by deptno,job

4 having avg(sal)>

5 ( select sal

6 from emp

7 where ename = ‘MARTIN’ );

上述语句使用下面哪种子查询?

A.单行子查询 B.多行子查询 C.from子句子查询 D.多列子查询35.公司销售数据库有两个表,PROFITS存储不同地区不同季度的产品销售利

润,REGIONS存储每个部门地区名称、该地区总部地址和该地区副总裁姓名。

下列哪个查询取得SMITHERS、FUJIMORI与LIKKARAJU领导的地区的玩具销售利润?

A.select sum(profit) from profits where region in (select region froms where reg_head in

(‘SMITHERS’, ‘FUJMORI’, ‘LAKKARAJU’)) and product =’TOYS’;

B.select sum(profit) from profits where region in (select region froms where reg_head in

(‘SMITHERS’, ‘FUJMORI’, ‘LAKKARAJU’) and product =’TOYS’ );

C.select sum(profit) from profits where region = (select region froms

where reg_head in

(‘SMITHERS’, ‘FUJMORI’, ‘LAKKARAJU’)) and product =’TOYS’;

D.select sum(profit) from profits where region in (select region froms where reg_head in

(‘SMITHERS’, ‘FUJMORI’, ‘LAKKARAJU’)) and product =’TOYS’;

36.查询出EMP表中COMM字段为空的记录( )

A. select * from emp where comm='';

B. select * from emp where comm=null;

C. select * from emp where nvl(comm)=0;

D. select * from emp where comm is null;

37.用下列代码块回答问题:

SQL> select e.deptno,e.ename,e.job,e.sal

2 from emp e

3 where e.sal =

4 ( select max(e2.sal)

5 fromemp e2

6* where nvl(e.deptno,99) = nvl(de.deptno,99));

DEPTNO ENAME JOB SAL

--------- ---------- ---------- ---------

30 BLAKE MANAGER 2850

10 CLARK MANAGER 2450

20 SCOTT ANALYST 3000

KING PRESIDENT 5000

20 FORD ANALYST 3000

要在上述返回集的DEPTNO列中显示99,可以用下列哪个SQL语句?

A.select nvl(e.deptno,99), e.ename, e.sal from emp e where (e.deptno,

e.sal) = (select max(e2.sal) from emp e2 where nvl(e.dept, 99) =

nvl(e2.deptno, 99));

B.select nvl(e.deptno,99), e.ename, e.sal from emp e where e.sal = (select max(e2.sal) from emp e2 where nvl(e.dept, 99) = nvl(e2.deptno,

99));

C.select nvl(e.deptno,99), e.ename, e.sal from emp e where (e.deptno,

e.sal) = (select e2.deptno, max(e2.sal) from emp e2 where nvl(e.dept,

99) = nvl(e2.deptno, 99));

D.select nvl(e.deptno,99), e.ename, e.sal from emp e where (e.deptno,

e.sal) = (select e2.deptno,max(e2.sal) from emp e2 where nvl(e.dept,

99) = nvl(e2.deptno, 99) group by e1.deptno);

38.公司销售数据库包含一个PROFITS表,按产品名、销售地区和季度列出利润

信息。如果要取得公司五个最畅销产品清单,可以用下列哪个SQL语句:A.select p.prod_name, p.profit from (select prod_name, profit from profits order by profit desc) where rownum <= 5;

B.select p.prod_name, p.profit from (select prod_name, sum(profit) from profits group by prod_name order by sum(profit) desc) subq where p.prod_name = subq.prod_name;

C.select p.prod_name, p.profit from (select prod_name, sum(profit) from profits group by prod_name

order by sum(profit) desc) where rownum <= 5;

D.select p.prod_name, p.profit from (select prod_name, sum(profit) from profits order by sum(profit) desc) where rownum <= 5;

39.公司销售数据库包含一个PROFITS表,按销售地区和季度列出公司销售的每

种产品类型的利润信息。要开发一个报表,让用户交互式运行,显示某个季度的玩具利润。报表用户经常抱怨可读性与可用性差。报表应使用哪个脚本内容?

A.select profit from from profits where prod_type = ‘TOY’ and time_period = ‘&v_period’;

B.define v_period select profit from from profits where prod_type = ‘TOY’ and time_period = ‘&v_period’;

C.accept v_period prompt ‘Enter the time period =>’select profit from from profits where prod_type = ‘TOY’ and time_period =

‘&v_period’;

D.accept v_period select profit from from profits where prod_type = ‘TOY’ and time_period = ‘&v_period’;

40.查询出EMP表中1982年及以后入职的员工信息(注:字段hiredate为入职日

期,数据类型为DATE型

A. select * from emp where hiredate>='19820101';

B. select * from emp where hiredate>=to_char('19820101','YYYYMMDD');

C.select * from emp where to_date(hiredate,'YYYYMMDD')>='19820101';

D. select * from emp where to_char(hiredate,'YYYYMMDD')>='19820101';

41.Oracle中要生成数据库表,下列哪个选项是无效表生成的语句?

A.create table cats(c_name varchar2(10), c_weight number, c_owner varchar2(10));

B.create table my_cats as select * from cats where owner = ‘ME’;

C.create global temporary table temp_cats(c_name varchar2(10), c_weight number, c_owner varchar2(10));

D.create table cats_over_5_lbs as select c_name, c_weight from cats where c_weight > 5;

42.试图在Oracle生成表时遇到下列错误:ORA-00955-name is already used by

existing object。下列哪个选项无法纠正这个错误?

A.以不同的用户身份生成对象。 B.删除现有同名对象

C.改变生成对象中的列名。 D.更名现有同名对象。

43.SALES表中的PROFITS列声明为NUMBER(10, 2)。下列哪个值无法在这个列

中存储?

A.5392845.324 B.871039453.1

C.75439289.34 D.60079829.25

44.员工KING于1981年11月17日聘用,你对Oracle数据库发出下列查询:

select vsize(hiredate) from emp where ename = ‘KING’。下列哪个选项是返回的值?

A.4 B.7 C.9 D.17 45.SALES表中将PRODUCT_NAME列定义为CHAR(40)。后面要在表中增加一行,

PRODUCT_NAME值为CAT_TOYS。然后发出下列命令:select

vsize(product_name) from sales。下列哪个选项是返回的值?

A.8 B.12 C.40 D.4000 46.要把非NULL NUMBER(10)列变成NUMBER(6)列。发出适当alter table命令

之后必须完成下列哪些步骤?

A.将列记录复制到临时存储地址。 B.将所有行的NUMBER列设置为NULL。

C.对NUMBER数据生成临时地址。D.将列记录从临时地址复制加主表中。

47.发出下列语句:alter table sales drop columm profit; 何时从Oracle

中实际删除列?

A.执行语句后立即删除。

B.发出alter table drop unused columns命令之后

C.发出alter table set unused columns命令之后

D.发出alter table modify命令之后

48.要把SALES表中的PRODUCT_TYPE列的大小从VARCHAR(5)列增加到

VARCHAR2(10),用下列哪个语句?

A.alter table sales add(product_type varchar2(10));

B.alter table sales modify product_type varchar2(10);

C.alter table sales unused column product_type varchar2(10);

D.alter table sales drop column product_type;

49.数据库中的PROFITS表中PRODUCT_NAME与SALE_PERIOD列建立主键。下列

哪个语句无法定义这个主键?

A.create table profits(product_name varchar2(10), sale_perion varchar2(10), profit number, constraint pk_profits_01 primary key (product_name, sale_period));

B.alter table profits add constraint pk_profits_01 primary

key(product_name, sale_period) deferrable initially immediate;

C.alter table profits add(constraint pk_profits_01 primary

key(product_name, sale_period));

D.create table profits(product_name varchar2(10) primary key, sale_period varchar2(10) Primary key, profit number)

50.列出JONES的所有下属员工,但不包括JONES本人

A. select ename from emp connect by prior empno=mgr

start with ename='JONES';

B. select ename from emp where ename<>'JONES'

connect by prior empno=mgr

start with ename='JONES';

C.select ename from emp where ename='JONES'

connect by prior empno=mgr

start with ename='JONES';

D. select ename from emp where ename='JONES'

connect by prior empno=mgr

start with ename<>'JONES';

51.以下关于数据库文件的说法正确的是( )

A、数据库是由数据文件构成的,其它文件是辅助文件

B、数据库中的表,索引以及日志信息都是以数据的形式存储在数据文件中的

C、在线重做日志文件与归档日志文件的区别是:前者在内存,后者在外存上

D、数据块的大小一旦确定,就不能更改了,除非重新设定数据库

52.你要关闭SALES表中UNIT_PRICE列的非NULL约束。下列哪个语句能完成这

个操作?

A.alter table sales modify(unit_prices null);

B.alter table sales modify(unit_prices not null);

C.alter table sales add(unit_prices null);

D.alter table sales add(unit_prices not null);

53、以下()内存区不属于SGA。

A.PGA

B.日志缓冲区

C.数据缓冲区

D.共享池

54、()模式存储数据库中数据字典的表和视图。

A.DBA B.SCOTT C.SYSTEM D.SYS

55、锁用于提供( )。

A.改进的性能

B.数据的完整性和一致性

C.可用性和易于维护

D.用户安全

56、以下哪种备份方式需要在完全关闭数据库进行()。

A.无归档日志模式下的数据库备份

B.归档日志模式下的数据库备份

C.使用导出实用程序进行逻辑备份

D.以上都不对

57. 下面列举的是一些后台进程的功能:

1: 在数据文件头部记录检查点信息.

2: 在实例启动时执行恢复

3: 清理无用的临时段

4: 当用户进程失败时清理其资源.

5: 动态注册数据库服务到监听.

6: 监控会话空闲超时.

下面对进程列举的功能,正确的是:()

A.归档进程(ARCn): 1, 2, 5

B.系统监视进程 (SMON): 1, 4, 5

C.程序监视进程 (PMON): 4, 5, 6

D.数据库写程序 (DBWn): 1, 3, 4

58. Note the following structures in your database server:

1: 区(Extents)

2: 操作系统块(OS Blocks)

3: 表空间(Tablespace)

4: 段(Segments)

5: oracle数据块(Oracle Data Block)

结构从小到大,正确的排序是()

A.2, 5, 1, 4, 3

B.1, 2, 3, 4, 5

C.5, 2, 1, 3, 4

D.2, 1, 5, 4, 3

59.数据库启动时,下面文件中,最先读到的是()

A.参数文件

B.控制文件

C.数据文件

D.日志文件

60. 下面哪种情况,需要DBA执行恢复()

A.告警日志毁坏

B.表空间意外被删除

C.重做日志的一个成员被损坏。

D.数据库用户的会话被不正常终止。

二、填空题(每空1分,共20分)

1、Oracle DB 服务器体系结构包含三种主要结构:内存、进程和存储结构。

2、主机上执行ps –ef |grep PMON 检查数据库是否存活,请问PMON是指进程监视器进程。

3、因系统测试环境搭建,需DBA配合恢复一套测试数据库。首先需要安装数据库软件(包含Grid软件),后启动数据库后使用ECM Networker和ECM DataDomain进行数据恢复。

可见基本的 Oracle DB 系统由Oracle DB和数据库实例组成。

4、数据应用数据库主机宕机,现进行Oracle定位分析,主要查看数据库的

预警日志文件和跟踪文件。

5、根据权限管理要求,对部分厂家人员进行权限回收。使用revoke命令可回收相关权限,这里的revoke命令是SQL中的 DCL 语言。(DML/DDL/DCL)。

6、Oracle数据库的存储结构分为物理结构和逻辑结构。

7、在Oracle中,以 commit 或rollback作为上一个事务的结束标志及下一个新事物开始的标志。

8、DML表示数据操作语言,主要的DML有select 、INSERT、UPDATE、 delete 。

9、创建一个简单的用户testUser, 密码为Hzj@1579的语句是:

create user testUser identified by Hzj@1579;

10、在Oracle数据库中,数据文件的扩展名是 dbf 。

11、Oracle数据库的逻辑结构由表空间、段、区间和数据块组成。

12、客户端用于网络连接的两个配置文件文件是TNSNAMES.ORA 和

SQLNET.ORA。

13、数据库的监听器的默认端口号是 1521 。

14、在ORACLE客户端网络配置文件中""参数值为数据库实例名。

三、名词解释(每题2分,共10分)

1、DDL

数据库定义语言

2、ASM

自动存储管理(ASM) 为Oracle DB 文件提供文件系统与卷管理器纵向集成。

3、SGA

一组共享的内存结构(称为 SGA 组件),其中包含一个 Oracle DB 实例的数据和控制信息。SGA 由所有服务器进程和后台进程共享。

4、实例

实例是一组Oracle后台进程/线程以及一个共享的内存区域。

5、SQL

结构化语言

四、简答题(每题5分,共10分)

1、数据库存储体系架构的文件类型都有哪些?

? 控制文件:

? 数据文件:

? 联机重做日志文件:

? 参数文件:

? 口令文件:

? 备份文件:

? 归档重做日志文件

? 跟踪文件

? 预警日志文件

2、一个叫Race的表,里面只有一个字段horse, 一共有4条纪录,分别是

a,b,c,d,对应四个赛马队,现在四个赛马队进行比赛,每次两个赛马队进行比赛。用一条sql语句显示所有可能的比赛组合。然后算出AB组合出现的概率。

select https://www.360docs.net/doc/e017787279.html,, https://www.360docs.net/doc/e017787279.html,

from team a, team b

where https://www.360docs.net/doc/e017787279.html, < https://www.360docs.net/doc/e017787279.html,

1/6

Oracle初级试题 一、选择题(20% 不定项每题2分) 1.对于Oracle用户方案下,根据模式/映像,请选出不属于模式的对象(D) A.表B.索引C.视图D.约束 2.在客户端配置哪个文件,可以使客户端访问oracle server?(A) A.tnsnames.ora B.sqlnet.ora C.listener.ora D.init.ora 3.搜索列中的数据,但只记得部分字符串,通常可以用以下哪种运算?(C) A.in B.between C.like D.exists 4.如从表中删除了一条记录,以下哪个语句可以保存数据库中的改变?(B) A.savepoint B.commit C.rollback D.update 5.下面关于视图的说法,请选出正确的(ABCD) A.一个视图可以创建为只读 B.一个视图可以用来连接两张或更多的表而被创建 C.在视图中不能含有order by子句 D.在视图中不能含有group by子句 6.在select语句中包含了where子句,请问group by子句可以放在哪里?(D) A.where子句前面 B.from子句前面 C.order by子句后面 D.where子句后面 7.关于having子句,以下说法正确的是:(C) A.having与where相同 B.having用于单行条件查询 C.having用于已分组的条件查询 D.having子句必须紧跟在where子句后面使用 8.能够在外部表上进行的操作有:(A) A.select B.update C.insert D.delete 9.在更改索引的操作(alter index)中,以下哪些子句可以定期优化索引?(AC) A.rename B.coalesce C.rebuild D.deallocate unused 10.请选出能够产生锁的操作:(AB) A.select … for update B.commit C.rollback D.lock table 二、填充题(20% 每空4分) 1.数据库最常用的DML操作有SELECT、UPDATE 、DELETE 和INSERT 等(要求写出操作命令)。 2.假设有两个数据N1和N2,请用函数实现如下算法:当N1>N2时,返回“大于”; 当N1=N2时,返回“等于”;当N1N2 then Return ‘大于’;

Oracle 数据库基础 数据库是我们安装完产品后建立的,可以在同一台主机上存在8i,9i,10g,11g等多个数据库产品,一套产品可以建立多个数据库,每个数据库是独立的。每个数据库都有自己的全套相关文件,有各自的控制文件、数据文件、重做日志文件、参数文件、归档文件、口令文件等等。 其中控制文件、数据文件、重做日志文件、跟踪文件及警告日志(trace files,alert files)属于数据库文件; 参数文件(parameter file)口令文件(password file)是非数据库文件 我们的表存储在数据库中 数据库不能直接读取 我们通过实例(instance)来访问数据库 数据库实例 实例由内存和后台进程组成 实例是访问数据库的方法 初始化参数控制实例的行为 一个实例只能连接一个数据库

启动实例不需要数据库 产品安装好 有初始化参数文件 就可以启动实例 与是否存在数据库无关 实例内存分为SGA 和PGA SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle 服务器的数据和控制信息,它是在Oracle 服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。 PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA正相反,PGA 是只被一个进程使用的区域,PGA 在创建进程时分配,在终止进程时回收. 后台进程是实例和数据库的联系纽带 分为核心进程和非核心进程 当前后台进程的查看 SQL> select name,description from v$bgprocess where paddr<>'00'; NAME DESCRIPTION

Oracle数据库试题 一、选择题 1、段是表空间中一种逻辑存储结构,以下( D )不是ORACLE数据库使用的段类型。(A)索引段(B)临时段(C)回滚段(D)代码段 2、 ORACLE数据库物理结构包括以下三种文件,以下不属于的是( A )。 ?(A)系统文件(B)日志文件(C)数据文件(D)控制文件 3、数据库中有两个用户scott和muuser,物资表wz是属于myuser用户的,但当前用户是scott,要求查询物资表wz(wno,wname,wtype,wunit)物资单位wunit列为null的记录,取结果的前5条记录显示,以下正确的SQL语句是( C ) (A)select*from scott.wz where wunit is null and rownum<5; (B)select*from myuser.wz where wunit = null and rownum<5; (C) select*from myuser.wz where wunit is null and rownum<6; (D)select*form scott.wz where wunit is null and rownum<6; ?4、若当前日期为’25-5月-06’,以下( D? )表达式能计算出5个月后那一天所在月份的最后一天的日期。 (A)NEXT_DAY(ADD_MONTHS(28-5月-06,5)) (B)NEXT_DAY(MONTHS_BETWEEN(28-5月-06,5)) (C)NEXT_DAY(MONTHS_BETWEEN(’28-5月-06’,5)) (D)NEXT_DAY(ADD_MONTHS(’28-5月-06’,5)) 5、下列叙述中正确的是_C_。 A、数据库是一个独立的系统,不需要操作系统的支持 B、数据库设计是指设计数据库管理系统 C、数据库技术的根本目标是要解决数据共享的问题 D、数据库系统中,数据的物理结构必须与逻辑结构一致 6、SQL语句中修改表结构的命令是 ???C?? ?。 A、MODIFY TABLE B、MODIFY STRUCTURE C、ALTER TABLE D、ALTER STRUCTURE 7、数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是__ A___。 A、DBS包括DB和DBMS B、DBMS包括DB和DBS C、DB包括DBS和DBMS D、DBS就是DB,也就是DBMS 8、要控制两个表中数据的完整性和一致性可以设置"参照完整性",要求这两个表_A___。 A、是同一个数据库中的两个表 B、不同数据库中的两个表 C、两个自由表 D、一个是数据库表另一个是自由表 9、在关系模型中,实现"关系中不允许出现相同的元组"的约束是通过__B_ __。 A、候选键 B、主键 C、外键 D、超键 10、索引字段值不唯一,应该选择的索引类型为___ B__。 A、主索引 B、普通索引 C、候选索引 D、唯一索引 11、从数据库中删除表的命令是___C __。 A、DROP TABLE B、ALTER TABLE C、DELETE TABLE D、USE 12、 DELETE FROM S WHERE 年龄>60语句的功能是___B___。 A、从S表中彻底删除年龄大于60岁的记录 B、S表中年龄大于60岁的记录被加上删除标记

ORACLE 选择 B52X0001ORACLE7数据库中,命令lsnrctl start用到的参数文件是:() A、tnsnames.ora B、sqlnet.ora C、listener.ora D、以上都不对 正确答案:C B52X0002在将格式化的文本文件导入ORACLE时我们经常采用的是SQLLOAD命令,请选择正确的写法() A、sqlldr username/password control=data_file B、sqlldr username/password rows=128control=data_file C、sqlldr username/password control=data_file rows=64 D、sqlldr username/password control=data_file.ctl 正确答案:D B52X0003在Oracle维护过程中,第一步应查看数据库管理系统的运行日志,其日值文件名为:() A、error_'SID'.log B、Alert_'SID'.log C、trace_'SID'.log E、logtail_'SID'.log 正确答案:B B52X0004SGA(System Global Area)是ORACLE系统为实例分配的一组共享缓冲存储区,SGA分为几个部分。() A、4 B、5 C、6 D、7 正确答案:A库缓冲区、数据字典缓冲区、数据块高速缓冲区、重做日志缓冲区 B52X0005Oracle逻辑结构可分解为:表空间、数据库块、物理块、分类段、范围。它们之间的大小关系正确的是() A、表空间≥范围≥分类段≥数据库块≥物理块 B、表空间≥范围≥分类段≥物理块≥数据库块 C、表空间≥数据库块≥物理块≥分类段≥范围 D、表空间≥分类段≥范围≥数据库块≥物理块 正确答案:D B52X0006ORACLE中模式为模式对象的集合,为一个数据库用户所占有,模式名为与该用户名同名,下列属于模式对象的有() A、表 B、视图 C、快照 D、用户环境文件

期末考试卷(卷) 课程名称:数据库考试方式:开卷()闭卷(√) 、本试卷共4 页,请查看试卷中是否有缺页。 2、考试结束后,考生不得将试卷、答题纸带出考场。 1、以下(a )内存区不属于SGA。 A.PGA B.日志缓冲区 C.数据缓冲区 D.共享池 2、d )模式存储数据库中数据字典的表和视图。 (A.DBA B.SCOTT C.SYSTEM D.SYS 3、Oracle 中创建用户时,在若未提及DEFAULT TABLESPACE 关键字,Oracle 就将 c )则(表空间分配给用户作为默认表空间。A.HR B.SCOTT C.SYSTEM D.SYS

4、a )服务监听并按受来自客户端应用程序的连接请求。(A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer 5、b )函数通常用来计算累计排名、移动平均数和报表聚合等。(A.汇总B.分析C.分组D.单行 6、b)SQL 语句将为计算列SAL*12 生成别名Annual Salary (A.SELECT ename,sal*12 …Annual Salary? FROM emp; B.SELECT ename,sal*12 “Annual Salary” FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp; 7、锁用于提供(b )。 A.改进的性能 B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 8、( c )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。 A.行共享B.行排他C.共享D.排他 9、带有( b )子句的SELECT 语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH

一、选择题(40分) 1.Oracle发出下列select语句: SQL> select , , 2 from emp e, dept d 3 where = 4 and substr, 1, 1) = ‘S’; 下列哪个语句是Oracle数据库中可用的ANSI兼容等价语句 A.select empno, ename, loc from emp join dept on = where substr, 1, 1) = ‘S’; B.select empno, ename, loc from emp, dept on = where substr, 1, 1) = ‘S’; C.select empno, ename, loc from emp join dept where = and substr, 1, 1) = ‘S’; D.select empno, ename, loc from emp left join dept on = and substr, 1, 1) = ‘S’; 2.下列哪个选项表示Oracle中select语句的功能 A.可以用select语句改变Oracle中的数据 B.可以用select语句删除Oracle 中的数据 C.可以用select语句和另一个表的内容生成一个表 D.可以用select语句对表截断 3.你要操纵Oracle数据,下列哪个不是SQL命令 A.select * from dual; B.set define C.update emp set ename = 6543 where ename = ‘SMITHERS’; D.create table employees(empid varchar2(10) primary key); 4.你要在Oracle中定义SQL查询。下列哪个数据库对象不能直接从select语句中引用

oracle数据库期末考试试题及答案 A1、以下()内存区不属于SGA。 A.PGA B.日志缓冲区C.数据缓冲区D.共享池 D2、()模式存储数据库中数据字典的表和视图。 A.DBA B.SCOTT C.SYSTEM D.SYS C3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE 关键字,则Oracle就将()表空间分配给用户作为默认表空间。A.HR B.SCOTT C.SYSTEM D.SYS A4、()服务监听并按受来自客户端应用程序的连接请求。A.OracleHOME_NAMETNSListener B.OracleServiceSID C.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer B5、()函数通常用来计算累计排名、移动平均数和报表聚合等。A.汇总B.分析C.分组D.单行 B6、()SQL语句将为计算列SAL*12生成别名Annual Salary A.SELECT ename,sal*12 ‘Annual Salary' FROM emp; B.SELECT ename,sal*12 “Annual Salary”FROM emp; C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM

12 / 1 emp; B7、锁用于提供( )。 A.改进的性能 B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全 C8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。 A.行共享B.行排他C.共享D.排他 B9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。 A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESH C10、使用( )命令可以在已分区表的第一个分区之前添加新分区。A.添加分区B.截断分区 C.拆分分区D.不能在第一个分区前添加分区 C11、( )分区允许用户明确地控制无序行到分区的映射。 A.散列B.范围C.列表D.复合 C12、可以使用()伪列来访问序列。 A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUE

数据库

1常见数据库 1.1MySql : 甲骨文 1.2Oracle: 甲骨文 1.3SQL Server: 微软 1.4Sybase: 赛尔斯 1.5DB2: IBM 2MySql基础知识 2.1关系结构数据模型数据库 2.2SQL(Structured Query Language)结构化查询语言2.2.1DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等 操作数据库 CREATE DATABASE [IF NOT EXISTS]mydb1 USE mydb1 DROP DATABASE [IF NOT EXISTS] mydb1

ALTER DATABASE mydb1 CHARACTER SET utf8 操作表 插入表 CREATE TABLE stu( sid CHAR(6), sname VARCHAR(20), age INT, gender VARCHAR(10) ); 更改表 ALTER TABLE t_user ADD (student varcher(20)) ALTER TABLE t_user MODIFY gender CHAR(20) ALTER TABLE t_user CHANGE gender VARCHER(20) ALTER TABLE t_user REMANE genderTO genders ALTER TABLE t_user DROP gender 删除表 DROP TABLE t_user 2.2.2DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据) 插入数据 INSERT INTO t_user VALUES() INSERT INTO 表名 VALUES(值1,值2,…)

1、数据库基本语句 (1)表结构处理 创建一个表:cteate table 表名(列1 类型,列2 类型); 修改表的名字 alter table 旧表名 rename to 新表名 查看表结构 desc 表名(cmd) 添加一个字段 alter table 表名 add(列类型); 修改字段类型 alter table 表名 modify(列类型); 删除一个字段 alter table 表名 drop column列名; 删除表 drop table 表名 修改列名 alter table 表名 rename column 旧列名 to 新列名; (2)表数据处理 增加数据:insert into 表名 values(所有列的值); insert into 表名(列)values(对应的值); 更新语句:update 表 set 列=新的值,…[where 条件] 删除数据:delete from 表名 where 条件 删除所有数据,不会影响表结构,不会记录日志, 数据不能恢复--》删除很快: truncate table 表名 删除所有数据,包括表结构一并删除: drop table 表名 去除重复的显示:select distinct 列 from 表名 日期类型:to_date(字符串1,字符串2)字符串1是日期的字 符串,字符串2是格式 to_date('1990-1-1','yyyy-mm-dd')-->返回日期的 类型是1990-1-1 (3)查询语句 1)内连接 select a.*,b.* from a inner join b on a.id=b.parent_id

O r a c l e数据库试题及 答案

Oracle数据库试题 一、选择题 1、段是表空间中一种逻辑存储结构,以下( D )不是ORACLE数据库使用的段类型。 (A)索引段(B)临时段(C)回滚段(D)代码段 2、 ORACLE数据库物理结构包括以下三种文件,以下不属于的是( A )。(A)系统文件(B)日志文件(C)数据文件(D)控制文件 3、数据库中有两个用户scott和muuser,物资表wz是属于myuser用户的,但当前用户是scott,要求查询物资表wz(wno,wname,wtype,wunit)物资单位wunit列为null的记录,取结果的前5条记录显示,以下正确的SQL语句是( C ) (A)select*from scott.wz where wunit is null and rownum<5; (B)select*from myuser.wz where wunit = null and rownum<5; (C) select*from myuser.wz where wunit is null and rownum<6; (D)select*form scott.wz where wunit is null and rownum<6; 4、若当前日期为’25-5月-06’,以下( D )表达式能计算出5个月后那一天所在月份的最后一天的日期。 (A)NEXT_DAY(ADD_MONTHS(28-5月-06,5)) (B)NEXT_DAY(MONTHS_BETWEEN(28-5月-06,5)) (C)NEXT_DAY(MONTHS_BETWEEN(’28-5月-06’,5)) (D)NEXT_DAY(ADD_MONTHS(’28-5月-06’,5))

constraint pk_spj primary key (sno,pno,jno), constraint fk_spj_sno foreign key (sno) references s(sno), constraint fk_spj_pno foreign key (pno) references p(pno), constraint fk_spj_jno foreign key (jno) references j(jno) 实验二游标和函数 1、定义一个游标完成显示所有供应商名。 declare v_sname s.sname%type; cursor cursor_sname is select sname from s; begin for curso in cursor_sname loop dbms_output.put_line(curso.sname); end loop; end; 2、定义、调用一个简单函数:查询返回指定供应商编号的供应商名及其供应零件总数量。create or replace function fun(f_sno in s.sno%type,f_sname out s.sname%type) return number as f_qty number; begin SELECT s.sname,sum(qty) into f_sname,f_qty from s,spj WHERE s.sno=spj.sno GROUP BY s.sname,spj.sno having spj.sno=f_sno; return f_qty; end; declare v_sno s.sno%type:='&sno'; v_sname s.sname%type; v_qty spj.qty%type; begin v_qty:=fun(v_sno,v_sname); dbms_output.put_line(v_sname||v_qty); end; 3、定义一个函数:对于给定的供应商号,判断是否存在,若存在返回0,否则返回-1。写一段程序调用此函数,若供应商号存在则在spj插入一元组。

1、判断题,正确请写写"T",错误请写写"F", 1、oracle数据库系统中,启动数据库的第一步是启动一个数据库实例。( T ) 2、Oracle服务器端的监听程序是驻留在服务器上的单独进程,专门负责响应客户机的连接请求。( F) 3、oracle数据库中实例和数据库是一一对应的(非ORACLE并行服务,非集群)。( T) 4、系统全局区SGA 是针对某一服务器进程而保留的内存区域,它是不可以共享的。( F ) 5、数据库字典视图ALL_***视图只包含当前用户拥有的数据库对象信息。( F ) 8、数据字典中的内容都被保存在SYSTEM表空间中。( T ) 9、HAVING后面的条件中可以有聚集函数,比如SUM(),AVG()等, WHERE 后面的条件中也可以有聚集函数。( F ) 10、"上海西北京" 可以通过like ‘%上海_’查出来。( F ) 11、表空间是oracle 最大的逻辑组成部分。Oracle数据库由一个或多个表空间组成。一个表空间由一个或多个数据文件组成,但一个数据文件只能属于一个表空间。( T ) 12、表空间分为永久表空间和临时表空间两种类型。( T ) 13、truncate是DDL操作,不能 rollback。( T ) 14、如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用WHERE语句。( F ) 15、Oracle数据库中字符串和日期必须使用双引号标识。( F ) 16、Oracle数据库中字符串数据是区分大小写的。( T ) 17、Oracle数据库中可以对约束进行禁用,禁用约束可以在执行一些特殊操作时候保证操作能正常进行。( F ) 18、为了节省存储空间,定义表时应该将可能包含NULL值的字段放在字段列表的末尾。( T ) 20、在连接操作中,如果左表和右表中不满足连接条件的数据都出现在结果中,那么这种连接是全外连接。( T ) 21、自然连接是根据两个表中同名的列而进行连接的,当列不同名时,自然连接将失去意义。( T ) 23、PL/SQL代码块声明区可有可无。( T ) 24、隐式游标与显式游标的不同在于显式游标仅仅访问一行,隐式的可以访问多行。( F )

课程目标: 1. 了解数据库系统在项目开发中的地位 2. 了解目前主流数据库系统 3. 熟练掌握查询命令 4. 熟练掌握数据操作方式 5. 熟练使用数据库内置函数 6. 掌握pl/sql程序设计语法结构 7. 掌握视图 8. 掌握存储过程 9. 掌握用户自定义函数 10. 掌握触发器 了解: 1.数据库组件: 1.1 实施应用集群 1.2 Oracle OLAP 1.3 数据挖掘 1.4 应用程序接口 1.5 网络组件 1.6 SQL Plus 1.7 企业管理器OEM

2. 几个版本间的差异: 2.1 增加了服务器参数文件SPFILE 2.2 使用了OMF免去了手工管理数据库文件的繁琐 2.3 支持多种数据库块大小 2.4 会话可以自动调整PGA的大小 2.5 引入了列表分区 课程内容: 1. 操作数据之前的准备工作: 1.1. 要保证有一个数据库: 1.2. 要保证创建一个表空间 create tablespace hbjr datafile 'E:\dbs\hbjr.dbf' size 100M; 1.3. 要创建一个用户,用户默认的表空间就是你创建的表空间 create user hbjr identified by orcl default tablespace hbjr; //授权限: grant dba to hbjr; 1.4. 用户/密码登录:

2. 表名/列字段名起名规范: 2.1 使用常规字母和数字 2.2 长度不要超过30 2.3 表名/列名不能重复 2.4 不能使用oracle的保留字 3. 数据类型 3.1 char:定长,存储单位--字节(bite) 3.2 varchar2:变长,存储单位--字节 3.3 nchar:定长,存储单位--字符 3.4 nvarchar2:变长,存储单位--字符 3.5 date:日期类型,7个字节,存储着--世纪,年,月,日,时,分,秒 3.6 timestamp:日期类型,11个字节,存储着--世纪,年,月,日,时,分,秒,毫秒 3.7 number:数据类型(数值类型) 3.8 clob:大字段类型,适合存储纯文本信息(例如:*.txt 文件)

1.0RACLE数据库物理结构包括以下三种文件,以下不属于的是() A .系统文件 B.日志文件 C.数据文件 D.控制文件 2?下列哪个命令是用于ORACLE中数据导出的() A.exp B. imp C . in put D . output 3.()是用于控制数据访问的语言。 A.DML B . DDL C . DCL D . DLL 4.NULL表示什么() A . 0 B.空格 C .值D .没有值 5?下面四个语句中哪一个是正确的?() A . SELECT * , ENAME FROM EMP; B . DELETE * FROM EMP; C . SELECT DISTINCT EMPNO ,HIREDATE FROM EMP; D . SELECT ENAME|SAL AS “ namS FROM EMP ; 6?假定有一张表用户表users,其中一身份证字段ID_card。为了维护数据的完整性,在设计数据库时,最好对ID_card字段添加约束,请问应该添加什么约束() A . primary key B . check C . default D . notnull 7?下面哪一个like命令会返回名字象HOTKA的行?() A . where en ame like ‘ _HOT%' B . where ename like ‘ H_T%' C . where ename like ‘ %TKA_' D . where ename like ‘ %TOK%' 8.()操作符只返回由第一个查询选定但是没有被第二个查询选定的行。 A.UNION B.UNION ALL C.IN TERSECT D.MINUS 9 . EMPLOYEES表的结构如下: EMPLOYEE_ID NUMBER PRIMARY KEY FIRST_NAME VARCHAR2(25) LAST_NAME VARCHAR2(25) HIRE_DATE DATE 考虑下面的语句。 1.CREATE table n ew_emp (employee_id NUMBER, name VARCHAR2(30)); 2.IN SERT INTO n ew_emp SELECT employee_id,last_ name from employees; 3.Savepo int s2; 4.DELETE from n ew_emp; 5.ROLLBACK to s2; 6.DELETE from n ew_emp where employee_id=180; 7.UPDATE new_emp set name= ' James'; 8.R0LLBACK to s2;

数据库基础知识试题 部门____________ 姓名__________ 日期_________ 得分__________ 一、不定项选择题(每题分,共30分) 1.DELETE语句用来删除表中的数据,一次可以删除( )。D A .一行 B.多行 C.一行和多行 D.多行 2.数据库文件中主数据文件扩展名和次数据库文件扩展名分别为( )。C A. .mdf .ldf B. .ldf .mdf C. .mdf .ndf D. .ndf .mdf 3.视图是从一个或多个表中或视图中导出的()。A A 表 B 查询 C 报表 D 数据 4.下列运算符中表示任意字符的是( )。B A. * B. % C. LIKE 5.()是SQL Server中最重要的管理工具。A A.企业管理器 B.查询分析器 C.服务管理器 D.事件探察器 6.()不是用来查询、添加、修改和删除数据库中数据的语句。D A、SELECT B、INSERT C、UPDATE D、DROP 7.在oracle中下列哪个表名是不允许的()。D A、abc$ B、abc C、abc_ D、_abc 8.使用SQL命令将教师表teacher中工资salary字段的值增加500,应该使用的命 令是()。D A、Replace salary with salary+500 B、Update teacher salary with salary+500 C、Update set salary with salary+500 D、Update teacher set salary=salary+500 9.表的两种相关约束是()。C

Oralce mysql 1、当你执行以下查询语句: SELECT empno,ename FROM emp WHERE empno =7782 or empno =7876; 在WHERE语句中,以下哪个操作符可以取代or?[参考答案:A] A、IN B、BETWEEN ……AND... C、<= D、>= 2、PL/SQL块中可以使用下列()命令。(选择两项)[参考答案:B,C] A、TRUNCATE B、DELETE C、SAVEPOINT D、ALTER TABLE 3、Oracle数据库的物理文件不包括[参考答案:D] A、数据文件(.dbf) B、重做日志文件(.log) C、控制文件(.ctl) D、缓存文件

4、哪个命令用来创建一个primary key constraint pk_books 在表BOOKS, 列ISBN上? 请选择一个[参考答案:C] A、create primary key on books(ISBN) B、create constraint pk_books primary key on books(ISBN) C、alter table books add constraint pk_books primary key (ISBN); D、alter table books add primary key (ISBN) 5、下列那个()不是Oracle默认的用户[参考答案:D] A、system B、sys C、scott D、sa 6、当创建过程时,可以实现输出数据的参数有[参考答案:B] A、IN参数 B、OUT参数 C、TEST参数 D、任何参数都不能输出 7、下面的case语句 DECLARE V_sal NUMBER:=1200; V_result NUMBER;

《现代数据库技术》教学大纲 课程名称:《现代数据库技术》 课程编号:学时数:56 学分数:3.5 适应专业:计算机与信息学院所有专业 一、本课程的地位、任务和作用 现代数据库技术是计算机在数据处理应用领域中的主要内容和坚实基础;也是今后若干年内研究和应用的最活跃的分支之一。因此,信息管理、软件开发、计算机等专业的学生,特别是以应用为目标的学生都必须学习和具备数据库原理与应用的知识。本课程通过介绍Oracle数据库基本操作、体系结构与数据库基本管理使学生初步掌握大型数据库的基本原理,了解大型数据库的管理方法。了解大型数据库的管理方法,使学生熟练掌握Oracle数据库系统下的SQL语言运用及PL/SQL程序设计。 本课程是一门理论和实践相结合的课程,要求学生在完成本课程的学习以后,能够结合自己所熟悉的某一门高级语言和Oracle,开发出一个小型的数据库应用系统。 二、本课程的相关课程 本课程的先修课程为《计算机组成原理》,《离散数学》,《数据结构》,《计算机网络》及《数据库原理》等课程。 三、本课程的基本内容及要求 教学内容: 第一章数据库概述(2学时) 1、教学内容: 1.1数据库基础知识 1.2关系数据库系统 1.3 Oracle基础知识 (1)Oracle的发展历史 (2)Oracle的特点 第二章O racle体系结构(6学时) 1、教学内容: 2.1 Oracle 体系结构概述 2.2Oracle的存储结构 (1)物理存储结构 (2)逻辑存储结构 2.3Oracle的实例 (1)Oracle内存结构

(2)Oracle进程 2.4数据字典 2、教学重点:Oracle的物理结构、oracle实例、Oracle的逻辑结构 3、教学难点:数据库实例与进程 第三章O racle11g的安装(2学时) 1、教学内容: 3.1 Oracle 11g环境介绍 3.2Oracle 11g for Windows的安装 (1)安装Oracle 11g服务器 (2)Oracle 11g与Windows (3)安装Oracle 11g客户端 3.3 Oracle 11g 的卸载 2、教学重点:学会Oracle的安装 第四章O RACLE数据库管理工具及网络配置(2学时) 1、教学内容: 4.1 SQL*Plus命令 (1)设置SQL*Plus 运行环境 (2)常用SQL*Plus命令 (3)格式化查询结果 4.2 Oracle企业管理器 4.3 数据库配置助手 4.4 启动与关闭oracle实例 2、教学重点:学会使用SQL*Plus 第五章S QL语言基础(5学时) 1、教学内容: 5.1SQL简介 5.2SQL的基本语法 5.3数据查询语言 5.4数据操纵语言 5.5数据定义语言 5.6数据控制语言 5.7常用函数 5.8 事务处理 2、教学重点:数据查询语言、数据操纵语言、数据定义语言、数据控 制语言 3、教学难点:SQL的基本语法 第六章P L/SQL编程(8学时)(课本第6,7章) 1、教学内容: 6.1PL/SQL基础 (1)变量及声明 (2)数据类型 (3)表达式 (4)PL/SQL程序块结构 6.2PL/SQL控制结构

1. 解释冷备份和热备份的不同点以及各自的优点 解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘) 2. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢? 解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。 3. 如何转换init.ora到spfile? 解答:使用create spfile from pfile 命令. 4. 解释data block , extent 和segment的区别(这里建议用英文术语) 解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一个数据库对象拥有的所有extents被称为该对象的segment. 5. 给出两个检查表结构的方法 解答:1.DESCRIBE命令 2.DBMS_METADATA.GET_DDL 包 6. 怎样查看数据库引擎的报错 解答:alert log. 7. 比较truncate和delete 命令 解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要rollback segment .而Delete是DML操作, 需要rollback segment 且花费较长时间. 8. 使用索引的理由 解答:快速访问表中的data block 9. 给出在STAR SCHEMA中的两种表及它们分别含有的数据 解答:Fact tables 和dimension tables. fact table 包含大量的主要的信息而dimension t ables 存放对fact table 某些属性描述的信息

第一部分 Oracle数据库概念与原理 一、Oracle数据库概念 1. 数据库 数据库是一套解决信息管理问题的工具,是数据文件及处理这些数据文件的程序的集合。一个数据库系统必须实现在多用户环境下可靠地管理大量的数据,使得很多用户在并发处理时获得相同的结果,而且必须具有处理数据的高效性、可靠性、安全性和容错性,同时提供简便易用的客户端用户操作过程和应用接入。 2. Oracle数据库 Oracle数据库是采用数据库进程和应用程序分进程处理的Client/Server结构的关系型数据库,采用大型数据库的磁盘空间管理形式,支持大量用户同时操作相同的数据,实现高度可靠性、高度的安全性、高效率和在线备份机制。Oracle数据库适合于各种不同的硬件环境和不同的操作系统,且具有接口方便和控制容易的特性,并支持多点实时复制。 二、Oracle数据库原理 1. Oracle数据库的基本任务 (1)录入数据; (2)存储数据; (3)查询、处理数据

2. Oracle数据库的组成结构 Oracle按照应用情况可以分为核心数据(DATA)、操作系统(Operation System)、数据库服务器部分(Oracle Server)、Oracle SQL Server程序、Oracle工具(包括SQL*PLUS和很多像Developer 2000、designer 2000等工具)以及Oracle的各种应用。 按照Oracle的对象组成结构来看,Oracle数据库由以下几部分组成: ⑴实例(Instance):Oracle实例是一组有自己的系统全局区和与其相关数据库文件的Oracle服务器进程,每个实例都有自己的SID(系统识别符)。 ⑵对象(Object):由应用程序中的SQL语句引用的表空间、用户、表、视图、索引、权限、DBA(数据库管理员)等。 ⑶程序:也是Oracle数据库的过程,主要包括客户过程(client processes),根据用户的要求向服务器过程提出需求信息的请求;服务器过程server processes),接收用户过程发出的请求,并根据请求与数据库通信,完成对数据库中数据的处理。 ⑷文件:包括数据文件(Datafile),存放所有数据库有关的数据。 日志文件(Log File),也称重演日志文件(Redo Logs File)或事务记录文件(Trasaction Log File),记录针对数据库进行的修改操作或各种事务,节省数据库直接操作数据文件的时间和次数,提高处理效率。 控制文件(Control File),存放与Oracle数据库所有文件均相关的关键信息,Oracle数据库通过控制文件保持数据的一致性,以及恢复数据时使用哪些重演日志。 每个数据库至少应该有两个以上的控制文件和日志文件备份。 ⑸内存结构 Oracle的内存结构SGA主要是一个通信器,它是一块存放系统信息的内存区域,使得通信过程尽量能够在内存中处理, 达到快速度、高效率。所有用户进程和服务器进程都能够访问这个内存结构。SGA区主要分为四块: ① Data Buffer Cache(数据高速缓冲区)中存放着Oracle最近使用过的数据库数据块,当用户一次访问数据时,用户进程从物理磁盘中读取数据后将其放在这个高速缓冲区,下一次或其他用户访问时从缓冲区读取,Oracle数据库根据数据被访问的频度和缓冲区的物理大小通过相应的HASH算法将经常访问的数据保留,而去除不经常访问的数据块。 ② Dictionary Cache(Row Cache,字典高速缓冲区)用于保存数据字典中的行,数据字典中存放Oracle系统管理时需要的所有信息,这些信息包括:访问Oracle数据库的用户以及他们访问哪些数据库对象和这些对象所放的位置等。 ③ Redo Log Cache(Transaction Log Cache,即重演日志缓冲区),任何需要事务在写入到重演日志之前首先放到缓冲区中,然后定期将其写入到重演日志。 ④ Share SQL Pool(共享SQL池)相当于程序高速缓冲区,所有用户的经过语法分析的、准备执行的SQL语句都放在此共享池中。 3. Oracle数据库的数据处理流程

相关文档
最新文档