神通数据库linux系统安装教程2022

今天给大家带来一篇神通数据库的按照,踩了很多坑,在这里分享一下。

神通数据库官网下载:试用版下载 - 神舟通用

因官方文档及网上大多数安装教程已经过时,和实际安装过程不符,故将本次安装过程记录下来(2022.07.02)

0.前期准备

硬件要求

最低配置:

• 客户端: CPU 主频 166MHz 以上,内存以上;

• 服务器端: CPU 主频 700MHz 以上,内存以上。

建议配置:

• CPU 主频 2.0GHz 以上,内存 512M 或更多

磁盘的要求

• 完全安装神通数据库大约需要 190M 的空间,服务器端的安装大约需要 100M,每创建一个数据库大

约需要 300M。 • 按照上面的磁盘空间占用情况,用户可以根据应用的规模估算磁盘所需的存储空间,建议保留 20% 以

上的硬盘剩余空间。

虚拟内存

• 至少需要 512MB(根据实际应用情况增加)。

操作系统的要求

• Windows (Windows 2000 及以上版本) 

• UNIX

• Linux

CentOS虚拟机配置

(本文Linux系统全部以CentOS-7.5-x86-1804为例)

1)使用yum安装需要虚拟机可以正常上网,yum安装前可以先测试下虚拟机联网情况

2)安装 epel-release

注:Extra Packages for Enterprise Linux是为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux。相当于是一个软件仓库,大多数rpm包在官方 repository 中是找不到的)

yum install -y epel-releas

如果出现PackageKit,就直接杀掉对应的进行(kill -9 进程号)

3)注意:如果Linux安装的是最小系统版,还需要安装如下工具;如果安装的是Linux桌面标准版,不需要执行如下操作

• net-tool:工具包集合,包含ifconfig等命令

yum install -y net-tools

• vim:编辑器

yum install -y vim 

4)关闭防火墙,关闭防火墙开机自启

systemctl stop firewalld

systemctl disable firewalld.service

注意:在企业开发时,通常单个服务器的防火墙是关闭的。公司整体对外会设置非常安全的防火墙

5)卸载虚拟机自带的JDK

rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps 

rpm -qa | grep -i java

• rpm -qa:查询所安装的所有rpm软件包

• grep -i:忽略大小写

• xargs -n1:表示每次只传递一个参数

• rpm -e –nodeps:强制卸载软件

6)安装JDK8

由于Oracle官网下载需要注册,我这里使用wget方式拉取安装

• 检查是否有安装wget

rpm -qa|grep "wget" 

• 若存在则移除,以下为移除命令

yum remove wget 

• 登录wget官网下载地址,下载最新的wget的rpm安装包到本地

下载地址:http://mirrors.163.com/centos/7/os/x86_64/Packages/

• 将下载的wget上传到服务器,安装wget

rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm

• 检查是否安装成功

rpm -qa|grep "wget" 

• 拉取JDK8

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz

• 解压jdk-8u131-linux-x64.tar.gz

tar -zxvf jdk-8u131-linux-x64.tar.gz

• 修改环境变量

vim /etc/profile

• 配置文件立即生效

source  /etc/profile

• 检查JDK是否安装成功

java -version

• 重启虚拟机

reboot

至此前期准备工作已做完

1.下载linux版安装包

进入官网,选择【神通数据库V7.0 - X86】下载:

因为是通过浏览器下载,过程较慢,请耐心等待

下载成功后,会获得名为ShenTong7.0_linux64.rar的压缩包,注意是rar压缩包,并非网上所说的zip压缩包

2.解压缩安装包

通过远程文件上传工具(我用的是FinalShell)将该压缩包上传至服务器后,需要解压缩,但是linux默认不支持rar解压缩

需要额外下载一个rar解压缩的命令包,下载网址:https://www.rarlab.com/download.htm

选择如图中所示的下载链接,下载后得到一个名为rarlinux-x64-6.1.b1.tar.gz的文件,将其上传至服务器

然后解压这个tar包

tar -xzvf rarlinux-x64-6.1.b1.tar.gz 

解压后进入其rar文件夹,执行编译make命令

cd rar 

make 

命令编译成功后可以尝试rar命令,会弹出相关命令提示

然后就可以用rar命令对神通数据库安装包进行解压

这里有个小坑,由于rar命令不常用,我用的-e参数(rar e ShenTong7.0_linux64.rar 

)进行解压,会缺少license文件夹导致后面无法启动神通数据库,这个问题耽误了半天的时间,最后才发现是解压的时候,用错了参数。

下面是错误的展示:

下面是正确的展示:

rar x ShenTong7.0_linux64.rar

到这里就需要注意了,网上及官方文档对于此处的安装方式有好多种,用到了setup.sh,setup.bin文件,st.propreties文件。

但是这些文件我们打开后傻眼了,都没有,这是第二个比较坑的地方。怎么办?不急。

首先我们的安装文件是setup,对,没有后缀,所以先要添加可执行权限

chmod +x setup

然后接下来就简单了,可以分为两种安装方式:自定义安装和默认安装

1)自定义安装

自定义安装会有多个选项,可以自定义安装的组件、数据库实例等等,但不建议初次安装时选择自定义安装

只需要执行setup文件

./ setup 

然后就会打印出选择语言的选项,选择语言后,就会打印出神通数据库的介绍,接下来的选项,自行选择即可

2)默认安装

初次安装建议使用默认安装,所有自定义选择的选项均已写好在auto-install.xml 文件中,打开这个文件查看安装路径和数据库名

里面的内容可以自定义修改,但初次安装不建议

默认安装加载 auto-install.xml 文件

故需要执行命令为:

./setup -f auto-install.xml 

注意:要加-f

执行后如图:

安装完后会看到 Installation finished 打印出来

3.启动实例

安装成功后,会在 /etc/init.d 文件夹下生成你所选择的数据实例服务,名为 oscardb_< 数据库实例名 >,如果是默认安装,应该为oscardb_OSRDBd

启动该服务

/etc/init.d/oscardb_OSRDBd start 

如果解压有问题,这里启动会失败

成功启动后如下图,虽然显示failed,但是这个是神通数据库的一个BUG,实际上是已经启动成功的

查看端口和进程状态

ps -ef | grep osc*

netstat -nltp

此时可以看到已经成功起起来了

4.连接数据库

在服务器上,神通提供了命令isql来与数据库进行连接,但是初次执行完默认安装后,该命令不可用,需要重启服务器才可以

isql -h 主机地址 -p 端口号 -u 用户名 

然后输入用户密码即可连接。

对于默认安装,参数如下:

• 默认端口:2003 

• 初始用户名:SYSDBA 

• 对应密码:szoscar55 

• 默认数据库实例名: OSRDB 

• 默认部署路径: /opt/ShenTong

不过一般不在服务器直连,神通也提供了远程图形化连接工具,需要安装神通数据库的Windows版,基本上是傻瓜式安装,安装后找到桌面的快捷方式,进入SQL交互工具

(SQL交互工具建议直接绕道,特别是高分辨率简直是不太友好)

三方客户端(如DBeaver,DataGrip)连接,在Win版本中下载解压后,jdbc目录下有驱动包oscarJDBC16.jar(数字可以代表版本,没具体研究)

以DataGrip为例:
新建连Driver,添加jdbc下的jar驱动包(class下拉会自动加载

新建oscar的连接:

默认端口:2003
初始用户名:SYSDBA
对应密码:szoscar55
默认数据库实例名: OSRDB

默认连接字符串:
jdbc:oscar://192.168.xxx.xxx:2003/osrdb

连接成功:

5.常见问题

1. 如何查看当前的神通数据库的版本号?

答:在【SQL 交互工具】中执行以下 SQL 语句可返回当前数据库的版本号:

SELECT version(); 

2. 如何获取“有哪些用户在使用数据库”?

答:在交互式 SQL 工具中执行以下 SQL 语句可以查看有哪些用户在使用数据库,并且可以看出各用户当前所做的操作:

SELECT * FROM V_SYS_SESSIONS; 

3. 在【SQL 交互工具】中能用 CREATE DATABASE 语句来创建数据库吗?

答:不推荐用户使用交互式 SQL 工具创建数据库,建议使用【数据库配置工具】来创建数据库。

4. 神通数据库是否支持表空间,可不可以在一个数据库中创建不同的表空间?

答:支持表空间,可以使用【DBA 管理工具】来创建和维护表空间,也可以通过 SQL 命令方式增加表空间,例如:

CREATE TABLESPACE ts1 DATAFILE '/home/oscar/odbs/osrdb/ts1.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M; 

详细的语法说明请参见神通数据库联机帮助。

5. 在神通数据库中给表建立索引时,索引名不能和表同名吗?

答:不能同名。神通数据库的“对象的命名规则”中说明“同一个模式下的表、视图、序列和索引不能同名”,具体见联机帮助中的“对象的命名规则”章节。

6. 如何执行 SQL 脚本文件?

答:在【SQL 交互工具】中提供了执行文件的功能,也可以在启动 isql 时使用 -i 选项,例如:

isql -h localhost -U sysdba/szoscar55 -i C:\select_version.sql 

从前期Linux准备到软件的安装、启动、第三方连接,至此结束。

公众号:漫话架构之美

大数据领域原创技术号,专注于大数据研究,包括 Hadoop、Flink、Spark、Kafka、Hive、HBase 等,深入大数据技术原理,数据仓库,数据治理,前沿大数据技术

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐