kingbase(人大金仓)数据库的常用知识点与简单巡检

KES服务的启停
查看服务是否已设为开机自启
systemctl list-dependencies |grep kingbase
kingbase(人大金仓)数据库的常用知识点与简单巡检_第1张图片
除了使用systemctl和service还可以使用sys_ctl管理KES服务
kingbase(人大金仓)数据库的常用知识点与简单巡检_第2张图片
也可以到安装目录下的Server/bin/目录下执行sys_ctl命令
sys_ctl -D /../data/ start
问题: 人大金仓数据库连接人数过多解决方法:
先执行:select  * from pg_stat_activity;
再执行:SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE state='idle'

命令行工具--KSQL
kingbase命令行连接方式
一、使用SOCKET方式登录数据库
ksql -d test -U SYSTEM     (参数详解看一下help:ksql --help)
注意使用此方式连接无需用户密码
kingbase(人大金仓)数据库的常用知识点与简单巡检_第3张图片
二、使用TCP/IP方式登录数据库
kingbase(人大金仓)数据库的常用知识点与简单巡检_第4张图片
1.切换登录用户
2.切换连接的数据库
3.同时切换登录的用户和数据库
kingbase(人大金仓)数据库的常用知识点与简单巡检_第5张图片
执行脚本
登录test库使用“\i”执行/tmp/test.sql脚本
非交互方式执行SQL(单条SQL)
kingbase(人大金仓)数据库的常用知识点与简单巡检_第6张图片
非交互方式执行SQL(多条SQL)
把多条SQL语句写在一个脚本里然后执行
kingbase(人大金仓)数据库的常用知识点与简单巡检_第7张图片
kingbase(人大金仓)数据库的常用知识点与简单巡检_第8张图片

用户与角色
创建和修改用户
kingbase(人大金仓)数据库的常用知识点与简单巡检_第9张图片
修改用户密码,(普通用户无密码不能登录)
kingbase(人大金仓)数据库的常用知识点与简单巡检_第10张图片
修改用户的并发连接数
kingbase(人大金仓)数据库的常用知识点与简单巡检_第11张图片
修改用户密码有效期为永久
kingbase(人大金仓)数据库的常用知识点与简单巡检_第12张图片
修改属主,删除用户
kingbase(人大金仓)数据库的常用知识点与简单巡检_第13张图片
创建角色
kingbase(人大金仓)数据库的常用知识点与简单巡检_第14张图片
角色默认不能登录,需要授予登录权限: alter role角色名 login;
创建角色并允许登录:
create role user01 connection limit 2 password 'kingbase' valid until '2030-12-31' login;
利用角色对多个用户批量授权
kingbase(人大金仓)数据库的常用知识点与简单巡检_第15张图片
加入到角色的用户 默认将自动继承 该角色拥有的所有权限
将用户加入到角色中
kingbase(人大金仓)数据库的常用知识点与简单巡检_第16张图片
加入角色的第二种方法
create user 用户名 IN ROLE 角色名;

对象的访问权限入门
使用KSQL 元命令查看权限信息
查看用户对模式对象拥有的权限(\dp)
kingbase(人大金仓)数据库的常用知识点与简单巡检_第17张图片
使用KSQL查权限的输出信息解读
授权与转授权
kingbase(人大金仓)数据库的常用知识点与简单巡检_第18张图片
改变对象所有者
kingbase(人大金仓)数据库的常用知识点与简单巡检_第19张图片
移除用户对表的权限
kingbase(人大金仓)数据库的常用知识点与简单巡检_第20张图片
kingbase(人大金仓)数据库的常用知识点与简单巡检_第21张图片

数据库、模式、表空间
数据库
查——>列出集簇中现有数据库的清单
\l
kingbase(人大金仓)数据库的常用知识点与简单巡检_第22张图片
增——>创建数据库
kingbase(人大金仓)数据库的常用知识点与简单巡检_第23张图片
test=# create user user05 password 'kingbase';
CREATE ROLE

test=# create database db03 owner user05 template template0
test-# encoding 'utf8' connection limit 10;
CREATE DATABASE
test=# \x
扩展显示已打开.

test=# \l+ db03
数据库列表
-[ RECORD 1 ]---------
名称     | db03
拥有者   | user05
字元编码 | UTF8
校对规则 | zh_CN.UTF-8
Ctype    | zh_CN.UTF-8
存取权限 |
大小     | 12 MB
表空间   | sys_default
描述     |

改、查——>修改和查看修改后的数据库的属主和名称(\l+)”+“表示详细输出
kingbase(人大金仓)数据库的常用知识点与简单巡检_第24张图片
kingbase(人大金仓)数据库的常用知识点与简单巡检_第25张图片
删——>非属主/非超级用户或库正在使用不能删除
kingbase(人大金仓)数据库的常用知识点与简单巡检_第26张图片
kingbase(人大金仓)数据库的常用知识点与简单巡检_第27张图片
模式
查——>列出test库中的模式清单
kingbase(人大金仓)数据库的常用知识点与简单巡检_第28张图片
增——>创建模式
kingbase(人大金仓)数据库的常用知识点与简单巡检_第29张图片
改——>修改模式
kingbase(人大金仓)数据库的常用知识点与简单巡检_第30张图片
查——>检查模式修改结果
kingbase(人大金仓)数据库的常用知识点与简单巡检_第31张图片
删——>删除模式
kingbase(人大金仓)数据库的常用知识点与简单巡检_第32张图片
表空间
查——>列出表空间的清单
kingbase(人大金仓)数据库的常用知识点与简单巡检_第33张图片
kingbase(人大金仓)数据库的常用知识点与简单巡检_第34张图片
增——>创建表空间
  • 规划表空间对应的文件系统目录
kingbase(人大金仓)数据库的常用知识点与简单巡检_第35张图片
kingbase(人大金仓)数据库的常用知识点与简单巡检_第36张图片
新建表空间tbs01
kingbase(人大金仓)数据库的常用知识点与简单巡检_第37张图片
kingbase(人大金仓)数据库的常用知识点与简单巡检_第38张图片
改——>修改表空间
kingbase(人大金仓)数据库的常用知识点与简单巡检_第39张图片
修改数据库默认表空间
移动表到新的表空间
  • 查看现有表空间是\db,数据库列表是\l
kingbase(人大金仓)数据库的常用知识点与简单巡检_第40张图片
kingbase(人大金仓)数据库的常用知识点与简单巡检_第41张图片
查——>检查表空间修改结果
kingbase(人大金仓)数据库的常用知识点与简单巡检_第42张图片
删——>删除表空间
  • 当提示非空,删除失败时:
kingbase(人大金仓)数据库的常用知识点与简单巡检_第43张图片
kingbase(人大金仓)数据库的常用知识点与简单巡检_第44张图片
kingbase(人大金仓)数据库的常用知识点与简单巡检_第45张图片
kingbase(人大金仓)数据库的常用知识点与简单巡检_第46张图片

简单巡检
使用sys_ctl -V——查看版本
使用version函数查看版本
ksql test system -c 'select version()'
查看license有效期
ksql test system -c 'select get_license_validdays()'
查看KES实例启动时间和运行时常
select sys_postmaster_start_time();
查看KES无故障运行时长
select date_trunc('second',current_timestamp - sys_postmaster_start_time()) as uptime;
查看数据库列表
ksql test system -l
使用数据字典查看数据库列表
select datname from sys_database;
查看数据库占用的磁盘空间
  • 1. 统计当前数据库占用的磁盘空间
select sys_database_size(current_database())/1024/1024 || 'MB'  MB;
  • 2. 统计所有数据库占用的磁盘空间总量
select (sum(sys_database_size(datname))/1024/1024) || 'MB'  MB from sys_database;
查看表和索引的大小
统计表的空间占用
1.    select sys_relation_size('public.t02')/1024|| 'KB' KB;
2.    select sys_size_pretty(sys_relation_size('public.t02'));
统计表和与表关联的索引占用空间总量
1. select sys_total_relation_size('public.t02')/1024|| 'KB' KB;
2. select sys_size_pretty(sys_total_relation_size('public.t01'));
统计表的记录
select count(*) || ' rows' "rows" from public.t02;
查看时区时间
查看最近一次加载参数文件的时间
select sys_conf_load_time();
查看时区
show timezone;
查看当前日期或时间
#日期
select current_date;
#日期加时间
select now();

select current_timestamp;

select sysdate;
查看当前登录数据库的名称
select current_catalog;
select current_database();
查看当前会话信息
1.查看当前会话的客户端IP和端口(注意如果使用缺省方式登录则不会显示信息)
select inet_client_addr(),inet_client_port();
kingbase(人大金仓)数据库的常用知识点与简单巡检_第47张图片
2.查看当前会话的服务器IP和端口(注意如果使用缺省方式登录则不会显示信息)
select inet_server_addr(),inet_server_port();
3.查看当前会话的后台进程ID
select sys_backend_pid();
#方法二
\! ps -ef|grep 30343|grep -v grep
kingbase(人大金仓)数据库的常用知识点与简单巡检_第48张图片
查看数据库中的连接信息
kingbase(人大金仓)数据库的常用知识点与简单巡检_第49张图片
查看所有会话执行的SQL信息
1.设置参数track_activities为on
show track_activities;
2.查看所有会话执行的SQL信息
select datname,usename,client_addr,client_port from sys_stat_activity;
kingbase(人大金仓)数据库的常用知识点与简单巡检_第50张图片
3.只看正运行的SQL信息
select datname,usename,query,state^Jfrom sys_stat_activity ^Jwhere state not like 'idle%';
kingbase(人大金仓)数据库的常用知识点与简单巡检_第51张图片
查看耗时较长的SQL
select current_timestamp - query_start as runtime,datname,usename,pid,query
from sys_stat_activity
where state != 'idle'
order by 1 desc;
kingbase(人大金仓)数据库的常用知识点与简单巡检_第52张图片
事务阻塞绘画的简单处理
一、关闭自动提交后删除记录
select sys_backend_pid();
kingbase(人大金仓)数据库的常用知识点与简单巡检_第53张图片
二、删除相同记录时发生锁等待事件
kingbase(人大金仓)数据库的常用知识点与简单巡检_第54张图片
三、查询会话状态
select datname,usename,query,wait_event,pid from sys_stat_activity where datname='test';
kingbase(人大金仓)数据库的常用知识点与简单巡检_第55张图片
后续更精彩......

你可能感兴趣的:(数据库,数据库)