收藏 分销(赏)

Oracle面试题及答案整理.docx

上传人:快乐****生活 文档编号:3635933 上传时间:2024-07-11 格式:DOCX 页数:22 大小:26.01KB
下载 相关 举报
Oracle面试题及答案整理.docx_第1页
第1页 / 共22页
Oracle面试题及答案整理.docx_第2页
第2页 / 共22页
Oracle面试题及答案整理.docx_第3页
第3页 / 共22页
Oracle面试题及答案整理.docx_第4页
第4页 / 共22页
Oracle面试题及答案整理.docx_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、Oracle面试题及答案整理资料仅供参考Oracle面试题及答案整理1、表:table1(FId,Fclass,Fscore),用最高效最简单的SQL列出各班成绩最高的列表,显示班级,成绩两个字段。select fclass,max(fscore) from table1 group by fclass,fid2、有一个表table1有两个字段FID,Fno,字都非空,写一个SQL语句列出该表中一个FID对应多个不同的Fno的纪录。类如:101a1001101a1001102a1002102a1003103a1004104a1005104a1006105a1007105a1007105a100

2、7结果:102a1002102a1003104a1005104a1006select 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计算以下四种人:fsalary9999 and fage

3、 35fsalary9999 and fage 35fsalary 35fsalary 9999 and fage 9999 and fage 35then 1else 0end) as fsalary9999_fage35,sum(case when fsalary 9999 and fage 9999_fage35,sum(case when fsalary 35then 1else 0end) as fsalary35,sum(case when fsalary 9999 and fage 35then 1else 0end) as fsalary9999_fage9999 and fa

4、ge 35fsalary9999 and fage 35fsalary 35fsalary9999 and fage =2)3、select sum(case when fsalary9999 and fage35 then 1 else 0 end),sum(case when fsalary9999 and fage35 then 1 else 0 end),sum(case when fsalary35 then 1 else 0 end),sum(case when fsalary9999 and fage DNO。 而DNO - SNO却不存在,DNO - LOCATION, 因此关

5、键辽 SNO 对 LOCATION 函数决定是经过传递依赖 SNO - LOCATION 实现的。也就是说,SNO不直接决定非主属性LOCATION。解决目地:每个关系模式中不能留有传递依赖。解决方法:分为两个关系 S(SNO,SNAME,DNO),D(DNO,DNAME,LOCATION)注意:关系S中不能没有外关键字DNO。否则两个关系之间失去联系。7.变化表mutating table被DML语句正在修改的表需要作为DELETE CASCADE参考完整性限制的结果进行更新的表也是变化的限制:对于Session本身,不能读取正在变化的表限制表constraining table需要对参考完

6、整性限制执行读操作的表限制:如果限制列正在被改变,那么读取或修改会触发错误,可是修改其它列是允许的。8.在Oracle中,能够创立以下两种临时表:a。会话特有的临时表CREATE GLOBAL TEMPORARY ( )ON COMMIT PRESERVE ROWS;b。事务特有的临时表CREATE GLOBAL TEMPORARY ( )ON COMMIT DELETE ROWS;CREATE GLOBAL TEMPORARY TABLE MyTempTable所建的临时表虽然是存在的,可是你试一下insert 一条记录然后用别的连接登上去select,记录是空的,明白了吧。下面两句话再贴一

7、下:-ON COMMIT DELETE ROWS 说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行)-ON COMMIT PRESERVE ROWS 说明临时表是会话指定,当中断会话时ORACLE将截断表。9.-个人理解就是建立一个包,将常量或所谓的全局变量用包中的函数返回出来就能够了,摘抄一短网上的解决方法Oracle数据库程序包中的变量,在本程序包中能够直接引用,可是在程序包之外,则不能够直接引用。对程序包变量的存取,能够为每个变量配套相应的存储过程和函数来实现。3.2 实例-定义程序包create or replace package PKG_System_Constan

8、t is C_SystemTitle nVarChar2(100):=测试全局程序变量;-定义常数 -获取常数 Function FN_GetSystemTitleReturn nVarChar2; G_CurrentDate Date:=SysDate; -定义全局变量 -获取全局变量 Function FN_GetCurrentDateReturn Date; -设置全局变量 Procedure SP_SetCurrentDate(P_CurrentDate In Date);End PKG_System_Constant;/create or replace package body P

9、KG_System_Constant is -获取常数 Function FN_GetSystemTitleReturn nVarChar2IsBegin Return C_SystemTitle;End FN_GetSystemTitle; -获取全局变量 Function FN_GetCurrentDateReturn DateIsBegin Return G_CurrentDate;End FN_GetCurrentDate; -设置全局变量 Procedure SP_SetCurrentDate(P_CurrentDate In Date)IsBegin G_CurrentDate:=

10、P_CurrentDate;End SP_SetCurrentDate;End PKG_System_Constant;/3.3 测试-测试读取常数Select PKG_System_Constant.FN_GetSystemTitle From Dual;-测试设置全局变量DeclareBegin PKG_System_Constant.SP_SetCurrentDate(To_Date( .01.01,yyyy.mm.dd);End;/-测试读取全局变量Select PKG_System_Constant.FN_GetCurrentDate From Dual;10.select aa.x

11、 from aawhere not exists (select x from bb where aa.x = bb.x) ;以上语句同时使用到了aa中x的索引和的bb中x的索引11SGA是Oracle为一个实例分配的一组共享内存缓冲区,它包含该实例的数据和控制信息。SGA在实例启动时被自动分配,当实例关闭时被收回。数据库的所有数据操作都要经过SGA来进行。SGA中内存根据存放信息的不同,能够分为如下几个区域:a.Buffer Cache:存放数据库中数据库块的拷贝。它是由一组缓冲块所组成,这些缓冲块为所有与该实例相链接的用户进程所共享。缓冲块的数目由初始化参数DB_BLOCK_BUFFERS

12、确定,缓冲块的大小由初始化参数DB_BLOCK_SIZE确定。大的数据块可提高查询速度。它由DBWR操作。b. 日志缓冲区Redo Log Buffer:存放数据操作的更改信息。它们以日志项(redo entry)的形式存放在日志缓冲区中。当需要进行数据库恢复时,日志项用于重构或回滚对数据库所做的变更。日志缓冲区的大小由初始化参数LOG_BUFFER确定。大的日志缓冲区可减少日志文件I/O的次数。后台进程LGWR将日志缓冲区中的信息写入磁盘的日志文件中,可启动ARCH后台进程进行日志信息归档。c. 共享池Shared Pool:包含用来处理的SQL语句信息。它包含共享SQL区和数据字典存储区。

13、共享SQL区包含执行特定的SQL语句所用的信息。数据字典区用于存放数据字典,它为所有用户进程所共享。12.使用分区方式建立的表叫分区表范围分区每个分区都由一个分区键值范围指定(对于一个以日期列作为分区键的表,“ 年 1 月”分区包含分区键值为从“ 年 1 月 1 日”到“ 年 1 月 31 日”的行)。列表分区每个分区都由一个分区键值列表指定(对于一个地区列作为分区键的表,“北美”分区可能包含值“加拿大”“美国”和“墨西哥”)。分区功能经过改进可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。一般,分区能够使某些查询以及维护操作的性能大大提高。另外,分区还能够极大简化常见的管理任务。

14、经过分区,数据库设计人员和管理员能够解决前沿应用程序带来的一些难题。分区是构建千兆字节数据系统或超高可用性系统的关键工具。13回复的方法:一.使用冷备份,直接将冷备份的文件全部COPY到原先的目录下,在从新启动数据库就能够二.使用归档日志,1.启动数据库NOMOUNT2.创立控制文件,控制文件指定数据文件和重做日志文件的位置.3.使用RECOVER DATABASE using backup controlfile until cancel 命令回复数据库,这时能够使用归档日志4.ALETER DATABASE OPEN RESETLOGS;5.重新备份数据库和控制文件14的话参考RMAN的使用手册15略

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服