达梦数据库
安装
1、创建linux用户
为了减少对操作系统的影响,用户不应该以 root 系统用户来安装和运行 DM。用户
可以在安装之前为 DM 创建一个专用的系统用户。
- 创建安装用户组 dinstall。
groupadd dinstall - 创建安装用户 dmdba。
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba - 初始化用户密码。
passwd dmdba - 之后通过系统提示进行密码设置。
注意:创建安装系统用户完成后,安装手册之后的操作默认使用安装系统用户进行
操作
例如:创建用户 dmdba、密码 dmnmsdba
2、光驱挂载
root用户下创建光驱挂载路径
[root@localhost ~]# mkdir /mnt/dm
修改文件所有者权限及赋权
[root@localhost ~]# chown dmdba.dinstall /mnt/dm/;chmod 777 /mnt/dm/
挂载
导入安装文件至 /opt/tar/,文件解压iOS文件至/mnt/dm
mount -o loop /opt/tar/dm8_20200907_x86_rh7_64_ent_8.1.1.126.iso /mnt/dm
如果挂载不上,可以拷贝对应的DMInstall.bin文件到 /mnt/dm下
初始化
1、初始化数据库
创建安装路径
mkdir /opt/dmdb/dmdbms
chmod 777 -R /opt/dmdb/
chown dmdba.dinstall /opt/dmdb/dmdbms
dmdba用户下执行
./mnt/cdrom/DMInstall.bin -i
[INFO] 安装达梦数据库完成。
请以root系统用户执行命令:
/opt/dmdb/dmdbms/script/root/root_installer.sh
创建初始化路径
mkdir /opt/dmdb/dmdata
chmod 777 /opt/dmdb/dmdata
mkdir /opt/dmdb/dmlog
chmod 777 /opt/dmdb/dmlog
chown -R dmdba /opt/dmdb
dmdba用户下数据库初始化
初始化dminit参数
初始化参数 | 含义 |
---|---|
input system dir | 数据文件存放路径 |
input db name | 数据库名 |
input port num | 端口号 |
input page size | 页大小 |
Input extent size | 簇大小 |
input sec priv mode | 安全特权模式 |
input time zone | 时区(东8区) |
string case sensitive? | 大小写敏感 |
which charset to use? | 字符集 |
length in char? | 字符长度 |
enable database encrypt? | 是否加密 |
input slice size | $1 |
page check mode? | 开启页检查模式 |
input elog path | 日志路径 |
only creat huge table with delta | $1 |
rlog generate for huge | $1 |
auto_overwrite mode | 自动覆盖模式 |
[dmdba@test13 bin]$cd /opt/dmdb/dmdbms/bin
[dmdba@test13 bin]$ ./dminit
initdb V8
db version: 0x7000b
file dm.key not found, use default license!
License will expire on 2021-09-04
input system dir: /opt/dmdb/dmdata
input db name: GNDM
input port num: 25236
input page size(4, 8, 16, 32): 16
input extent size(16, 32, 64): 32
input sec priv mode(0, 1, 2): 0
input time zone(-12:59,+14:00): +8
string case sensitive? ([Y]es, [N]o): y
which charset to use? (0[GB18030], 1[UTF-8], 2[EUC-KR]): 0
length in char? ([Y]es, [N]o): 0
enable database encrypt? ([Y]es, [N]o): n
input slice size(512, 4096): 52^H12
input err , input again:512
page check mode? (0/1/2): 0
input elog path: /opt/dmdb/dmlog
only create huge table with delta? (0/1): 0
rlog generate for huge? (0/1): 0
pseg_mgr_flag (0/1): 0
auto_overwrite mode? (0/1/2): 0
log file path: /opt/dmdb/dmdata/GNDM/GNDM01.log
log file path: /opt/dmdb/dmdata/GNDM/GNDM02.log
write to dir [/opt/dmdb/dmdata/GNDM].
create dm database success. 2021-02-23 18:59:57
2、注册服务
root用户注册服务
cd ../script/root/
./dm_service_installer.sh -t dmserver -p DNSERVER -dm_ini /opt/dmdb/dmdata/GNDM/dm.ini
创建服务(DmServiceDNSERVER)完成
添加端口号
在/etc/dm_svc.conf 文件中加入:
dmdb_local=(127.0.0.1:25236)
启动数据库
1、启动达梦数据库多种方式
在在 home/dmdba/dmdbms/bin 目录下执行
后台启动,一般建议用后台启动
nohup ./dmserver /opt/dmdb/dmdata/GNDM/dm.ini &
dmserver命令方式(前台方式,未注册数据库服务可采用此方式)
[dmdba@localhost bin]$ dmserver /dm8/data/GNDM/dm.ini
root启动
service DmServiceDNSERVER start
查看状态
service DmServiceDNSERVER status
停止
service DmServiceDNSERVER stop
2、连接方式
[dmdba@test13 bin]$ ./disql sysdba/SYSDBA@dmdb_local
3、添加环境变量
vi ~/.bash_profile
export DM_HOME="/opt/dmdb/dmdbms"
export PATH=$DM_HOME/bin:$DM_HOME/tool:$PATH:HOME/bin
退出生效
source ~/.bash_profile
之后登陆可以直接使用disql命令
修改用户密码策略
这个参数有6个值分别代表不同的密码策略:
0 无策略
1 禁止与用户名相同
2 口令长度不小于 9
4 至少包含一个大写字母(A-Z)
8 至少包含一个数字(0-9)
16 至少包含一个标点符号(英文输入法状态下, 除“和空格外的所有符号)
需要多项制约,需要1、2项采用加法: 1+2=3,修改值为3;
系统用户下修改
select * from v$parameter where name='PWD_POLICY';
alter system set 'PWD_POLICY'=0 both;--0为无策略
表空间
以 SYSDBA 身份登录数据库后,创建表空间 ,指定数据文件 XXX.dbf,大小1000M
create tablespace DMTEST_DATA datafile '/opt/dmdb/dmdata/DMTEST/DMTEST_DATA.dbf' size 1000;
create tablespace DMTEST_INDEX datafile '/opt/dmdb/dmdata/DMTEST/DMTEST_INDEX .dbf' size 1000;
create tablespace DMTEST_NMS datafile '/opt/dmdb/dmdata/DMTEST/DMTEST_NMS .dbf' size 1000;
查看表空间
select tablespace_name from dba_tablespaces;--dba权限下
select tablespace_name from user_tablespaces;--普通权限
删除表空间
drop tablespace name;
创建用户并授权
四种权限:“DBA”,“PUBLIC”,“RESOURCE”,“VTI”
create user DMTEST identified by DMTEST default tablespace DMTEST_NMS temporary tablespace TEMP;
grant dba to DMTEST;
删除用户
DROP USER <用户名> [RESTRICT | CASCADE];