人大金仓的简单巡查
查询人大金仓的版本
sys_ctl -Vsys_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();# 查看当前会话的进程IDselect 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为事务IDselect sys_terminate_backend(pid);# 取消运行时间比较长的sql语句但是不关闭会话select sys_cancel_backend(p)
在金仓数据库中不允许使用kill杀死会话,比较危险
来源地址:https://blog.csdn.net/yujinlong2002/article/details/130606774