注册
达梦DM8数据库DCA考试实操文档
技术分享/ 文章详情 /

达梦DM8数据库DCA考试实操文档

向向阳 2024/11/29 851 1 0

一、数据库安装前准备

  1. 麒麟V10操作系统版本

  2. 查看glibc版本
    安装达梦数据库要求glibc在2.6以上

  3. 查看gcc版本

安装odbc的时候,需要gcc包依赖,没有安装的话需要进行安装

  1. 关闭防火墙和SELINUX

麒麟是默认就关闭了防火墙

麒麟是默认就关闭了SELINUX

  1. 调整sysctl.conf内核参数

使用sysctl –p 生效

(看了很多安装文档, 这些内核参数都没有设定,都在使用默认值)

  1. 创建达梦用户组

  2. 创建达梦用户

不能设置简单密码,需要设置密码符合密码规则

  1. 创建达梦安装路径

  2. 配置/etc/security/limits.conf

设置最大可打开文件数

10.挂载dm安装iso镜像文件

二、数据库安装
11. 切换到达梦用户dmdba

  1. 设置DISPLAY进入安装图形界面

  2. 使用DMInstall.bin程序安装达梦数据库软件

  3. 达梦数据库软件安装过程
    14.1 进入达梦数据库安装向导

14.2 接受达梦数据库许可协议

14.3 显示达梦数据库版本信息和客户端工具

14.4 达梦数据库key文件可以略过

直接下一步:

14.5 达梦数据库典型安装

14.6 设置达梦数据库安装路径

14.7 达梦数据库安装前小结

14.8 达梦数据库安装

14.9 执行脚本/dm8/dmdba/dmdbms/script/root/root_installer.sh

14.10 达梦数据库软件安装完成

不勾选初始化数据库,初始化数据库就是dbca创建数据库,另外再创建。

  1. dbca创建达梦数据库

15.1 运行dbca创建数据库

15.2 创建数据库选择一般用途模板

15.3 设置数据库安装路径

15.4 设置数据库名称和实例名称

15.5 数据库文件路径

15.6 数据库初始化参数,字符集指定为UTF8

15.7 设置SYSDBA口令:dameng123

15.8 创建示列数据库

15.9 创建数据库

15.10 执行配置脚本

15.11 完成数据库创建

15.12. 查看默认数据库服务

使用dbca创建数据库之后,默认会注册该数据库的服务,自动运行,不需要另外在执行注册命令。

  1. dminit命令行方式创建达梦数据库
    16.1 dminit命令参数如下:

16.2 dminit命令创建数据库

./dminit path=/dm8/dmdba/dmdbms/data db_name=DMTEST instance_name=DMTEST port_num=5237 page_size=8 SYSDBA_PWD=Dameng123 CHARSET=1

16.3 dbca注册数据库服务

16.4 配置注册数据库服务

16.5 创建数据库服务

16.6 完成数据库服务的注册

  1. 查看数据库服务状态

服务正常运行。

三、数据库连接
18. 命令行模式连接

  1. 客户端模式连接

四、参数配置修改
20.查看数据库参数类型

20.1 参数类型

达梦数据库的参数配置文件是dm.ini,参数有3种类型:手动参数、静态参数、动态参数。

20.1.1 手动参数(read only)
在数据库运行过程中,不允许手动修改参数,不能通过系统函数、SQL命令
达到修改参数的目的,只能从dm.ini配置文件中进行修改。
20.1.2 静态参数(IN FILE)
只能从dm.ini配置文件中进行修改,修改后需要重启实例才能生效。

20.1.3 动态参数(SYS和SESSION)
可以修改dm.ini文件和内存的参数值,修改后立即生效。SYS类型参数修改
后影响所有会话,SESSION类型参数修改后影响当前会话。

20.2 参数修改方法
20.2.1 直接对dm.ini参数文件进行修改

20.2.2 使用SQL语句修改
20.2.2.1 修改COMPATIBLE_MODE参数

该参数类型为:IN FILE,是个静态参数

修改file_value的值,即dm.ini参数文件的值。

重启将生效,

20.2.2.2 修改undo参数

该参数类型为:SYS,是个动态参数

alter system set ‘UNDO_RETENTION’ =900;

修改参数不带both,是直接修改内存参数值,dm.ini参数值并没有改变。

修改参数自带both,是直接修改内存参数值,dm.ini参数值也一起修改。

20.3 使用函数修改
20.3.1 系统函数

20.3.2 scope设置
设置1是调整动态参数,立刻生效。

设置2是调整静态参数,重启生效。

20.3.3 查看系统函数的参数类型

SF_GET_PARA_VALUE(scope,ini_param_name)

scope设置1表示从dm.ini文件中读取,设置为2表示从内存中读取。

SELECT SF_GET_PARA_VALUE(1,‘BUFFER’);
SELECT SF_GET_PARA_VALUE(2,‘BUFFER’);

20.3.4 使用函数修改参数
SP_SET_PARA_DOUBLE_VALUE
SP_SET_PARA_STRING_VALUE
SP_SET_PARA_VALUE

scope设置为1表示同时修改了dm.ini文件和内存参数,不需要重启数据库生效.
scope设置为2表示只修改dm.ini文件,需要重启数据库生效.
20.3.4.1 SP_SET_PARA_VALUE

SP_SET_PARA_VALUE修改整数型参数

buffer参数是一个静态参数,类型为IN FILE

需要重启生效。

20.3.4.2 SP_SET_PARA_DOUBLE_VALUE
SP_SET_PARA_DOUBLE_VALUE修改浮点型型参数

undo_retention参数是一个动态参数,类型为SYS

20.3.4.3 SP_SET_PARA_STRING_VALUE
参数基本上没有修改字符串的,这个可以忽略。

五、业务表空间管理
21. 创建表空间dbtbs,不需要指定路径,直接写’dbtbs01.dbf’ 即可,自动会加上路径

  1. 表空间dbtbs增加数据文件

  2. 修改表空间dbtbs的大小

  3. 修改表空间dbtbs的最大值

  4. 表空间dbtbs迁移

  5. drop表空间dbtbs

六、临时表空间管理
27. 查询temp表空间参数

  1. 修改临时表空间大小,TEMP_SIZE是一个静态参数

重启生效

七、重做日志文件管理
达梦的logfile不能删除,不能改小。

重做日志文件,用来保存redo日志,redo日志默认2个,循环使用,不断覆盖,联机日志由系统自动切换,不能手动切换,联机日志过小,会制造日志频繁切换,过大则浪费磁盘空间。
达梦的联机日志只支持系统自动切换,不支持手动切换(oracle支持)。

  1. 增加logfile文件的数量

  2. 增大logfile文件大小

  3. 重命名logfile文件(从一个路径到另外一个路径,或者改名)

八、归档日志文件管理

  1. 开启归档日志模式

在dm_ini中查看ARCH_INI的值来查看归档开启状况,1为开启。

select arch_name,arch_type,arch_dest,arch_file_size,arch_space_limit from v$dm_arch_ini;
33. 归档日志文件切换
alter SYSTEM ARCHIVE LOG CURRENT;
alter SYSTEM SWITCH LOGFILE;
alter DATABASE ARCHIVELOG CURRENT;

达梦数据库有三种归档日志切换方式。

九、用户角色权限
34. 用户管理
34.1 查询创建用户密码策略

密码策略数字为2,密码策略是动态参数。

34.2 创建用户

34.3 调整密码错误次数参数,默认输错5次后锁定账号,并且3分钟后自动解锁

超过5次密码错误登陆,导致该账户被锁定

可以手动解锁,也看等待3分钟之后解锁。

34.4 查询达梦数据库用户属性profile
select a.USERNAME,a.ACCOUNT_STATUS,b.FAILED_ATTEMPS,b.LOCK_TIME,b.FAILED_NUM
from dba_users a,sysusers b
where a.user_id = b.id
and a.username=‘XIANGY’;
34.5 查询指定用户权限

  1. 角色管理
    35.1 创建角色

35.2 角色授权

35.3 授权用户

  1. 权限管理
    36.1 增加查询权限

36.2 授予删除、修改权限

36.3 回收权限

36.4 权限类型

系统权限
CREATE TABLE、INDEX、VIEW,CREATE user等

对象权限
对某张表的查询、修改、删除、插入权限,也可以是某个存储过程的执行权限

权限转授
系统权限转授,with admin option
对象权限转授,with grant option

十、模式对象管理
37. 模式的概念
什么是模式:
模式是一个特定的对象集合,在概念上可将其看作是包含表、视图、索引等若干对象的对象集

什么是模式对象:
表、视图、约束、索引、序列、触发器、存储过程/函数、包、同义词、类、域

模式与用户的关系
当系统建立一个用户时,会自动生成一个对应的模式,用户和模式是一对多的关系(Oracle是一对一)

  1. 创建模式

模式xixangy1属于用户xiangy.

  1. 查询模式
    查询系统的模式

  2. 查询模式和所属用户
    select a.id scheid, a.name schename, b.id userid, b.name username
    from SYS.SYSOBJECTS a, SYS.SYSOBJECTS b
    where a.“TYPE$” = ‘SCH’ and a.pid = b.id;

  3. 查询当前模式

  4. 切换模式

切换只对当前用户下面的模式进行切换,非当前模式下,无法切换:

十一、表管理
43. 创建表

  1. 调整表字段

  2. 增加表约束
    45.1 约束类型
    NOT NULL:非空约束
    UNIQUE:唯一约束,可以为空,简写为UK_表名_字段名
    PRIMARY KEY:主键约束(唯一约束+非空约束),简写为PK_表名_字段名
    FOREIGN KEY:外键引用约束,引用的是另一张表(父表)的主键或唯一键。简写为FK_表名_字段名
    CHECK:检验约束,用户校验数据的准确性,简写为CK_表名_字段名

45.2 增加主键约束

45.3 增加外键约束

添加外键约束,注意REFERENCES表里的字段必须是主键或者是添加了唯一索引的字段

45.4 增加校验约束(check)

45.5 禁用和启用约束
禁用:

启用:

十二、索引管理
46. 创建普通索引

  1. 创建聚集索引

  2. 创建唯一索引

  3. 创建函数索引

  4. 创建位图索引

注意:位图索引和聚集索引不能同时在一张表上面。

  1. 修改索引
    51.1 重命名索引

51.2 设置索引的可见性

51.3 索引重建

51.4 删除索引

十三、视图管理
52. 创建视图

  1. 删除视图

十四、备份与还原操作
54. 逻辑导出
54.1 创建DIRECTORIES目录

54.2 全库导出
./dexp userid=SYSDBA/dameng123 directory=/dm8/dmdba/dmdbms/dmp file=full.dmp log=full.log full=y

54.3 按用户导出
./dexp userid=SYSDBA/dameng123 directory=/dm8/dmdba/dmdbms/dmp file=dmhr.dmp log=dmhr.log owner=dmhr

54.4 SQL文件脚本导入数据库

  1. 物理导出
    55.1 联机备份(SQL方式)
    55.1.1 命令行方式

55.1.1.1 全备份(full)
backup database backupset ‘/dm8/dmdba/dmdbms/rmanbak/db_full_01’;

55.1.1.2 增量备份(increment)

backup database increment with BACKUPDIR ‘/dm8/dmdba/dmdbms/rmanbak’ backupset ‘/dm8/dmdba/dmdbms/rmanbak/increment_bak_01’;

55.1.1.3 归档备份

55.1.2 图形化方式

dmap服务是启动的,

解决方法是:增加备份目录到指定路径:/dm8/dmdba/dmdbms/rmanbak

55.1.2.1 全备份(完全备份)

点击下面确认按钮,备份。

备份成功。

55.1.2.2 使用备份视图查看
使用之前,需要使用SF_BAKSET_BACKUP_DIR_ADD函数增加备份目录

刚才备份的备份集没有出现。

执行备份路径添加:

再次查看出现备份集信息

55.1.2.3 增量备份

55.1.2.4 归档备份

55.2 脱机备份(RMAN方式)

55.2.1 脱机备份3个条件

(1)、DmAPService服务正常运行
(2)、在/dm8/dmdba/dmdbms/bin目录下面执行dmrman命令
(3)、备份的实例必须处于关闭状态。

55.2.2 命令行方式
55.2.2.1 数据库全备份

(1)关闭数据库:

(2)rman备份:
backup database ‘/dm8/dmdba/dmdbms/data/DAMENG/dm.ini’ full backupset ‘/dm8/dmdba/dmdbms/rmanbak/rman_db_full_01’;

55.2.2.2 增量备份

backup database ‘/dm8/dmdba/dmdbms/data/DAMENG/dm.ini’ increment with backupdir ‘/dm8/dmdba/dmdbms/rmanbak’ backupset ‘/dm8/dmdba/dmdbms/rmanbak/rman_db_incre_01’;

增量备份和全备份之间需要事务的发生,不然会报不需要备份,不会产生增量备份集。

55.2.2.3 归档备份

backup archivelog all not backed up database ‘/dm8/dmdba/dmdbms/data/DAMENG/dm.ini’ backupset ‘/dm8/dmdba/dmdbms/rmanbak/rman_db_arch_01’;

55.2.3 图形化方式
脱机备份需要登录控制台进行备份,无法使用DM管理工具

./console

55.2.3.1 数据库全备份

备份成功。

55.2.3.2 数据库归档备份

归档备份成功

  1. 物理还原
    使用最新的全备份集rman_db_full_02进行数据库还原恢复操作:
    由于是实验环境,进行原库直接还原操作,不需要删除数据文件,
    还原就直接覆盖原数据文件。

56.1 数据库还原(图形方式)

56.2 数据库恢复(图形方式)

56.3 更新DB_Magic(图形方式)

恢复完成,打开数据库看看。

服务启动之后,数据库正常打开

56.4 数据库还原(命令行方式)

restore database ‘/dm8/dmdba/dmdbms/data/DAMENG/dm.ini’ from backupset ‘/dm8/dmdba/dmdbms/rmanbak/rman_db_full_02’

56.5 数据库恢复(命令行方式)
recover database ‘/dm8/dmdba/dmdbms/data/DAMENG/dm.ini’ from backupset ‘/dm8/dmdba/dmdbms/rmanbak/rman_db_full_02’

56.6 更新DB_Magic(命令行方式)
recover database ‘/dm8/dmdba/dmdbms/data/DAMENG/dm.ini’ update db_magic;

恢复完成。

数据库服务启动之后,数据库正常打开。

十五、作业管理
57. 创建代理环境

命令行方式创建代理环境

SP_INIT_JOB_SYS(1);

57.1 新建作业

57.1.1 配置作业常规

57.1.2 配置作业步骤

57.1.3 配置作业调度

这个脚本是调度自动生成的。
call SP_CREATE_JOB(‘full_db’,1,0,’’,0,0,’’,0,‘每5分钟全备份数据库’);

call SP_JOB_CONFIG_START(‘full_db’);

call SP_ADD_JOB_STEP(‘full_db’, ‘backup_full_database’, 0, ‘backup database ‘’/dm8/dmdba/dmdbms/data/DAMENG/dm.ini’’ full backupset ‘’/dm8/dmdba/dmdbms/rmanbak/rman_db_full_%U’’;’, 1, 1, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE(‘full_db’, ‘backup_full_database’, 1, 1, 1, 0, 5, ‘00:00:00’, ‘23:59:59’, ‘2022-11-23 23:15:00’, NULL, '每间隔5分钟全备份一次数据库。

');

call SP_JOB_CONFIG_COMMIT(‘full_db’);

十六、开发管理
58. ODBC配置

58.1 解压ODBC

tar -zxvf /opt/unixODBC-2.3.11.tar.gz

cd unixODBC-2.11.0

58.2 源码编译ODBC

root用户执行:

./configure
make
make install

58.3 配置ODBC

58.3.1 配置odbc.ini文件
[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = dameng123
TCP_PORT = 5236

55.3.2 配置odbcinst.ini文件
[DM8 ODBC DRIVER]
Drscription = ODBC DRIVER FOR DM8
Driver = /dm8/dmdba/dmdbms/bin/libdodbc.so

58.4 访问ODBC

成功访问.

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服