百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

「JAVA」Linux环境下KDB数据库的安装

sinye56 2024-11-18 16:42 17 浏览 0 评论

本文主要介绍linux环境下的安装,使用Centos7.0

1. 确认安装环境

确认安装的操作系统版本,以及是否满足安装手册中提及的安装环境。此处使用Centos 7.0,使用 7 的时候可能会有问题。

2. License申请

需要知道本机的hostname,找我们申请license,需要5分钟就可以提供license。

3. 确认内核参数

3.1.LINUX的需要更改的内核参数值:

这些值将会在后续过程中修改

semmsl 10000 /proc/sys/kernel/sem

semmns 32000

semopm 10000

semmni 10000

shmall 2097152 /proc/sys/kernel/shmall

shmmax 物理内存的一半(byte) /proc/sys/kernel/shmmax

shmmni 4096 /proc/sys/kernel/shmmni

file-max 65536 /proc/sys/fs/file-max

ip_local_port_range 1024 ~ 65000 /proc/sys/net/ipv4/ip_local_port_rang

3.2更改内核参数

修改上面的值,首先查看当前系统的参数

# sysctl –a

kernel parameter 静态变更

# vi /etc/sysctl.conf

fs.file-max = 65536

kernel.sem = 10000 32000 10000 10000

kernel.shmmax = 1073741824

激活修改

# sysctl –p #进行动态激活

3.3 安装JDK

检测系统的JDK情况,如果JDK在1.5.17以上就不用安装了,否则需要安装JDK。

检测centos是否已经安装了jdk

查看版本是否安装如下:


产生如上信息说明已经安装了JDK,安装sun公司的jdk最好将openJDK卸载。

4. 手动安装K-DB

4.1 创建组合用户

创建KDB相关用户和组,并在 home 目录下添加 kdb用户目录

# groupadd dba

# useradd -d /home/kdb -g dba -p kdb -s /bin/bash kdb

4.2 配置参数文件在.bash_profile文件中

切换到kdb用户, 在kdb的家目录(/home/kdb)中修改下面文件

[root@localhost home]# su kdb

[kdb@localhost home]$ cd /home/kdb

[kdb@localhost ~]$

# 修改KDB用户的配置文件

[kdb@localhost~]$ vi .bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH

export PATH

####### SET JAVA ENVIRONMENT ####

export JAVA_HOME=/usr/local/java/jdk1.8.0_144

export PATH=$JAVA_HOME/bin:$PATH

##############SET KDB###################

export KD_HOME=/home/kdb/kdb11

export KD_SID=kdb

export TB_HOME=/home/kdb/kdb11

export PATH=$PATH:$KD_HOME/bin:$KD_HOME/client/bin

export LD_LIBRARY_PATH=$KD_HOME/lib:$KD_HOME/client/lib

export KD_SQLPATH=/home/kdb/kdb11

####### KDB alias ########

alias kdhome='cd $KD_HOME'

alias kdbin='cd $KD_HOME/bin'

alias kdlog='cd $KD_HOME/instance/$KD_SID/log'

alias kdcfg='cd $KD_HOME/config'

alias kdcfgv='vi $KD_HOME/config/$KD_SID.tip'

alias kdcli='cd ${KD_HOME}/client/config'

alias kdcliv='vi ${KD_HOME}/client/config/kddsn.kdr'

alias kdi='cd ~/kdinary'

alias clean='kddown clean'

alias dba='kdsql sys/kdb'

alias tracef='tail -f $KD_HOME/instance/$KD_SID/log/tracelog/trace.log'

设置完成,将设置生效

[kdb@localhost~]$ source .bash_profile

4.3 开始安装数据库

CP 安装文件和license.xml 到安装的目录(kdb用户的.bash_profile中设置的KD_HOME)并更改权限


[kdb@localhost~]$ tar -xvf inspur-bin-kdb-linux64-91694-opt-tested.tar

kdb11/bin/alterdd.sh

kdb11/bin/kdprof

kdb11/client/win32/bin/kdodbc_driver_installer_11_32.exe

kdb11/client/win32/lib/EntLibContrib.Data.Inspur.dll

kdb11/client/bin/kderr

kdb11/client/bin/gw4db2_v9

kdb11/client/bin/kdMigrator2.zip

kdb11/scripts/pkg/pkg_dbms_alert.sql

kdb11/scripts/pkg/_pkg_dbms_metadata.tbw

kdb11/scripts/pkg/func_xmlidx.sql

kdb11/license/oss_licenses/Apache_v2.txt

kdb11/nls/zoneinfo/timezone_be.dat

kdb11/nls/zoneinfo/timezone_le.dat

4.4 生成参数文件及监听文件

首先即切换到KDB的安装目录

[kdb@localhost~]$ cd $KD_HOME/config

接着执行如下命令

[kdb@localhostconfig]$ ./gen_tip.sh

Using KD_SID "kdb"

/home/kdb/kdb11/config/kdb.tip generated

/home/kdb/kdb11/config/psm_commands generated

/home/kdb/kdb11/client/config/kddsn.tbr generated.

Running client/config/gen_esql_cfg.sh

Done.

如果继续默认安装,则数据文件就会被安装在KD_HOME下的database目录下面,这里我们增加一个参数使数据文件日志控制文件都安装在这个目录下,便于修护。

[kdb@localhost~]$ pwd

/home/kdb

[kdb@localhostinspur]$ mkdir kddata

[kdb@localhost~]$ cp license.xml $KD_HOME/license/

[kdb@localhost~]$ cd $KD_HOME/config

[kdb@localhostconfig]$ vi kdb.tip

DB_NAME=kdb

LISTENER_PORT=8629

# 修改部分

CONTROL_FILES="/home/kdb/kddata/c1.ctl"

#CERTIFICATE_FILE="/home/kdb/inspur/config/svr_wallet/kdb.crt"

#PRIVKEY_FILE="/home/kdb/inspur/config/svr_wallet/kdb.key"

#WALLET_FILE="/home/kdb/inspur/config/svr_wallet/WALLET"

MAX_SESSION_COUNT=20

TOTAL_SHM_SIZE=512M

MEMORY_TARGET=1G

# 添加部分

DB_CREATE_FILE_DEST="/home/kdb/kddata"

4.5 启动数据库到nomount阶段

[kdb@localhostconfig]$ kdboot nomount

Listener port = 8629

Inspur K-DB 1 SP1

Inspur K-DB instance started up (NOMOUNT mode).

在运行的过程中可能会遇到如下错误提示

kdsvr: error while loading shared libraries: libkdclnt.so: cannot open shared object file: No such file or directory

这有可能是因为在root与kdb来回切换的过程中 `bash_profile` 失效,这是可以重新让文件生效基本上就可以解决

source ~/.bash_profile

4.6 建库

按照上述的方式启动之后,就需要连接 kdb 进行数据库创建

[kdb@localhostconfig]$ kdsql sys/kdb

kdSQL 1 SP1

Connected to Inspur K-DB.

接下来在 SQL 命令下进行数据的创建

SQL>

create database "kdb" --数据库名

user sys identified by kdb --sys的密码

maxinstances 8

maxdatafiles 1024

character set UTF8

NATIONAL CHARACTER SET UTF16

logfile group 1 ('redo11.log')

size 1024M,

group 2 ('redo21.log')

size 1024M,

group 3 ('redo31.log')

size 1024M

maxloggroups 255

maxlogmembers 8

archivelog

datafile 'system01.dtf'

size 1024M

DEFAULT TABLESPACE USR

datafile 'usr01.dtf'

size 1024M

DEFAULT TEMPORARY TABLESPACE TEMP

tempfile 'temp01.dtf' size 4096M

extent management local autoallocate

undo tablespace UNDO0

datafile 'undo00.dtf'

size 4096M

extent management local autoallocate;

在常见的过程中可能会遇到 `c1.ctl` 无法创建的问题

TBR-1001: Unable to create file /home/kdb/kddata/c1.ctl.

这个可能是因为,在第一次创建的时候没有成功,但是 `c1.ctl` 已经存在的,因此只需要将之前的文件删除即可。

4.7 启动数据库到OPEN阶段

退出SQL名利机界面

SQL> exit

Disconnected.


正常启动kdb

[kdb@localhostconfig]$ kdboot

Listener port = 8629

Inspur K-DB 1 SP1

Inspur K-DB instance started up (NORMAL mode).

4.8 执行system.sh脚本生成数据库所需要的数据字典

切换到脚本目录,然后运行 `system.sh` 脚本

[kdb@localhostconfig]$ cd $ KD_HOME/scripts

[kdb@localhostscripts]$ ./system.sh

Enter SYS password:

kdb # 此密码一定要和创建数据库时的密码一样

Enter SYSCAT password:

syscat # 此处的密码一定要输入syscat

Creating the role DBA...

Create default system users & roles?(Y/N):

y

Creating system users & roles...

Creating virtual tables(1)...

Creating virtual tables(2)...

Granting public access to _VT_DUAL...

Creating the system generated sequences...

Creating internal dynamic performance views...

Creating outline table...

Creating system tables related to dbms_job...

Creating system tables related to dbms_lock...

Creating system packages:

Running /home/kdb/kdb11/scripts/pkg/pkg_standard.sql...

Running /home/kdb/kdb11/scripts/pkg/pkg_standard_extension.sql...

Running /home/kdb/kdb11/scripts/pkg/pkg_seaf.sql...

Running /home/kdb/kdb11/scripts/pkg/pkg_dbms_debug_jdwp.sql...

Running /home/kdb/kdb11/scripts/pkg/pkg_dbms_expression.sql...

Running /home/kdb/kdb11/scripts/pkg/pkg_dbms_xmlgen.sql...

Creating packages for sql:

Running /home/kdb/kdb11/scripts/pkg/pkg_dbms_types.sql...

Running /home/kdb/kdb11/scripts/pkg/pkg_dbms_sql.sql...

Creating packages for verification:

Running /home/kdb/kdb11/scripts/pkg/pkg_dbms_verify.sql...

Creating public synonyms for system packages...

Creating auxiliary tables used in static views...

Create system tables related to profile?(Y/N):

y

Creating system tables related to profile...

Creating static views...

Creating static view descriptions...

Creating system tables related to statistics...

Creating packages for statistics:

Running /home/kdb/kdb11/scripts/pkg/pkg_sys_util.sql...

Running /home/kdb/kdb11/scripts/pkg/pkg_dbms_stats_internal.sql...

Running /home/kdb/kdb11/scripts/pkg/pkg_dbms_stats.sql...

Register dbms_stats job to Job Scheduler?(Y/N):

y

Registering dbms_stats job to Job Scheduler...

Creating packages for log errors:

Running /home/kdb/kdb11/scripts/pkg/pkg_dbms_errlog.sql...

Creating packages for mview:

Running /home/kdb/kdb11/scripts/rewrite_table.sql...

Creating packages for text:

Running /home/kdb/kdb11/scripts/pkg/pkg_text.sql...

Creating remaining public synonyms for system packages...

Running /home/kdb/kdb11/scripts/iparam_desc_gen.sql...

Running /home/kdb/kdb11/scripts/trace_event_desc_gen.sql...

Creating dynamic performance views...

Creating dynamic performance view descriptions...

Check APM status..

Stop APM

Create APM tables?(Y/N):

y

Dropping tables used in APM...

Creating auxiliary tables used in APM...

Replenish APM Tables if Updates Exist

Creating internal system tables...

Creating packages for sph:

Running /home/kdb/kdb11/scripts/pkg/pkg_dbms_sph.sql...

Done.

For details, check /home/kdb/kdb11/instance/kdb/log/system_init.log.

检查是否启动

[kdb@kdbdomain scripts]$ ps -ef |grep kdsvr

kdb 1755 1 0 00:04 pts/0 00:00:00 kdsvr -t NORMAL -SVR_SID kdb

kdb 1757 1755 0 00:04 pts/0 00:00:00 kdsvr_TBMP -t NORMAL -SVR_SID kdb

kdb 1758 1755 6 00:04 pts/0 00:00:14 kdsvr_WP000 -t NORMAL -SVR_SID kdb

kdb 1759 1755 0 00:04 pts/0 00:00:00 kdsvr_WP001 -t NORMAL -SVR_SID kdb

kdb 1760 1755 0 00:04 pts/0 00:00:00 kdsvr_AGNT -t NORMAL -SVR_SID kdb

kdb 1761 1755 0 00:04 pts/0 00:00:00 kdsvr_DBWR -t NORMAL -SVR_SID kdb

kdb 1762 1755 0 00:04 pts/0 00:00:00 kdsvr_RECO -t NORMAL -SVR_SID kdb

kdb 2764 1471 0 00:08 pts/0 00:00:00 grep kdsvr

检查数据库是否正常

[kdb@kdbdomain scripts]$ kdsql sys/kdb

SQL> ls

HS$_FDS_CLASS_DATE_UK1 INDEX

HS$_FDS_CLASS_PK INDEX

HS$_FDS_CLASS_UK1 INDEX

HS$_FDS_INST_PK INDEX

...

_SYS_CONTEXT TABLE

_TPR_ACTIVE_SESSION_HISTORY TABLE

_TPR_BASELINE TABLE

_TPR_FILESTAT TABLE

_TPR_FILESTAT_SAVE TABLE

...

_SCHEDULER_CHAIN_STEPS_INTERNAL VIEW

_SCHEDULER_OBJECTS_INTERNAL VIEW

_SCHEDULER_RULE_CTX_INTERNAL VIEW

_SCHEDULER_STEP_CTX_INTERNAL VIEW


看到以上信息说明数据库创建成功。

注意:如果有信息,则说明执行成功;如果没有,则不成功,重新执行sytem.sh即可,其中安装可以查看system_init.log。平时的数据库运维只要查看下面的日志。

[kdb@localhos]$tail -f $KD_HOME/instance/$KD_SID/log/tracelog/trace.log

相关推荐

程序员:JDK的安装与配置(完整版)_jdk的安装方法

对于Java程序员来说,jdk是必不陌生的一个词。但怎么安装配置jdk,对新手来说确实头疼的一件事情。我这里以jdk10为例,详细的说明讲解了jdk的安装和配置,如果有不明白的小伙伴可以评论区留言哦下...

Linux中安装jdk并配置环境变量_linux jdk安装教程及环境变量配置

一、通过连接工具登录到Linux(我这里使用的Centos7.6版本)服务器连接工具有很多我就不一一介绍了今天使用比较常用的XShell工具登录成功如下:二、上传jdk安装包到Linux服务器jdk...

麒麟系统安装JAVA JDK教程_麒麟系统配置jdk

检查检查系统是否自带java在麒麟系统桌面空白处,右键“在终端打开”,打开shell对话框输入:java–version查看是否自带java及版本如图所示,系统自带OpenJDK,要先卸载自带JDK...

学习笔记-Linux JDK - 安装&配置

前提条件#检查是否存在JDKrpm-qa|grepjava#删除现存JDKyum-yremovejava*安装OracleJDK不分系统#进入安装文件目...

Linux新手入门系列:Linux下jdk安装配置

本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。注意:L...

测试员必备:Linux下安装JDK 1.8你必须知道的那些事

1.简介在Oracle收购Sun后,Java的一系列产品就被整合到Oracle官网中,打开官网乍眼一看也不知道去哪里下载,还得一个一个的摸索尝试,而且网上大多数都是一些Oracle收购Sun前,或者就...

Linux 下安装JDK17_linux 安装jdk1.8 yum

一、安装环境操作系统:JDK版本:17二、安装步骤第一步:下载安装包下载Linux环境下的jdk1.8,请去官网(https://www.oracle.com/java/technologies/do...

在Ubuntu系统中安装JDK 17并配置环境变量教程

在Ubuntu系统上安装JDK17并配置环境变量是Java开发环境搭建的重要步骤。JDK17是Oracle提供的长期支持版本,广泛用于开发Java应用程序。以下是详细的步骤,帮助你在Ubuntu系...

如何在 Linux 上安装 Java_linux安装java的步骤

在桌面上拥抱Java应用程序,然后在所有桌面上运行它们。--SethKenlon(作者)无论你运行的是哪种操作系统,通常都有几种安装应用程序的方法。有时你可能会在应用程序商店中找到一个应用程序...

Windows和Linux环境下的JDK安装教程

JavaDevelopmentKit(简称JDK),是Java开发的核心工具包,提供了Java应用程序的编译、运行和开发所需的各类工具和类库。它包括了JRE(JavaRuntimeEnviro...

linux安装jdk_linux安装jdk软连接

JDK是啥就不用多介绍了哈,外行的人也不会进来看我的博文。依然记得读大学那会,第一次实验课就是在机房安装jdk,编写HelloWorld程序。时光飞逝啊,一下过了十多年了,挣了不少钱,买了跑车,娶了富...

linux安装jdk,全局配置,不同用户不同jdk

jdk1.8安装包链接:https://pan.baidu.com/s/14qBrh6ZpLK04QS8ogCepwg提取码:09zs上传文件解压tar-zxvfjdk-8u152-linux-...

运维大神教你在linux下安装jdk8_linux安装jdk1.7

1.到官网下载适合自己机器的版本。楼主下载的是jdk-8u66-linux-i586.tar.gzhttp://www.oracle.com/technetwork/java/javase/downl...

window和linux安装JDK1.8_linux 安装jdk1.8.tar

Windows安装JDK1.8的步骤:步骤1:下载JDK打开浏览器,找到JDK下载页面https://d.injdk.cn/download/oraclejdk/8在页面中找到并点击“下载...

最全的linux下安装JavaJDK的教程(图文详解)不会安装你来打我?

默认已经有了linux服务器,且有root账号首先检查一下是否已经安装过java的jdk任意位置输入命令:whichjava像我这个已经安装过了,就会提示在哪个位置,你的肯定是找不到。一般我们在...

取消回复欢迎 发表评论: