[TOC]
## 一、简单巡检
### 1. 查看KES版本信息
```
1. 使用sys_ctl查看版本(查看的时pgsql的版本)
[kingbase@node1 ~]$ sys_ctl -V
sys_ctl (Kingbase) 12.1
[kingbase@node1 ~]$ sys_ctl --version
sys_ctl (Kingbase) 12.1
2. 使用version函数查看版本(查看的是kingbase的版本)
test=# select version();
version
---------------------------------------------------------------------------- ------------------------------------------
KingbaseES V008R006C005B0023 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit
(1 行记录)
```
### 2. 查看license有效期
```
test=# select get_license_validdays();
get_license_validdays
-----------------------
-2
(1 行记录)
```
### 3. 查看KES实例启动时间和运行时间
#### 3.1 查看数据库实例启动时间
```
test=# select sys_postmaster_start_time;
sys_postmaster_start_time
-------------------------------
2023-06-05 13:44:40.105752+08
(1 行记录)
```
#### 3.2 查看KES无故障运行时长
```
test=# select sysdate - sys_postmaster_start_time;
?column?
-----------------
00:33:51.894248
(1 行记录)
说明:sysdate为当前时间,即当前时间减去启动时间等于运行时长。
```
### 4. 查看数据库列表
```
1. 使用元命令
test=# \l
2. 使用-l参数
[kingbase@node1 ~]$ ksql -Usystem -dtest -l
3. 使用数据字典
test=# select datname from sys_database;
```
### 5. 查看当前数据库占用磁盘空间
#### 5.1 统计当前数据库占用的磁盘空间
```
a.使用current_database()函数获取当前数据库名
test=# select sys_database_size(current_database())/1024/1024 || 'MB' MB;
mb
-------
144MB
(1 行记录)
b.或者直接写数据库名
test=# select sys_database_size('test')/1024/1024 || 'MB' MB;
mb
-------
144MB
(1 行记录)
#和 \l+ 看到的数据库大小一样
test=# \l+ test
数据库列表
名称 | 拥有者 | 字元编码 | 校对规则 | Ctype | 存取权限 | 大小 | 表空间 | 描述
------+--------+----------+-------------+-------------+-------------------+--------+-------------+--------------------------------------------
test | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =Tc/system +| 144 MB | sys_default | default administrative connection database
| | | | | system=CTc/system+| | |
| | | | | u01=C*T*c*/system | | |
(1 行记录)
```
#### 5.2 统计所有数据库占用的磁盘空间
```
test=# select (sum(sys_database_size(datname))/1024/1024) || 'MB' MB from sys_database;
mb
------------------------
194.1320829391479492MB
(1 行记录)
```
### 6. 查看表和索引的大小
#### 6.1 统计表的空间占用
```
例如:查看public.t01表占用的大小
a.使用sys_relation_size()安函数
test=# select sys_relation_size('public.t01')/1024 || 'KB' KB;
kb
---------
67232KB
(1 行记录)
说明:
relation /rɪˈleɪʃn/ n.关系
b.使用sys_size_pretty()函数可以自动处理单位
test=# select sys_size_pretty(sys_relation_size('public.t01'));
sys_size_pretty
-----------------
66 MB
(1 行记录)
#使用 \d+ 也可以看到表的大小
```
#### 6.2 统计表和与表关联的索引占用空间总量
```
例如:
a.使用sys_total_relation_size()函数
test=# select sys_total_relation_size('public.t01')/1024/1024 || 'MB' MB;
mb
------
65MB
(1 行记录)
b.使用sys_size_pretty()函数可以自动处理单位
test=# select sys_size_pretty(sys_total_relation_size('public.t01'));
sys_size_pretty
-----------------
66 MB
(1 行记录)
```
#### 6.3 统计表的记录数
```
例如:查看 exam.score 表的行数
test=# select count(*) || 'rows' "rows" from exam.score;
rows
--------
15rows
(1 行记录)
```
### 7. 查看时区和时间
#### 7.1 查看最近一次加载参数文件的时间
```
test=# select sys_conf_load_time();
sys_conf_load_time
-------------------------------
2023-06-05 13:44:38.902835+08
(1 行记录)
```
#### 7.2 查看时区
```
test=# show timezone;
TimeZone
----------
PRC
(1 行记录)
说明:PRC表示中国标准时间。
```
#### 7.3 查看日期和时间
```
1. 通过查看sysdate获取时间
test=# select sysdate;
date
---------------------
2023-06-05 16:01:29
(1 行记录)
2. now 函数
test=# select now;
now
-------------------------------
2023-06-20 14:38:34.210983+08
(1 行记录)
说明:now是一个SQL内置函数,后面加不加小括号都会被解析为函数的调用。
3. current_timestamp 函数
test=# select current_timestamp;
current_timestamp
-------------------------------
2023-06-05 16:00:52.178609+08
(1 行记录)
注释:timestamp /ˈtaɪmstæmp/ n.时间戳
4. current_date 函数
test=# select current_date;
current_date
--------------
2023-06-05
(1 行记录)
说明:current_date是一个SQL内置函数,后面加不加小括号都会被解析为函数的调用。
5. current_time 函数
test=# select current_time;
current_time
--------------------
14:34:28.821813+08
(1 行记录)
```
### 8. 查看当前登录数据库的名称
```
test=# select current_catalog;
current_catalog
-----------------
test
(1 行记录)
说明:
catalog /ˈkætəlɔːɡ/ n.目录
```
### 9. 查看当前会话信息
#### 9.1 查看当前会话的客户端ip和端口
```
test=# select inet_client_addr(),inet_client_port();
inet_client_addr | inet_client_port
------------------+------------------
192.168.40.111 | 24878
(1 行记录)
```
#### 9.2 查看服务端的ip和端口
```
test=# select inet_server_addr(),inet_server_port();
inet_server_addr | inet_server_port
------------------+------------------
192.168.40.111 | 54321
(1 行记录)
```
#### 9.3 查看当前会话的后台进程ID
```
test=# select sys_backend_pid();
sys_backend_pid
-----------------
6417
(1 行记录)
test=#
test=# \! ps -ef |grep 6417 |grep -v grep
kingbase 6417 1744 0 16:07 ? 00:00:00 kingbase: system test 192.168.40.111(24878) idle
```
### 10. 查看数据库中的连接信息
```
test=# select datname,usename,client_addr,client_port from sys_stat_activity;
datname | usename | client_addr | client_port
---------+---------+----------------+-------------
| | |
| system | |
test | system | 192.168.40.111 | 24878
| | |
| | |
| | |
(6 行记录)
```
### 11. 查看会话执行的SQL信息
```
```
### 12. 查看耗时较长的SQL
```
test=# select current_timestamp - query_start as runtime,datname,usename,pid,query from sys_stat_activity where state !='idle' order by 1 desc;
runtime | datname | usename | pid | query
-----------------+---------+---------+------+------------------------------------------------------------------------------------------------------------------------------------------
00:00:00.000000 | test | system | 6417 | select current_timestamp - query_start as runtime,datname,usename,pid,query from sys_stat_activity where state !='idle' order by 1 desc;
```
## 二、事务阻塞会话的简单处理
### 1. 关闭自动提交后删除记录
```
```
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
Kingbase 数据库物理备份与恢复操作手册
Digital Observer
117次阅读
2025-04-18 10:58:31
夺冠!电科金仓斩获申威赛马-数据库性能大赛第一名
金仓数据库
86次阅读
2025-03-31 10:00:44
Kingbase逻辑备份与恢复标准化实施文档
Digital Observer
72次阅读
2025-04-11 10:11:46
【金仓数据库征文】_Kingbase性能优化浅谈
Digital Observer
63次阅读
2025-04-24 11:31:18
金仓数据库荣获2025网信自主创新尖锋榜“金风帆奖”
金仓数据库
63次阅读
2025-04-22 10:12:13
核心!金仓数据库助力中国路桥苍穹平台成功上线运行
金仓数据库
56次阅读
2025-04-21 10:35:06
金仓KFS:10 分钟轻松搞定银行数据校验难题!
金仓数据库
53次阅读
2025-04-17 10:41:48
金仓充电站 | KES+Nagios,从零搭建数据库监控体系的完整指南
金仓数据库
38次阅读
2025-04-10 11:52:49
电科金仓即将出席全球最大科技盛会GITEX ASIA,亮点抢先看!
金仓数据库
35次阅读
2025-04-18 10:01:00
Kingbase 常用运维命令总结
小周的数据库进阶之路
31次阅读
2025-04-14 09:40:55