oracle数据库面试题目汇总

合集下载

oracle数据库面试题2023

oracle数据库面试题2023

oracle数据库面试题2023很高兴您关注数据库面试题,以下是一些常见的Oracle 数据库面试题及其答案:1. 什么是Oracle数据库?Oracle数据库是由Oracle公司开发的一种关系型数据库管理系统(RDBMS),它是目前世界上最流行的商用数据库之一。

Oracle数据库提供了数据存储、管理和操作等功能,被广泛应用于企业级应用系统。

2. 请解释Oracle数据库的架构。

Oracle数据库的架构由三个主要组件组成:实例(Instance)、内存结构和物理存储。

实例是指Oracle数据库在内存中的运行进程,负责管理和控制数据库的访问和操作。

内存结构包括SGA(System Global Area)和PGA(Program Global Area),用于存储数据库和用户进程所需的数据和信息。

物理存储则指数据库文件和表空间,用于持久化地存储数据。

3. 什么是表空间(Tablespace)?表空间是Oracle数据库中用于存储表、索引、视图等数据库对象的逻辑容器。

每个表空间由一个或多个数据文件组成,这些文件可以分布在不同的物理存储介质上。

通过使用表空间,我们可以方便地管理数据库对象的存储和分配。

4. 请解释Oracle的归档模式(Archivelog Mode)和非归档模式(Noarchivelog Mode)的区别。

在归档模式下,Oracle数据库会将所有的重做日志文件(Redo Log)保存下来,以便进行数据恢复和备份。

这种模式适用于对数据完整性和可恢复性要求较高的场景。

而非归档模式下,Oracle数据库不会保存重做日志文件,只保留最新的重做日志。

这种模式适用于对数据恢复要求较低、但对性能要求较高的场景。

5. 如何查看Oracle数据库中的当前用户?在Oracle数据库中,可以通过以下SQL语句查看当前用户:```SELECT USER FROM DUAL;```这会返回当前会话的用户名。

6. 如何备份和恢复Oracle数据库?Oracle数据库的备份和恢复可以使用多种方法,其中常用的有物理备份和逻辑备份。

oracle数据库面试题目汇总

oracle数据库面试题目汇总

1.对字符串操作的函数?答:ASCII()--函数返回字符表达式最左端字符的ASCII 码值CHR()--函数用于将ASCII 码转换为字符--如果没有输入0 ~ 255 之间的ASCII 码值CHR 函数会返回一个NULL 值--应该是必须给chr()赋数字值concat(str,str)连接两个字符串LOWER()--函数把字符串全部转换为小写UPPER()--函数把字符串全部转换为大写LTRIM()--函数把字符串头部的空格去掉RTRIM()--函数把字符串尾部的空格去掉TRIM() --同时去掉所有两端的空格实际上LTRIM(),RTRIM(),TRIM()是将指定的字符从字符串中裁减掉其中LTRIM(),RTRIM()的格式为xxxx(被截字符串,要截掉的字符串),但是TRIM()的格式为TRIM(要截掉的一个字符from 被截的字符串)SUBSTR()--函数返回部分字符串INSTR(String,substring) --函数返回字符串中某个指定的子串出现的开始位置,如果不存在则返回0REPLACE(原来的字符串,要被替换掉的字符串,要替换成的字符串)SOUNDEX()--函数返回一个四位字符码--SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回NULL 值2、事务概念答案:事务是这样一种机制,它确保多个SQL语句被当作单个工作单元来处理。

事务具有以下的作用:* 一致性:同时进行的查询和更新彼此不会发生冲突,其他用户不会看到发生了变化但尚未提交的数据。

* 可恢复性:一旦系统故障,数据库会自动地完全恢复未完成的事务。

3、oracle中查询系统时间答:select sysdate from dual4、触发器的作用,什么时候用触发器,创建触发器的步骤,触发器里是否可以有commit, 为什么?答案:触发器是可以由事件来启动运行的,存在于数据库服务器中的一个过程。

Oracle数据库面试题总结

Oracle数据库面试题总结

Oracle数据库⾯试题总结1、SQL语句分类DQL(数据查询语⾔)selectDML(数据操作语⾔)insert、delete、updateDDL(数据定义语⾔)create、drop、alterDCL(数据控制语⾔)grant:把权限授予⽤户、revoke:把权限从⽤户收回TPL(TCL,事务控制语⾔):commit、rollback2、Oracle是怎样分页的Oracle⽤rownum进⾏分页分页语句的步骤:a.最内层sql,查询要分页的所有数据b.第⼆层sql,通过rownum伪列确定显⽰数据的上限,并且给查询的数据添加rownum伪列的值c.最外层sql,设置显⽰数据的下限select*from(select a.*,rownum r from(select*from表名 where条件 orderby列) awhererownum<=页数*条数) b where r>(页数-1)*条数3、truncate和delete区别1)Truncate和delete都可以将数据实体删掉,truncate操作不记录到rollback⽇志,同时数据不能恢复2)Truncate是数据定义语⾔(DDL),delete是数据操作语⾔(DML)3)Truncate不能对视图进⾏操作,delete操作不会腾出表空间的内存4、说说Oracle中经常使⽤到的函数length长度、lower⼩写、upper⼤写、to_date转化⽇期、to_char转化字符、to_number转化数字Ltrim去左边空格、rtrim去右边空格、substr截取字符串、add_month增加或减掉⽉份、5、主键有⼏种?复合型、整数型、字符型6、怎样创建⼀个索引,索引使⽤的原则,有什么优缺点create index 索引名 on 表名(列名)原则:建议索引列建⽴not null约束经常与其他表进⾏连接的表,在连接列上建⽴索引优缺点:创建索引能⼤⼤加快检索速度,加强表与表的连接,但是创建索引很占⽤空间7、使⽤oracle伪列删除表中的重复数据中的⼀条delete fromtable t where t.rowid!=(select max(t1.rowid) from table t1 =)8、如何只显⽰重复数据select * fromtable group by id having count(*)>19、什么是数据库的映射就是将数据库中表与字段对应到模型层类名与属性的过程10、如何设计数据库⾸先分析项⽬,看看项⽬中有多少实体(矩形),为每个实体添加属性(椭圆),明确实体之间的关系(菱形),绘制E-R图,将E-R图转换成表格11、如何实现数据库的优化1)调整数据库结构的设计:需要考虑是否使⽤分区功能、是否建⽴索引等2)调整数据库的SQL语句3)调整服务器的内存分配4)调整硬盘I/O5)调整操作系统参数12、关系型数据库的关系操作有哪些?选择(查询某些⾏)、投影(查询某些列)、链接(把多张表连接获取数据)、增加、删除、修改13、你知道哪些菲关系型数据库,与关系型数据库的区别是?14、SQL语句与SQL*PLUS命令的区别1)SQL是关系型数据库的标准操作语⾔,⽽SQL*PLUS是⼀个客户端⼯具,除了执⾏标准的SQL外,还可以执⾏⼯具本⾝的⼀些命令。

oracle数据面试题

oracle数据面试题

oracle数据面试题Oracle是一种关系型数据库管理系统,广泛应用于企业级软件开发和数据管理中。

在进行Oracle数据面试时,面试官可能会提问一些与Oracle数据库相关的问题。

下面是一些常见的Oracle数据面试题:1. 什么是Oracle数据库?Oracle数据库是一种关系型数据库管理系统,由美国甲骨文公司开发。

它采用表结构存储数据,并使用结构化查询语言(SQL)进行数据管理。

Oracle数据库提供高性能、高可用性和可扩展性,并被广泛用于大型企业级应用程序和数据仓库。

2. Oracle数据库的体系结构是怎样的?Oracle数据库的体系结构由两个主要组件组成:实例(Instance)和数据库(Database)。

实例包括内存结构(例如SGA和PGA)和后台进程(例如后台写进程和后台读进程),而数据库则包含数据文件、控制文件和日志文件等。

3. 什么是SGA和PGA?SGA(System Global Area)是Oracle数据库实例的共享内存区域,包含缓冲区高速缓存、共享池和重做日志缓冲区等。

PGA(Program Global Area)是每个数据库连接的私有内存区域,包含了会话变量和排序区等。

4. Oracle数据库的常见数据类型有哪些?Oracle数据库支持多种数据类型,包括字符类型(如VARCHAR2和CHAR)、数值类型(如NUMBER和INTEGER)、日期类型(如DATE和TIMESTAMP)以及大对象类型(如CLOB和BLOB)等。

5. 什么是索引?索引是一种数据结构,用于加快数据库查询的速度。

在Oracle数据库中,可以为表的一个或多个列创建索引,这样在查询时可以直接通过索引而不是全表扫描来找到匹配的数据。

6. 如何创建一个表?在Oracle数据库中,可以使用CREATE TABLE语句来创建表,如下所示:```sqlCREATE TABLE table_name (column1 datatype constraint,column2 datatype constraint,...);```其中,table_name是表的名称,column1、column2等是列名,datatype是列的数据类型,constraint是列的约束(如主键、外键、唯一性约束等)。

oracle数据库面试题目(3篇)

oracle数据库面试题目(3篇)

第1篇1. 请简述Oracle数据库的体系结构,并说明各层的作用。

2. 请解释什么是Oracle实例?实例与数据库之间的关系是什么?3. 请简述Oracle数据库的存储结构,包括数据文件、控制文件、日志文件等。

4. 请说明Oracle数据库的内存结构,包括SGA、PGA等。

5. 请解释Oracle数据库的备份策略,包括全备份、增量备份、差异备份等。

6. 请说明Oracle数据库的恢复策略,包括不完全恢复、完全恢复等。

7. 请解释Oracle数据库的事务管理,包括事务的ACID特性。

8. 请说明Oracle数据库的锁机制,包括共享锁、排他锁等。

9. 请解释Oracle数据库的并发控制,包括多版本并发控制(MVCC)。

10. 请说明Oracle数据库的安全机制,包括角色、权限、用户等。

二、SQL语言1. 请简述SQL语言的组成,包括数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)等。

2. 请说明如何创建一个简单的表,包括表结构、字段类型、约束等。

3. 请编写一个查询语句,查询某个表中所有年龄大于30岁的记录。

4. 请编写一个更新语句,将某个表中年龄大于40岁的记录的年龄加1。

5. 请编写一个删除语句,删除某个表中年龄小于20岁的记录。

6. 请编写一个插入语句,插入一条记录到某个表中。

7. 请说明如何使用SQL语句实现分页查询。

8. 请说明如何使用SQL语句实现多表查询。

9. 请说明如何使用SQL语句实现子查询。

10. 请说明如何使用SQL语句实现联合查询。

三、Oracle高级特性1. 请解释什么是视图?如何创建视图?2. 请解释什么是索引?有哪些常见的索引类型?3. 请解释什么是触发器?如何创建触发器?4. 请解释什么是存储过程?如何创建存储过程?5. 请解释什么是函数?如何创建函数?6. 请解释什么是包?如何创建包?7. 请解释什么是序列?如何创建序列?8. 请解释什么是同义词?如何创建同义词?9. 请解释什么是物化视图?如何创建物化视图?10. 请解释什么是分区表?如何创建分区表?四、Oracle性能优化1. 请说明如何查看Oracle数据库的性能统计信息。

数据库oracle面试题及答案

数据库oracle面试题及答案

数据库oracle面试题及答案数据库Oracle作为一种广泛应用的关系型数据库管理系统,其知识点和面试题目也成为了许多面试者需要关注和准备的重点。

本文将介绍一些常见的Oracle面试题及其答案,希望对广大读者有所帮助。

1. 什么是数据库?简要介绍一下Oracle数据库。

答:数据库是一种结构化数据的集合,用于存储、管理以及访问数据。

Oracle数据库是由Oracle公司开发的一款重要的关系型数据库管理系统,它支持跨平台运行,并且被广泛应用于企业级应用系统中。

2. 请解释什么是数据库事务,以及Oracle中的事务管理。

答:数据库事务是指作为一个逻辑工作单元的一系列数据库操作,要么全部成功完成,要么全部失败回滚到事务开始之前的状态。

Oracle中使用回滚段和日志文件,实现事务的原子性、一致性、隔离性和持久性,通过ACID特性来保证事务的可靠性。

3. Oracle中的连接是什么?请解释一下Oracle中连接的类型。

答:连接是指建立应用程序与数据库之间的连接,使得应用程序能够与数据库交互。

Oracle中的连接类型包括物理连接和逻辑连接。

物理连接是指实际的网络连接,它负责传输数据。

逻辑连接是指应用程序与数据库之间的逻辑连接,通过逻辑连接可以对数据库进行访问和操作。

4. 请举例说明Oracle中的DML和DDL操作。

答:DML操作(数据操纵语言)用于对数据库中的数据进行增删改查,比如INSERT、UPDATE和DELETE语句。

例如,可以使用INSERT语句向表中插入新的记录;使用UPDATE语句修改已有记录;使用DELETE语句删除指定的记录。

DDL操作(数据定义语言)用于定义数据库对象,例如创建表、修改表结构等。

例如,可以使用CREATE TABLE语句创建新的表;使用ALTER TABLE语句修改表结构。

5. 请解释Oracle中的索引是什么以及索引的作用。

答:索引是一种数据结构,用于提高数据库查询的效率。

oracle常见的面试题

oracle常见的面试题

oracle常见的面试题Oracle数据库是目前全球广泛使用的一种关系型数据库管理系统。

在现代的IT行业中,掌握Oracle数据库的知识成为了许多岗位的基本要求之一。

因此,面试官们经常会在面试中提出一些与Oracle相关的问题来评估应聘者的能力和经验。

本文将介绍一些常见的Oracle面试题,并为每个问题提供详细的回答。

面试题一:什么是Oracle数据库?回答:Oracle数据库是一个基于客户与服务器结构的关系型数据库管理系统。

它是由美国Oracle公司开发并推广的,能够在多个操作系统上运行,包括Windows、Unix和Linux等。

Oracle数据库以其高性能、高可用性和强大的数据管理功能而闻名于业界。

面试题二:请简要介绍一下Oracle数据库的体系结构。

回答:Oracle数据库的体系结构包括以下几个组件:1. 实例(Instance):实例是Oracle数据库的运行环境,负责管理内存、进程和后台服务等。

每当启动一个Oracle数据库时,都会创建一个实例。

2. 数据库(Database):数据库是物理存放数据的地方,通过实例进行访问和操作。

一个Oracle实例可以管理多个数据库。

3. 数据文件(Data File):数据文件是数据库中存储数据的文件,每个文件对应一个表空间(Tablespace)。

Oracle数据库使用数据文件来存储表、索引、触发器等对象的数据。

4. 表空间(Tablespace):表空间是逻辑存储单元,用于管理和组织数据库中的对象。

每个表空间由一个或多个数据文件组成。

5. 表(Table):表是数据库中用于存储数据的基本对象,由多个列(Column)组成。

面试题三:请介绍一下Oracle数据库的事务(Transaction)概念。

回答:在Oracle数据库中,事务是一系列数据库操作的逻辑单元,它要么全部执行成功,要么全部回滚。

事务可以保证数据库的一致性和完整性。

事务具有以下四个特性,常简称为ACID特性:1. 原子性(Atomicity):事务作为一个整体执行,要么全部成功,要么全部失败。

oracle基础面试题

oracle基础面试题

oracle基础面试题Oracle数据库是当今最受欢迎和广泛使用的关系型数据库管理系统之一。

在面试中,对Oracle基础知识的掌握是评估一个候选人的重要指标之一。

本文将介绍一些常见的Oracle基础面试题,帮助读者了解最重要的概念和技能。

1. 什么是Oracle数据库?Oracle数据库是一种关系型数据库管理系统(RDBMS),以其高度可靠性、可扩展性和安全性而闻名。

它允许用户存储、管理和处理结构化数据。

2. 什么是PL/SQL?PL/SQL(Procedural Language/Structured Query Language)是Oracle数据库中的一种过程性编程语言。

它结合了SQL的数据操作能力和程序设计语言的功能,使得开发人员能够编写强大和灵活的数据库应用。

3. Oracle数据库有哪些主要组件?Oracle数据库由以下几个主要组件组成:- 实例(Instance):Oracle数据库在内存中的运行实例,包括各种后台进程和内存结构。

- 数据库(Database):物理存储在磁盘上的数据文件,由表空间(Tablespace)组成。

- 表空间(Tablespace):逻辑存储空间,包含了一个或多个数据文件。

- 数据文件(Data File):物理文件,用于存储表、索引和其他数据库对象的数据。

4. 什么是表空间(Tablespace)?表空间是Oracle数据库中最高级别的逻辑存储结构,用于管理数据库中的数据和对象。

所有的数据库对象都存储在表空间中,每个表空间都包含一个或多个数据文件。

5. 什么是数据字典(Data Dictionary)?数据字典是Oracle数据库的元数据集合,存储了关于数据库对象(如表、视图、索引等)以及数据库本身的信息。

通过查询数据字典,可以了解数据库结构和对象的详细信息。

6. 什么是索引(Index)?索引是数据库中的一种数据结构,用于提高查询效率。

它基于一个或多个列的值创建,并按特定的排序方式存储。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.对字符串操作的函数?答:ASCII()--函数返回字符表达式最左端字符的ASCII 码值CHR()--函数用于将ASCII 码转换为字符--如果没有输入0 ~ 255 之间的ASCII 码值CHR 函数会返回一个NULL 值--应该是必须给chr()赋数字值concat(str,str)连接两个字符串LOWER()--函数把字符串全部转换为小写UPPER()--函数把字符串全部转换为大写LTRIM()--函数把字符串头部的空格去掉RTRIM()--函数把字符串尾部的空格去掉TRIM() --同时去掉所有两端的空格实际上LTRIM(),RTRIM(),TRIM()是将指定的字符从字符串中裁减掉其中LTRIM(),RTRIM()的格式为xxxx(被截字符串,要截掉的字符串),但是TRIM()的格式为TRIM(要截掉的一个字符from 被截的字符串)SUBSTR()--函数返回部分字符串INSTR(String,substring) --函数返回字符串中某个指定的子串出现的开始位置,如果不存在则返回0REPLACE(原来的字符串,要被替换掉的字符串,要替换成的字符串)SOUNDEX()--函数返回一个四位字符码--SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回NULL 值2、事务概念答案:事务是这样一种机制,它确保多个SQL语句被当作单个工作单元来处理。

事务具有以下的作用:* 一致性:同时进行的查询和更新彼此不会发生冲突,其他用户不会看到发生了变化但尚未提交的数据。

* 可恢复性:一旦系统故障,数据库会自动地完全恢复未完成的事务。

3、oracle中查询系统时间答:select sysdate from dual4、触发器的作用,什么时候用触发器,创建触发器的步骤,触发器里是否可以有commit, 为什么?答案:触发器是可以由事件来启动运行的,存在于数据库服务器中的一个过程。

他的作用:可以实现一般的约束无法完成的复杂约束,从而实现更为复杂的完整性要求。

使用触发器并不存在严格的限定,只要用户想在无人工参与的情况下完成一般的定义约束不可以完成的约束,来保证数据库完整性,那么就可以使用触发器。

由于触发器主要是用来保证数据库的完整性的,所以要创建一个触发器,首先要明确该触发器应该属于那一种(DML,INSTEAD OF,SYSTEM)因为他们各有个的用途;其次就是要确定触发器被触发以后所设计到的数据。

出发器中不可以使用COMMIT。

5.数字函数abs()绝对值exp(value)e的value次幂ceil()大于等于该值的最小整数floor()小于等于该值的最大整数t runc(value,precision)保留precision个小数截取value round(value,precision)保留precision个小数对value进行四舍五入sign()根据值为正负零返回1,-1,0 mod()取模操作power(value,exponent)value的exponent次幂sqrt()求平方根1.初级4、关系数据库系统与文件数据库系统的区别在那里?关系数据库系统一般适用那些方面?答案:关系数据库系统文件系统的区别在于:首先,关系性数据库的整体数据是结构化的,采用关系数据模型来描述,这是它与文件系统的根本区别。

(数据模型包括:数据结构,数据操作以及完整性约束条件)其次,关系数据库系统的共享性高,冗余低可以面向整个系统,而文件系统则具有应用范围的局限性,不易扩展。

第三,关系数据库系统采用两级映射机制保证了数据的高独立性,从而使得程序的编写和数据都存在很高的独立性。

这方面是文件系统无法达到的,它只能针对于某一个具体的应用。

(两级映射:保证逻辑独立性的外模式/模式映射和保证物理独立性的内模式/模式映射。

外模式:用户模式,是数据库用户的局部数据的逻辑结构特征的描述。

模式:数据库全体数据的逻辑结构特征的描述。

内模式:也就是数据最终的物理存储结构的描述。

)第四,就是关系性数据库系统由统一的DBMS进行管理,从而为数据提供了如安全性保护,并发控制,完整性检查和数据库恢复服务。

5、触发器的概念,存储过程的概念.答案:触发器:是存储在数据库中的过程,当表被修改(增、删、改)时它隐式地被激发。

存储过程:是数据库语言SQL的集合,同样也存储在数据库中,但是他是由其他应用程序来启动运行或者也可以直接运行。

6、基本SQL语句有哪些.答案:select、insert、update、delete、create、drop、truncate1.中级8、什么是事务一致性? 选择熟悉的数据库实现一个事务处理,如信用卡提款. 答案:事务的一致性:是事务原子性的体现,事务所对应的数据库操作要么成功要么失败没有第三种情况。

事务不管是提交成功与否都不能影响数据库数据的一致性状态。

事务:用户定义的一个数据库操作序列,这些操作要么全部成功完成要么全部不做,是一个不可分割的整体。

定义事务的SQL语句有:BEGIN TRANSACTION,COMMIT,ROLLBACK。

事务的原子性:就是事务所包含的数据库操作要么都做,要么都不做.事务的隔离性:事务对数据的操作不能够受到其他事务的影响。

事务的持续性:也就是说事务对数据的影响是永久的。

对'信用卡提款'这一事务而言就是要保证'提取到现金'和'卡帐号余额'的修改要同时成功或失败.BEGIN TRANSACTION读取A的帐户余额BALANCE;BALANCE=BALANCE-AMOUNT转帐金额;IF(BALANCE<0)THENROLLBACK;ELSEBEGIN将A的新余额写回;读取B的帐户余额BALANCEB;BALANCEB=BALANCEB+AMOUNT转帐金额;将B的新余额写回;COMMIT;END IF;END;9、实际编写和调试存储过程或触发器.答案:10、实现索引的方式? 索引的原理? 索引的代价? 索引的类型?答案:实现索引的方式有两种:针对一张表的某些字段创建具体的索引,如对oracle: create index 索引名称on 表名(字段名);在创建表时为字段建立主键约束或者唯一约束,系统将自动为其建立索引。

索引的原理:根据建立索引的字段建立索引表,存放字段值以及对应记录的物理地址,从而在搜索的时候根据字段值搜索索引表的到物理地址直接访问记录。

引入索引虽然提高了查询速度,但本身占用一定的系统存储容量和系统处理时间,需要根据实际情况进行具体的分析.索引的类型有:B树索引,位图索引,函数索引等。

11、view 的概念? 何时应用?答案:view 是对表级数据的多角度的透视,适用于对查询安全性、灵活性有一定要求的环境12、s ql语句例外处理?举例说明?答案:当sql 语句在执行过程中出现意外时,如查询时,未查询到结果;更改时无记录等情况的应采取的措施.以oracle为例:测试其对exception的理解.如select 字段into 变量from table ;若查询出多条记录,应增加exception 例外处理.Oracle处理异常有三种:1.预定义的例外处理,EXCEPTION WHEN exception_name THEN 2.EXCEPTION_INIT产生例外首先要declare 声明一个例外名;然后将例外名和错误代码绑定pragma exception_init(错误名,错误代码);最后在EXCEPTION 处when 错误名then3.用户自定义例外,不用EXCEPTION,当判断条件成熟时用raise_application_error(-20000~~~-20999,提示信息)。

13、判断下列论述是否正确。

(1) 一个事务中的某条SQL命令提交时,其它SQL命令可以不提交。

(2) 在一个关系表中,主键可唯一标识一行记录。

(3) 一个关系表中的外键必定是另一表中的主键。

(4) 回滚可以在事务失败时,回到操作事务前的数据状态。

答案:(1)错误(2)正确(3)正确(4)正确14、以下哪些手段可保证数据库中数据的完整性和一致性:(1)自定义数据类型(2)触发器(3)主键和外键(4)事务答案:(1)(2)(3)(4) (为什么有1)15、使用存储过程访问数据库比直接用SQL语句访问有哪些优点?答案:存储过程是预编译过的,执行时勿须编译,执行速度更快;存储过程封装了一批SQL语句,便于维护数据的完整性与一致性;可以实现代码的复用。

1.高级16、对于精通的数据库系统描述其体系结构,主要包括存储机制、回滚机制、运行机制等.答案:对oracle 系统而言,描述sga的结构; 后台pmon,ckpt、lgwr,smon等进程的功能;表空间的分配策略; 回滚段的结构oracle的sga(系统全局区)包括的主要区有:数据库缓存区,重做日志缓存区,共享池(数据字典缓存和库缓存),大池等。

数据库缓存区用来存放最近使用过的数据块主要和后台进程中的数据库写进程(DBWR)以及数据文件发生关系;重做日志缓存区用于存放操作数据库数据所产生的重做日志信息,与之合作的有重做日志写进程(LGWR)和重做日志文件;共享池主要缓存SQL/PLSQL,资源锁,控制信息等,其中的库缓存主要缓存被解析执行过的SQL/PLSQL库缓存可分为共享SQL和私有SQL两个区,共享SQL用于存放SQL语句的语法分析结果和执行计划,私有SQL则用来存放与具体SQL语句执行有关的绑定变量,会话参数等。

ORACLE实例的另外一个重要部分就是其后台进程,主要的后台进程有:数据库写进程(DBWR),重做日志写进程(LGWR),系统监视器(SMON),进程监视器(PMON),检查点进程(CKPT)。

DBWR主要是对数据库缓存区中的脏冷数据进行写入数据文件操作;LGWR主要是将对数据库数据操作所产生的重做日志信息写入到重做日志文件中;SMON完成由于非正常关闭数据库的情况下重起数据库时对数据库的恢复;PMON用来恢复失败的用户进程和服务进程,并释放其所占的系统资源;CKPT可以表示数据库在此出处于完整状态。

逻辑存储结构:数据块BLOCK,区EXTENT,段SEGMENT,表空间TABLESPACE 物理存储空间:表空间,数据文件,控制文件,日志文件,数据字典软件体系结构就是上边对SGA和后台进程的描述。

17、对于精通的数据库系统描述其数据一致性的保证机制,包括lock,事务一致性等.答案:在并发环境下,采用多种机制保持其数据的一致性,如oracle系统提供的事务级的一致性、行级锁、表级锁等等.18、对精通的数据库系统描述其联机备份机制、恢复机制,考核其对日志的理解. 答案:描述相关数据库的实时联机备份策略,如数据库系统在运行中通过何种方式保证其数据的实时备份, 出现问题时,应采取何种办法从联机备份进行恢复.对对oracle而言,其archive online 备份方式应如何设置、修改什么参数、如何安排备份空间等等.19、精通的数据库系统描述性能优化方法,包括优化的策略、参数、验证方法等. 答案:20、Truncate; 与delete;的区别?(这道题可以衍生出很多的问题比如:想快速的清除一个很大的表中的数据应该用设么操作?答案是:应该用truncate。

相关文档
最新文档