Installing DM8 on Kylin 10

Kylin Linux Advanced Server V10 (Sword)

  1. Upload dm software.
~]# mkdir /soft
~]# scp dm8_20231109_x86_kylin10_64.iso root@192.168.3.192:/soft
~]# mount -t iso9660 -o loop /soft/dm8_20231109_x86_kylin10_64.iso /mnt/
  1. Create dm install user and directory.
~]# groupadd -g 1000 dinstall
~]# useradd -u 1000 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
~]# echo 'P@ssw0rd123' | passwd --stdin dmdba

~]# mkdir /dm8
~]# chown -R dmdba:dinstall /dm8
  1. Install dm software as dmdba user.
~]$ ll /mnt/
total 949396
-r-xr-xr-x 1 root root 2588819 Nov 9 2023 'DM8 Install.pdf'
-r-xr-xr-x 1 root root 969591871 Nov 9 2023 DMInstall.bin

~]$ /mnt/DMInstall.bin -i

# login as root, running the script
~]# /dm8/script/root/root_installer.sh
Move /dm8/bin/dm_svc.conf to /etc
Create the DmAPService service
Created symlink /etc/systemd/system/multi-user.target.wants/DmAPService.service → /usr/lib/systemd/system/DmAPService.service.
Finished to create the service (DmAPService)
Start the DmAPService service
  1. Set environment variables.
~]$ cat >>/home/dmdba/.bash_profile <<"EOF"
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
EOF
  1. Create dm instance.
# Login as dmdba
~]$ /dm8/bin/dminit help
~]$ /dm8/bin/dminit path=/dm8/data db_name=DMDB instance_name=PROD port_num=5237 sysdba_pwd=P@ssw0rd123 sysauditor_pwd=P@ssw0rd123 log_size=256
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2025-08-10
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL

log file path: /dm8/data/DMDB/DMDB01.log


log file path: /dm8/data/DMDB/DMDB02.log

write to dir [/dm8/data/DMDB].
create dm database success. 2025-07-27 11:03:53

# Login as root
~]# /dm8/script/root/dm_service_installer.sh -h
~]# /dm8/script/root/dm_service_installer.sh -t dmserver -p PROD -dm_ini /dm8/data/DMDB/dm.ini
Created symlink /etc/systemd/system/multi-user.target.wants/DmServicePROD.service → /usr/lib/systemd/system/DmServicePROD.service.
Finished to create the service (DmServicePROD)
  1. Start dm instance.
~]$ /dm8/bin/DmServicePROD start
Starting DmServicePROD: [ OK ]

~]$ /dm8/bin/disql sysdba/'"P@ssw0rd123"':5237

Server[LOCALHOST:5237]:mode is normal, state is open
login used time : 2.942(ms)
disql V8
SQL> select name,status$ from v$instance;

LINEID NAME STATUS$
---------- ---- -------
1 PROD OPEN

used time: 0.798(ms). Execute id is 60501.

TroubleShooting

When running DMInstall.bin -i, it shows that the max number of open files is too little.

Extract install files..........
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 26361
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 26361
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

The max number of open files is too little, suggest to set 65536 or more to number of open files.

Solution:

~]$ ulimit -Sn
1024
~]$ ulimit -Hn
65536

~]$ ulimit -SHn 65536
~]$ cat >>/etc/security/limits.d/99-dm8-limits.conf <<EOF
dmdba soft nofile 65536
dmdba hard nofile 65536
EOF

When running DMInstall.bin -i, it shows that the temp directory's size is too small

Installer Language:
[1]: 简体中文
[2]: English
Please select the installer's language [2]:
The Temp Directory's size is too small, please set the size more than 2G. Or set DM_INSTALL_TMPDIR environment variable to assign the temporary directory of DM Installer.

Solution:

a. Clean the /tmp trash files.

~]$ df -hT
tmpfs tmpfs 3.3G 2.1G 1.3G 63% /tmp

~]$ rm -rf /tmp/DMInstall

b. Set the DM_INSTALL_TMPDIR to a new location.

~]$ mkdir ~/tmp
~]$ cat >>~/.bash_profile <<EOF
export DM_INSTALL_TMPDIR=~/tmp
EOF
~]$ source ~/.bash_profile

libdmnsort.so: cannot open shared object file

~]$ /dm8/bin/dminit -i
/dm8/bin/dminit: error while loading shared libraries: libdmnsort.so: cannot open shared object file: No such file or directory

Solution:

~]$ cat >>/home/dmdba/.bash_profile <<"EOF"
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
EOF