oracle经验分享1

本文介绍了数据库维护的三个关键步骤:进行表分析以确保索引有效,查找并解除锁定的会话,以及根据SQL_ID定位并解决问题SQL。通过这些操作,可以提升数据库的执行效率和稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、进行表分析
目的:有些表索引或者其他有更新,但是未进行表分析可能出现索引未生效,执行计划效果不行

exec dbms_stats.gather_table_stats(ownname => '用户名',tabname => '表名(大写)',estimate_percent => 10,method_opt=> 'for all indexed columns') ;

2、查找库里有哪些锁表,进行kill掉,如需查明细,调整为select * 语句

select 'alter system kill session ',''''||trim(t2.sid)||','||trim(t2.serial#)||''';'
from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time;

3、根据锁表情况看是具体哪个sql锁了

select SQL_TEXT,SQL_FULLTEXT,SQL_ID,LOADS,FIRST_LOAD_TIME,PLSQL_EXEC_TIME,JAVA_EXEC_TIME,ROWS_PROCESSED,COMMAND_TYPE,PARSING_USER_ID,PARSING_SCHEMA_ID,PARSING_SCHEMA_NAME,KEPT_VERSIONS,ADDRESS,SERVICE,MODULE,MODULE_HASH,ACTION,CPU_TIME,ELAPSED_TIME,OUTLINE_SID,CHILD_ADDRESS,SQLTYPE,REMOTE,OBJECT_STATUS,LITERAL_HASH_VALUE,LAST_LOAD_TIME,PROGRAM_ID,PROGRAM_LINE#,LAST_ACTIVE_TIME 
    from  v$sql where sql_id='9tz7kd5c39g9w'  

上面这个 sql_id 条件的值:9tz7kd5c39g9w 是通过v$session表查到的SQL_ID

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值