达梦数据库常用视图sql语句

2021/9/23 19:43:15

本文主要是介绍达梦数据库常用视图sql语句,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、常用的系统视图:
dba_objects:显示数据库中所有的对象,例如想查询数据库中有没有某个对象
v s e s s i o n s : 显 示 会 话 的 具 体 信 息 , 如 执 行 的 s q l 语 句 、 主 库 名 、 当 前 会 话 状 态 、 用 户 名 等 等 v sessions:显示会话的具体信息,如执行的 sql 语句、主库名、当前会话状态、用户名等等 v sessions:显示会话的具体信息,如执行的sql语句、主库名、当前会话状态、用户名等等vlock:查看当前数据库中锁的信息
v m e m p o o l : 显 示 所 有 的 内 存 池 信 息 V mem_pool:显示所有的内存池信息 V memp​ool:显示所有的内存池信息Vdeadlock_histor::记录死锁的历史信息
V T A B L E S P A C E : 显 示 表 空 间 信 息 , 不 包 括 回 滚 表 空 间 信 息 V TABLESPACE:显示表空间信息,不包括回滚表空间信息 V TABLESPACE:显示表空间信息,不包括回滚表空间信息VTRX:显示所有活动事务的信息。通过该视图可以查看所有系统中所有的事务以及相关信息,如锁信息等。
二、常用查询语句
1、查询数据库在线实例信息

select distinct NAME, HOST_NAME, SVR_VERSION, DB_VERSION, START_TIME, STATUS , M O D E , MODE ,MODE from V$INSTANCE;
2、查看数据库常用参数值

select PARA_NAME,PARA_VALUE FROM V$DM_INI WHERE PARA_NAME IN(‘MEMORY_POOL’,‘BUFFER’,‘PORT_NUM’,‘MAX_SESSIONS’,‘MAX_SESSION_STATEMENT’,‘INSTANCE_NAME’,‘BAK_PATH’,‘SYSTEM_PATH’,‘ARCH_INI’);
3、查询数据库初始化配置

select SF_GET_PAGE_SIZE() page_size, SF_GET_EXTENT_SIZE() extent_size, SF_GET_UNICODE_FLAG() unicode_flag, SF_GET_CASE_SENSITIVE_FLAG() case_sensitive_flag, SF_GET_SYSTEM_PATH() system_path;
4、查询数据库名称、数据库总大小、数据库是否启用归档

select NAME,STATUS , A R C H M O D E , T O T A L S I Z E f r o m S Y S . V ,ARCH_MODE, TOTAL_SIZE from SYS.V ,ARCHM​ODE,TOTALS​IZEfromSYS.VDATABASE;
5、查询数据库连续运行时间

select (SYSDATE-START_TIME)*24 FROM V$INSTANCE;
6、查询数据库管理用户状态,默认表空间,是否存在被锁定

select D.USERNAME,A.CREATED,D.ACCOUNT_STATUS,D.DEFAULT_TABLESPACE,D.EXPIRY_DATE,D.LOCK_DATE FROM DBA_USERS D,ALL_USERS A;
7、查询当前数据库的日志分组情况

select GROUP_ID,FILE_ID,PATH,CLIENT_PATH,RLOG_SIZE FROM SYS.V$RLOGFILE;
8、查询表空间信息

select
T.NAME 表空间名称,
D.PATH 表空文件路径,
T.TYPE$ 表空间类型,
T.STATUS$ 表空间状态,
T. FILE_NUM 包含的文件数,
D.TOTAL_SIZE16/1024 总大小,
D.FREE_SIZE
16/1024 空闲大小,
TRUNC((TRUNC(D.TOTAL_SIZE-D.FREE_SIZE, 4)/D.TOTAL_SIZE)*100, 2) 使用率
FROM V T A B L E S P A C E T , V TABLESPACE T, V TABLESPACET,VDATAFILE D WHERE “GROUP_ID”=T.ID;
9、查询数据表所分配的空间大小,辅助查询表用户使用情况

select OWNER,TABLESPACE_NAME,SEGMENT_TYPE,SEGMENT_NAME,BLOCKS,BYTES/1024/1024 FROM DBA_SEGMENTS ORDER BY OWNER,SEGMENT_NAME;
10、查询表索引状态,便于确认表索引是否可用

select I.TABLE_OWNER,I.TABLE_NAME,O.OBJECT_NAME,O.OBJECT_TYPE,O.STATUS FROM USER_INDEXES I,USER_OBJECTS O WHERE O.OBJECT_NAME=I.INDEX_NAME AND O.STATUS=‘INVALID’;
11、查询数据库归档信息

select ARCH_TYPE,ARCH_DEST FROM V D M A R C H I N I ; s e l e c t A R C H N A M E , A R C H T Y P E , A R C H D E S T , A R C H F I L E S I Z E , A R C H S P A C E L I M I T , A R C H T I M E R N A M E , A R C H I S V A L I D f r o m S Y S . V DM_ARCH_INI; select ARCH_NAME, ARCH_TYPE, ARCH_DEST, ARCH_FILE_SIZE, ARCH_SPACE_LIMIT, ARCH_TIMER_NAME, ARCH_IS_VALID from SYS.V DMA​RCHI​NI;selectARCHN​AME,ARCHT​YPE,ARCHD​EST,ARCHF​ILES​IZE,ARCHS​PACEL​IMIT,ARCHT​IMERN​AME,ARCHI​SV​ALIDfromSYS.VDM_ARCH_INI;
12、查询会话信息

select A.SESS_ID,A.SQL_TEXT,A.STATE,A.N_USED_STMT,A.CURR_SCH,
A.USER_NAME,A.TRX_ID,A.CREATE_TIME,A.CLNT_TYPE,A.TIME_ZONE,A.OSNAME,A.CONN_TYPE, B.PROTOCOL_TYPE,B.IP_ADDR FROM SYS.V S E S S I O N S A , S Y S . V SESSIONS A,SYS.V SESSIONSA,SYS.VCONNECT B where A.Sess_id= B.SADDR ORDER BY SF_GET_EP_SEQNO(A.rowid),A.Sess_id;
13、查询会话数量

(1)当前活动会话数:
select COUNT() FROM V S E S S I O N S W H E R E S T A T E = ′ A C T I V E ′ ; ( 2 ) 当 前 总 会 话 数 : s e l e c t C O U N T ( ∗ ) F R O M V SESSIONS WHERE STATE='ACTIVE'; (2)当前总会话数: select COUNT(*) FROM V SESSIONSWHERESTATE=′ACTIVE′;(2)当前总会话数:selectCOUNT(∗)FROMVSESSIONS;
(3)可用会话数=系统允许最大并发会话数-数据库当前会话数;
select PARA_VALUE-(SELECT COUNT(
) FROM V S E S S I O N S ) F R O M V SESSIONS) FROM V SESSIONS)FROMVDM_INI WHERE PARA_NAME=‘MAX_SESSIONS’;
(4)会话使用率:
select (SELECT COUNT(*) FROM V S E S S I O N S ) / P A R A V A L U E ∗ 100 ∣ ∣ ′ SESSIONS)/PARA_VALUE * 100||'%' FROM V SESSIONS)/PARAV​ALUE∗100∣∣′DM_INI WHERE PARA_NAME=‘MAX_SESSIONS’;
14、事务监控

select ID, STATUS,ISOLATION,READ_ONLY,SESS_ID,INS_CNT,DEL_CNT,UPD_CNT,UPD_INS_CNT,UREC_SEQNO,WAITING FROM SYS.V$TRX;
15、查询等待事件的具体信息

select THREAD_ID,TRX_ID,WAIT_CLASS,WAIT_OBJECT,WAIT_START,WAIT_TIME, SPACE_ID,FILE_ID,PAGE_NO FROM V$WAIT_HISTORY;
16、查询作业信息

select J.NAME,J.ENABLE,J.USERNAME,J.CREATETIME,S.DURING_START_DATE FROM SYSJOB.SYSJOBSCHEDULES S,SYSJOB.SYSJOBS J WHERE S.JOBID=J.ID;
17、查询数据库作业任务的执行历史

select NAME,STEPNAME,STATUS,ERRCODE,ERRINFO,CUR_TIME,RETRY_ATTEMPTS FROM SYSJOB.SYSJOBHISTORIES;
18、显示系统统计信息,查看数据库性能数据

select NAME,STAT_VAL FROM V$SYSSTAT WHERE NAME IN(‘logic read count’,‘physical read count’,‘physical write count’);
19、查询缓冲区命中率信息

select NAME,N_PAGES,N_LOGIC_READS, N_PHY_READS ,RAT_HIT FROM V$BUFFERPOOL;
20、查询数据字典命中率

select USED_SIZE,TOTAL_SIZE,(USED_SIZE/TOTAL_SIZE)*100 as HIT FROM V$DICT_CACHE;
21、显示日志文件刷新的SLOT对象信息

select CKPT_RLOG_SIZE,CKPT_LSN,CKPT_INTERVAL,CKPT_FILE,LAST_BEGIN_TIME,LAST_BEGIN_TIME,(LAST_END_TIME-LAST_BEGIN_TIME)AS LAST_USED_TIME FROM V$CKPT;
22、显示执行SQL的历史记录信息

select SQL_ID,SESS_ID,SESS_SEQ,TRX_ID,TOP_SQL_TEXT,START_TIME,TIME_USED,N_LOGIC_READ,N_PHY_READ,HARD_PARSE_FLAG FROM V$SQL_HISTORY;
23、监控运行时错误

select DISTINCT A.SEQNO,A.SESS_ID,A.TRX_ID, A.SQL_TEXT,A.SU_FLAG,A.ECPT_CODE,A.ECPT_DESC,A.ERR_TIME,B.USER_NAME,B.CLNT_IP,B.APPNAME FROM SYS.V R U N T I M E E R R H I S T O R Y A , S Y S . V RUNTIME_ERR_HISTORY A, SYS.V RUNTIMEE​RRH​ISTORYA,SYS.VSESSION_HISTORY B;
24、查询环境运行慢于5秒的SQL

select * from (SELECT sess_id,sql_text,datediff(ss,last_send_time,sysdate) ss,SF_GET_SESSION_SQL(SESS_ID) fullsql FROM V$SESSIONS WHERE STATE=‘ACTIVE’ and sess_id <> sessid())where ss>=1;
–ss>=1表示1秒及以上的慢SQL,可以替换成其他时间;
25、出现死锁的解决办法

select O.OBJECT_NAME ,S.SESS_ID,S.SQL_TEXT,L.ADDR,L.TRX_ID,L.LTYPE,L.LMODE,L.BLOCKED,L.TABLE_ID,L.ROW_IDXFROM V L O C K L , D B A O B J E C T S O , V LOCK L,DBA_OBJECTS O,V LOCKL,DBAO​BJECTSO,VSESSIONS S
WHERE L.TABLE_ID=O.OBJECT_ID AND L.TRX_ID=S.TRX_ID AND L.BLOCKED=1;
–清除阻塞SQL;
SP_CLOSE_SESSION(上述查到的SESS_ID);



这篇关于达梦数据库常用视图sql语句的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程