一、安装数据库
1.安装前准备
查看cpu:lscpu
查看内存:free -m
查看硬盘分区:lsblk
2.创建dmdba用户和组
groupadd dinstall
useradd -G dinstall -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba
3.安装达梦
挂载镜像:mount .... /mnt
命令行安装:./DMInstall.bin -i
4.修改资源限制
修改文件vi /etc/security/limits.conf
dmdba soft nice 0
dmdba hard nice 0
dmdba soft as unlimited
dmdba hard as unlimited
dmdba soft fsize unlimited
dmdba hard fsize unlimited
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft data unlimited
dmdba hard data unlimited
5.创建数据库实例
命令行方式:./dminit help获取参数帮助
初始化一个数据库名和实例名都为DM,数据文件保存在/home/dmdba/dmdata的实例
./dminit PATH=/home/dmdba/dmdata db_name=DM instance_name=DM
前台启动实例:./dmserver /home/dmdba/dmdata/DM/dm.ini
注册服务:cd /home/dmdba/script/root
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdata/DM/dm.ini -p DM
后台启动服务:./DmServiceDM start
6.连接数据库
disql:./disql SYSDBA/SYSDBA:5236
图形化:./home/dmdba/dmdbms/tool/manager
7.实例状态
数据库实例的状态:shutdown,mount,open,suspend
Shutdown:数据库实例关闭状态
Mount:数据库实例配置状态,配置和开启数据库的归档,配置集群
Open:数据库打开状态,数据库可以读写访问
Suspend:数据库挂起状态,数据库只读
8.Dmsql
1)单表查询
a.查看表结构
使用两种方式可查看数据库的表结构:
查询后会显示该表的创建语句以及结构
b.查询全表
使用SELECT * 查询全表,此时数据库会返回表所有列
c.行过滤
使用条件查询进行过滤,例如查询所有ID大于103的行:
d.查找空值
使用IS NULL为条件查找控制:
e.查询满足多个条件的行
使用OR字句来查询满足多个条件的行,但在实际应用中使用OR会严重降低数据库的性能,所以尽量避免使用OR,可以改为IN
f别名
使用AS在查询时给列取别名
g.列拼接
使用||可将几条列拼接起来,可以拼为一句话
h根据条件查询并对返回的信息进行标识
使用CASE...END AS对返回的信息进行标识,用AS为新的列取别名作为返回的信息
i使用limit限制返回结果的行数
j.查询结果排序
使用ORDER BY对查询结果进行排序,ASC为升序,DESC为降序
k.使用UNION ALL进行多表联合检索
需注意多表联合检索时列的数据类型必须匹配,否则会报错
l.使用UNION ALL合并结果集后如果有重复数据可以使用UNION来合并,UNION有去重功能,例如使用UNION ALL:
m.使用UNION后就不会出现重复行
9.模式和用户
模式与用户的关系
在达梦数据库中创建用户时,会默认创建一个与用户同名的模式,用户与模式是一对多的关系,用户可以拥有多个模式,但是一个模式只能为一个用户所有。
创建用户时,会默认创建一个与用户同名的模式
此时查询已经新建了和用户同名的模式
赋予新建用户DMDBA用户DBA权限
使用DMDBA用户创建一个模式,此时创建模式时默认为该用户所有
需注意,通过disql执行该命令后,回车不会停止输入,需要输入/符号来终止
此时进行查询可以查到创建模式成功并且所属用户为DMDBA
指定模式所属用户
在DMDBA用户下新建模式会默认所属用户为DMDBA,此时若要指定所属用户为SYSDBA可以使用指定用户
可以看到此时新建的TEST模式所属用户为SYSDBA
删除模式
1.模式删除后,模式中的对象也会被删除
2.删除不存在的模式会报错。若指定 IF EXISTS 关键字,删除不存在的模式,不会报错;
用该语句的用户必须具有 DBA 权限或是该模式的所有者;
3.如果使用 RESTRICT 选项,只有当模式为空时删除才能成功,否则,当模式中存在数据库对象时则删除失败。默认选项为 RESTRICT 选项;
4.如果使用 CASCADE 选项,则将整个模式、模式中的对象,以及与该模式相关的依赖关系都删除。
删除用户后会删除用户底下所有的模式,所以在达梦数据库中,如果一个用户有多个模式,在删除一个模式时,千万注意不能使用drop user的方式,要用drop schema删除。
10.常用DBA管理语句
a.创建用户
CREATE USER DMDBA IDENTIFIED BY "DMDBA12345678";
b.赋予权限
GRANT DBA TO DMDBA;
c.修改密码
ALTER USER DMDBA IDENTIFIED BY "DMDBA2222024";
d.查看当前连接实例和状态
SELECT INSTANCE_NAME,STATUS$ FROM V$INSTANCE;
e.切换状态
ALTER DATABASE MOUNT(OPEN);
f.修改数据库兼容模式为兼容 ORACLE 数据库
sp_set_para_value(2,'COMPATIBLE_MODE',2);