付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DBA数据库管理员 JAVA程序员架构师必看一、技术问题部分 ( 数据库部分 )1、表空间的管理方式有哪几种?数据字典管理方式本地文件管理方式2、谈谈你对索引的理解?索引是若干数据行的关键字的列表,查询数据时,通过索引中的关键字可以快速定位到要访问的记录所在的数据块,从而大大减少读取数据块的I/O 次数,因此可以显著提高性能。3、说说索引的组成 ?索引列、 rowid4、分区表用过么?谈谈分区表的应用?分区表在对表的DML的并行处理上有极大得优势,而且可以一部分设为只读,用在销售记录,医院处方等地方!5、你对分区表的理解 ?怎样截断分区表一个分区的记录?一个分区表有一个或多个分区,每个分区通过
2、使用范围分区、散列分区、或组合分区分区的行分区表中的每一个分区为一个段,可各自位于不同的表空间中对于同时能够使用几个进程进行查询或操作的大型表分区非常有用alter table table_name truncate partition partition_name;6、物理文件有哪几种 ?控制文件包含了什么信息?1)数据文件2 )控制文件3 )日志文件包含维护和验证有选举权据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个有选举权据库至少需要一个控制文件7、表空间用完了如何增加 ?三种种扩展方式:1增加数据文件 alter tablespace name add dat
3、afile路径 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,the
4、n2,if3,then3,.,else),表示如果 value 等于if1时, DECODE函数的结果返回 then1,.,如果不等于任何一个if值,则返回else 。初看一下, DECODE只能做等于测试,但刚才也看到了,我们通过一些函数或计算替代 value ,是可以使 DECODE函数具备大于、小于或等于功能。还可以转化表结构!10、DELETE和 TRUNCATE的区别 ?答: 1、TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令 DELETE将被撤销,而 TRUNCATE则不会被撤销。2、TRUNCATE是一个 DDL语言,向其他所有的DDL语言一样,
5、他将被隐式提交,不能对 TRUNCATE使用 ROLLBACK命令。3、TRUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过 TRUNCATE操作后的表比 DELETE操作后的表要快得多。4、TRUNCATE不能触发任何DELETE触发器。5、不能授予任何人清空他人的表的权限。6、当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。7、不能清空父表。11、谈谈你对事务的理解 ?ORACLE事务从 COMMIT、ROLLBACK、连接到数据库或开始第一条可执行的 SQL语句时开始,到一条COMMIT、ROLLBACK语句或退出数据库时结束。如果在一
6、个事务中包含DDL语句,则在 DDL语句的前后都会隐含地执行COMMIT语句,从而开始或结束一个事务。如果一个事务由于某些故障或者由于用户改变主意而必须在提交前取消它,则数据库被恢复到这些语句和过程执行之前的状态。利用 ROLLBACK语句可以在 COMMIT命令前随时撤消或回退一个事务。可以回退整个事务,也可以会退部分事务,但是不能回退一个已经被提交的事务。回退部分事务的ROLLBACK命令为:ROLLBACK to savepoint存储点名存储点是用户放入事务中的标记,用来表示一个可被回退的位置。存储点通过在事务中放入一个SAVEPOINT命令而被插入。该命令的语法是:SAVEPOINT
7、 存储点名如果在 ROLLBACK语句中没有给出存储点名,则整个事务被回退。12、给表 A 加一列 abc 口述 ?数据库正在应用时应先使数据库处于静默状态再alter table a add abc varchar2(10),如果不是就直接用!13、客户端连接服务器需要修改什么文件?tnsname.ora ,listener.ora14、索引重建的概念 ?说说索引重建的意义 ?当我们创建索引时, oracle 会为索引创建索引树,表和索引树通过rowid( 伪列 ) 来定位数据。当表里的数据发生更新时,oracle 会自动维护索引树。但是在索引树中没有更新操作,只有删除和插入操作。例如在某表
8、 id 列上创建索引,某表id 列上有值“ 101”,当我将“ 101”更新为“110”时, oracle 同时会来更新索引树,但是oracle 先将索引树中的“ 101”标示为删除(实际并未删除,只是标示一下),然后再将“110”写到索引树中。如果表更新比较频繁,那么在索引中删除标示会越来越多,这时索引的查询效率必然降低,所以我们应该定期重建索引。来消除索引中这些删除标记。一般不会选择先删除索引,然后再重新创建索引,而是rebuild索引。在 rebuild期间,用户还可以使用原来的索引,并且rebuild新的索引时也会利用原来的索引信息,这样重建索引会块一些。15、你对游标的理解 , 游标
9、的分类 , 使用方法 ?游标是结果集数据中的指针, 作用是为遍历结果集时 , 存储每条记录的结果 ,1. 声明游标 ,2. 打开游标 ,3. 提取游标 ,4. 关闭游标游标 for 循环显式游标,隐式游标,游标变量!16、存储过程的用法 ?在存储过程中异常的处理, 分类 ?举两个预定义异常的例子?存储过程:是预编译数据库SQL的集合存储过程是预编译过的,执行时勿须编译,执行速度更快,存储过程封装了一批SQL语句,便于维护数据的完整性与一致性。并且可以多次调用。异常:自定义,预定义,非预定义No_Data_FoundToo_Many_Rows CASE_NOT_FOUND17、谈谈你对分区索引的
10、理解, 说说分类和区别 ?分区表和一般表一样可以建立索引,分区表可以创建局部索引和全局索引。当分区中出现许多事务并且要保证所有分区中的数据记录的唯一性时采用全局索引。局部索引分区的建立:SQL> create index dinya_idx_t on dinya_test(item_id)2 local3 (4 partition idx_1 tablespace dinya_space01,5 partition idx_2 tablespace dinya_space02,6 partition idx_3 tablespace dinya_space037 );Index crea
11、ted.SQL>看查询的执行计划,从下面的执行计划可以看出,系统已经使用了索引:SQL> select * from dinya_test partition(part_01) t where t.item_id=12;Execution Plan-0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=187)1 0 TABLE ACCESS (BY LOCAL INDEX ROWID) OF DINYA_TEST (Cost=2 Card=1 Bytes=187)2 1 INDEX (RANGE SCAN) OFDINY
12、A_IDX_T (NON-UNIQUE) (Cost=1Card=1)Statistics-0 recursive calls0 db block gets4 consistent gets0 physical reads0 redo size334 bytes sent via SQL*Net to client309 bytes received via SQL*Net from client2 SQL*Net roundtrips to/from client1 sorts (memory)0 sorts (disk)2 rows processedSQL>全局索引分区的建立全局索
13、引建立时 global子句允许指定索引的范围值,这个范围值为索引字段的范围值:SQL> create index dinya_idx_t on dinya_test(item_id)2 global partition by range(item_id)3 (4 partition idx_1 values less than (1000) tablespace dinya_space01,5 partition idx_2 values less than (10000) tablespace dinya_space02,6 partition idx_3 values less th
14、an (maxvalue) tablespace dinya_space037 );Index created.SQL>本例中对表的 item_id字段建立索引分区,当然也可以不指定索引分区名直接对整个表建立索引,如:SQL> create index dinya_idx_t on dinya_test(item_id);Index created.SQL>同样的,对全局索引根据执行计划可以看出索引已经可以使用:SQL> select * from dinya_test t where t.item_id=12;Execution Plan-0 SELECT STATE
15、MENT Optimizer=CHOOSE (Cost=2 Card=3 Bytes=561)1 0 TABLE ACCESS (BY GLOBAL INDEX ROWID) OF DINYA_TEST (Cost=2 Card=3 Bytes=561)2 1 INDEX (RANGE SCAN) OFDINYA_IDX_T (NON-UNIQUE) (Cost=1Card=3)Statistics-5 recursive calls0 db block gets10 consistent gets0 physical reads0 redo size420 bytes sent via SQ
16、L*Net to client309 bytes received via SQL*Net from client2 SQL*Net roundtrips to/from client3 sorts (memory)0 sorts (disk)5 rows processed18、创建用户的语句 ?Create user user_name identified by passworddefault tablespace tablespacename;grant create session to username;19、谈谈你对实例的理解 ?Oracle 是用实例来进行数据库管理的,实例在用
17、户和orale 数据库之间充当中间层的角色。每当在服务器上启动数据库时,就在内存中创建一个oracle实例,即oracle为数据库分配内存和创建并启动一个或多个oracle 进程,然后由实例加载并打开数据库,最后由这个实例来访问和控制硬盘中的数据文件。20、触发器中能用 COMMIT,为什么 ?在触发器中不能使用COMMIT;等事务控制语句。因为触发器是事务触发的如果有事务控制语句就会影响到触发它的事务。即连带触发它的语句之前的已经完成的没有提交的语句都要受到影响。这是会影响到数据的一致性的。21、有几种表空间 ?数据表空间(永久表空间)、临时表空间、撤销表空间22、归档模式与非归档模式 ?为
18、什么归档模式可以恢复到任意时刻?归档是在重做日志文件被覆盖之前,将该重做日志文件通过复制操作系统文件的方式,保存到指定的位置。保存下来的重做日志文件的集合被称为归档重做日志文件,复制的过程被称为归档。在归档日志( ARCHIVELOG)模式下, ORACLE对重做日志文件进行归档操作。非归档日志( NOARCHIVELOG)模式下,不会对重做日志文件进行归档操作。由于非归档模式不会在覆盖之前保存,这样就造成了数据库在一定时间之前的重做日志文件丢失,也就不能恢复到被覆盖之前。而归档模式在任意时间上都有重做日志文件,故可以恢复到任意时刻。二、技术问题( JAVA部分)1、Struts和 Hiber
19、nate 分别属于持久层 , 用例层 , 表示层的那一层 ?Struts是表示层, Hibernate是持久层。2、Struts里如何体现 MVC模式 ?Html 或 jsp 文件是 MVC模式中的视图层ActionForm 是 MVC模式中的模式层Action 是 MVC模式中的控制层通过控制层可以对视图层和模式层进行业务逻辑的处理3、用 Struts做过那些项目 ?4、谈谈对 Struts的认识 ?Struts跟 Tomcat 诸多 Apache 项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。除此之外, Struts的优点主要集中体现在两个方面:Taglib
20、和页面导航。Taglib是 Struts的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的 JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。但是我觉得它虽然还有不少缺点,但它是一种非常优秀的J2EE MVC实现方式,对项目的开发有很大的帮助。5、String在 JAVA里是固定长度的吗 ?为什么可以用” +”连接 ?String在 JAVA中是有固定长度的可以用” +”连接的原因是Java 语言提供对字符串串联符号("+" )和其他对象到字符串的转换的特殊支持。字符串串联是通过StringBuilder(或StringBuffer)类及其 append 方法实现的。再通过调用StingBuffer中的toString方法,将 StringBuffer的对象转换 String的对象。6、String和 StringBuffer的区别 ?STRING的长度是不可变的, STRINGBUFFER的长度是可变的。如果你对字符串中的内容经常进行操作,特别是内容要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业变相绩效考核制度
- 审计质控制度
- 企业各岗位绩效考核制度
- 会计审计对账制度
- 危化品人员培训教育制度
- 千分制绩效考核制度
- 国企审计委员会制度
- 便民商圈建设绩效考核制度
- 区审计局信息化方面制度
- 审计服务时限管理制度
- 风电施工安全培训课件
- 学生社交能力与同伴关系的培养
- 脱硫石膏处置协议书
- 景观照明设施运行维护经费估算
- 航天禁(限)用工艺目录(2021版)-发文稿(公开)
- 动物的呼吸和氧气运输
- 醛-亚胺-壳聚糖水凝胶的构筑及性能研究进展
- 无人机行业信息安全培训
- 管理会计学 第10版 课件 第4章 经营预测
- 2023年华南师范大学教师招聘考试历年真题库
- 2023年新改版教科版五年级下册科学全册练习题(一课一练)
评论
0/150
提交评论