oracle数据库面试题目汇总,oracle面试必会6题经典
本篇文章给大家谈谈oracle数据库面试题目汇总,以及oracle面试必会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值。
语法
NVL(eExpression1, eExpression2)
参数
eExpression1, eExpression2
如果 eExpression1的计算结果为 null值,则 NVL()返回 eExpression2。如果 eExpression1的计算结果不是 null值,
则返回 eExpression1。eExpression1和 eExpression2可以是任意一种数据类型。如果 eExpression1与 eExpression2
的结果皆为 null值,则 NVL()返回.NULL.。
返回值类型
字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null值
说明
在不支持 null值或 null值无关紧要的情况下,可以使用 NVL()来移去计算或操作中的 null值。
select nvl(a.name,空得) as name from student a join school b on a.ID=b.ID
注意:两个参数得类型要匹配
3.Oracle中char和varchar2数据类型有什么区别?有数据”test”分别存放到10)和varchar2(10)类型的字段中,
其存储长度及类型有何区别?
答案:
区别: 1).CHAR的长度是固定的,而VARCHAR2的长度是可以变化的,比如,存储字符串“test",对于CHAR(10),
;
oracle数据库面试题
1、b没有访问表employee的权限,或者有权限但是在做desc时没有加用户名在表前面。
2、在建表时设置了max extent参数导致了表extent数满了之后不能再进行扩展。
3、tablespace full表示该表空间没有可扩展的块了,这是设置了datafile为autoextend off后或者系统中没有可扩展的物理空间导致。
4、首先我需要有一张主表(pri)拥有关键字段(id),然后分两种情况,一种是目标表不存在的情况那么我需要建立目标表,如:create table oerder(id not null,aa char(8),id_p int, primary key(id),forergn key(id_p) references pri(id));。另一种情况是目标表存在,则增加约束条件:alter table order add foreign key(id_p) references pri(id);
5、pct_increase代表的是表在做了第一次extent后,下次再扩展时的增量,它是一个百分比值,也就是说,如果你设置了该值为50那么在表下一次扩展时扩展量就增加为150%。这是个很“恐怖”的设置,如果你使用了它那么有可能你会发现你的表空间很快就没有可扩展的地方了。
6、英文不好,题目意思没读懂。
7、这题还是分两种情况,一种是nt server就是你的database server,那么你可能需要先在nt server上确认listener已经启动,然后进行ping和tracert看看是否是网络问题,最后检查pc上的tnsnames.ora配置文件是否正确,在pc上做tracerc看网络链接是否正常?检查pc上防火墙的设置等。如果nt server不是你的database server那么说明你的database server的网络链接是正常的,那么需要的就是:检查pc上的tnsnames.ora配置文件是否正确,在pc上做tracerc看网络链接是否正常,检查pc上防火墙的设置等。当然还有一种比较特殊的情况,在pc安装了64位win操作系统+32位的oracle时会发生在cmd下可以进行链接,但是使用oracle的其他连接方式如客户端,oem等等就会报tns错误,这是oracle本身的bug。
8、char和varchar2最根本的区别就在于一个是固定长度,另一个是可变长度。它们对空间的占用量是不同的,在同样长度的字符下char类型的需要用空字符补充不足的字符数,而varchar2则不会。当然运行效率上char占优。
9、这个太长,懒得打了。
oracle数据库面试问题
oracle数据库面试问题
Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了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)
;
oracle数据库面试题目汇总的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle面试必会6题经典、oracle数据库面试题目汇总的信息别忘了在本站进行查找哦。