作者:振鹭
一、安装前准备
1、创建用户和用户组
bash
groupadd dinstall
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
2、修改文件打开最大数
bash
vi /etc/security/limits.conf
#文件末尾添加以下四行
dmdba hard nofile 65536
dmdba soft nofile 65536
dmdba hard stack 32768
dmdba soft stack 16384
bash
#切换到 dmdba 用户,查看是否生效,命令如下:
su - dmdba
ulimit -a
3、挂载镜像
切换到 root 用户,将 DM 数据库的 iso 安装包保存在任意位置,例如 /opt 目录下,执行如下命令挂载镜像:
bash
mount -o loop /opt/dm8_setup_rh7_64_ent_8.1.1.45_20191121.iso /mnt
4、新建安装目录
在根目录下创建 /dm8 文件夹,用来安装 DM 数据库。命令如下:
bash
#使用 root 用户建立文件夹,待 dmdba 用户建立完成后需将文件所有者更改为 dmdba 用户,否则无法安装到该目录下
mkdir /dm8
修改安装目录权限,将新建的安装路径目录权限的用户修改为 dmdba,用户组修改为 dinstall。命令如下:
bash
chown dmdba:dinstall -R /dm8/
给安装路径下的文件设置 755 权限。命令如下:
bash
chmod -R 755 /dm8
二、数据库安装
1、安装
切换至 dmdba 用户下,在 /mnt 目录下使用命令行安装数据库程序,依次执行以下命令安装 DM 数据库。
bash
su - dmdba
cd /mnt/
./DMInstall.bin -i
切换至root用户执行以上命令,创建 DmAPService,否则会影响数据库备份。
bash
/dm8/script/root/root_installer.sh
2、配置环境变量
切换到 root 用户进入 dmdba 用户的根目录下,配置对应的环境变量。DM_HOME 变量和动态链接库文件的加载路径在程序安装成功后会自动导入。命令如下:
bash
cd /home/dmdba/
vim .bash_profile
su - dmdba
source .bash_profile
三、配置实例
使用 dmdba 用户配置实例,进入到 DM 数据库安装目录下的 bin 目录中,使用 dminit 命令初始化实例。
1、可以使用默认参数初始化实例,需要附加实例存放路径。此处以初始化实例到 /dm/data 目录下为例(执行初始化命令前,需要使用 root 用户授予 /dm/data 目录相应权限
bash
./dminit path=/dm/data
记得使用dmdba用户来执行命令,这里错用成root用户操作了(后面将/dm8/data文件夹下所有文件改成了dmdba用户的)
2、以下命令设置页大小为 32 KB,簇大小为 32 KB,大小写敏感,字符集为 utf_8,数据库名为 DMDB,实例名为 DBSERVER,端口为 5237。
bash
./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下
bash
cd /dm8/script/root
#注册服务,如下所示
./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini -p DMSERVER
五、启动、停止数据库
1、服务注册成功后,启动数据库,如下所示:
bash
systemctl start DmServiceDMSERVER.service
2、查看数据库状态
bash
systemctl status DmServiceDMSERVER.service
六、冒烟测试
1、连接数据库
(默认账号密码:SYSDBA/SYSDBA)
2、创建表空间
bash
create tablespace tbs1 datafile '/dm8/data/DAMENG/tbs1_01.dbf' size 128
3、创建表
CREATE TABLE tbs1.city(city_id CHAR(3) NOT NULL,city_name VARCHAR(40) NULL,region_id INT NULL);
4、插入数据
bash
INSERT INTO city(city_id,city_name,region_id) VALUES('BJ','北京',1);
INSERT INTO city(city_id,city_name,region_id) VALUES('AQ','安庆',1);
INSERT INTO city(city_id,city_name,region_id) VALUES('HZ','杭州',1);
INSERT INTO city(city_id,city_name,region_id) VALUES('NJ','南京',1);
INSERT INTO city(city_id,city_name,region_id) VALUES('SH','上海',1);
4、查询数据
bash
select * from city;
5、删除数据
bash
DELETE FROM city
更多技术信息请查看云掣官网https://yunche.pro/?t=yrgw