Oracle数据库日常管理方案_第1页
Oracle数据库日常管理方案_第2页
Oracle数据库日常管理方案_第3页
Oracle数据库日常管理方案_第4页
Oracle数据库日常管理方案_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

1.Oracle数据库平常管理方案

Oracle数据库的运维解决,更重要的是做好数据库的管理工作,做好数据库的检者与备

份工作,然后需要熟悉相关的逻辑结构故障解决方法、物理结构故障解决方法,应对数据库

损坏的情况,在数据库发生损坏而无法修复的时候,能运用数据库管理工作中所做的数据备

份及时恢复系统、数据,恢复正常生产工作。

.数据库管理

Oracle数据库的管理重要是要做好平常的检查管理工作,并检查好数据库的备份情况,

在发生紧急情况时能及时不仅切换到备用系统上进行工作,并要能在数据库数据出现异常的

时候,能及时恢任数据。因此,做好平常的检查与管理工作特别重要,重要工作涉及:

•数据库的性能监控检查

•数据库状态巡检检查

•数据库备份情况与可恢复性检查

1.LL数据库性能监控管理

通过对数据库性能监控的管理工作,可以有效的防范风险事件的发生,并能从长时间的

运营数据中,总结出数据库性能的状态,为系统性能优化、隐患事件排查提供更好的依据。

查找前十条性能差的sql

SELECT*FROM(selectPARS1NG_USER」D.EXECUTIONS,SORTS,COMMAND_TYPE,

DISK_READS.sql_textFROMv$sqlareaorderBYdisk_readsDESC)whereROWNUM<10;

1.1.1.2.查询有enqueue等待的事件

SELECTb.SID,b.serial#,b.username,machine,event,wait_time,CHR(BITAND(pl,

-16777216)/16777215)11CHR(BITAND(pl,16711680)/65535)''EnqueueType"FROM

v$session_waita,v$sessionbWHEREa.eventNOTLIKE'SQL*N%'ANDa.eventNOT

LIKE'rdbms%'ANDa.SID=b.SIDANDb.SID>8ANDa.event='enqueue'ORDERBY

username;

1.1.L3.如何拟定哪个表空间读写频繁

selectname,phyrds,phywi-ts.readtini,writetimfromv$filestata,v$dbfilebwherea.file#=b.file#

orderbyreadtimdesc;

SELECTs.sid,kglpnmod“Mode”,kglpnreq"Req”,SPID**OSProcess''FROMv$sessionwaitw,

x$kglpnp,v$sessions,v$processoWHEREp.kglpnuse=s.saddrANDkglpnhdl=w.plrawand

w.eventlike4%librarycachepin%'ands.paddr=o.addr;

Ll.1.4.查询全表扫描的表

SQL>colnamefora30

SQL>selectname,valuefremvSsysstatwherenamein('tabicscans(shorttables)','tabicscans

(longtables)');

NAMEVALUE

(ablescans(shorttables)18602

tablescans(longtables)111

SQL>selectcount(targct),targetfromv$session_longopswhereopnamc='TableScan'groupby

target;

COUNT(TARGET)TARGET

84ECM.APPL.RPTLOG

159ECM_DCTM_OTHR.DMR^CONTENT_S

9ECM_DCTM_OTHR.DM_SYSOBJECT_R

2ECM_DCTM_OTHR.DM_SYSOBJECT_S

1.1.L5,查出全表扫描的表

Selectsql_tcxtfromv$sqltcxtt,v$sql_planpWheret.hash_valuc=p.hash_valueAnd

p.operation=,TABLEACCESS'Andp.opt沁n='FULL'Orderbyp.hash-vahie,t.piece;

1.1.1.6.查找FastFullindex扫描的Sql语句可以这样:

Selectsql_tcxtfromv$sqltcxtt,v$sql_planpWheret.hash_valuc=p.hash_vaiucAnd

p.operation=,INDEX,Andp.option=,FULLSCAN'Orderbyp.hash-value,t.piece;

L1.L7.查询硬语法分析的次数

SQL>selectname,vahiefremvSsysstatwherenamelike'parsecount%';

NAMEVALUE

parsecount(total)16103

parsecount(hard)343

parsecount(failures)5

该项一显示buffercache大小是否合适。

公式:1-((physicalreads-physicalreadsdirect-physicalreadsdirect(lob))/sessionlogicalreads)

执行:

select1-((a.value-b.value-c.value)Zd.value)fromv$sysstata,v$sysstatb,vSsysstatc,vSsysstatd

wherea.namc=,physicalreads'and=,physicalreadsdirect'and

=,physicalreadsdirect(lob)'and='sessionlogicalreads';

1.1.1.8.显示buffer命中率

公式:1-(physicalreads/(dbblockgcts+consistcntgets))

执行:

select1-(suin(decode(name.'physicalreads',value,0)))/(sum(decode(name,'dbblock

gets',value,0))+sum(decode(name,Consistentgets',value,0)))"bufferhitratio"fromv$sysstat;

Softparseratio:

这项将显示系统是否有太多硬解析。该值将会与原始记录数据对比以保证精确。例如,软解

析率仅为0.2则表达硬解析率太高。但是,假如总解析量(parsecounttotal)偏低,这项值可以

被忽略。

公式:1-(parsecount(hard)/parsecount(total))

执行:

selectl-(a.value/b.value)fromv$sysstata,v$sysstatbWhere='parsecount(hard)'and

='parsecount(total),;

In-mcmorysortratio:该项显示内存中完毕的排序所占比例。最抱负状态卜*在OLTP系统

中,大部分排序不仅小并且可以完全在内存里完毕排序。

公式:sorts(memory)/(sorts(memory)+sorts(disk))

执行:

selecta.value/(b.value+c.viilue)fromvSsysstata,v$sysstatb,v$sysstatcwhere=,sorts

(memory)'and=,sorts(memory)'and=,sorts(disk)';

Parsetoexecuteratio:在生产环境,最抱负状态是•条sql语句一次解析多数运营。

公式:1-(parsecount/executecount)

执行:

select1-(a.valuc/b.valuc)fromvSsysstata,v$sysstatbwherea.natnc=,parsccount(total)5and

=,executecount,;

ParseCPUtototalCPUratio:该项显示总的CPU花费在执行及解析上的比率。假如这项比

率较低,说明系统执行了太多的解析。

公式:I-(parsetimeepu/CPUusedbythissession)

执行:

selectl~(a.value/b.value)fiomv$sysstata,vSsysstatbwhere=,parsetimeepu'and

=,CPUusedbythissession,;

ParsetimeCPUtoparsetimeelapsed:通常,该项显示锁竞争比率。这项比率计算是否时间花

费在解析分派给CPU进行周期运算(即生产工作)。解析时间花费不在CPU周期运算通常表

达由于锁竞争导致了时间花费。

公式:parsetimecpu/parsetimeelapsed

执行:

selecta.value/b.valuefromv$sysstata,v$sysstatbwhere='parsetimecpu'and

b.namc=,parsctimeelapsed';

从V$SYSSTAT获取负载间档(LoadProfile)数据负载间档是监控系统吞吐量和负载变化

的重要部分,该部分提供如卜每秒和每个事务的记录信息:logonscumulative,parsecount

(total),parsecount(hard),executes,physicalreads,physicalwrites,blockchanges,andredosize.

被格式化的数据可检查'rales'是否过高,或用于对比其它基线数据设立为辨认syslemprofile

在期间如何变化。例如,计算每个事务中blockchanges可用如下公式:

dbblockchanges/(usercommits+userrollbacks)

执行:

selecta.value/(b.valuc+c.value)fromvSsysstata,v$sysstath,v$sysstatcwherea.narnc=,db

blockchangcs,andb.namc=,uscrcommits5andc.namc='uscrrollbacks,;

其它计算记录以衡量负载方式,如下:

Blockschangedforeachread:这项显示出blockchanges在blockreads中的比例。它将指出

是否系统重要用于只读访问或是重要进行诸多数据操作(如:inserts/updales/deletes)

公式:dbblockchanges/sessionlogicalreads

执行:

selecta.value/b.valuefromvSsysstata,vSsysstatbwhere=,dbblockchanges'and

=,sessionlogicalreads';

Rowsforeachsort:数据排序情况

公式:sorts(rows)/(sorts(memory)+sorts(disk))

执行:

selecta.value/(b.value+c.value)fromvSsysstata,v$sysstatb,v$sysstatcwhere=,sorts

(rows)'and=,sors(memory)'and=,sorts(disk)';

1.1.L9,查看某表的约束条件

selectconslraint_name,constraint_type,search_condition.r_constraint_namefrom

user_constraintswheretable_name=upper('&table_name');

selectc.conslraint_naine,c.constraint_lype,cc.column_namefromuser_constraints

c,uscr_cons_columnsccv/hcrcc.owner=uppcr('&table_owncr')andc.table_namc=

uppcr('&table_namc')andc.owncr=cc.owncrandc.constraint_namc=cc.constraint_name

orderbycc.position;

0.查看表的信息

Select*fromuser_tables;

1.查看表空间的名称及大小

selectt.tablespace_name,round(sum(byles/(1024*1024)),0)ls_sizefromdba_tablespacest,

dba_data_filcsdwheret.tablespacc_namc=d.tablcspacc_namcgroupbyt.tablespacc_namc;

selectt.tablespace_name,round(sum(bytes/(1024*1024)),0)ts_sizefromdba_tablespacest.

dba_data_filesdwheret.tablcspacc_namc=d.tablespacc_namegroupbyt.tablcspacc_name;

TABLESPACE.NAMETS.SIZE

CWML1TE20

DRSYS20

ODM20

PERFSTAT99

SYSTEM400

2.查看回滚段名称及大小

selectsegment_nanie,tablespace_name,r.status,(initial_extent/1024)InitialExtent,

(next_extent/1024)NextExtcnt,max_extents,v.curextCurExtcntFromdba_rollback_segsr,

v$rolIstatvWherer.segment_id=v.usn(+)orderbysegrient_name;

3.移动一个表的多个分区

BEGIN

FORxIN(SELECTpartition_name

FROMuser_tab_partitions

WHERE(='BIG_TABLE2')

LOOP

EXECUTEIMMEDIATE'altertabicbig_table2mDvepartition€||x.partitionname;

ENDLOOP;

END;

4.查看LOCK

SELECT/*+ORDEREDUSE_HASH(H,R)*/

H.SIDHOLD_SID,

R.SIDWAIT_SID,

dccodc(H.typc,

”MR","MediaRecovery”,

“RT","RedoThread”,

“UN","UserName”,

“TX,,,'Transaction”,

叮M",“DML”,

"UL","PL/SQLUserLock”,

"DX","DistributedXaction”,

“CF”,"ControlFile”,

“IS",“InstanceState”,

"FS","FileSet”,

“1R",“InstanceRecovery”,

“ST","DiskSpaceTransaction'\

“TS”,'HempSegmenf;

"IV","LibraryCacheInvalidation^,

"LS","LogStartorSwitch”,

“RW",“RowWait”,

“SQ","SequenceNumber”,

"TE","ExtendTable”,

"TT","TempTable”,

H.typc)type,

dccodc(II.lmodc,

0,"None",「Null”,

2,“Row-s(ssy;3,“Row-X(SXr,

4,“Share”,5,"S/Row-X(SSXf,

6,“Exclusive",tochar(H.lniode))hold,

decode(匚request,0,"None",

:'Null”,2,“Row-S(SS)”,

3,“Row-X(SX)”,4,'Share';

5,MS/Row-X(SSX)”,6,"Exclusive”,

to_char(R.reqjest))request.

R.ID1,R.ID2,R.CTIME

FROMVLOCKH,VLOCKRWHEREH.BLOCK=1ANDR.BLOCK=0andH.TYPE<>”MR"

ANDR.TYPE<>"MR"ANDH.IDI=R.ID1ANDH.ID2=R.ID2

5.找ORACLE字符集

select*fromps$wherename='NLS_CHARACTERSET';

6.查看ORACLE运营的OS平台

SQL>run

begin

dbms_output.put_line(dbms_utility.port_string);

end;

/

7.查看空间具体使用情况

CREATEORREPLACEPROCEDUREshow.space(

p_segnameINVARCHAR2,

p_ownerINVARCHAR2DEFAULTUSER,

p_typeINVARCHAR2DEFAULT'TABLE,

p_partitionINVARCHAR2DEFAULTNULL)

AS

l_tolal_blocksNUMBER;

l_tolal_bytesNUMBER;

l_unuscd_blocksNUMBER;

l_unused_bytesNUMBER;

l_lastusedextfileidNUMBER;

l」astusedextblockidNUMBER;

l_last_uscd_blockNUMBER;

PROCEDUREp(pjabelINVARCHAR2,p」iumINNUMBER)

IS

BEGIN

DBMS_OUTPUT.put_line(RPAD(pjabel,40,||p_num);

END:

BEGIN

DBMS_SPACE.unused_space

(segment_owner=>p_owner,

scgmcnt_namc=>p_scgnamc,

segment_type=>P-type,

partition_name=>p_partition,

total_blocks=>l_total_blocks,

total_bytes=>l_total_bytes.

unused_blocks=>l_unused_blocks,

unused_bytes=>l_unused_bytes,

last_uscd_cxtcnt_fiic_id=>IJastuscdcxtfileid,

last_used_extent_block_id=>Uastusedextblocki

last_used_block=>l_Iast_used_block

);

p('TotalBlocks',l_total_blocks);

p('TotalBytes',l_total_bytes);

p('UnusedBlocks',l_unused_blocks);

p('UnusedBytes\l_unused_bytes);

p('LastUsedExtFileld,IJastusedextfileid);

p('LastUsedExtBlockld',IJastusedextblockid);

p('LastUsedBlock',l_last_used_block);

END;

1.1.1.18.显示缓冲区的相关SQL

SELECTtch,file#,dbablk,

CASE

WHENobj=

THEN'rbs/compatsegment'

ELSE(SELECTMAX(*(11object_type||')'||owner||7||)||DECODE

(COUNT(*),1,‘maybe!')FROMdba.objeccsWHEREdata_object_id=x.obj)

ENDwhat

FROM(SELECTtch,file#,dbablk,objFROMx$bhWHEREstate<>0ORDERBYtchDESC)x

WHEREROWNUM<=5;

Ll.1.19.获取生成的根据文献名

selectc.value||7'||d.instance_name||LoraJ||a.spid||'.trc'tracefromv$processa,v$session

b,v$paramctcrc,vSinstanccdwherea.addr=b.paddrandb.audsid=uscrcnv('scssionid')and

=,user_dump_dest';

在v$scssion_longops视图中,sofar字段表达已经扫描的块数,totalwork表达总得需要

扫描的块数,所以我们即可以对正在运营的长查询进行监控,比如在索引创建时,查看索引

创建的进度,也可以查看系统中以往的长查询。

colopnameformata32

coltargct_dcscformata32

colperworkformata12

setlines131

selectsid,OPNAME.TARGET_DESC,sofar,TOTALWORK,!runc(sofar/totalwork*100,2)||'%'as

perworkfromv$session_longopswheresofar!=totalvvork;

setlines121

setpages999

colopnameformata29

coltargetformata29

col(arge(_descformata12

colperworkformata12

colremainformat99

colstart_timeformata21

colsofarformat99999999

coltotalworkformat99999999

colsql_textformata101

colbufgetsformal99999999

selectopname,target,to_char(start_time,'yy-mm-dd:hh24:mi:ss,)start_time,elapsed_seconds

elapsed,executionsexecs,buffer_gets/decode(executions,0,1executions)bufgets,module,sqljext

fromvSsession_longopssl,v$sqlarcasawheresl.sql_hash_valuc=sa.hash_valueand

upper(substr(module,1,4))<>'RMAN'andsubstr(opname,l,4)<>'RMAN'andmodule<>

'SQL*Plus'andsl.start_lime>trunc(sysdate)orderbys(art_time;

0.IO事件监控

i.监控事例的等待

selectevent,sum(dccodc(w£it_Timc,0,0,1))"Prev",sumidccodc(\vait_Timc,0,1,0))

"Curr",count(*)"Tot"fromv$session_Waitgroupbyeventorderby4;

2.回滚段的争用情况

selectname,waits,gets,waits/gets"Ratio"fromv$rollstala,v$rollnamebwherea.usn

=b.usn;

3.监控表空间的I/O比例

selectdf.tablespace_namename,df.file_name"file'\fphyrdspyr,f.phyblkrdpbr,f.phywrts

pyw,f.phyblkwrtpbwfromv$filestatf,dba_data_filescfwheref.file#=df.file_id

orderbydf.tablcspacc_name;

4.监控文献系统的I/O匕例

selectsubstr(a.file#,1,2)substr(,l,30)"Name",a.status,a.byles,b.phyrds,

b.phywrtsfromv$datafilea,v$filestatbwherea.file#=b.file#;

1.在某个用户下找所有的索引

selectuser_indexes.table_name,user_indexes.index_name,uniqueness,column_namefrom

user_ind_columns,uscr_incexcswhereuser_ind_columns.indcx_naine=user_indexes.index_namc

anduser_ind_columns.table_name=user_indexes.table_nameorderbyuser_indexes.table_type,

user_indexes.lable_name,user_indexes.in(.lex_name,column_posi(ion;

2.监控SGA的命中率

selecta.value+b.value"logical_reads",c.value"phys_reads",round(100*

((a.value+b.value)-c.value)/(a.value+b.valuc))"BUFFERHITRATIO"fromv$sysstata,

v$sysstatb.v$syssta(cwherea.statistic#=38andb.statistic#=39andc.statistic#=40;

3.监控SGA中字典缓冲区的命中率

selectparameter,gcts,Gctmisscs,gctmisscs/(gcts।gctmisscs)*100"missratio",

(I-(sum(getmisses)/(sum(g3ts)+sum(getmisses))))*100"Hitratio"fromv$rowcache

wheregets+getmisses<>0groupbyparameter,gets,getmisses;

监控SGA中共享缓存区的命中率,应当小于1%

selectsum(pins)"TotalPins",siim(rclcads)"TotalReloads",snm(reloads)/si]m(pins)*100

libcachefromv$librarycache;selectsum(pinhits-reloads)/sum(pins)"hit

radio',,sum(reloads)/sum(pins)"reloadpercent"fromvSlibrarycache;

显示所有数据库对象的类别和大小

selectcount(name)nuin_ins(ances,lype,sum(source_size)source_size,sum(parsed_size)

parsed_size,surn(code_size)code_size,sum(error_size)error_size,sum(source_size)

+sum(parsed_size)+sum(code_size)+sum(eiTor_size)size_requiredfromdba_object_size

groupbytypeorderby2;

监控SGA中重做日记缓存区的命中率,应当小于1%

SELECTname,gets,misses,immediate_gets,immediale」nis$es,Decode(gets,0,0,misses/gets*100)

ratio1,Decode(iminedia(e_®ets+iminedia(e_misses,(),0,imniediate_misses/(immediate_gets+

innncdiate_misses)*I()0)ratio2FROMv$latchWHEREnameIN('redoallocation','redocopy');

监控内存和硬盘的排序比率,最佳使它小于.10,增长sort_area_size:

SELECTname,valueFROMv$sysstatWHEREnameIN('sorts(memory)','sorts(disk),);

监控当前数据库谁在运营什么SQL语句

SELECTosuser,username,sql_textfromv$sessiona,v$sqltextbwherea.sql_address=b.address

orderbyaddress,piece;

监控字典缓冲区

select(sum(pins-reloads))/sum(pins)"libcache"fromv$librarycache;select(sum(gets-

gctmisses-usage-fixed))/sum(gcts)"rowcache"fromv$rowcachc;selectsum(pins)

"executions",sum(reloads)"cachemisseswhileexecuting"fromv$librarycache;

后者除以前者,此比率小于1%,接近0%为好。

selectsum(gets)"dictionarygets",sum(getmisses)"dictionarycachegetmisses"from

v$rowcache;

4.监控MTS

selectbusy/(busy+idle)"sharedserversbusy"fromvSdispatcher;

此值大于0.5时,参数需加大。

selectsuin(wait)/sum(totalq)"dispatcherwaits"fromv$qucucwheretypc='dispatchcr';

selectcount(*)fromv$dispatcher;

selectservers_highwaterfromvSmts;

servers_highwater接近mts_max_servers时,参数需加大

5.碎片限度

selecttablespace_name,count(tablespace_name)fromdba_lree_spacegroupbytablespace_name

havingcount(tablespace_name)>10;

altertablespacenamecoalesce;

altertablenamedeallocateunused;

createorreplaceviewts_blocks_vas

selecttablcspacc_namc,block_id,bytes,blocks,'freespace15cgmcnt_namcfromdba_frcc_spacc

unionall

selecttablespace_name.block_id,bytes,blocks,segment_rainefromdba_extents;

select*fromts_blocks_v;

selecttablespace_namc,suin(bytcs),max(bytes),count(biock_id)fromdba_frcc_spaccgroupby

tablespace_name;

6.查看碎片限度高的表

SELECTscgmcnt_namctablc_namc,COUNT(*)extentsFROMdba_scgmcntsWHEREowner

NOTIN('SYS','SYSTEM1;GROUPBYsegment_nameHAVINGCOUNT(*)=(SELECT

MAX(COUNT(*))FROMdba_segmenlsGROUPBYsegnent_name);

7.表、索引的存储情况检查

selectsegment_name,sum(bytes),count(*)ext_quanfromdba_extentswheretablespace_n£me

='&tablespace_name'andsegment_type='TABLE'groupbytablespace_name,segment_name;

selectsegment_name,count(*)fromdba_extentswheresegment_type='INDEX'and

owner='&owner'groupbysegment_name;

8.找使用CPU多的用户session

cpuusedbythissession:查找各回话连接的CPU使用率

selecta.sid,spid,status,substr(grani.1,40)prog,a.tcrminal,osuscr,value/60/100valuefrom

v$sessiona,v$processb,v$sesstatcwherec.statistic#=12andc.sid=a.sidanda.paddr=b.addr

orderbyvaluedesc;

9.寻找CPU使用过量的session

SELECTsql_textFROMv$sqltextaWHERE(a.hash_value,a.address)IN(SELECT

deccde(sql_hash_vahie,0.prev_hash_value,sql_hash_valne),decode(sql_hash_valiie,0,

prev_sql_addr,sql_address)FROMv$sessionbWHEREh.paddr=(SELECTaddrFROM

v$processcWHEREc.spid='&pid'))ORDERBYpieceASC;

1.1.2.数据库巡检管理

1.1.2.L平常检测

LL2.L1.检测系统卷状态

df-k可以看到系统各个卷的使用情况;假如文献系统的剩余空间小于20%,需删除不

用的文献以释放空间。或找系统管理员调整空间大小。

*df-k

Filesystem1024-blocksFreezUsedIusedzIusedMountedon

/deu/hd4104857627237675z15403z/

/dev/hd23145728163693248z3714810ZZusr

Zdev/hd9uar104857610144764z532lxZuar

/deu/hd33145728189711240z439927.Ztmp

Zdeu/lidl655366516017.7/home

/proc——一——/proc

Zdev/hdl0opt52428843905217z169527./opt

Zdeu/lu0210485760202132081z115215Zwps

Zdev/lv01524288003035012843”3217lxZo>»adata

Zdeu/lu0010485760562436847z733923zZoracle

L.检查表空间的使用情况

SELECTtablespace_name,max_m,counl_blocksfree_blk_cnt,sum_free_m.

to_char(100*suin_free_ni/sum_m,'99.99')||'%'ASpct_frccFROM(SELECTtablcspace_nanie,

sum(bytcs)/1024/1024ASsum_mFROMdba_data_filcsGROUPBYtablcspacc_namc),

(SELECTtablespace_nameASfs_ts_name,max(bytes)/1024/1024ASmax_m,count(blocks)

AScount_blocks,sum(by(es/1024/1024)ASsum_free_mFROMdba_free_spaceGROUP

BYtablespacc_namc)WHEREtablcspacc_namc=fs_ts_name:

rftBLESPACE_NfiMEFREE_BLK_CNTSUM_FREE_MPCT_FRE

CITICIWCM199.93751199.937566.65z

CWMLITE8518585.00Z

DRSVS90.3125190.312590.31Z

EXAMPLE97.6875197.687541.76Z

ICMLFQ3229?.251297.2599.08Z

ICMLNF3224.5124.598.00Z

ICMLSNDX.43751.43754.38Z

ICMSFQ04142.56251142.562595.04Z

ICMUFQ0421.9375121.937587.75Z

INDX24.9375124.937599.75%

IWCM99.9375199.937599.94Z

rABLESPACE_NAMEMAX_MFREE_BLK_CNTSUM_FREE_MPCTJFRE

ODM10.5625110.562552.81Z

SYSTEM150.81251150.812530.167

FOOLS9.937519.937599.38/

UND0TBS11902?409.37581.88Z

USERS.937521.1251.13%

XDB15.3125115.312525.52%

selectsum(bytes)/(1024*1024)asfree_space,tablespace_namefromdba_free_space

groupbytablespace_namc;

1・121.3.检测表空间状态

DBA_FREE_SPACE是数据库的•个视图,可以看到数据库的空间使用信息。

SELECTtablcspacc_namc,sum(bytcs)/1024/1024'MBFree"FROMdba_frcc_spacc

WHERE(ablespace_nameoTEMP'GROUPBYtablespac3_name;

TABLESPACE_NAMEMBFree

CITICIWCM199.9375

CWMLITE85

DRSVS90.3125

EXAMPLE97.6875

INDX24.9375

IWCM99.9375

ODM10.5625

SVSTEM153.875

TOOLS9.9375

UNDOTBS1373

USERS49.9375

TABLESPACE_NAMEMBFree

XDB15.3125

1.1.2.L4.检测Oracle运营状态

ORACLE的状态可以通确认所有的INSTANCE状态正常

登陆到所有数据库或例程,检测ORACLE后台进程:

$ps-efjgrcpora来查看;

wps-ef:greporacle

oracle57601019:33:49-0:23ora_ckpt_testwps

oracle162041019:33:49—0:06ora_snon_testwps

oracle280181019:22:07一0:00/oracle/app/product/9.2.0/bin/t

LslsnvLISTENER-inherit

oracle290121019:33:48一0:08ora_lgwr_testwps

oracle314661019:33:48—0:08ora_dbw0_testwps

oracle317161019:33:44-0:17ora_pnon_testwps

oracle461961019:33:49—0:00ora_s000_testwps

oracle492621019:33:49一0:00ora_reco_testwps

oracle509161021:23:11—0:00oracletestwps<LOCAL=NO>

oracle1318721019:33:50—0:00ora_d000_testwps

oracle1343981021:24:440:00orncIctestwps<LOCAL-NO>

root13656838362116:00:24pts/10:00greporacle

LL2.L5.检查数据库版本信息

sqlplus47assysdba”

select*fromv$version;

SQL>select*fromu$uersion;

BANNER

Oracle9iEnterpriseEditionRelease9.2.0.6.0-64bitProduction

PL/SQLRelease9.2.0.6.0-Production

CORE9.2.0.6.0Production

TNSforIBM/AIXRISCSystem/6000:Uersion9.2.0.6.0-Production

NLSRTLUersion9.2.0.6.0-Production

L1.2.L6.检查日记文献和trace文献记录alert和trace

文献中的错误

连接到每个需管理的系统,使用‘lehieL登陆,对每个数据库,cd到bdump目录,通

常是$ORACLE_BASE/<SID>/bduinp,使用Unix“ail,命令来查看alen_<SID>.log文献,

假如发现任何新的ORA-错误,记录并解决。

$tailalert_testv/ps.log

Conpleted:createtablespaceICMSFQ04datafile,Zoracle/app/o

UedDec314:19:582008

createtablespaceICMLSNDXdatafile*Zoracle/app/oradata/testwps/index/testwps_

CMLSNDX_01.dbf,size10Mreuseautoextendonnext10MnaxsizeUNLIMITEDextenti

anagenentlocalautoallocate

ORA-1543signalledduring:createtablespaceICMLSNDXdatafile*Zoracle/app/o..

l/edDec315:17:402008

Thread1advancedtologsequence18

Currentlogit3seqtt18memtt0:Zoracle/app/oradata/testwps/redo03.log

UedDec315:27:262008

Thread1advancedtologsequence19

Currentlogtt4seqtt19nenttA:Zo>»acle/app/oradata/testwps/redoA4.log

.7.查看会话挂起情况

关闭不必要的会话

命令如下:

selectsid,serial#,username,program,machine,statusfromvSsession;

手工断开某个会话,则执行:

altersystemkillsession'SID,SERIAL#';

SIDSERIAL"USERNAME

PROGRAM

1ACHINESTATUS

86043ICMADMIN

testportalftCTIUE

96651SVS

pqlplusPtestportal<TNSU1-U3)

testportalACTIVE

SIDSERIAL。USERNAME

PROGRAM

卜ACHINESTATUS

1.1.2.L8.检查数据库当天备份的有效性

对RMAN备份方式:

检查第三方备份工具妁备份日记以拟定备份是否成引

对EXPORT备份方式:

检查exp日记文献以拟定备份是否成功。

对其他备份方式:

检查相应的日记文献。

1.L2.1.9.检查数据文献的状态记录状态

不是“onl

温馨提示

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

最新文档

评论

0/150

提交评论