人大金仓数据库的简单巡查
•
数据库
人大金仓的简单巡查
查询人大金仓的版本
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杀死会话,比较危险
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/2965689952.html
