oracle运行情况总结_第1页
oracle运行情况总结_第2页
oracle运行情况总结_第3页
oracle运行情况总结_第4页
oracle运行情况总结_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、netstat -tln 命令是Linux查看端口使用情况netstatt an命令是winndows查查看端口使用用情况一、查看执行ssql还剩多多少时间:select b.sql_ttext, -SQLL内容a.MACHIINE, -哪台机器器运行的SQQLa.USERNNAME,-哪个用户户运行的SQQLa.MODULLE,-是是哪运行方式式c.sofarr/totaalworkk*100,-工作进进行了百分之之多少 c.elapssed_seecondss, -己己经用了多少少时间(秒)c.time_remaiining -还剩多多少时间(秒秒)from v$sessiion a, v

2、$sqqlareaa b,v$sessiion_loongopss cwhere aa.sql_hash_valuee=b.HAASH_VAALUEand a.ssid=c.sid aand a.SERIAAL#=c.SERIAAL#监控当前数据库库谁在运行什什么SQL语语句 SELECT osuseer, ussernamme, sqql_texxt from v$sesssion a, v$sqlteext b where a.sqll_addrress = b.adddresss order by adddresss, pieece;二、查看数据库库文件情况(大大小、是否扩扩展等)SEL

3、ECT T.TABBLESPAACE_NAAME,D.FILE_NAME,D.AUTOEEXTENSSIBLE,D.BYTTES,D.MAXBYYTES,DD.STATTUSFROM DBBA_TABBLESPAACES TT,DBA_DATA_FILESS DWHERE TT.TABLLESPACCE_NAMME =D.TABLEESPACEE_NAMEEORDER BBY TABBLESPAACE_NAAME,FIILE_NAAME;修改数据库文件件sql:alter ddatabaase daatafille DD:ORAACLEOORA_DAATADAATACORRE_00003.OR

4、AA auttoexteend onn nextt 100MM maxssize 66G;alter ddatabaase daatafille D:ORACCLEORRA_DATTAAMLLM_00002.ORAA ressize 22048M;增加数据库文件件sqlLalter ttablesspace tableespacee_namee add dataffile D:ORRACLEORA_DDATAAAMLM_00002.OORA ssize 11024M;三、查看表空间间使用情况及及版本查看oraclle版本:SELECT*FROM PPRODUCCT_COMMPONENNT_VE

5、RRSION;查看Oraclle数据库表表空间的占有有率seleect a.tableespacee_namee, roound(a.maxxbytess / 10024 / 1024), 2) sum MB, rounnd(a.bytess / 10024 / 1024), 2) dataafile MB, rounnd(aa.bytees - bb.bytees) / 1024 / 10224), 22) ussed MBB, rround( (a.maxbyytes-aa.bytees+b.bbytes) / 10024 / 1024), 2) freee MB, rouund(a.by

6、ttes - b.byttes) / a.maaxbytees) * 100, 2) ppercennt_useed ffrom (selecct tabblespaace_naame, ssum(byytes) bytess,sum(maxbyytes) maxbyytes frrom dbba_datta_filles whhere mmaxbyttes!=00 ggroup by taablesppace_nname) a, (selecct tabblespaace_naame, ssum(byytes) bytess, maxx(bytees) laargestt from dba_

7、ffree_sspace grroup bby tabblespaace_naame) bbwherre a.ttablesspace_name = b.ttablesspace_nameorderr by (a.byytes - b.byytes) / a.mmaxbyttes) ddesc;Select Segmeent_Naame,Suum(byttes)/11024/11024 FFrom UUser_EExtentts Grooup Byy Segmment_NName这个命令可以查查看当前用户户下所有表占用的的空间大小。还有在命令行情情况下如何将将结果放到一一个文件里。1. 查看所

8、有有表空间大小小SQL seelect tableespacee_namee,sum(bytess)/10224/10224 froom dbaa_dataa_filees groupp by ttablesspace_name;2. 已经使用用的表空间大大小SQL seelect tableespacee_namee,sum(bytess)/10224/10224 froom dbaa_freee_spacce 2 grroup bby tabblespaace_naame;3. 所以使用用空间可以这这样计算select a.tabblespaace_naame,tootal,ffree,t

9、total-free used from ( selecct tabblespaace_naame,suum(byttes)/11024/11024 ttotal from dba_ddata_ffiles grouup by tableespacee_namee) a, ( selecct tabblespaace_naame,suum(byttes)/11024/11024 ffree ffrom ddba_frree_sppace grouup by tableespacee_namee) bwhere aa.tabllespacce_namme=b.ttablesspace_name;

10、4. 下面这条条语句查看所所有segmment的大大小(相当于于查看表使用用的大小)。Select Segmeent_Naame,Suum(byttes)/11024/11024 FFrom UUser_EExtentts Grooup Byy Segmment_NName5. 还有在命命令行情况下下如何将结果果放到一个文文件里。SQL sppool oout.txxtSQL seelect * froom v$ddatabaase;SQL sppool ooff6、查看表空间间中分布的用用户信息selecttableespacee_namee,ownner,suum(byttes)ffrom

11、ddba_seegmentts groupbbytabblespaace_naame,oowner四、查看reddo logg文件及切换换情况,通常常切换时间为为15300分钟select * froom v$llogfille;select * froom v$llog;修改redo log文件件大小:alter ssystemm checckpoinnt;alter ssystemm swittch loogfilee;alter ddatabaase drrop loogfilee grouup 3;alter ddatabaase addd loggfile groupp 3 (D:O

12、RACCLEPRRODUCTT10.22.0ORRADATAAUPRRRREDOO03.LOG) sizze 2000M reuuse;五、碎片程度 select tabblespaace_naame,coount(ttablesspace_name) frrom dba_ffree_sspace grooup by tableespacee_namee having couunt(taablesppace_nname) 10; 六、em的地址址查看及em和isqqlpluss启动及关闭:查看地址:/ooraclee/oraccle10gg/sysmman/coonfig/ peertiess

13、默认地址:htttp:/$IP:11158/emm/conssoleLinux下启启动、停止EM和和isqlpplus:su - orracle【ooraclee#】emctll stopp dbcoonsolee【oraclee#】emctll starrt dbcconsolle【oraclee#】isqlppluscttl sottp;【orracle#】isqlppluscttl staart;附注:Q: 在命令行行方式下,如如何查看CPPU、内存的的使用情况,网网络流量和磁磁盘I/O? A: 在在命令行方式式下, 1. 查看CPPU使用情况况的命令 每5秒刷刷新一次,最最右侧有CPP

14、U的占用率率的数据 $ vmsttat 5 topp 然后按SShift P,按照进进程处理器占占用率排序 $ topp 2. 查查看内存使用用情况的命令令 用ffree命令令查看内存占占用情况 $ freee toop 然后按按Shiftt M, 按按照进程内存存占用率排序序 $ toop 3. 查看网络流流量 能能够用工具iiptraff工具 $ iptraaf -g 针对某某个Inteerfacee的网络流量量能够通过比比较两个时间间网络接口的的RX和TXX数据来获得得 $ daate; iifconffig etth1 $ date; ifcoonfig eth1 4. 查看看磁盘i/

15、oo 用iiostatt查看磁盘/dev/ssdc3的磁磁盘i/o情情况,每两秒秒刷新一次 $ iosstat -d -x /dev/sdc3 2 用用vmstaat查看ioo部分的信息息 $ vmmstat 2七、内存参数调调整64位linuux,64位位oraclle10g,664位webbspherre6.1,;服务器内内存8G的情情况下配置:ALTER SSYSTEMM SET open_cursoors = 3000 SCOPEE=SPFIILE;ALTER SSYSTEMM SET pga_aaggreggate_ttargett = 2556M SCCOPE=SSPFILEE;A

16、LTER SSYSTEMM SET db_caache_ssize = 50M SCOPEE=SPFIILE;ALTER SSYSTEMM SET db_fiile_muultibllock_rread_ccount = 2566 SCOPPE=SPFFILE;ALTER SSYSTEMM SET java_pool_size = 10224M SCCOPE=SSPFILEE;ALTER SSYSTEMM SET largee_pooll_sizee = 7668M SCCOPE=SSPFILEE;ALTER SSYSTEMM SET sga_mmax_siize = 3G COOMMENTT

17、=intternallly addjusteed SCCOPE=SSPFILEE;ALTER SSYSTEMM SET shareed_poool_sizze = 11024M SCOPEE=SPFIILE;-ALTERR SYSTTEM SEET sorrt_areea_sizze = 11000M SCOPEE=SPFIILE;-ALTERR SYSTTEM SEET unddo_rettentioon = 110800 SCOPEE=SPFIILE;-在32位的操作作系统中,OOraclee最大可用内内存为1.775g,也就就是说SGAA+PGAshoow parrameteer sga

18、a;SQLALTTER syystem SET ssga_maax_sizze=1504m scoope=sppfile;SQLALTTER syystem SET ssga_taarget=1504m scoope=sppfile;SQLshuutdownn immeediatee;SQLstaartup;SQLshoow parrameteer pga;SQLALTTER syystem SET ppga_agggregaate_taarget=256m;内存参数的调整整主要是orracle的的sga的调调整,seaa主要由共享享池、数据缓缓冲区、日志志缓冲区三部部分组成。1、共享池有两两

19、部分组成:共享sqll区和数据字字典缓冲区。查看共享sqll区得使用率率,应该在990%以上,否否则需增加共共享池的大小小。select (sum(pins-relooads)/sum(pins) liib cacche ffrom vv$librrarycaache;select sum(ppins) 请求存取取数,suum(relloads) 不命中中数,suum(relloads)/sum(pins) fromm v$liibraryycachee;其中,pinss,显示在库库高速缓存中中执行的次数数;relooad,显示示在执行阶段段库高速缓存存不命中的数数目,一般ssum(reelo

20、adss)/summ(pinss)的值应接接近于零.如如果大于1%就应该增加加shareed_poool_sizze的值, 来提高数据据字典高速缓缓存可用的内内存数量,减减少不命中数数.查看数据字典缓缓冲区的使用用率,应该在在90%以上上,否则需要要增加共享池池的大小。select (sum(gets-getmiisses-usagee-fixeed)/ssum(geets) row cachee froom v$rrowcacche;2、数据缓冲区区的使用命中中率=1-(physiical rreads/(db bblock gets+consiistentt getss),应该该在90%以

21、以上,否则需需增加数据缓缓冲区大小。select name,valuee fromm v$syysstatt wherre namme in(db bblock gets,connsisteen getts,pphysiccal reeads);3、日志缓冲区区失败率=rrequessts/enntriess,应该接近近0,否则说说明日志缓冲冲区太小,需需增加。select name,valuee fromm v$syysstatt wherre namme in (reddo enttries,reddo logg spacce reqquestss)4、刷共享池alter ssystemm

22、 flussh shaared_ppool;-是小块块的内存合并并成大块的内内存,暂时恢恢复性能-5、临时表空间间的调整技巧巧如下:如果即使在稳定定的状态下也也存在很多的的排序扩展锁锁(sortt exteent poool laatch)的的竞争,应该该通过修改临临时表空间的的defauult sttoragee 字句的nnext值来来增大扩展块块的大小。如如果存在很多多的排序扩展展锁(sorrt exttent ppool llatch)的的竞争并且这这种等待是由由于过多的并并发的排序造造成的,应该该增大 soort_arrea_siize参数的的大小,以便便更多的派讯讯能保存在内内存中,

23、建议议让扩展块的的大小和soort_arrea_siize参数相相同-6、查看sqll语句的解析析情况select * froom v$ssysstaat wheere naame inn (paarse_ttime_ccpu,parsee_timee_elappsed,parsse_couunt_haard)parse_time_cpu-系统服务务时间,parsee_timee_elappsed-响应时时间等待时间 waaite_ttime=pparse_time_elapssed-paarse_ttime_ccpusql语句平均均解析等待时时间=waiite_tiime/paarse_cc

24、ount_hard-7、查看低效率率的sql语语句 优化有有助于提高ccpu的利用用率select buffeer_getts,exeecutioons,sqql_texxt froom v$ssqlareea;-8、通过v$ssystemm_evennt的lattch frree查看数数据库冲突情情况,如果没没有冲突则llatch free无无结果值。如如果冲突太大大则可降低sspin_ccount参参数值来消除除高的cpuu使用率。八、索引、磁盘盘及表空间调调整将物理磁盘分多多个盘,不同同的数据文件件放不同的磁磁盘上课提高高速度。将不同的表放不不同的表空间间里(多建几几个表空间)可可提高速

25、度。将索引和表分别别放到不同的的表空间里可可提高速度。(其实就是I/O调优的一一种方式。)九、log_bbufferr、proceesses及及sessiion调整SQLshoow parrameteer spffile;-查看是否否是spfiile启动SQLcreeate sspfilee fromm pfille;-如如果不是创建建并重启数据据库;SQL allter ssystemm set proceesses=1000 sscope = spffile;SSQL sshow pparameeter pprocessses;SSQLshhutdowwn immmediatte;SQL

26、sttartuppSQL shhow paarametter seessionns;【注:sesssions是是个派生值,由proccessess的值决定,公式sesssionss=1.1*proceess + 5】SQLaltter syystem set llog_buuffer= 16M scopee=spfiile(默认认4M)SQLshoow parrameteer logg_bufffer;问题:ORA-020955: 无法修修改指定的初初始化参数alter systeem sett log_buffeer= scopee=spfiile;(不不能用M直接接用字节okk)环境 :1

27、1ggR2 alter systeem sett sesssions=250 sscope=both。提示无法修改制制定的初始化化参数。alter ssystemm set sessiions=2250 sccope=sspfilee;提示系统参数已已修改。这种情况下,重重新启动数据据库才会生效效。这涉及到到oraclle中有些参参数可以动态态修改,有些些参数不能动动态修改,如如何具体哪些些参数可动态态修改,哪些些参数不可以以动态修改,通通过v$paarametter 视图图可以清晰查查看。SQL deesc v$parammeter;名称 是否为空空? 类型- - -NUM NUMBEERN

28、AMME VAARCHARR2(80)TYPEE NUMMBERVVALUE VARCHHAR2(44000)DISPLLAY_VAALUE VARCCHAR2(4000)ISDEEFAULTT VARRCHAR22(9)IISSES_MODIFFIABLEE VARCHHAR2(55)ISSSYS_MOODIFIAABLE VAARCHARR2(9)ISINSSTANCEE_MODIIFIABLLE VARCCHAR2(5)ISSMODIFFIED VVARCHAAR2(100)ISAADJUSTTED VAARCHARR2(5)ISDEPPRECATTED VARCCHAR2(5)ISSB

29、ASICC VVARCHAAR2(5)DESCCRIPTIION VARRCHAR22(255)UPDAATE_COOMMENTT VARRCHAR22(255)HASHH NUMMBER其中name 标示参数名名字,issses_moodifiaable标示示是否可以会会话级别修改改,如何是ffalse,则则不可以动态态修改,trrue则可以以动态修改。issyss_modiifiablle标示是否否系统级别修修改,fallse则不可可修改,trrue则可动动态修改。SQL seelect name,issess_modiifiablle,isssys_moodifiaable ffrom

30、vv$paraameterr wherre namme=seessionns;NAME IISSES ISSYSS_MOD- -sesssions FALLSEFAALSE问题:ORA-125199: TNSS:no aapproppriatee servvice hhandleer fouund 的解解决有时候连得上数数据库,有时时候又连不上上.可能是数据库上上当前的连接接数目已经超超过了它能够够处理的最大大值.SQL seelectccount(*) fromm v$prrocesss;-当前前连接数 COOUNT(*) 663SQL seleect vaalue ffrom vv$par

31、aameterr wherre namme =proccessess-数据据库允许的最最大连接数VVALUE5500修改最最大连接数:SQL alterr systtem seet proocessees =1000 sccope = spfiile;重启启数据库:SSQL sshutdoown immmediaate;SQQL sttartupp;-查看看当前有哪些些用户正在使使用数据SEELECT osuseer, a.usernname,ccpu_tiime/execuutionss/|s, ssql_fuulltexxt,macchine from vv$sesssion aa, v$

32、ssqlareea bwhhere aa.sql_addreess =b.adddress orderrby cpuu_timee/execuutionss descc;-快速删除不不活动进程sset heeadingg offsspool onsellect pp.SPIDD fromm v$seessionn s,v$proceess p wheree s.paaddr= p.adddr andd s.maachinee=wooogle;spooll offsset seerverooutputt on ;declaarev_ssid nuumber;v_serrial nnumberr;

33、v_sqql varrchar22(200) ;CURRSOR ccur_seessionn is seleect siid, seerial# fromm v$seessionn wherre macchine=wooggle;bbeginoopen ccur_seessionn ;fettch cuur_sesssion into v_sidd , v_seriaal ;whhile ccur_seessionn%founndlooppdbms_outpuut.putt_linee(v_siid| killeed!) ;v_sqql:= alterr systtem kiill seess

34、ionn |v_sidd|,|v_sseriall|;exeecute immeddiate v_sqll ;fettch cuur_sesssion into v_sidd , v_seriaal ;ennd looop ;cllose ccur_seessionn ;endd ;/Linux 下快速删除除不活动进程程#!/biin/basshtmpffile=/tmp/ttmp.$sqlpllus / as sysdbba ccreatee undoo tabllespacce UNDDOTBS22 dataafile /optt/oraccle/dbb02/appp/oraacle/oo

35、radatta/ORCCL/unddotbs002.dbff sizze 30000m;SQQL shhow paarametter unndounddo_mannagemeent sstringg MANUUALunddo_rettentioon iintegeer 36000undo_supprress_eerrorss booolean FFALSEuundo_ttablesspace striing UNNDOTBSS1SQL alteer sysstem sset unndo_maanagemment=aauto sscope=spfille;SQLL altter syystem

36、set uundo_ttablesspace=UNDOTTBS2 sscope=spfille;SQLshoow useer -用dba以以上用户SQLshuutdownn immeediateeSQL sttartuppSQL drrop taablesppace uundotbbs1;5. 查看回滚滚段的使用情情况,哪个用用户正在使用用回滚段的资资源,如果有有用户最好更更换时间(特特别是生产环环境)。SQL seelect s.useernamee, u.nname ffrom vv$trannsactiion t,v$rolllstatt r,ITTPUB个人人空间 OkkL155rxl

37、l v$rollnname uu,v$seessionn s whhere ss.tadddr=t.aaddr aand)x&8H+GGw_9i0 t.xxidusnn=r.ussn andd r.ussn=u.uusn orrder bby s.uusernaame;6. 检查UNNDO Seegmentt状态;SQL seelect usn,xxacts,rssizze/10224/10224/10224,hwmmsize/1024/1024/1024,shrinnks1Co(V#ttP ea00 ffrom vv$rolllstat orderr by rrssizee;7. SQL c

38、reaate unndo taablesppace uundotbbs1 daatafille /oopt/orracle/oradaata/upprr/unndotbss01.dbbf siize 30072M rreuse autoeextendd on nnext 8800m mmaxsizze 16GG;8. 动态更改改spfille配置文件件;SQL allter ssystemm set undo_tableespacee=undootbs1 scopee=bothh;System alterred.9. 等待原UUNDO表空空间所有UNNDO SEEGMENTT OFFLLINE

39、;SQL seelect usn,xxacts,statuus,rsssize/11024/11024/11024,hhwmsizze/10224/10224/10224,shrrinksIITPUB个个人空间bXXG?y frrom v$rollsstat oorder by rsssize;10. 再执行行看UNDOO表空间所有有UNDO SEGMEENT ONNLINE;SQL seelect usn,xxacts,statuus,rsssize/11024/11024/11024,hhwmsizze/10224/10224/10224,shrrinksGG cCt444 hr00ez0

40、 fromm v$roollstaat ordder byy rssiize;11. 删除原原有的UNDDO表空间;SQL drrop taablesppace uundotbbs2 inncludiing coontentts;Tablesppace ddroppeed.12. 确认删删除是否成功功;SQL seelect name from v$tabblespaace;十、调整参数ssort_aarea_ssize常常遇到这样的的问题:某某某参数应改怎怎么设,设置置多大合适?其实很多情情况下只能给给出个大概的的估计值。例例如参数soort_arrea_siize,太小小,排序时是是会访问

41、磁盘盘,影响性能能,太大,浪浪费内存空间间。那么设多多大合适呢? 使用如下脚本:SQL seelect A.Vallue Diisk_Soorts, BB.Valuue Memmory_SSorts, ROUNDD(100*A.Vallue/ DDECODEE(A.VValue+B.Vallue),00,1,(AA.Valuue+B.VValue),2) Pctt_Diskk_Sortts from V$SYSSSTAT A, V$SYSSTTAT B wwhere A.Namme = sortss (dissk) and BB.Namee = ssorts (memoory);DISK_SO

42、ORTS MMEMORYY_SORTTS PCTT_DISKK_SORTTS- - - 1 12200 .08当然我的只是一一个例子,你你应改从你自自己的在用数数据库查询,例例如设置一个个限值,例如如10,如如果磁盘排序序占总排序的的10,则则应改增大ssort_aarea_ssize, 如果1占的的比例太小,是是否应改考虑虑减小sorrt_areea_sizze。ps: 一直以以为sortt_areaa_sizee的空间在会会话连接时就就会分配,但但看一些资料料,各不相同同。还得细心心琢磨。我觉得对于这个个建议,在OOraclee9i可以借借鉴为调整ppga大小。9i以上用用pga_aagg

43、reggate_ttargett参数控制,ssort_aarea_ssize参数数无效。十一、TEMPP表空间调整整在优化SQL语语句的基础上上,加大内存存,适当调整整Sort_area_size的的大小,因为为Oraclle优先使用用内存排序,内内存不够才使使用磁盘中的的临时表空间间,对于超大大临时表空间间可以删除这这个超大临时时表空间,重重新创建一个个合适大小的的,不可自动动扩展。一般初始的临时时表空间都很很小,当系统统运行的时候候,临时表空空间会自动扩扩展,但是使使用率一直都都会非常高,所所以,主要看看一下 dbba_temmp_filles 里面面 autooextennsiblee(

44、是否字段段扩展)和 maxbyytes以及及磁盘空间是是否足够,只只要临时表空空间支持扩展展,且磁盘空空间足够,一一般都不会出出问题的。如果你希望望使用率降低低,那就 rresizee 临时表空空间的文件,将将文件修改大大一点,比如如 20G 以上。查看临时表空间间信息select*from ddba_teemp_fiiles;-查看临时表表空间使用率率select tableespacee_namee,userr_bytees,bytess,roundd(userr_bytees/byttes,6)as pcct froom dbaa_tempp_filees;-查看临时表表空间数据文文件的

45、大小select file_name,bytess/1024/1024/1024 MB,autoeextenssible,tableespacee_namee fromm dba_temp_filess;或者selecct tabblespaace_naame, bytees/powerr(1024,3)as pctt fromm dba_temp_filess;(单位G)2、检查过程(1) 我们可可以查查数据据库alerrt日志例如如:/u0/adminn/sm/bbdump/alertt_sm.llog HYPERLINK javascript:; 数据库库中并没有报报temp表表空间的错

46、,一一般来说不报报错,可以先先不管,因为为没有temmp表空间可可能由于没有有需要用到而而不释放空间间。(2) 我们可可以用这个语语句查一下SSELECTT se.uusernaame,siid,serrial#,sql_aaddresss,macchine,progrram,taablesppace,ssegtyppe,conntentssFROM v$sesssion se,v$sort_usagee suWHHERE sse.sadddr=suu.sesssion_aaddr;其实v$sesssion是是会话信息,vv$sortt_usagge是正在使使用排序段的的会话。可以以检查当前数

47、数据库有没有有语句正在用用排序段,如如果有的话可可以使用一下下语句删除寻寻找出的相关关语句:SQQLaltter syystem kill sessiion ssid,seerial#;(3) 检查ttemp表空空间是不是自自动扩展的SSQLseelect file_name,bytess/10244/10244 MB,autooextennsiblee,tabllespacce_namme froom dbaa_tempp_filees;(4) 查询目目前数据库中中默认的临时时表空间SQQLsellect * fromm dataabase_propeertiess wherre proop

48、ertyy_namee likee DEFFAULT%;或SQQLsellect uusernaame,teemporaary_taablesppace ffrom ddba_ussers;3处理过程(1) 重起数数据库,看看看有没有释放放临时表空间间Smon进进程会完成临临时段释放,TEMP表表空间的清理理操作,不过过很多的时侯侯我们的库是是不允许doown的,所所以这种方法法缺少了一点点的应用机会会,不过这种种方法还是很很好用的。(2) 如果检检查出temmp表空间是是自动扩展的的,建议先修修改成非自动动扩展由于数数据库temmp表空间是是自动扩展,有有可能它不断断使用新的空空间,建议先先

49、把它变成非非自动扩展。例如:altter daatabasse temmpfilee E:ORACLLEPROODUCT10.2.0ORAADATAUPRRTEMP001.DBFF auttoexteend offf;(3) 如果ttemp表空空间不是自动动扩展,而且且空间比较小小例如:数据据库的temmp表空间只只有1.6GG,觉得可以以扩大一点,扩扩大3G左右右(上千万的的数据可以扩扩大到8110G)SQQL allter ssystemm tempp add tempffile /u0/ooradatta/sm/temp002.dbff sizze 30996M;(4) 如果ttemp表

50、空空间由于自动动扩展变得太太大,可以新新建一个teemp表空间间把它取代详详细可参看eeygle大大师的Orracle99i中如何重重建与切换临临时表空间 HYPERLINK /archives/2006/04/oracle9i_default_temporary_tablespace.html http:/m/archhives/2006/04/orracle99i_deffault_tempoorary_tableespacee.htmll例如:用ttemp2表表空间取代ttemp表空空间SQL creaate teemporaary taablesppace ttemp2 tempffi

51、le E:ORRACLEPRODUUCT100.2.0ORADAATAUPPRRTEEMP02.DBF size 200M autoeextendd off;SQL allter ddatabaase deefaultt tempporaryy tabllespacce temmp2;SQL drrop taablesppace ttemp;最最后在操作系系统上把teemp的文件件删除,就可可以释放空间间。如果为了更美观观可以重新建建temp表表空间,删除除temp22:SQLcreeateteemporaarytabblespaace teemp teempfilleE:ORACLLEPRO

52、ODUCT10.2.0ORAADATAUPRRTEMP001.DBFFsizee102400M autooextenndoff;SQLaltterdattabaseetempffileEE:ORAACLEPPRODUCCT10.2.0OORADATTAUPRRRTEMMP01.DDBFauutoexttendonn;SQLaltterdattabaseedefauulttemmporarrytabllespacce temmp;SQLdrooptabllespacce temmp2incluudingccontenntsandddataffiles;(5) 如果使使用的版本是是 HYPERLI

53、NK javascript:; oraclle HYPERLINK javascript:; 10g以上,可可以收缩表空空间SELEECT see.userrname,sid,sseriall#,sqll_addrress,mmachinne,proogram,tableespacee,segttype,ccontenntsFROOM v$ssessioon se,v$sorrt_usaage suuWHEREE se.ssaddr=su.seessionn_addrr;其实v$sessiion是会话话信息,v$sort_usagee是正在使用用排序段的会会话。可以检检查当前数据据库有没有语语

54、句正在用排排序段,如果果有的话可以以使用一下语语句删除寻找找出的相关语语句:SQLLalteer sysstem kkill ssessioon siid,serrial#;SQLAlterr tabllespacce TEMMP coaalescee;(6) 网上MMetaliink给出的的一个方法修改一下下TEMP表表空间的sttoragee参数,让SSmon进程程观注一下临临时段,从而而达到清理和和TEMP表表空间的目的的。SQLaalter tableespacee tempp incrrease 1; SQLaalter tableespacee tempp incrrease 0;

55、(7) 网上给给出诊断事件件的一种方法法确定TEMMP表空间的的ts#SQQL seelect ts#, name from sys.tts$ ; TS# NNAME- - 0 SYSTEEM 1 UNDDOTBS11 22 TEMPP 33 INDXX 44 TOOLLS 5 USEERS 6 DKH_DDATA 7 DDKH_INNDX 8 PHHS_DATTA 9 PHSS_INDXX10 rowss seleected.执行清理操作SSQLallter ssessioon sett evennts iimmediiate ttrace name DROP_SEGMEENTS lleve

56、l 3 ;说明:tempp表空间的TTS# 为 2*, SSo TS#+ 1= 3PS注意几个问问题:(1) 在oraacle中,ttemp表空空间是独立于于其他的表空空间的(回滚滚表空间UNNDOTBSS,数据表空空间DATAATBS等),因为它的的数据是临时时的,不用保保存的所以查查数据表都不不一样:teemp: dbaa_tempp_filees v$ttempfiile其他: ddba_daata_fiiles vv$dataafile完完成的说,整整个数据库的的大小是由 temp + 其他表表空间大小,一一般我们就只只算其他表空空间大小,例例如在月报中中(2) 建表空空间不一样tte

57、mp表空空间:SQLLcreaate teemporaary taablesppace ttemp2 tempffile /opt/oraclle/oraadata/conneer/temmp1.dbbf siize 100M auttoexteend offf;数据表空间:SSQLcrreate tableespacee testt_a daatafille /hhome/ooraclee/oraddata/ttest/ttest_aa.dbf sizee 100mm exteent maanagemment llocal segmeent sppace mmanageement auto;

58、undo表空间间SQL creatte UNDDO TABBLESPAACE unndotbss_01 DDATAFIILE CC:OraacleOOrdataaTSH11undoo0101.dbf SIZE 100M REUSEE AUTOOEXTENND offf;(3) 加表空空间的方法不不一样temmp表空间SSQL aalter tableespacee tempp add tempffile /opt/oraclle/oraadata/conneer/temmp2.dbbf siize 200M auttoexteend offf;数据表空间和UUNDO表空空间一样SQQL all

59、ter ttablesspace test_aaddd dataafile /optt/oraccle/orradataa/connner/abbc.dbff sizze 10MM autooextennd offf;SQL alteer tabblespaace unndotbss_01aadd daatafille /oopt/orracle/oradaata/coonner/undottbs_022.dbf sizee 10M autoeextendd off;十二、 I/OO调优数据库配置和IIO问题-性性能调优降低磁盘的IOO分散磁盘的IOO1、表空间使用用本地管理,将将文件分散到到

60、不同的设备备上1)将数据文件件与日志文件件分开2)减少与服务务器无关的磁磁盘IO3)评估裸设备备的使用4)分割表数据据2、表空间的使使用系统表空间保留留给数据字典典对象创建本地管理表表空间以避免免空间管理问问题将表和索引分散散到独立的表表空间中使用独立的回滚滚表空间将大的数据库对对象保存在各各自独立的表表空间中创建一个或多个个独立的临时时表空间下列数据库对象象应该有单独独的表空间:数据字典、回滚滚段、索引、临时段、表表、大对象3、检查IO统统计数据select phyrdds,phyywrts,d.namme froom v$ddatafiile d,v$fillestatt f whhere

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论