版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库系统教案目录目录专题一Oracle入门.11.教学目标.12.工作任务.13.相关实践知识.13.1Oracle10g的安装和卸载.13.2用NetConfigurationAssistant配置客户端服务名.103.3启动Oracle服务.163.4认识Oracle常用工具.183.5创建数据库和表空间.243.6Oracle中的用户管理.324.实验.345.课后作业.35专题二锁和表分区.361.教学目标.362.工作任务.363.相关实践知识.363.1使用行级锁和时间戳来保证数据完整性.363.2使用表级锁.403.3使用表分区.434.提高.495.实验.506.课后作业.5
2、0专题三SQL语句和SQL函数.52教学目标.52案例一Oracle数据库中的DDL、DML和DCL.531.教学目标.532.工作任务.533.相关实践知识.534.实验.675.课后作业.67案例二Oracle数据库中的函数及子查询.681.教学目标.682.工作任务.683.相关实践知识.683.1综合使用各种函数.683.2字符函数.783.3数字函数.813.4日期函数.843.5转换函数.854.实验.86-I-目录5.课后作业.86专题四数据库对象.871.教学目标.872.工作任务.873.相关实践知识.873.1使用同义词.873.2使用序列实现自增主键.893.3使用视图.
3、923.4使用索引加快表的查询.994.实验.1085.课后作业.108专题五PL/SQL编程.1101.教学目标.1102.工作任务.1103.相关实践知识.1103.1用PL/SQL块来查询表内信息.1113.2用条件控制语句来实现为员工加薪.1163.3使用循环控制语句.1183.4用顺序控制语句实现更新员工工资.1193.5PL/SQL异常处理机制的应用.1204.提高.1245.实验.1256.课后作业.126专题六游标.1271.教学目标.1272.工作任务.1273.相关实践知识.1273.1使用游标属性.1273.2用游标生成员工报表.1293.3用游标生成分部门员工报表.13
4、33.4用游标更新员工工资.1353.5使用REF游标动态返回结果集.1374.提高.1385.实验.1406.课后作业.140专题七过程、函数和程序包.1411.教学目标.1412.工作任务.1413.相关实践知识.1413.1无参的显示“HelloWorld!”的过程.1413.2用带输入参数的过程向表中插入记录.1423.3用带输出参数的过程查询表中的记录数.144-II-目录3.4使用带输入输出参数的过程查询记录是否存在.1443.5使用函数查询部门信息.1453.6使用程序包封装过程和函数.1474.提高.1504.1用过程返回结果集.1504.2在企业管理器中管理过程、函数和程序包
5、.1515.实验.1536.课后作业.153专题八触发器.1551.教学目标.1552.工作任务.1553.相关实践知识.1553.1BEFORE行级触发器.1563.2AFTER行级触发器.1603.3BEFORE语句级触发器.1613.4AFTER语句级触发器.1623.5INSTEADOF触发器.1643.6DDL触发器.1673.7数据库启动和关闭触发器.1683.8用户登录和退出触发器.1693.9管理触发器.1714.实验.1725.课后作业.173专题九数据库高级管理.1741.教学目标.1742.工作任务.1743.相关实践知识.1743.1用户和角色的创建和使用.1743.2
6、调整数据库从非归档模式到归档模式.1793.3数据导入导出.1844.实验.1935.课后作业.193-III-专题一Oracle入门专题一Oracle入门1.教学目标1.1了解Oracle10g的安装和卸载1.2学会配置Oracle客户端1.3学会使用Oracle常用工具:企业管理器、iSQL*Plus和SQL*Plus1.4掌握创建数据库和表空间的方法,了解Oracle的体系结构1.5掌握Oracle中的基本用户管理2.工作任务2.1在Windows环境下安装和卸载Oracle10g2.2配置Oracle客户端2.3学习使用Oracle常用工具:企业管理器、iSQL*Plus和SQL*Pl
7、us2.4创建数据库和表空间2.5创建用户并为之授权,修改用户口令,删除用户3.相关实践知识3.1Oracle10g的安装和卸载1.在Windows环境下,将Oracle10g安装盘放入光盘驱动器,安装程序会自动运行,显示如如图1-1所示的窗口。理论知识:Oracle简介Oracle公司,中文翻译成甲骨文公司,是全球最大的信息管理软件及服务供应商。该公司成立于1977年,总部位于美国加州的红木海岸城。目前,Oracle产品覆盖了大、中、小型机等几十种机型,Oracle数据库已成为世界上使用最广泛的数据库系统之一,Oracle公司已成为这一领域的领军者与标准制订者。经过30多年的不懈发展,Ora
8、cle数据库已经可以应用于从支持成千上万用户的分布式联机事务处理系统到拥有数万亿字节的用于决策支持数据仓库的广泛领域。Oracle公司推出的Oracle数据库系统始终占据着数据库市场龙头的地位。Oracle公司敢为人先,始终引领着数据库发展的潮流。在号称第三代互联网技术“网格计算”技术蓬勃兴起之时,Oracle公司推出了最新的支持网格环境的数据库解决方案Oracle10g,其中的g代表网格(grid)。-1-Oracle数据库教案_Oraclel0g数据库是第一个为企业级网格计算而设计的数据库。Oraclel0g在Oracle9i的基础上,提供了针对网格计算更多的特性,如更大的规模、可管理性、
9、高可用性及业务智能等。在过去的几年中,Oracle数据库环境已成为世界上最流行的数据库平台之一。据有关资料所述,目前Oracle已经占领了46以上的数据库市场份额,并且有进一步扩大的趋势。在高端数据库领域,Oracle更是无所匹敌,因此,掌握Oracle数据库技术是广大IT人员的一项基本要求。尽管Oracle数据库的主要目标依旧是服务于那些要求海量数据处理能力的大型公司或政府部门,但Oracle已经推出了许多适合较小组织的新产品,如PersonalOracle等。在各种操作系统平台上,都有相应的数据库产品。将Oracle集成到各种类型的企业和组织的计划正在进行中,并已经取得了巨大的成就,这意味
10、着不只是大企业需要O-racle数据库,广大中小企业同样需要Oracle数据库。图1-1光盘自动安装界面2.单击“开始安装”,启动安装向导,进入“选择安装方法”界面,如图1-2所示。-2-专题一Oracle入门图1-2选择安装方法3.可以选择“基本安装”或“高级安装”,我们选“基本安装”,同时选中创建启动数据库,输入创建的全局数据库(能唯一标识一个数据库的名称,Oracle10g之前的版本要求全局数据库名为数据库名数据库域名,Oracle10g对此没有要求)的名称(例如“orcl”)和口令。图1-3选择安装类型-3-Oracle数据库教案_注意:Oracle10gRelease2规定,口令不能
11、为“CHANGE_ON_INSTALL”,“MANAGER”,“DBSNMP”,“SYS-MAN”。这些口令分别为“SYS”“SYSTEM”“SYSMAN”“DBSNMP”四个数据库用户的默认口令。理论知识:Oracle10g数据库核心产品:Oracle数据库10g标准版1(OracleDatabase10gStandardEditionOne)Oracle数据库10g标准版(OracleDatabase10gStandardEdition)Oracle数据库10g企业版(OracleDatabase10gEnterpriseEdition)Oracle数据库10g个人版(OracleData
12、base10gPersonalEdition)一般的部门级别的应用,比如一个部门的考勤管理,标准版足够用,只有大型的企业级应用,比如一个大型制造企业的ERP系统,需要数据分布式的存储和计算,才选择企业版,个人版本一般个人学习用。4.选择“安装类型”。Oracle10gRelease2的安装类型可为:企业版、标准版和个人版,可根据需要进行选择,默认为企业版,单击“下一步”按钮,开始准备安装。图1-4准备安装接着安装程序自动进行“产品特定的先决条件检查”,如图1-5所示。5.安装程序自动对当前系统进行检查,检查其是否符合安装要求,只有最终出现“检查完成。此次检查的总体结果为:通过”(如图1-5),
13、才能继续安装,否则检查相应的检查项,逐一改正,直到“总体结果为:通过”。单击“下一步”按钮,继续安装,显示“概要”对话框,如图1-6所示。-4-专题一Oracle入门图1-5产品特定的先决条件检查图1-6安装概要-5-Oracle数据库教案_6.单击“安装”按钮,OracleUniversalInstaller将安装Oracle系统。在安装过程中,用户可以看到Oracle创建数据,以及对一些服务进行配置,如图1-7、图1-8、图1-9所示。图1-7安装过程图1-8配置特定服务-6-专题一Oracle入门图1-9复制数据库文件、创建并启动Oracle实例7.当安装完成后,安装向导将弹出如图1-1
14、0所示的窗口,显示已经安装的数据库信息。图1-10已安装数据库信息8.单击图1-10中的“口令管理”,弹出如图1-11“口令管理”窗口(也可以不点击“口令管理”,直接点“确定”进入到图1-12的安装结束界面,这样的话SYS、SYSTEM、DB-SNMP、SYSMAN用户的口令都是在图1-2中设置的口令,且SCOTT用户默认是被锁定的)。-7-Oracle数据库教案_图1-11口令管理9.拖动滚动条找到SCOTT用户,单击SCOTT用户“是否锁定帐户”列上的蓝钩,解除对SCOTT用户的锁定(因为在本书中许多的案例都是在SCOTT用户下完成的,所以需要为其解锁,在实际的安装过程中,用户可以根据实际
15、情况解锁或不解锁),为SYS和SYSTEM用户设置口令后单击“确定”,安装程序将返回到图1-10的窗口。10.单击图1-10中的“确定”,进入“安装结束”窗口,如图1-12所示。图1-12安装结束-8-专题一Oracle入门11.单击“退出”,退出安装程序。至此,Oracle10g安装完毕。“12.下面开始演示如何卸载Oracle10g。在Windows的“开始”菜单中依次选择:开始”“程序”“OracleOraDb10g_home1”“OracleInstallationProducts”“UniversalInstaller”,将显示如图1-13所示的窗口。图1-13卸载产品13.单击“卸
16、载产品”,出现如图1-14所示的窗口。-9-Oracle数据库教案_图1-14产品清单14.展开节点,选定要卸载的项目,然后单击“删除”,出现如图1-15所示的“确认”窗口,显示选定的卸载项目。图1-15卸载确认15.如果单击“是”,程序执行完毕即卸载选定的项目,在此只做演示,所以请点“否”退出卸载产品。3.2用NetConfigurationAssistant配置客户端服务名1.在Oracle安装完成之后,客户端要和数据库服务器建立连接,必须进行网络连接配置。在Windows的“开始”菜单中依次选择:“开始”“程序”“OracleOraDb10g_hom-e1”“配置和移植工具”“NetCo
17、nfigurationAssistant”,会出现如图1-16所示的窗口。图1-16欢迎使用-10-专题一Oracle入门理论知识:网络连接配置Oracle数据库基于“客户端/服务器”(Client/Server)系统结构,即客户端系统和服务器系统。服务器系统执行数据库相关的所有活动,客户端系统执行与用户交互的活动,它们又被称为前端系统和后端系统。客户端和服务器可以是一台机器,也可以是通过网络连接起来的不同操作系统、不同硬件平台的机器。客户端应用程序向数据库服务器发送请求并接收信息,以此种方式与数据库进行交互,充当用户与数据库之间的接口。数据库服务器对数据库进行管理,处理来自多个用户的访问,它
18、能够在所有客户端应用程序访问数据的过程中,全面地保持数据库的完整性,并控制数据库访问权限和其它安全性需求。在Oracle安装完成之后,客户端要和数据库服务器建立连接,必须进行网络连接配置,包括服务器端配置和客户端配置。即服务器端配置监听器和客户端配置服务名。可以用NetConfigurationAssistant或NetManager工具,甚至可以直接修改相关的参数文件。首先,服务器端的监听配置包括监听协议、端口号以及其它相关信息的参数。监听器配置存储在一个名叫listener.ora的参数文件中,该文件在Windows环境下可能的位置是“C:oracleproduct10.2.0db_1NE
19、TWORKADMIN”。其实我们可以不自己配置监听器,因为在安装Oracle的时候系统已经为我们配置好了一个名叫“LISTENER”的监听器,端口号是1521,它对应的服务是OracleOraDb10g_-home1TNSListener。然后,开始配置客户端服务名。配置服务名的目的是让客户端通过服务名来与远程或本地的监听器建立连接。客户端用它向服务器发送连接请求。要在一台没有安装数据库服务器的机器上连接Oracle服务器,必须单独安装Oracle客户端软件,在服务器上则自动包含了客户端软件。安装Oracle时用户指定了一个全局数据库名,即SID名称。Oracle用此SID名称在服务器端自动创
20、建了一个服务名,如图1-18中的“ORCL”(因此,当服务器和和客户端在一台机器上时,可以不配置服务名而直接使用系统自动创建的服务名)。在客户端创建服务名时,需要指定服务器端服务名、网络协议、主机名和监听器端口等。这些配置信息都存储在tnsnames.ora文件中,保存位置与listener.ora相同。2.在窗口中选择“本地Net服务名配置”,点击“下一步”,进入Net服务名配置,出现如图1-17所示的窗口。-11-Oracle数据教案_图1-17服务名配置3.选中“添加”单选按钮,点击“下一步”,出现如图1-18所示的窗口。图1-18服务名4.在服务名文本框中输入远程数据库的服务名,如“O
21、RCL”,单击“下一步”,出现“请选择协议”窗口,如图1-19所。-12-专题一Oracle入门图1-19请选择协议5.选择“TCP”并单击“下一步”,出现“TCP/IP协议”窗口,如图1-20所示。图1-20TCP/IP协议6.在文本框中输入数据库服务器的主机名“HANDSONSERVER”或服务器的IP地址,选择“使用标准端口号1521”,单击“下一步”按钮,出现如图1-21所示的“测试”窗口。-13-Oracle数据库教案图1-21测试7.选择“是,进行测试”,单击“下一步”按钮,出现如图1-22所示的窗口,提示“测试成功”。图1-22正在连接-14-专题一Oracle入门注意:如果提示
22、“测试未成功”,请点击“更改登陆”,改变SYSTEM用户的登陆口令为安装时设置的口令。8.在图1-22所示的窗口中单击“下一步”按钮,出现如图1-23所示的窗口。图1-23Net服务名9.输入要创建的本地服务名,如“MYSERVER”,单击“下一步”按钮,出现如图1-24所示的窗口。-15-Oracle数据库教案图1-24是否配置另一个Net服务名10.选择“否”,单击“下一步”按钮,出现如图1-25所示的窗口,提示“Net服务名配置完毕!”。图1-25服务名配置完毕11.单击“下一步”按钮,在出现的窗口中单击“完成”,结束本地服务名的配置。3.3启动Oracle服务1.在Windows的“开
23、始”菜单中依次选择:“设置”“控制面板”,在打开的窗口中选择“管理工具”,在双击打开后的窗口中选择“服务”,双击打开,出现“服务”窗口,查看-16-专题一Oracle入门其中以“Oracle”开头的服务,如图1-26所示。图1-26Oracle服务2.如果图1-26中的以下几项服务OracleServiceORCL、OracleOraDb10g_home1TNSList-ener、OracleOraDb10g_home1ISQL*Plus和OracleDBConsoleorcl的状态不是“已启动”,则选中该项服务,在单击右键后出现的菜单中选择“启动”,以启动该项服务;在某项服务的右键菜单中选择
24、“属性”,可打开“属性”窗口,在其“常规”选项中可以设置该项服务的“启动类型”为“自动”、“手动”或“禁用”;完成后关闭窗口退出。注意:在实际应用中,并非所有这些Oracle服务都必须启动,每项服务的功能请参见相关理论知识部分。理论知识:Windows中的Oracle服务Oracle数据库作为一项服务呈现给客户,即数据库执行客户端提交的任务。在Wind-ows中Oracle的每个实例都作为一项服务来启动。服务是在Windows注册表中注册的可执行过程,由Windows操作系统管理。Oracle服务可以手动启动,也可配置为在计算机启动时自动启动,无需用户干预,从而简化数据库的启动过程。Oracl
25、e服务的名称通常是一个包含全局数据库名称和OracleHOME名的字符串。常用的Oracle服务有:1.OracleHOME_NAMETNSListener服务如图1-26中的OracleOraDb10g_home1TNSListener服务。此服务是Oracle的监听程序。要连接到数据库服务器,客户端必须先连接到驻留在数据库服务器上的监听进程。监听器接收从客户端发出的请求,然后将请求传递给数据库服务器。一旦建立了连接,客户端和数据库服务器就可以直接通信了。监听器监听并接受来自客户端的连接请求。若监听器未启动,客户端将无法连接到数据库服务器。2.OracleServiceSID服务如图1-26
26、中的OracleServiceORCL服务。此实例是为名为SID(系统标识符)的数-17-Oracle数据库教案据库实例创建的。Oracle实例由一个系统标识符SID唯一地标识,以区别于此计算机上的其它任何实例。每次新创建一个数据库,系统会自动为该数据库的实例创建一个服务。如果此服务未启动,数据库客户端应用程序连接到数据库服务器时就会出现错误。3.OracleHOME_NAMEiSQL*Plus服务如图1-26中的OracleOraDb10g_home1iSQL*Plus服务。要使用iSQL*Plus,必须启动该服务。4.OracleDBConsoleOracle_SID服务如图1-26中的O
27、racleDBConsoleorcl服务。要使用企业管理器必须启动该服务。每次新创建一个数据库,也会新创建一个此项服务。3.4认识Oracle常用工具3.4.1企业管理器“1.打开浏览器,在地址栏中输入安装过程中图1-12中以“em”结尾的URL地址:http:/houtony:1158/em”,出现如图1-27所示的登录界面(如果是第一次登陆企业管理器,会出现“OracleDatabase10g许可授予信息”的网页,点击网页右下角的“我接受”按钮,即可进入到图1-27所示的界面)。图1-27企业管理器登录2.输入的用户名和口令,例如“SYS”和“SYS”,选择连接身份为“SYSDBA”,点击
28、“登录”,进入Oracle企业管理器的主界面,如图1-28所示。-18-专题一Oracle入门图1-28企业管理器主界面3.分别点击“主目录”、“性能”、“管理”、“维护”四个主菜单,查看企业管理器的主要功能。理论知识:Oracle企业管理器(OracleEnterpriseManager),简称OEM,从10g开始,可以用浏览器的方式来访问企业管理器。它是Oracle的集成管理平台,能够管理整个Or-acle环境,让用户可以以可视化的方式完成管理数据库对象、监视服务器的实时性能、对数据库进行备份和恢复、完成作业系统等一系列的功能。在Oracle10g安装完成后,开始时只有SYS和SYSTEM
29、用户才能登录到OEM,且S-YS用户只能以SYSDBA或SYSOPER身份,SYSTEM用户只能以NORMAL身份,其他用户必须经过相应的授权后才能登录。3.4.2SQL*Plus工具1.在Windows的开始菜单中选择“运行”,在“打开”文本框中输入“cmd”后,点击“确定”按钮,进入到命令控制台状态。2.在Dos提示符下输入命令“sqlplus/nolog”,按回车后可进入到字符界面的SQL*Plus,如图1-29所示。-19-Oracle数据库案例教程_教师用书图1-29进入到字符界面的SQL*Plus3.在SQL提示符下输入命令“connscott/tiger;”,按回车键系统提示“已
30、连接”后,再输入命令“SELECT*FROMdept;”,再按回车,执行结果如图1-30所示。图1-30在字符界面的SQL*Plus中执行查询命令4.在SQL提示符下输入“exit”命令,按回车后退出SQL*Plus,回到Dos状态。5.在Dos提示符下输入“sqlplusw”后,按回车,或者在Windows的开始菜单中依次选择“程序”“OracleOraDb10g_home1”“应用程序开发”“SQL*Plus”,都会弹出如图1-31所示的图形界面的SQL*Plus登录界面。-20-专题一Oracle入门图1-31图形界面的SQL*Plus登录6.输入用户名“SCOTT”和口令“TIGER”
31、,在主机字符串文本框中输入本地服务名“MYSERVER”,点击“确定”,可进入到图形界面的SQL*Plus的SQL提示符状态。7.在SQL提示符下输入命令“SELECT*FROMdept;”按回车后,运行结果如图1-32所示。图1-32图形界面的SQL*Plus中执行查询理论知识:SQL*Plus是Oracle最常用的工具之一,可用于接受和执行SQL语句和PL/SQL块。它有两种界面:字符界面和图形界面。使用SQL*Plus可以完成打开和关闭数据库、建立与数据库的连接、查看帮助信息、生成简单报表,以格式化的形式输出查询结果、查询数据字-21-Oracle数据库案例教程_教师用书典、向用户提示信
32、息并接受用户输入等数据库操作。3.4.3iSQL*Plus工具1.在浏览器地址栏中输入安装过程中图1-12所示的以“isqlplus”结尾的URL地址:“http:/houtony:5560/isqlplus”,进入到如图1-33所示的iSQL*Plus的登录页面。图1-33iSQL*Plus登录2.输入用户名“SCOTT”和口令“TIGER”,在连接标识符文本框中输入图1-33中的本地服务名“MYSERVER”,点击“登录”,进入到如图1-34所示的iSQL*Plus主页面。-22-专题一Oracle入门图1-34iSQL*Plus主页面3.在文本框中输入“SELECT*FROMdept;”
33、,点击“执行”,会查询出dept表的信息并显示在页面下部,如图1-35所示。图1-35iSQL*Plus查询结果-23-Oracle数据库案例教程_教师用书4.关闭浏览器。理论知识:iSQL*Plus也是Oracle的常用工具,可以用来完成几乎所有SQL*Plus能完成的任务。该工具的优势在于能通过浏览器访问,还可以自动将查询的结果格式化为简单报表。3.5创建数据库和表空间数据库和表空间是Oracle体系结构的重要组件,创建步骤如下:理论知识:Oracle的体系结构数据库的体系结构是指数据库的组成、工作过程与原理,以及数据在数据库中的组织和管理机制。Oracle服务器Oracle服务器由Ora
34、cle数据库和Oracle实例组成。Oracle数据库是一个数据的集合,它在物理上是由一系列的文件组成,在逻辑上是由一系列的逻辑组件构成的。Orac-le实例是后台进程与内存结构的集合。Oracle组件概述Oracle体系结构中包含一系列组件,在图1-36中列出了Oracle中的主要组件。下面分别介绍这些主要组件及Oracle中的一些重要概念。图1-36Oracle体系结构的主要组件-24-专题一Oracle入门1.实例后台进程与内存结构的集合称为Oracle实例。如果要访问数据库中的数据,就必须启动一个实例,也就是说,只有通过实例才能访问到数据库中的数据。实例启动时将分配一个系统全局区(SG
35、A)并启动一系列的后台进程。在任何时候,一个实例只能打开并使用一个数据库。反之,一个数据库可以同时被多个实例打开。2.会话会话是用户与Oracle服务器的单个连接。当用户与服务器建立连接时创建会话。而当用户与服务器断开连接时关闭会话。当一个数据库用户同时用多个不同的应用程序或从多个终端连接服务器时,则为该用户创建多个并行会话。3.内存Oracle的内存结构中包括以下两个主要的内存区域:系统全局区(SGA):实例启动时分配该内存区,是Oracle实例的一个基本组件。程序全局区(PGA):服务器进程启动时分配该内存区。PGA(ProgramGlobeArea)是在用户进程连接到数据库并创建一个会话
36、时自动分配的,该区内保留每个与Oracle数据库连接的用户进程所需的内存。PGA为非共享区,只能由单个进程使用,当一个会话结束后,PGA释放。SGA(SystemGlobeArea),又称共享全局区,它用来存储数据库信息,并由多个数据库进程共享。当数据库实例启动时,SGA的内存被自动分配。SGA是数据库中占用服务器内存最大的一个区域,同时也是影响数据库性能的一个重要指标。SGA按其作用不同,可分为共享池、数据缓冲区、日志缓冲区等。共享池:共享池是对SQL、PL/SQL程序进行语法分析、编译和执行的内存区域,它由库缓存和数据字典缓存组成,其中,库缓存含有最近执行的SQL、PL/SQL语句的信息,
37、数据字典缓存中含有从数据字典中得到的表、索引、字段和权限等信息。如果共享池太小,则运行SQL、PL/SQL程序所需的时间就会较长,数据库的性能就会受到影响。当用户执行一个查询语句时,Oracle系统首先在数据字典缓存中查看要查询的表、字段等在数据库中是否存在,用户是否有相应权限,如果有再在库缓存中查找是否存在该语句的信息,如果存在则直接执行,如果不存在再对该查询语句进行编译和执行。数据缓冲区:数据缓冲区用于存储从磁盘数据文件中读入的数据,由所有用户共享。数据被修改时,首先要从数据文件中取出,存储于数据缓冲区中,修改的数据、插入的数据都被存储于数据缓冲区,当修改完成或满足其它条件时,数据才被写入
38、到数据文件中。Oracle服务器进程在处理一个查询时,首先查找数据缓冲区中是否存在所需的数据块。如果没有找到,服务器进程才会去从数据文件中读取信息,并保存到数据缓冲区中。当以后再有进程要读取这些块时,就不用再从数据文件中读取,而是直接从数据缓冲区中读了,这样就提高了读取速度。因此,数据缓冲区的大小对数据库的读取速度有直接影响。日志缓冲区:所有对数据库的修改先记录到日志缓冲区,当缓冲区中的数据达到一定数量时,再由日志写入进程LGWR把日志数据写入到日志文件中。数据更改可能来自INSERT、UPDATE、DELETE、CREATE、ALTER和DROP等操作。相对于数据缓冲区,日志缓冲区对数据库性
39、能的影响较小。-25-Oracle数据库案例教程_教师用书4.进程在Oracle的体系结构中主要有以下几种进程:用户进程:当数据库用户请求连接服务器时启动。当数据库用户运行一个应用程序准备向数据库服务器发送请求时,即创建了用户进程,如用户启动SQL*Plus时,系统自动建立了一个用户进程。用户进程不能直接与数据库交互,而必须借助于服务器进程。服务器进程:在Oracle实例启动时启动。它用于处理连接到该实例的用户进程的请求,当用户建立与数据库的连接时,即产生服务器进程。服务器进程和用户进程通信并为所连接的用户请求服务。服务器进程直接与Oracle数据库交互,实现调用和返回结果。服务器进程可以仅处
40、理一个用户进程的请求,也可以处理多个用户进程的请求。后台进程:在Oracle数据库中,为了使系统性能更好和协调多个用户,实例系统中使用了一些附加进程,被称为后台进程。这些后台进程存在于操作系统中,在实例启动时自动启动。Oracle常用的后台进程有:进程监控(PMON):主要作用是在用户进程出现故障时执行进程恢复。系统监控(SMON):主要完成以下任务:在实例启动时执行实例恢复;整理数据文件的自由空间;释放不再使用的临时段。数据写入进程(DBWR):执行下列任务:管理数据缓冲区,以便用户进程能找到空闲的缓冲区;将所有修改了的缓冲区的数据写入数据文件;使用LRU(最近最少使用)算法将最近使用过的块
41、保留在内存中;通过延迟写来优化磁盘I/O读写。日志写入进程(LGWR):此后台进程负责将日志缓冲区的数据写入日志文件。数据库正在运行时,如果对数据进行修改,则产生日志信息,日志信息首先产生于日志缓冲区中。此缓冲区按照“先进先出”的原则进行操作,当日志信息达到一定数量时,由LGWR进程将日志数据写入到日志文件。检查点(CKPT):保证所有修改过的数据库缓冲区内的数据都被写入到数据库文件,在给定的时间内,检查点完成后,CKPT进程更新数据文件头和控制文件,保存检查点信息,以保证数据库的同步。这样做主要是为了在数据库恢复时只需要提供从上一个检查点以来的修改,确定开始恢复数据的位置,即称为检查点。归档
42、进程(ARCH):当数据库运行在归档日志方式时,才会启动该进程。在日志写满时将日志信息写到磁盘或磁带,用于磁盘故障时的数据库恢复。在一个日志文件写满以后,Oracle服务器就开始将数据写入到下一个日志文件,此过程被称为日志切换。Oracle数据库有两种运行方式,即归档日志方式和非归档日志方式。在非归档日志方式下,日志切换时直接覆盖以前的文件,不产生归档日志。在归档日志方式下,在日志切换之前,ARCH进程会对已写满的日志文件进行存档。Oracle数据库的物理组件和逻辑组件Oracle数据库的物理文件主要有三类:数据文件、控制文件和日志文件。其它还有归档日志文件、参数文件和口令文件等。数据文件:是
43、用于存储数据库数据的文件,如表、索引数据等都存储在数据文件中。每个Oracle数据库都有一个或多个数据文件(10g中默认有5个),一个数据文件只能与一个数据库相关联。-26-专题一Oracle入门控制文件:是记录数据库物理结构的二进制文件,Oracle数据库根据它来查找物理文件的位置,它包含维护和验证数据库完整性的必要信息。每个Oracle数据库都有一个或多个控制文件(10g中默认有3个)。日志文件:又被称为联机日志文件或重做日志文件,用于记录对数据库进行的修改信息,对数据库所做的全部修改都被记录到日志中。每个Oracle数据库都有一个或多个日志文件(10g中默认有3个)。日志文件主要用于在数
44、据库出现故障时实施数据恢复。2.逻辑组件从逻辑的角度来分析,Oracle数据库的逻辑结构主要包括表空间、段、区、数据块和模式等。它们的组成关系如图1-37所示。图1-37数据库的逻辑结构表空间(TABLESPACE):数据库可以划分为一个或多个逻辑单位,该逻辑单位被称为表空间,它是数所库中最大的逻辑单位。每个表空间由一个或多个数据文件组成,一个数据文件只能与一个表空间关联,这是逻辑上和物理上的统一。数据库管理员可以创建若干个表空间,创建表空间时可以指定数据文件及其要分配的磁盘空间的大小。在每个数据库中都有一个名为SYSTEM的表空间,即系统表空间,它在创建数据库或安装数据库时自动创建的,用于存
45、储系统的数据字典表、系统程序单元、过程、函数、包和触发器等,也可以用于存储用户表、索引等对象。段(SEGENT):存在于表空间中,是包含于表空间中的一种指定类型的逻辑存储结构,由一组区组成。按照段中所存数据的特征以及优化系统性能的需要,将段分为4类:数据段、索引段、回退段、临时段。区(EXTENT):是磁盘空间分配的最小单位。磁盘按区划分,每次至少分配一个区。区为段分配空间,它由连续的数据块组成。当段创建时,它至少包含一个区。当段中所有空间已完全使用时,系统自动为该段分配一个新区。区不能跨数据文件存在,只能存在于一个数据文件中。数据块(DATABLOCK):是数据库中最小的数据组织单位与管理单
46、位,是Oracle服务器所能分配、读取或写入的最小存储单元。Oracle服务器以数据块为单位管理数据文件的存储空间。数据块的取值范围在2KB4KB之间,10g中默认大小是8K。模式(SCHEMA):是对用户所创建的数据库对象的总称,在Oracle中任何数据库对象都属于一个特定用户,一个用户及其所拥有的对象称为模式。一个用户与相同名称的模式相关联,因此,模式又称为用户模式。1.在Windows的开始菜单中依次选择“程序”“OracleOraDb10g_home1”“配置和移植工具”“DatabaseConfigurationAssistant”,将弹出如图1-38所示的窗口(直接在Dos中执行命
47、令“dbca”,也可进入到该窗口)。-27-Oracle数据库案例教程_教师用书图1-38选择操作2.选择“创建数据库”,点击“下一步”,出现如图1-39所示的“数据库模板”窗口。图1-39数据库模板3.选择“一般用途”的数据库模板,点击“下一步”,出现如图1-40所示的“数据库标识”窗口。-28-专题一Oracle入门图1-40数据库标识4.输入全局数据库名如“MYDB”,在SID文本框中自动出现的名称与全局数据库名相同,也可以更改SID名称使其不同,点击“下一步”,出现如图1-41所示的“管理选项”窗口。图1-41管理选项5.选择“使用EnterpriseManager配置数据库”,点击“
48、下一步”,出现如图1-42所示的“数据库身份证明”窗口。-29-Oracle数据库案例教程_教师用书图1-42数据库身份证明6.选择“所有帐户使用同一口令”或“使用不同的口令”,输入口令和确认口令后,点击“下一步”,出现如图1-43所示的“网络配置”窗口。图1-43网络配置-30-专题一Oracle入门7.选择“将此数据库注册到所有监听程序”后点击“完成”,出现如图1-44所示的窗口,让用户确认要创建的数据库的详细资料。图1-44操作确认8.点击“确定”,出现如图1-45所示的窗口,开始创建数据库。图1-45创建数据库-31-Oracle数据库案例教程_教师用书9.数据库创建完成后,会弹出如图
49、1-46所示的窗口,向用户提示数据库创建完成的信息,点击“退出”,完成数据库的创建。图1-46数据库创建完成10.打开SQL*Plus,在SQL提示符下,输入“CONNSYS/SYSMYDBASSYSDBA”命令,以SYSDBA身份登录到新创建的数据库,再输入以下的命令创建表空间:CREATETABLESPACEmytablespaceDATAFILED:ORACLEPRODUCT10.2.0ORADATAMYDBMYTABLESPACE.DBFSIZE10MAUTOEXTENDON;理论知识:创建表空间语法如下:CREATETABLESPACEtablespace_nameDATAFILEf
50、ile_nameSIZEint_numK|MAUTOEXTENDON|OFF;其中:tablespace_name是要创建的表空间的名称,DATAFILE指定组成表空间的一个或多个数据文件(当有多个数据文件时使用逗号分隔),file_name是数据文件的路径及名称,SIZE指定文件的大小,AUTOEXTEND子句用来启用或禁用数据文件的自动扩展。11.系统提示“表空间已创建”后,打开“我的电脑”,找到上面创建表空间的路径,可以看到新创建的“mytablespace.dbf”文件,在该文件夹下还有其它一些文件,分别是以“DBF”、“CTL”、“LOG”为后缀,它们是数据库的主要物理组件。3.6O
51、racle中的用户管理Oracle中的用户管理包括创建用户、为用户授权、修改用户口令、删除用户等。理论知识:在Oracle数据库中,系统通过安全措施防止非法用户对数据库进行操作。因此,要连-32-专题一Oracle入门接到Oracle,就需要一个用户帐号。数据库管理员负责管理允许访问数据库的用户帐号,包括创建、授权、删除等。在安装数据库时,Oracle将创建一些默认的数据库用户模式,如SYS、SYSTEM、SY-SMAN、DBSNMP和SCOTT等。下面先简单介绍一下SYS、SYSTEM和SCOTT用户。SYS用户是Oracle中的一个超级用户。数据库中所有的数据字典和视图都存储在SY-S模式
52、中。数据字典存储了用来管理数据库对象的所有信息,是Oracle数据库中非常重要的系统信息。SYS用户主要用来维护系统信息和管理实例,SYS用户只能以SYSOPER或S-YSDBA角色登陆。SYSTEM用户是Oracle默认的系统管理员,它拥有DBA权限。该用户拥有Oracle管理工具使用的内部表和视图。通常通过SYSTEM用户管理Oracle数据库的用户、权限和存储等。不建议在SYSTEM用户模式中创建用户表。SYS和SYSTEM用户都是Oracle系统用户,它们使用SYSTEM表空间存储模式对象。SCOTT用户是Oracle数据库的一个示范用户。在数据库安装时创建(在10g中默认情况下,该用
53、户是被锁定的,可在安装时解锁)。SCOTT用户模式下有四个示范表,其中有两个是dept(部门表)和emp(员工表),在本书后面的许多示例中要用到。如果安装时不更改其口令,其默认口令是TIGER。1.以SYSDBA身份登录到SQL*Plus的SQL提示符状态,输入以下的命令创建用户:CREATEUSERuser1IDENTIFIEDBYpwd1DEFAULTTABLESPACEUSERSTEMPORARYTABLESPACETEMP;理论知识:在Oracle中可以用CREATEUSER命令来创建新用户。每个用户都有一个默认表空间和一个临时表空间,在创建时可以为它们指定,如果不指定,Oracle就
54、把SYSTEM设为默认表空间,TEMP设为临时表空间。创建新用户的语法如下:CREATEUSERuser_nameIDENTIFIEDBYpasswordDEFAULTTABLESPACEtablespace_name1TEMPORARYTABLESPACEtablespace_name2;2.按回车后系统提示“用户已创建”,表明创建用户成功。该用户的用户名是“user1”,口令是“pwd1”,默认表空间是“USERS”,临时表空间是“TEMP”。3.在SQL提示符下,输入以下的命令,为用户user1授予CONNECT权限。GRANTCONNECTTOuser1;理论知识:权限指的是用户执行特
55、定类型的SQL命令或访问其他对象的权利。如连接数据库、创建表、执行过程等都是一些权限。若没有任何权限,新创建的用户将无法登录到数据库。-33-Oracle数据库案例教程_教师用书Oracle用户权限有两种类型:系统权限和对象权限。系统权限是指允许用户执行某些数据库操作。如创建表空间就是一个系统权限。对象权限指允许对某一特定对象(如表、视图等)执行特定操作。用户必须是对象的所有者或者是已经拥有了GRANTOPTION对象权限才能为其他用户授予对象权限。为用户授权的语法为:GRANTpopedom_nameONobject_nameTOuser_name;其中:popedom_name为权限名或角
56、色名,object_name为对象名,user_name为用户名。4.在SQL提示符下输入“CONNSCOTT/TIGER”,以SCOTT用户身份登录后,继续输入下面的授权命令,为用户user1授予查看表dept的权限,user1同时还拥有了把此查看权限授予其他用户的权限。GRANTSELECTONempTOuser1WITHGRANTOPTION;5.再输入“CONN/ASSYSDBA”命令以SYSDBA身份登录后,在SQL提示符下输入以下命令,修改用户user1的口令。ALTERUSERuser1IDENTIFIEDBYpwd2;理论知识:Oracle中用ALTERUSER命令修改用户口令
57、,语法如下:ALTERUSERuser_nameIDENTIFIEDBYnew_password;6.系统提示“用户已更改”,表明口令修改成功。在SQL提示符下输入下面的命令来删除用户user1。DROPUSERuser1CASCADE;理论知识:Oracle中的DROPUSER命令用于删除用户。当删除一个用户时,如果该用户模式中包含模式对象时,必须使用CASCADE选项以删除模式对象。删除用户的语法为:DROPUSERuser_nameCASCADE;7.系统提示“用户已删除”,表明用户user1删除成功。4.实验按照相关实践知识部分依次练习:-34-专题一Oracle入门1.配置Oracl
58、e客户端服务名,参见3.2(20分钟)。2.查看Oracle服务,参见3.3(10分钟)。3.认识Oracle常用工具,参见3.4(20分钟)。4.创建数据库和表空间,参见3.5(20分钟)。5.用户的创建、修改口令和删除以用及为用户授权,参见3.6(20分钟)。5.课后作业1.分别用SQL*Plus和iSQL*Plus查看SCOTT用户模式下emp表的内容。2.新建一个数据库TESTDB,并在该数据库中新建一个表空间testspace。3.先新建一个用户testuser,口令为“test”,然后赋予他CONNECT权限,再修改其口令为“testuser”,最后删除该用户。-35-Oracle
59、数据库案例教程_教师用书专题二锁和表分区1.教学目标1.1理解锁定的概念1.2会使用锁和时间戳机制来避免数据并发时造成的数据不一致1.3理解和使用表分区2.工作任务2.1用锁和时间戳来保证并发操作时数据的一致性2.2使用表级锁2.2使用表分区,创建分区表3.相关实践知识3.1使用行级锁和时间戳来保证数据完整性3.1.1两个会话同时修改某一员工工资从开始菜单中打开SQL*Plus工具,以SCOTT用户的身份登录到数据库;然后再重新从开始菜单打开SQL*Plus工具,仍以SCOTT用户的身份登录到数据库。这样就创建了两个会话。雇员编号为7934的雇员,由于工作业绩表现好,工资需要在现工资1300元
60、的基础上加500元,作为新的工资。人事部门把通知下发到财务处,在财务处正好有两个人员处理有关工资变动的工作。这两个财务人员操作如下:1.在第一个会话中的SQL提示符下,输入以下代码:SELECTsalFROMEMPWHEREempno=7934;按回车键,系统显示当前工资为1300元。2.在第二个会话的SQL提示符下,输入以下代码:SELECTsalFROMempWHEREempno=7934;按回车键,系统显示当前工资为1300元。3.在第一个会话中,第一个财务人员执行修改工资操作,输入代码如下:-36-专题二锁和表分区UPDATEempoSETsal=sal+500WHEREempno=7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/SHSYCXH 15-2024人体外周血免疫细胞表型数据集结构与实施通用要求
- T/ZSPH 22-2024智慧桥梁物联监测安全技术要求
- T/CAPSA 11501-2021城市公共安全风险识别规范
- T/TMAC 142-2025软磁复合材料通用技术规范
- T/HNNMIA 61-2023氧化铝生产球形草酸钠化学分析方法?氢氧化铝含量的测定 EDTA滴定法
- 江苏省扬州市江都区邵樊片2026届九年级上学期第一次月考数学试卷(含答案)
- 河南洛阳市嵩县第一高级中学2026-2027学年上学期高三物理9月份开学考试卷(含答案)
- 2025-2026年六年级道德与法治第6单元公民意识培养试卷
- 2025-2026学年福建省三明一中高二(上)月考物理试卷(1月份)(含答案)
- 2025-2026年江苏省北师大版小学劳动教育单元测试卷
- 2026中国工业废水零排放技术路线与成本效益分析报告
- 2026-2032年中国智能辅助治疗行业市场动态分析及发展趋向研判报告
- 2026年度国家工作人员学法用法考试题库(含答案)
- 2026年成都市金牛区人民检察院公开招聘编外人员笔试参考题库及答案详解
- 2026年上海市建筑三类人员项目负责人(安全员B证)考试题库
- 《整 理收纳》高职现代家政服务专业全套教学课件
- 湖南省湘潭市2027届高三上学期第一次模拟考试英语试卷(含答案)
- IPC-4101 标准中文版文档
- 第一单元 健康生活(单元自测)科学教科版六年级上册2026秋
- 2026年贵州省现代种业集团有限公司第二批人才招聘考试备考试题及答案详解
- 2026统考专升本英语:英语550个高频核心词
评论
0/150
提交评论