达梦数据库在国产数据库中功能和使用方面都非常给力,无论是新手入门还是老技术接触,可以在短时间内学习并掌握基本使用方法。
现总结学习过程中常用命令,方便查阅。
达梦数据库安装完毕后有手册在安装目录doc,很方便。
数据库安装部署入门
1.关闭防火墙 systemctl stop firewalld
2.关闭Selinux setenforce 0
3.创建组和用户 groupadd dinstall & useradd -d dinstall dmdba
4.创建存储目录并赋权 mkdir /dm8 && chown dmdba:dinstall /dm8
5.修改LIMITS.CONF文件 vi /etc/security/limits.conf 加入 dmdba soft nofile 65536和dmdba hard nofile 65536
6.解压安装 图形化下一步操作即可
注:如修改了默认端口号,连接时使用disql sysdba/Dameng123@localhost:新端口
数据库实例管理
安装完软件服务:DmAPService.service
安装完数据库服务:DmService实例.service
达梦数据库启动dmdba用户下:DmService实例 start
达梦数据库状态dmdba用户下:DmService实例 status
达梦数据库关闭dmdba用户下:DmService实例 stop或disql里边shutdown immediate
数据库归档
1.alter database mount;
2.alter database add archivelog 'type=local,dest=/dm8/arch,file_size=64,space_limit=0';
3.alter database archivelog;
4.alter database open;
5.查询状态select name,status$,arch_mode from v$database;
用户管理
1.创建用户:create user 用户 identified by "密码“ default tablespace 表空间;
2.修改密码:alter user 用户 identified by "新密码”
3.用户空间限制:create usre 用户 identified by "密码“ diskspace limit 大小;
4.解除空间限制:alter user 用户 diskspace unlimited;
表空间管理
1.创建表空间:create tablespace 空间名 datafile '路径/文件名.dbf' size 大小 autoextend on next 扩展大小 maxsize 最大大小;
2.删除空间:drop tablespace 表空间名;
3.修改表空间名:alter tablespace 旧名 rename to 新名;
4.修改空间状态:alter tablespace 空间名 offline/online;
5.修改表空间数据缓冲区:alter tablespace 表空间名 cache="keep";
6.查询表空间与数据文件对应关系:
select ts.name,df.path from v$tablespace as ts,v$datafile as df where ts.id=df.group_id;
7.扩展表空间:新加数据文件
alter tablespace 表空间名 add datafile '路径/新名.dbf' size 大小;
8.扩展数据文件大小
alter tablespace 空间名 resize datafile ’路径/数据文件.dbf' to 新大小;
9.修改空间文件自动 扩展
alter tablespace 空间名 datafile '路径/文件.dbf' autoextend on;
10.迁移数据文件目录/修改数据文件路径
alter tablespace 空间名 rename datafile ‘路径/文件.dbf' to '新路径/文件.dbf';
重做日志文件管理
1.添加重做日志
alter database add logfile '路径/文件.log' size 大小;
2.扩展重做日志
alter database resize logfile '路径/文件.dbf' to 新大小;
管理回滚空间
1.将控制文件转到文本文件:dmctlcvt c2t d:/dm.ctl d:/ctl.txt
2.编辑文件ctl.txt中的fil_path路径和文件后保存文本文件
3.将文本文件转换控制文件:dmctlcvt t2c d:/ctl.txt d:/dm.ctl
管理控制文件
控制文件在dm.ini中通过ctl_path参数指定路径和名称。
可修改此文件中ctl_path进行修改。
数据库逻辑导出dexp/dimp/dexpdp/dimpdp
注:dexp/dimp与dexpdp/dimpdp功能相同(文件里说相同),只是一个可以把备份存放本地,一个可以存放远程目录
1.数据库全库导出备份
dexp sysdba/Dameng123@localhost:端口 directory=目录 file=文件.dmp log=文件.log full=y
2.用户导出
dexp USERID=SYSDBA/密码 FILE=文件名.dmp LOG=文件名.log OWNER=用户 DIRECTORY=路径
3.模式导出
dexp USERID=SYSDBA/密码 FILE=文件名.dmp LOG=文件名.log SCHEMAS=模式名 DIRECTORY=路径
4.数据表导出
dexp USERID=SYSDBA/密码 FILE=文件名.dmp LOG=文件名.log TABLES=表1,表2
DIRECTORY=路径
5.导出忽略:命令中加EXCLUDE格式如下:
EXCLUDE=TABLE:表名
EXCLUDE=SCHEMAS:模式名
6.导出包含:命令中加INCLUDE格式如下:
INCLUDE=TABLES:表名
数据库逻辑导入
导入根据上边的导出命令即可。只特别写一个数据导入不同用户方法
dimp SYSDBA/密码 FILE=文件名.dmp DIRECTORY=目录 FULL=Y REMAP_SCHEMA=源用户:目标用户
数据备份目录配置
1.DmService实例名 stop
2.修改dm.ini中的bak_path目录
3.DmService实例名 start
4.检查状态
select name,value,sys_value,file_value from v$parameter where name in ('BAK_PATH');
数据库备份
1.disql sysdba/Dameng123@localhot:端口
2.backup database full to "名称” backupset "名称“ 注:默认存放上边的目录
3.查询select backup_name,backup_path from v$backupset;
数据库恢复
1.su - dmdba
2.dmrman
3.检查备份:check backupset '/dm8/backup/DMDB_bak';
4.恢复表空间
RESTORE DATABASE '/dm8/data/DMDB/dm.ini' tablespace "DMTBS" FROM BACKUPSET '/dm8/backup/DMDB_bak' DEVICE TYPE disk;
5.应用归档
RECOVER DATABASE '/dm8/data/DMDB/dm.ini' TABLESPACE DMTBS WITH ARCHIVEDIR '/dm8/arch';
定时任务管理
su - dmdba
disql sysdba/Dameng123@localhost:5238
call SP_CREATE_JOB('JOB1',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('JOB1');
call SP_ADD_JOB_STEP('JOB1', 'S1', 5, '01000/dm8/backup', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('JOB1', 'S2', 1, 2, 1, 1, 0, '22:00:00', NULL, '2021-06-16 15:13:53', NULL, '');
call SP_JOB_CONFIG_COMMIT('JOB1');
call SP_CREATE_JOB('JOB2',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('JOB2');
call SP_ADD_JOB_STEP('JOB2', 'S3', 5, '11000/dm8/backup|/dm8/backup', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('JOB2', 'S4', 1, 2, 1, 126, 0, '22:00:00', NULL, '2021-06-16 15:13:01', NULL, '');
call SP_JOB_CONFIG_COMMIT('JOB2');
ODBC配置管理
vi /usr/local/etc/odbc.ini
[dm8]
Description = DM ODBC DSND
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = Dameng123
TCP_PORT=5238
vi /usr/local/etc/odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so
达梦数据库巡检
结合Oracle的巡检脚本,改编了一下DM的巡检脚本,脚本执行后如下: