一、安装前准备
1、关闭防火墙和selinx
##关闭防火墙
[root@~]# systemctl stop firewalld
##关闭开机自启
[root@~]# systemctl disable firewalld
##永久关闭 SELinux 需修改配置文件:/etc/selinux/config,修改 SELINUX=disabled
[root@localhost ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled #修改为 disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
2、关闭swap
数据库系统一般都对响应延迟比较敏感,如果使用 swap 代替内存,数据库服务性能必然不可接受。对于响应延迟极其敏感的系统来讲,延迟太大和服务不可用没有任何区别,比服务不可用更严重的是,swap 场景下进程一直处于活动状态,这就意味着系统一直不可用。
##临时关闭 swap 分区,重启后失效
[root@~]# swapoff -a
##永久关闭 swap 分区
[root@~]# sed -ri 's/.*swap.*/#&/' /etc/fstab
##重启操作系统
3、创建dmdba用户
groupadd dinstall
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba
4、修改文件打开最大数
vi /etc/security/limits.conf
dmdba hard nofile 65536
dmdba soft nofile 65536
dmdba hard stack 32768
dmdba soft stack 16384
5、挂载镜像
mount -o loop /opt/dm8_20230104_x86_rh6_64.iso /mnt
6、新建安装目录及赋权
mkdir /dm8
chown dmdba:dinstall -R /dm8/
chmod -R 755 /dm8
二、数据库安装
1、安装单机数据库
su - dmdba
cd /mnt/
./DMInstall.bin -i
按需求选择安装语言,默认为中文。本地安装选择【不输入 Key 文件】,选择【默认时区 21】。
选择【1-典型安装】,按已规划的安装目录 /dm8 完成数据库软件安装,不建议使用默认安装目录。
数据库安装大概 1~2 分钟,数据库安装完成后,显示如下界面。
数据库安装完成后,需要切换至 root 用户执行上图中的命令 /dm8/script/root/root_installer.sh
创建 DmAPService,否则会影响数据库备份。
/dm8/script/root/root_installer.sh
2、配置环境变量
cd /home/dmdba/
vim .bash_profile
#添加下面的配置
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
su - dmdba
source .bash_profile
三、配置实例
使用 dmdba 用户配置实例,进入到 DM 数据库安装目录下的 bin 目录中,使用 dminit 命令初始化实例。
dminit 命令可设置多种参数,可执行如下命令查看可配置参数。
/dm8/bin/dminit help
./dminit path=/dm8/data
需要注意的是页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 这四个参数,一旦确定无法修改,需谨慎设置。
extent_size 指数据文件使用的簇大小,即每次分配新的段空间时连续的页数。只能是 16 页或 32 页或 64 页之一,缺省使用 16 页。
page_size 数据文件使用的页大小,可以为 4 KB、8 KB、16 KB 或 32 KB 之一,选择的页大小越大,则DM 支持的元组长度也越大,但同时空间利用率可能下降,缺省使用 8 KB。
case_sensitive 标识符大小写敏感,默认值为 Y 。当大小写敏感时,小写的标识符应用双引号括起,否则被转换为大写;当大小写不敏感时,系统不自动转换标识符的大小写,在标识符比较时也不区分大小写,只能是 Y、y、N、n、1、0 之一。
charset 字符集选项。0 代表 GB18030;1 代表 UTF-8;2 代表韩文字符集 EUC-KR;取值 0、1 或 2 之一。默认值为 0。
例如:以下命令设置页大小为 32 KB,簇大小为 32 KB,大小写敏感,字符集为 utf_8,数据库名为 DMDB,实例名为 DBSERVER,端口为 5237。
./dminit path=/dm/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMDB INSTANCE_NAME=DBSERVER PORT_NUM=5237
四、注册服务
注册服务需使用 root 用户进行注册。使用 root 用户进入数据库安装目录的 /script/root 下,用户可根据自己的环境更改 dm.ini 文件的路径以及服务名
cd /dm8/script/root
./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini -p DMSERVER
如需为其他实例注册服务,需打开 dbca 工具,进行注册服务
cd /dm8/tool
./dbca.sh
五、服务程序的启动
systemctl start DmServiceDMSERVER.service
可前台启动,进入 DM 安装目录下的 bin 目录下,命令如下:
./dmserver /dm/data/DAMENG/dm.ini
该启动方式为前台启动,若想关闭数据库,则输入 exit 即可。
也可进入 DM 安装目录下的 bin 目录下,启动/停止/重启数据库,如下所示:
./DmServiceDMSERVER start/stop/restart
查看数据库状态,如下所示:
./DmServiceDMSERVER status
六、数据库的使用
1、登录disql
Linux 登录,进入数据库软件安装目录的 bin 目录下
[dmdba@centos7_6_33 ~]$ cd dmdbms/bin
[dmdba@centos7_6_33 bin]$ ./disql SYSDBA/SYSDBA@192.168.6.33:5236
服务器 [192.168.6.33:5236]: 处于普通打开状态
登录使用时间: 2.341(毫秒)
disql V8
如果密码含有特殊字符的情况下,需要使用双引号将密码包含进来,同时外层再使用单引号进行转移。
以用户名 test111,密码 123456@@@ 为例,如下所示:
[dmdba@centos7_6_33 bin]$ ./disql test111/'"123456@@@"'@192.168.6.33:5236
服务器 [192.168.6.33:5236]: 处于普通打开状态
登录使用时间: 2.190(毫秒)
disql V8
如果用户名、密码、端口号均为默认的情况下,可直接输入 ./disql,敲击回车按键,即可登录数据库。
2、disql的使用
(1)脚本使用
可在登录时直接同时进行脚本的执行,以脚本位置 /opt/dmdbms/test.sql 为例,如下所示:
[dmdba@centos7_6_33 ~]$ cd dmdbms/bin
[dmdba@centos7_6_33 bin]$ ./disql SYSDBA/SYSDBA@192.168.6.33:5236 start /opt/dmdbms/test.sql
也可以在登录成功后执行脚本,通过符号“`”和“start”命令加上脚本位置执行脚本,如下所示:
[dmdba@centos7_6_33 bin]$ ./disql SYSDBA/SYSDBA@192.168.6.33:5236
服务器 [192.168.6.33:5236]: 处于普通打开状态
登录使用时间: 2.708(毫秒)
disql V8
start /opt/dmdbms/test.sql
(2)参数使用
可通过设置 disql 的参数,来调整交互界面的显示效果,以达成输出的显示结果更加直观。通过 set 命令语法进行使用,off 表示该参数关闭,on 表示该参数开启。可以同时 SET 多个环境变量,如:Set heading on timing on。
SET ECHO OFF; --显示脚本中正在执行的 SQL 语句
SET FEEDBACK OFF; --显示当前 SQL 语句查询或修改的行数
SET HEADING ON; --显示列标题
SET LINESHOW OFF; --显示行号
SET PAGESIZE 1000; --设置一页有多少行数
SET TIMING OFF; --显示每个 SQL 语句花费的执行时间
SET TIME OFF; --显示系统的当前时间
SET LINESIZE 1000; --设置屏幕上一行显示宽度
SET SERVEROUTPUT ON; --在块中有打印信息时,是否打印,以及打印的格式
SET CHAR_CODE DEFAULT; --设置 SQL 语句的编码方式 GBK | GB18030 | UTF8 | DEFAULT
SET COLSEP '|'; --设置 DPI 语句句柄中游标的类型
SET KEEPDATA ON; --是否为数据对齐进行优化,或者保持数据的原始格式。
SET TRIMSPOOL ON; --设置 spool 文件中每行的结尾空格
SPOOL /home/dmdba/dbchk20200609.txt --输出到文件
SPOOL OFF; --结束输出文件
(3)disql常用命令
创建表空间 OA,文件为 OA.DBF,大小 128 MB
CREATE TABLESPACE OA DATAFILE 'OA.DBF' size 128;
创建用户 OA,密码 aaaaaaaaa,默认表空间和索引表空间均为 OA
CREATE USER OA IDENTIFIED by aaaaaaaaa DEFAULT TABLESPACE OA DEFAULT INDEX TABLESPACE OA;
授权 VIT 权限给 OA
GRANT VTI TO OA;
授权 PUBLIC 权限给 OA
GRANT PUBLIC TO OA;
授权 RESOURCE 权限给 OA
GRANT RESOURCE TO OA;
修改用户OA的密码为bbbbbbbbb
ALTER USER OA IDENTIFIED BY bbbbbbbbb;