![2023年华为面试题附答案OracleDBA数据库管理员JAVA程序员架构师必看_第1页](http://file4.renrendoc.com/view/884837814562001df0902d99730699dd/884837814562001df0902d99730699dd1.gif)
![2023年华为面试题附答案OracleDBA数据库管理员JAVA程序员架构师必看_第2页](http://file4.renrendoc.com/view/884837814562001df0902d99730699dd/884837814562001df0902d99730699dd2.gif)
![2023年华为面试题附答案OracleDBA数据库管理员JAVA程序员架构师必看_第3页](http://file4.renrendoc.com/view/884837814562001df0902d99730699dd/884837814562001df0902d99730699dd3.gif)
![2023年华为面试题附答案OracleDBA数据库管理员JAVA程序员架构师必看_第4页](http://file4.renrendoc.com/view/884837814562001df0902d99730699dd/884837814562001df0902d99730699dd4.gif)
![2023年华为面试题附答案OracleDBA数据库管理员JAVA程序员架构师必看_第5页](http://file4.renrendoc.com/view/884837814562001df0902d99730699dd/884837814562001df0902d99730699dd5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DBA数据库管理员JAVA程序员架构师必看一、ﻩ技术问题部分(数据库部分)1、ﻩ表空间的管理方式有哪几种?数据字典管理方式本地文献管理方式2、 谈谈你对索引的理解?索引是若干数据行的关键字的列表,查询数据时,通过索引中的关键字可以快速定位到要访问的记录所在的数据块,从而大大减少读取数据块的I/O次数,因此可以显著提高性能。3、 说说索引的组成?索引列、rowid4、ﻩ分区表用过么?谈谈分区表的应用?分区表在对表的DML的并行解决上有极大得优势,并且可以一部分设为只读,用在销售记录,医院处方等地方!!5、ﻩ你对分区表的理解?如何截断分区表一个分区的记录?一个分区表有一个或多个分区,每个分区通过使用范围分区、散列分区、或组合分区分区的行分区表中的每一个分区为一个段,可各自位于不同的表空间中对于同时可以使用几个进程进行查询或操作的大型表分区非常有用altertabletable_nametruncatepartitionpartition_name;6、 物理文献有哪几种?控制文献包含了什么信息?1) 数据文献2)控制文献3)日记文献包含维护和验证有选举权据库完整性的必要信息、例如,控制文献用于辨认数据文献和重做日记文献,一个有选举权据库至少需要一个控制文献7、ﻩ表空间用完了如何增长?三种种扩展方式:1增长数据文献ﻩaltertablespacenameadddatafile‘途径’size4M;2ﻩ扩展数据文献大小alterdatabasedatafile‘途径’resize4M;3ﻩ把数据文献设为自动增长alterdatabasedatafile‘途径’autoextendonnext1Mmaxsize20M;8、 SGA包含几部分?Sharedpool(共享池),DataBaseBufferCache(数据缓冲区)RedoLogBuffer(重做日记缓冲区),LargePool,大池,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在各种表上无论是大的还是小的都非常快。假如有ROLLBACK命令DELETE将被撤消,而TRUNCATE则不会被撤消。2、TRUNCATE是一个DDL语言,向其他所有的DDL语言同样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。3、TRUNCATE将重新设立高水平线和所有的索引。在对整个表和索引进行完全浏览时,通过TRUNCATE操作后的表比DELETE操作后的表要快得多。4、TRUNCATE不能触发任何DELETE触发器。5、不能授予任何人清空别人的表的权限。6、当表被清空后表和表的索引讲重新设立成初始大小,而delete则不能。7、不能清空父表。11、ﻩ谈谈你对事务的理解?ORACLE事务从COMMIT、ROLLBACK、连接到数据库或开始第一条可执行的SQL语句时开始,到一条COMMIT、ROLLBACK语句或退出数据库时结束。假如在一个事务中包含DDL语句,则在DDL语句的前后都会隐含地执行COMMIT语句,从而开始或结束一个事务。假如一个事务由于某些故障或者由于用户改变主意而必须在提交前取消它,则数据库被恢复到这些语句和过程执行之前的状态。运用ROLLBACK语句可以在COMMIT命令前随时撤消或回退一个事务。可以回退整个事务,也可以会退部分事务,但是不能回退一个已经被提交的事务。回退部分事务的ROLLBACK命令为:ROLLBACKtosavepoint存储点名存储点是用户放入事务中的标记,用来表达一个可被回退的位置。存储点通过在事务中放入一个SAVEPOINT命令而被插入。该命令的语法是:SAVEPOINT存储点名假如在ROLLBACK语句中没有给出存储点名,则整个事务被回退。12、ﻩ给表A加一列abc口述?数据库正在应用时应先使数据库处在静默状态再altertableaaddabcvarchar2(10),假如不是就直接用!!13、 客户端连接服务器需要修改什么文献?tnsname.ora,listener.ora14、ﻩ索引重建的概念?说说索引重建的意义?当我们创建索引时,oracle会为索引创建索引树,表和索引树通过rowid(伪列)来定位数据。当表里的数据发生更新时,oracle会自动维护索引树。但是在索引树中没有更新操作,只有删除和插入操作。例如在某表id列上创建索引,某表id列上有值“101”,当我将“101”更新为“110”时,oracle同时会来更新索引树,但是oracle先将索引树中的“101”标示为删除(实际并未删除,只是标示一下),然后再将“110”写到索引树中。假如表更新比较频繁,那么在索引中删除标示会越来越多,这时索引的查询效率必然减少,所以我们应当定期重建索引。来消除索引中这些删除标记。一般不会选择先删除索引,然后再重新创建索引,而是rebuild索引。在rebuild期间,用户还可以使用本来的索引,并且rebuild新的索引时也会运用本来的索引信息,这样重建索引会块一些。15、ﻩ你对游标的理解,游标的分类,使用方法?游标是结果集数据中的指针,作用是为遍历结果集时,存储每条记录的结果,1.声明游标,2.打开游标,3.提取游标,4.关闭游标游标for循环显式游标,隐式游标,游标变量!16、 存储过程的用法?在存储过程中异常的解决,分类?举两个预定义异常的例子?存储过程:是预编译数据库SQL的集合存储过程是预编译过的,执行时勿须编译,执行速度更快,存储过程封装了一批SQL语句,便于维护数据的完整性与一致性。并且可以多次调用。异常:自定义,预定义,非预定义No_Data_FoundToo_Many_RowsCASE_NOT_FOUND17、ﻩ谈谈你对分区索引的理解,说说分类和区别?分区表和一般表同样可以建立索引,分区表可以创建局部索引和全局索引。当分区中出现许多事务并且要保证所有分区中的数据记录的唯一性时采用全局索引。1.3.1.局部索引分区的建立:SQL>createindexdinya_idx_tondinya_test(item_id)2local3(4partitionidx_1tablespacedinya_space01,5partitionidx_2tablespacedinya_space02,6partitionidx_3tablespacedinya_space037);Indexcreated.SQL>看查询的执行计划,从下面的执行计划可以看出,系统已经使用了索引:SQL>select*fromdinya_testpartition(part_01)twheret.item_id=12;ExecutionPlan----------------------------------------------------------0SELECTSTATEMENTOptimizer=CHOOSE(Cost=2Card=1Bytes=187)10TABLEACCESS(BYLOCALINDEXROWID)OF’DINYA_TEST’(Cost=2Card=1Bytes=187)21INDEX(RANGESCAN)OF’DINYA_IDX_T’(NON-UNIQUE)(Cost=1Card=1)Statistics----------------------------------------------------------0recursivecalls0dbblockgets4consistentgets0physicalreads0redosize334bytessentviaSQL*Nettoclient309bytesreceivedviaSQL*Netfromclient2SQL*Netroundtripsto/fromclient1sorts(memory)0sorts(disk)2rowsprocessedSQL>1.3.2.全局索引分区的建立全局索引建立时global子句允许指定索引的范围值,这个范围值为索引字段的范围值:SQL>createindexdinya_idx_tondinya_test(item_id)2globalpartitionbyrange(item_id)3(4partitionidx_1valueslessthan(1000)tablespacedinya_space01,5partitionidx_2valueslessthan(10000)tablespacedinya_space02,6partitionidx_3valueslessthan(maxvalue)tablespacedinya_space037);Indexcreated.SQL>本例中对表的item_id字段建立索引分区,当然也可以不指定索引分区名直接对整个表建立索引,如:SQL>createindexdinya_idx_tondinya_test(item_id);Indexcreated.SQL>同样的,对全局索引根据执行计划可以看出索引已经可以使用:SQL>select*fromdinya_testtwheret.item_id=12;ExecutionPlan----------------------------------------------------------0SELECTSTATEMENTOptimizer=CHOOSE(Cost=2Card=3Bytes=561)10TABLEACCESS(BYGLOBALINDEXROWID)OF’DINYA_TEST’(Cost=2Card=3Bytes=561)21INDEX(RANGESCAN)OF’DINYA_IDX_T’(NON-UNIQUE)(Cost=1Card=3)Statistics----------------------------------------------------------5recursivecalls0dbblockgets10consistentgets0physicalreads0redosize420bytessentviaSQL*Nettoclient309bytesreceivedviaSQL*Netfromclient2SQL*Netroundtripsto/fromclient3sorts(memory)0sorts(disk)5rowsprocessed18、ﻩ创建用户的语句?Createuseruser_nameidentifiedbypassworddefaulttablespacetablespacename;grantcreatesessiontousername;19、 谈谈你对实例的理解?Oracle是用实例来进行数据库管理的,实例在用户和orale数据库之间充当中间层的角色。每当在服务器上启动数据库时,就在内存中创建一个oracle实例,即oracle为数据库分派内存和创建并启动一个或多个oracle进程,然后由实例加载并打开数据库,最后由这个实例来访问和控制硬盘中的数据文献。20、ﻩ触发器中能用COMMIT,为什么?在触发器中不能使用COMMIT;等事务控制语句。由于触发器是事务触发的假如有事务控制语句就会影响到触发它的事务。即连带触发它的语句之前的已经完毕的没有提交的语句都要受到影响。这是会影响到数据的一致性的。21、ﻩ有几种表空间?数据表空间(永久表空间)、临时表空间、撤消表空间22、 归档模式与非归档模式?为什么归档模式可以恢复到任意时刻?归档是在重做日记文献被覆盖之前,将该重做日记文献通过复制操作系统文献的方式,保存到指定的位置。保存下来的重做日记文献的集合被称为归档重做日记文献,复制的过程被称为归档。在归档日记(ARCHIVELOG)模式下,ORACLE对重做日记文献进行归档操作。非归档日记(NOARCHIVELOG)模式下,不会对重做日记文献进行归档操作。由于非归档模式不会在覆盖之前保存,这样就导致了数据库在一定期间之前的重做日记文献丢失,也就不能恢复到被覆盖之前。而归档模式在任意时间上都有重做日记文献,故可以恢复到任意时刻。二、技术问题(JAVA部分)1、 Struts和Hibernate分别属于持久层,用例层,表达层的那一层?Struts是表达层,Hibernate是持久层。2、 Struts里如何体现MVC模式?Html或jsp文献是MVC模式中的视图层ActionForm是MVC模式中的模式层Action是MVC模式中的控制层通过控制层可以对视图层和模式层进行业务逻辑的解决3、 用Struts做过那些项目?4、 谈谈对Struts的结识?Struts跟Tomcat诸多Apache项目同样,是开源软件,这是它的一大优点。使开发者能更进一步的了解其内部实现机制。除此之外,Struts的优点重要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。此外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。关于页面导航,我认为那将是此后的一个发展方向,事实上,这样做,使系统的脉络更加清楚。通过一个配置文献,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。特别是当另一批开发者接手这个项目时,这种优势体现得更加明显。但是我觉得它虽然尚有不少缺陷,但它是一种非常优秀的J2EEMVC实现方式,对项目的开发有很大的帮助。5、ﻩString在JAVA里是固定长度的吗?为什么可以用”+”连接?String在JAVA中是有固定长度的可以用”+”连接的因素是Java语言提供对字符串串联符号("+")和其他对象到字符串的转换的特殊支持。字符串串联是通过StringBuilder(或StringBuffer)类及其append方法实现的。再通过调用StingBuffer中的toString方法,将StringBuffer的对象转换String的对象。6、 String和StringBuffer的区
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年三年级品社下册《马路不是游戏场》说课稿 山东版
- 2024-2025学年高中地理 第4章 旅游与区域的发展 第1节 旅游业的发展及其对区域的影响说课稿 中图版选修3
- Unit 1 Growing up 单元说课稿-2024-2025学年高中英语外研版(2019)选择性必修第二册
- 下城区汽车租赁合同范本
- 保安奖罚合同范例
- 医用耗材寄售合同范例
- 加贸合同范本
- 专利注册合同范本
- 人工智能购销合同范例
- 农膜质保期限合同范例
- 河南2025年河南职业技术学院招聘30人笔试历年参考题库附带答案详解
- 2025年长沙穗城轨道交通有限公司招聘笔试参考题库含答案解析
- 2024年湖南有色金属职业技术学院高职单招职业技能测验历年参考题库(频考版)含答案解析
- 2025年山东华鲁海运有限公司招聘笔试参考题库含答案解析
- 银川经济技术开发区2024年综合考核评价指标表及评分细则
- 品管圈PDCA改善案例-降低住院患者跌倒发生率
- 读书分享《给教师的建议》课件
- 《中小学校园食品安全和膳食经费管理工作指引》专题讲座
- 广东省茂名市2023-2024学年高一上学期物理期末试卷(含答案)
- 沙发市场需求与消费特点分析
- 2024统编版新教材道德与法治七年级全册内容解读课件(深度)
评论
0/150
提交评论