达梦数据库系列—35.DM常用SQL

目录

实例相关

用户权限

内存相关

表相关

分区表/索引

表空间

文件相关

数据文件

undo文件

Temp文件

在线日志

归档日志

备份还原

JOB相关

主备

DSC

ASM

会话相关

锁相关

sql相关

执行计划

系统负载


实例相关

版本

select * from v$version;

 select id_code();

字符集

select UNICODE ();

页大小

select SF_GET_PAGE_SIZE(); 

查看数据库信息:

select name,create_time,arch_mode,status$,role$ from v$database;

查看实例信息:

select name,

       instance_name,

       host_name,

       svr_version,

       build_version,

       start_time,

       status$,

       mode$,

       oguid

  from v$instance;

查看授权信息

SELECT SERIES_NO,

       EXPIRED_DATE,

       AUTHORIZED_CUSTOMER,

       PROJECT_NAME,

       CLUSTER_TYPE FROM V$LICENSE;

重新载入授权

CALL P_LOAD_LIC_INFO();

用户权限

查看用户信息

select username,

       account_status,

       lock_date,

       expiry_date,

       default_tablespace,

       default_index_tablespace,

       temporary_tablespace,

       created,

       profile ,

       password_versions

  from dba_users;

查看用户锁定、登录信息

select  id,lock_time,

       locked_status,

       lastest_locked,

       pwd_policy,

       last_login_dtid,

       last_login_ip,

       failed_attemps

  from sysusers;

select b.USERNAME,

       a.FAILED_NUM,

       A.LOCKED_STATUS,

       A.LASTEST_LOCKED,

       A.FAILED_ATTEMPS

  from sysusers a,

       dba_users b

 where a.id=b.user_id;

用户资源限制

select

profile,

resource_name,

resource_type,

limit

from dba_profiles;

自定义的Profile

Select uid,pid from sysuserprofiles;

select a.pid profileid,

       b.name profile_name,

       a.uid userid,

       c.name user_name

  from SYSUSERPROFILES a,

       SYSOBJECTS b,

       SYSOBJECTS c

 where a.PID = b.id

   and a.UID = c.ID;

查看当前用户的权限

select * from session_privs;

查看某个用户的权限

select * from dba_sys_privs t where t.GRANTEE= 'HR';

select * from dba_role_privs t where t.GRANTEE= 'HR';

select * from dba_tab_privs t where t.GRANTEE= 'HR';

select * from dba_col_privs a where a.grantee='HR';

查看用户模式

select * from SYSOBJECTS t where t."TYPE$" ='SCH'; --查看模式

select * from SYSOBJECTS t where t."SUBTYPE$" ='USER'; --查看用户

--查询模式和用户的对应关系:

select a.id scheid,

       a.name schename,

       b.id userid,

       b.name username

  from SYS.SYSOBJECTS a,

       SYS.SYSOBJECTS b

 where a."TYPE$" = 'SCH'

   and a.pid = b.id;

查看用户的权限信息:

SELECT * FROM (

SELECT GRANTEE,GRANTED_ROLE PRIVILEGE,'ROLE_PRIVS' PRIVILEGE_TYPE,CASE ADMIN_OPTION WHEN 'Y' THEN 'YES' ELSE 'NO' END ADMIN_OPTION FROM DBA_ROLE_PRIVS

UNION SELECT GRANTEE,PRIVILEGE,'SYS_PRIVS' PRIVILEGE_TYPE,ADMIN_OPTION FROM DBA_SYS_PRIVS

UNION SELECT GRANTEE,PRIVILEGE||' ON '||OWNER||'.'||TABLE_NAME PRIVILEGE,'TABLE_PRIVS' PRIVILEGE_TYPE,GRANTABLE FROM DBA_TAB_PRIVS

)

WHERE GRANTEE IN (SELECT USERNAME FROM ALL_USERS WHERE USERNAME NOT IN ('SYS','SYSDBA','SYSSSO','SYSAUDITOR') )

ORDER BY GRANTEE,PRIVILEGE_TYPE,PRIVILEGE;

内存相关

DM 数据库使用的内存大致等于 BUFFER + MPOOL,一般需关注 v$bufferpool 和 v$mem_pool 相关信息

查看内存池使用情况:

 select name,                        --内存池名称

         is_shared,                   --是否是共享的

         is_overflow,                 --是否用到了备份池

         org_size/1024/1024,      --内存池初始大小

         TOTAL_size/1024/1024,    --内存池总大小(包括扩展的)

         RESERVED_SIZE/1024/1024, --当前已分配大小(包括扩展的)

         DATA_SIZE/1024/1024,     --实际有效字节

         EXTEND_SIZE,                 --每次扩展多少

         TARGET_SIZE,                 --目标大小

         N_EXTEND_NORMAL ,            --TARGET范围内累计扩展次数

         N_EXTEND_EXCLUSIVE           --超过TARGET累计扩展次数

    from v$mem_pool

order by TOTAL_size desc;

N_EXTEND_EXCLUSIVE 如果长期大于 0,说明长期从池外扩展,可能存在内存泄露,需要重点关注

若使用到备份池,则需要保持高度关注

通过 v$sysstat 查看内存使用情况

select  name ,stat_val/1024.0/1024.0 from  v$sysstat where CLASSID=11 ;

memory pool size in bytes:内存池总的大小

memory used bytes:内存池使用的内存大小

memory used bytes from os:内存池从操作系统分配的大小

单个会话内存使用情况

  SELECT A.CREATOR ,

         B.SQL_TEXT ,

         SUM(A.TOTAL_SIZE)/1024.0/1024.0 TOTAL_M,    --当前总量(包括扩展)

         SUM(A.DATA_SIZE) /1024.0/1024.0 DATA_SIZE_M --实际使用量

    FROM V$MEM_POOL A,

         V$SESSIONS B

   WHERE A.CREATOR = B.THRD_ID

GROUP BY A.CREATOR,

         B.SQL_TEXT

ORDER BY TOTAL_M DESC;

内存增长过快

select  * from V$MEM_REGINFO  ORDER BY  REFNUM  DESC;

REFNUM 字段值很大,说明存在内存堆积的情况

fname 指定该内存池的内存来源文件

lineno 指定相关内容在文件中的行数

查询内存总量

select

(select sum(n_pages) * page()/1024/1024 from v$bufferpool)||'MB' as BUFFER_SIZE,

(select sum(total_size)/1024/1024 from v$mem_pool)||'MB' as mem_pool,

(select sum(n_pages) * page()/1024/1024 from v$bufferpool)+(select sum(total_size)/1024/1024 from v$mem_pool)||'MB' as TOTAL_SIZE

from  dual;

若会话执行的 sql 消耗大量的内存,可以根据以下 sql 找到最占用内存的 sql,再进行 sql 优化

  SELECT "SESSID",

         MAX_MEM_USED||'KB',

         SQL_TXT

    FROM V$SQL_STAT

order by MAX_MEM_USED DESC;

Buffer状态

select  

name,             --缓冲区名称

n_pages,           --页数

free,              --空闲页数目

N_DISCARD64       --淘汰的页数

from  v$bufferpool;

如果 free 项为 0,或者 N_DISCARD64 非零,表示该缓冲区经常淘汰,说明对应的缓冲区参数太小,导致频繁淘汰,需要调整对应的缓冲区的参数。

缓冲区命中率

  select name 缓冲池名称,

         sum(page_size)*sf_get_page_size 缓冲池大小_G,

         sum(rat_hit) /count(*) 命中率

    from v$bufferpool

group by name;

缓存池信息

SELECT * FROM V$SCP_CACHE;

查询缓冲区中缓冲项的相关信息

SELECT * FROM V$CACHEITEM;

SELECT SUM(ITEM_SIZE)/1024/1024 缓存池大小_M   FROM V$CACHEITEM;

字典缓存

select * from V$DB_CACHE;

表相关

查看表的信息:

select owner,

       table_name,

       tablespace_name,

       status,

       num_rows,

       LAST_ANALYZED,

       partitioned

  from dba_tables;

查看字段的信息:

select owner,

       table_name,

       column_name,

       data_type,

       data_length

  from DBA_TAB_COLUMNS

WHERE OWNER='MOCHA_DB';

表约束信息:

select owner,

       constraint_name,

       constraint_type,

       table_name,

       status,

       last_change,

       index_owner,

       index_name

  from dba_constraints t

 where t.owner='MOCHA_DB';

查询所有表的大小:

-- 查询所有表所占的大小及所在空间

  SELECT A.OWNER AS "模式",

         A.SEGMENT_NAME AS "表名",

         round(A.BYTES/1024/1024,2) AS "大小(MB)",

         A.TABLESPACE_NAME AS "所属表空间",

         B.COMMENTS AS "表注释"

    FROM DBA_SEGMENTS A,

         DBA_TAB_COMMENTS B

   WHERE A.OWNER=B.OWNER

     AND A.SEGMENT_NAME = B.TABLE_NAME

     AND A.OWNER='MOCHA_DB'

ORDER BY SEGMENT_NAME ASC;

查看表的定义:

CALL SP_TABLEDEF('MOCHA_DB', 'SUN_SEGMENTS');

根据对象类型、对象名、对象所属模式返回DDL语句:

SELECT SF_DBMS_METADATA_GET_DDL(OBJECT_TYPE=>'TABLE',OBJECT_NAME=>'DICT_AREA',SCHNAME=>'TEST');

查看视图、序列、同义词的定义:

SELECT b.*

  FROM SYS.SYSOBJECTS a,

       SYS.SYSTEXTS b

 WHERE a.ID = b.ID

   and a.NAME LIKE 'VIEW_1%';

模糊查看函数名称:

SELECT * FROM V$IFUN WHERE NAME LIKE upper('%table_used_space%');

根据上一步id查询函数参数

SELECT * FROM V$IFUN_ARG WHERE id= V$IFUN.ID  ;

分区表/索引

查看有哪些表是分区表:

select owner,

       table_name,

       partitioning_type,

       subpartitioning_type,

       partition_count,

       status,

       def_tablespace_name

  from dba_part_tables

  where owner='MOCHA_DB';

查看分区表的每个分区:

--98个表分区

SELECT *

  FROM DBA_TAB_PARTITIONS  

 WHERE TABLE_OWNER='MOCHA_DB'

   AND TABLE_NAME='SUN_SEGMENTS';

注意:达梦没有dba_part_indexes,只有dba_indexes

查看分区索引:

--98*2个普通分区索引,每个表分区对应两个普通分区索引,查看索引名称

SELECT * FROM DBA_INDEXES A WHERE A.OWNER = 'MOCHA_DB' AND A.TABLE_NAME LIKE 'SUN_SEGMENTS%' AND INDEX_TYPE='NORMAL';

--98个聚簇分区索引,每个表分区默认有一个聚簇分区索引

SELECT * FROM DBA_INDEXES A WHERE A.OWNER = 'MOCHA_DB' AND A.TABLE_NAME LIKE 'SUN_SEGMENTS%' AND INDEX_TYPE='CLUSTER';

--98个分区,根据索引名称,查看每个分区名称

select * from dba_ind_partitions a where a.index_name='IDX_CHECK_DATE';

表空间

查看表空间使用情况

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 2 desc;

临时表空间经常过大,说明内存设置过小或存在大量中间结果集存放,需要视情况进行优化

可以通过 ini 参数 TEMP_SIZE 配置大小、TEMP_SPACE_LIMIT 设置上限、存储过程 SP_TRUNC_TS_FILE 来收缩 TEMP 表空间文件(生产环境请谨慎使用)。

-- 定义函数,通过页数和显示单位(可选参数MB/GB,默认KB为单位显示)

WITH FUNCTION GET_SIZE_BY_PAGES(NUM_OF_PAGE INT, KB_MB_GB VARCHAR(2) DEFAULT 'KB') RETURN NUMBER(15, 2) AS

    V_SIZE_KB NUMBER(15, 2) := ROUND(PAGE() * NUM_OF_PAGE / 1024.00, 2);

BEGIN

    IF KB_MB_GB = 'MB' THEN

        RETURN V_SIZE_KB / 1024.00;

    ELSIF KB_MB_GB = 'GB' THEN

        RETURN V_SIZE_KB / 1024.00 / 1024.00;

    END IF;

    RETURN V_SIZE_KB;

END;

-- 查看每个表空间占用情况和行数

SELECT T.TABLESPACE_NAME,

       T.OWNER,

       T.TABLE_NAME,

       GET_SIZE_BY_PAGES(TABLE_USED_PAGES(T.OWNER, T.TABLE_NAME), 'MB') AS TABLE_USED_SPACE_MB,

       GET_SIZE_BY_PAGES(TABLE_USED_PAGES(T.OWNER, T.TABLE_NAME), 'GB') AS TABLE_USED_SPACE_GB,

       TABLE_ROWCOUNT(T.OWNER, T.TABLE_NAME)                            AS TABLE_ROWCOUNT

FROM DBA_TABLES T

WHERE T.OWNER IN ('MOCHA_DB')

ORDER BY TABLE_USED_SPACE_MB DESC, TABLE_ROWCOUNT DESC;

--查看HUGE表

select * from v$huge_tablespace;

文件相关

数据文件

select file_name,

       tablespace_name,

       round(bytes/1024/1024,2) "BYTES(MB)",

       round(maxbytes/1024/1024/1024,2) "MAX_BYTES(GB)",

       autoextensible,

       increment_by,

       status,

       online_status

  from dba_data_files;

SELECT path,

       create_time,

       status$,

       modify_time,

       total_size,

       max_size,

       free_size,

       real_free_size

  FROM V$DATAFILE;

表空间和数据文件对应关系

SELECT TS.NAME, DF.PATH FROM V$TABLESPACE AS TS, V$DATAFILE AS DF WHERE TS.ID = DF.GROUP_ID;

undo文件

查看undo相关的参数:

select a.PARA_NAME,

       a.PARA_VALUE,

       a.PARA_TYPE,

       a.DEFAULT_VALUE

  from V$DM_INI a

 where a.PARA_NAME like '%UNDO%';

查看UNDO数据文件:

select * from dba_data_files where tablespace_name = 'ROLL';

UNDO 日志空间是否增长过快,查看已使用 roll 表空间的大小

select a.tablespace_name space_name ,

         total /1024/1024/1024 "总大小(G)" ,

         free /1024/1024/1024 "可使用(G)" ,

         (total -free) /1024/1024/1024 "已使用(G)",

         round((total -free)/total, 4)*100 "使用率"

    from ( select tablespace_name,

                  sum(bytes) free

             from dba_free_space

         group by tablespace_name ) a, ( select tablespace_name,

                  sum(bytes) total

             from dba_data_files

         group by tablespace_name ) b

   where a.tablespace_name = b.tablespace_name

ORDER BY "使用率" DESC;

查看待 Purge 的事务数( OBJ_NUM )是否在不停的增长

select * from v$purge;

Temp文件

查看临时表空间的参数:

select a.PARA_NAME,

       a.PARA_VALUE,

       a.PARA_TYPE,

       a.DEFAULT_VALUE

  from V$DM_INI a

 where a.PARA_NAME like '%TEMP%';

查看TEMP文件:

select * from dba_data_files where tablespace_name = 'TEMP'

在线日志

查看在线日志的LSN、DB_MAGIC:

select

CKPT_LSN,

FILE_LSN,

FLUSH_LSN,

CUR_LSN,

NEXT_SEQ,

DB_MAGIC

from v$rlog;

查看在线重做日志文件:

select group_id,

       file_id,

       path,

       create_time,

       round(rlog_size/1024/1024,2) as "RLOG_SIZE(MB)"

  from v$rlogfile;

SELECT

        A.FILE_ID    ,

        A.PATH       ,

        A.CLIENT_PATH,

        A.RLOG_SIZE  ,

        B.FREE_SPACE ,

        B.TOTAL_SPACE,

        B.CUR_FILE

from

        (

                select * from V$RLOGFILE where true

        )  A,

        (

                select * from V$RLOG where true

        )  B;

查看redo文件的历史状态:

select * from V$RLOG_HISTORY;

查看检查点信息:

select * from V$CKPT;

归档日志

清理归档日志:

SF_ARCHIVELOG_DELETE_BEFORE_TIME

SF_ARCHIVELOG_DELETE_BEFORE_LSN

归档配置信息的查看:

select arch_name,

       arch_type,

       arch_dest,

       arch_file_size,

       arch_space_limit,

       arch_is_valid,

       arch_incoming_path,

       arch_curr_dest

  from V$DM_ARCH_INI;

归档日志文件的查看:

select * from V$ARCHIVED_LOG ORDER BY FIRST_CHANGE# DESC;

--V$ARCH_FILE中的CLSN和monitor中的CLSN比较可以判断归档是否应用。

select * from V$ARCH_FILE;

备份还原

备份集查看

SELECT BACKUP_TIME,

       BACKUP_NAME,

       BACKUP_PATH,

       CASE TYPE WHEN 1 THEN '增备' ELSE '全备' END AS "type" FROM V$BACKUPSET

 ORDER BY BACKUP_TIME DESC;

查看内存中的备份目录

select * from V$BACKUPSET_SEARCH_DIRS;

显示备份集的数据库相关信息

SELECT SF_BAKSET_BACKUP_DIR_ADD('DISK', '/dm/backup');

SELECT BACKUP_PATH, PAGE_SIZE, EXTENT_SIZE, CASE_SENSITIVE FROM V$BACKUPSET_DBINFO WHERE BACKUP_PATH='/dm/backup/tab_bak_01';

显示备份集中数据文件的相关信息

SELECT SF_BAKSET_BACKUP_DIR_ADD('DISK', '/dm/backup');

SELECT FILE_SEQ, TS_ID, FILE_ID, TS_NAME, FILE_NAME FROM V$BACKUPSET_DBF WHERE BACKUPPATH ='/dm/backup/ts_bak_for_dbf';

显示备份集中归档文件的信息

SELECT SF_BAKSET_BACKUP_DIR_ADD('DISK', '/dm/backup');

SELECT BACKUPPATH, FILE_SEQ, BEGIN_LSN, END_LSN FROM V$BACKUPSET_ARCH

WHERE BACKUPPATH='/dm/backup/db_bak_for_arch';

显示备份集的备份片信息

SELECT SF_BAKSET_BACKUP_DIR_ADD('DISK', '/dm/backup');

SELECT BACKUPPATH, BKP_NTH, FILE_NAME, BKP_LEN FROM V$BACKUPSET_BKP WHERE

BACKUPPATH='/dm/backup/db_bak_for_bkp';

显示表备份集中备份表信息,仅表备份有效

SELECT SF_BAKSET_BACKUP_DIR_ADD('DISK', '/dm/backup');

SELECT BACKUPNAME, TABLENAME FROM V$BACKUPSET_TABLE WHERE BACKUPPATH='/dm/backup/tab_bak_for_info';

并行备份中生成的子备份集信息

BACKUP DATABASE BACKUPSET '/dm/backup/db_bak_for_subs' PARALLEL 3;

SELECT SF_BAKSET_BACKUP_DIR_ADD('DISK', '/dm/backup');

SELECT BACKUPPATH, BKP_NUM, DBF_NUM FROM V$BACKUPSET_SUBS;

当前备份任务实时监控信息

BACKUP DATABASE BACKUPSET '/dm/backup/db_bak_for_monitor';

SELECT TOTAL_SIZE, PCNT, CUR_READ, CUR_WRITE FROM V$BACKUP_MONITOR;

当前备份任务待备份数据文件列表

select * from v$backup_files;

最近 100 条备份监控信息

SELECT READ_SIZE, WRITE_SIZE, AVG_READ, AVG_WRITE FROM V$BACKUP_HISTORY;

JOB相关

JOB任务

select * from sysjob.sysjobs;

select * from dba_jobs;

select * from sysjob.SYSJOBSCHEDULES;

正在运行的JOB

select * from dba_jobs_running;

作业步骤信息

select * from sysjobsteps;

作业执行历史

select * from SYSJOB.SYSJOBHISTORIES2;

--查看所有作业信息

SELECT A.ID,

       A.NAME,

       A."ENABLE",

       A.USERNAME,

       A.CREATETIME,

       A.MODIFYTIME,

       A.DESCRIBE,

       B.LAST_DATE||' '||B.LAST_SEC LAST_TIME,

       B.NEXT_DATE||' '||B.NEXT_SEC NEXT_TIME,

       B.WHAT

  FROM SYSJOB.SYSJOBS A,

       SYSJOB.USER_JOBS B

 WHERE A.ID=B.JOB;

主备

V$RECOVER_STATUS:查当前备库恢复的信息

V$RAPPLY_SYS

V$RAPPLY_LOG_TASK 备库日志堆积情况

DSC

显示实例信息

select EP_NAME,EP_SEQNO,EP_GUID,EP_TIMESTAMP,EP_STATUS from V$DSC_EP_INFO;

配置的全局信息

select VERSION,N_GROUP,VTD_PATH,UDP_OGUID,DCR_PATH from V$DCR_INFO;

所有系统中所有的事务以及相关信息,如锁信息等

select * from V$DSC_TRX;

显示事务等待信息

select * from V$DSC_TRXWAIT;

DSC中查v$trxwait查询的结果为空。

ASM

select group_id,

       DISK_ID,

       DISK_NAME,

       DISK_PATH,

       CREATE_TIME,

       MODIFY_TIME,

       status

  from v$asmdisk;

select type,path,size_bytes,size_total from v$asmfile;

select GROUP_ID,GROUP_NAME,TOTAL_MB,FREE_MB from v$asmgroup;

会话相关

select * from v$session;

select * from v$session_event;

select * from v$session_stat;

select * from v$session_wait_history;

select *

  from V$SESSION_HISTORY a

 where a.CREATE_TIME >= to_date('2024-07-21 00:00:00','yyyy-mm-dd hh24:mi:ss')

 and a.CREATE_TIME < to_date('2024-07-22 00:00:00','yyyy-mm-dd hh24:mi:ss');

查询会话信息

SELECT STATE,CLNT_IP,CLNT_TYPE,CURR_SCH,USER_NAME,COUNT(*)

COUNTS FROM V$SESSIONS GROUP BY STATE,CLNT_IP,CLNT_TYPE,CURR_SCH,USER_NAME

 ORDER BY STATE;

线程信息:

select * from v$threads;

正在等待的线程:

select * from v$latches;

锁相关

查询事务信息:

select * from v$trx;

select * from v$dsc_trx;

查询事务的等待信息:

select * from v$trxwait;

select * from v$dsc_trxwait;

等待事务查询

select

tw.id as trx_id ,

tw.wait_for_id ,

s.sess_id ,

ws.sess_id as wait_for_session,

s.sql_text ,

ws.sql_text as wait_for_sql

from

v$trxwait tw

left join v$sessions s

on

tw.id=s.trx_id

left join v$sessions ws

on

tw.wait_for_id=ws.trx_id;

锁会话查询:

  SELECT DS.SESS_ID "被阻塞的会话ID",

          DS.SQL_TEXT "被阻塞的SQL",

          DS.TRX_ID "被阻塞的事务ID",

          DS.CREATE_TIME "开始阻塞时间",

          SS.SESS_ID "占用锁的会话ID",

          SS.SQL_TEXT "占用锁的SQL",

          SS.CLNT_IP "占用锁的IP",

          L.wait_for_id "占用锁的事务ID"

     FROM V$trxwait L

LEFT JOIN V$SESSIONS DS

       ON DS.TRX_ID = L.ID

LEFT JOIN V$SESSIONS SS

       ON SS.TRX_ID = L.wait_for_id;

DSC锁会话查询

 SELECT DS.SESS_ID "被阻塞的会话ID",

          DS.SQL_TEXT "被阻塞的SQL",

          DS.TRX_ID "被阻塞的事务ID",

          DS.CREATE_TIME "开始阻塞时间",

          SS.SESS_ID "占用锁的会话ID",

          SS.SQL_TEXT "占用锁的SQL",

          SS.CLNT_IP "占用锁的IP",

          L.wait_trx_id "占用锁的事务ID"

     FROM V$dsc_trxwait L

LEFT JOIN V$SESSIONS DS

       ON DS.TRX_ID = L.TRX_ID

LEFT JOIN V$SESSIONS SS

       ON SS.TRX_ID = L.wait_trx_id;

“占用锁的会话 ID ”表示该会话占用这个对象的锁,且事务一直没有提交。导致“被阻塞的会话 ID ”无法对该对象上锁。

杀会话

SP_CLOSE_SESSION (19811492152);

查询死锁历史事务信息

  select dh.trx_id ,

         sh.sess_id,

         wm_concat(top_sql_text)

    from V$DEADLOCK_HISTORY dh,

         V$SQL_HISTORY sh

   where dh.trx_id =sh.trx_id

     and dh.sess_id=sh.sess_id

group by dh.trx_id,

         sh.sess_id;

  

有事务未提交的表查询

SELECT b.object_name,

       c.sess_id,

       a.*

  FROM v$lock a,

       dba_objects b,

       v$sessions c

 WHERE a.table_id = b.object_id

   AND ltype = 'OBJECT'

   AND a.trx_id = c.trx_id;

sql相关

最慢的 20 条 SQL 信息

SELECT TOP 20 START_TIME,TIME_USED/1000 TIME_USED,TOP_SQL_TEXT FROM V$SQL_HISTORY ORDER BY TIME_USED DESC;SELECT * FROM V$SYSTEM_LONG_EXEC_SQLS ORDER BY EXEC_TIME DESC;

高内存的 20 条 SQL 统计

select * from  V$SYSTEM_LARGE_MEM_SQLS order by mem_used_by_k desc;

前 20 条长耗时等待事件信息

SELECT top 20 * FROM V$SYSTEM_EVENT ORDER BY TOTAL_WAITS DESC;

执行计划

系统负载

select * from v$systeminfo;

达梦技术社区:达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/51303.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

昇思MindSpore 应用学习-DCGAN生成漫画头像-CSDN

日期 心得 昇思MindSpore 应用学习-DCGAN生成漫画头像&#xff08;AI代码学习&#xff09; DCGAN生成漫画头像 在下面的教程中&#xff0c;我们将通过示例代码说明DCGAN网络如何设置网络、优化器、如何计算损失函数以及如何初始化模型权重。在本教程中&#xff0c;使用的动…

vue2和el-input无法修改和写入,并且不报错

文章目录 一. 业务场景描述二. 原因分析三.解决方案3.1 方案一 原生标签&#xff08;不建议&#xff09;3.2 方案二 父子传递&#xff08;不建议&#xff09;3.3 方案三 vuex&#xff0c;pinia 状态传值&#xff08;不建议&#xff09;3.4 方案四 vue初始化属性 &#xff08;建…

Java从入门到精通(十三)~ 枚举和注解

晚上好&#xff0c;愿这深深的夜色给你带来安宁&#xff0c;让温馨的夜晚抚平你一天的疲惫&#xff0c;美好的梦想在这个寂静的夜晚悄悄成长。 文章目录 目录 前言 一、枚举 1.1 枚举的概念 ​编辑 1.2 枚举的特点 1.3 枚举的实际运用 1. 状态机&#xff0c;描述属性的…

Nginx配置详解

1. Nginx安装 进入到/usr/local目录下&#xff0c;执行命令&#xff1a; yum install -y nginx通过如下命令启动nginx服务 systemctl start nginx通过如下命令&#xff0c;设置nginx开启自启动 systemctl enable nginxnginx默认占用80端口。 访问ip:80&#xff0c;可以看到…

Open3D 点云按xyz轴等距切片

目录 一、概述 1.1原理 1.2实现步骤 1.3应用 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2按x轴切片 3.3按y轴切片 3.4按z轴切片 Open3D点云算法汇总及实战案例汇总的目录地址&#xff1a; Open3D点云算法与点云深度学习案例汇总&#xff…

Java中线程池的基本使用

参考这个课程&#xff0c;讲的非常详细 27.线程池使用步骤总结_哔哩哔哩_bilibili 应用场景 商品秒杀 文件上传 订票系统 自定义线程池&#xff08;让我们了解底层逻辑的&#xff09; 构造方法 饱和机制 就是我们的队列饱和后我们该怎么处理 是拒绝这个任务还是啥…

Aria2 任意文件写入漏洞

目录 Aria2介绍漏洞描述漏洞复现 Aria2介绍 Aria2是一个在命令行下运行&#xff0c;多协议&#xff0c;多来源下载工具&#xff08;HTTP / HTTPS&#xff0c;FTP&#xff0c;BitTorrent&#xff0c;Metalink&#xff09;&#xff0c;内建XML-RPC用户界面。Aria提供RPC服务器&a…

流媒体服务器一:使用成熟的流媒体SRS 搭建 RTMP流媒体服务器

1 安装和测试srs流媒体服务器 服务器&#xff1a;SRS(Simple RTMP Server&#xff0c;⽀持RTMP、HTTP-FLV&#xff0c;HLS) 推流端&#xff1a;ffmpeg OBS 拉流端&#xff1a;ffplay VLC srs播放器 1.1 安装srs流媒体服务器 官网 SRS (Simple Realtime Server) | SRS 码…

18746 逆序数

这个问题可以使用归并排序的思想来解决。在归并排序的过程中&#xff0c;我们可以统计逆序数的数量。当我们合并两个已经排序的数组时&#xff0c;如果左边的数组中的元素&#xfffd;&#xfffd;于右边的数组中的元素&#xff0c;那么就存在逆序&#xff0c;逆序数的数量就是…

数据库之索引

目录 一、索引概述 1.索引的概念和特点 2.索引的分类 3.索引设计的原则 二、创建和查看索引 1.在创建表的时候创建索引 1.创建和查看普通索引 2.创建组合索引 3.创建唯一索引 4.创建全文索引 5.创建空间索引 2.在已有的表上创建索引 1.使用ALTER TABLE语句创建索引…

IEC104转MQTT网关支持MQTT对接Ignition、阿里云、华为云、亚马逊AWS、ThingsBoard、Zabbix平台助力远程管理

钡铼推出了一款专为电力系统设计的数据采集网关——IEC104转MQTT网关BE113&#xff0c;感兴趣的朋友接着往下看&#xff1a; 一、网关概述 IEC104转MQTT(Ignition)网关BE113是一款专为电力系统设计的数据采集网关&#xff0c;支持DL/T645和IEC104等协议的设备。上行支持MQTT协…

二、3 函数递归

自己间接或直接调用自己&#xff08;可大大减少代码量&#xff09; 1、举例 2、递归必须有停下来的条件 3、举例 普通求解数组长度 递归求解

16 敏捷开发实践(1)

敏捷方法&#xff1a;是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法&#xff0c;是一种应对快速变化的需求的一种软件开发能力。 敏捷开发&#xff1a;是一种以人为核心、迭代、循序渐进的开发方法。 敏捷实践&#xff1a;精益软件开发&#xff08;LSD&#x…

iexcel-excel 大文件读取和写入-02-Excel 引导类简介

excel 系列 Excel Export 踩坑注意点导出方案设计 基于 hutool 的 EXCEL 优化实现 iexcel-excel 大文件读取和写入&#xff0c;解决 excel OOM 问题-01-入门介绍 iexcel-excel 大文件读取和写入-02-Excel 引导类简介 iexcel-excel 大文件读取和写入-03-ExcelField 注解介绍…

Java进制,进制的转换

目录 进制 进制介绍 案例演示 进制的图示 进制的转化&#xff08;基本功&#xff09; 二进制转换成十进制 八进制转换成十进制 十六进制转换成十进制 十进制转换成二进制 十进制转换成八进制 十进制转换成十六进制 二进制转换成八进制 二进制转换成十六进制 …

Linux信号上

信号 概念 信号是由于进程产生&#xff0c;但是由内核调度传递给另一个进程&#xff1a; 产生信号 按键产生信号: Ctrc --> 2)SIGINT(终止/中断) Ctrz --> 20)SIGTSTOP(终端暂停) Ctr\ --> 3)SIGQUIT(退出) 系统调用产生: kill(2), raise, abort软件条件产生: 如定…

泛型如何定义和使用?

根据使用的地方分为3种&#xff0c;分别是泛型类&#xff0c;泛型方法和泛型接口。 &#xff08;1&#xff09;泛型类 泛型类的定义 在类名的后面加一对尖括号&#xff0c;括号中填写类型参数&#xff0c;参数可以有多个&#xff0c;多个参数之间使用逗号分隔。 下面是一个…

从与原始的Transformer architecture比较来理解GPT

从与原始的Transformer architecture比较来理解GPT flyfish 一、Transformer architecture 先说名词 不同的文献和资料中有不同的名字&#xff0c;其实是一样的意思 1 编码器-解码器多头注意力机制&#xff08;Encoder-Decoder Multi-Head Attention Mechanism&#xff09; …

ASP.NET Core中上传文件

1.创建一个文件上传的表单 在一个视图中&#xff08;比如Index.cshtml&#xff09;&#xff0c;添加一个表单来让用户选择文件并上传。 model IFormFile <form method"post" enctype"multipart/form-data"> <div class"form-group"…

爬虫-实战爬取虎扑ACG帖子

要求如下: 爬取虎扑步行街 ACG 版面的数据,要求使用多线程来并发爬取。范围是第一页的所有帖子,每个帖子包含标题、主题内容和第一页的所有回复内容。最后打印出爬到的所有帖子的标题。 网址是:ACG圈 - 虎扑社区。 针对上面的要求,我们进行分析: 首先是要使用多线程范…