资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,Click to edit Master title style,Click to edit Master text styles,Second Level,Third Level,Fourth Level,Fifth Level,Oracle 数据库,入门教程,Linux公社(,LinuxIDC.com,)于2006年9月25日注册并开通网站,Linux现在已经成为一种广受关注和支持的一种操作系统,IDC是互联网数据中心,LinuxIDC就是关于Linux的数据中心。,LinuxIDC.com,提供包括Ubuntu,Fedora,SUSE技术,以及最新IT资讯等Linux专业类网站。,Linux,公,公社(LinuxIDC.com),Linux公社,(,(LinuxIDC.com)于2006年9月25日注册,并,并开通网站,Linux现在已,经,经成为一种广受,关,关注和支持的一,种,种操作系统,IDC是互联网数,据,据中心,LinuxIDC就是,关,关于Linux,的,的数据中心。,LinuxIDC.com提供包括Ubuntu,Fedora,SUSE技术,以及最,新,新IT资讯等Linux专业类,网,网站。,一、Oracle 体系结构(1)物理结,构,构datafilesredo log filescontrol files parameter file,数,数据文件,日,日志,文,文件,控,控制文件,参,参数文,件,件,data files,redo log files,controlfile,parameter iles,*.dbf,*.,log,Initoraid.ora,*.ctl,(2)内存结构(SGA),占,占OS内存的60-70%,,大,大小可由参数文,件,件内参数计算shared pool(,共,共享池),databasebuffercache(,数,数据缓冲区),redo log buffer(重,做,做日志缓冲区)(如以,下,下图所示)SGA=share_pool_size+db_block_size*db_block_buffers+log_buffers,shared_pool,database_buffer_cache,redo_log buffer,SGA,background,process,(3)instance=SGA+backgroundprocess,实,实例=内存,分,分配 +,一,一组后台进程,如,如果把Oracle比作一部,汽,汽车,instance相当于,汽,汽车的发动机一,样,样,启动oracle前提应先,启,启动instance.,(4)session(连接)Oracle,是,是多用户、多任,务,务、可分布式管,理,理的数据库,同,时,时可有许 多,个,个用户对数据库,操,操作。,oracle,user,user,user,session,(,5)transaction(,一,一组修改动作的,集,集合)交易,事,事务Eg:1、insertDDL(数,据,据定义语句)delete,例,例如:create,alter,drop,conmit,等,commit,每两个DDL语,句,句间是一个transaction,2、updateDML(数据,控,控制语句)rollback,例,例如:Insert,Delete,Update,(6)后台进程PMON,LCLN,RECO,SMON,,,,DBWR,LGWR,CKPT,ARCHPMON 做程,序,序的清洁工作,,处,处理一些不正常,退,退出的事件SMON 做系,统,统的清洁工作,,执,执行系统出错后,自,自动恢复工作LCKNOracle系,统,统表级或行级加,锁,锁的进程.RECO 恢复,进,进程DBWR 数据写进,程,程LGWR,日,日志文件写,的,的进程CKPT 检测点ARCH 归,档,档方式备份进程,(7)分析一个SQL语句是怎,样,样在Orcle,内,内部工作的。,A、用户发出SQL请求,打开,游,游标;,B、把SQL语,句,句语法分析,执,行,行计划,数据字,典,典等信息存入内,存,存中共享池内;,C、从数据文件,中,中把相关数据块,读,读入数据缓冲区,;,;,D、做相应操作,,,,若做修改,先,加,加上行级锁,经,确,确认后,把改过,前,前后记录内容存,入,入重做日志缓冲,区,区内;,E、返回结果给,用,用户,关闭游标,。,。,备注:SQL语,句,句大小写敏感的,,,,同样的一个语,句,句,若大小写,不同,oracle需分析执行,两,两次,每句后必,以,以“;”结束。,二、启动和关闭,数,数据库。(1)启动%svrmgrl.唤醒 SVRMGRL数,据,据库管理 SVRMGRL connect internal;以系,统,统管理员身份登,录,录。SVRMGRL startup启,动,动instance连上数据,库,库打开数据库,(2)关闭(旧版Oracle用%sqldba lmode=Y)%svrmgrl.(V7.3.2.0以,上,上)唤醒,SVRMGRL,状态,SVRMGRL,connect internal;,SVRMGRL,shutdown.,(3)启动和关,闭,闭Oracle,数,数据库过程图。,shutdown,open,读参数,文,文件initoraid.ora,开机,关机,读控制,文,文件,读所有,文,文件,未连上,数,数据库,仅启动instances,nomount,mount,连上数,据,据库,,但,但未打,开,开,(4),如,如果不,小,小心物,理,理上删,除,除了一Oracle,的,的数据,文,文件,,比,比如说,,,,某应,用,用表空,间,间所对,应,应数据,文,文件“adc.dbf?Oracle读,控,控制文,件,件时,,和,和打开,数,数据库,时,时所面,对,对的参,数,数不一,致,致,Oracle数,据,据库将,启,启动不,了,了,解,决,决这种,问,问题的,方,方法是,把,把其对,应,应的表,空,空间先,卸,卸下,,再,再删除,,,,以保,证,证控制,文,文件描,述,述和物,理,理上存,在,在文件,一,一致。,%svrmgrlSVRMGRconnectinternalSVRMGRstartupmountSVRMGRalterdatabasedatafile,/directory/abc.dbfoffline;SVRMGRalterdatabaseopen;SVRMGRdroptablespaceabc;,1、Oracle数,据,据存储,单,单位,a、block,数,数据块,:,:2k,最,最小,的,的I-O单位,,,,伴随database产,生,生而产,生,生,不,可,可变,b、extent,一,一组,连,连续的,数,数据块,:,:是用,户,户所能,分,分配存,储,储的最,小,小单位,c、segment,段,段:,有,有共同,结,结构的,一,一个或,几,几个区,域,域(extent),d、tablespace,表,表空,间,间:一,组,组物理,数,数据的,逻,逻辑组,合,合,(,象,象逻辑,间,间数据,仓,仓库),e、file 文,件,件:属,于,于某个,表,表空间,的,的物理,文,文件,f、database 数,据,据库:,一,一组表,空,空间所,构,构成的,逻,逻辑的,可,可共享,的,的数据,。,。,三、Oracle数,据,据的存,储,储结构,Linux公,社,社(LinuxIDC.com),Linux公,社,社(LinuxIDC.com)于2006,年,年9月25日,注,注册并,开,开通网,站,站,Linux现在,已,已经成,为,为一种,广,广受关,注,注和支,持,持的一,种,种操作,系,系统,IDC,是,是互联,网,网数据,中,中心,LinuxIDC就,是,是关于Linux的,数,数据中,心,心。,LinuxIDC.com提供包,括,括Ubuntu,Fedora,SUSE技术,,,,以及,最,最新IT资讯,等,等Linux,专,专业类,网,网站。,commonand variable,header,块,块,地,地址,,段,段类型85-100bytes,Tabledirectory,簇,簇中的,表,表信息,,,,用于,簇,簇表段,Rowdirectory,块,块中的,行,行信息,Free space,用,用于insertupdata,Rowdata,存,存,储,储数据,、,、索引,block,结构,(系,统,统管理,员,员能在SQLDBA,状,状态,,查,查看视,图,图dba-extents,dba-segments,dba-tablespace,dba-data-files查,看,看所有,的,的extent,segment,tablespace和,datafile),3、行,链,链,行链,1 block,2 block,当要存,储,储的数,据,据无法,在,在一个,数,数据块,中,中存放,时,时,需,分,分配两,个,个或多,个,个数据,块,块,标,志,志这几,个,个datablock连,接,接关系,的,的存储,信,信息,行链,4、,行,行迁,移,移,1block,2block,当一,个,个datablock中,的,的某,部,部分,数,数据,经,经修,改,改,后增,涨,涨太,快,快,,无,无法,继,继续,放,放在,本,本数,据,据块,中,中,,从,从需,把,把它,搬,搬迁,到,到另,一,一个datablock,,,,以,优,优化,存储,结,结构,,,,标,志,志这,个,个datablock迁,移,移的,存,存储,信息,称,称为,行,行迁,移,移。,pctfree20%,左,左右,它,它们,是,是互,相,相消,涨,涨的,pctused40%左,右,右,Inittrans,在,在单,一,一块,中,中最,初,初活,动,动的,交,交易,事,事务,数,数,Maxtrans,在,在单,一,一块,中,中最,大,大交,易,易事,务,务数,5、控制block空间使,用,用的几个,参,参数,Pctfree,低,高,1、可把,块,块填 得,较,较满,2、如果,重,重组数据,,,,代价较,高,高,3、易引,起,起行迁移,1、剩下,多,多的空间,给,给以后修,改,改用,2、需更,多,多的块存,数,数据,3、减少,行,行链和重,组,组数据的,代,代价,Pctused,低,高,1、使重,组,组数据时,,,,代价较,低,低。,2、增加,了,了未用的,空,空间数,1、增加,空,空间使用,率,率,2、但使,重,重组数据,时,时,代价,较,较高,6、决定extent的参,数,数,initial,最,最,初,初分配的,空,空间数(,缺,缺省为10k,5,个数据块),next,下,下,一,一步分配,的,的空间数,maxextents,最,最大分配,的,的extent数,minextents,最,最小分配,的,的extnet数,,,,所有重,做日志回,滚,滚段的存,储,储结构,,必,必,须成对地,分,分配extent,pctincrease,增,增长率,,指,指数级增,长,长,,optimal,尽,尽量设,小,小,或为0(缺省,为,为空,,仅用于回,滚,滚段),freelist,pctincrease,100,(,),n,1+,存储参数,的,的设定规,则,则:,1、在对,象,象级的存,储,储参数设,置,置值覆盖,表,表空间级,的,的设置,2、未在,对,对象级设,置,置存储参,数,数,由表,空,空间级数,设,设置决定,3、未在表空,间,间级设置存储,参,参数,由Oracle数据,库,库级参数,设置决定,4、若存储参,数,数改变后,新,的,的选项只针对,未,未分配的extents,有
展开阅读全文