DM7常用sql

查询当前数据库实例中活动会话数量

select count(*) from v$sessions where state='active';

注意:可以通过v$sessions视图查询会话的详细信息,如指定session执行的 sql 语句、客户端工具、客户端地址、连接类型、会话状态等。

查询当前数据库实例中活动会话数量

select count(*) from v$sessions where state='active';

查询当前数据库实例中活动会话执行的完整sql语句select sess_id,sf_get_session_sql (sess_id),sql_text from v$sessions where state = 'active';

查询当前数据库实例是否有阻塞

select o.name, l.*

  from v$lock l, sysobjects o

 where l.table_id = o.id and blocked = 1;

查看当前数据库实例锁信息

with locks

     as (select o.name,

                l.*,

                s.sess_id,

                s.sql_text,

                s.clnt_ip,

                s.last_send_time

           from v$lock l, sysobjects o, v$sessions s

          where l.table_id = o.id and l.trx_id = s.trx_id),

     lock_tr

     as (select trx_id wt_trxid, row_idx blk_trxid

           from locks

          where blocked = 1),

     res

     as (select sysdate stattime,

                t1.name,

                t1.sess_id wt_sessid,

                s.wt_trxid,

                t2.sess_id blk_sessid,

                s.blk_trxid,

                t2.clnt_ip,

                sf_get_session_sql (t1.sess_id) fulsql,

                datediff (ss, t1.last_send_time, sysdate) ss,

                t1.sql_text wt_sql

           from lock_tr s, locks t1, locks t2

          where     t1.ltype = 'object'

                and t1.table_id <> 0

                and t2.ltype = 'object'

                and t2.table_id <> 0

                and s.wt_trxid = t1.trx_id

                and s.blk_trxid = t2.trx_id)

select distinct wt_sql, clnt_ip, ss

  from res;

查看当前数据库正在运行的未提交事物相关的信息

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;

查看当前数据库中长时间运行的事物会话信息

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';

查询当前数据库中执行超过2秒的会话信息

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;

查看数据库授权信息

select * from v$license;

查看当前数据库服务器信息

select * from v$systeminfo;

查看当前数据库参数配置值

select * from v$dm_ini where para_name like '%%';

查看当前数据库会话信息

--总会话数

select count(*) from v$sessions;

--按状态分组会话数

select  count(*),state from v$sessions group by state;

--按客户端分组会话数

select  count(*),clnt_ip from v$sessions group by clnt_ip;

查看指定时间段或者最近执行过的sql信息(注意前提条件是enable_monitor参数配置为1

select * from v$sql_history where start_time between '2021-09-15 00:00:00' and '2021-09-17 00:00:00';

查看当前数据库基础信息(实例名称、数据库版本、字符集、页大小、大小写敏感、数据库模式、唯一魔数、lsn等)

select '实例名称' 数据库选项,instance_name 数据库集群相关参数值 from v$instance

union all

select '数据库版本',substr(svr_version,instr(svr_version,'(')) from v$instance

union all  

select '字符集',case sf_get_unicode_flag() when '0' then 'gbk18030' when '1' then 'utf-8' when '2' then 'euc-kr' end

union all

select '页大小',cast(page()/1024 as varchar) union all  select '簇大小',cast(sf_get_extent_size() as varchar)

union all

select '大小写敏感',cast(sf_get_case_sensitive_flag() as varchar)   

union all

select '数据库模式',mode$ from v$instance

union all

select '唯一魔数',cast(permanent_magic as varchar)

union all

select 'lsn',cast(cur_lsn as varchar) from v$rlog;

问题描述:在使用disql连接达梦数据库时,提示[-70028]:创建SOCKET连接失败错误

解决方法:

出现该错误可以从以下几个方面入手:

1、达梦数据库服务进程未启动

使用ps -ef |grep dms检查服务状态

2、没有使用正确的登陆地址及登陆端口,在登陆数据库时,地址或者端口输入错误,也会引起[-70028]:创建SOCKET连接失败错误,需要特别注意修改了默认端口的情况。

3、在使用dminit完成数据库初始化后,在第一次启动服务时,未使用dmserver命令启动。在dminit完成初始化后,并没有真正意义上完成初始化,而是要继续使用dmserver启动的过程中,继续完成最后的初始化,包括系统内部的一些信息初始化。

4、防火墙策略配置不合理或者防火墙开启未配置策略。可以临时关闭防火墙,确定是否防火墙引起的问题。

-----------------------------------------

关于达梦数据库更多的相关问题请浏览达梦云适配技术社区 达梦云适配技术社区 https://eco.dameng.com/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值