1、1 Servlet 的生命周期Servlet 生命周期分为三个阶段:1,初始化阶段 调用 init()方法2,响应客户请求阶段 调用 service()方法3,终止阶段 调用 destroy()方法在 Servlet 的整个生命周期内,init()方法只被调用一次。2 Oracle 中 1403 指的是什么错误,怎样解决未找到数据3 C 语言中静态属性与非静态属性的区别,4 线程,进程进程是执行程序的实例。例如,当你运行记事本程序(Nodepad)时,你就创建了一个用来容纳组成 Notepad.exe 的代码及其所需调用动态链接库的进程。一个进程可以有多个线程。线程是不能独立拥有系统资源的。是
2、要依赖于进程而存在的,一个进程是可以包含多个线程的,也可以只有一个线程。5 什么是工厂模式,优点是什么, 怎样调用的public abstract class Product /产品类的公共方法 public void method1() /业务逻辑处理 /抽象方法 public abstract void method2(); public class ConcreteProduct1 extends Product public void method2() /业务逻辑处理 public class ConcreteProduct2 extends Product public void
3、method2() /业务逻辑处理 public abstract class Creator public abstract Product createProduct(Class c); / public abstract Product createProduct()public class ConcreteCreator extends Creator public Product createProduct(Class c) Product product=null; try product = (Product)Class.forName(c.getName().newInstan
4、ce(); catch (Exception e) /异常处理 return product; public class Client public static void main(String args) Creator creator = new ConcreteCreator(); Product product = creator.createProduct(ConcreteProduct1.class); /* * 继续业务处理 */ 简单工厂方法,没有抽象工厂,只有具体工厂依赖具体产品抽象工厂模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。public cl
5、ass Singleton private static final Singleton singleton = new Singleton(); /限制产生多个对象 private Singleton() /通过该方法获得实例对象 public static Singleton getSingleton() return singleton; /类中其他方法,尽量是 static public static void doSomething() 6 Oracle 中怎样建立权限全部权限grant all on 数据库名 to 用户名例如查询权限GRANT SELECTON authorsTO
6、 publicgo 其它权限GRANT INSERT, UPDATE, DELETEON authorsTO Mary, John, Tom7 你参加过什么样的项目,用到了哪些技术,都有什么样的功能,遇到过什么样的问题8 Ajax 的工作原理Ajax 的核心是 JavaScript 对象 XmlHttpRequest。该对象在 Internet Explorer 5 中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest 使您可以使用JavaScript 向服务器提出请求并处理响应,而不阻塞用户。Ajax 的原理简单来说通过 XmlHttpRequest 对象来向服务器
7、发异步请求,从服务器获得数据,然后用 javascript 来操作 DOM 而更新页面。这其中最关键的一步就是从服务器获得请求数据。要清楚这个过程和原理,我们必须对 XMLHttpRequest 有所了解。XMLHttpRequest 是 ajax 的核心机制,它是在 IE5 中首先引入的,是一种支持异步请求的技术。简单的说,也就是 javascript 可以及时向服务器提出请求和处理响应,而不阻塞用户。达到无刷新的效果。所以我们先从 XMLHttpRequest 讲起,来看看它的工作原理。首先,我们先来看看 XMLHttpRequest 这个对象的属性。它的属性有:onreadystatec
8、hange 每次状态改变所触发事件的事件处理程序。responseText 从服务器进程返回数据的字符串形式。responseXML 从服务器进程返回的 DOM 兼容的文档数据对象。status 从服务器返回的数字代码,比如常见的 404(未找到)和 200(已就绪)status Text 伴随状态码的字符串信息readyState 对象状态值0 (未初始化) 对象已建立,但是尚未初始化(尚未调用 open 方法)1 (初始化) 对象已建立,尚未调用 send 方法2 (发送数据) send 方法已调用,但是当前的状态及 http 头未知3 (数据传送中) 已接收部分数据,因为响应及 http
9、 头不全,这时通过responseBody 和 responseText 获取部分数据会出现错误,4 (完成) 数据接收完毕,此时可以通过通过 responseXml 和 responseText 获取完整的回应数据但是,由于各浏览器之间存在差异,所以创建一个 XMLHttpRequest 对象可能需要不同的方法。这个差异主要体现在 IE 和其它浏览器之间。下面是一个比较标准的创建XMLHttpRequest 对象的方法。function CreateXmlHttp() /非 IE 浏览器创建 XmlHttpRequest 对象if (window.XmlHttpRequest) xmlhtt
10、p = new XmlHttpRequest();/IE 浏览器创建 XmlHttpRequest 对象if (window.ActiveXObject) try xmlhttp = new ActiveXObject(“Microsoft.XMLHTTP“);catch (e) try xmlhttp = new ActiveXObject(“msxml2.XMLHTTP“);catch (ex) function Ustbwuyi() var data = document.getElementById(“username“).value;CreateXmlHttp();if (!xmlh
11、ttp) alert(“创建 xmlhttp 对象异常!“);return false;xmlhttp.open(“POST“, url, false);xmlhttp.onreadystatechange = function () if (xmlhttp.readyState = 4) document.getElementById(“user1“).innerHTML = “数据正在加载.“;if (xmlhttp.status = 200) document.write(xmlhttp.responseText);xmlhttp.send();如上所示,函数首先检查 XMLHttpRe
12、quest 的整体状态并且保证它已经完成(readyStatus=4),即数据已经发送完毕。然后根据服务器的设定询问请求状态,如果一切已经就绪(status=200),那么就执行下面需要的操作。对于 XmlHttpRequest 的两个方法,open 和 send,其中 open 方法指定了:a、向服务器提交数据的类型,即 post 还是 get。b、请求的 url 地址和传递的参数。c、传输方式,false 为同步,true 为异步。默认为 true。如果是异步通信方式(true),客户机就不等待服务器的响应;如果是同步方式(false),客户机就要等到服务器返回消息后才去执行其他操作。我们
13、需要根据实际需要来指定同步方式,在某些页面中,可能会发出多个请求,甚至是有组织有计划有队形大规模的高强度的 request,而后一个是会覆盖前一个的,这个时候当然要指定同步方式。Send 方法用来发送请求。知道了 XMLHttpRequest 的工作流程,我们可以看出,XMLHttpRequest 是完全用来向服务器发出一个请求的,它的作用也局限于此,但它的作用是整个 ajax 实现的关键,因为ajax 无非是两个过程,发出请求和响应请求。并且它完全是一种客户端的技术。而XMLHttpRequest 正是处理了服务器端和客户端通信的问题所以才会如此的重要。现在,我们对 ajax 的原理大概可以
14、有一个了解了。我们可以把服务器端看成一个数据接口,它返回的是一个纯文本流,当然,这个文本流可以是 XML 格式,可以是 Html,可以是 Javascript 代码,也可以只是一个字符串。这时候,XMLHttpRequest 向服务器端请求这个页面,服务器端将文本的结果写入页面,这和普通的 web 开发流程是一样的,不同的是,客户端在异步获取这个结果后,不是直接显示在页面,而是先由 javascript 来处理,然后再显示在页面。至于现在流行的很多 ajax 控件,比如 magicajax 等,可以返回DataSet 等其它数据类型,只是将这个过程封装了的结果,本质上他们并没有什么太大的区别。
15、9 怎样连接 Oracle 数据库,数据库连接池使用连接池的优点使用连接池的优点主要体现在两个方面:对数据库的连接统一进行配置、管理、监控,以及对数据库连接池的参数进行优化调整,同时对应用中没有关闭或其他原因造成没有关闭的数据库连接由连接池统一进行管理。便于应用的移植和后端数据库的切换,因为在应用中通过统一的 JNDI 获得数据库的连接,而具体连接的是哪一台机器上的数据库与应用无关。1. 开发中你遇到过哪些异常?2.怎么用语句把一个表的结构复制到令一个表里?create table new_table as select * from old_table; 3.说说你对抽象类和接口理解1、抽象
16、类和接口都不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向实现所有接口方法的类对象。2、抽象类要被子类继承,接口要被类实现。3、接口只能做方法申明,抽象类中可以做方法申明,也可以做方法实现4、接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。5、抽象类里的抽象方法必须全部被子类所实现,如果子类不能全部实现父类抽象方法,那么该子类只能是抽象类。同样,一个实现接口的时候,如不能全部实现接口方法,那么该类也只能为抽象类。6、抽象方法只能申明,不能实现。abstract void abc();不能写成 abstract void abc()。
17、7、抽象类里可以没有抽象方法8、如果一个类里有抽象方法,那么这个类只能是抽象类9、抽象方法要被实现,所以不能是静态的,也不能是私有的。10、接口可继承接口,并可多继承接口,但类只能单根继承。4.try catch finally 的执行顺序,和 finally 是在 trun 之前还是在之后执行。1、不管有木有出现异常,finally 块中代码都会执行; 不管有木有出现异常, 块中代码都会执行; 2、当 try 和 catch 中有 return 时,finally 任会执行; 3、finally 是在 return 表达式运算后前执行的,所以函数返回值是在 finally 表达式运算后前执行
18、的, 执行前确定的; 执行前确定的; 4、finally 中最好不要包含 return,否则程序会提前退出,返回值不是 try 或 return,否则程序会提前退出, 中保存的返回值。 catch 中保存的返回值。 5.tomact 的核心文件是什么?server.xml 是 tomcat 的核心配置文件,通过配置 server.xml 可以灵活设置 web 服务器的各项参数详细 http:/ 中配置 filter 和 listener,说说它们是干什么的?web.xml 里面可以配置 Filter 和 Listener,他们有什么区别,有什么共同点吗?应该在什么情况下使用他们? Filter
19、 是过滤器,过滤一些不友好或是你不想要的东东, Listener 是 Servlet 的监听器,可以监听客户端的请求、服务端的操作等。 通过监听器,可以自动激发一些操作。 Filter 可以实现对请求的过滤和重定向等,也就是说可以操作request 和 response,session 等对象,listner 只能监听到以上对象的属性的修改。 Filter 是 struts 的核心控制器,负责拦截所有用户请求。 listener 是监听器,通常都是监听并加载一些插件用的,比如 spring。log4j 等 Filter(过滤器 ):你可以写个类实现 Filter接口, 然后配置到 web.xm
20、l 中, 那么 Tomcat 在接受到 Http 请求后首先会调用 FilterChain中的第一个过滤器,为了能调用下个过滤器或真正的请求(servlet or jsp),所以你的实现类所实现的方法中必须要调用 chain.doFilter(request,response),不然会得到空白页面!过滤器通常用做处理乱码,权限控制 ,也可以管理 Hibernate 中的 session! Listener(监听器): 利用观察者模式实现,在 Tomcat 中,如果要对 application,session,request,response 等对象监听, 要实现类似*Listener 接口,再
21、配置到 web.xml 中,那么 Tomcat 在启动的时候就会把你写的这些监听类实例化成对象加入到一个集合中,此后对你要监听的对象操作时,都将会调用 listener 中的方法, 比如 HttpSessionListener 可以用来监听当前在线的所有用户! Filter 和 servlet 基本类似 可以用做 servlet 来用(struts2.0 就是这么干的) 有reqeust 请求才能运行 listener 是监听器 是系统启动就运行 一般监听都是用来事先加载系统文件的7.数据库中返回-1,是什么情况?8.java 中类的命名规范?9.数据库中 int char vchar 的存储
22、长度及区别。char 和 varchar 的长度都在 1 到 8000 之间,它们的区别在于 char 是定长字符数据,而 varchar 是变长字符数据。所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充。text 存储可变长度的非 Unicode数据,最大长度为 231-1(2,147,483,647)个字符。 后面三种数据类型和前面的相比,从名称上看只是多了个字母“n“,它表示存储的是 Unicode 数据类型的字符。字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与
23、汉字同时存在时容易造成混乱,Unicode 字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、nvarchar 的长度是在 1 到 4000 之间。和char、varchar 比较:nchar、 nvarchar 则最多存储 4000 个字符,不论是英文还是汉字;而 char、varchar 最多能存储 8000 个英文,4000 个汉字。可以看出使用nchar、 nvarchar 数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。使用 Int 数据狗昔存储数据的范围是从 -2 147 4
24、83 648 到 2 147 483 647(每一个值要求 4 个字节存储空间)。使用 Smallint 数据类型时,存储数据的范围从 -32 768 到 32 767(每一个值要求 2 个字节存储空间)。使用 Tinyint 数据类型时,存储数据的范围是从 0 到 255(每一个值要求 1 个字节存储空间) 。10.Weblogic Jobss Tomcat 的配置过程以及端口号。Tomcat server.xml11.用来截取数据库字符串的是什么。select substring(字段名,起始位置 ,截取位数) from 表比如select substring(abc,1,1) -结果为a
25、12.一个 char 中能够存储一个汉字吗。答:能,java 中的字符就是指 char 类型的变量,无论中文还是英文,都是占 2 个字节,因为都是用 Unicode 编码,一个 Unicode 编码就是 16 位,也就是 2 个字节。所以放一个中文是没问题的所以:public class Test public static void main(String args) String myName=“My name is 刺客 SEO“;char ke=刺; /合法的System.out.println(“我的姓氏为:“+ke); /输出:我的姓氏为:刺System.out.println(m
26、yName.substring(0, 1); /输出:MSystem.out.println(myName.substring(myName.length()-1, myName.length(); /输出:通substring 处理的最小单元就是一个字符,也就是一个 char 类型,2 个字节 。13.数据库中查询语句内连接和左外连接和实现及数据和显示。http:/ 网络通信类java 文件存取一个是字符流输出,一个是字节流输出从本质上讲,wirter/reader 和 inputstream/outputstream 的最大区别在于encode 和 decode. inputstream/
27、outputstream 直接对 byte进行操作,不会更改任何信息,原原本本的反应数据内容。 writer/reader 在操作时会进行 decode/encode. 它会根据你的系统属性file.encoding 来 decode 数据。比如你从文件中读取一行,用 reader.readLine()返回的string 是经过 decode 的数据。如果你的文件的 encoding 不等于你的 file.encoding 的值,就会产生编码错误。void write(byte b) 将 b.length 个字节从指定的 byte 数组写入此输出流。 void write(byte b, in
28、t off, int len) 将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。abstract void write(int b) 将指定的字节写入此输出流主要是为了解决国际化问题。如果你全不使用 e 语,那么用不用 reader 何 writer关系不大,试想将一个中文字符勇 stream 读取,那系统会首先将中文的两个字节一个一个读入,但输出的时候就不会将这两个字节再组合一起输出一个中文,而只会根据每个字节的实际字符显示,而我们看起来就变成乱码了。 InputStream、OutputStream 直接操作 byte 数组。 Reader、Writer 在操
29、作时会进行 decode、encode,会根据你的系统属性编码格式对数据进行编码或解码。但是当文件的编码格式与当前系统的不一致时,就需要做编码的转换。 spring 的 controler 怎么映射到 url数据库存储过程和函数区别tomcat 远程调试方法1:oracle 游标SQL 的游标是一种临时的数据库对象,即可以用来存放在数据库表中的数据行副本,也可以指向存储在数据库中的数据行的指针。游标提供了在逐行的基础上操作表中数据的方法。游标的一个常见用途就是保存查询结果,以便以后使用。游标的结果集是由 SELECT语句产生,如果处理过程需要重复使用一个记录集,那么创建一次游标而重复使用若干次
30、,比重复查询数据库要快的多。大部分程序数据设计语言都能使用游标来检索 SQL 数据库中的数据,在程序中嵌入游标和在程序中嵌入 SQL 语句相同http:/ SQL 语句。要求显示每个班级的学生人数。 (考点应该是 group by 前后字段要一致)3:sessionFactory 是什么?4:简述 SSH 或 SSI 做一个显示列表的全过程。 (我感觉他想听的是 Action 调用 service,service 调用 dao)5:oracle 分页技术1.open session will 是什么意思2.oracle 中 unix 命令是什么3.oracle 中存储过程 游标的写法4.接口和
31、抽象类的区别(简明扼要的解释)5.oracle 中修改表的命令是什么,修改字段的命令是什么6.单例模式解释是什么意思一、 7.说出 ArrayList, Vector, LinkedList 的区别技术问题部分( 数据库部分 )1、表空间的管理方式有哪几种?数据字典管理方式本地文件管理方式2、谈谈你对索引的理解?索引是若干数据行的关键字的列表,查询数据时,通过索引中的关键字可以快速定位到要访问的记录所在的数据块,从而大大减少读取数据块的 I/O 次数,因此可以显著提高性能。3、说说索引的组成?索引列、rowid4、分区表用过么?谈谈分区表的应用?分区表在对表的 DML 的并行处理上有极大得优势
32、,而且可以一部分设为只读,用在销售记录,医院处方等地方!5、你对分区表的理解?怎样截断分区表一个分区的记录?一个分区表有一个或多个分区,每个分区通过使用范围分区、散列分区、或组合分区分区的行分区表中的每一个分区为一个段,可各自位于不同的表空间中对于同时能够使用几个进程进行查询或操作的大型表分区非常有用alter table table_name truncate partition partition_name;6、物理文件有哪几种?控制文件包含了什么信息?1) 数据文件 2)控制文件 3)日志文件包含维护和验证有选举权据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个有
33、选举权据库至少需要一个控制文件7、表空间用完了如何增加?三种种扩展方式:1 增加数据文件 alter tablespace 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(重做日志缓冲区), Larg
34、e Pool,大池,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 在各种表上无论是大的还是小的都非
35、常快。如果有 ROLLBACK 命令DELETE 将被撤销,而 TRUNCATE 则不会被撤销。2、TRUNCATE 是一个 DDL 语言,向其他所有的 DDL 语言一样,他将被隐式提交,不能对 TRUNCATE 使用 ROLLBACK 命令。3、TRUNCATE 将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过 TRUNCATE 操作后的表比 DELETE 操作后的表要快得多。4、TRUNCATE 不能触发任何 DELETE 触发器。5、不能授予任何人清空他人的表的权限。6、当表被清空后表和表的索引讲重新设置成初始大小,而 delete 则不能。7、不能清空父表。11、
36、谈谈你对事务的理解?ORACLE 事务从 COMMIT、ROLLBACK、连接到数据库或开始第一条可执行的 SQL 语句时开始,到一条 COMMIT、ROLLBACK 语句或退出数据库时结束。如果在一个事务中包含 DDL 语句,则在 DDL 语句的前后都会隐含地执行 COMMIT 语句,从而开始或结束一个事务。如果一个事务由于某些故障或者由于用户改变主意而必须在提交前取消它,则数据库被恢复到这些语句和过程执行之前的状态。利用 ROLLBACK 语句可以在 COMMIT 命令前随时撤消或回退一个事务。可以回退整个事务,也可以会退部分事务,但是不能回退一个已经被提交的事务。回退部分事务的 ROLL
37、BACK 命令为:ROLLBACK to savepoint 存储点名存储点是用户放入事务中的标记,用来表示一个可被回退的位置。存储点通过在事务中放入一个 SAVEPOINT 命令而被插入。该命令的语法是:SAVEPOINT 存储点名如果在 ROLLBACK 语句中没有给出存储点名,则整个事务被回退。12、 给表 A 加一列 abc 口述?数据库正在应用时应先使数据库处于静默状态再alter table a add abc varchar2(10),如果不是就直接用!13、 客户端连接服务器需要修改什么文件?tnsname.ora,listener.ora14、 索引重建的概念?说说索引重建的
38、意义?当我们创建索引时,oracle 会为索引创建索引树,表和索引树通过rowid(伪列)来定位数据。当表里的数据发生更新时,oracle 会自动维护索引树。但是在索引树中没有更新操作,只有删除和插入操作。例如在某表 id 列上创建索引,某表 id 列上有值“101” ,当我将“101”更新为“110”时,oracle 同时会来更新索引树,但是 oracle 先将索引树中的“101”标示为删除(实际并未删除,只是标示一下) ,然后再将“110”写到索引树中。如果表更新比较频繁,那么在索引中删除标示会越来越多,这时索引的查询效率必然降低,所以我们应该定期重建索引。来消除索引中这些删除标记。一般不
39、会选择先删除索引,然后再重新创建索引,而是 rebuild 索引。在rebuild 期间,用户还可以使用原来的索引,并且 rebuild 新的索引时也会利用原来的索引信息,这样重建索引会块一些。15、 你对游标的理解,游标的分类,使用方法?游标是结果集数据中的指针,作用是为遍历结果集时, 存储每条记录的结果,1.声明游标,2.打开游标 ,3.提取游标,4.关闭游标游标 for 循环显式游标,隐式游标,游标变量!16、 存储过程的用法?在存储过程中异常的处理,分类?举两个预定义异常的例子?存储过程:是预编译数据库 SQL 的集合存储过程是预编译过的,执行时勿须编译,执行速度更快,存储过程封装了一
40、批SQL 语句,便于维护数据的完整性与一致性。并且可以多次调用。异常:自定义,预定义,非预定义No_Data_Found Too_Many_Rows CASE_NOT_FOUND17、 谈谈你对分区索引的理解,说说分类和区别?分区表和一般表一样可以建立索引,分区表可以创建局部索引和全局索引。当分区中出现许多事务并且要保证所有分区中的数据记录的唯一性时采用全局索引。1.3.1. 局部索引分区的建立:SQL create index dinya_idx_t on dinya_test(item_id)2 local3 (4 partition idx_1 tablespace dinya_spac
41、e01,5 partition idx_2 tablespace dinya_space02,6 partition idx_3 tablespace dinya_space037 );Index created.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 ACC
42、ESS (BY LOCAL INDEX ROWID) OF DINYA_TEST (Cost=2 Card=1 Bytes=187)2 1 INDEX (RANGE SCAN) OF DINYA_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 SQ
43、L*Net roundtrips to/from client1 sorts (memory)0 sorts (disk)2 rows processedSQL1.3.2. 全局索引分区的建立全局索引建立时 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 pa
44、rtition idx_2 values less than (10000) tablespace dinya_space02,6 partition idx_3 values less than (maxvalue) tablespace dinya_space037 );Index created.SQL本例中对表的 item_id 字段建立索引分区,当然也可以不指定索引分区名直接对整个表建立索引,如:SQL create index dinya_idx_t on dinya_test(item_id);Index created.SQL同样的,对全局索引根据执行计划可以看出索引已经可以使
45、用:SQL select * from dinya_test t where t.item_id=12;Execution Plan-0 SELECT STATEMENT 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) OF DINYA_IDX_T (NON-UNIQUE) (Cost=1Card=3)Statistics-5 recursive call
46、s0 db block gets10 consistent gets0 physical reads0 redo size420 bytes sent via SQL*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 table
47、spacename;grant create session to username;19、 谈谈你对实例的理解?Oracle 是用实例来进行数据库管理的,实例在用户和 orale 数据库之间充当中间层的角色。每当在服务器上启动数据库时,就在内存中创建一个 oracle 实例,即 oracle 为数据库分配内存和创建并启动一个或多个 oracle 进程,然后由实例加载并打开数据库,最后由这个实例来访问和控制硬盘中的数据文件。20、 触发器中能用 COMMIT,为什么?在触发器中不能使用 COMMIT;等事务控制语句。因为触发器是事务触发的如果有事务控制语句就会影响到触发它的事务。即连带触发它的语句之前的已经完成的没有提交的语句都要受到影响。这是会影响到数据的一致性的。21、 有几种表空间?数据表空间(永久表空间) 、临时表空间、撤销表空间22、 归档模式与非归档模式?为什么归档模式可以恢复到任意时刻?归档是在重做日志文件被覆盖之前,将该重做日志文件通过复制操作系统文件的 方式,保存到指定的位置。保存下来的重做日志文件的集合被称为归档重做日志文件,复制的过程被称为归档。在归档日志(ARCHIVELOG)模式下,ORACLE 对重做日志文件进行归档操