华为面试题附答案OracleDBA数据库管理员JAVA程序员架构师必看

上传人:w****4 文档编号:51452963 上传时间:2022-01-26 格式:DOCX 页数:11 大小:16.10KB
收藏 版权申诉 举报 下载
华为面试题附答案OracleDBA数据库管理员JAVA程序员架构师必看_第1页
第1页 / 共11页
华为面试题附答案OracleDBA数据库管理员JAVA程序员架构师必看_第2页
第2页 / 共11页
华为面试题附答案OracleDBA数据库管理员JAVA程序员架构师必看_第3页
第3页 / 共11页
资源描述:

《华为面试题附答案OracleDBA数据库管理员JAVA程序员架构师必看》由会员分享,可在线阅读,更多相关《华为面试题附答案OracleDBA数据库管理员JAVA程序员架构师必看(11页珍藏版)》请在装配图网上搜索。

1、华为面试题附答案OracleDBA数据库管理员 JAVA程序员架构师必看DBA数据库管理员JAVA程序员架构师必看一、技术问题部分数据库部分1、表空间的管理方式有哪几种数据字典管理方式本地文件管理方式 2、谈谈你对 索引的理解 索引是若干数据行的关键字的列表,查询数据 时,通过索引中的关键字可以快速定位到要访问的记录所在 的数据块,从而大大减少读取数据块的I/O次数,因此可以显著提高性能。3、说说索引的组成 索引列、rowid 4、分区表用过么谈 谈分区表的应用 分区表在对表的 DML的并行处理上有极 大得优势,而且可以一部分设为只读,用在销售记录,医院 处方等地方5、你对分区表的理解怎样截断

2、分区表一个分区 的记录 一个分区表有一个或多个分区,每个分区通过使用 范围分区、散列分区、或组合分区分区的行分区表中的每一个分区为一个段,可各自位于不同的表空间中对于同时能够使用几个进程进行查询或操作的大型表分区非常有用 alter table table_name truncate partition partition_name; 6、物理 文件有哪几种控制文件包含了什么信息1)数据文件2)控制文件3)日志文件包含维护和验证有选举权据库完整性 的必要信息、例如,控制文件用于识别数据文件和重做日志 文件,一个有选举权据库至少需要一个控制文件7、表空间用完了如何增加三种种扩展方式1增加数据文件

3、altertablespace 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 的语法

4、DECODEvalue,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 是一

5、个 DDL语言,向其他所有的 DDL 语言一样,他将被隐式提交,不能对 TRUNCATE使用 ROLLBACK 命令。3、TRUNCATE将重新设置高水平线和所有的索引在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比DELETE操作后的表要快得多。4、TRUNCATE不能触发任何 DELETE触发器。5、不能授予任何人清空他人的表的权限。6、当表被清空后表和表的索引讲重新设置成初始大 小,而delete则不能。7、不能清空父表。11、谈谈你对事务的理解 ORACLE事务从COMMIT、ROLLBACK、连接到数据库或开始第一 条可执行的SQL语 句时开始,到一条 COMMIT、

6、ROLLBACK 语句或退由 数 据库时结束。如果在一个事务中包含 DDL语句,则在DDL语句的 前 后都会隐含地执行 COMMIT语句,从而开始或结束一个事 务。如果一个事务由于莫些故障或者由于用户改变主意而 必须在提交前取消它,则数据库被恢复到这些语句和过程 执行之前的状态。利用ROLLBACK语句可以在COMMIT命令前随时撤 消或回退一个事务。可以回退整个事务,也可以会退部分事务,但是不能回 退一个已经被提交的事务。回退部分事务的ROLLBACK 命令为 ROLLBACK tosavepoint存储点名 存储点是用户放入事务中的标记,用来 表示一个可被回退的位置。存储点通过在事务中放入

7、一个SAVEPOINT命令而被插入。该命令的语法是 SAVEPOINT存储点名如果在 ROLLBACK 语句中没有给由存储点名,则整个事务被回 退。12、给表A加一列abc 口述 数据库正在应用时应先使 数据库处于静默状态再alter table a add abc varchar210 , 如果不是就直接用13、客户端连接服务器需要修改什么文件tnsname.ora, listener.ora 14、索引重建的概念说说索引重建 的意义 当我们创建索引时,oracle会为索引创建索引树,表 和索引树通过rowid伪列来定位数据。当表里的数据发生更新时,oracle会自动维护索引树。但是在索引树

8、中没有更新操作,只有删除和插入操作。例如在莫表id列上创建索引,奥表id列上有值“101: 当我将“101更新为“110时,oracle同时会来更新索引树,但是oracle先将索引树中的“101标示为删除(实际并未删除, 只是标示一下),然后再将“110写到索引树中。如果表更新比较频繁,那么在索引中删除标示会越来越 多,这时索引的查询效率必然降低,所以我们应该定期重建索弓来消除索引中这些删除标记。一般不会选择先删除索引,然后再重新创建索引,而是 rebuild 索引。在rebuild期间,用户还可以使用原来的索引,并且rebuild 新的索引时也会利用原来的索引信息,这样重建索引会块一 些。1

9、5、你对游标的理解,游标的分类,使用方法 游标是结果 集数据中的指针,作用是为遍历结果集时,存储每条记录的结 果,1.声明游标,2.打开游标,3.提取游标,4.关闭游标 游标for 循环 显式游标,隐式游标,游标变量16、存储过程的用法在存储过程中异常的处理,分类举两个预定义异常的例子存储过程是预编译数据库SQL的集合存储过程是预编译过的,执行时勿须编译,执行速度更快,存储过程封装了一批 SQL语句,便于维护数据的完整性与一致性。并且可以多次调用。异常自 定义,预定义,非 预定义 No_Data_Found Too_Many_Rows CASE_NOT_FOUND 17、谈谈你对分区索 引的理

10、解,说说分类和区别 分区表和一般表一样可以建立索 引,分区表可以创建局部索引和全局索引。当分区中由现许多事务并且要保证所有分区中的数据记 录的唯一性时采用全局索引。1.3.1.局部索引分区的建立 SQL create index dinya_idx_t on dinya_testitem_id 2 local 3 4 partition idx_1 tablespace dinya_space01, 5 partition idx_2 tablespace dinya_space02, 6 partition idx_3 tablespace dinya_space03 7 ; Index c

11、reated. SQL看查询的执行计划,从下面的执行计划可以看生,系统已经使用了索引SQL select * from dinya_testpartitionpart_01 t where t.item_id12; Execution Plan 0 SELECT STATEMENT OptimizerCHOOSE Cost2 Card1 Bytes187 1 0 TABLE ACCESS BY LOCAL INDEX ROWID OF DINYA_TEST Cost 2 Card1 Bytes187 2 1 INDEX RANGE SCAN OF DINYA_IDX_T NON-UNIQUE

12、Cost1 Card1 Statistics 0recursive calls 0 db block gets 4 consistent gets 0 physical reads 0 redo size 334 bytes sent via SQL*Net to client 309 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 1 sorts memory 0 sorts disk 2 rows processed SQL 1.3.2.全局索引分区的建立全局索引建立时global子句允许

13、指定索引的范围值,这个范围值为索引字段 的范围值 SQL create index dinya_idx_t on dinya_testitem_id 2 global partition by rangeitem_id 34 partition idx_1 values lessthan 1000 tablespace dinya_space01, 5 partition idx_2 valuesless than 10000 tablespace dinya_space02, 6 partition idx_3 values less than maxvalue tablespace din

14、ya_space03 7 ; Index created. SQL本例中对表的item_id字段建立索引分区, 当然也可以不指定索引分区名直接对整个表建立索引,如SQLcreate index dinya_idx_t on dinya_testitem_id; Index created. SQL 同样的,对全局索引根据执行计划可以看由索引已经 可以使用 SQL select * from dinya_test t where t.item_id12; Execution Plan 0 SELECT STATEMENT OptimizerCHOOSE Cost2 Card3 Bytes561

15、1 0 TABLE ACCESS BY GLOBAL INDEX ROWID OF DINYA_TEST Cost 2 Card3 Bytes561 2 1 INDEX RANGE SCAN OF DINYA_IDX_T NON-UNIQUE Cost1 Card3 Statistics5 recursive calls 0 db block gets 10 consistent gets 0 physical reads 0 redo size 420 bytes sent via SQL*Net to client 309 bytes received via SQL*Net from c

16、lient 2 SQL*Net roundtrips to/from client 3 sorts memory 0 sorts disk 5 rows processed 18、 仓1J 建用户 的语句 Create user user_name identified by password default tablespace tablespacename; grant create session to username; 19K谈谈你对实例的理解Oracle是用实例来进行数据库管理的,实例在用户和orale数据库之间充当中间层的角色。每当在服务器上启动数据库时,就在内存中创建一个 or

17、acle实例,即oracle为数据库分配内存和创建并启动一个 或多个oracle进程,然后由实例加载并打开数据库,最后由 这个实例来访问和控制硬盘中的数据文件。20、触发器中能用COMMIT,为什么 在触发器中不能使 用COMMIT ;等事务控制语句。因为触发器是事务触发的如果有事务控制语句就会影响 到触发它的事务。即连带触发它的语句之前的已经完成的没有提交的语句 都要受到影响。这是会影响到数据的一致性的。21、有几种表空间 数据表空间(永久表空间)、临时表 空间、撤销表空间22、归档模式与非归档模式为什么归档模式可以恢复到任意时刻归档是在重做日志文件被覆盖之前,将该重做日志文件通过复制操作系

18、统文件的方式,保存到指定的位置。保存下来的重做日志文件的集合被称为归档重做日志文 件,复制的过程被称为归档。在归档日志(ARCHIVELOG )模式下,ORACLE 对重 做日志文件进行归档操作。非归档日志(NOARCHIVELOG )模式下,不会对重做日 志文件进行归档操作由于非归档模式不会在覆盖之前保存,这样就造成了数 据库在一定时间之前的重做日志文件丢失,也就不能恢复到 被覆盖之前。而归档模式在任意时间上都有重做日志文件,故可以恢 复到任意时刻。二、技术问题(JAVA部分)1、Struts和Hibernate分别 属于持久层,用例层,表示层的那一层Struts是表示层,Hibernate

19、是持久层。2、Struts里如何体现 MVC模式Html或jsp文件是MVC 模式中的视图层 ActionForm 是 MVC 模式中的模式层 Action是MVC模式中的控制层通过控制层可以对视图层和模式层进行业务逻辑的处理3、用Struts做过那些项目4、谈谈对Struts的认识 Struts跟Tomcat诸多Apache项目一样, 是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。除此之外,Struts的优点主要集中体现在两个方面 Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效 率。另外,就目前国内的 JSP开发者而言,除了使用J

20、SP自带的常用标记外,很少开发自己的标记,或许 Struts是一个很好的起点关于页面导航,我认为那将是今后的一个发展方向, 事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联 系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现 得更加明显。但是我觉得它虽然还有不少缺点,但它是一种非常 优秀的J2EE MVC实现方式,对项目的开发有很大的帮助。5、String在JAVA里是固定长度的吗为什么可以用连接String在JAVA中是有固定长度的可以用”连接的原因是Java语言提供对字符串串联符号(”)”和其他对象到字符串的转换的特殊

21、支持。字符串串联是通过StringBuilder (或 StringBuffer)类及其append方法实现的。再通过调用 StingBuffer 中的 toString 方法,将 StringBuffer 的对象转换String的对象。6、String和StringBuffer的区别 STRING的长度是不可 变的,STRINGBUFFER的长度是可变的。如果你对字符串中的内容经常进行操作,特别是内容要 修改时,那么使用 StringBuffer ,如果最后需要 String ,那么 使用StringBuffer的toString方法7、使用过什么集合类型你一般用什么类 集合类型 List,

22、Set,Map 一般用 Arraylist,Vector,HashMap,HashTable,HashSet,TreeSet 8 、 ArrayList里如何取得对象的长度通ArrayList中的size可以取得对象长度。9、事务的4个特性 原子性、一致性、持久性、隔离性。10、Oracle用了多久 char与varchar2的区别 Char是固 定长度字符串,varchar2是变长字符串。比如在 char (10)和varchar2 (10)中插入test字符串 那么char (10)类型长度就是10,不足的用空格补齐,而varchar2 (10)类型长度就是 4。11、Oracle用什么获得字符集 Userenv函数 SELECT userenv language FROM DUAL; 12、查询需要 COMMIT 吗插入呢 查询不需要,插入需要,因为做DML操作时需要 commit命令确认事务更改。13、在 Oracle中你用什么工具执行 SQL语句 PLSQL Developer,SQLPLUS 等三、非技术问题部分1、自我介绍2、你对由差的看法 3、你对加班的看法 4、你认为你适合IT业吗5、你觉得你的优 势在什么地方 6、你有什么其他的爱好7、你能吃苦吗 DBA数据库管理员JAVA程序员架构师必看

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!