基础
UOS
统信的操作系统
– A结尾的是基于龙蜥 OpenAnolis
– D结尾的是基于 debian 10
– E结尾的是基于欧拉 OpenEuler安装后可以通过/etc下的文件来分辨
– A版安装好以后可以 cat /etc/redhat-release
– D版安装好以后可以 cat /etc/debian_version
– E版安装好以后可以 cat /etc/UnionTech-release问题处理
- 登录出问题时,通过快捷键CTRL+ATL+F2,进入终端可以参看错误
SSH登录
- 开启端口和root登录(/etc/ssh/sshd_config)
Port=22 PermitRootLogin yes
- 开启SSH服务
sudo /etc/init.d/sshd start
- 如果没有,需要安装
sudo apt-get install openssh-server -y
- 开启端口和root登录(/etc/ssh/sshd_config)
安装msodbcsql
– 通过脚本安装有问题,无法更新#下载 curl https://packages.microsoft.com/debian/10/prod/pool/main/m/msodbcsql18/msodbcsql18_18.3.2.1-1_amd64.deb --output msodbcsql18.deb #安装 sudo dpkg -i msodbcsql18.deb
问题
– SSL routines:ssl_choose_client_version:unsupported protocol
新系统升级了 openssl 的版本,提高了最低安全协议的版本,应该是为了安全,低版本的 ssl 不再被支持。/etc/ssl/openssl.cnf 修改MinProtocol项为TLSv1
[default_conf]
ssl_conf = ssl_sect
[ssl_sect]
system_default = system_default_sect
[system_default_sect]
MinProtocol = TLSv1
CipherString = DEFAULT@SECLEVEL=1
达蒙数据库
- 下载测试版
https://eco.dameng.com/download/
选择readhat7
数据库安装
安装前准备
- 新建 dmdba 用户
##创建用户所在的组,命令如下: groupadd dinstall -g 2001 ##创建用户,命令如下: useradd -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba ##修改用户密码,命令如下: passwd dmdba
- 修改文件打开最大数
vi /etc/security/limits.conf ##在最后需要添加如下配置: dmdba soft nice 0 dmdba hard nice 0 dmdba soft as unlimited dmdba hard as unlimited dmdba soft fsize unlimited dmdba hard fsize unlimited dmdba soft nproc 65536 dmdba hard nproc 65536 dmdba soft nofile 65536 dmdba hard nofile 65536 dmdba soft core unlimited dmdba hard core unlimited dmdba soft data unlimited dmdba hard data unlimited
- 目录规划
## 数据库安装目录 /home/dmdba ##实例保存目录 mkdir -p /dmdata/data ##归档保存目录 mkdir -p /dmdata/arch ##备份保存目录 mkdir -p /dmdata/dmbak
- 修改目录权限
##新建的路径目录权限的用户修改为 dmdba,用户组修改为 dinstall chown -R dmdba:dinstall /dmdata/data chown -R dmdba:dinstall /dmdata/arch chown -R dmdba:dinstall /dmdata/ ##给路径下的文件设置 755 权限。命令如下: chmod -R 755 /dmdata/data chmod -R 755 /dmdata/arch chmod -R 755 /dmdata/dmbak
- 安装Java
sudo apt-get install openjdk-11-jdk ## 设置Java环境 sudo vi /etc/environment JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 DM_JAVA_HOME=$JAVA_HOME
- 新建 dmdba 用户
安装
#挂载镜像 mount -o loop dm8_20240116_x86_rh7_64.iso /mnt su - dmdba cd /mnt # 不带参数为图形模式,需要安装java环境 ./DMInstall.bin -i
快速入门
达梦要求高IO性能的硬盘
缺省端口号5236
初始化数据库
su - dmdba cd dmdbms/bin # CHARSET 0、1、2。0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR。缺省值为 0 ./dminit path=/dmdata/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=0 DB_NAME=OPMDB INSTANCE_NAME=OPMDB # 生成服务。到/home/dmdba/dmdbms目录 cd .. sudo ./script/root/dm_service_installer.sh -t dmserver -dm_ini /dmdata/data/OPMDB/dm.ini -p OPMDB #启用/开始 sudo systemctl enable DmServiceOPMDB.service sudo systemctl start DMServiceOPMDB.service #图形模式(dmdba用户下,没有设置DISPLAY=:0) dmdbms/tool/dbca.sh # 可以生成数据库实例,手动生成数据库服务
创建表空间
su - dmdba cd dmdbms/bin ./disql SYSDBA/SYSDBA \`create_tablespace_uniic.sql # create_tablespace_uniic.sql内容为 -- 创建表空间 create tablespace uniic datafile '/dmdata/data/UniDB/UNIIC.DBF' size 128 autoextend on next 100; -- 创建用户 create user UNIFOUNDIC identified by "Unifound808&" hash with SHA512 salt; -- 设置用户对应表空间 alter user UNIFOUNDIC default tablespace uniic; -- 赋予用户数据库权限 grant "DBA","PUBLIC","RESOURCE","SOI" to "UNIFOUNDIC"; exit
DM管理工具(tool/manage)
- 启动manager异常时,可能在dmdba用户下,没有设置DISPLAY=:0
使用SYSDBA(密码SYSDBA)建立连接,用户\管理用户\创建用户 CCMADMIN
- 启动manager异常时,可能在dmdba用户下,没有设置DISPLAY=:0
/etc/odbcinst.ini
[DM8 ODBC DRIVER] Description = ODBC DRIVER FOR DM8 Driver = /lib/libdodbc.so
/etc/odbc.ini
[dm] Description = DM ODBC DSN Driver = DM8 ODBC DRIVER SERVER = localhost TCP_PORT = 5236
$DM_HOME/bin要加到使用ODBC功能的系统路径中(LD_LIBRARY_PATH),否则会导致libdodbc.so(上面的Driver路径要指向数据库安装路径中的drivers/odbc,也可以将此文件复制到/lib下)无法打开(依赖库在$DM_HOME/bin目录下)。
[Driver Manager]Can't open lib '/home/dmdba/dmdbms/drivers/odbc/libdodbc.so' : file not found
In /etc/envrionment添加
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/dmdba/dmdbms/bin
以上方法可行性时,将环境变量设置放到opmserver.service文件中,在[Service]中添加
[Service]
Environment="LD_LIBRARY_PATH=/home/dmdba/dmdbms/bin"
创建表空间只能在dmdba用户目录下才可以,否则会创建不成功
创建管理用户CCMAdmin,绑定表空间OPMDB
使用CCMAdmin
数据库执行sql语句,例如insert 语句,发现查询不到数据。需要submit(提交)才能执行完成,这与sqlServer的sql语句存在一点差异。[在达蒙管理端(manager)执行sql语句插入时,必须submit(提交/刷新)]
tblCurriculum 的字段Class生成索引时出错
其他
一个实例,一个服务,实例之间各自独立
卸载
./uninstall.sh -i
集成到Spring
dm库使用8.1.2.141
sql语句
安装unixodbc
sudo apt-get install unixodbc
安装mssql驱动
参考下面的MS Server ODBC驱动安装.
安装完成自动在/etc/odbcinst.ini文件中生成驱动块[ODBC Driver 17 for SQL Server] Description=Microsoft ODBC Driver 17 for SQL Server Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.8.so.1.1 UsageCount=1
配置数据源(修改/etc/odbc.ini)
[116.62.172.199] Driver=ODBC Driver 17 for SQL Server Description= SQL Server DSN Server=116.62.172.199 Port=1433 Database=OPMDB TDS_Version=8.0
其中Driver为上一节驱动名, Server和Port分别为数据库地址和端口.[]内的为DSN(数据源)名称,用于配置连接API中DSN
ODBC驱动安装
在Linux下使用ODBC连接SQL Server数据库,需要进行以下几个步骤:
安装ODBC驱动程序
Linux下可以使用FreeTDS或unixODBC驱动程序连接SQL Server数据库,需要先安装相应的驱动程序。可以使用以下命令进行安装: - FreeTDS:sudo apt-get install freetds-dev
- unixODBC:sudo apt-get install unixodbc unixodbc-dev
配置ODBC数据源
需要使用ODBC配置文件(odbc.ini)配置ODBC数据源,可以使用以下命令打开配置文件: sudo nano /etc/odbc.ini
在文件中添加以下内容:
[SQLServerDSN]
Driver=FreeTDS
Description=SQL Server DSN
Server=<server name or IP address>
Port=<port number>
Database=<database name>
TDS_Version=8.0
其中,SQLServerDSN
是数据源名称,Driver
是ODBC驱动程序名称,Server
是SQL Server的名称或IP地址,Port
是SQL Server的端口号,Database
是要连接的数据库名称,TDS_Version
是FreeTDS的版本号。
配置ODBC驱动程序
需要使用ODBC驱动程序配置文件(freetds.conf或odbcinst.ini)配置ODBC驱动程序,可以使用以下命令打开配置文件: sudo nano /etc/freetds/freetds.conf
在文件中添加以下内容:
[SQLServerDSN]
host = <server name or IP address>
port = <port number>
tds version = 8.0
其中,SQLServerDSN
是数据源名称,host
是SQL Server的名称或IP地址,port
是SQL Server的端口号,tds version
是FreeTDS的版本号。
MS Server ODBC驱动安装
安装 Microsoft ODBC Driver for SQL Server (Linux)
Ubuntu
运行 “sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18”时会有对话框进行确认,只能在Ubuntu环境中运行(ssh工具不行)
安装完成后,在/etc/odbcinst.ini文件中会增加驱动块
Microsoft ODBC 18
Ubuntu 18.04 20.04 22.04 23.04
if ! [[ "18.04 20.04 22.04 23.04" == *"$(lsb_release -rs)"* ]]; then echo "Ubuntu $(lsb_release -rs) is not currently supported."; exit; fi curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list sudo apt-get update sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18 # optional: for bcp and sqlcmd sudo ACCEPT_EULA=Y apt-get install -y mssql-tools18 echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc source ~/.bashrc # optional: for unixODBC development headers sudo apt-get install -y unixodbc-dev
:
####### Microsoft ODBC 17
Ubuntu 16.04 18.04 20.04 22.04if ! [[ "16.04 18.04 20.04 22.04" == *"$(lsb_release -rs)"* ]]; then echo "Ubuntu $(lsb_release -rs) is not currently supported."; exit; fi curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list sudo apt-get update sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17 # optional: for bcp and sqlcmd sudo ACCEPT_EULA=Y apt-get install -y mssql-tools echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc # optional: for unixODBC development headers sudo apt-get install -y unixodbc-dev
备注(解决不能通过远程工具安装的问题):可以将设置环境变量“ACCEPT_EULA”替换为设置 debconf 变量“msodbcsql/ACCEPT_EULA”:echo msodbcsql17 msodbcsql/ACCEPT_EULA boolean true | sudo debconf-set-selections