Oracle面试题库-SQL

Oracle面试题库-SQL
Oracle面试题库-SQL

1. ORACLE用来判断列值是否为空的操作符是____

A ==NULL

B IS NULL

C AS NULL

D NULLIS

2 分析以下的SQL命令

SELECT ,

FROM inventory i, manufacturer m

WHERE =

ORDER BY ;

如何修改上述命令使其成功执行()

A ORDER BY description

B ORDER BY

C WHERE =

ORDER BY

D ORDER BY ;

3. 在客户定单表(CUSTOMER)中有一列为单价(PRICE),写一个SELECT命令显示所有单价在500以上的查语句。

A SELECT * FROM CUSTOMER WHERE PRICE>500;

B SELECT * FROM CUSTOMER WHERE PRICE BETWEEN 500 AND *;

C SELECT * FROM CUSTOMER WHERE PRICE LIKE ‘%500%’;

D SELECT * FROM CUSTOMER WHER

E PRICE>=500;

4. 分析以下SQL 命令:

SELECT price

FROM inventory

WHERE price BETWEEN 1 AND 50

AND (price IN(55, 30, 95);

命令执行后的输出结果是:()

A 55

B 30

C 95

D NULL

5. 分析以下的SQL 命令:

SELECT manufacturer_id

FROM inventory

WHERE manufacturer_id LIKE ‘%N\%P\%O%’ ESCAPE ‘\’;

命令执行的返回结果是()

A 所有包含’NPO’的纪录

B 所有包含’N\P\O’的纪录

C 所有包含’N%P%O’的纪录

D 所有包含’%N\P\O%’的纪录

6. 分析以下的SQL命令:

SELECT ,

FROM inventory i, manufacturer m

WHERE (+) = ;

WHERE 子句中的(+)是什么含义?

A 将inventory表中不满足条件的记录也查出来

B 将+

C将manufacturer表中不满足条件的记录也查出来

D 不能这样写,语法错误

7. 写一SQL语句实现以下功能,把inventory表中的ORDER_DATE 值’23-MAY-00′ 显示成’01-JAN-00′

A SELECT ROUND(order_date, ‘YEAR’) FROM inventory;

B SELECT TO_DATE(order_date, ‘DD-MM-YY’) FROM inventory;

C SELECT TO_CHAR(order_date, ‘DD-MM-YY’) FROM inventory;

D 都不对

8.下面的SQL命令显示的结果是什么类型:

TO_DATE(’01-JAN-1998′) –TO_DATE(’01-DEC-1996′)

A 数值

B 字符串

C 日期

D 出现错误

9. 简述ROUND 和TRUNC操作的区别?

A ROUND在截掉数据时有四舍五入的判断,TRUNC直接按要求截掉没有进位。

B 都是将数据按指定的长度截断

C TRUNC是四舍五入,ROUND是截断

D 都会四舍五入

10. 简述SUBSTR和LENGTH的主要功能。

答案:SUBSTR:用来在一个字符串中求子串

LENGTH:用于求字符串的长度。

11. 分析以下的SQL命令:

SELECT CONCAT(UPPER(SUBSTR(location, 1, 3)), dept_number) “Department Location”

FROM department;

哪个function 最后执行?

答案:concat

12. 分析以下的SQL命令:

SELECT *

FROM product

WHERE LOWER(description) = ‘CABLE’;

命令能否执行是否有结果返回为什么?

答案:命令可以执行,没有结果返回,因为查询条件中的LOWER把查询列值改为小写,而等号右侧为大写,所以不会有结果返回。

13. 在PLAN表中有一列为SPECIES_ID ,该列与SPECIES 表的ID列对应,但后者包含空值,要想在显示结果中包含SPECIES 表的ID列为空值的行的信息,用那种连接条件可以实现?

答案:外连接

14. 分析以下的SQL 命令:

SELECT ,

FROM inventory i, inventory m

WHERE = ;

该命令中使用的连接条件是()连接

答案:自连接

15 .外连接的符号可以放在连接条件的哪边,可以两边同时使用吗?

答案:放在包含空值的一边,不可以两边同时使用

16. 如果用等值连接来查询5张表内的信息,至少需要几个连接条件?

答案:至少需要4个连接条件。

17. 分析以下的SQL 命令:

SELECT ,

FROM inventory i, manufacturer m

WHERE =

ORDER BY 1;

该命令执行结果的排序是按那一列的值排序的?

答案:按inventory表的id_number列排序

18. 如果在where子句中有两个条件要同时满足,应该用以下哪个逻辑符来连接

答案 c

19. 外连接的条件可以放在以下的那一个子句中

BY

BY

答案 B

20. 在从两个表中查询数据时,连接条件要放在哪个子句中

BY

答案 B

21 用以下哪个子句来限制分组统计结果信息的显示

BY

BY

答案 D

22. 数据库中的TEACHER 表的结果如下:

ID NUMBER(7) PK

SALARY NUMBER(7,2)

SUBJECT_ID NUMBER(7)

至少有两行以上的SUBJECT_ID值是不同的

分析以下的SQL命令:

1. SELECT ROUND(SUM(salary),-4)

FROM teacher;

2. SELECT subject_id, ROUND(SUM(salary),-2)

FROM teacher

GROUP BY subject_id;

两个命令的显示结果相同吗哪个命令显示的结果会多些?

答案:不同,命令2会返回更多的结果

23. 如果想对分组统计的结果信息进行筛选,用where 条件子句能实现吗如果不行该用什么子句实现?答案:用where子句不能实现,应该用having 子句

24. 以下需求中哪个需要用分组函数来实现?

A.把ORDER表中的定单时间显示成‘DD MON YYYY’ 格式

B.把字符串‘JANUARY 28, 2000′ 转换成日期格式

C.显示PRODUCT 表中的COST 列值总量

D.把PRODUCT表中的DESCRIPTION列用小写形式显示

答案 C

25. 用以下的SQL语句查询数据库:

SELECT id_number “Part Number”, SUM(price * quantity) TOTAL, description

FROM inventory

WHERE price >

ORDER BY “Part Number”, 3;

哪一句会产生错误?

INVENTORY

PRICE >

BY “PART NUMBER”, 3;

id_number “Part Number”, SUM(price * quantity) TOTAL, description

答案 D

26. EMPLOYEE 表包含以下的列:

EMP_ID NUMBER(9)

NAME VARCHAR2(25)

BONUS NUMBER(5,2)

DEPT_ID NUMBER(9)

如果想计算所有具有bonus的职员的bonus平均值,不考虑该列包含空值的那些雇员,用什么功能函数可以实现?

答案:使用AVG函数可以实现。

27. 写出包含SELECT,FROM ,HAVING ,WHERE,GROUP BY ,ORDER BY子句的书写顺序

答案:SELECT FROM WHERE GROUP HAVING ORDER BY

28. 分析以下的SQL命令

SELECT id_number “Part Number”, SUM(price) “Price”

FROM inventory

WHERE price >

GROUP BY “Part Number”

ORDER BY 2;

哪一个子句会产生错误如何修改

答案:第四句GROUP BY “Part Number”会产生错误,应改为GROUP BY id_number

29. 在单行子查询中,子查询的返回结果为多少,返回2行可以吗?

答案:只能返回一行,否则会出错。

30. 以下操作符中哪个可以用做单行简单查询的操作符

A.=

答案 A

31. 分析以下的SQL 命令:

SELECT id_number

FROM inventory

WHERE manufacturer_id IN

(SELECT manufacturer_id

FROM inventory

WHERE price <

OR price > ;

该子查询的能否执行,是否有语法错误?

答案:没有语法错误,可以执行为

32. 分析以下SQL命令:

SELECT employee_id, name

FROM employee

WHERE employee_id NOT IN (SELECT employee_id

FROM employee

WHERE department_id = 30

AND job = ‘CLERK’);

如果子查询返回空值,结果会是什么样?

答案没有结果返回。

33. 如果用户用UPDATE 命令修改了表中的数据值,是否可以恢复回来?

答案:如果事务没有提交可以用ROLLBACK 恢复回来。

34.用户对某表中的数据做修改操作,还没有提交,此时机器断电,修改结果是否能保存在数据库中?答案:不能,因为非正常结束的事务会被ORACLE 回滚掉

35. 以下那些命令可以暗含提交操作?

答案 A

36. 那种类型的约束可以自动创建索引?

答案:UNIQUE ,PRIMART KEY

37 哪中类型的约束只能定义在列级

A. CHECK

NULL

KEY

KEY

答案 C

38. 可以在以下哪个对象上创建视图(选择两个)

答案A,C

39. 分析以下SQL 命令:

CREATE FORCE VIEW parts_vu (company, contact)

AS SELECT manufacturer_name, contact_name

FROM inventory

WITH READ ONLY;

在PARTS_VU 视图上可以执行UPDATE操作吗为什么可以进行什么操作?

答案:不能执行UPDATE操作,因为该视图是只读的,只能进行select (检索)操作

40. 表PERSONNEL 的结构如下:

ID NUMBER(9)

LAST_NAME VARCHAR2(25)

FIRST_NAME VARCHAR2(25)

MANAGER_ID NUMBER(9)

这里, 部门的管理者也看作是雇员..

分析以下两个命令:

SELECT , , ,

FROM personnel p, personnel m

WHERE = ;

SELECT , , ,

FROM personnel p, personnel m

WHERE = ;

两个的执行结果一样吗?

答案一样,但格式不同

41. 如果一个表中的数据包含许多空值,是否适合建索引?

答案适合

42. 分析以下命令

CREATE PUBLIC SYNONYM parts

FOR ;

它的作用是什么?

为用户marilyn的inventory 对象(不一定是表)建一个同义词或叫别名

43.分析以下的SQL命令

CREATE SEQUENCE line_item_id

START WITH 10001

MAXVALUE 9

NOCYCLE;

请问这个序列NOCYCLE关键字的含义是什么?

答案:当序列的值增长到最大值的时候,会从1001开始从新使用

44.DEPARTMENT 表的结构如下:

DEPT_ID NUMBER(9)

DEPT_NAME VARCHAR2(20)

REGION_ID NUMBER(9)

REGION_ID 列有一个外键约束,参照REGION 表,用下面的SQL语句修改DEPARTMENT table 表UPDATE department

SET dept_id = 6546,

region_id = 9705

WHERE dept_id = 8940;

产生以下的错误信息:

ORA-02291: integrity constraint (SYS_C23) violated – parent key not found

错误可能会在那一行?

答案:可能在region_id = 9705这一行。

45.表TEACHER 的结构如下:

Name Null Type

—————————————————————- —————————-

TEACHER_ID NOT NULL NUMBER(9)

NAME VARCHAR2(25)

SALARY NUMBER(7,2)

SUBJECT_ID NOT NULL NUMBER(3)

SUBJECT_DESCRIPTION VARCHAR2(2)

编写一个SQL命令,实现以下要求,给所有的science teachers 增加8%的工资The SUBJECT_ID for science teachers 的SUBJECT_ID 值是011.

答案:UPDATE teacher

SET salary = salary *

WHERE subject_id = 011;

46.ORACLE数据库有哪几种约束类型

答案:五种。是PRIMARY KEY,FOREIGN KEY,UNIQUE,CHECK,NOT NULL。47.在建表时如果希望某列的值,在一定的范围内,应建什么样的约束?

答案:CHECK 约束。

48. RDBMS是下列哪一项的缩写:___

A Relational DataBase Management System(关系数据库管理系统)

B Relational DataBase Migration System(关系数据库移植系统)

C Relational Data Migration System(关系数据移植系统)

D Relational DataBase Manage System(关系数据库管理系统)

49. INSERT 是

A DML语句

B DDL语句

C DCL语句

D DTL语句

50. COUNT(*)函数返回____

A 包括空值和重复值得所有记录

B 不包含空值的纪录

C 带有重复值但无空值得记录

D 都不是

什么操作符将两个查询的结果合并为单个结果

A 算术

B 比较

C 集合

D 以上都不是

52. .____什么操作符之返回两个查询的共有行

A INTERSECT

B UNION

C MINUS

D 没有

53.日期函数是

A 分组函数

B 单行函数

C 聚合函数

D 都不是

CHR(66) FROM DUAL的结果是_____

A Z

B S

C B

D 都不是

函数返回一个值除以另一个值后的余数

B ABS

C CEIL

D 以上都不是

函数返回列表中第一个非空的表达式

A NVL

B NVL2

C COALESCE

D 以上都不是

子句处理分组的结果

A WHERE

B HAVING

C SELECT

D 以上都不是

58.什么锁用于锁定表,仅允许其他用户查询表中的行,行不允许插入,更新,或删除行

A 共享

B 排他

C 共享更新

D 以上都不是

59.使用带有____子句的SELECT命令可以在表的一行或多行上放置排他锁

A FOR INSERT OF

B FOR UPDATE OF

C FOR REFRESH

D EXCLUSIVE

60. 对象关系模型支持:

A 面向对象的概念和关系的概念

B 仅支持关系的概念

C 仅面向对象对象的概念

D 以上都不是

61. TRUNCATE TABLE 是用于____:

A 删除表结构

B 仅删除记录

C删除结构和记录

D都不是

62.同义词用于下列情况

1 隐藏对象的名称和所有者

2 提供对对象的公共访问

A 两者都对

B 1错2对

C 两者都错

D 1对2错

是oracle提供的一个对象,可以生成唯一的连续的整数

B 序列

C 视图

D 没有

64.可以使用____和____伪列来访问序列

A nextval和currentval

B nextval和previousval

C cache和nocache

D 以上都不对

65.下列有关视图的描述那一个是正确的

A 视图时已存储的查询

B 视图隐藏了数据的复杂性

C 视图就是表

D 视图不提供安全性

是与表关联的可选结构

A 视图

B 索引

C 同义词

D 以上都不是

67.在下列哪种情况下,索引最有用

A 索引列被声明为not null

B 在where子句中使用了索引列

C 索引列包含许多不同的值

D 定义尽可能多的索引

68.检查下列创建的orders表的SQL语句

CREATE TABLE ORDERS(

SER_NO NUMBERUNIQUE,

ORDER_ID NUMBER,

ORDER_DATE DATE NOT NULL,

STATUS VARCHAR2(10) CHECK (STATUS IN (‘CREDIT’,’CASH’)),

PROD_ID NUMBER REFERENCES PRODUCTS(PRODUCT_ID),

ORD_TOTAL NUMBER,

PRIMARY KEY (ORDER_ID,ORDER_DATE)

当执行上述语句时,将自动为那些列创建索引

A SER_ID

B ORDER_ID

C STATUS

D PRID_ID

69 当在表加入一条数据时,如果其中一个字段未指定任何数据,此时该字段会存放什么值

A 0

B NULL

C ”(空字符)

D 不确定

华为面试题(附答案)Oracle

一、技术问题部分(数据库部分) 1、表空间的管理方式有哪几种? 数据字典管理方式 本地文件管理方式 2、谈谈你对索引的理解? 索引是若干数据行的关键字的列表,查询数据时,通过索引中的关键字可以快速定位到要访问的记录所在的数据块,从而大大减少读取数据块的I/O次数,因此可以显著提高性能。 3、说说索引的组成? 索引列、rowid 4、分区表用过么?谈谈分区表的应用? 分区表在对表的DML的并行处理上有极大得优势,而且可以一部分设为只读,用在销售记录,医院处方等地方!! 5、你对分区表的理解?怎样截断分区表一个分区的记录? 一个分区表有一个或多个分区,每个分区通过使用范围分区、散列分区、或组合分区分区的行 分区表中的每一个分区为一个段,可各自位于不同的表空间中 对于同时能够使用几个进程进行查询或操作的大型表分区非常有用 alter table table_name truncate partition partition_name; 6、物理文件有哪几种?控制文件包含了什么信息? 1)数据文件2)控制文件3)日志文件 包含维护和验证有选举权据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个有选举权据库至少需要一个控制文件 7、表空间用完了如何增加? 三种种扩展方式: 1 增加数据文件alter tablespace name add datafile …路径? size 4M; 2 扩展数据文件大小alter database datafile …路径? resize 4M; 3 把数据文件设为自动增长 alter database datafile …路径? autoextend on next 1M maxsize 20M; 8、SGA包含几部分? Shared pool(共享池),DataBase Buffer Cache(数据缓冲区) Redo Log Buffer(重做日志缓冲区), Large Pool,大池,JAVA池。 9、DECODE函数的用法? DECODE的语法:DECODE(value,if1,then1,if2,then2,if3,then3,...,else),表示如果value等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。初看一下,DECODE 只能做等于测试,但刚才也看到了,我们通过一些函数或计算替代value,是可以使DECODE函数具备大于、小于或等于功能。还可以转化表结构! 10、DELETE和TRUNCATE的区别? 答:1、TRUNCATE在各种表上无论是大的还是小的都非常快。如果有

几个Oracle的笔试题

Oracle笔试试题 1. SQL必备 <选择题每空 1 分共 14题> 1. 如果在where子句中有两个条件要同时满足,应该用以下哪个逻辑符来连接 ( ) A.OR B.NOT C.AND D.NONE 2. 外连接的条件可以放在以下的那一个子句中( ) A.FROM B.WEHRE C.SELECT D.HAVING E.GROUP BY F.ORDER BY 3. 在从两个表中查询数据时,连接条件要放在哪个子句中( ) A.FROM B.WHERE C.SELECT D.HAVING E.GROUP BY 4. 用以下哪个子句来限制分组统计结果信息的显示( ) A.FROM B.WEHRE C.SELECT D.HAVING E.GROUP BY F.ORDER BY 5. 以下需求中哪个需要用分组函数来实现( ) A.把ORDER表中的定单时间显示成 'DD MON YYYY' 格式 B.把字符串 'JANUARY 28, 2000' 转换成日期格式 C.显示PRODUCT 表中的COST 列值总量 D.把PRODUCT表中的DESCRIPTION列用小写形式显示 6. 以下那些命令可以暗含提交操作( )

A.GRANT B.UPDATE C.SELECT D.ROLLBACK 7.RDBMS是下列哪一项的缩写( ) A. Relational DataBase Management System(关系数据库管理系统) B. Relational DataBase Migration System(关系数据库移植系统) C. Relational Data Migration System(关系数据移植系统) D. Relational DataBase Manage System(关系数据库管理系统) 8.INSERT 是( ) A. DML语句 B. DDL语句 C. DCL语句 D. DTL语句 9.SELECT CHR(66) FROM DUAL的结果是( ) A. Z B. S C. B D. 都不是 10.函数返回一个值除以另一个值后的余数( ) A. MOD B. ABS C. CEIL D. 以上都不是 11. 什么锁用于锁定表,仅允许其他用户查询表中的行,行不允许插入,更新, 或删除行( ) A. 共享 B. 排他 C. 共享更新 D. 以上都不是 12.什么是oracle提供的一个对象,可以生成唯一的连续的整数( ) A. 同义词 B. 序列 C. 视图 D. 没有 13. 那种类型的约束可以自动创建索引( ) A.CHECK B.UNIQUE

Oracle精选面试题(附答案及分析)

Oracle精选面试题 1.显示10 号部门的所有经理('MANAGER')和20 号部门的所有职员('CLERK')的详细信息 答案: Select * from emp where deptno=10 and job=’MANAGER’ or deptno=20 and job=’clerk’; select * from emp where deptno = 10 and job = 'MANAGER' or deptno = 20 and job ='CLERK'; 2.显示姓名中没有'L'字的员工的详细信息或含有'SM'字的员工信息 答案: Select * from emp where ename note like ‘%L%’ or ename like ‘%SM%’; select * from emp where ename not like '%L%' or ename like '%SM%'; 3.显示各个部门经理('MANAGER')的工资 答案: select deptno,emname, salary from emp_wqq where job='MANAGER'; 4.显示佣金(COMM)收入比工资(SAL)高的员工的详细信息 答案: select * from emp where comm > sal; 5.把hiredate 列看做是员工的生日,求本月过生日的员工 答案: select * from emp where to_char(hiredate, 'mm') = to_char(sysdate , 'mm'); 6.把hiredate 列看做是员工的生日,求下月过生日的员工 答案: select * from emp where to_char(hiredate, 'mm') = to_char(add_months(sysdate,1) , 'mm'); 7.求1982 年入职的员工 答案: select * from emp where to_char(hiredate,'yyyy') = '1982'; 8.求1981 年下半年入职的员工 答案: select * from emp where hiredate between to_date('1981-7-1','yyyy-mm-dd') and to_date('1982-1-1','yyyy-mm-dd') - 1; 9.求1981 年各个月入职的的员工个数 答案: select count(*), to_char(trunc(hiredate,'month'),'yyyy-mm')

Oracle面试题库_3

Oracle面试题库 END LOOP;7. 当在一个PLSQL块中通过查询得到一个值,但是没有任何值返回时,会产生异常吗?如果产生,是什么异常?A 不会有异常,只不过没有结果而已B 有异常,异常为No_data_foundC 有异常,异常为Value_erroD 编译都不通过8. 在PLSQL块中处理异常的语句是 A EXCEPTIONIF EXCEPTION_NAME THENDBMS_OUTPUT.PUT_LINE();END;B EXCEPTIONWHEN EXCEPTION_NAME THENDBMS_OUTPUT.PUT_LINE();END EXCEPTION ;C WHEN EXCEPTION_NAME THENDBMS_OUTPUT.PUT_LINE();D BEGINNULL;EXCEPTIONWHEN EXCEPTION_NAME THENDBMS_OUTPUT.PUT_LINE();END ;9. 当用户在PLSQL块中,像抛出自定义异常或者是系统异常时,所使用的关键字是 A THROWB RAISEC RAISE_APPLICATION_ERRORD EXCEPTION10. 在自定义异常中,用户可用的错误号范围在A 20000 ~ 29999B -20000 ~ -20999C 1~65535D 没有限制11. 阅读代码DECLAREBEGINDBMS_OUTPUT.PUT_LINE(‘外不快’);DECLAREMYEXCE EXCEPTION;BEGINRAISE MYEXCE;END;EXCEPTIONWHEN MYEXCE THENDBMS_OUTPUT.PUT_LINE(‘异常捕获’);END;出现的结果是

oracle常见面试题及答案

需求: 写一个邮件系统, 采用oracle+jsp+servlet来完成. 1.创建一个表空间。 2.创建一个用户,将用户赋到表空间上. 3.给用户赋权限. 4.以新建用户登录,创建一个程序包. 5.在表空间上建表,两个表 用户表 Id int Uname varchar Upass varchar 邮件表 eId int Title varchar Contents varchar Uid int 外键 附件表 Id int Filepath varchar Eid int 外键 6.作增,删,改,查的操作,全部封装到存储过程中 7.写一个java程序来调用. 1.解释FUNCTION,PROCEDURE和PACKAGE区别 答:function 和procedure是PL/SQL代码的集合,通常为了完成一个任务。procedure 不需要返回任何值, 而function将返回一个值. 在另一方面,Package是为了完成一个商业功能的一组function和procedure的集合。

2.取某个序列的当前值的PL/SQL语句怎么写? 答:SELECT 序列名.CURRVAL FROM DUAL; Create sequence 名字 start with x increment by y maxvalue z nocycle 3.说明ORACLE数据库实例与ORACLE用户的关系? 答:实例可以包含多个用户,一个用户只能在一个实例下 4.创建用户时,需要赋予新用户什么权限才能使它连上数据库? 答:grant CONNECT [on 表名] to 用户名 5.比较truncate和delete命令? 答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL(data defining language数据定义语言),它移动HWK,不需要rollback segment(处理事务回滚操作)而Delete是DML(data manufacturing language数据操作语言)操作,需要rollback segment(处理事务回滚操作)且花费较长时间 6.给出数据的相关约束类型? 答:主键约束,外键约束,非空约束,唯一约束,检查约束。 7.说明索引的类型与作用? 答:索引类型上分为聚集索引,非聚集索引. 其作用是加快查询速度。 8.获取某个字符字段的最后3个字符的函数是什么? 答:select substr (字段,(length(字段)-3)) from 表 9.取当前系统时间点日期(不包括年月)的SQL写法是怎样的? 答:Select substr (to_char(sysdate,’YYYYMMDDh24hh:MM:SS’),5) from dual; to_char(sysdate,’YYYYMMDDh24hh:MM:SS’) 10.返回大于等于N的最小整数值? 答:select ceil(1.5) from dual; floor(1.5) 11.将根据字符查询转换后结果,规则为:’A’转换为’男’,’B’转换为’女’,其他字符转换为’未知’,请用一个SQL语句写出。 答:select decode(字符,’A’,’男’,’B’,’女’,’未知’) from dual; 12.如何搜索出前N条记录? 答:select * from 表 where Rownum <= N;

oracle面试题集锦

本文是Oracle技术人员求职面试题集锦,答案仅供参考…… 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 tables 存放对fact table 某些属性描述的信息 10. FACT Table上需要建立何种索引? 解答:位图索引(bitmap index) 11. 给出两种相关约束? 解答:主键和外键 12. 如何在不影响子表的前提下,重建一个母表 解答:子表的外键强制实效,重建母表,激活外键 13. 解释归档和非归档模式之间的不同和它们各自的优缺点 解答:归档模式是指你可以备份所有的数据库transactions并恢复到任意一个时间点。非归档模式则相反,不能恢复到任意一个时间点。但是非归档模式可以带来数据库性能上的少许提高 . 14. 如何建立一个备份控制文件? 解答:Alter database backup control file to trace. 15. 给出数据库正常启动所经历的几种状态? 解答:

oracle面试题70问及答案

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_METADA TA.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 tables 存放对fact table 某些属性描述的 信息 10. FACT Table上需要建立何种索引? 解答:位图索引(bitmap index) 11. 给出两种相关约束? 解答:主键和外键 12. 如何在不影响子表的前提下,重建一个母表 解答:子表的外键强制失效,重建母表,激活外键 13. 解释归档和非归档模式之间的不同和它们各自的优缺点 解答:归档模式是指你可以备份所有的数据库transactions并恢复到任意一个时间点。非归档模式则相反,不能恢复到任意一个时间点。 但是非归档模式可以带来数据库性能上的少许提高 14. 如何建立一个备份控制文件? 解答:Alter database backup control file to trace. 15. 给出数据库正常启动所经历的几种状态? 解答: STARTUP NOMOUNT –数据库实例启动 STARTUP MOUNT - 数据库装载

Oracle面试题及答案整理

Oracle面试题及答案整理

Oracle面试题及答案整理 1、表:table1(FId,Fclass,Fscore),用最高效最简单的SQL列出各班成绩最高的列表,显示班级,成绩两个字段。 select fclass,max(fscore) from table1 group by fclass,fid 2、有一个表table1有两个字段FID,Fno,字都非空,写一个SQL语句列出该表中一个FID对应多个不同的Fno的纪录。 类如: 101a1001 101a1001 102a1002 102a1003 103a1004 104a1005 104a1006 105a1007 105a1007 105a1007 结果: 102a1002

102a1003 104a1005 104a1006 select t2.* from table1 t1, table1 t2 where t1.fid = t2.fid and t1.fno <> t2.fno; 3、有员工表empinfo ( Fempno varchar2(10) not null pk, Fempname varchar2(20) not null, Fage number not null, Fsalary number not null ); 假如数据量很大约1000万条;写一个你认为最高效的SQL,用一个SQL计算以下四种人: fsalary>9999 and fage > 35 fsalary>9999 and fage < 35 fsalary <9999 and fage > 35 fsalary <9999 and fage < 35 每种员工的数量; select sum(case when fsalary > 9999 and fage > 35 then 1 else 0end) as "fsalary>9999_fage>35",

Oracle数据库DBA面试题及答案_经典

1.OracleDBA面试题之一解释冷备份和热备份的不同点以及各自的优点 解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。 冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘) 2. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢? 解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。 3. 如何转换init.ora到spfile? 解答:使用create spfile from pfile 命令 4. OracleDBA面试题:解释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 tables 存放对fact table 某些属性描述的信息

Oracle+面试及答案-经典

一、基础概念 1.列举几种表连接方式 Answer:等连接(内连接)、非等连接、自连接、外连接(左、右、全) Or hash join/merge join/nest loop(cluster join)/index join ??ORACLE 8i,9i 表连接方法。 一般的相等连接: select * from a, b where a.id = b.id; 这个就属于内连接。 对于外连接: Oracle中可以使用“(+) ”来表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN LEFT OUTER JOIN:左外关联 SELECT https://www.360docs.net/doc/1818051319.html,st_name, e.department_id, d.department_name FROM employees e LEFT OUTER JOIN departments d ON (e.department_id = d.department_id); 等价于 SELECT https://www.360docs.net/doc/1818051319.html,st_name, e.department_id, d.department_name FROM employees e, departments d WHERE e.department_id=d.department_id(+) 结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id 的员工记录。 RIGHT OUTER JOIN:右外关联 SELECT https://www.360docs.net/doc/1818051319.html,st_name, e.department_id, d.department_name FROM employees e RIGHT OUTER JOIN departments d ON (e.department_id = d.department_id); 等价于 SELECT https://www.360docs.net/doc/1818051319.html,st_name, e.department_id, d.department_name FROM employees e, departments d WHERE e.department_id(+)=d.department_id 结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。 FULL OUTER JOIN:全外关联 SELECT https://www.360docs.net/doc/1818051319.html,st_name, e.department_id, d.department_name FROM employees e FULL OUTER JOIN departments d ON (e.department_id = d.department_id);

Oracle面试问题-技术篇

Oracle 面试问题-技术篇 这也许是你一直期待的文章,在关注这部分技术问题的同时,请务必阅读有关面试中有关个人的问题和解答。这里的回答并不是十分全面,这些问题可以通过多个角度来进行解释,也许你不必在面试过程中给出完全详尽的答案,只需要通过你的解答使面试考官了解你对ORACLE?念的熟悉程度。 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. 给出两个检查表结构的方法

解答:「DESCRIBE命令 2.DBMS_METADATA.GET_EtoL 6. 怎样查看数据库引擎的报错 解答:alert log.

Oracle面试题集锦

Oracle 面试题集锦 一、经典面试题 1.OracleDBA面试题之一解释冷备份和热备份的不同点以及各自的优点 解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。 冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将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命令 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中的两种表及它们分别含有的数据

Oracle-笔试题目带标准答案

1.( )程序包用于读写操作系统文本文件。(选一项) A、Dbms_output B、Dbms_lob C、Dbms_random D、Utl_file 2.( )触发器允许触发操作的语句访问行的列值。(选一项) A、行级 B、语句级 C、模式 D、数据库级 3.( )是oracle在启动期间用来标识物理文件和数据文件的二进制文件。(选一项) A、控制文件 B、参数文件 C、数据文件 D、可执行文件 4.CREATE TABLE 语句用来创建(选一项) A、表 B、视图 C、用户 D、函数 5.imp命令的哪个参数用于确定是否要倒入整个导出文件。(选一项) A、constranints B、tables C、full D、file 6.ORACLE表达式NVL(phone,'0000-0000')的含义是(选一项) A、当phone为字符串0000-0000时显示空值 B、当phone为空值时显示0000-0000 C、判断phone和字符串0000-0000是否相等 D、将phone的全部内容替换为0000-0000 7.ORACLE交集运算符是(选一项) A、intersect B、union C、set D、minus 8.ORACLE使用哪个系统参数设置日期的格式(选一项) A、nls_language

B、nls_date C、nls_time_zone D、nls_date_format 9.Oracle数据库中,通过()访问能够以最快的方式访问表中的一行(选一项) A、主键 B、Rowid C、唯一索引 D、整表扫描 10.Oracle数据库中,下面()可以作为有效的列名。(选一项) A、Column B、123_NUM C、NUM_#123 D、#NUM123 11.Oracle数据库中,以下()命令可以删除整个表中的数据,并且无法回滚(选一项) A、drop B、delete C、truncate D、cascade 12.Oracle中, ()函数将char或varchar数据类型转换为date数据类型。(选一项) A、date B、to_date C、todate D、ctodate 13.ORACLE中,执行语句:SELECTaddress1||','||address2||','||address2 "Address" FROMemploy;将会返回()列(选一项) A、0 B、1 C、2 D、3 14.Oralce数据库中,以下()函数可以针对任意数据类型进行操作。(选一项) A、TO_CHAR B、LOWER C、MAX D、CEIL 15.partition by list(msn_id)子句的含义是(选一项) A、按msn_id列进行范围分区 B、按msn_id列进行列表分区

oracle企业面试题集锦

oracle企业面试题集锦 宏观上: 1.最大的区别在于平台,oracle可以运行在不同的平台上,sql server只能运行在 windows 平台上,由于 windows 平台的稳定性和安全性影响了 sql server的稳定性和安全性 2.oracle使用的脚本语言为 PL-SQL ,而sql server使用的脚本为 T-SQL 微观上:从数据类型,数据库的结构等等回答 2.如何使用Oracle的游标 1.oracle中的游标分为显示游标和隐式游标 2.显示游标是用cursor is命令定义的游标,它可以对查询语句(select)返回的多条记录进行处理;隐式游标是在执行插入 (insert)、删除(delete)、修改(update)和返回单条记录的查询(select)语句时由 PL/SQL 自动定义的。 3.显式游标的操作:打开游标、操作游标、关闭游标;PL/SQL 隐式地打开SQL游标,并在它内部处理SQL语句,然后关闭它 3.Oracle 中 function 和 procedure 的区别 1.可以理解函数是存储过程的一种 2.函数可以没有参数,但是一定需要一个返回值,存储过程可以没有参数,不需要返回值 3.两者都可以通过out参数返回值,如果需要返回多个参数则建议使

用存储过程 4.在sql数据操纵语句中只能调用函数而不能调用存储过程 4.Oracle的导入导出有几种方式,有何区别 1.使用 oracle 工具 exp/imp 2.使用plsql相关工具 方法1.导入/导出的是二进制的数据,2.plsql导入/导出的是 sql语句的文本文件 5.Oracle中有哪几种文件 数据文件(一般后缀为.dbf或者.ora),日志文件(后缀名.log),控制文件(后缀名为.ctl) 6.怎样优化Oracle数据库,有几种方式 个人理解,数据库性能最关键的因素在于IO,因为操作内存是 快速的,但是读写磁盘是速度很慢的,优化数据库最关键的问题在于减少磁盘的IO,就个人理解应该分为物理的和逻辑的优化,物理的是指oracle产品本身的一些优化,逻辑优化是指应用程序级别的优化物理优化的一些原则: 1.Oracle的运行环境(网络,硬件等) 2.使用合适的优化器 3.合理配置oracle实例参数 4.建立合适的索引(减少IO) 5.将索引数据和表数据分开在不同的表空间上(降低 10冲突) 6.建立表分区,将数据分别存储在不同的分区上(以空间换取时间,

Oracle数据库的面试题目及答案

Oracle数据库的面试题目及答案 基础题目: 1. 比较truncate和命令 解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要 rollback segment . 而Delete是DML操作, 需要rollback segment 且花费较长时间. 【相同点 truncate和不带where子句的, 以及drop都会删除表内的数据 不同点: 1. truncate和只删除数据不删除表的结构(定义) drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,

但是变为invalid状态. 2.语句是dml,这个操作会放到rollback segement中,事务提交 之后才生效;如果有相应的trigger,执行的时候将被触发. truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger. 3.语句不影响表所占用的extent, 高水线(high watermark)保持 原位置不动 显然drop语句将表所占用的空间全部释放 truncate 语句缺省情况下见空间释放到 minextents个 extent, 除非使用reuse storage; truncate会将高水线复位(回到最开始). 4.速度,一般来说: drop>; truncate >; 5.安全性:小心使用drop 和truncate,尤其没有备份的时候.否则哭都来不及

使用上,想删除部分数据行用,注意带上where子句. 回滚段要足够大. 想删除表,当然用drop 想保留表而将所有数据删除. 如果和事务无关,用truncate即可. 如果和事务有关,或者想触发trigger,还是用. 如果是表内部的碎片,可以用truncate跟上reuse stroage,再重新导入/插入数据 2.Oracle中,需要在查询语句中把空值(NULL)输出为0,如何处理? 答案:nvl(字段,0). nvl( ) 函数 从两个表达式返回一个非 null 值。 语法

华为面试题(附答案)Oracle-DBA、JAVA架构师必看

DBA数据库管理员JAVA程序员架构师必看 一、技术问题部分(数据库部分) 1、表空间的管理方式有哪几种? 数据字典管理方式 本地文件管理方式 2、谈谈你对索引的理解? 索引是若干数据行的关键字的列表,查询数据时,通过索引中的关键字可以快速定位到要访问的记录所在的数据块,从而大大减少读取数据块的I/O次数,因此可以显著提高性能。 3、说说索引的组成? 索引列、rowid 4、分区表用过么?谈谈分区表的应用? 分区表在对表的DML的并行处理上有极大得优势,而且可以一部分设为只读,用在销售记录,医院处方等地方!! 5、你对分区表的理解?怎样截断分区表一个分区的记录? 一个分区表有一个或多个分区,每个分区通过使用范围分区、散列分区、或组合分区分区的行 分区表中的每一个分区为一个段,可各自位于不同的表空间中 对于同时能够使用几个进程进行查询或操作的大型表分区非常有用 alter table table_name truncate partition partition_name; 6、物理文件有哪几种?控制文件包含了什么信息? 1)数据文件2)控制文件3)日志文件 包含维护和验证有选举权据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个有选举权据库至少需要一个控制文件 7、表空间用完了如何增加? 三种种扩展方式: 1 增加数据文件alter tablespace name add datafile …路径? size 4M; 2 扩展数据文件大小alter database datafile …路径? resize 4M; 3 把数据文件设为自动增长 alter database datafile …路径? autoextend on next 1M max size 20M; 8、SGA包含几部分? Shared pool(共享池),DataBase Buffer Cache(数据缓冲区) Redo Log Buffer(重做日志缓冲区), Large Pool,大池,JAVA池。 9、DECODE函数的用法? DECODE的语法:DECODE(value,if1,then1,if2,then2,if3,then3,...,else),表示如果value等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。初看一下,DECODE 只能做等于测试,但刚才也看到了,我们通过一些函数或计算替代value,是可以使DECODE函数具备大于、小于或等于功能。还可以转化表结构! 10、DELETE和TRUNCATE的区别?

Oracle笔试题及答案

一、选择题(每题1分) 1.Oracle发出下列select语句: SQL> select e.empno, e.ename, d.loc 2 from emp e, dept d 3 where e.deptno = d.deptno 4 and substr(e.ename, 1, 1) = ‘S’; 下列哪个语句是Oracle数据库中可用的ANSI兼容等价语句? A.select empno, ename, loc from emp join dept on emp.deptno = dept.deptno where substr(emp.ename, 1, 1) = ‘S’; B.select empno, ename, loc from emp, dept on emp.deptno = dept.deptno where substr(emp.ename, 1, 1) = ‘S’; C.select empno, ename, loc from emp join dept where emp.deptno = dept.deptno and substr(emp.ename, 1, 1) = ‘S’; D.select empno, ename, loc from emp left join dept on emp.deptno = dept.deptno and substr(emp.ename, 1, 1) = ‘S’; 2.你要对操纵Oracle数据库中的数据。下列哪个选项表示Oracle中select语句的功能, 并且不需要使用子查询? A.可以用select语句改变Oracle中的数据 B.可以用select语句删除Oracle 中的数据 C.可以用select语句和另一个表的内容生成一个表 D.可以用select语句对表截断 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

相关主题
相关文档
最新文档