版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Oracle数据库基础教程
参考答案
第1章Oracle数据库概述
1.简答题
(1)
数据是描述事物的符号,是数据库中存储的基本对象。在计算机中,用记录的形式来描
述数据。数据与数据的解释即数据的语义是紧密结合的。数据库是指按一定的数据模型组织、
描述和存储的数据的集合。数据库管理系统是位于操作系统与用户之间的一层数据管理软
件。数据库系统是指数据库、数据库管理系统与计算机系统的结合。通常,在不引起混淆的
情况卜将数据库系统简称为数据库。
(2)
数据库管理系统的主要功能包括:数据定义、数据操纵、数据库运行与控制、数据库建
立与维护、数据字典定义以及数据通信等。数据库管理系统的内部分多个层次,由应用层、
语言定义及其翻译处理层、数据存取层、数据存储层、操作系统以及数据库组成。
(3)
数据库系统由数据库、操作系统、数据库管理系统、开发工具、应用系统、数据库管理
员以及数据库用户组成。
(4)
概念模型是用简单、清晰、用户易于理解的概念来描述现实世界具体事物及事物之间的
关系。它是现实世界到信息世界的抽象,是数据库设计人员进行数据库设计的工具,与具体
的数据库管理系统无关。
组织数据模型是从数据组织方式的角度来描述信息,它决定了数据在数据库中的组织结
构。
(5)
E-R图由3个要素组成:实体、联系与属性。实体之间的联系有1:1、1:n、n:n三
种类型。
(6)
Oracle之所以得到广大用户的青睐,其主要原因在于:支持多用户、大事务量的事务处
理、提供标准操作接口、实施安全性控制和完整性控制、支持分布式数据处理、具有可移值
性、可兼容性和可连接性。
(7)
目前市场上常见的关系数据库管理系统包括Oracle、DB2、Sybase和SQLServer等。
Oracle是当今最大的数据库厂商Oracle公司的数据库产品。它是世界上第一个商品化
的关系型数据库管理系统,也是第一个推出与•数据库结合的第四代语言开发工具的数据库产
品。
DB2是IBM公司于1983年推出的一个商业化关系数据库管理系统,它是基于SystemR
基础上实现的。可以运行在各种不同的操作系统平台上,如UNIX,VMS,Windows,OS/2
等。
Sybase可以运行在不同的操作系统平台上,如UNIX,VMS,Windows,Netware等。
作为网络数据库,Sybase采用开放的体系结构,支持网络环境下各节点数据库的互相访问。
MicrosoftSQLServer是微软公司推出的应用于Windows操作系统上的关系数据库产
品。MicrosoftSQLServer是Microsoft公司从Sybase公司购买技术而开发的产品,与Sybase
数据库完全兼容,它支持客户机/服务器结构。
(8)
基于Oracle数据库的应用系统结构主要分为客户机/服务器结构、浏览器/服务器结构以
及分布式数据库系统结构等。
(9)
关系的完整性约束包括三类:实体完整性、参照完整性和用户定义完整性。
实体完整性:是指关系中必须定义主键,以惟一的确定一个元组。主键由一个或多个属
性构成,其取值惟一且不能为空(NULL)。
参照完整性:在关系模型中,通过外键来表示表之间的联系。参照完整性是指一个表中
的外键的取值必须是参照表中主键存在的值或为空(NULL)。例如,学生信息表中“班号”
属性为外键,其取值必须是班级信息表中“班号”属性的某一个值或为空。
用户定义完整性:是指用户根据特定应用情况,设定一些约束,反映某一具体应用所涉
及的数据必须满足的语义要求。例如,“性别”属性的域为“男、女”。
(10)
Oracle9i作为Oracle公司一代软件平台的舰旗产品,被业界称为Oracle有史以来“最重
大的软件工程”,对以前版本的数据库性能进行改进的同时,增加了很多新的功能:系统管
理、数据库可靠性、数据库可扩展性、数据库性能和数据库安全性等。此外,Oracle》中还
引入了很多新的特性,如实现连续的数据可用性、自助错误更正、端到端的安全体系结构、
可管理性等。
OraclelOg数据库特性:OraclelOg是第一个为网格计算设计的关系数据库,其中的g是
指网格(grid)。OraclelOg提供了企业网格计算所需要的集群、工作负载和数据中心自动化
等,提高了系统的管理性能和服务质量。为了支持网格计算,OraclelOg在增强Oracle9i性
能的同时,又增加了一些新的特性,包括网格计算、数据库自动化、数据库自我调整、真正
集群技术、高可用性、超大型数据库支持、分布式事务处理等。
2.实训题
(2)E-R图如下:
T姓名性别〕髓X。)
关系模式如下:
教师(教师号,姓名,性别,出生日期,系,职称,课程号)
课程(课程号,课程名,学分)
学生(箜号,姓名,性别,年龄,班级,系)
学习(学号,课程号,成绩)
第2章数据库服务器的安装与卸载
1.简答题
(1)
在安装数据库服务器之前需要进行如下准备:
①启动操作系统,并以Administrator身份登录。
②检查计算机名称、检查源文件完整路径,如果包含中文字符则需要修改为不含中文字
符。
③检查服务器系统是否满足软硬件要求。
④对服务器进行正确网络配置。
⑤如果服务器上运行其它Oracle服务,必须在安装前将它们全部停止。
⑥如果服务器上运行有以前版本的Oracle数据库,则必须对其数据进行备份。
⑦决定数据库的创建方式。
(2)
企业版数据库服务器包含所有的数据库组件,主要针对高端的应用环境,适用于安全性
和性能要求较高的联机事务处理(OETP)、查询密集型的数据仓库和要求较高的Internet应
用程序:标准版数据库服务器提供大部分核心的数据库功能和特性,适合于工作组或部门级
的应用程序:个人版数据库服务器只提供基本数据库管理功能和特性,适合单用户的开发环
境,为用户提供开发测试平台。
(3)
常用数据库类型包括事务处理类、数据仓库类以通用类型。其中事务处理类型主要针对
具有大量并发用户连接,并且用户主要执行简单事务处理的应用环境。事务处理数据库的典
型应用有银行系统数据库、Internet电子商务数据库、证券交易系统数据库等。对于需要较
高的可用性和事务处理性能、存在大量用户并行访问相同数据以及需要较高恢复性能的数据
库环境,事务处理类型的配置可以提供最佳性能;数据仓库类型的数据库主要针对有大量的
对某个主题进行复杂查询的应用环境。数据仓库的典型应用有客户订单研究、支持呼叫、销
售预测、采购模式以及其他战略性业务问题的历史数据研究。对于需要对大量数据进行快速
访问,以及复杂查询的数据库环境,数据仓库类型配置是最佳选择;通用类型配置的数据库
是事务处理数据库与数据仓库配置的折衷方案。既可以支持大量并发用户的事务处理,又可
以快速对大量历史数据进行复杂的数据扫描和处理。
(4)略
(5)
以SYSDBA身份登录的用户具有创建数据库启动或关闭数据库与实例、使用ALTER
DATABASE执行打开、备份数据库等变更操作、对数据库进行归档或恢复、受限状态下连
接数据库以及创建服务器端初始化参数文件等权限。以SYSOPER身份登录的用户具有启动
或关闭数据库与实例、使用ALTERDATABASE执行打开、备份数据库等变更操作、对数
据库进行归档或恢复、受限状态下连接数据库以及创建服务器端初始化参数文件等权限。
(6)
在本地数据库服务器系统中,以SYSDBA身份登录数据库服务器然后重新设定SYS或
SYSTEM用户的口令。
(7)
卸载数据库服务器软件的步骤为:
①停止所有Oracle相关的服务
②卸载Oracle9数据库服务器组件
③删除注册表中Oracle目录、服务以及事件日志
④删除Oracle环境变量
⑤删除TEMP目录下Oracle相关的文件夹
⑥检查“开始”菜单中是否还有Oracle菜单,如果有,则将其删除
⑦删除Windows系统安装磁盘中的ProgramFiles\Oracle目录
⑧删除Oracle安装目录
(8)参考(2)题。
(9)
OFA是Oracle组织文件以及文件命名的一套规则。例如<ORA_HOME>对应存放安装软
件的目录,在Oracle相关服务中都包含主目录名称等。
(10)略
2.实训题
⑴略
(2)略
(3)
打开网络管理对话框,分别选中左侧树状结构中的监听器和数据库,修改右侧对话框中
的主机名为当前的计算机名。
(4)略
第3章创建数据库
1.简答题
(1)
创建数据库方法有两种:使用数据库配置助手(DBCA)创建数据库或运行脚本手工创
建数据库。DBCA(DatabaseConfigurationAssistant)是Oracle提供的用于创建数据库的图
形界面工具,内置数据库模板,可以直观快速地创建数据库。可在Oracle9i数据库服务安装
时自动启动,或在需要创建数据库时单独启动。该创建方式比较适合于初学者。手动创建数
据库方式比DBCA方式具有更大的灵活性和效率,但需要用户对Oracle9i数据库的创建语
法和参数有深入了解,适合有经验的DBA。
(2)
创建数据库的模板包括“数据仓库”、“通用”、“事务处理”、“自定义”四种,其中“数
据仓库”用于创建数据量大、数据变化小,用户少,用户数据分析和决策支持。“事务处理”
类型数据库主要用户联机处理,用户多,数据不断变化。“通用”类型数据库是集前两者的
优点,具有通用性;“自定义”是用户自己选择安装组件和参数设置。
(3)
创建数据库之前应该做好规划、检查系统资源情况以及决定数据库的创建方式。
(4)
手动创建数据库通常包含如下的操作步骤:
①确定新建数据库名称与实例名称;
②确数据库管理员的认证方式;
③创建初始化参数文件;
④创建实例;
⑤连接并启动实例;
⑥使用CREATEDATABASE语句创建数据库;
⑦创建附加的表空间;
⑧运行脚本创建数据字典视图
(5)
CREATEDATABASE语句中参数含义为:
参数名称说明
MAXINSTANCES指定同一时刻数据库允许被多少个实例装载和打开
MAXLOGHISTORY可以自动归档的最大日志文件的数量
MAXLOGFILES最大日志文件组数量
MAXLOGMEMBERS每个日志文件组中最大成员日志文件数量
MAXDATAFILES数据库中所允许创建的最多数据文件数量
ARCHIVELOG新建数据库处于归档模式
NOARCHIVELOG新建数据库处于非归档模式
CONTROLFILEREUSE按初始化参数文件中CONTROL_FILES的值创建控制文件:
如果同名文件存在则覆盖
LOGFILE指定重做H志文件组及组成员日志文件名称
DATAFILE为SYSTEM表空间创建的一个或多个数据文件的名称和位置
UNDOTABLESPACE创建撤销表空间,并为撤销表空间指定文件名称和为值
DEFAULTTEMPORARY创建临时表空间
TABLESPACE
CHARACTERSET指定使用的数据库字符集
NATIONALCHARACTER指定国家字符集
SET
AUTOEXTEND指定数据文件的自动扩展
(6)
文本初始化参数文件是一个本地的初始化参数文件,而服务器初始化参数文件是一个放
在数据库服务器端的共享的二进制初始化参数文件。文本参数文件的修改是通过直接对文本
的修改实现的,通过命令行是无法将修改后的参数值写入该文件中,而服务器初始化参数文
件是不能直接修改的,必须通过ALTERSYSTEM语句来进行参数修改的。
(7)
使用ALTERSYSTEM修改参数时应注意SCOPE的取值。
SCOPE子句说明
SCOPE=SPFILE对参数的修改仅记录在服务器初始化参数文件中,对动态参数和静态参数都适用,
修改后的参数在下一次数据库启动时生效。
SCOPE=MEMORY对参数的修改仅记录在内存中,只适合动态参数的修改,修改后立即生效。由于修
改结果并不会保存到服务器初始化参数文件中,因此下一次启动数据蚱实例时仍然采
用修改前的参数设置
SCOPE=BOTH对参数的修改同时保存到服务器初始化参数文件和内存中,只适合对动态参数的修
改,更改后立即生效,并日.下一次启动数据库实例时将使用修改后的参数设置。当执
行ALTERSYSTEM语句时,如果没有指定SCOPE子句,那么Oracle默认地招SCOPE
设置为BOTH
(8)
以通过以下方法查看初始化参数的设置情况。
©SHOWPARAMETERS命令
②查询数据字典V$PARAMETER或V$PARAMETER2或VSSPPARAMETER
③将服务器初始参数文件转换为文本出示参数文件。
2.实训题
(1)CREATESPFILEFROMPFILE=path
(2)CREATEPFILEFROMSPFILE
(3)略
(4)略
(5)SELECTNAME,VALUEFROMV$PARAMETER
(6)AETETSESSIONSETNLSDATEFORMAT=,YYYY-MM-DDHH24:MI:SS,
3.选择题
(1)c
(2)C
(3)A
(4)B
(5)A
(6)A
(7)C
(8)A
(9)B
(10)D
第4章Oracle企业管理器
1.简答题
(1)
第一层由客户端控制台(Console)和集成工具组成,为数据库管理员提供一个可视化
的图形管理界面。管理员利用该图形界面可以进行数据库的管理操作,包括任务定制、对象
管理等。管理操作命令传送到第二层的Oracle管理服务器进行处理。第二层由一个或多个
OMS组成,是OEM体系结构的核心。它提供了一个集中化的智能管理环境,在控制台和目标
节点之间传递信息,将从控制台接收的信息处理后发送到目标节点,同时将目标节点的执行
结果返回给控制台。第三层由安装了智能代理(OracleIntelligentAgent)程序的目标节
点组成,执行由OMS发送过来的任务。
(2)
首先启动相应的Oracle服务,然后启动OEM,登录到相应数据库后进行数据库的管理。
如果进行复杂的管理操作,需要首先配置OMS,然后登录到OMS方式进行数据库的管理操作。
(3)
独立启动OEM可以进行数据库的简单管理操作,而要管理除数据库外的其他类型的目
标、在多个OMS管理员之间共享管理数据、从Web浏览器中运行控制台、自动提示系统存在
的潜在问题、自动重复管理任务等需要采用登录到OMS方式进行。
(4)
通常以独立方式运行控制台时不需要连接到OMS,因此也没有必要创建OMS所需要的资
料档案库。但是,如果要在独立方式启动的OEM控制台中运行一些特殊的OEM集成工具,包
括ChangeManager、OracleExpertOracleSQLAnalyze、OracleIndexTuningWizard
和OracleTablespaceManager,则需要为控制台创建一个独立的资料档案库,以存储这些
工具在运行时所需要的管理数据。
独立资料档案库与OMS所使用的滨料档案库是不一样的,明显不同之处是独立资料档
案库只能由一个用户使用,而OMS所使用的资料档案库可以同时被多个用户共享。
(5)
使用多个OMS可以均衡载荷、实现信息共享。使用时需要注意每个OMS必须使用一
个资料档案库,但一个资料档案库可以被多个OMS使用o
(6)
在OEM中没有出现目标节点,其原因可能是该节点上的没有运行智能代理服务,或是
该节点已关闭,也可能是网络故障导致连接失败;
2.实训题
⑴略
(2)略
(3)略
(4)略
(5)略
第5章SQL*PLUS
1.简答题
(1)
在SQL*PLUS中可以执行的数据库管理管理包括:输入、编辑、存储、提取、运行和
调试SQL语句和PUSQL程序;处理数据、生成报表、存储、打印、格式化查询结果;列
出任何表的列的定义;在数据库之间存取和拷贝数据;从一个用户端发送和接受消息等。
(2)
保存文件的方法为:SAVEfilename
读取文件的方法为:GETfilename
(3)
CONNLECT]:连接数据库
DISCONNECT]:断开连接
SAVE:保存文件
GET:读入文件
START:执行文件
SHOW:显示环境变量值
SET:设置环境变量值
DESCRIBE:查看对象结构
CLEAR:清空缓冲区
COLUMN:设置格式输出
(4)
常用的格式控制命令包括:
COLUMN
TTITLE
BTITLE
REPHEADER
REPFOOTER
(5)
可以在SQL*PLUS环境中定义绑定变量或定义替换变量,用户与程序的交互。
2.实训题
(1)CONNECTSYSTEM/MANAGER@ORCL
(2)CONNECT/•ORCLASSYSDBA
(3)略
(4)
COLUMNSALFORMATL99999.99
SELECTEMPNO,SALFROMSCOTT.EMP;
(5)
TTITLECENTER'员工信息:'
BTITLERIGHT,制作人:,
SELECT*FROMSCOTT.EMP;
第6章物理存储结构
1.简答题
(1)
Oracle数据库体系结构由物理存储结构、逻辑存储结构和实例组成。其中物理存储结构
描述了操作系统层次数据的存储与管理,包括数据文件、日志文件、重做日志文件等组成。
逻辑结构描述了数据库内部数据的组织与管理,由表空间、段、区、块组成。实例是数据库
运行的软件结构,由内存结构和后台进程组成。数据库运行过程中,用户的操作在内存区中
进行,最终通过后台进行转化为对数据库的操作。
(2)
Oracle数据库物理结构包括数据文件、控制文件、重做日志文件、初始化参数文件、归
档文件、口令文件等。在控制文件中记录了当前数据库所有的数据文件的名称与位置、重做
日志文件的名称与位置,以及数据文件、重做日志文件的状态等。
⑶
数据文件中保存了数据库中的所有数据,包括数据字典以及用户数据。
(4)
控制文件保存数据库的物理结构信息,包括数据库名称、数据文件的名称与状态、重做
日志文件的名称与状态等。在数据库启动时,数据库实例依赖初始化参数定位控制文件,然
后根据控制文件的信息加载数据文件和重做日志文件,最后打开数据文件和重做日志文件。
(5)
重做日志文件是以重做记录的形式记录、保存用户对数据库所进行的修改操作,包括用
户执行DDL、DML语句的操作。如果用户只对数据库进行查询操作,那么查询信息是不会记
录到重做日志文件中的。
(6)
归档是数据库恢复及热备份的基础。只用当数据库归档模式时,才可以进行热备份和完
全恢复。进行归档设置包括归档模式设置(ARCHIVELOG)、归档方式设置以及归档路径的
设置等。
(7)
每个数据库至少需要两个重做日志文件,采用循环写的方式进行工作。当一个重做日志
文件在进行归档时,还有另一个重做日志文件可用。当一个重做日志文件被写满后,后台进
程LGWR开始写入下一个重做日志文件,即日志切换,同时产生一个“日志序列号”,并将这
个号码分配给即将开始使用的重做日志文件。当所有的日志文件都写满后,LGWR进程再重
新写入第一个日志文件。
(8)
数据库的物理结构尽量分散到不同磁盘空间,既有利于数据库的安全性,也有利于提供
系统的性能,如并发行等。
(9)
采用多路复用控制文件可以避免由于一个控制文件的损坏而导致数据库无法正常启动。
在数据库启动时根据一个控制文件打开数据库,在数据库运行时多路复用控制文件采用镜像
的方式进行写操作,保持所有控制文件的同步。
(10)
可以通过V$DATAFILE、V$CONTROLFILE>V$LOGFILE、V$LOG等数据字典可以
查询相应的物理结构信息。
2.实训题
(1)
ALTERTABLESPACEUSER
ADDDATAFILE'D:\ORACLE\ORADATA\ORCL\userdata03.dbf'SIZE50M';
(2)
ALTERTABLESPACEEXAMPLE
ADDDATAFILE'D:\ORACLE\ORADATA\ORCL\example02.dbf'SIZE20M';
(3)
ALTERDATABASEDATAFILE'D:\ORACLE\ORADATA\ORCL\userdata03.dbf'
AUTOEXTENDONNEXT5MMAXSIZE100M;
(4)
ALTERDATABASEDATAFILE'D:\ORACLE\ORADATA\ORCL\example02.dbf'
RESIZE40M;
(5)
SHUTDOWNIMMEDIATE;
在操作系统中重命名userdataO3.dbf>exampleO3.dbf分别为userdata04.db^example04.dbf
STARTUPMOUNT;
ALTERDATABASERENAMEFILE'D:\ORACLE\ORADATA\ORCL\userdata03.dbf',
'D:\ORACLE\ORADATA\ORCL\example03.dbf'TO
'D:\ORACLE\ORADATA\ORCL\userdata04.dbf',
'D:\ORACLE\ORADATA\ORCL\example04.dbf';
ALTERDATABASEOPEN;
(6)
ALTERDATABASEBACKUPCONTROLFILETO'D:\ORACLE\CONTROL.BKP';
(7)
ALTERDATABASEADDLOGFILEGROUP4
('D:\ORACLE\ORADATA\ORCL\redo04a.log','D:\ORACLE\ORADATA\ORCL\redo04b.l
og^SIZE5M;
(8)
ALTERDATABASEADDLOGFILEMEMBER
'D:\ORACLE\ORADATA\ORCL\redo04c.log'TOGROUP4;
(9)
SHUTDOWNIMMEDIATE
STARTUPMOUNT
ALTERDATABASEARCHIVELOG;
ALTERDATABASEOPEN;
ALTERSYSTEMARCHIVELOGSTART
(10)
ALTERSYSTEMSETLOG_ARCHIVE_DEST=,D:\ORACLE\BACKUP,
3.选择题
(1)B、C
(2)A
(3)A
(4)B
(5)B
(6)C
(7)B
(8)B
(9)D
(10)A
第7章逻辑存储结构
1.简答题
(1)说明数据库逻辑存储结构的组成和相互关系。
Oracle9i数据库的逻辑存储结构分为数据块、区、段和表空间四种。其中,数据块是数
据库中的最小I/O单元,由若干个连续的数据块组成的区是数据库中最小的存储分配单元,
由若干个区形成的段是相同类型数据的存储分配区域,由若干个段形成的表空间是最大的逻
辑存储单元,所有的表空间构成一个数据库。
(2)说明数据库表空间的种类,以及不同类型表空间的作用。
数据库表空间分为系统表空间和非系统表空间两类,其中非系统表空间包括撤销表空
间、临时表空间和用户表空间等。
SYSTEM表空间主要用于存储数据库的数据字典、PL7SQL程序的源代码和解释代码、
数据库对象的定义。撤销表空间专门进行回退信息的自动管理。临时表空间是专门进行临时
段管理的表空间。用户表空间用于分离不同应用的数据,而且能够减少读取数据文件时产生
的I/O冲突。
(3)说明数据库、表空间、数据文件以及数据库对象之间的关系。
一个数据库由一个或多个表空间构成,不同的表空间用于存放不同应用的数据,表空间
的大小决定了数据库的大小。一个表空间对应一个或多个数据文件,数据文件的大小决定了
表空间的大小。一个数据文件只能从属于一个表空间。一个数据库对象只能存储在一个表空
间中,但可以存储在该表空间所对应的一个或多个数据文件中。
(4)数据库表空间的管理方式有几种,各有什么特点?
数据库表空间的管理方式有两种:字典管理方式和本地管理方式。在字典管理方式下,
表空间使用数据字典来管理存储空间的分配,当进行区的分配与回收时,Oracle将对数据字
典中的相关基础表进行更新,同时会产生回退信息和重做信息。在本地管理方式中,区的分
配和管理信息都存储在表空间的数据文件中,而与数据字典无关。
(5)表空间管理时应考虑哪些问题?
表空间管理时,应该遵循以下原则:
•将数据字典与用户数据分离:
•将回退数据与用户数据分离;
•将表空间的数据文件分散保存到不同的硬盘匕
•为不同的应用创建独立的表空间。
(6)利用手动管理方式,如何有效管理数据块的使用?
DBA可以利用手动管理方式,通过为段设置PCTFREE和PCTUSED两个参数来控制
数据块中空闲空间的使用。
(7)数据库中常用的段有哪儿种,分别起什么作用?
根据存储对象类型不同,可以分为数据段、索引段、临时段和回退段四类。数据段用来
存储表或簇的数据。索引段用来存放索引信息,包括ROWID和索引键值。临时段用来保存
SQL语句在解释和执行过程中所产生的临时数据。回退段用于保存数据修改之前的信息,
包括数据修改前的值及其位置,即记录数据库中所有事务修改之前信息的段。
(8)说明回退段的作用,以及回退段的管理方式。
利用回退段中保存的信息,可以实现事务回滚、数据库恢复和数据的读一致性。回退段
的管理有两种方式,即自动撤销管理和手动撤销管理。
(9)说明数据库存储空间中碎片产生的原因以及如何回收碎片。
略。
(10)说明在创建数据库时如何合理规划数据库的物理存储结构和逻辑存储结构。
略。
2.实训题
(1)使用SQL命令创建一个本地管理方式下的自动分区管理的表空间USERTBS1,其对应
的数据文件大小为20MBo
createtablespaceUSERTBS1
datafile'd:\oracle\oradata\orcl\usertbs1.dbfsize50M
extentmanagementlocalautoallocate;
(2)使用SQL命令创建一个本地管理方式下的表空间USERTBS2,要求每个分区大小为
512KBo
createtablespaceUSERTBS2
datafile,d:\oracle\oradata\orcl\usertbs2.dbfsize50M
extentmanagementlocaluniformsize512K;
(3)修改USERTBS1表空间的大小,将该表空间的数据文件修改为自动扩展方式,最大值
为100MB。
alterdatabase
datafile'd:\oracle\oradata\orcl\usertbsl.dbf
autoextendonnext5Mmaxsize100M;
(4)为USERTBS2表空间添加一个数据文件,以改变该表空间的大小。
altertablespaceUSERTBS2
adddatafile'd:\oracle\oradata\orcl\usertbs2a.dbfsize50M;
(5)使用SQL命令创建一个本地管理方式下的临时表空间TEMPTBS,并将该表空间作为
当前数据库实例的默认临时表空间。
createtemporarytablespaceTEMPTBS
tempfile'd:\oracle\oradata\orcl\temptbs.dbfsize20M
extentmanagementlocaluniformsize16K;
(6)使用SQL命令对USERTBS1表空间进行联机和脱机状态转换。
altertablespaceUSERTBS1offline;
altertablespaceUSERTBS1online;
(7)创建一个回退表空间UNDOTBS,并作为数据库的撤销表空间。
createundotablespaceUNDOTBS
datafile'd:\oracle\oradata\orcl\undotbs.dbfsize20M;
altersystemsetUNDO_MANAGEMENT=AUTO,UNDO_TABLESPACE=UNDOTBS
scope=both;
(8)删除表空间USERTBS2,同时删除该表空间的内容以及对应的操作系统文件。
droptablespaceUSERTBS2includingcontentsanddatafiles;
(9)为USERTBS1表空间创建一个回退段,其中回退段的最优大小设置为2MB。
createrollbacksegmentundoseg
tablespaceUSERTBS1
storage(initial100Knext100Koptimal2MB
minextents20maxextent100);
(10)查询当前数据库中所有的表空间及其对应的数据文件信息。
selecttablespace_name,file_namefromdba_data_files;
3.选择题
(1)C
(2)C
(3)B
(4)A
(5)C
(6)A
(7)B
(8)A
(9)B
(10)D
(11)D
(12)A
第8章数据库实例与操作模式
1.简答题
(D
数据库实例是数据库系统的软件结构,由内存结构与后台进程组成,处于用户与物理数
据库之间,实现对数据库的操作。
(2)
SGA区由数据缓冲区、共享池、重做日志缓冲区、大型池、JAVA池构成;PGA区由排
序区、私有SQL区以及堆栈构成。SGA区是由Oracle分配的共享内存结构,包含一个数据
库实例共享的数据和控制信息。当多个用户同时连接同一个实例时,SGA区数据供多个用户
共享,所以SGA区又称为共享全局区。用户对数据库的各种操作主要在SGA区中进行。该内
存区随数据库实例的创建而分配,随实例的终止而释放。PGA区是在用户进程连接数据库,
创建一个会话时,由Oracle为用户分配的内存区域,保存当前用户私有的数据和控制信息,
因此该区又称为私有全局区。每个服务器进程只能访问自己的PGA区,所有服务器进程PGA
区总和即为实例的PGA区的大小。
(3)
数据高速缓冲区存储的是最近从数据文件中检索出来的数据,供所有用户共享。当用户
要操作数据库中的数据时,先由服务器进程将数据从磁盘的数据文件读到数据高速缓冲区
中,然后在缓冲区中进行处理。重做日志缓冲区用于缓存用户对数据库进行修改操作时生成
的重做记录。共享池用于缓存最近执行过的SQL语句、PL/SQL程序和数据字典信息,是对
SQL语句、PL/SQL程序进行语法分析、编译、执行的区域。
(4)
Oracle数据库进程包括用户进程、服务器进程和后台进程三类。其中,用户进程用户建
立用户数据库服务器的连接;服务器进程接受用户连接请求;后台进程实现数据库的后台操
作。
(5)
Oracle实例的主要后台进程包括数据库写进程(DBWR)、日志写进程(LGWR)、检查点
进程(CKPT)、系统监控进程(SMON)、进程监控进程(PMON)、归档进程(ARCH)、恢复进程
(RECO)、锁进程(LCKn)、调度进程(Dnnn)等。
DBWR进程负责把数据高速缓冲区中已经被修改过的数据(“脏”缓存块)成批写入数据
文件中永久保存,同时使数据高速缓冲区有更多的空闲缓存块,保证服务器进程将所需要的
数据从数据文件读取到数据高速缓冲区中,提高缓存命中率。
LGWR日志写入进程负责把重做日志缓冲区的重做记录写入重做日志文件中永久保存。
CKPT进程的作用就是执行检查点,更新控制文件与数据文件的头部,使其同步;,触发
DBWR进程,将脏缓存块写入数据文件。
SMON进程的主要功能包括:在实例启动时负责对数据库进行恢复;回收不再使用的临
时空间:将各个表空间的空闲碎片合并。
PMON进程的主要功能包括:负责恢复失败的用户进程或服务器进程,并且释放进程所
占用的资源;清除非正常中断的用户进程留下的孤儿会话,回退未提交的事务,释放会话所
占用的锁、SGA、PGA等资源;监控调度进程和服务器进程的状态,如果它们失败,则尝试
重新启动它们,并释放它们所占用的各种资源。
ARCH进程用户归档重做日志文件。
RECO进程用户数据库恢复。
(6)
数据库写入进程负责把数据高速缓冲区中已经被修改过的数据(“脏”缓存块)成批写
入数据文件中永久保存,同时使数据高速缓冲区有更多的空闲缓存块,保证服务器进程将所
需要的数据从数据文件读取到数据高速缓冲区中,提高缓存命中率。
当下列某个条件满足时,DB1VR进程将启动,将数据高速缓冲区中的脏数据写入数据文
件。
•服务器进程在数据高速缓存区中搜索一定数量的缓存块后,仍然没有找不到可用的
空闲缓存块,此时DBWR进程将被启动。
•检查点发生时,将启动DBWR进程。
•当数据高速缓冲区中LRU列表长度达到初始化参数DBBLOCKWRITE_BATCH指定值
的一半时,DBWR进程将被启动。
•DBWR进程发生超时(大约3秒,DBWR进程将被启动。
(7)
日志写入进程负责把重做日志缓冲区的重做记录写入重做日志文件中永久保存。
DBWR进程在工作之前,需要了解LGWR进程是否已经把相关的日志缓冲区中的重做记录
写入重做日志文件中。如果还没有写入重做日志文件,DBWR进程将通知LGWR进程完成相应
的工作,然后DBWR进程才开始写入。这样可以保证先将与脏缓存块相关的重做记录信息写
入重做日志文件,然后将脏缓存块写入数据文件,即先写重做日志文件,后写数据文件。
当下列事件发生时,LGWR进程将重做日志缓冲区中的重做记录写入重做日志文件。
•用户通过COMMIT语句提交当前事务。
•重做日志缓冲区被写满三分之一。
•DBWR进程开始将脏缓存块写入数据文件。
LGWR进程超时(大约3秒,LGWR进程将启动。
(8)
SMON进程的主要功能包括:在实例启动时负责对数据库进行恢复;回收不再使用的临
时空间;将各个表空间的空闲碎片合并。
PMON进程的主要功能包括:负责恢复失败的用户进程或服务器进程,并且释放进程所
占用的资源;清除非正常中断的用户进程留下的孤儿会话,回退未提交的事务,释放会
话所占用的锁、SGA、PGA等资源;监控调度进程和服务器进程的状态,如果它们失败,
则尝试重新启动它们,并释放它们所占用的各种资源。
(9)
在Oracle数据库中,数据库的操作模式分为专用服务器(DELICATEDSERVER)模式和
多线程服务器(MULTITHREADEDSERVER)模式两种。其中,在专用服务器模式中为每个用户进
程创建一个服务器进程,用户进程与服务器进程之间是1:1的关系;在共享服务器模式中,
一个服务器进程可以为多个用户进程服务器。
(10)
专用服务器模式工作过程
•用户进程向一个数据库实例发出连接请求。
•位于数据库服务器中的Oracle监听程序探测到用户进程请求后,首先验证用户进程
提供的用户名和口令,验证通过后建议一个专用的服务器进程为该用户进程提供服
务。
•用户提交一条SQL语句。
•专用服务器进程首先判断在共享SQL工作区中是否存在类似的SQL语句。如果不存
在,将为这条SQL语句分配新的共享SQL工作区,然后解析该语句。在解析过程中,
服务器进程将检查该语句的语法正确性。同时,该语句的私有数据和信息保存到服
务器进程的PGA中。
•解析完成后,服务器进程开始在数据高速缓冲区中寻找SQL语句所要求的数据。如
果数据不在数据高速缓冲区中,还需要从数据文件中将所需要的数据读取到数据高
速缓冲区中。
•服务器进程执行SQL语句。如果SQL语句要对数据进行更改,仅在数据高速缓冲区
中对缓存块进行更改,并将更改所生成的重做记录保存在重做日志缓存中。将来,
由LGWR进程将重做记录写入重做日志文件,由DBWR进程将脏缓存块写入数据文件。
•执行完毕后,服务器进程将结果返回给用户进程。
(11)
多线程服务器模式工作过程
•在客户端创建一个用户进程,连接数据库。
•位于服务器中的Oracle监听程序探测到用户进程请求后,首先验证用户进程提供的
用户名和口令,验证通过后将该用户进程分配给一个调度进程。用户进程直接与调
度进程进行交互。
•用户提交一条SQL语句,调度进程对SQL语句进行处理,然后将处理结果放入位于
SGA区中的一个“请求队列”中,同时将调度程序ID也存入请求队列。
•当某个共享服务器进程空闲时,从''请求队列”中取出一条处理后的SQL语句,并
对该语句进行解析和执行,得到它所请求的数据。
•共享服务器进程将处理结果放入SGA区中的一个“响应队列”中•
•调度程序定期检查“响应队列”,如果发现有自己送出请求的处理结果,则将结果取
出。调度程序根据处理结果中保存的调度程序ID来标识该结果是否是自己的。
•调度程序将处理结果返回给用户进程。
2.选择题
(1)D
(2)D
(3)B
(4)B
(5)D
(6)A
(7)D
(8)B
(9)B
(10)A
第9章数据库的启动与关闭
1.简答题
(1)
常用的数据库启动与关闭工具包括:SQL*PLUS.OEM、RMAN等。
(2)
数据库启动时首先根据初始化参数文件创建并启动实例,然后根据控制文件加载数据文
件和充作日志文件,最后打开数据文件和重做日志文件。
(3)
数据库关闭时首先关闭数据文件和重做日志文件,然后卸载数据文件和重做日志文件,
关闭控制文件,最后释放内存结构和后台进程,即关闭实例。
(4)
利用初始化参数文件中参数设置创建并启动实例;
利用控制文件中的信息定位并加载数据文件和重做日志文件。
重做日志文件用户在数据库运行过程中记录用户对数据库的修改操作。
(5)
数据库启动模式包括:
>STARTUPNOMOUNT
用于创建一个新的数据库或重建数据库的控制文件。
>STARTUPMOUNT
用于重命名数据文件、添加、删除或重命名重做日志文件、改变数据库的归档模式、
执行数据库完全恢复操作等。
>STARTUPNORMAL
正常启动数据库
>STARTUPFORCE
在下列情况下,需要使用STARTUPFORCE命令启动数据库:无法使用SHUTDOWN
NORMAL,SHUTDOWNIMMEDIATE或SHUTDOWNTRANSACTION语句关闭数据库实
例;在启动实例时出现无法恢复的错误。
>STARTUPRESTRICT
当执行下列操作时,需要使用STARTUPRESTRICT命令启动数据库:执行数据库数据
的导出或导入操作;执行数据装教操作;暂时阻止普通用户连接数据库:进行数据库移植或
升级操作等。
(6)
关闭数据库的方法包括:
>SHUTDOWN[NORMAL]
如果对数据库的关闭没有时间限制,则可以采用该命令正常关闭数据库。
当采用SHUTDOWNNORAML方式关闭数据库时,Oracle将执行下列操作:
•阻止任何用户建立新的连接;
•等待当前所有正在连接的用户主动断开连接;
•一旦所有用户断开连接,则关闭数据库;
•数据库下次启动时不需要任何实例的恢复过程。
>SHUTDOWNIMMEDIATE
如果要求在尽可能短时间内关闭数据库,如即将启动数据库备份操作、即将发生电力供
应中断、数据库本身或某个数据库应用程序发生异常需要关闭数据库等,都可以采用
SHUTDOWNIMMEDIATE命令来立即关闭数据库。
当采用SHUTDOWNIMMEDIATE方式关闭数据库时,Oracle将执行下列操作:
•阻止任何用户建立新的连接,也不允许当前连接用户启动任何新的事务;
•回滚所有当前未提交的事务;
•终止所有用户的连接,直接关闭数据库;
•数据库下一次启动时不需要任何实例的恢复过程。
>SHUTDOWNTRANSACTION
如果要求在尽量短的时间内关闭数据库,同时还要保证所有当前活动事务可以提交,则
可以采用SHUTDOWNTRANSACTION命令关闭数据。
当采用SHUTDOWNTRANSACTION方式关闭数据库时,Oracle将执行下列操作:
•阻止所有用户建立新的连接,也不允许当前连接用户启动任何新的事务;
•等待用户回滚或提交任何当前未提交的事务,然后立即断开用户连接;
•关闭数据库;
•数据库下一次启动时不需要任何实例的恢复过程。
>SHUTDOWNABORT
如果前三种方法都无法成功关闭数据库,说明数据库产生了严重错误,只能采用终止方
式,即SHUTDOWNABORT命令来关闭数据库,此忖会丢失一部分数据信息,对数据库完
整性造成损害。
当采用SHUTDOWNABORT方式关闭数据库时,Oracle将执行下列操作:
•阻止任何用户建立新的连接,同时阻止当前连接用户开始任何新的事务。
•立即结束当前正在执行的SQL语句。
•任何未提交的事务不被回滚。
•中断所有的用户连接,立即关闭数据库。
•数据库实例重启后需要恢复。
(7)
STARTUPNOMOUNT可用完成的管理操作包括:
用于创建一个新的数据库、重建数据库的控制文件等。
STARTUPMOUNT可以完成的管理操作包括:
用于重命名数据文件、添加、删除或重命名重做日志文件、改变数据库的归档模式、
执行数据库完全恢复操作等。
(8)
如果需要数据库处丁OPNE模式下执行维护任务,而同时要保证其他用户不能在数据
库中建立连接和执行操作,此时应该使用STARTUPRESTRICT命令启动数据库。
当执行下列操作时,需要使用STARTUPRESTRICT命令启动数据库。
•执行数据库数据的导出或导入操作
•执行数据装载操作
•暂时阻止普通用户连接数据库
•进行数据库移植或升级操作
(9)
所谓的静默状态是指只允许DBA用户在数据库中进行操作,而其他所有用户都不能进
行数据库的访问。DBA在进行数据库的管理与维护,执行某些特殊操作时,需要排除其他
用户对数据库的操作。例如,DBA在执行某些操作的程中,如果有其他用户访问操作的对
象,将导致管理操作失败;DBA的某些操作在执行过程中所产生的中间结果不应当被其他
用户看到。
当数据库处于挂起状态时,数据库所有的物理文件的I/O操作都被暂停。但是与静默状
态不同,挂起状态不禁止非DBA用户进行数据库操作,只是暂时停止所有用户的I/O操作
(10)
数据库启动时首先从默认位置读取服务器端初始化参数文件,如果没有,则读取默认位
置的文本初始化参数文件;如果还没有则可以通过PFILE参数指定文本初始化参数文件文
件。
2.实训题
(1)
STARTUPMOUNT
(2)
STARTUPRETRICT
ALTERSYSTEMDISABLERESTRICTEDSESSION
(3)
ALTERSYSTEMSUSPEND;
ALTERSYSTEMRESUME;
(4)
SHUTDOWNIMMEDIATE;
STARTUPMOUNT;
ALTERDATABASEOPENREADONLY;
SHUTDOWNIMMEDIATE;
STARTUPMOUNT;
ALTERDATABASEOPENREADWRITE;
(5)
SHUTDOWN;
SHUTDOWNIMMEDIATE;
SHUTDOWNTRANACTION;
SHUTDOWNABORT:
(6)
STARTUPFORCE
3.选择题
(i)c
(2)B
(3)C
(4)B
(5)B
(6)B
(7)A
(8)B
(9)B
(10)C
第10章复习题
1.简答题
(1)
数据库模式与用户之间的区别在于:用户是数据库的使用者和管理者,用户具有帐户状
态、访问权限和操作权限等属性。模式是一系列逻辑数据结构或对象的集合,是数据库中对
象的组织和管理单位。
(2)
在Oracle数据库中,根据表生存周期不同,可以分为永久性表和临时表;根据表中数
据组织方式不同,可以分为标准表、索引化表和分区表。索引化表是一种特殊的表,它按B
树的结构来组织和存储数据,将表的数据和索引的数据存储在一起。分区表是将一个表分成
若干个独立的组成部分进行存储和管理。
(3)
表的约束包括:
>主键约束:定义了主键约束的列取值不能为空,也不能重复。
>唯一值约束:定义了唯一值约束的列取值不能重复。
>检查约束:定义了检查约束的列取值要满足检查条件。
>外键约束:定义了外键约束的列取值要么是主表参照列的值,要么是空值。
>空/非空约束:定义了非空约束的列取值不能为空。
(4)
索引用于提高数据的查询效率。根据索引值是否唯一,可以分为唯一性索引和非唯一性
索引;根据索引的组织结构不同,可以分为平衡树索引和位图索引;根据索引基于的列数不
同可以分为单列索引和复合索引。
(5)
索引化表将按索引的结构组织表中的数据,整条记录都被保存在索引条目中。要启用溢
出存储功能,必须在创建索引化表时使用OVERFLOW子句指定溢出部分的存储空间,同
时使用PCTTHRESHOLD子句或INCLUDING子句来设置溢出方式。
(6)
所谓分区是指将一个巨型表或巨型索引分成若干个独立的组成部分进行存储和管理,每
一个小的、可以独立管理的部分,称为原来表或索引的分区。对巨型表进行分区后,即可以
对整个表进行操作,也可以针对特定的分区进行操作,从而简化了对表的管理和维护。
(7)
对表进行分区的方法包括:
>范围分区按照分区值的范围对表进行分区。
>列表分区按照分区值对表进行分区。
散列分区采用HASH算法在指定数量的分区中均等地分配数据.
复合分区先对表进行范围分区,然后对福个分区进行散列分区。
(8)
>簇是一种存储表数据的方法,一个簇由共享相同数据块的一组表组成。在一个簇中,
Oracle将多个表中具有相同相关列的记录聚簇在相同的数据块中。对于经常访问这
些列的应用来说,能够减少磁盘I/O时间,改善连接查询的效率。
>视图是从一个或多个表或视图中提取出来的数据的一种表现形式。在数据库中只有
视图的定义,而没有实际对应“表”的存在。通过视图的使用可以提高数据的安全
性,隐臧数据的复杂性,简化查询语句,分离应用程序与基础表,保存复杂查询等。
>序列是用于产生唯一序列号的数据库对象,可以为多个数据库用户依次生成不重复
的连续整数,通常使用序列自动生成表中的主键值。
>同义词是数据库中表、索引、视图或其他模式对象的一个别名。利用同义词,一方
面可以为数据库对象提供一定的安全性保障:另一方面可以简化对象访问。此外,
当数据库对象改变时,只需要修改同义词而不需要修改应用程序。
>数据库链接是在分布式数据库应用环境中的一个数据库与另一个数据库之间的通
信途径,将远程数据库映射到本地。所有能够访问本地数据库链接的应用程序均可
访问远程数据库中的模式对象。
(9)
在数据库中使用索引可以提高对表中数据的查询速度,但是,向表中插入数据需要更新
索引,会影响更新速度。如果表建了索引,在有条件查询时,系统先对索引表进行查询,利
用索引表可以找到相应记录的ROWID,索引建好后,由系统负责更新。
(10)
数据库中临时表分为事务级别的临时表和会话级别的临时表。创建表有三种方法:
定义表名、列名、类型与约束等直接创建表;利用子查询间接创建表。
2.实训题
(1)
Createtableclass(
CNOnumber(2)primarykey,
CNAMEvarchar2(20),
NUMnumber(3)
)
Createtablestudent(
SNOnumber(4)primarykey,
SNAMEvarchar2(10)unique,
SAGEnumber,
SEXchar(2),
CNOnumber(2)
)
(2)
Altertablestudentaddconstraintfk_cnoforeignkey(eno)referencesclass(cno)deferrable;
(3)
Altertablestudentaddconstraintck_sagecheck(sage>0andsage<=100);
(.4)
altertablestudentaddconstraintck_stucheck(sex="M'orsex=,F')modifysexdefault'M*
(5)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论