人大金仓数据库的简单巡查

人大金仓的简单巡查

查询人大金仓的版本

sys_ctl -V
sys_ctl --version
# 在ksql命令行工具中查询数据库版本
select version();

查询lincense的有效期

select get_license_validdays();

查看KES实例的启动时间和运行时间

select sys_postmaster_start_time();
# 当前无故障运行时间 (当前时间减去启动时间)
select date_trunc('second',current_timestamp-sys_postmaster_start_time()) as uptime;

查看数据库列表

# 在ksql中使用可以使用元命令
 \l
# 语句查询
select datname from sys_database;

查看数据库所占用的内存

# 查看当前数据所占内存大小
select sys_database_size(current_database())/1024/1024 || 'MB' MB;
# 查看所有数据所占内存的大小
select (sum(sys_database_size(datname))/1024/1024) || 'MB' MB from sys_database;

查看表和索引大小

# 查看表的大小
select sys_relation_size('public.t01')/1024 || 'KB' KB;
# 让系统决定查询结果的单位
select sys_size_pretty(sys_relation_size('public.t01'));
# 表和索引的大小
select sys_size_pretty(sys_total_relation_size('public.t01'));
# 索引的大小
select sys_size_pretty(sys_total_relation_size('public.t01')-sys_relation_size('public.t01'));

查看时区和时间

# 查看最近一次加载参数的时间
select sys_conf_load_time;
# 手动加载数据文件
sys_ctl reload
# 查看时区
show timezone;
# 查看当前时间
select now();
# 查看当前日期
select current_date();
# 查看时间(精确到秒)
select sysdate;
# 查看时间(timestamp)
select current_timestamp; 

查看当前数据库名称

# 查看数据库名称
select current_catalog;
select current_database;

查看当前会话信息

# 查看当前会话的客户端ip和端口(如果服务器是本地登录则会显示为空)
select inet_client_port();
select inet_client_addr();
# 查看当前会话的进程ID
select sys_backend_pid;

查看数据库中的连接信息

# 查看数据中链接信息
select datname ,usename,client_addr,client_port from sys_stat_activity;
# 查看数据库
select datname,usename,client_addr,client_port from sys_stat_activity where datname is not null;

查看会话执行的sql信息

# 设置track_activities参数
show track_activities;
# 查看所有会话的sql信息
select datname,usename,client_addr,client_port from sys_stat_activity;
# 查看当前存在会话的sql信息
select datname,usename,client_addr,client_port from sys_stat_activity where datname is not null;
# 查看执行的sql语句
select datname,usename,query,state from sys_stat_activity where datname is not null;
# 查看当前正在执行状态的语句
select datname,usename,query,state from sys_stat_activity where state like 'active';
# 查询语句运行时间
select current_timestamp - query_start as runtime,datname,usename,pid,query ^Jfrom sys_stat_activity where state != 'idle';

处理事务阻塞会话

 # 开启事务 
 begin
 # 查询当前事务的di
 sys_backend_pid
# 查看会话的事务状态
 select datname,usename,query,wait_event,pid from sys_stat_activity where datname='test';
# 关闭会话的事务清理阻塞  # pid为事务ID
select sys_terminate_backend(pid);
# 取消运行时间比较长的sql语句但是不关闭会话
select sys_cancel_backend(p)

在金仓数据库中不允许使用kill杀死会话,比较危险

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿龙的代码在报错

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值