1 / 26
文档名称:

Oracle培训课程讲稿.doc

格式:doc   大小:311KB   页数:26页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Oracle培训课程讲稿.doc

上传人:书生教育 2024/2/27 文件大小:311 KB

下载得到文件列表

Oracle培训课程讲稿.doc

相关文档

文档介绍

文档介绍:该【Oracle培训课程讲稿 】是由【书生教育】上传分享,文档一共【26】页,该文档可以免费在线阅读,需要了解更多关于【Oracle培训课程讲稿 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。Oracle基础知识讲义Oracle基础知识讲义一、绪论联合Open3000系统的实质操作环境,本讲义主要解说以下在OPEN3000系统中常常会用到的内容:1、Oracle数据库构造简介简要介绍Oracle数据库系统内部的构造原理及其互相关系。2、启动和封闭数据库介绍启动和封闭Oracle数据库的常用方式以及需要注意的事项。3、SQL语言入门纲要介绍Oracle中的专用SQL语言Sql*plus的基本观点,数据种类、常用语句、常用对象。禁止备介绍事务、触发器和Sql*plus中的编程语言PL/SQL。4、Sql*plus编写工具的使用介绍Oracle顶用于输入和运转SQL语句的操作环境——Sql*plus的使用。5、Oracle的用户管理简介简单介绍Oracle顶用户和用户权限的基本观点,以及怎样在Oracle中创立、改正和删除用户。6、使用Oracle的导出适用程序简单介绍利用Oracle的导出适用程序exp进行数据备份的常用方法和注意事项。7、使用Oracle的导入适用程序简单介绍怎样利用Oracle的导入适用程序imp对经过exp工具备份好的数据进行恢复。二、Oracle数据库构造Oracle数据库是个极其复杂的软件系统。为了给予后章节打好基础,本章简要介绍Oracle数据库系统构造。从最大的层次上,Oracle数据库系统能够分红以下三部分:a、数据库文件(DatabaseFiles)b、数据词典(DataDictionary)c、数据库实例(OracleInstance)数据库文件是Oracle中需要用到的一系列外存文件的统称,这里外存能够是硬盘、阵列或磁带。数据词典用于寄存Oracle系统自己所需要用到的有关信息,比方目前数据库中注册了多少用户,创立了多少表,占用了多少空间等等。由于数据词典中保留的信息特别重要,所以用户只好以只读的方式接见数据词典,而不可以对其进行改正。1Oracle基础知识讲义数据库实例实质上就是我们往常所说的数据库管理系统(DBMS),它由一组进度和内存中的一些构造构成。用于达成数据库不同的办理需要。1、数据库文件数据库文件是个物理观点,对应于操作系统中实质存在的文件,主要包含初始化参数文件、数据文件、控制文件和重做日记文件等。、初始化参数文件初始化参数文件——,用于储存Oracle系统中的绝大多半配置参数。它是一个文本文件,能够进行手工编写改正。顾名思义,初始化参数文件主要供数据库实例启动时接见。从中获得必需的启动配置数据。、控制文件控制文件是数据库实例启动以后需要常常接见的内部二进制文件。Oracle一般有两个或许更多的控制文件,、、每个控制文件的内容完好相同,假如一个文件破坏,Oralce会自动使用此外一个控制文件。假如控制文件所有破坏,Oracle将不可以工作。假如Oracle发现一个控制文件已经在Oracle系统以外被修悔过,它会认为该控制文件已经破坏。所以绝对不可以手工对控制文件进行编写。、重做日记文件重做日记文件用于记录数据库中被改变的数据信息,以供未来可能的数据恢复操作时使用。Oracle一般有两个或许更多的重做日记文件,、、同控制文件相同,重做日记文件也不可以进行手工编写。、数据文件数据文件是Oracle中最主要的外存文件。用于寄存Oracle系统中绝大多半的数据信息。Oracle中所有的用户、表、视图和索引等数据库实体都储存在数据文件上。同数据文件亲密有关的还有一个表空间的观点,表空间是一个逻辑上的外存空间,一个表空间能够由一个或多个数据文件构成。而一个数据文件只能属于一个表空间。有了表空间这一逻辑观点,在创立数据库实体时就不需要详细指定其物理储存地点(数据文件),只需要指定一个表空间就能够了。事实上,Oracle也不同意用户在创立实体时指定详细的数据文件,只好指定表空间。Oracle中的表空间主要有三类:系统表空间、用户表空间和暂时表空间。系统表空间和暂时表空间是Oracle安装以后自动创立好的。此中系统表空间用来寄存Oracle系统的数据词典,暂时表空间用来寄存平时工作时产生的暂时数据。在往常状况下,系统表空间名称为SYSTEM,;暂时表空间名称为TEMP,。2Oracle基础知识讲义用户表空间用于寄存用户自己的数据,由用户负责创立。名称能够在满足Oracle命名规则的前提下随意选用。固然系统表空间中也能够寄存用户自己的数据,但建议用户数据最好所有寄存在用户表空间上,以便与系统数据词典分开,减少矛盾的可能性。2、数据词典数据词典是Oracle系统的重要构成部分。它寄存了Oracle数据库需要用到的绝大多半信息。数据词典实质上是一些表和视图的会合,这些表和视图都寄存在系统表空间SYSTEM上,用户只好以只读的方式接见,不可以对其进行改正。数据词典中主要包含了以下重要内容:◆数据库中所有数据库实体(表、视图等)的有关信息◆数据库目前空间使用状况◆各种完好性拘束的信息◆数据库顶用户、角色的有关信息3、数据库实例数据库实例是Oracle系统用来管理数据库各种办理的一组进度和内存结构的会合。在更多的状况下,数据库实例也被叫做Oracle服务(OracleService)。在Oracle服务没有被启动以前,用户是没法接见数据库的。Oracle服务成功启动以后,在操作系统的后台就有一组进度在活动,同时在内存中也申请了一块特定构造的空间。Oracle服务中最重要的后台支持进度有以下五个:◆数据库复写器(DBWR)DBWR负责把数据库缓冲区中发生改变的数据(脏数据)写回外存数据文件中。是独一一个把数据写入数据库的进度。◆进度监控器(PMON)PMON负责当用户会话异样结束并且用户自己没有消除会话时,履行消除工作。失败的会话所占用的系统资源会被PMON清理并开释出来。◆系统监控器(SMON)SMON在Oracle服务启动时检查和修复所有的数据库文件,保证其正确和一致。在Oracle服务正常工作时,SMON负责准时检查整个系统,找出并修复错误。◆日记复写器(LGWR)LGWR负责数据库文件中重做日记文件的管理,保证重做日记能够靠谱高效的进行。◆校验点(CKPT)CKPT负责监测所有的数据库文件,保证数据库文件中保留的信息的3Oracle基础知识讲义一致性,保证数据库文件之间的同步。常用的数据词典:v$bgprocess查察所有的后台进度select*fromv$bgprocesswherepaddr<>‘00’;查察目前正在工作的后台进度能够查察目前库能否异样比方假如pmon正在工作,说明存在异样的会话。v$session查察目前所有的会话(库连结)内存区:SGA区(SystemGlobalArea系统全局区):库实例启动时Oracle向操作系统申请的一块基本内存地区。PGA区(ProgramGlobalArea进度全局区):一个Oracle进度启动时Oracle为其分派的内存地区。SGA区的构成:1、共享池(SharedPool)用于缓存近来履行过的SQL语句和PL/SQL代码段用于缓存近来使用过的数据词典数据由两部分构成库缓存(LibraryCache)用于缓存语句和代码段数据词典缓存(DataDictionaryCache)用于数据词典数据二者的大小比率由Oracle自行管理,没法人工指定,共享池分派的适合能够加速语句履行时的速度,进而提升性能。2、库高速缓存(DatabaseBufferCache)缓存近来使用过的数据文件中的数据块。库高速缓存分派的适合能够降低物理I/O的发生次数,提升数据存取的速度,进而提升性能。3、重做日记缓存(RedoLogBuffer)缓存库高速缓存中数据发生改变了的数据块,即脏数据。主要用于事务回滚(Rollback)时。分派必定的重做日记缓存能够加速事务回滚时的速度,但不需要很大,一般为CPU数目乘以128K,但最好不要低于512K。4、大池(LargePool)大池是一块灵巧内存地区,当库比较忙碌,其余内存地区不足时,能够从大池中划取内存块来使用。大池不是SGA区的必需构成部分,但使用大池能够降低某块特定内存地区不足的出现概率,特别适合于库的使用状况不定,忙碌和安闲交替出现的场合。5、Java池(JavaPool)专为Java应用分派的内存地区,9i中默认值为24MB。由于Open3000中没有使用Java应用,所以Java池使用系统默认值即可。PGA区:当一个会话服务进度或许一个Oracle后台进度启动时,Oracle为其分派4Oracle基础知识讲义的内存地区。当该进度停止时,Oracle回收这部分内存地区。一个进度的PGA区只好由该进度使用。常用的数据词典:v$sql查察近来履行过的SQL语句v$sgastat查察SGA区的目前状态showparametersga三、启动和封闭数据库在UNIX环境下,启动和封闭数据库一般采纳Oracle的Sql*plus工具。在OPEN2000系统中,由于客户机一般不安装Oracle的客户端。所以启动数据库的方式主若是客户机远程登录到服务器,在服务器上运转Sql*plus来启动数据库。下边以一个实例来说明启动和封闭数据库的过程:前提条件:数据库名称为o2000e,数据库中存在一个用户test,密码为test000。Test用户拥有能够启动和封闭数据库的sysdba的权限,数据库处于封闭状态。1、启动一个终端窗口,键入以下命令:sqlplus/nolog来启动Sql*plus。此时会出现提示符SQL>2、在SQL>提示符下键入:connecttest/******@o2000eassysdba连结o2000e数据库,连结成功以后,屏幕上显示Connected。3、在SQL>提示符下键入:startup启动o2000e数据库,启动数据库一般需要十几秒的时间,启动成功以后,屏幕上会显示o2000e数据库的一些空间分派信息,此时数据库就能够正常使用了。一些说明:第1步的/nolog参数表示只启动Sql*plus,不进行连结。假如不加这个参数的话,就需要挨次输入用户名,密码,数据库名和连结身份。不如在第2步顶用connect命令一次所有输入来得方便。第2步的assysdba参数表示test用户的连结身份为数据库管理员,该参数一定要加,不然第3步的startup命令就会由于权限不足而没法启动数据库。除了经过终端窗口启动数据库以外,利用Oracle的Sql*plus工具和DBAStudio工具也能够进行启动数据库的操作。此中Sql*plus同终端窗口相同采纳命令行方式。步骤也相同。而DBAStudio采纳图形界面,操作比较简单直观,但速度较慢。5Oracle基础知识讲义要封闭数据库,需要用到shutdown命令。接着上边的例子,在SQL>提示符下键入:shutdownimmediate封闭o2000e数据库,封闭数据库也需要十几秒的时间,封闭成功以后,屏幕上显示有关提示信息,此时数据库被正常封闭。Shutdown命令拥有四种参数Normal:等候所有已连结的会话session主动退出以后再封闭数据库。Immediate:等候所有已连结的会话履行完目前的SQL语句以后封闭数据库。Transaction:等候所有已连结会话履行完目前事务以后封闭数据库。Abort:不做任何等候,马上封闭数据库。此中Normal参数一般不用,由于需要等候其余用户主动退出,所以何时封闭数据库是没法料想的。一般常常使用的是immediate和transaction参数。对OPEN2000系统来说,由于没什么用户自定义的办理,所以使用immediate参数来封闭数据库就能够了。需要特别提示的是,轻易不要用abort参数来封闭数据库,使用abort参数时,由于数据库被马上封闭,假如此时实用户正进行数据更新操作,数据库中的内容将没法料想。只用当数据库已经崩溃,没法正常封闭时,才使用abort参数来强迫封闭数据库,就像电脑上只用死机时才按reset键相同。相同,利用Oracle的Sql*plus工具和oemappconsole工具也能够进行封闭数据库的操作。最后总结一下启动和封闭数据库需要注意的3个地方。1、连结数据库时一定加assysdba参数,不然没法启动数据库。2、封闭数据库时使用immediate或transaction参数,切勿使用abort参数。3、在封闭服务器以前,假如数据库还未封闭,必定要先封闭数据库,再封闭服务器。不然可能致使数据库中数据没法料想。四、SQL语言入门SQL的观点构造化查问语言(StructureQueryLanguage)是目前主流数据库(Oracle,Sybase,SQLServer等)使用的一种命令式语言。每种数据库支持的SQL语言都有各自的变化,这里介绍Oracle支持的SQL语言。SQL语言的作用是a、查问、增添、改正和删除数据库中的各种数据;b、创立、改正和删除各种数据库对象;(对象是Oracle中的一个术语,对象是数据库中能够寄存数据的事物,比方表和视图就是两种最常有的对象,索引、过程、函6Oracle基础知识讲义数和触发器等也是对象)c、进行各种接见数据库数据和系统的操作。比方上边启动和封闭数据库的操作就属于这一类。Connect、startup和shutdown实质上都是SQL命令。ExitshowusershowparameterSQL语言是外面程序或操作人员同Oracle数据库的独一联系方法,固然目前好多图形用户界面常常使用户没法看到SQL的命令,但实质上在界面底下,外面程序仍是使用SQL语言同Oracle打交道的。SQL的种类SQL语言主要分两大类:DDL(数据定义语言)和DML(数据操控语言)。DDL语言DDL语言用来创立、改正和删除各种数据库对象自己,最常有的DDL语言中的命令是Create(创立)、Alter(改正)和Drop(删除)命令,TRUCATE截去整表。不行撤除DML语言DML语言用来查问、增添、改正和删除数据库中各种对象中寄存的数据,最常有的DML语言中的命令是Select(查问)、Insert(增添)、Update(改正)和Delete(删除)。mitSQL语言支持的常用数据种类和定义格式每种数据库的SQL语言所支持的数据种类格式都不相同,这里只介绍Oracle中的数据种类和定义格式。Oracle中的数据格式不划分大小写。定长字符串定义格式:char(n)n为字符串长度n<=2000说明:定长字符串的最大支持长度为2000,假如字符长度小于定义的长度,自动在末端增添空格;假如不指定长度,默认为1。实例:namechar(5)定义了一个最多能够储存5个字符的对象name。假如要利用其储存四个字符的字符串”hawk”,那么name中实质储存的是”hawk“加一个空格。仍旧占用5个字符的储存空间。:varchar2(n)n为字符串最大的长度n<=4000说明:变长字符串的最大支持长度为4000,没有默认值,一定指定长度。实例:namevarchar2(5)定义了一个最多能够储存5个字符的对象name。同定长字符串不同的是,利用name储存字符串”hawk”只会占用4个字符的储存空间。7Oracle基础知识讲义定长串费空间,查问快变长串省空间,查问慢数字型数据定义格式:number(p,s)p-s为数据的整数部分最大长度,s为数据的小数部分最大长度,假如不指定p或s,则由Oracle依据要储存的数据自动确立。0<p<=380<=s<=12p>=s说明:Oracle一致使用重点字number来定义全部可能的数字型数据,这致使了number的使用方法很灵巧。实例:anumber(7,2)a对象中能够储存的数字最多拥有5(7–2=5)位整数位,2位小数位。;;123456由于有6个整数位,没法储存在a中。-+:由于number的使用方法过于灵巧,简单犯错,在实质使用时往常对比一些常用的数字型种类定义来确立p和s的值。而不是随意指定。下边是一些常用的数字种类同number种类的比较关系表NUMBER(3)Unsignedchar1BYTE整数,-999-999NUMBER(5)Short短整型2BYTES整数,-99999-99999NUMBER(10)int4BYTES整数NUMBER(22,6)float单精浮点数NUMBER(38,12)double双精浮点数我们在定义number型数据时,p和s的值依据上表来取,就不简单犯错了。日期型数据定义格式:date说明:日期型数据的定义很简单,接见日期型数据则需要用到SQL语言的系统函数to_date。实例:birthdaydate定义了一个日期型的对象birthday。假如要将”2003-8-1912:00:00”这个时间储存在birthday中,要用到to_date函数:birthday=to_date(‘03-8-1914:00:00’,‘yy-mm-ddhh24:mi:ss)’Oracle中yyyy表示年,mm表示月,dd表示日,hh24表示小时,mi表示分钟,ss表示秒。‘yyyy-mm-ddhh24:mi:ss为’格式般配字符串,Oracle依据格式般配字符串中的格式去获得‘2003-8-1912:00:00’中储存的时间数据。SQL语言中常用的操作符操作符中的英文不划分大小写。+-*/=不等于!=或<>或^=小于<大于>小于等于<=大于等于>=(说明:这里like操作符支持两种通配符%和_,%*可般配0到多个长度的字符串,_?般配单个字符。比方:”ha%”能够与”ha”、”haw”或”hawk”般配,而”ha_”只好般配”haw”。)逻辑操作符与AND或OR取反NOT能否为空IS[NOT]NULL优先级:算术>比较>会合>逻辑能够用()来改变优先级次序空值同任何数字进行任何运算,结果均为false或0常用DDL命令的使用DDL命令中的英文不划分大小写建表语句建表语句的作用是在数据库中新建一张关系表。建表语句语法:Createtable表名(第一个域的定义语句,[第二个域的定义语句,第N个域的定义语句])中括号[]中的内容为可选项,创立新表时,起码应包含一个域。能够为该表显式指定表空间,也能够使用目前的默认表空间。域定义语句语法:域名数据种类[DEFAULT缺省值][[NOT]NULL][域上的拘束](说明:拘束是Oracle中的术语。简单说来,在某些域上成立约9Oracle基础知识讲义束,就是在这些域上成立了一种储存数据时的限制规则。比方,我们有一张职员信息表,上边有”职员ID”和”职员性别”两个表域。明显,不可以有两个相同的职员ID,职员性别也只好在”男女”中选一个。为了能任职员信息表中反应出这两种限制,就要任职员ID和职员性别这两个表域上成立拘束。Oracle支持的拘束有四类:i、主键拘束(PrimaryKey)主键拘束所在的域中储存的数据一定拥有独一的非空值。在上边的例子中,由于每个职员一定有自己的ID,并且不可以与其余人相同。这样就能够在”职员ID”域上成立主键拘束来反应这类限制规则。一张表只好有一个主键拘束。、独一拘束(Unique)独一拘束也要求所在域中储存的数据一定拥有独一性。它同主键拘束的差别是:独一拘束不要求数据一定为非空值。比方,任职员信息表中还有一个表域”职员电话”。不必定要求每个职员都有电话,但有电话的职员之间的电话号码必定不能相同。这样就能够在””职员电话”域上成立独一拘束来反映这类限制规则。、范围拘束(Check)范围拘束要求所在域中储存的数据一定在某一范围内。比如,在正常状况下,”职员性别”域中的数据只好是”男女”10