Oracle复习1

合集下载

oracle考试试题及答案

oracle考试试题及答案

oracle考试试题及答案试题一一、填空题(每小题4分,共20分)1、数据库管理技术经历了三个阶段2、数据库三级数据结构是__________________________________________________3、Oracle数据库中,SGA由___________________________________________组成4、在Oracle数据库中,完正性约束类型有___________________________________5、PL/SQL中游标操作包括________________________________________________二、正误判断题(每小题2分,共20分)1、数据库中存储的基本对象是数据()2、数据库系统的核心是DBMS()3、关系操作的特点是集合操作()4、关系代数中五种基本运算是并、差、选择、投影、连接()5、Oracle进程就是服务器进程()6、oraclet系统中SGA所有用户进程和服务器进程所共享()7、oracle数据库系统中数据块的大小与操作系统有关()8、oracle数据库系统中,启动数据库和第一步是启动一个数据库实例()9、PL/SQL中游标的数据是可以改变的()10、数据库概念模型主要用于数据库概念结构设计()三、简答题(每小题7分,共35分)1、何谓数据与程序的逻辑独立性和物理独立性?2、试述关系代数中等值连接与自然连接的区别与联系?3、何谓数据库,数据库设计一般分为哪些阶段?4、简述Oracle逻辑数据库的组成?5、试任举一例说明游标的使用方法?五、设有雇员表emp(empno,ename,age,sal,tel,deptno),其中:empno-----编号,name------姓名,age -------年齡,sal-----工资,tel-----电话 deptno-----部门号。

请按下列要求分别晨SQL*PLUS下编程。

Oracle期末考试复习题2

Oracle期末考试复习题2

复习题一、填空题:1. Oracle EnterpriseManager是一个基于 B/S的框架系统。

2.Oracle数据库的存储结构分为物理结构和逻辑结构。

3.在游标或者游标变量打开后还没有进行第一次提取时,%found属性为null。

4. 在oracle中已commit或rollback作为上一个事务的结束标志及下一个新事物开始的标志。

5. DML表示数据操作语言,主要的DML有SELECT,INSERT,UPDATE,DELETE.6.索引的主要目标是提高访问的速度。

7.在Oracle database 10g 系统中,可以使用DBCA工具和CREATE DATEBASE命令两种方式创建数据库。

8. 命令Startup nomount只能启动数据库实例,但不能装载和打开数据库。

9.在输入URL进入Oracle Enterprice Manager Database Control 的时候,必须指出ip地址和端口号。

10.在登录Oracle Enterprice Manager Database Control时,连接身份有两种选择,分别为normal 和sysdba。

二、选择题:1.当Oracle服务器启动时,下列哪种文件不是必须装入内存的()。

DA. 数据文件B. 控制文件C. 日志文件D. 归档日志文件2.在Oracle中,当用户要执行SELECT语句时,下列哪个进程从磁盘获得用户需要的数据()。

BA.用户进程 B. 服务器进程 C. 日志写入进程(LGWR) D. 检查点进程(CKPT)3. 在Oracle数据库的逻辑结构中有以下组件:A 表空间;B 数据块;C 区;D段;这些组件从大到小依次是()。

BA. A→B→C→DB. A→D→C→BC. A→C→B→DD. D→A→C→B4. (B )可以从过程返回多个值。

A. 使用IN参数B. 使用OUT参数C. 使用指针D. 不能5.PL/SQL为内存耗尽时,预定义了(C )异常。

oracle复习题纲

oracle复习题纲

一、选择题1.下面哪个命令是用于oracle中数据导出的()〔选择一项〕A.exp B、imp C、input D、output2.Oracle数据表中,下面哪个可以作为有效的列名()(选择一项)A.classB.123_NUMC.dateD.#123_NUM3.Oracle中的三种系统文件分别是()〔选择三项〕A.数据文件 DBFB.控制文件 CTLC.日志文件 LOGD.归档文件 ARC4.下面哪个命令可以用来查看学生表(表名student)的表结构( )〔选择一项〕A.Select student ;B.Display student ;C.Describe student ;D.Show student ;。

5.下面哪个命令不属于数据定义语言(DDL)( )(选择一项)A.alter table… B、drop index…C、create view…D、update tablename…6.在设计数据库时,要充分考虑数据的完整性或准确性。

下面关于primary key和unique的描述错误的是()〔选择一项)A.primary key用来在表中设置主键,主键列的值是不能重复的,用来唯一标识表中的每一条记录B.设为unique的列的值是不能重复的,用来唯一区别unique列的值C.primary key列不可以有null值, 而unique列是可以有null的D.primary key列和unique列都不可以有null值7.假定有一张表员工表employee,其中一性别字段sex,该列只能存入'男'或'女'。

为了维护数据的完整性,在设计数据库时,最好对sex字段添加约束,请问应该添加什么约束()(选择一项)A.primary key B、check C、default D、unique8.为表TEST中ID列添加主键约束的语法是()〔选择一项〕A.ALTER TABLE TEST CHANGE( ID INT PRIMARY KEY)B.ALTER TABLE TEST ADD( ID INT PRIMARY KEY)C.ALTER TABLE TEST MODIFY( ID INT PRIMARY KEY)D.ALTER TABLE TEST ADD CONSTRAINT PK PRIMARY KEY (ID)9.如果表DEPT包含3条记录,现在用如下命令对其进行修改,ALTER TABLE DEPT ADD(COMP NUMBER(4) NOT NULL);请问下面哪一个说法是正确的?( )(选择一项)A.该语句在表的最前面插入一个非空列B.该语句在表的最后插入一个非空列C.该语句执行完成后,应当立即执行COMMIT语句,以确保更改生效D.该语句将产生错误10.关于聚合函数描述错误的是()〔选择一项)A.avg(), sum() 只能用于数值类型的字段上B.max() , min() 只能用于数值类型的字段上C.max() , min() 可以用于数值类型或日期类型或字符串类型的字段上D.count()可以用于任何类型的字段上11.删除emp表中所有数据,且无法rollback,以下语句哪个命令可以实现()(选择一项)A.truncate table empB.drop table empC.delete * from empD.delete from emp12.Oracle中获得当前系统日期的查询语句是()〔选择一项〕A.Select getdate() ;B.Select sysdate ;C.Select sysdate from dual ;D.Select sysdate() from dual ;13.你发出命令: DROP TABLE emp;此时你还没有明确发出COMMIT命令。

oracle练习题及答案

oracle练习题及答案

oracle练习题及答案Oracle练习题及答案Oracle是一种强大的关系数据库管理系统,被广泛应用于企业级应用程序和数据管理中。

为了帮助大家更好地掌握Oracle数据库的知识,以下是一些Oracle练习题及答案,希望能够帮助大家更好地理解和掌握Oracle数据库的知识。

1. 什么是Oracle数据库?Oracle数据库是一种关系数据库管理系统,由美国Oracle公司开发。

它是一种高性能、可靠性高的数据库系统,被广泛应用于企业级应用程序和数据管理中。

2. Oracle数据库的特点有哪些?Oracle数据库具有以下特点:高性能、高可用性、可伸缩性、安全性高、灵活性强、易管理等。

3. 如何创建一个新的数据库用户?在Oracle数据库中,可以使用以下SQL语句来创建一个新的数据库用户:```CREATE USER username IDENTIFIED BY password;```4. 如何查看Oracle数据库中所有的表?可以使用以下SQL语句来查看Oracle数据库中所有的表:```SELECT table_name FROM user_tables;```5. 如何在Oracle数据库中插入一条新的记录?可以使用以下SQL语句来在Oracle数据库中插入一条新的记录:```INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);```6. 如何在Oracle数据库中更新一条记录?可以使用以下SQL语句来在Oracle数据库中更新一条记录:```UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;```7. 如何在Oracle数据库中删除一条记录?可以使用以下SQL语句来在Oracle数据库中删除一条记录:```DELETE FROM table_name WHERE condition;```通过以上Oracle练习题及答案的学习,相信大家对Oracle数据库有了更深入的了解。

ORACLE数据库及SQL语言考试题一(含答案)

ORACLE数据库及SQL语言考试题一(含答案)

ORACLE 数据库及SQL 语言考试题及答案考试试题说明:试题包括三类,名词解释、ORACLE 数据库知识问答、SQL 语句编写,主要用于考察新同事ORACLE 数据库知识和SQL 语言掌握情况。

名词解释可以在回答中阐明名词的定义和你所了解的任何相关信息,没有字数限制,但避免长篇大论,简要描述即可。

ORACLE 数据库知识问答,重点在于切中要害,回答按点给分,每题2分。

SQL 语句编写检查大家的实际SQL 语句编写能力及掌握情况,注意格式规范,要清晰易读。

一、名词解释一、名词解释1. 数据库数据库是按照数据结构来组织、存储和管理数据的仓库。

2. 实例实例是一组Oracle 后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享。

3. 表空间表空间是数据库的逻辑划分,用于存放数据库对象,主要是数据表,所以称作表空间。

ORACLE 自身存在一些表空间,如system 、user 和undo 表空间。

数据库用户也可以自己定义自己的表空间,并为每个表空间分配对应的数据文件。

4. 索引索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。

索引不论逻辑上和物理上都与相关的表的数据无关,索引需要独立的存储空间,所以索引在创建之初就需要设置对应的表空间。

二、ORACLE 数据库知识问答1. 数据表Pirmary Key 和Unique Key 的作用和区别作用:Pirmary Key 和Unique Key 都是为数据表提供唯一性约束。

区别:Primary key 的1个或多个列必须为NOT NULL ,如果列为NULL ,在增加PRIMARY KEY 时,列自动更改为NOT NULL 。

而UNIQUE KEY 对列没有此要求。

一个表只能有一个PRIMARY KEY ,但可以有多个UNIQUE KEY 。

2. dos 模式下数据库用户备份、恢复命令数据库备份:exp 用户名/密码@连接标识符数据库恢复:imp 用户名/密码@连接标识符3. 列举五个常用的集合函数max,min,sum,avg,count4. round 与trunc 在处理数字方面的区别,并举例说明round 返回四舍五入后的值,而trunc 返回截取后的值,不进行四舍五入。

oracle数据库期末考试试题及答案(一)

oracle数据库期末考试试题及答案(一)

一、选择一、选择1) CBO与RULE的区别,RBO根据规则选择最佳执行路径来运行查询,CBO根据表统计找到最低成本的访问数据的方法确定执行计划。

使用CBO需要注意:注意:a) 需要使用提示(Hint) b) 优化SQL的写法的写法c) 选择最有效率的表名顺序选择最有效率的表名顺序YZE命令进行分析统计ANALYZEd) 需要经常对表进行ANAL命令进行分析统计d) 需要稳定执行计划需要稳定执行计划2) 在Oracle中,一个用户拥有的所有数据库对象统称为()。

中,一个用户拥有的所有数据库a) 数据库数据库b) 模式模式c) 表空间表空间d) 实例实例3) 在Oracle中,可用于提取日期时间类型特定部分(如年、月、日、时、分、秒)的函数有()。

TEP ART DATEPa) DAb) EXTRACT c) TO_CHAR d) TRUNC 4) 在Oracle中,有一个教师表teacher的结构如下:的结构如下:ID NUMBER(5) NAME V ARCHAR2(25) EMAIL V ARCHAR2(50) 下面哪个语句显示没有Email地址的教师姓名()。

a) SELECT name FROM teacher WHERE email = NULL; b) SELECT name FROM teacher WHERE email <> NULL; c) SELECT name FROM teacher WHERE email IS NULL; d) SELECT name FROM teacher WHERE email IS NOT NULL; 5) 在Oracle数据库的逻辑结构中有以下组件:数据库的逻辑结构中有以下组件:A 表空间数据块 C 区D 段表空间 B 数据块这些组件从大到小依次是()。

a) A→B→C→D b) A→D→C→B c) A→C→B→D d) D→A→C→B 6) 在Windows操作系统中,Oracle的()服务监听并接受来自客户端应用程序的连接请求。

Oracle学习材料

Oracle学习材料

1.数据库的逻辑结构是由块、区、段和表空间组成的。

2.数据库的操作模式包括专用服务器和共享服务器。

3.Oracle关闭数据库的4种方式是正常关闭方式(NORMAL)、事务关闭方式(TRANSACTIONAL) 、立即关闭方式(IMMEDIA TE) 和强制关闭方式(ABORT) 。

4.重做日志文件的内容由重做记录组成,并且是由日志写进程(LGWR)后台进程写入到日志文件中的。

5.表空间有两种区管理方式,分别是本地管理和字典管理。

6.用户的验证方式有口令验证、外部验证和全局验证3种。

7.Oracle将权限分为系统权限和对象权限2种。

8.非系统表空间分为永久表空间、临时表空间和还原表空间三种类型。

9.SQL语句CREA TE TABLESPACE用于创建表空间。

10.Oracle关闭数据库的3个步骤是关闭数据库、卸载数据库和打开数据库。

11.初始化参数文件的两种类型分别是静态参数文件和服务器参数文件。

12.非系统表空间分为永久表空间、临时表空间和还原表空间三种类型。

13.概要文件主要提供资源限制和口令管理功能。

14.创建用户的SQL语句是CREA TE USER ,更改用户的SQL语句是ALTERUSER ,删除用户的SQL语句是DROP USER 。

15.使用OEM控制台创建用户时,系统将自动授予用于CONNECT 角色。

16.PL/SQL语句块分成标题部分、声明部分、执行部分和异常部分17.常用的单行函数可分成以下几类:系统变量、系统变量、_数字_、_字符_、_日期_、_数据类型转换和其他函数。

18.非系统表空间分为、和重做表空间三种类型。

19.Oracle数据库服务器由________和________构成。

20.在SQL语言中,为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用语句,收回所授的权限使用语第1页,共9页句。

21.当对某一表进行诸如、和这些操作时,oracle 就会自动执行触发器所定义的SQL 语句。

Oracle复习

Oracle复习

选择题:1.Oracle 11g中的g代表( B )A.网络B.网格C.节点D.站点2.Oracle数据库文件默认的安装目录是(B )A.adminB. ordataC.binD.database3.在数据库服务器的安装过程中,不是默认创建的账户是(B )A.SYSB.DBAC.SYSTEMD.SCOTT4.可以在Oracle服务器的安装目录的(C )文件中查看Oracle的各种端口的使用情况A.spfile.oraB.initorcl.oraC.portlist.iniD.tnsname.ora5.完全卸载Oracle 11g时,需要进行的第一步操作是(A )A.停止所有的Oracle服务B.启动Oracle的卸载向导C.删除磁盘上的Oracle文件D.删除数据Orcl6.SQL Developer软件不可以用于(D )A.创建表B.创建存储过程C.录入表的数据D.创建数据库7.登录SQL Seveloper软件时,主机名要写( A )A.主机的名字B.数据库的名字C.AdministratorD.SYS8.在SQL*Plus中执行刚输入的一条命令用(A )A.正斜杠/B.反斜杠\C.感叹号D.句号9.在SQL*Plus中显示当前用户的命令是(C )A.show accountB.show accountnameC.show userD.show username10.在SQL*Plus中显示EMP表结构的命令是(B )A.LIST EMPB.DESC EMPC.SHOW DESC EMPD.STUCTURE EMP11.Oracle数据库物理存储结构是指(D )A.控制文件B.重做日志文件C.数据文件D.以上都是12.以下(A )内存区不属于SGAA.PGAB.重做日志缓冲区C.数据库高速缓冲区D.共享池13.下列组建不是Oracle实例的组成部分是(C )A.系统全局区B.pmon后台进程C.控制文件D.调度程序14.系统全局区的缓冲区以循环方式写入的是(D )A.数据缓冲区B.重做日志缓冲区C.大池D.共享池15.如果一个服务进程中止,下列进程可以用来释放它所占有的资源的是(D )A.DBWNB.LGWRC. SMOND.PMON16.保护监听程序配置信息的位置和名称分别是(C )A.客户端,listener.oraB.客户端,tnsnames.oraC.服务器端,listener.oraD.服务端端, tnsnames.ora17.为了通过网络连接数据库,需要在客户端建立(C )A.监听程序进程B.实例服务C.网络连接服务台D.HTTP服务18.Oracle客户端定义与服务器连接的配置文件的路径通常为(D )A.$Oracle_home/binB. $Oracle_home/admin/C. $Oracle_home/network/D. $Oracle_home/network/admin/19.在Windows操作系统中,Oracle的(A )服务监听并接受来自客户端应用程序的连接请求A.OracleHome_NAMETHNSListenerB.OracleServiceSIDC.OracleHOME_NAMEAgentD.OracleHOME_NAMEHTTPServer20.Oracle网络监听器位于(B )A.Oracle客户端B.Oracle服务器端C.Oracle客户端和服务器端D.Oracle的中间层服务器端21.创建数据库时命令格式的关键字是( A )。

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

1. 创建数据库用户dbuser,口令为abc,默认表空间为USERS,配额为50 MB,初始账户为锁定状态。

create user dbuser identified by abc default tablespace users quota 50m on users account lock;
2. Oracle数据库的启动分为3个步骤进行
(1)创建并启动实例
根据数据库初始化参数文件,为数据库创建实例,启动一系列后台进程和服务进程,并创建SGA区等内存结构。

(2)装载数据库
装载数据库是实例打开数据库的控制文件,从中获取数据库名称、数据文件和重做日志文件的位置、名称等数据库物理结构信息,为打开数据库做好准备。

(3)打开数据库
在此阶段,实例将打开所有处于联机状态的数据文件和重做日志文件。

3. Oracle的物理存储结构。

∙数据文件——用于存储数据库中的所有数据;
∙控制文件——用于记录和描述数据库的物理存储结构信息;
∙重做日志文件——用于记录外部程序(用户)对数据库的改变操作;
∙归档文件——用于保存已经写满的重做日志文件;
∙初始化参数文件——用于设置数据库启动时的参数初始值;
4. 设置归档模式。

(1)关闭数据库
SQL>SHUTDOWN IMMEDIATE
(2)启动数据库到MOUNT状态
SQL>STARTUP MOUNT
(3)将数据库设置为归档模式
SQL>ALTER DATABASE ARCHIVELOG;
(4)打开数据库
SQL>ALTER DATABASE OPEN;
5. Oracle的逻辑存储结构。

逻辑存储结构分为数据块、区、段和表空间4种。

其中,数据块是数据库中的最小I/O 单元,由若干个连续的数据块组成的区是数据库中最小的存储分配单元,由若干个区形成的段是相同类型数据的存储分配区域,由若干个段形成的表空间是最大的逻辑存储单元,所有的表空间构成一个数据库。

6.SGA构成。

数据高速缓冲区存储的是最近从数据文件中检索出来的数据,供所有用户共享。

重做日志缓冲区用于缓存用户对数据库进行修改操作时生成的重做记录。

共享池用于缓存最近执行过的SQL语句、PL/SQL程序和数据字典信息.
大型池是一个可选的内存配置项,主要为Oracle共享服务器、服务器I/O进程、等需要大量缓存的操作提供内存空间。

Java池是一个可选的内存配置项,提供对Java程序设计的支持.
流池是一个可选的内存配置项,用于对流的支持。

7. 简述Oracle 数据库的安全控制机制有哪些。

(1)用户管理:为了保证只有合法身份的用户才能访问数据库,Oracle提供了3种用户认证机制,即数据库身份认证、外部身份认证和全局身份认证。

只有通过认证的用户才能访问数据库。

(2)权限管理:用户登录数据库后,只能进行其权限范围内的操作。

通过给用户授权
或回收用户权限,可以达到控制用户对数据库操作的目的。

(3)角色管理:通过角色方便地实现用户权限的授予与回收。

(4)表空间设置和配额:通过设置用户的默认表空间、临时表空间和在表空间上的使用配额,可以有效地控制用户对数据库存储空间的使用。

8.创建一个序列用于产生部门编号,起始值为280,步长为10,最大值为9990,不缓存。

语句为
SQL>CREATE SEQUENCE departments_seq
START WITH 280 INCREMENT BY 10 MAXVALUE 9990 NOCACHE;
9.查询工资高于3000的员工所在部门号,不要重复输出部门号,升序排列。

select distinct department_Id from employees where salary>3000 order by department_id;
10.查询每个部门的部门号、平均工资和人数,按部门号升序排列。

select department_id,avg(salary),count(*) from employees group by department_id order by department_id;
11.查询在SALES部门工作的所有员工的姓、名、工资。

select first_name,last_name,salary from employees where department_id=(select department_Id from departments where department_name=’SALES’);
12.查询名字(first_name)当中的第二个字母是M的员工信息。

select * from employees where first_name like ‘_M%’;
13.查询职位是‘SALER’的员工的员工号、姓、名、部门号和工资。

select employee_id,first_name,last_name,department_id,salary from employees where job_id=’SALER’;
14.编写PL/SQL程序块,输出employees表中50号员工的工资、职位。

declare
v_sal number;
v_job varchar2(20);
begin
select salary,job_id into v_sal,v_job from employees where employee_id=50; dbms_output.put_line(v_sal||v_job);
end;
15.创建一个存储过程,以员工号为参数,修改该员工工资,若雇员属于10号部门,则增加150,若雇员属于20号部门,则增加200,若雇员属于30号部门,则增加250,其它部门则增长300。

create procedure add_sal(empno number)
as
v_add number;
v_deptno number;
begin
select department_id into v_deptno from employees where employee_id=empno; case v_deptno
when 10 then v_add:=150;
when 20 then v_add:=200;
when 30 then v_add:=250;
else v_add:=300;
end case;
update employees set salary=salary+v_add where employee_id=empno;
end;
16.创建一个函数,以部门号为参数,返回该部门的平均工资。

create function f_avgsal (deptno number)return number
as
v_avgsal number;
begin
select avg(salary) into v_avgsal from employees where department_id=deptno; return v_avgsal;
end;
17.在employees表上创建一个触发器,当插入、删除或修改员工信息时,统计10号部门的人数及平均工资,并输出。

create trigger tr_emp after insert or delete or update on employees
declare
v_count number;
v_avgsal number;
begin
select count(*),avg(salary) into v_count,v_avgsal from employees where
department_Id=10;
dbms_output.put_line(v_count||v_avgsal);
end;。

相关文档
最新文档