ORACLE应用经验(2)[转载]
2006-06-27 13:46
423 查看
ORACLE应用经验(2)
------谁正在访问数据库?
Selectc.sid,c.serial#,c.username,a.object_id,b.object_name,
c.program,c.status,d.name,c.osuser
fromv$Locked_objecta,
All_objectsb,
v$sessionc,
audit_actionsd
wherea.object_id=b.object_id
anda.session_id=c.sid(+)
andc.command=d.action;
altersystemkillsession'&1,&2';
Selecta.sid,a.serial#,a.username,a.status,a.program,b.name,a.osuser
fromv$sessiona,audit_actionsb
wherea.command=b.action
Andusername='&1';
------谁被锁住?
Selecta.sid,a.serial#,a.username,A.LOCKWAIT,a.status,a.program,b.name
fromv$sessiona,audit_actionsb
wherea.command=b.action
ANDLOCKWAITISNOTNULL;
------谁在锁表?
Selecta.sid,a.serial#,a.username,A.LOCKWAIT,a.status,a.program,b.name
fromv$sessiona,audit_actionsb
wherea.command=b.action
ANDSTATUS='ACTIVE';
Selectsid,serial#,object_name,row_wait_block#,
row_wait_row#,row_wait_file#
fromall_objects,v$session
whererow_wait_obj#=object_idandtype='USER'
andlockwaitisnotnull;
Selectsl.username,sl.sid,sl.serial#
fromv_$lockl1,v$sessions1
whereexists(select*fromv_$lockl2,v$sessions2
wherel2.sid=s2.sidandl2.id1=l1
ands2.lockwait=l2.kaddr
andrequest=0
andl1.sid=s1.sid);
selectcount(*)fromv$session;
selectcount(*)fromsys.v_$process;
selectcount(*)fromsys.v_$transaction;
ZYP_35.98
------查看哪些包要固定
COLUMNOWNERFORMATA10
Selectowner,name,type,
source_size+code_size+parsed_size+error_sizeBYPES
fromdba_object_size
wheretype='PACKAGEBODY'ORDERBY4DESC;
------查看一个用户拥有哪些表空间的实体信息:
Selecttablespace_name,owner,segment_name,segment_type
fromdba_segments
whereowner-'SyS'
andsegment_type_-'ROLLBACK'
orderbytablespace_name,owner,segment_name;
breakonowneronsegment_name
COLUMNsegment_nameFORMATA15
cOLUMNtablespace_nameFORMATA15
COLUMNfile_nameFORMATA20
SELECTA.owner,a.segment_name,b.tablespace_name,b.file_name,
sum(a.bytes)bytes
fromdba_extentsa,dba_data_filesb
wherea.file_id-b.file_idgroupbya.owner,a.segment_name,
b.tablespace_name,b.file_name;
------看内存缓冲区使用效率的指数是命中率HITS:
Hits=Logical_reads/(logical_reads+physical_reads)
其中:logical_reads=db_block_gets+consistent_reads
selectcur.valuedb,con.valuecon,phy.valuephy,
(cur.value+con.value)/cur.value+con.value+phy.value)*100HITS
fromv$sysstatcur,v$sysstatcon,v$sysstatphy
whereCUR.NAME='dbblockgets'AND
CON.NAME='consistentgets'AND
PHY.NAME='physicalreads';
------如何检测ROLLBACKSEGMENT竞争?
selectclass,countfromv$waitstat
whereclassin
('systemundoheader','systemundoblock',
'undoheader','undoblock');
selectsum(value)fromv$sysstatwherenamein
('dbblockgets','consistentsgets');
若count/sum(value)大于1%,则应考虑增加ROLLBACKSEGMENT
------查看有事务在哪几个回退段中:
COLUMNuFORMATA15
COLUMNsFORMATA15
COLUMNsFORMATA80
selectosusero,usernameu,segment_names,sa.sql_text
fromv$sessions,v$transactiont,dba_rollback_segsr,v$sqlareasa
wheres.taddr=t.addrandt.sidusn=r.segmant_id(+)
ands.sql_address=sa.address(+);
相关文章推荐
- ORACLE应用经验(1)[转载]
- ORACLE应用经验(3)-DBMS_SQL封装过程[转载]
- ORACLE应用经验(4)-加密程序[转载]
- ORACLE应用经验(5)-表空间[转载]
- ORACLE应用经验(2)
- Oracle查询语句应用经验总结
- 转载张明云Android应用性能优化经验分享ppt
- ORACLE应用经验(1)
- [转载]使用electron构建跨平台Node.js桌面应用经验分享
- ORACLE应用经验-表空间
- ORACLE应用经验(1)
- Oracle 存储过程编写经验和优化措施[转载]
- ORACLE应用经验
- ORACLE 应用经验(1)
- ORACLE应用经验-表空间
- ORACLE应用经验(1)
- ORACLE应用经验(1)
- ORACLE应用经验(2)
- ORACLE应用经验(2)
- 【转载】oracle大表添加字段default经验分享