本篇文章记录安装DM8数据库必备的Linux相关指令
用户相关
创建安装用户组及用户
为了减少对操作系统的影响,用户可以在安装之前为 DM 创建一个专用的系统用户组,在用户组下新建数据库管理规dmdba的用户,用来安装DM8,后在搭建DM8守护集群时发现,若用root用户进行集群的安装,在执行DM8时会报错。
创建安装用户组 dinstall
groupadd dinstall
指令详解
groupadd [OPTIONS] GROUP
-f, --force
如果组已经存在则成功退出并且如果 GID 已经存在则取消 -g
-g, --gid GID
为新组使用 GID
-h, --help
显示帮助信息并推出
-K, --key KEY=VALUE
不使用 /etc/login.defs 中的默认值
-o, --non-unique
允许创建有重复 GID 的组
-p, --password PASSWORD
为新组使用加密过的密码
-r, --system
创建安装用户 dmdba。
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
用法:useradd [选项] 登录
选项:
-b, --base-dir BASE_DIR 新账户的主目录的基目录
-c, --comment COMMENT 新账户的 GECOS 字段
-d, --home-dir HOME_DIR 新账户的主目录
-D, --defaults 显示或更改默认的 useradd 配置
-e, --expiredate EXPIRE_DATE 新账户的过期日期
-f, --inactive INACTIVE 新账户的密码不活动期
-g, --gid GROUP 新账户主组的名称或 ID
-G, --groups GROUPS 新账户的附加组列表
-h, --help 显示此帮助信息并推出
-k, --skel SKEL_DIR 使用此目录作为骨架目录
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值
-l, --no-log-init 不要将此用户添加到最近登录和登录失败数据库
-m, --create-home 创建用户的主目录
-M, --no-create-home 不创建用户的主目录
-N, --no-user-group 不创建同名的组
-o, --non-unique 允许使用重复的 UID 创建用户
-p, --password PASSWORD 加密后的新账户密码
-r, --system 创建一个系统账户
-R, --root CHROOT_DIR chroot 到的目录
-s, --shell SHELL 新账户的登录 shell
-u, --uid UID 新账户的用户 ID
-U, --user-group 创建与用户同名的组
-Z, --selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER
初始化用户密码。
passwd dmdba
权限相关
创建用户目录
如果目录已存在,则新建目录失败
mkdir /home/dmdba
mkdir
-p 递归创建多级目录
-m 建立目录的同时设置目录的权限
-z 设置安全上下文
-v 显示目录的创建过程
文件夹设置权限
chmod -R 777 dmdba/
向用户授权文件的读写查操作,777是文件的授权的最高权限
u– 向用户授予权限
g– 向组(一组用户)授予权限
o– 向其他人(不属于上述任何一项)授予权限。
注意: 如果此选项留空,则权限将应用于登录用户。大多数情况下,它将留空。
文件级权限
这些控制文件级别的权限。
r– 授予读取权限
w– 授予写入权限
x– 授予执行权限
这些操作前面需要带有“+”或“-”运算符。
“+”表示添加新权限,“-”表示删除现有权限。
系统操作相关
光盘iso文件的挂载
mount mount -o loop /dm8_20230418_x86_rh6_64.iso(光盘挂载路径) /mnt(光盘存在的文件路径)
mount+挂载源 +挂载点
-r 只读
-w 读写 默认
-F:这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个行程负责执行。在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作。
-f:通常用在除错的用途。它会使 mount 并不执行实际挂上的动作,而是模拟整个挂上的过程。通常会和 -v 一起使用。
-v:显示较讯息,通常和 -f 用来除错。
-L:将含有特定标签的硬盘分割挂上。
-U:将档案分割序号为 的档案系统挂下。-L 和 -U 必须在/proc/partition 这种档案存在时才有意义。
-t:指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。
-n:一般而言,mount 在挂上后会在 /etc/mtab 中写入一笔资料。但在系统中没有可写入档案系统存在的情况下可以用这个选项取消这个动作。而在这种操作下,运用mount命令跟df命令均无法查看挂载信息,但可以用proc/mounts查看,注意在linux操作系统中直接输入mount命令,可以查询已挂载的信息。
-a:将 /etc/fstab 中定义的所有档案系统挂上,此操作可实现开机自动挂载的要求。而当写入/etc/fstab文件后,挂载操作也可以只指定挂载源或挂载点,
vi 修改文件内容
在DM8的安装后,需要在多处地方修改文件的初始化参数、环境变量等。所以vi是非常常用的指令,通常是vi 文件名格式操作,若文件不存在,则会新建此文件。在配置文件中,需要快速查找某个单词时,可使用/,搜索功能由 “/” 命令实现。要搜索一个关键字,只需按下 “/” 键,然后输入要搜索的关键字,最后按下回车键即可。Vim 将会在当前文件中查找并定位到第一个匹配的关键字。如果要查找下一个匹配的关键字,可以按下 “n” 键。反之,如果要查找上一个匹配的关键字,可以按下 “N” 键。注意,在修改的文件中,按i进行修改,其他地方复制黏贴过来的内容,头两个字会自动漏掉,故修改文件时,一定要注意复制黏贴过来的文件内容,需要检查头一行的头两个单词字母是否空缺
.SH
在DM8安装完成后,需要执行某个文件,如bin,tool文件中执行./dbca.sh,./manager启动实例初始化,数据库管理等,故此操作类似win系统下的可执行文件的执行,格式是找到待执行文件的目录下,./执行文件名即可
服务管理
DM8安装后,如果在Linux中进行运行,需要在后台服务中进行注册,并正常运行,DM8的使用才是正常的。
服务启动实例:
root下通过服务启动某个实例
systemctl start DmServiceDMSERVER.service
查看数据库服务状态
systemctl status DmServiceDMSERVER.service
DM安装目录下的 bin 目录下,启动/停止/重启数据库
./DmServiceDMSERVER start/stop/restart
查看数据库状态
./DmServiceDMSERVER status
xhost +
设置图形化:(执行xhost +)
在Xshell软件中,调取Linux的图形化界面,需要配置display环境变量
[root@D dmdbms]# xhost +
xhost: unable to open display “”
使用命令发现root账号也没有输出端
[root@D ~]# echo $DISPLAY
[root@D ~]#
这种情况时,我们需要先给root用户设置一个临时输出端。
[root@D ~]# export DISPLAY=:0.0
然后我们再次输入xhost +就会见到正常情况会看到的提示了。
[root@D ~]# xhost +
access control disabled, clients can connect from any host
切换到用户账号,执行export 设置临时变量。每次切出dmdba用户在进入时DISPLAY变量值就会发生变化需要重新设置。
[root@D ~]# su - dmdba
[dmdba@D ~]$ export DISPLAY=:0.0
[dmdba@D ~]$ echo $DISPLAY:0.0
执行安装命令
当想查看系统有哪些线程在运行时,可以使用grep命令来进行查看
服务器正在运行或者存在其他进程正在操作同一个库,查看所有进程
ps aux|grep dmser
ps -qa|grep glibc 语法格式:grep -i “关键字” 文件名
语法格式:grep -i “关键字” 文件名
总结
DM8在Linux的安装以及使用,对于Linux操作来说是必备的技能,DM8的按时思路是在新的用户组及用户下进行安装,但是文件目录及文件权限时一定要注意属性,DM8的使用一般通常是在根目录的新建/DM8目录下存储实例及实例的数据、日志文件等。所以安装和使用过程中出现问题,先检查是否是自己的误操作还是系统权限问题(搭建守护集群时,有一次首先报错是文件的修改是在xshell中,存到Linux的文件中报错是编码错误,后来验证后知道Xshell中utf8编码,而Linux中的是ASCII,修改此错误后还报错,根据日志文件的报错后了解,是部分配置文件是root,部分是dmdba),根据报错的提示来慢慢的定位问题。