注册
DM8在Linux上的命令行安装
专栏/技术分享/ 文章详情 /

DM8在Linux上的命令行安装

M4x7 2025/07/18 231 0 0
摘要

DM8在Linux上的命令行安装

0 任务清单

在linux环境下全程使用命令行方式安装和初始化一个数据库,并注册服务后,以服务的方式启动。要求:

1)初始化一个实例名为DMOA,库名为DMOA,端口号为5234,页大小为16,字符集为gb18030,大小写敏感为是的库。2)使用disql新建一个名称为DMDBA的用户,设置密码为dameng_dba,并授予dba角色权限.

3)使用disql新建一个名为TS_DMOA的表空间,新建一个名为DMOA的用户,并设置密码为dameng_oa,设置该用户的默认表空间为TS_DMOA。并授予resource角色权限。

4)使用DMOA用户新建表USERS,并插入数据,然后查询确认数据已经入库

1 安装DM8

1.1 检查系统信息并获取相应安装包

##查看CPU信息
lscpu
##查看操作系统信息
uname -a
##或者
cat /etc/os-release

image

从图中可以看出,本台机器是CPU是飞腾2000,操作系统是麒麟10。

本案例中使用远程物理机的实验环境,自己下载安装包。从达梦数据库下载中心选用对应版本下载,获取链接让物理机直接下载或是本机上下载后上传。(这里选择的是在本机下载并解压之后上传到远程物理机)

##远程物理机下载
wget https://download.dameng.com/eco/adapter/DM8/202505/dm8_20250507_FTarm2000_kylin10_sp1_64.zip -O dm8.zip
##自己这里下载之后
scp DMInstall.bin test7test@10.76.11.237:/data/test7/rza/DMInstall.bin

检查内存

##获取内存使用详情 
free 

image

检查存储空间

df -h 地址

image

安装过程中会产生临时文件,临时文件目录默认为/tmp。在该实验中,多人使用同一台物理机,因此需要修改安装程序的临时目录,修改方式如下:

DM_INSTALL_TMPDIR=/data/test7/
export DM_INSTALL_TMPDIR 
##检查是否修改成功
echo $DM_INSTALL_TMPDIR

1.2 安装

##启动交互式安装
./DMInstall.bin -i

这里在第一次安装的时候,系统说权限不够。这里需要手动给一下权限:

chmod 755 DMInstall.bin

image

进入安装界面

image

依次选择语言、Key文件、时区、安装类型、安装路径,最后进行安装。

在此过程中出现了一个问题,显示安装路径没有写入权限。

image

使用这条命令添加写入权限即可

chmod u+w DMInstall.bin

image

安装结束。

2 完成任务

1)初始化一个实例名为DMOA,库名为DMOA,端口号为5234,页大小为16,字符集为gb18030,大小写敏感为是的库。

./dminit path=/data/test7/dmdbms/data DB_NAME=DMOA INSTANCE_NAME=DBOA PAGE_SIZE=16 CHARSET=0 CASE_SENSITIVE=y port_num=6093 SYSDBA_PWD='admin123!@#A' SYSAUDITOR_PWD='admin123!@#A'

image

启动dmserver

./dmserver /data/test7/dmdbms/data/DMOA/dm.ini

image

image

注册服务(需要使用root用户进行注册)

## 进入数据库安装目录的 /script/root 下
./dm_service_installer.sh -t dmserver -dm_ini <dm.ini路径> -p <服务名后缀>
## 进入 DM 安装目录下的 bin 目录下
## 启动服务
./DmService<服务名后缀> start
## 停止服务
./DmService<服务名后缀> stop
## 重启服务
./DmService<服务名后缀> restart
## 查看状态
./DmService<服务名后缀> status

2)使用disql新建一个名称为DMDBA的用户,设置密码为dameng_dba,并授予dba角色权限.

登入disql:
如果密码含有特殊字符的情况下,需要使用双引号将密码包含进来,同时外层再使用单引号进行转义

./disql SYSDBA/'"admin123!@#A"'@10.76.11.238:6093

或者使用操作终端CONNECT

./disql /nolog
SQL> CONNECT SYSDBA/"admin123!@#A"@10.76.11.238:6093

新建用户并授予权限

CREATE USER "DMDBA" IDENTIFIED BY "dameng_dba";
GRANT "DBA" TO "DMDBA";
COMMIT;

这里密码不符合安全规范,尝试修改系统口令策略,但是并没有成功。

## 动态修改系统参数值
/*
scope:参数作用范围。
1 - 内存级(当前会话有效)
2 - 内存和配置文件级(永久生效)
parameter_name:要修改的系统参数名称
parameter_value:要设置的参数值
*/
SP_SET_PARA_VALUE(scope, parameter_name, parameter_value)
SP_SET_PARA_VALUE(2,'PWD_POLICY',7);

image

可以看到,可以把口令策略设置为15或31,但是不能设置为7。这是因为在当前版本口令策略最小值是15,已经不支持修改到15以下了。

因此,将密码修改为dameng8_DBA

## 创建
CREATE USER "DMDBA" IDENTIFIED BY "dameng8_DBA";
GRANT "DBA" TO "DMDBA";
COMMIT;
## 查询
SELECT USERNAME, CREATED FROM ALL_USERS ORDER BY CREATED DESC;
SELECT GRANTEE, GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'DMDBA';

image

3)使用disql新建一个名为TS_DMOA的表空间,新建一个名为DMOA的用户,并设置密码为dameng_oa,设置该用户的默认表空间为TS_DMOA。并授予resource角色权限。

相关文档详见DBA文档14.1

## 创建表
CREATE TABLESPACE "TS_DMOA" 
DATAFILE '/data/test7/dmdbms/data/TS_DMOA.DBF' 
SIZE 128 ; 
## 创建用户
CREATE USER "DMOA" 
IDENTIFIED BY "dameng8_OA" 
DEFAULT TABLESPACE "TS_DMOA"; 
## 授予权限
GRANT "RESOURCE" TO "DMOA";

COMMIT; 

## 验证表空间
SELECT TABLESPACE_NAME, STATUS FROM DBA_TABLESPACES WHERE TABLESPACE_NAME = 'TS_DMOA';

## 验证用户及默认表空间
SELECT USERNAME, DEFAULT_TABLESPACE FROM DBA_USERS WHERE USERNAME = 'DMOA';

## 验证用户角色
SELECT GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'DMOA';

image

4)使用DMOA用户新建表USERS,并插入数据,然后查询确认数据已经入库。

## 创建表
CREATE TABLE "USERS" (
    "ID" NUMBER PRIMARY KEY,
    "USERNAME" VARCHAR2(50) NOT NULL,
    "AGE" NUMBER(3),
    "CREATE_TIME" TIMESTAMP DEFAULT SYSTIMESTAMP
);

INSERT INTO "USERS" ("ID", "USERNAME", "AGE") VALUES (1, '张三', 25);
INSERT INTO "USERS" ("ID", "USERNAME", "AGE") VALUES (2, '李四', 30);

COMMIT;
## 查询
SELECT * FROM "USERS";

image

至此,所有任务已完成。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服