zoukankan      html  css  js  c++  java
  • 关于锁表查询的部分SQL

    查询表空间名称和大小
    SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
    D.TOT_GROOTTE_MB "表空间大小(M)",
    D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
    TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,
    2),
    '990.99') "使用比",
    F.TOTAL_BYTES "空闲空间(M)",
    F.MAX_BYTES "最大块(M)"
    FROM (SELECT TABLESPACE_NAME,
    ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
    ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
    FROM SYS.DBA_FREE_SPACE
    GROUP BY TABLESPACE_NAME) F,
    (SELECT DD.TABLESPACE_NAME,
    ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
    FROM SYS.DBA_DATA_FILES DD
    GROUP BY DD.TABLESPACE_NAME) D
    WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
    ORDER BY 4 DESC;

    查看数据库引起锁表的SQL语句:
    SELECT a.username,
    a.machine,
    a.program,
    a.sid,
    a.serial#,
    a.status,
    c.piece,
    c.sql_text
    FROM v$session a,
    v$sqltext c
    WHERE a.sid in
    (
    select distinct t2.sid
    from v$locked_object t1,v$session t2
    where t1.session_id=t2.sid
    )
    and a.sql_address=c.address(+)
    ORDER BY c.piece


    查看数据库锁的情况必须要有DBA权限,可以使用一下SQL 语句:
    select object_id,session_id,locked_mode from v$locked_object;
    select t2.username,t2.sid,t2.serial#,t2.logon_time
    from v$locked_object t1,v$session t2
    where t1.session_id=t2.sid order by t2.logon_time;

    查看被锁的表
    select p.spid,a.serial#, c.object_name,b.session_id,b.oracle_username,b.os_user_name from v$process p,v$session a, v$locked_object b,all_objects c where p.addr=a.paddr and a.process=b.process and c.object_id=b.object_id ;

    杀掉进程
    alter system kill session 'sid,serial#';

    查看连接数
    select count(*) from v$session;

    查看并发连接数
    Select count(*) from v$session where status='ACTIVE';

    查看连接的进程
    SELECT sid, serial#, username, osuser FROM v$session;

    查看数据库使用的裸设备
    select * from dba_data_files order by file_name;
    select * from dba_temp_files order by file_name;
    select * from v$controlfile order by file_name;
    select * from v$logfile order by file_name;
    具体的方法是查询dba_data_files,dba_temp_files,v$controlfile和v$logfile看这四类文件具体占用的裸设备

    查询所有用户表使用大小的前三十名
    select * from (select segment_name,bytes from dba_segments where owner = USER order by bytes desc ) where rownum <= 30

    以下的SQL语句列出当前数据库建立的会话情况:
    select sid,serial#,username,program,machine,status

    如果DBA要手工断开某个会话,则执行:
    alter system kill session \’SID,SERIAL#\’;
    注意,上例中SID为1到7(USERNAME列为空)的会话,是Oracle的后台进程,不要对这些会话进行任何操作。

    查询表空间有那些表:
    select table_name from all_tables where tablespace_name= 'TEMP';

  • 相关阅读:
    nginx学习,下载、安装。使用:正向代理、反向代理、负载均衡
    idea一键导入所有包
    开源小工具-随机生成图片验证码
    记一次Nginx报错403(Permission denied)
    记一次swf视频转mp4经历
    enumerate函数
    filter函数过滤序列
    RetinaNet pytorch implement from scratch 03--Focal Loss
    [读论文]Weighted Boxes Fusion 代替NMS的result ensemble
    Pytorch使用autograd.function自定义op
  • 原文地址:https://www.cnblogs.com/wzq806341010/p/2960556.html
Copyright © 2011-2022 走看看