oracle考题教学提纲

oracle考题教学提纲
oracle考题教学提纲

1.下面对数据库文件的叙述中,正确的是C

A、一个表空间只能对应一个人数据库文件

B、一个数据文件可以对应多个表空间

C、一个表空间可以对应多个数据库文件

D、数据库文件存储了数据库中的所的日志信息

2.下面对数据库逻辑存储结构叙述中,正确的是__AB__

A、一个数据库实例由多个表空间组成

B、一个人段由多个区组成

C、一个人区由多个段组成

D、一个人块由多个区组成

3.下面哪种后台进程用于将数据缓冲区中的数据写入数据文件?__B__

A、LGWR

B、DBWn

C、CKPT

D、ARCn

4.系统全局区包括下面那些区域?__ACD__

A、java池

B、软件代码区

C、数据缓冲区

D、日志缓冲区

5.解析后的sql语句会缓存到下面的SGA哪个区域中?_C___

A、java池

B、大型池

C、共享池

D、数据缓冲区

1.在SQL*Plus中链接数据库时,可以使用CONNECT命令。下面的4个选项中,哪几个命令是正确的?其中,用户名为scott,密码为tiger,数据库名为orcl。____D________

A.CONNECT scott/tiger;

B.CONNECT tiger /scott;

C.CONN scott/tiger as sysdba;

D.CONN scott/tiger@orcl as sysdba;

2.执行语句SAVE scott_emp_query.sql APPEND,执行结果表示_____C_____。

A.如果scott_emp_query.sql文件不存在,则出现错误

B.如果scott_emp_query.sql文件已经存在,则出现错误

C.将缓冲区中的内容追加到scott_emp_query.sql文件中,如果该文件不存在,会创建该文件

D.将缓冲区中的内容替换掉 scott_emp_query.sql文件的内容,如果该文件不存在,会创建该文件

3.使用SQL*Plus中的____B_______,可以将文件中的内容检索到缓冲区,并且不执行。

A.SAVE命令

B.GET命令

C.START命令

D.SPOOL命令

4.下面是有关变量的描述,请问哪些描述是正确的?_____C__________

A.临时变量是指仅在某个SQL语句中有效的变量

B.临时变量实在某个会话期间有效的变量

C.已定义变量是指明确定义,其生命期至显式地删除、重新定义或退出SQL*Plus为止

D.已定义的变量是不能被删除的

5.如果希望控制列的显式格式,那么可以使用下面的____D____________命令

A.SHOW

B.DEFINE

C.SPOOL

D.COLUMN

一、选择题:

1.存储数据123.45,可以使用下面哪种数据类型?____AD________

A.NUMBER

B.NUMBER(5)

C.NUMBER(5,3)

D.NUMBER(5,2)

2.如果某列定义了UNIQUE约束,则____AD________

A.该列不允许出现重复值。

B.该列不允许出现NULL值。

C.该列内允许出现一个NULL值。

D.该列允许出现多个NULL值。

3.为定义一个CHECK约束,希望该约束能对表中已存储的数据,以及以后向表中添加或修改的数据都进

行检查,则应该将该约束设置为如下哪种状态?____A________

A.ENABLE VALIDATE

B.ENABLE NOVALIDATE

C.DISABLE VALIDATE

D.DISABLE NOVALIDATE

4.使用如下语句创建一个视图:

CREATE VIEW test_view AS

SELECT stu.studname,stu.stuage+1 newage,cla.claname

FROM student stu LEFT JOIN class cla ON stu.claid=cla.claid;

请问test_view视图中那些列是可更新的?____A________

A.stuname

B.stuname、newage

C.stuname、claname

D.stuname、newage、claname

5.如果创建一个序列,用于为表的主键列生成主键值,则创建该序列时不应该指定以下哪种参数?

___D_________

A.MAXVALUE 1000

B.MINVALUE 10

C.CACHE 10

D.CYCLE

6.如果在创建序列时指定其CACHE参数值为10,当序列的当前值为5时,数据库突然关闭,再次运行数据库后,序列将从以下哪个值开始?__C________

A.5

B.6

C.11

D.16

1.下面对日志文件及其成员叙述正确的是 B 。

A.日志文件组中可以没有日志成员

B.日志文件组中的日志成员大小一致

C.在创建日志文件组时,其日志成员可以是已经存在的日志文件

D.在创建日志文件组时,如果日志成员已经存在,则使用REUSE关键字就一定可以成功替换该文件

2.当日志文件组处于哪种情况时,无法清空该日志文件组? C

A.ACTIVE

B.INACTIVE

C.CURRENT

D.UNUSED

3.下面哪条语句用于切换日志文件组? B

A.ALTER DATABASE SWITCH LOGFILE;

B.ALTER SYSTEM SWITCH LOGFILE;

C.ALTER STSTEM ARCHIVELOG;

D.ALTER DATABASE ARCHIVELOG;

4.删除日志文件组5种的日志文件E:\orcl\datafile\redo0

5.log,其中正确的语句是 C 。

A.ALTER DATABASE DROP LOGFIL’E:\orcl\datafile\redo05.log’;

B.ALTER DATABASE DROP LOGFILE GROUP 5’E:\orcl\datafile\redo05.log’;

C.ALTER DATABASE DROP KOGFILE MEMBER’E:\orcl\datafile\redo05.log’;

D.ALTER GROUP 5DROP LOGFILE’E:\orcl\datafile\redo05.log’;

5.修改系统中的参数值时,如果只修改服务器参数文件中的设置,则SCOPE选项的值应该为

A 。

A.SPFILE

B.MEMORY

C.BOTH

D.以上都不对

1.查询scott用户的emp表中的总记录数,可以使用下列哪个语句?BD

A.SELECT MAX(empno) FROM scott.emp;

B.SELECT COUNT(empno) FROM scott.emp;

C.SELECT COUNT(comm) FROM scott.emp;

D.SELECT COUNT(*) FROM scott.emp;

2.为了取出结果集中的重复行,可以再SELECT语句中使用下列哪个关键字?B

A.ALL

B.DISTINCT

C.UPDATE

D.MERGE

3.在SELECT语句中,HAVING子句的作用是。B

A.查询结果的分组条件

B.组的筛选条件

C.限定返回的行的判断条件

D.对结果集进行排序

4.下列哪个聚合函数可以把一个列中的所有值相加求和?D

A.MAX函数

B.MIN函数

C.COUNT函数

D.SUM函数

5.如果要统计表中有多少行记录,应该使用下列哪个聚合函数?C

A.SUM函数

B.AVG函数

C.COUNT函数

D.MAX函数

1.下面哪些语句在执行时不会返回错误信息,而显示检索结果? BD

A.SELECT empno , ename FROM scott.emp WHERE deptno = ( SELECT deptno FROM scott.dept WHERE dname NOT IN (‘SALES’) );

B.SELECT empno , ename FROM scott.emp WHERE deptno = ( SELECT deptno FROM scott.dept WHERE dname IN (‘SALES’) ) ;

C.SELECT empno , e.deptno , dname FROM scott.emp e , scott.dept d ;

D.SELECT empno , deptno, dname FROM scott.emp , scott.dept ;

2.使用关键字进行子查询时, D 关键字只注重子查询是否返回行。如果子查询返回一个或多个行,那么将返回真,否则为假。

A.IN

B. ANY

C. ALL

D. EXISTS

3.使用简单链接查询两个表,其中一个表有5行记录,另一个表有28行记录。如果未使用WHERE子句,则将返回多少行? D

A. 33

B. 23

C. 28

D. 140

4. C 为具有相同名称的列字段进行记录匹配,不必指定任何同等链接条件。

A.等值连接

B. 不等连接

C. 自然连接

D. 交叉连接

5.SQL/92标准可以使用USING关键字来简化连接查询,但是只有在查询满足下面的 AB 条件时,才能使用USING关键字来简化。

A.查询必须是等值连接

B.等值连接中的列必须具有相同的名称和数据类型

C.FROM子句应当包括所有的表名

1如果在连接查询时使用了两个表中相同的多个列,那么就可以再USING子句中指定多个列名

. 下面哪些是合法的变量名?

A. _number01

B. number01

C. number-01

D. number

2. 使用下列哪条语句可以正确地声明一个常量?

A. name CONSTANT VARCHAR2(8);

B. name VARCHAR2(8) :=’CANDY’;

C. name VARCHAR2(8) DEFAULT ‘CANDY’;

D. name CONSTANT VARCHAR2(8) :=’CANDY’;

3. 有如下PL/SQL程序块:

SQL> DECLARE

2 a NUMBER := 10 ;

3 b NUMBER := 0 ;

4 BEGIN

5 IF a > 2 THEN

6 b :=1;

7 ELSIF a > 4 THEN

8 b := 2 ;

9 ELSE

10 b := 3 ;

11 END IF ;

12 DBMS_OUTPUT.PUT_LINE (b) ;

13 END ;

执行上述PL/SQL块后的输出结果为

A. 0

B. 1

C. 2

D. 3

4. 有如下PL/SQL程序块:

SQL> DECLARE

2 i BINARY_INTEGER := 1 ;

3 BEGIN ;

4 WHILE i >= 1 ;

5 LOOP

6 i := i + 1 ;

7 DBMS_OUTPUT.PUT_LINE (i) ;

8 END LOOP ;

9 END ;

执行上述PL/SQL 块,结果为

A. 输出从1开始,每次递增1的数

B. 输出从2开始,每次递增1的数

C. 输出2

D. 该循环将陷入死循环

5. 使用游标的什么属性可以获取SELECT语句当前检索到的行数?

A. %FOUND

B. %NOTFOUND

C. %ISOPEN

D. %ROWCOUNT

6. 下列不属于IF条件语句中的关键字是

A. ELSEIF

B. ELSE IF

C. OTHERS

D. THEN

1. B

2. D

3. B

4. D

5. D

6. ABC

12.6 习题

1.如果某个用户仅仅具有scott.emp表上的SELECT和UPDATE权限,则下面对该用户所能执行的操作叙述正确的是___D________。

A.该用户能查询scott.emp表中的记录 B.该用户能修改scott.emp表中的记录

C. 该用户能删除scott.emp表中的记录

D.该用户无法执行任何操作

2.下面对系统权限和对象权限叙述正确的是___D________。

A.系统权限是针对某个数据库对象操作的权限,对象权限不与数据库中的具体对象相关联。

B.系统权限与对象权限都是针对某个数据库对象操作的权限

C.系统权限与对象权限都不与数据库中的具体对象相关联

D.系统权限不与数据库中的具体对象相关联,对象权限是针对某个数据库对象操作的权限

3.启用所有角色应该使用下面哪条语句? D

A.ALTER ROLE ALL ENABLE

B.ALTER ROLE ALL

C.SET ROLE ALL ENABLE

D.SET ROLE ALL

4.在用户配置文件中不能限定如下哪种资源? B

A.单个用户的会话数

B.数据库的会话数

C.用户的密码有效期

D.用户的空闲时长

5.如果用户user1创建了数据库对象,删除该用户需要下列哪条语句? B

A.DROP USER user1;

B.DROP USER user1 CASCADE;

C.DELETE USER user1;

D.DELETE USER user1 CASCADE;

6.修改用户时,用户的什么属性不能修改? A

A.名称

B.密码

C.表空间

D.临时表空间

简答

2.如果初始化参数为db_block_size的值为16KB,那么还能设置db_16k_cache_size的参数的值么?请结合本章的学习内容,创建一个非标准数据块表空间,并简述其步骤。

答:

不能。

(1)使用SHOW PARAMWTER 语句查看数据缓冲区参数db_16k_cache_size的值: SHOW PARAMWTER db_16k_cache_size

(2)使用ALTER SYSTEM 语句修改参数db_16k_cache_size 的值:

ALTER SYSTEM SET db_16k_cache_size=20M;

(3)创建表空间 non,指定其数据块大小为16KB:

CREATE TABLESPACE non

DATAFILE ‘F:\ORACLE\non.dbf’

SIZE 5M

BLOCKSIZE 16K;

(Oracle管理)oracle项目设计报告

成都东软学院 课程结业设计报告 课程: oracle数据管理与开发 项目名称:项目管理系统 作者:xxxxx 学号:xxxxx 专业班级: xxxxx 指导教师:xxxxx 2011年12月

目录 第一部分:项目概述 ........................................................................................- 1 -1.1内容 .................................................................................................................. - 1 -1.2目的 .................................................................................................................. - 1 -1.3功能 .................................................................................................................. - 2 -1.4意义 .................................................................................................................. - 2 -第二部分:E-R图..............................................................................................- 3 -第三部分:表图................................................................................................- 3 -第四部分:创建表的脚本: .............................................................................- 5 -第五部分:样本数据 ........................................................................................- 6 -第六部分:数据库测试.....................................................................................- 7 -6.1数据操纵........................................................................................................... - 7 - 6.1.1查询.................................................................................................................................... - 7 - 6.1.2插入.................................................................................................................................... - 8 - 6.1.3更新.................................................................................................................................... - 8 - 6.1.4删除.................................................................................................................................... - 8 -6.2问题总结........................................................................................................... - 9 -第七部分:项目总结 ........................................................................................- 9 - 7.1结论 ................................................................................................................... - 9 -7.2心得 ................................................................................................................. - 10 -

oracle课后题答案

一、选择题 1. 若关系的某一属性组的值能唯一地标识一个元组,我们称之为(B)。 A、主码 B、候选码 C、外码 D、联系 2. 以下不属于数据库模式的三要素的是(C)。 A、数据结构 B、数据操作 C、数据控制 D、完整性约束 3. 以下对关系性质的描述中,哪个是错误的?(B) A、关系中每个属性值都是不可分解的 B、关系中允许出现相同的元组 C、定义关系模式时可随意指定属性的排列次序 D、关系中元组的排列次序可以任意交换 二、填空题 1.数据管理发展的三个阶段是人工管理、文件管理和数据库系统管理。 2.数据库系统的三级模式包括逻辑模式、用户模式、物理模式。 三、思考题 1. 数据库管理系统的主要功能有哪些? 1)数据定义功能。DBMS提供相应数据语言来定义(DDL)数据库结构,它们是刻画数据库框架,并被保存在数据字典中。 2)数据存取功能。DBMS提供数据操纵语言(DML),实现对数据库数据的基本存取操作:检索,插入,修改和删除。 3)数据库运行管理功能。DBMS提供数据控制功能,即是数据的安全性、完整性和并发控制等对数据库运行进行有效地控制和管理,以确保数据正确有效。 4)数据库的建立和维护功能。包括数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。 5)数据库的传输;DBMS提供处理数据的传输,实现用户程序与DBMS之间的通信,通常与操作系统协调完成。 2.思考关系规范化的过程。 答:对于存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程。 3.思考数据库设计的步骤。 答:1需求分析、2概念设计阶段、3逻辑结构设计阶段、4数据库物理结构设计阶段、5数据库实施阶段、6数据库运行和维护阶段。

ORACLE数据库设计指南

数据库设计核心原则 罗代均 一、3NF第三范式 通常认为,第三范式在性能,扩展性和数据完整性方面达到了最好平衡. 通常认为,第三范式在性能,扩展性和数据完整性方面达到了最好平衡. 有以下几个要点。有以下几个要点。 1.一个表只描述一个单一的事物(实体)。一个表只描述一个单一的事物 2.表内的每一个值在整个数据库只出现一次(外键除外) 2.表内的每一个值在整个数据库只出现一次(外键除外)。表内的每一个值在整个数据库只出现一次 3.表内的每一行都应该被唯一的标识(有唯一主键)。 3.表内的每一行都应该被唯一的标识(有唯一主键)。表内的每一行都应该被唯一的标识 4.表内不存储与主键无关的信息。表内不存储与主键无关的信息 二、字段设计技巧 1.确保表中没有计算字段 计算字段的值,是由其他字段的值计算而来,当你更新其他字段的时候,很容易忽略同时更新这个计算字段,造成数据的错误。 2.确保这个字段的值只有一个 例如下表Users: 用户ID 用户名称电话号码 001 robin 1358888888/028-*******/… 电话号码的值就不只一个,因此电话字段不能放在users表中,解决办法是增加一个表Phone 电话号码ID 用户ID 电话号码 001 001 13588888 002 001 028-888888 这个表就是Users的从表,用户ID是外键. 还有地址address,和电话的情况类似。 3.尽可能地细分字段 如下雇员表(employee) 雇员ID 雇员名称地址 emp_id emp_name emp_address 001 Robin 四川省成都市高新区天泰路1号 这里的emp_address就可以细分,改进的表如下 雇员ID 雇员名称国家省/直辖市地/市 001 罗代均china 四川成都区/县高新区街道天泰路1号 这样更方便我们编辑和统计,有利于保证数据的完整性。 三数据表设计技巧 1.为表内的每一个字段添加表名缩写 例如客户表 customer cust_id cust_name cust_type cust_city ... 这样书写SQL语句时,很容易就知道这个字段属于哪个表,代表什么含义。 例如cust_city ,就不会和employee表的emp_city混淆了。

Oracle 笔试题目带答案

1.( )程序包用于读写操作系统文本文件。(选一项) A、Dbms_output B、Dbms_lob C、Dbms_random D、Utl_file 2.( )触发器允许触发操作的语句访问行的列值。(选一项) A、行级 B、语句级 C、模式 D、数据库级 3.( )是oracle在启动期间用来标识物理文件和数据文件的二进制文件。(选一项) A、控制文件 B、参数文件 C、数据文件 D、可执行文件 4.CREATE TABLE 语句用来创建(选一项) A、表 B、视图 C、用户 D、函数 5.imp命令的哪个参数用于确定是否要倒入整个导出文件。(选一项) A、constranints B、tables C、full D、file 6.ORACLE表达式NVL(phone,'0000-0000')的含义是(选一项) A、当phone为字符串0000-0000时显示空值 B、当phone为空值时显示0000-0000 C、判断phone和字符串0000-0000是否相等 D、将phone的全部内容替换为0000-0000 7.ORACLE交集运算符是(选一项) A、intersect B、union C、set D、minus 8.ORACLE使用哪个系统参数设置日期的格式(选一项) A、nls_language

B、nls_date C、nls_time_zone D、nls_date_format 9.Oracle数据库中,通过()访问能够以最快的方式访问表中的一行(选一项) A、主键 B、Rowid C、唯一索引 D、整表扫描 10.Oracle数据库中,下面()可以作为有效的列名。(选一项) A、Column B、123_NUM C、NUM_#123 D、#NUM123 11.Oracle数据库中,以下()命令可以删除整个表中的数据,并且无法回滚(选一项) A、drop B、delete C、truncate D、cascade 12.Oracle中, ( )函数将char或varchar数据类型转换为date数据类型。(选一项) A、date B、to_date C、todate D、ctodate 13.ORACLE中,执行语句:SELECT address1||','||address2||','||address2 "Address" FROM employ; 将会返回()列(选一项) A、0 B、1 C、2 D、3 14.Oralce数据库中,以下()函数可以针对任意数据类型进行操作。(选一项) A、TO_CHAR B、LOWER C、MAX D、CEIL 15.partition by list(msn_id)子句的含义是(选一项) A、按msn_id列进行范围分区 B、按msn_id列进行列表分区

oracle设计实验报告材料

课程设计 课程题目:ORACLE应用系统设计设计题目:音像店信息管理系统 专业:计算机科学与技术 班级:计131 组员:李霆桑珠扎西虞洲 学号: 130761 130767 130762 日期: 2016-03-04 信息工程学院计算机科学与技术

目录 一.课程目的………………………………………………………. 二.题目要求……………………………………………………… 三.日期安排………………………………………………………. 四.组内分工……………………………………………………… 五.实验条件......................................................... ........................... 六.实验内容......................................................... ........................... (1)第一部分:Oracle管理技术……………………………………… 1.数据库管理…………………………………………………….. 2.角色和用户管理………………………………………………... 3.表和视图管理………………………………………………….. 4.索引和序列管理………………………………………………... 5.PL/SQL编程…………………………………………………… 6.使用游标、存储过程和触发器………………………………… 7.表空间管理……………………………………………………… 8.文件管理………………………………………………………… (2)第二部分:Oracle开发技术……………………………………….. ①数据库设计………………………………………………………………… ②界面设计.................................................... ③结果测试…………………………………………………………………… 七.问题及解决…………………………………………………….. 八.总结...............................................

Oracle数据库基本知识点

1、数据库基本语句 (1)表结构处理 创建一个表:cteate table 表名(列1 类型,列2 类型); 修改表的名字 alter table 旧表名 rename to 新表名 查看表结构 desc 表名(cmd) 添加一个字段 alter table 表名 add(列类型); 修改字段类型 alter table 表名 modify(列类型); 删除一个字段 alter table 表名 drop column列名; 删除表 drop table 表名 修改列名 alter table 表名 rename column 旧列名 to 新列名; (2)表数据处理 增加数据:insert into 表名 values(所有列的值); insert into 表名(列)values(对应的值); 更新语句:update 表 set 列=新的值,…[where 条件] 删除数据:delete from 表名 where 条件 删除所有数据,不会影响表结构,不会记录日志, 数据不能恢复--》删除很快: truncate table 表名 删除所有数据,包括表结构一并删除: drop table 表名 去除重复的显示:select distinct 列 from 表名 日期类型:to_date(字符串1,字符串2)字符串1是日期的字 符串,字符串2是格式 to_date('1990-1-1','yyyy-mm-dd')-->返回日期的 类型是1990-1-1 (3)查询语句 1)内连接 select a.*,b.* from a inner join b on a.id=b.parent_id

Oracle试题(含答案)

_C++_CSD/ESD1405 1. 把工资大于1000的first_name,salary 显示出来,按工资排序,工资相同按first_name降序的SQL语句是? A. select first_name,salary from s_emp order by salary,first_name B. select first_name,salary from s_emp order by salary,first_name asc C. select first_name,salary from s_emp order by salary desc,first_name D. select first_name,salary from s_emp order by salary,first_name desc 正确答案:D 2. 已知数据库中有员工表s_emp和部门表s_dept,具体字段如下: 员工表字段介绍: ID 员工编号 LAST_NAME 员工姓 FIRST_NAME 员工名 USERID 用户编号 START_DATE 入职日期 COMMENTS 员工备注信息 MANAGER_ID 员工的领导ID TITLE 员工的职位 DEPT_ID 部门的编号 SALARY 员工的月薪 COMMISSION_PCT 提成 部门表的字段介绍: ID 部门编号 NAME 部门名 REGION_ID 地区编号 注:以下所有数据库相关题目,均使用这两个表 把s_emp表中的每个人的全名和工资列出来的SQL语句是? A. select first_name|last_name ,salary from s_emp

Oracle方案设计

3.1方案拓扑图 如上图所示前端四台IBM X3850M2服务器做集群应用,运行Oracle数据库,Oracle 库的数据文件存储在后端磁盘阵列上。后端存储采用了SAN网络的连接形式,四台服务器通过两台光纤交换机连接到存储阵列,采用双交换机的冗余连接提高了数据传输的可靠性。备份系统采用赛门铁克的NetBackUp备份软件把数据备份到磁带库中,如果用户有更高的备份需求可以采用飞康CDP设备对数据时时备份,可以实现数据丢失率在分钟级。 3.2服务器解决方案 服务器运行着关键Oracle数据库应用,为了提高应用的高可靠性,提高并发响应的速度,本方案采用了四台IBM X3850M2服务器做负载均衡群集的形式。四台服务器同时对外提供服务,一方面四台服务器相互分担访问负载提高响应速度,另一方面可以实现故障转移,提高服务的可靠性。 在服务器选择方面本着稳定性、可扩展性和易维护性的原则。本方案建议了IBM

X3850M2服务器,配置了四颗CPU,考虑到今后扩展要求CPU数量最多可以支持到16颗;磁盘配置2块146GB的SAS磁盘,安装操作系统和Oracle应用程序,两块磁盘做Raid1实现高可靠性,即使一块磁盘出现故障也不影响服务器正常使用;X3850M2服务器支持最多256GB内存,能充分满足用户今后应用扩展需求,ChipKill技术允许使用工业标准的DIMM来更正单位/多位错误;光通路面板显示各个物理部件工作状态包括CPU、内存、硬盘等,当部件出现故障时可以通过面板显示灯迅速找到故障原因;集成的远程管理适配器II SlimLine帮助用户远程监视系统运行状况,提高工作效率和可管理性。 3.3四节点群集实现方式 用户关键数据库应用将要采用Oracle数据库,由于用户对Oracle数据库访问量大,为了提高访问响应速度、保证应用的可靠和稳定性,本方案采用了Oracle RAC集群的解决方案。 Oracle RAC 运行于集群之上,为Oracle 数据库提供了最高级别的可用性、可伸缩性和低成本计算能力。如果集群内的一个节点发生故障,Oracle 将可以继续在其余的节点上运行。如果需要更高的处理能力,新的节点可轻松添加至集群。为了保持低成本,即使最高端的系统也可以从采用标准化商用组件的小型低成本集群开始逐步构建而成。 Oracle 的主要创新是一项称为高速缓存合并的技术,它最初是针对Oracle9i

Oracle数据库期末复习知识点整理

基础知识 表3.2 Oracle数据类型

表3.3 XSB的表结构

操作表 创建表 CREATE TABLE [schema.] table_name ( column_namedatatype [DEFAULT expression] [column_constraint][,…n] [,…n] ) [PCTFREE integer] [PCTUSED integer] [INITRANS integer] [MAXTRANS integer] [TABLESPACE tablespace_name] [STORGE storage_clause] [CLUSTER cluster_name(cluster_column,…n)] [ENABLE | DISABLE ] [AS subquery] 【例】使用CRETE TABLE命令为XSCJ数据库建立表XSB,表结构参照表3.3。 打开SQL*Plus工具,以system方案连接数据库,输入以下语句: CREATE TABLE XSB ( XH char(6) NOT NULL PRIMARY KEY, XM char(8) NOT NULL, XB char(2) DEFAULT '1' NOT NULL, CSSJ date NOT NULL, ZY char(12) NULL, ZXF number(2) NULL, BZ varchar2(200) NULL ); 修改表 ALTER TABLE [schema.] table_name [ ADD(column_namedatatype [DEFAULT expression][column_constraint],…n) ] /*增加新列*/ [ MODIFY([ datatype ] [ DEFAULT expression ] [column_constraint],…n) ] /*修改已有列的属性*/ [ STORAGE storage_clause ] *修改存储特征*/ [ DROP drop_clause ] /*删除列或约束条件*/ 【例】使用ALTER TABLE语句修改XSCJ数据库中的表。

oracle考试试题及答案

试题一 一、填空题(每小题4分,共20分) 1、数据库管理技术经历了人工管理、文件系统、数据库系统三个阶段 2、数据库三级数据结构是外模式、模式、内模式 3、Oracle数据库中,SGA由数据库缓冲区,重做日志缓冲区,共享池组成 4、在Oracle数据库中,完正性约束类型有Primay key约束。Foreign key约束,Unique约束,check约束,not need约束 5、PL/SQL中游标操作包括声明游标,打开游标,提取游标,关闭游标 二、正误判断题(每小题2分,共20分) 1、数据库中存储的基本对象是数据(T) 2、数据库系统的核心是DBMS(T) 3、关系操作的特点是集合操作(T) 4、关系代数中五种基本运算是并、差、选择、投影、连接(F) 5、Oracle进程就是服务器进程(F) 6、oraclet系统中SGA所有用户进程和服务器进程所共享(T) 7、oracle数据库系统中数据块的大小与操作系统有关(T) 8、oracle数据库系统中,启动数据库和第一步是启动一个数据库实例(T) 9、PL/SQL中游标的数据是可以改变的(F) 10、数据库概念模型主要用于数据库概念结构设计() 三、简答题(每小题7分,共35分) 1、何谓数据与程序的逻辑独立性和物理独立性? 2、试述关系代数中等值连接与自然连接的区别与联系? 3、何谓数据库,数据库设计一般分为哪些阶段? 4、简述Oracle逻辑数据库的组成?

5、试任举一例说明游标的使用方法? 五、设有雇员表emp(empno,ename,age,sal,tel,deptno), 其中:empno-----编号,name------姓名,age -------年齡,sal-----工资,tel-----电话 deptno-----部门号。 请按下列要求分别晨SQL*PLUS下编程。(每小题3分,共15分)?1、查询家有电话的职工信息。 ?2、查询工资在500至800元之间的雇员信息 ?3、按年龄递增顺序显示雇员编号、姓名、年龄、工资 ?4、求部门号为D_01的平均工资 ?5、查找部门号为D_01的40岁以上而工资在400元以下的雇员名单。 1、SQL>SELECT * FROM emp WHERE tel NOT NULL; 2、SQL>SELECT * FROM emp WHERE BETWEEN 500 AND 800; 3、SQL>SELECT empno,ename,age,sal FROM emp ORDER BY age ASC; 4、SQL>SELECT AVG(sal) FROM emp WHERE deptno='D_01'; 5、SQL>SELECT ename FROM emp WHERE deptno='D_01' AND age>40 AND Sal<400; ? 试题一答案 一、填空题 1、人工管理、文件系统、数据库系统 2、外模式、模式、内模式 3、数据库缓冲区,重做日志缓冲区,共享池 4、Primay key约束。Foreign key约束,Unique约束,check约束,not need 约束 5、声明游标,打开游标,提取游标,关闭游标 二、正误判断题 1、T 2、T 3、T 4、F 5、F 6、T 7、T 8、T 9、F 三、(略) 五、 1、SQL>SELECT * FROM emp WHERE tel NOT NULL; 2、SQL>SELECT * FROM emp WHERE BETWEEN 500 AND 800; 3、SQL>SELECT empno,ename,age,sal FROM emp ORDER BY age ASC; 4、SQL>SELECT AVG(sal) FROM emp WHERE deptno='D_01'; 5、SQL>SELECT ename FROM emp WHERE deptno='D_01' AND age>40 AND Sal<400; 试题二

oracle物理设计原则

数据库物理设计原则 1.1 数据库环境配置原则 1.1.1 操作系统环境: 对于中小型数据库系统,采用linux操作系统比较合适,对于数据库冗余要求负载均衡能力要求较高的系统,可以采用Oracle9i RAC的集群数据库的方法,集群节点数范围在2—64个。对于大型数据库系统,可以采用Sun Solaris SPARC 64位小型机系统或HP 9000 系列小型机系统。RAD5 适合只读操作的数据库,RAD1 适合OLTP数据库 1.1.2 内存要求 对于linux操作系统下的数据库,由于在正常情况下Oracle对SGA的管理能力不超过1.7G。所以总的物理内存在4G以下。SGA的大小为物理内存的50%—75%。对于64位的小型系统,Oracle数据库对SGA的管理超过2G的限制,SGA设计在一个合适的范围内:物理内存的50%—70%,当SGA过大的时候会导致内存分页,影响系统性能。 1.1.3 交换区设计 当物理内存在2G以下的情况下,交换分区swap为物理内存的3倍,当物理内存>2G的情况下,swap大小为物理内存的1—2倍。 1.1.4 其他环境变量参考Oracle相关的安装文档和随机文档。 1.2 数据库设计原则 1.2.1 数据库SID 数据库SID是唯一标志数据库的符号,命名长度不能超过5个字符。对于单节点数据库,以字符开头的5个长度以内字串作为SID的命名。对于集群数据库,当命名SID后,各节点SID自动命名为SIDnn,其中n n为节点号:1,2,…,64。例如rac1、rac2、rac24。 1.2.2 数据库全局名 数据库全局名称: 1.2.3 数据库类型选择

Oracle数据库技术课程学习大纲详细

《现代数据库技术》教学大纲 课程名称:《现代数据库技术》 课程编号:学时数:56 学分数:3.5 适应专业:计算机与信息学院所有专业 一、本课程的地位、任务和作用 现代数据库技术是计算机在数据处理应用领域中的主要内容和坚实基础;也是今后若干年内研究和应用的最活跃的分支之一。因此,信息管理、软件开发、计算机等专业的学生,特别是以应用为目标的学生都必须学习和具备数据库原理与应用的知识。本课程通过介绍Oracle数据库基本操作、体系结构与数据库基本管理使学生初步掌握大型数据库的基本原理,了解大型数据库的管理方法。了解大型数据库的管理方法,使学生熟练掌握Oracle数据库系统下的SQL语言运用及PL/SQL程序设计。 本课程是一门理论和实践相结合的课程,要求学生在完成本课程的学习以后,能够结合自己所熟悉的某一门高级语言和Oracle,开发出一个小型的数据库应用系统。 二、本课程的相关课程 本课程的先修课程为《计算机组成原理》,《离散数学》,《数据结构》,《计算机网络》及《数据库原理》等课程。 三、本课程的基本内容及要求 教学内容: 第一章数据库概述(2学时) 1、教学内容: 1.1数据库基础知识 1.2关系数据库系统 1.3 Oracle基础知识 (1)Oracle的发展历史 (2)Oracle的特点 第二章O racle体系结构(6学时) 1、教学内容: 2.1 Oracle 体系结构概述 2.2Oracle的存储结构 (1)物理存储结构 (2)逻辑存储结构 2.3Oracle的实例 (1)Oracle内存结构

(2)Oracle进程 2.4数据字典 2、教学重点:Oracle的物理结构、oracle实例、Oracle的逻辑结构 3、教学难点:数据库实例与进程 第三章O racle11g的安装(2学时) 1、教学内容: 3.1 Oracle 11g环境介绍 3.2Oracle 11g for Windows的安装 (1)安装Oracle 11g服务器 (2)Oracle 11g与Windows (3)安装Oracle 11g客户端 3.3 Oracle 11g 的卸载 2、教学重点:学会Oracle的安装 第四章O RACLE数据库管理工具及网络配置(2学时) 1、教学内容: 4.1 SQL*Plus命令 (1)设置SQL*Plus 运行环境 (2)常用SQL*Plus命令 (3)格式化查询结果 4.2 Oracle企业管理器 4.3 数据库配置助手 4.4 启动与关闭oracle实例 2、教学重点:学会使用SQL*Plus 第五章S QL语言基础(5学时) 1、教学内容: 5.1SQL简介 5.2SQL的基本语法 5.3数据查询语言 5.4数据操纵语言 5.5数据定义语言 5.6数据控制语言 5.7常用函数 5.8 事务处理 2、教学重点:数据查询语言、数据操纵语言、数据定义语言、数据控 制语言 3、教学难点:SQL的基本语法 第六章P L/SQL编程(8学时)(课本第6,7章) 1、教学内容: 6.1PL/SQL基础 (1)变量及声明 (2)数据类型 (3)表达式 (4)PL/SQL程序块结构 6.2PL/SQL控制结构

oracle模拟试题答案汇总

备注:题号相同的题目或者增加的一些题目是11级网络的模拟试题 第 1 题,选择题(2分): ORACLE中,游标可以分为三类,下面不是Oracle游标的是( 1 )。 (1) 系统游标 (2) 显式游标 (3)隐式游标 (4) REF游标 第 2 题,选择题(2分):PL/SQL块中定义了一个带参数的游标:CURSOR emp_cursor(dnum NUMBER) IS SELECT sal,comm FROM emp WHERE deptno=dnum; 那么正确打开此游标的语句是(1) (1) OPEN emp_cursor(20); (2) OPEN emp_cursor FOR 20; (3) OPEN emp_cursor USING 20; (4) FOR rmp_rec IN emp_cursor[20] LOOP ... END LOOP; 第 3 题,选择题(2分): 有关ORACLE索引说法正确的是(A ) (1) 索引的数据和表的数据分开存储,但索引组织表除外 (2) 所有索引中的数据是顺序排序 (3) 分区表的索引必须统一存储 (4) 只能对分区表的索引进行分区 第 4 题,选择题(2分): 下列有关包的使用说法错误的是( A) (1) 必须先创建包头,然后创建包体 (2) 在不同的包内模块可以重名 (3) 包的私有过程不能被外部程序调用 (4) 包体中的全局过程和函数必须在包 第 5 题,选择题(2分): 以下定义的哪个变量是非法的?( A) (1) var_ab number default:=1; var_ab number default 1; (2) var_ab number not null :='0'; (3) var_ab number; (4) var_ab number:=3; 第 6 题,选择题(2分): PL/SQL块中不能直接使用的SQL命令是(A) (1) drop (2) insert (3) update

Oracle设计开发指南

知识库Oracle设计开发指南

版本历史

目录 1.引言 (6) 1.1目的 (6) 1.2范围、约束及假设 (6) 1.3定义、首字母缩写词和缩略语 (6) 1.4阅读对象 (6) 1.5参考资料 (6) 1.6文档概述 (6) 2.数据库设计 (6) 2.1逻辑设计 (6) 2.1.1表设计 (6) 2.1.2范式和冗余 (7) 2.1.3索引设计 (7) 2.1.4聚簇设计 (8) 2.1.5视图设计 (8) 2.2物理设计 (9) 2.2.1内存参数设计 (9) 2.2.2表容量估算 (9) 2.2.3索引容量估算 (9) 2.2.4存储参数设计 (9) 2.2.5表空间设计 (9) 2.2.6数据文件设计 (9) 2.2.7重做日志文件设计 (9) 2.2.8回滚段设计 (9) 2.3命名规范 (9) 2.3.1一般性命名规范 (9) 2.3.2对象命名规范 (9) 3.SQL优化 (11) 3.1SQL执行过程 (11) 3.1.1解析SQL (11) 3.1.2执行SQL (11) 3.1.3显示结果集 (11) 3.2SQL优化器 (12) 3.2.1优化器的优化方式 (12)

3.3SQL优化过程 (12) 3.3.1确定具有高影响力的SQL语句 (12) 3.3.2抽取和解释SQL语句 (13) 3.3.3调整SQL语句 (13) 3.4SQL调整工具 (13) 3.4.1Oracle AutoTrace (13) 3.4.2TKPROF工具 (15) 3.4.3STATSPACK工具 (16) 3.5O RACLE SQL优化方法 (32) 3.5.1选用适合的ORACLE优化器 (32) 3.5.2访问Table的方式 (32) 3.5.3共享SQL语句 (33) 3.5.4选择最有效率的表名顺序 (34) 3.5.5WHERE子句中的连接顺序 (34) 3.5.6SELECT子句中避免使用... * ... . (35) 3.5.7减少访问数据库的次数 (35) 3.5.8使用DECODE函数来减少处理时间 (36) 3.5.9删除重复记录 (37) 3.5.10用TRUNCATE替代DELETE (37) 3.5.11HWM对数据库性能的影响 (37) 3.5.12尽量多使用COMMIT (38) 3.5.13用Where子句替换HAVING子句 (38) 3.5.14减少对表的查询 (39) 3.5.15使用表的别名(Alias) (39) 3.5.16用EXISTS替代IN (39) 3.5.17用NOT EXISTS替代NOT IN (40) 3.5.18用表连接替换EXISTS (40) 3.5.19用EXISTS替换DISTINCT (41) 3.5.20识别?低效执行?的SQL语句 (41) 3.5.21提高insert、update速度 (41) 3.6调整查询 (42) 3.6.1查询调整方法 (42) 3.6.2子查询调整方法 (42) 3.6.3使用Oracle并行查询发挥多CPU的威力 (43) 3.7排序优化 (44) 3.7.1Oracle SQL排序原理 (44) 3.7.2需要进行排序的操作 (45) 3.7.3排序性能诊断 (45) 3.7.4监控临时表空间的使用情况 (45)

ORACLE数据库基础测试题oracle数据库复习题

ORACLE数据库基础测试题 提示:本题为ORACLE数据库基础测试题,适合初学者对基础知识进行测试,以便查漏补缺。 1、 DDL指得就是:()。 A、数据定义语言 B、数据操作语言 C、数据查询语言 D、数据控制语言 正确答案:A解析: 2、 下列创建表语句正确得就是:(). A、create table emp(id number(4),); B、createtable emp(id number(4)); C、alter table emp(id number(4)) ; D、alter tableemp(id number(4),) ;

正确答案:B解析: 3、 下列Oracle函数中能够返回两个字符串连接后得结果得就是:()。 A、initcap B、instr C、trim D、concat 正确答案:D解析: 4、 下列SQL语句得查询结果就是:()。selectround(45、925,0),trunc(45、925)fromdual; A、4545 B、4645 C、4546 D、46 46 正确答案:B解析:

5、 关于函数nvl(d1,d2)得用法说法正确得就是:()。 A、表示如果d1为null则d2必须为null B、表示如果d1为null则忽略d2 C、表示如果d1不为null则用d2替代 D、表示如果d1为null则用d2替代 正确答案:D解析: 6、 显示emp表得所有行,所有列,下列SQL语句正确得就是:()。 A、select*fromemp; B、select all、*from emp; C、selectallfromemp; D、select/* from emp; 正确答案:A解析: 7、 查询职员得姓名及其直接领导,如果没有直接领导得职员,则显示为“NoManager",下列SQL语句正确得就是:()。

oracle习题及答案

1.查询工资大于12000的员工姓名和工资 Select last_name||' '||first_name,salary from employees where salary >12000; 2.查询员工号为176的员工的姓名和部门号 Select last_name||' '||first_name,department_id from employees where employee_id=176; 3.选择工资不在5000到12000的员工的姓名和工资 Select last_name||' '||first_name,salary from employees where salary not between 5000 and 12000; 4.选择雇用时间在1998-02-01到1998-05-01之间的员工姓名,job_id 和雇用时间 Select last_name||' '||first_name,job_id,hire_date from employees where hire_date between '1-2月-98' and '1-5月-98'; 5.选择在20或50号部门工作的员工姓名和部门号 Select last_name||' '||first_name,department_id from employees where department_id in (20,50); 6.选择在1994年雇用的员工的姓名和雇用时间 Select last_name||' '||first_name,hire_date from employees where hire_date like '%94'; 7.选择公司中没有管理者的员工姓名及job_id Select last_name||' '||first_name,job_id from employees where Manger_id is null;

Oracle系统设计的优势和原则

1. RAC 也许很多人仍然对于RAC抱有怀疑,就跟很多人对于RAC抱有迷信一样,持有RAC的性能还不如单节点这样论调的人跟持有性能不好实施RAC就能解决这样论调的人恐怕人数不相伯仲。 其实RAC在性能因素上对于应用的提升仅仅是一个方面,RAC对于高可用性的贡献才是真正无可替代的,目前我还不知道有任何其它一种技术可以当Oracle数据库的一个实例损坏的时候(比如主机的网卡出现故障或者主机根文件系统被充满导致机器没有响应等等)另外一个实例可以立刻顶上并提供服务。普通的HA做不到,Data Guard做不到,Streams也同样做不到。 RAC多节点能够提供数据库软件滚动升级,对于Oracle11g之前的数据库来说这个功能大大减少了系统down机时间,当然实际上Data Guard也可以做到这点,不过即使是Data Guard 也仍然有一个Switchover的过程,这仍然需要更多一些的down机时间。 2. Data Guard RAC的所有节点持有同样一份数据文件,那么对于RAC来说,致命的故障可能发生在盘阵的损坏或者连接盘阵的光纤交换机损坏,这种情况下有多少个节点也无济于事,因为数据文件出问题了。而Data Guard弥补的是这方面的需求,两个或者多个实例,两份或者多份存储,在一个实例一份存储坏掉的情况下,可以通过Failover或者Switchover命令来进行主备角色的互换。同时延时Apply功能在Oracle还没有大大增强Flashback的前几个版本中也同样有很大的实用价值。 3. Streams 个人认为Streams终将取代Advanced Replication,即使不提及Streams使用AQ技术而AR使用数据字典表来做延迟队列这两种技术的孰优孰劣,仅仅从最近几个版本的Oracle 数据库对AR没有做任何加强这一点上也可以求得佐证。当然,物化视图的刷新由于其操作的简单性以及技术的成熟性在今后很长一段时间内应该还会继续成为多个数据库实例之间同步数据的有效手段。 4. Partition 为什么这里要提到分区?因为大多数人认为分区带来的是性能提升,但是实际上我们认为分区带来的最大好处是高可用性的提升,诚然,正确地使用分区以及分区索引会带来性能上的提升,带来扩展性的提升,但是即使这些不是我们考虑的问题,为了一个系统能够有优越的高可用性,仍然强烈建议使用分区技术来规划数据库。举一个最简单的例子,当我们要卸载历史数据的时候,分区的DDL操作比起对于整表数据的DML操作而言带来的高可用性的提升无疑是巨大的。 那么对于上面那样一个系统,我的建议数据库架构是双节点RAC + Physical Standby + Partition,也许应用只会使用到RAC中的一个节点,但是仍然需要RAC;也许这份健壮的存储永远不会坏,我们仍然需要Data Guard,至少RMAN备份不用占据产品数据库的资源;也许单表数据只有几G,即使索引全扫描也仍然可以接受,我们仍然要分区。 更加Detail的一些设计和维护准则: 1. 并发度1000,这并不代表会有1000进程同时操作同一个data block,所以对于表和索引的inittrans设计可以参考V$SEGMENT_STATISTICS视图中的ITL waits值, V$SEGMENT_STATISTICS是Oracle9i之后很有用的但是经常被大家忽略掉的性能视图。 2. Segment使用LMT且uniform size,避免system automatic size可能产生的空间碎片,这要求我们能够对于Segment的可能大小在设计阶段就又预估,大小相差悬殊的Segment 分配到uniform size不同的表空间中去。

相关文档
最新文档