经过了为期3天的达梦数据库技能培训,掌握了达梦数据库安装、常用配置、数据备份还原等技巧,为自己在今后的实施中打下更好的基础,增添了必要的技术储备。现根据个人学习情况将不容易记忆的知识点做出总结。
一、数据库安装
1、新建安装目录
[root@localhost ~]# mkdir /dm8
2、新建系统用户 dmdba
[root@localhost ~]# groupadd dinstall
[root@localhost ~]# useradd -g dinstall dmdba
[root@localhost ~]# chown dmdba:dinstall /dm8
3、配置环境变量(根据实际情况调整)
[root@localhost ~]#su - dmdba
[dmdba@localhost ~]$ vi .bash_profile
export DM_HOME=/dm8
export PATH=$DM_HOME/bin:$DM_HOME/tool
[dmdba@localhost ~]$ cat .bash_profile
[dmdba@localhost ~]$ source .bash_profile
[dmdba@localhost ~]$ echo $DM_HOME
4、设置文件最大打开数目
[root@localhost /]# ulimit -n 65536 (仅限当前会话有效)
5、iso安装包挂盘
[root@localhost opt]# mount -o loop /opt/dm8_setup_rh7_64_ent_8.1.1.88_20200629.iso /mnt
6、或调图形界面
[root@localhost 桌面]# xhost +
[root@localhost 桌面]# su - dmdba
[dmdba@localhost -]$ echo DISPLAY
[dmdba@localhost -]$ export DISPLAY=:0.0(此处需查询当前端口号)
[dmdba@localhost -]$ xhost +
[dmdba@localhost -]$ cd /mnt
[dmdba@localhost mnt]$ ./DMInstall.bin
图形化操作:典型安装;key忽略;位置:/dm8
[root@localhost ~]# /dm8/script/root/root_installer.sh
二、初始化数据库
创建实例:启动dbca.sh(通过图形化界面使用引导创建和初始化)
常用工具:
服务查看器:dmservice.sh
数据库管理工具:manager
控制台工具:console
数据迁移工具:dts
三、用户管理及角色
达梦V8 用户类型
- SYS:内置用户,不能直接登陆
- SYSDBA:系统管理员,拥有DBA角色(除了安全、审计其他都管)
- SYSAUDITOR:系统审计管理员
- SYSSSO:系统安全管理员
- SYSDBO:系统安全操作员(达梦安全版才有)
1、创建用户
语法:create user 用户名 identified by 密码 default tablespace 表空间名;
示例:create user hrtest identified by "Dmeng123";
2、设置密码策略
语法:alter system set 'PWD_POLICY' = '策略组合数值' both;
示例:alter system set 'PWD_POLICY' = '6' both;
3、设置密码输错锁定次数改为5次,锁定时间为3分钟
语法:alter user '用户名' limit FAILED_LOGIN_ATTEMPS 6,PASSWORD_LOCK_TIME 3;
示例:alter user tom limit FAILED_LOGIN_ATTEMPS 5,PASSWORD_LOCK_TIME 3;
4、查看用户资源限制,例如最大并发数
示例:select * from dba_users a,sysusers b where a.user_id = b.id;
5、查询指定用户所有用的权限
示例:select * from DBA_SYS_PRIVS where grantee = '用户名';
示例:select * from dba_tab_privs where grantee = '用户名';
示例:select * from dba_role_privs where grantee = '用户名';
示例:select * from dba_col_privs where grantee = '用户名';
6、创建角色,并授予角色权限
语法:create role '角色名'; grant '权限' to '角色名';
示例:create role r1; grant r1 to dmtest;
语法:grant select on '模式名'.'表名' to '用户名';
示例:grant select on dmhr.department to newuser;
7、权限回收
语法:revoke '角色名' from '用户名';
语法:revoke '具体权限' from '用户名';
示例:revoke r1 from newuser;
示例:revoke create table from newuser;
8、对象权限转授 with grant option
示例:grant select on sysdba.t_test to hrtest with grant option;
四、备份与还原
任何数据库都需要备份,备份数据是维护数据库必不可少的操作。
备份就是为了防止原数据丢失,保证数据的安全。当数据库因为某些原因造成部分或者全部数据丢失后,备份文件可以帮我们找回丢失的数据。因此,数据备份是很重要的工作。
常见数据库备份的应用场景如下。
数据丢失应用场景:
- 人为操作失误造成某些数据被误操作
- 软件 BUG 造成部分数据或全部数据丢失
- 硬件故障造成数据库部分数据或全部数据丢失
- 安全漏洞被入侵数据恶意破坏
非数据丢失应用场景:
- 特殊应用场景下基于时间点的数据恢复
- 开发测试环境数据库搭建
- 相同数据库的新环境搭建
- 数据库或者数据迁移
以上列出的是一些数据库备份常见的应用场景,数据库备份还有其它应用场景,这里就不一一列举了。比如磁盘故障导致整个数据库所有数据丢失,并且无法从已经出现故障的硬盘上面恢复出来时,可以通过最近时间的整个数据库的物理或逻辑备份数据文件,尽可能的将数据恢复到故障之前最近的时间点。
1、全库导出
dexp在达梦的bin目录下,注意需要先创建目录,而且导出用户和导入用户都使用dmdba
[dmdba@localhost]./dexp userid=sysdba/SYSDBA:5238 directory=/dm8/backup/dexp file=full.dmp log=full.log full=y
2 、按用户导出
[dmdba@localhost]dexp userid=sysdba/SYSDBA:5238 directory=/dm8/backup/dexp file=dmtest.dmp log=dmtest.log owner=dmtest
3、导入sql文件在disql里执行的话使用以下命令
start sql '文件路径'
在达梦客户端工具里执行的话,使用以下命令
` sql '文件路径';
commit;
4、联机备份
4.1全库备份到默认路径下
backup database;
4.2 全库备份到指定路径下(备份目录不带文件名)
backup database full backupset '备份目录';
4.3 基于基础备份集的增量备份,并备份到指定目录
backup database increment to incrbak01 backupset '/dm8/backup/incr/incrbak01';
4.4 使用drman备份工具备份
五. 问题总结
1.安装好以后连不上数据库,可以查看一下DM服务是否启动。
2.数据库备份,如果是冷备份,需要把DM服务停止。