DMDCA培训笔记

DMDCA培训

最近参加了达梦数据库的DCA认证培训,对培训内容做一下整理和总结

一、环境准备

  • 操作系统:centos7
  • 数据库:DM8

二、DM数据库的安装与创建实例

  • 安装前的规划:
    安装路径:/dm8
    数据库创建目录:/dm8/data
    归档路径:/dm8/arch
    备份路径:/dm8/backup
  • 挂载iso文件
[root@localhost /]# mount /opt/dm8_20220525_x86_rh6_64.iso /mnt
  • 规划安装用户组,不推荐用root用户安装。新增用户组dinstall和用户dmdba
[root@localhost /]# groupadd dinstall
[root@localhost /]# cat /etc/group|grep dinstall
dinstall:x:1001:
[root@localhost /]# useradd -g dinstall -m -d /home/dmdba -s/bin/bash dmdba
[root@localhost /]# passwd dmdba
更改用户 dmdba 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
  • 新建dm8目录
[root@localhost /]# mkdir dm8
[root@localhost /]# chown dmdba:dinstall /dm8
  • 安装DM数据库,有两种方式安装。分别是图形化界面和命令行安装,比较简单。注意图形化安装时需要设置一下DISPLAY的值。
  • 创建DM数据库实例,也有两种方式,图形化创建和命令行创建,首先是图形化创建
[dmdba@localhost tool]$ ./dbca.sh
  在tool目录下去运行dbca.sh,使用图形化打开数据库配置助手
  • 使用命令行去初始化数据库,用dminit工具去初始化。使用dminit去初始化的实例,默认是没有注册数据库服务的。需要之后去手动注册服务。
[dmdba@localhost bin]$ ./dminit path=/dm8/data db_name=dmoa 
instance_name=dm5238 port_num=5238 length_in_char=y sysdba_pwd=Dameng021

[root@localhost root]# ./dm_service_installer.sh -t dmserver -p DMOASVR -dm_ini /dm8/data/dmoa/dm.ini
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMOASVR.service to /usr/lib/systemd/system/DmServiceDMOASVR.service.
创建服务(DmServiceDMOASVR)完成
  • 启动DM数据库,root用户可以使用服务方式启动以及DM服务查看器启动;dmdba用户可以使用后台方式启动(DmServiceXXX)或者前台方式启动(./dmserver dm,ini)。

三、DM客户端工具

  • DM的客户端工具位于tool目录下(使用前需要设置图形化界面DISPLAY),有以下几种客户端工具:DM管理工具manager,DM数据迁移工具dts,DM控制台工具console,DM性能监视工具monitor,DM审计分析工具analyzer,DM服务查看器dmservice,DM数据库配置助手dbca,DM网络配置助手nca。

  • DM管理工具(manager)是达梦系统最主要的图形界面工具,通过它的管理、操作数据库对象,从数据库获取信息。

  • DM数据迁移工具可以在DM数据库之间,主流数据库和DM数据库之间实现数据的迁移,还可以在DM数据库到文件、文件到DM数据库之间实现数据的迁移。

  • DM控制台工具:服务器参数配置、脱机备份与还原、查看系统信息和查看许可证信息。

四、参数配置

  • DM数据库的参数信息可以查看v$parameter和v$dm.ini。
SQL> select distinct type from v$parameter;

行号     TYPE     
---------- ---------
1          READ ONLY
2          SYS
3          IN FILE
4          SESSION

READ ONLY类型参数:手工参数,不能通过SQL语句和系统参数修改,只能从dm.ini配置文件中修改

SYS类型参数:系统级动态参数; 可以通过函数或 SQL 修改此类型的参数, 即可以修改内存中的值(数据库运行期间即生效), 也可以修改参数文件中的值。

IN FILE 类型参数:静态参数,可以通过函数或 SQL 修改此类型的参数, 但不能修改内存中的值(数据库运行期间内存中的数据不能修改), 只能修改参数文件中的值(重启数据库生效)。

SESSION类型参数:会话级动态参数; 和动态参数一样, 即可以修改内存中的值也可以修改参数文件的值; 可以选择仅针对当前会话生效, 也可以对整个数据库生效。

  • 修改参数的方式

直接修改dm.ini配置文件里的参数

# 直接编辑文件修改
vim /dm8/data/XXXX/dm.ini

使用图形化工具console

cd /dm8/tool
./console
以上修改完参数,需要重启数据库使其生效

使用SQL语句进行修改

alter system set '参数名'='参数值' both | spfile | memory;
# 例子:修改兼容参数
# 查询参数类型
select name,value,type from v$parameter t where t.name like 'COMPATIBLE_MODE';
# 修改兼容参数
alter system set 'COMPATIBLE_MODE'=2 spfile;

系统函数的修改

select name,id from v$ifun t where t.name like 'SP_SET_PARA%';
# 查看参数类型
select * from v$ifun_arg t where id=584;
# 修改
sp_set_para_value(2,'COMPATIBLE_MODE',0);

五、表空间

SYSTEM表空间:系统表空间,存放的是数据字典信息。

ROLL表空间:回滚表空间,存放undo信息。INSERT、UPDATE、DELETE都会产生undo信息

MAIN表空间:用户默认表空间,创建用户时,若没有指定表空间,则使用该表空间

TEMP:临时表空间,存放索引、临时表数据和大量数据排序等产生的数据

HMAN:HUGE表(列存储表)的默认表空间

# 查看表空间
select * from dba_tablespaces;
select * from dba_data_files;
# 创建表空间
create tablespace dbtbs datafile 'DMTBS01.DBF' SIZE 32;
# 修改数据文件扩展属性
alter tablespace dbtbs datafile 'DMTBS01.DBF' AUTOEXTEND off;
# 添加数据文件
alter tablespace dbtbs add datafile 'DMTBS02.DBF' size 32 AUTOEXTEND off;
# 修改数据文件大小
alter tablespace dbtbs resize datafile 'DMTBS01.DBF' to 128;
# 修改表空间开启自动增长,增长步长,最大表空间
alter tablespace dbtbs datafile 'DMTBS01.DBF' autoextend on next 2 maxsize 1024;
# 表空间重命名
alter tablespace dbtbs rename to dmtbs;
# 删除表空间
drop tablespace dmtbs;
# 表空间迁移
alter tablespace dmtbs offline;
alter tablespace dmtbs rename datafile 'DMTBS01.DBF' to '/dm8/data/TBS/DMTBS01.DBF';
alter tablespace dmtbs rename datafile 'DMTBS02.DBF' to '/dm8/data/TBS/DMTBS02.DBF';
alter tablespace dmtbs online;

六、重做日志

重做日志:记录DML操作修改的数据页,包含操作的数据文件号,页偏移等。达梦有两个默认的联机日志文件,循环使用。重做日志包括了归档日志和联机日志。

  • 重做日志文件的相关操作
# 查看联机日志
select * from v$rlogfile;
# 添加一个联机日志
alter database add logfile 'DAMENG03.log' size 128;
# 修改大小(达梦只支持往大改)
alter database resize logfile '/dm8/data/DAMENG/DAMENG03.log' to 256;
# 迁移,注意要将数据库设置为mount状态
alter database mount;
alter database rename logfile '/dm8/data/DAMENG/DAMENG01.log' to '/dm8/data/DAMENG/REDO/DAMENG01.log';
alter database rename logfile '/dm8/data/DAMENG/DAMENG02.log' to '/dm8/data/DAMENG/REDO/DAMENG02.log';
alter database rename logfile '/dm8/data/DAMENG/DAMENG03.log' to '/dm8/data/DAMENG/REDO/DAMENG03.log';
alter database open;

七、归档管理

DM数据库默认运行在非归档模式。归档是对 REDO 日志的归档。因为联机日志循环使用,不断覆盖。开启归档的目的是保护重要数据,不接受任何情况下的数据丢失。归档保存了 REDO 日志,用于数据库的还原与恢复。也可以用于日志挖掘。另外要注意DM开启归档需要数据库处于mount状态下。

  • 开启归档(Sql)
# 将数据库设置为mount状态
alter database mount;
alter database ARCHIVELOG;
# 归档配置,配置归档路径,归档文件大小,归档文件总的大小(超过限制,就会删除之前的归档文件)
alter database add ARCHIVELOG 'type=local,dest=/dm8/arch,file_size=64,space_limit=10240';
alter database open;
# 查询归档状态
select arch_mode from SYS."V$DATABASE";
# 查看配置
select * from SYS."V$DM_ARCH_INI";
  • 关闭归档(Sql)
# 将数据库设置为mount状态
alter database mount;
alter database noARCHIVELOG;
# 删除归档文件
alter database delete ARCHIVELOG 'type=local,dest=/dm8/arch,file_size=64,space_limit=10240';
alter database open;
# 查询归档状态
select arch_mode from SYS."V$DATABASE";

八、用户管理

SYSDBA:系统管理员。具有数据库对象的几乎所有操作权限,但没有审计和强制访问控制等权限。
SYSAUDITOR:系统审计管理员,具有审计权限。
SYSSSO:安全管理员,具有强制访问控制等安全权限。
SYS:内置用户,不允许登录。
SYSDBO:对象操作员。(安全版限定)

  • 用户管理相关操作

注意密码策略
用户口令最长为 48 字节,创建用户语句中的 PASSWORD POLICY 子句用来指定该用
户的口令策略,如果没有指定,则使用系统默认口令策略(由参数 PWD_POLICY 指定),系统支持的口令策略有:
·0 无限制。但总长度不得超过 48 个字节
·1 禁止与用户名相同
·2 口令长度需大于等于 INI 参数 PWD_MIN_LEN 设置的值
·4 至少包含一个大写字母(A-Z)
·8 至少包含一个数字(0-9)
·16 至少包含一个标点符号(英文输入法状态下,除“和空格外的所有符号)
口令策略可单独应用,也可组合应用。组合应用时,如需要应用策略 2 和 4,则设置口令策略为 2+4=6 即可。

# 创建用户
create user dmtest IDENTIFIED by Dameng123 PASSWORD_POLICY 6;
# 查询密码策略
select * from v$parameter where name = 'PWD_POLICY';
# 修改密码策略
alter  system set 'PWD_POLICY' =6 BOTH;
# 手动锁定和解锁
alter user DMTEST ACCOUNT LOCK;
alter user DMTEST ACCOUNT UNLOCK;
  • 权限管理

用户:使用者在数据库系统中的身份
权限:数据库系统可以授予操作者的最小权力单位
角色:一组权限的集合
权限分类:分为系统权限和对象权限。

# 赋予用户权限
grant create table to dmtest;
grant update on dmhr.department to dmtest;
grant select on dmhr.department to dmtest;
  • 角色管理

DBA:几乎具有所有 DDL 和 DML 权限,但没有审计和强制访问控制权限。
RESOURCE:具有当前用户模式下对象的 DDL 权限和 DML 权限。
PUBLIC:具有用户模式下表或视图的 DML 数据操作权限,及 user 开头的数据字典的权限。
VTI:具有 V$开头动态视图的查询权限
SOI: 有 SYS 开头系统数据字典的权限。
角色默认是启用状态,但是可以禁用,使用 SP_SET_ROLE 函数实现禁用。

# 创建角色,并赋予角色权限
create role r1;
grant create table to r1;
# 再赋予用户角色
grant r1 to dmtest;
# 回收
create role r1;
grant create table to r1;
grant r1 to dmtest;
grant create table to dmtest;
revoke create table from r1;
revoke create table from dmtest;

九、模式对象管理

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

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

  • 模式相关
# 创建模式
create SCHEMA dmtest AUTHORIZATION SYSDBA;
# 查询模式
select * from SYS.SYSOBJECTS t WHERE t."TYPE$" = 'SCH';
# 切换(设置)模式
set schema XXXX; # XXX是模式名
  • 表相关
# 创建表
create table test1(
tid  int,
tname	varchar(60)
)tablespace dbtbs;
# 添加字段
alter table test1 add email varchar(10);
# 修改字段
alter table test1 modify email varchar(20);
# 删除
alter table test1 drop email;
  • 约束相关
# 添加约束
alter table test1 add CONSTRAINT pk_test_tid PRIMARY KEY(tid);
alter table test1 add CONSTRAINT uk_test_tname UNIQUE(tname);
# 禁用启用约束
alter table SYSDBA.TEST1 disable CONSTRAINT uk_test_tname;
alter table SYSDBA.TEST1 enable CONSTRAINT uk_test_tname;
  • 索引相关
# 创建索引
create index in_idx_tname on SYSDBA.TEST1(tname);
  • 视图相关

视图是查询语句组成的一个查询窗口。 视图中不保存数据, 数据保存在基表中。视图是一张“虚表”。

# 创建视图
create or replace view v_name as select tname from SYSDBA.TEST1;

十、备份与还原

备份分为物理备份和逻辑备份。物理备份又分为完全备份和增量备份。完全备份是指 包含指定的数据库和表空间的所有数据;增量备份是指增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件。

冷备:数据库关闭,脱机备份
热备:数据库启动,联机备份

  • 脱机备份
RMAN> backup database '/dm8/data/DAMENG/dm.ini' to DMFULLBAK03 backupset '/dm8/backup/full/DMFULLBAK03';
backup database '/dm8/data/DAMENG/dm.ini' to DMFULLBAK03 backupset '/dm8/backup/full/DMFULLBAK03';
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[44501], file_lsn[44501]
Processing backupset /dm8/backup/full/DMFULLBAK03
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:03][Remaining:00:00:00]                                 
backup successfully!
time used: 00:00:04.493
  • 联机备份
# 联机备份需要开启归档
# 全库备份到指定路径下
backup database to DMFULLBAK01 BACKUPSET '/dm8/backup/full/DMFULLBAK01';
  • 还原数据库
RMAN> restore database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/backup/full/DMFULLBAK03';       
restore database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/backup/full/DMFULLBAK03';
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]                                 
restore successfully.
time used: 00:00:02.564
RMAN> recover database '/dm8/data/DAMENG/dm.ini' update db_magic;
recover database '/dm8/data/DAMENG/dm.ini' update db_magic;
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[44501], file_lsn[44501]
recover successfully!
time used: 00:00:01.067
  • 逻辑备份
# 全库导出
[dmdba@localhost bin]$ ./dexp userid=sysdba/SYSDBA:5236 directory=/dm8/backup/dexp file=full.dmp log=full.log full=y;
# 按用户导出
[dmdba@localhost bin]$ ./dexp userid=sysdba/SYSDBA:5236 directory=/dm8/backup/dexp file=dmtest.dmp log=dmtest.log owner=dmtest;
# 按模式导出
[dmdba@localhost bin]$ ./dexp userid=sysdba/SYSDBA:5236 directory=/dm8/backup/dexp file=dmtest.dmp log=dmtest.log schemas=DMTEST;

十一、作业管理

DM作业需要初始化代理环境

  • 初始化代理环境
call SP_INIT_JOB_SYS(1); --初始化代理环境, 也会创建SYSJOB模式。
  • 创建作业
    在这里插入图片描述
    在这里插入图片描述

十二、ODBC配置

  • 进入目录解压
tar -zxvf unixODBC-2.3.0.tar.gz
  • 源码安装
./configure
make
make install
  • 修改配置文件
# 首先进入相应目录
vim odbcinst.ini
[DM8 ODBC DRIVER] 
Drscription = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so

vim odbc.ini
[DM8] 
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER 
SERVER = localhost
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5236
  • 切换到dmdba用户,进行登录
su -dmdba
isql dm8 -v
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值