KingbaseES日常运维总结(二)

KingbaseV8实现多实例自启动方案:
在/etc/init.d/ 目录下,增加新的启动服务服务kingbase8d_new(可以根据kingbase8d修改)。
chkconfig kingbase8d_new on 实现服务开机自启动
===========================================================
begin 后面是否有分号是完全不同的两个概念。 没分号表示数据块开始,有分号表示事务的开始。
===========================================================
V7增加数据文件命令:
alter tablespace system add datafile(name=d1 filename=‘d1.dbf ’ size=1000 maxsize=16000 filegrowth=20);
切记:不能直接使用名称d1,要根据现场环境修改name,filename!!!
===========================================================
V8R3:
1. 先使用对象管理工具,备份数据库;
2. 停止数据库 数据库安装用户下,V8目录 :sys_ctl stop -D   data
3. 修改data名
Mv  /home/kingbase/KingbaseES/V8/data /home/kingbase/KingbaseES/V8/data2
4. 初始化data(不敏感)
initdb -U SYSTEM -W 12345678ab  --case-insensitive   -D /home/kingbase/KingbaseES/V8/data
####--case-insensitive参数为不敏感,如果改为敏感的,去掉此参数即可
5. 启动data
sys_ctl start -D /home/kingbase/KingbaseES/V8/data
6. 数据库启动停止命令
Kingbase用户下:
启动:sys_ctl start -D /home/kingbase/KingbaseES/V8/data
停止:sys_ctl stop -D /home/kingbase/KingbaseES/V8/data
Root用户下:
启动:service kingbase8d start
停止:service kingbase8d stop
===============================================================
更换license步骤:
1.把新的license传到和license.dat同级目录下;
2.mv license.dat license.dat.bak
3.mv 新的license文件名  license.dat
4.chmod命令将新的license.dat权限设置成之前license一样的;
5.启动数据库
===========================================================
文件乱码问题,可以通过修改vim 配置解决 --未测试是否可行
vim ~/.vimrc
set termencoding=utf-8
set encoding=utf8
set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030
保存退出,再次用vim打开文件即可
===========================================================
在装过V7版本的机器上安装V8集群时,报SSl版本错误的解决办法:
修改 V7/lib库下ssl和crypto两个文件,改名 即可
Mv libssl.so.1.0.0 bssl.so.1.0.0.bak
Mv libcrypto.so.1.0.0  libcrypto.so.1.0.0.bak
===========================================================
V8R6查询表级锁信息:
SELECT
a.datname,
locktype,
virtualtransaction,
transactionid,
nspname,
relname,
mode,
granted,
cast(date_trunc('second',query_start) AS timestamp) AS query_start
FROM
pg_locks
LEFT OUTER JOIN pg_class ON (pg_locks.relation = pg_class.oid)
LEFT OUTER JOIN pg_namespace ON (pg_namespace.oid = pg_class.relnamespace),
pg_stat_activity a
WHERE NOT pg_locks.pid = pg_backend_pid()
AND pg_locks.pid=a.pid
and pg_class.relname='t2';
V8R3查询表级锁信息:
SELECT
a.datname,
locktype,
virtualtransaction,
transactionid,
nspname,
relname,
mode,
granted,
cast(date_trunc('second',query_start) AS timestamp) AS query_start
FROM
sys_locks
LEFT OUTER JOIN sys_class ON (sys_locks.relation = sys_class.oid)
LEFT OUTER JOIN sys_namespace ON (sys_namespace.oid = sys_class.relnamespace),
sys_stat_activity a
WHERE NOT sys_locks.pid = sys_backend_pid()
AND sys_locks.pid=a.pid
and sys_class.relname='t2';
===========================================================
V8集群备机判断方法:
1、校验日志新旧
操作命令:在两台服务器/home/kingbase/cluster/clusterdb/db/bin路径下执行
./sys_controldata ../data
看下哪个节点的 最新检查点的重做日志文件: 000000010000000000000001 旧,旧的这台机器需手动指定备机,
2、手动指定备机
操作命令:
cd /home/kingbase/cluster/clusterdb/db/data
cp ../etc/recovery.done recovery.conf
3、重启集群
在任意一台服务器/home/kingbase/cluster/clusterdb/db/bin路径下执行
./kingbase_monitor.sh restart
===========================================================
V8R3用户被锁问题:
[kingbase@localhost data]$ ksql -U XXX TEST
Password for user XXX:
ksql: FATAL:  password authentication failed for user "XXX"
[kingbase@localhost data]$
[kingbase@localhost data]$ ksql -U XXX TEST
Password for user XXX:
ksql: FATAL:  The user "XXX" is locked.
提示用户XXX被锁定。
原因:
由于V8R3上参数:error_user_connect_times 和 error_user_connect_interval 被设置造成。
error_user_connect_times                #密码错误允许次数
error_user_connect_interval                #账户自动解锁时间,单位分钟。
解决方法:
1、使用 SYSTEM 用户通过命令行登录数据库,执行 enable user XXX;
2、使用SYSTEM用户修改 error_user_connect_times = 0 ,然后reload 数据库实例:
        ALTER SYSTEM set error_user_connect_times = 0;
        SELECT sys_reload_conf();
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值