知识库

标准化实施手册及常见错误


人大金仓V8R6安装

<p>[TOC]</p> <h1>[点击官网下载](<a href="https://www.kingbase.com.cn/download/c_id/455.html">https://www.kingbase.com.cn/download/c_id/455.html</a> &quot;点击官网下载&quot;)</h1> <p>  注:人大金仓V8R3版和V8R6版跨度很大,导致两个版本的工具互不兼容。简单点说就是R3的库R6工具没法连,R6库R3也没法连。</p> <h1>单机版</h1> <h2>创建用户组&amp;安装目录</h2> <pre><code class="language-shell">groupadd kingbase useradd -g kingbase -m -d /home/kingbase -s /bin/bash kingbase passwd kingbase mkdir -p /risen/soft/kingbase/ES/V8R6 chown -R kingbase.kingbase /risen/soft/kingbase/</code></pre> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/a2ef0cd441ed34354d9642a9eff00834" alt="" /></p> <h2>上传安装文件启动脚本安装</h2> <p><strong>setup.sh脚本安装和install.bin手动安装一样</strong></p> <pre><code class="language-shell">mv license.dat setup/ setup.sh /home/kingbase chown -R kingbase.kingbase /home/kingbase su - kingbase # 切换至kingbase用户执行安装 ./setup.sh 是否接受此许可协议条款? (Y/N): y 输入“安装集”的号码,或按 &amp;lt;ENTER&amp;gt; 键以接受缺省值 : 1 选择授权文件路径: /home/kingbase/license.dat 选择安装路径: /risen/soft/kingbase/ES/V8R6/ 安装文件夹为: /risen/soft/kingbase/ES/V8R6 是否正确? (Y/N): y 数据库数据目录 (默认: /risen/soft/kingbase/ES/V8R6/data): 端口: (默认: 54321): 用户名 (默认: system): 请输入密码: 请输入密码: 请再次输入密码: 请再次输入密码: 输入您选择的号码,或按 &amp;lt;ENTER&amp;gt; 键以接受缺省值: 1 # UTF8 输入您选择的号码,或按 &amp;lt;ENTER&amp;gt; 键以接受缺省值: 2 # ORACLE 恭喜!KingbaseES V8 已成功地安装到:/risen/soft/kingbase/ES/V8R6</code></pre> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/258f750790298fc855892d5e4855d016" alt="" /> <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/d29cf238aea3d3d4f340c8277076b787" alt="" /> <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/c3701415a3499d3e4e31f6689f4f75aa" alt="" /> <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/7dec6cb41948ff2753a822650af293d5" alt="" /> <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/208e030e53e3d9e8aa5a071af0a75444" alt="" /> <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/f0be0cba62180e0c16d119e62d58c088" alt="" /> <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/3ae8119ddde2c415b11971349e00ca97" alt="" /> 注册系统服务&amp;工具连接测试</p> <pre><code class="language-shell">[kingbase@128 ~]$ exit # 使用root用户注册系统服务 [root@128 ~]# /risen/soft/kingbase/ES/V8R6/Scripts/root.sh</code></pre> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/12136f0eb9b5f815657075ade95df088" alt="" /> <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/6f944760ea68fd6315b38c092b891ef4" alt="" /></p> <h2>调优</h2> <pre><code class="language-shell">vim /risen/soft/kingbase/ES/V8R6/data/kingbase.conf max_connections=1000 # max_connections * work_mem大小(默认4M) &amp;lt; 服务器总内存 shared_buffers=RAM*0.25GB # RAM指内存,最大设置为64GB effective_cache_size=RAM*0.5GB work_mem = 10MB maintenance_work_mem = 1024MB checkpoint_timeout = 15min max_wal_size = 8GB min_wal_size = 2048MB checkpoint_completion_target = 0.8 max_locks_per_transaction = 1024 logging_collector = on log_destination= 'stderr' log_statement = 'none' log_lock_waits = on log_autovacuum_min_duration = 0 log_temp_files = 0 log_filename = 'kingbase-%d.log' log_truncate_on_rotation = on log_rotation_age = 1000 log_rotation_size = 100MB log_min_duration_statement = 1000 log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h' shared_preload_libraries= # 删掉此条目中的kdb_flashback ora_input_emptystr_isnull = off</code></pre> <h2>重启</h2> <pre><code class="language-shell">systemctl status kingbase8d.service systemctl start kingbase8d.service chkconfig kingbase8d on</code></pre> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/2e5810432fe423855df8efea2b9d27e5" alt="" /></p> <h2>卸载</h2> <p><strong>慎重操作!备份所有数据!!关闭数据库</strong></p> <pre><code class="language-shell">systemctl stop kingbase8d.service su - kingbase cd /risen/soft/kingbase/ES/V8R6/Uninstall/ ./Uninstaller</code></pre> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/1742672e73651522536f87dbb207ead4" alt="" /></p> <h1>集群版</h1> <h2>部署集群准备工作</h2> <pre><code class="language-shell"># 关于集群服务器的时间 使用data命令查看服务器时间,集群服务器各时间必须保持一致! # 确认所需命令CRON、ARPING是否存在 whereis cron 、whereis arping、whereis ip # 确认网关地址 route route # 集群各节点都能ping通网关 # 关于ssh cat /etc/ssh/sshd_config|grep Port 结果为22 # 若不是22需在install.conf文件标明【待测试】 vim /etc/ssh/sshd_config 修改PermitRootLogin为yes # 关于防火墙 systemctl stop firewalld systemctl disable firewalld 关闭防火墙或者提前把数据库端口开放出来 # 关于SElinux SElinux过于安全不用 sed -i '7s/enforcing/disabled/' /etc/selinux/config 服务器重启生效</code></pre> <h2>准备集训需要的安装文件</h2> <p>官网的集群版安装之后在/risen/soft/kingbase/ES/V8R6/DeployTools/zip/Lin64/下面,集群只需要这几个文件,和R3安装完全不一样。 <code>db.zip、install.conf、license.dat、trust_cluster.sh、V8R6_cluster_install.sh</code></p> <h2>创建用户组&amp;安装目录</h2> <p><code>需要部署集群的服务器提前手动创好kingbase用户及安装目录</code></p> <pre><code class="language-shell">groupadd kingbase useradd -g kingbase -m -d /home/kingbase -s /bin/bash kingbase passwd kingbase mkdir -p /risen/soft/kingbase/ES/V8R6 chown -R kingbase.kingbase /risen/soft/kingbase/</code></pre> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/d726433e6b15e0ad3e8e67750144549a" alt="" /></p> <h2>修改install.conf文件</h2> <pre><code class="language-shell">vim install.conf on_bmj=0 all_ip=(192.168.46.129 192.168.46.130) # 安装集群的服务器IP install_dir=&amp;quot;/risen/soft/kingbase/ES/V8R6&amp;quot; # 安装目录 zip_package=&amp;quot;/home/kingbase/db.zip &amp;quot; license_file=(license.dat) # 证书 db_user=&amp;quot;system&amp;quot; # 数据库管理员 db_password=&amp;quot;8TZ&amp;amp;gP3.e&amp;quot; # 数据库管理员密码 db_port=&amp;quot;54321&amp;quot; # 数据库端口 db_mode=&amp;quot;oracle&amp;quot; # 数据库模式 db_auth=&amp;quot;scram-sha-256&amp;quot; # 数据库加密方式 data_directory=&amp;quot;/risen/soft/kingbase/ES/V8R6/data&amp;quot; # 数据目录 trusted_servers=&amp;quot;192.168.46.2&amp;quot; # 网关 #virtual_ip=&amp;quot;172.29.66.110&amp;quot; net_device=(ens32 ens33) # 网卡 ipaddr_path=&amp;quot;/sbin&amp;quot; # 参考“集群准备工作第二条” arping_path=&amp;quot;&amp;quot; ping_path=&amp;quot;/bin&amp;quot; super_user=&amp;quot;root&amp;quot; execute_user=&amp;quot;kingbase&amp;quot; reconnect_attempts=&amp;quot;6&amp;quot; # 连接数据库失败之后重试次数以及ping网关失败之后重试次数,超过这个次数触发切机机制 reconnect_interval=&amp;quot;10&amp;quot; # 连接数据库失败以及ping网关失败的次数,超过这个次数触发切机机制 recovery=&amp;quot;automatic&amp;quot; # 数据库发生故障是否可以自动切机 ssh_port=&amp;quot;22&amp;quot; # sshd服务不是22端口这里改掉 use_check_disk='on' # 不区分大小写</code></pre> <h2>将安装文件属主改为kingbase并做互信登陆</h2> <pre><code class="language-shell">mv db.zip install.conf license.dat trust_cluster.sh V8R6_cluster_install.sh /home/kingbase chown -R kingbase.kingbase /home/kingbase/ sh /home/kingbase/trust_cluster.sh # 使用root用户执行 注意!手动做的免密无效,必须使用脚本,亲测。</code></pre> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/9035c2ce2938a3a4c10995ea3ca08ddb" alt="" /></p> <h2>切换kingbase用户执行安装</h2> <pre><code class="language-shell">su - kingbase ./V8R6_cluster_install.sh # 静等安装完成~~~~~</code></pre> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/af713a999f36ed5ea0a73350d36c8034" alt="" /> <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/c8c20f60d5dd10319de59fcd1beca3c0" alt="" /> <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/a93021a962149a84113fe831361bafca" alt="" /></p> <h3>查看集群节点信息</h3> <pre><code class="language-shell">cd /risen/soft/kingbase/ES/V8R6/kingbase/bin ./repmgr cluster show</code></pre> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/491915af2c3ded0919a876f7653fd31e" alt="" /></p> <h2>调优</h2> <pre><code class="language-shell">vim /risen/soft/kingbase/ES/V8R6/data/kingbase.conf # 集群以下参数根据实际情况调整后直接复制粘贴至文件末行生效 max_connections=1000 # max_connections * work_mem大小(默认4M) &amp;lt; 服务器总内存 shared_buffers=RAM*0.25GB # RAM指内存,最大设置为64GB effective_cache_size=RAM*0.5GB work_mem = 10MB maintenance_work_mem = 1024MB checkpoint_timeout = 15min max_wal_size = 8GB min_wal_size = 2048MB checkpoint_completion_target = 0.8 max_locks_per_transaction = 1024 logging_collector = on log_destination= 'stderr' log_statement = 'none' log_lock_waits = on log_autovacuum_min_duration = 0 log_temp_files = 0 log_filename = 'kingbase-%d.log' # 日志保留一个月 log_truncate_on_rotation = on log_rotation_age = 1000 log_rotation_size = 100MB log_min_duration_statement = 1000 log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h' shared_preload_libraries= # 删掉此条目中的kdb_flashback ora_input_emptystr_isnull = off</code></pre> <h2>优化后重启,工具连接测试</h2> <pre><code class="language-shell"># 可以优化好一个节点后拷贝文件至各节点 su - kingbase cd /risen/soft/kingbase/ES/V8R6/kingbase/bin ./sys_monitor.sh stop # 关闭数据库集群(任意节点都可执行) ./sys_monitor.sh start # 启动数据库集群 ./repmgr cluster show # 查看集群信息</code></pre> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/d668220157500f51b7a53b2ae808cd28" alt="" /> <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/6f0bf18d9f2cf3b8dc0da9414cd505a9" alt="" /> <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/d349abfe8197ed3976ba6181f592cdaf" alt="" /></p> <h2>逻辑备份</h2> <p>[点击下载单机版备份脚本](<a href="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/e94be2a032e828809fe896d73d843cf9">http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/e94be2a032e828809fe896d73d843cf9</a> &quot;[kingbase_r6单机.sh&quot;) 按照实际情况修改脚本以下内容即可:</p> <pre><code class="language-shell">kdb_home=&amp;quot;/risen/soft/kingbase/ES/V8R6/Server/&amp;quot; 安装目录 kdbback_dest=&amp;quot;/risen/data/kingbak/&amp;quot; 备份目录 kdb_user=&amp;quot;SYSTEM&amp;quot; 管理员名称 kdb_pass=&amp;quot;yyds@2022&amp;quot; 管理员密码 kdb_port=&amp;quot;54321&amp;quot; 数据库端口 kdb_host=&amp;quot;127.0.0.1&amp;quot; 数据库服务器IP kdb_list=&amp;quot;test1,test2,test3,&amp;quot; 需要备份的库,中间用英文逗号隔开 keep_time=&amp;quot;15&amp;quot; 备份保存时间,单位 天</code></pre> <p>[点击下载集群版备份脚本](<a href="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/6189319a7fbc75848fd6a36baed0af49">http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/6189319a7fbc75848fd6a36baed0af49</a> &quot;[kingbase_r6集群.sh&quot;) 1.同R3备份一样先修改脚本数据库相关信息 2.编辑数据目录下的sys_hba.conf文件,如下图所示将红圈中默认的<code>scram-sha-256</code>改为<code>trust</code>,(各个节点都要手动改),<code>sys_monitor.sh restart</code>重启集群 <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/6757fc9dd6009b41e66359dd693ba614" alt="" /></p> <h2>命令行备份还原</h2> <pre><code class="language-shell">----备份---- ./sys_dump -h 127.0.0.1 -p 54321 -U zjs_yyds_ztzz -v -f /home/kingbase/zjs_yyds_ztzz.dmp -Fc -n zjs_yyds_ztzz # -h IP,-p 端口号,若是本机还原且端口号是默认的54321则这两项均可省略不写 # -U 用户名 # -v 详细模式 # -f 文件名输出文件或目录名 # -F 输出文件格式 # c 在重新创建之前清除(删除)数据库对象 # -n 模式仅转储指定的模式 ----还原---- ./sys_restore -h 127.0.0.1 -p 54321 -U zjs_yyds_ztzz -v -d zjs_yyds_ztzz -j 4 /home/kingbase/zjs_yyds_ztzz.dmp # -v 详细模式 # -d 连接到数据库名称 # -j 使用多线程还原 默认是单线程,数据量较大可考虑多线程还原速度可以快些</code></pre> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/496bf5ac490f64d00b18563a5a922b95" alt="" /></p> <h6>备份还原常见报错:</h6> <ol> <li><code>ERROR: permission denied for table pg_authid</code>,凡是提示pg_xxx表没权限的,都能用重新授权这招解决: 解决方法:用管理员赋予该库用户权限即可<code>GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA pg_catalog TO 用户名;</code></li> <li> </li> </ol> <h2>卸载</h2> <p>  集群版没有卸载命令,把安装目录改名挪走甚至删除就是卸载。</p>

页面列表

ITEM_HTML