资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,#,Oracle,基础培训,2009-12-24,北京橙红创新科技有限公司,培训内,容,容,Oracle概述,Oracle术语,Oracle基本操,作,作,Oracle中Join用法,Oracle异常处,理,理,OracleUpdate操作,OracleSQL优化,Oracle概述,1.1,什么是ORACLE,ORACLE,即甲,骨,骨文股,份,份有限,公,公司,,成,成立于1977年,总,部,部位于,美,美国加,州,州Redwood shore,是全,球,球最大,的,的信息,管,管理软,件,件及服,务,务供应,商,商,也,是,是最早,进,进入中,国,国的跨,国,国软件,巨,巨头。,甲骨文,公,公司主,要,要的产,品,品目前,分,分为以,下,下几大,类,类:,*服,务,务器(,服,服务器,),)及工,具,具(主,要,要竞争,对,对手:,国,国际商,用,用机器,、,、微软,),),*数,据,据库服,务,务器:,最,最新版,本,本11G,*应用服,务,务器:OracleApplicationServer,*开发工,具,具:OracleJDeveloper,OracleDesigner,OracleDeveloper,等,*企,业,业资源,计,计划(ERP)软件。,已,已有10年以上,的,的历史,。,。2005年,并,购,购了开,发,发企业,软,软件的,仁,仁科软,件,件公司,(,(PeopleSoft)以增,强,强在这,方,方面的,竞,竞争力,。,。,*客,户,户关系,管,管理(CRM)软件。,自,自1998年开始,研,研发这,种,种软件,。,。2005年,并,购,购了开,发,发客户,关,关系管,理,理软件,的,的希柏,软,软件公,司,司(Siebel)。,Oracle概述,1.2Oracle数据库,Oracle数据库,的,的逻辑,体,体系包,括,括服务,器,器和客,户,户端:,OracleServer是一个,对,对象一,关,关系数,据,据库管,理,理系统,。,。它提,供,供开放,的,的、全,面,面的、,和,和集成,的,的信息,管,管理方,法,法。每,个,个Server由一个OracleDB和一个OracleServer实例组,成,成。每,个,个Oracle数据库,对,对应唯,一,一的一,个,个实例,名,名SID,Oracle数据库,服,服务器,启,启动后,,,,一般,至,至少有,以,以下几,个,个用户,:,:Internal,它不,是,是一个,真,真实的,用,用户名,,,,而是,具,具有SYSDBA优先级,的,的Sys用户的,别,别名,,它,它由DBA用户使,用,用来完,成,成数据,库,库的管,理,理任务,,,,包括,启,启动和,关,关闭数,据,据库;Sys,它是,一,一个DBA用户名,,,,具有,最,最大的,数,数据库,操,操作权,限,限;System,它也,是,是一个DBA用户名,,,,权限,仅,仅次于Sys用户。,Oracle客户端,即,即为数,据,据库用,户,户操作,端,端,由,应,应用、,工,工具、SQL,*,*NET组成,,用,用户操,作,作数据,库,库时,,必,必须连,接,接到一,服,服务器,,,,该数,据,据库称,为,为本地,数,数据库,(,(LocalDB)。在,网,网络环,境,境下其,它,它服务,器,器上的DB称为远,程,程数据,库,库(RemoteDB)。用,户,户要存,取,取远程DB上的数,据,据时,,必,必须建,立,立数据,库,库链。,Oracle数据库,的,的存储,结,结构:,它由至,少,少一个,表,表空间,和,和数据,库,库模式,对,对象组,成,成。这,里,里,模,式,式是对,象,象的集,合,合,而,模,模式对,象,象是直,接,接引用,数,数据库,数,数据的,逻,逻辑结,构,构。模,式,式对象,包,包括这,样,样一些,结,结构:,表,表、视,图,图、序,列,列、存,储,储过程,、,、同一,词,词、索,引,引、簇,和,和数据,库,库链等,。,。逻辑,存,存储结,构,构包括,表,表空间,、,、段和,范,范围,,用,用于描,述,述怎样,使,使用数,据,据库的,物,物理空,间,间。而,其,其中的,模,模式对,象,象和关,系,系形成,了,了数据,库,库的关,系,系设计,。,。,数据块,(,(Block):是,数,数据库,进,进行UO操作的,最,最小单,位,位,它,与,与操作,系,系统的,块,块不是,一,一个概,念,念。oracle数据库,不,不是以,操,操作系,统,统的块,为,为单位,来,来请求,数,数据,,而,而是以,多,多个Oracle数据库,块,块为单,位,位。,段(Segment):是,表,表空间,中,中一个,指,指定类,型,型的逻,辑,辑存储,结,结构,,它,它由一,个,个或多,个,个范围,组,组成,,段,段将占,用,用并增,长,长存储,空,空间。,其中包,括,括:,数据段,:,:用来,存,存放表,数,数据;,索引段,:,:用来,存,存放表,索,索引;,临时段,:,:用来,存,存放中,间,间结果,;,;,回滚段,:,:用于,出,出现异,常,常时,,恢,恢复事,务,务。,范围(Extent):是,数,数据库,存,存储空,间,间分配,的,的逻辑,单,单位,,一,一个范,围,围由许,多,多连续,的,的数据,块,块组成,,,,范围,是,是由段,依,依此分,配,配的,,分,分配的,第,第一个,范,范围称,为,为初始,范,范围,,以,以后分,配,配的范,围,围称为,增,增量范,围,围。,Oracle术语,2.1数据库,名,名,数据库,名,名就是,一,一个数,据,据库的,标,标识,,就,就像人,的,的身份,证,证号一,样,样。他,用,用参数DB_NAME表示,,如,如果一,台,台机器,上,上装了,多,多全数,据,据库,,那,那么每,一,一个数,据,据库都,有,有一个,数,数据库,名,名。在,数,数据库,安,安装或,创,创建完,成,成之后,,,,参数DB_NAME被写入,参,参数文,件,件之中,。,。格式,如,如下:,DB_NAME=myorcl,.,在创建,数,数据库,时,时就应,考,考虑好,数,数据库,名,名,并,且,且在创,建,建完数,据,据库之,后,后,数,据,据库名,不,不宜修,改,改,即,使,使要修,改,改也会,很,很麻烦,。,。因为,,,,数据,库,库名还,被,被写入,控,控制文,件,件中,,控,控制文,件,件是以,二,二进制,型,型式存,储,储的,,用,用户无,法,法修改,控,控制文,件,件的内,容,容。假,设,设用户,修,修改了,参,参数文,件,件中的,数,数据库,名,名,即,修,修改DB_NAME的值。,但,但是在Oracle启动时,,,,由于,参,参数文,件,件中的DB_NAME与控制,文,文件中,的,的数据,库,库名不,一,一致,,导,导致数,据,据库启,动,动失败,,,,将返,回,回ORA,-,-01103错误。,Oracle术语,数据库,实,实例名,与,与Oracle,_,_SID,一个数,据,据库实,例,例(Instance)是,由,由SGA,后台,进,进程以,及,及数据,文,文件组,成,成,每,个,个数据,库,库有自,己,己的SGA和独立,的,的Oracle进程集,。,。,ORACLE,_,_SID是操作,系,系统的,环,环境变,量,量。,两者都,是,是oracle实例,,但,但两者,是,是有区,别,别的。instance_name是oracle数据库,参,参数,,而,而ORACLD,_,_SID用于与,操,操作系,统,统交互,,,,也就,是,是说,,从,从操作,系,系统的,角,角度访,问,问实例,名,名,必,须,须通过ORACLE,_,_SID。数据,库,库实例,名,名除了,与,与操作,系,系统交,互,互外,,还,还用于,网,网络连,接,接的oracle服务器,标,标识。,当,当你配,置,置oracle主机连,接,接串的,时,时候,,就,就需要,指,指定0实例名,。,。在winnt平台,ORACLE,_,_SID还需存,在,在于注,册,册表中,。,。,在数据,库,库安装,之,之后,ORACLE,_,_SID被用于,定,定义数,据,据库参,数,数文件,的,的名称,。,。如:$ORACLE_BASE,/,/admin,/,/DB,_,_NAME/pfile/init$ORACLE_SID,.,.ora。,Oracle术语,2.3表空间,一个Oracle数据库,由,由一个,或,或多个,逻,逻辑存,储,储单元表空间,构,构成,,表,表空间,存,存储着,数,数据库,中,中所有,的,的数据,;,;,Oracle数据库,中,中的每,个,个表空,间,间由一,个,个或多,个,个文件,组,组成,,这,这些文,件,件就是,数,数据文,件,件,它,们,们是Oracle所在操,作,作系统,上,上的物,理,理结构,。,。Oracle数据库,中,中的所,有,有数据,物,物理的,存,存储在,数,数据文,件,件中。,除了普,通,通表空,间,间外,Oracle还有几,种,种特殊,的,的表空,间,间。系,统,统表空,间,间(SYSTEM表空间,),)、UNDO表空间,(,(回滚,表,表空间,),)、临,时,时表空,间,间(TEMP表空间)。,系统表,空,空间中,除,除了保,存,存数据,字,字典外,还,还保存,所,所有的,存,存储过,程,程、函,数,数、包,、,、触发,器,器和对,象,象。,UNDO表空间,用,用于保,存,存被DML语句影,响,响的记,录,录的原,始,始状态,,,,以便,在,在事务,失,失败的,时,时候可,以,以进行,回,回滚。,USER表空间,TOOLS表空间,当大的,排,排序操,作,作发生,时,时,排,序,序无法,在,在内存,中,中完成,,,,这时,会,会使用,临,临时表,空,空间。,表空间,可,可以设,置,置为ONLINE和OFFLINE,OFFLINE的表空,间,间无法,进,进行访,问,问。通,过,过对单,独,独表空,间,间的ONLINE和OFFLINE,可以,减,减少对,系,系统的,影,影响。,表空间,可,可以设,置,置为READ ONLY和READ WRITE两种状,态,态,只,读,读的表,空,空间不,可,可以进,行,行锁操,作,作,因,此,此甚至,可,可以放,到,到只读,设,设备上,如,如CDROM。,Oracle术语,同义词,同义词,用,用于屏,蔽,蔽基表,的,的身份,,,,降低sql语句的,复,复杂性,,,,用户,不,不必知,道,道同义,词,词所代,表,表的表,是,是哪一,个,个表,,从,从而用,户,户不需,要,要指明,表,表的所,有,有者的,名,名称。,同义词,有,有私有,和,和公有,之,之分。,私,私有同,义,义词是,普,普通用,户,户所创,建,建的同,义,义词,,只,只有创,建,建该同,义,义词的,用,用户才,能,能使用,此,此同义,词,词,而,公,公用同,义,义词是,指,指数据,库,库管理,员,员创建,的,的,公,用,用同义,词,词允许,所,所有用,户,户使用,。,。,Oracle术语,序列,建序列,号,号主要,用,用来自,动,动产生,数,数据,,如,如学生,号,号自动,加,加1,如果,有,有很多,的,的学生,,,,比如10000个,那,么,么使用,序,序列较,手,手工实,现,现会提,高,高效率,。,。,创建语,法,法:,createsequencename,incrementbyx,/,/x为增长,间,间隔,startwithx,/,/x为初始,值,值,maxvaluex,/,/,/,/x为最大,值,值,minvaluex,/,/x为最小
展开阅读全文