注册
数据库常用sql记录
技术分享/ 文章详情 /

数据库常用sql记录

Solreal 2024/08/30 844 0 0
  • 产品授权信息检查
select * from v$license;
  • 归档状态检查
Select * from v$dm_ini where para_name=‘XXXX’;
  • 数据库会话情况检查
select user_name,state,clnt_ip,count(*) from v$sessions group by user_name,state,clnt_ip;
  • 锁定用户检查
select * from dba_users where account_status ='LOCKED';
  • 死锁历史检查
select * from v$deadlock_history;

错误码

select * from v$err_info
  • 如何获取系统中最慢的 SQL 语句
SELECT * FROM V$LONG_EXEC_SQLS; 或者 SELECT * FROM V$SYSTEM_LONG_EXEC_SQLS;
  • 如何开启 sql 追踪
--开启sql追踪 SP_SET_PARA_VALUE(1,'SVR_LOG',1); -- 重新加载配置文件 SP_REFRESH_SVR_LOG_CONFIG();
  • 通过SQL查询定时作业信息
select * from SYSJOB.SYSJOBS A;--作业信息表 select * from SYSJOB.SYSJOBSTEPS B;--作业步骤信息表 select * from SYSJOB.SYSJOBSCHEDULES C;--作业调度信息表
  • 通过 sql 删除指定作业
call SP_DROP_JOB('作业名');
  • 立即执行本次作业(验真备份作业是否生效
call SP_DBMS_JOB_RUN( 1711079695 );
  • 查询未提交事务
select t1.sql_text, t1.state , t1.trx_id from v$sessions t1, v$trx t2 where t1.trx_id=t2.id and t1.state ='IDLE' and t2.status='ACTIVE';
  • 会话监控
当前活动连接数量太大说明业务量太大或者重连机制存在缺陷。 --查询当前所有会话数 select count(*) from v$sessions; --查看当前数据库中活动会话 select count(*) from v$sessions where state='ACTIVE'; --查看当前非活动会话 select count(*) from v$sessions where state='IDLE'; --结束会话 sp_close_session(sessid); --v$session中查出来的session id
  • 找出已执行超过 2 秒的活动 SQL
select * from ( SELECT sess_id,sql_text,datediff(ss,last_recv_time,sysdate) Y_EXETIME, SF_GET_SESSION_SQL(SESS_ID) fullsql,clnt_ip FROM V$SESSIONS WHERE STATE='ACTIVE') where Y_EXETIME>=2;
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服