注册
DCA培训笔记内容及考试分享
专栏/培训园地/ 文章详情 /

DCA培训笔记内容及考试分享

袁锐 2024/08/19 525 1 0
摘要

前言

参加为期3天的DCA线上培训并通过考试后,我感到收获颇丰。在这次培训中,我不仅初步掌握了达梦数据库的基础理论知识,还在实际操作中得到了很好的锻炼。这次培训让我更全面地认识了达梦数据库的功能和特点,也为我日后在数据库领域的进一步学习打下了坚实的基础。通过这次学习,我对达梦数据库的后续深入研究产生了浓厚的兴趣,相信在未来的工作中,我能够更加自信地应用这些知识。

以下内容分为考试经历和个人整理的笔记内容,共享给大家

考试回顾

培训老师和考试老师非常认真负责,及时在qq群里回复消息!有问题可以直接请教

考试的形式:纯上机考试(2h),考试的登录信息会在考试前半小时发送到个人邮箱上,需要提前安装VNC软件,根据邮件里提供的用户密码、服务器IP和端口号,通过VNC软件进行登录

考试的范围:基本上培训课讲到的内容都会涵盖

考试结果:考试完成后的2~3个工作日内,就会收到考试结果

总结

整个培训的过程体验都很好,培训的讲师非常有经验,能应对各种专业问题。

在正式考试前建议多练习几遍上课的内容,熟悉基础操作和图形化的工具使用,考试需要仔细的确认题目的要求,题目要求比较严谨。

最后附上培训笔记

DM8 体系结构

C/S架构,由客户端+服务器构成

数据库=数据库文件+实例

数据库文件:配置文件、控制文件、数据文件、重做日志文件、归档日志文件、跟踪日志文件、备份文件

实例=一组进程/线程+共享内存

数据库实例是数据库管理系统的运行环境,负责管理和操作数据库;数据库是存储在磁盘上的数据集合,由实例管理。两者共同构成了完整的数据库系统,确保数据的存储、管理和访问功能。

实例又分为单实例和集群。单实例就是一个实例管理一个数据库,集群是多个实例管理一个数据库。

存储结构

数据库参数类型

  1. 配置文件

    /dm8/data/DAMENG中以.ini结尾的文件

    数据库参数的类型:

    select distinct para_type from v$dm_ini;
    • READ ONLY:手动参数,不能通过 SQL 命令或函数修改;只能通过修改 dm.ini 文本文件修改。此参数(需要重启数据库才能生效)。
    • SYS:动态(系统级)参数。数据库运行中可以直接修改,可以即可以修改内存中的值,也可以修改参数文件中的值。可以通过 SQL 命令或系统函数修改。
    • SESSION:动态(会话级)参数,数据库运行中可以直接修改,可以即可以修改内存中的值,也可以修改参数文件中的值,还可以只修改当前会话的值。可以通过 SQL 命令或函数修改,且可以只针对当前会话生效。
    • IN FILE:静态参数,不能修改内存中的值,只能修改参数文件中的值,可以通过 SQL 命令或函数修改,但需要重启数据库才能生效。

    静态参数在数据库运行期间不能修改内存中的值,动态参数在数据库运行期间可以修改内存中的值(修改后立即生效)。

    数据库参数的修改方法

    1. console 控制台工具

      图形化界面方式修改,不管修改什么类型参数都需要重启数据库才能生效(修改的是 dm.ini 配置文件)。

    2. 直接修改 dm.ini 配置文件

      可以 vim 编辑 dm.ini 文件,采用此方式不管修改什么类型参数都需要重启数据库才能生效。

    3. 系统函数修改

      可以用来修改静态和动态参数,静态参数只能修改配置文件中的值(修改后需要重启数据库才能生效),动态参数即可以修改内存中的值(修改成功后即生效),也可以修改参数文件的值。

      • SP_SET_PARA_VALUE:修改整型参数。
      • SP_SET_PARA_DOUBLE_VALUE:修改浮点型参数:比如 UNDO_RETENTION。
      • SP_SET_PARA_STRING_VALUE:修改字符型参数

      参数说明:SCOPE:修改范围(0:memory;1:both(memory+spfile);2:spfile)

    4. 使用 SQL 语句 alter system set 命令修改

      可以用来修改静态和动态参数,静态参数只能修改配置文件中的值(修改后需重启数据库才能生效),动态参数即可以修改内存中的值(修改成功后即生效),也可以修改参数文件的值。

      alter system set '***'=2 both|memory|spfile;
      • both: 相当于 memory+ spfile,表示对内存中和参数文件都修改;
      • memory:修改内存中的值;
      • spfile:修改参数文件中的值。

      对于会话级动态参数,可以只针对当前会话生效:

      alter session set 'LIST_TABLE'=0;
  2. 数据文件

    .DBF结尾的文件

    select * from v$datafile;
  3. 控制文件

    .ctl结尾的文件

    DM 控制文件 dm.ctl 为二进制文件,无法直接打开,可以用 dmctlcvt 工具转换为文本文件。控制文件中包含了 OGUID、数据库状态、数据库名称、最后启动时间等、表空间信息、数据文件信息、联机日志文件信息等。

    select para_name,para_value from v$dm_ini where para_name like '%PATH%';

    查看控制文件内容:

    使用工具dmctlcvt

    ./dmctlcvt help # 将控制文件转换为文本文件 ./dmctlcvt type=1 src=/dm8/data/DAMENG/dm.ctl dest=/tmp/dmctl.txt
  4. 重做日志文件

    重做日志文件记录的是数据库发生变化(insert,update,delete,alter.create)的信息。**至少需要两个重做日志文件。**重做日志的特点是循环写,可覆盖。重做日志文件可以重命名、扩展大小,也可以添加。重做日志文件不能被删除。重做日志文件频繁切换会对数据库产生比较大的影响,考虑增加日志文件,或者是扩展文件大小。

    视图:v$rlogfile

    select file_id,path,rlog_size from v$rlogfile;
    1. 新增重做日志文件

      alter database add logfile '/dm8/data/DAMENG/DAMENG03.log' size 300;
    2. resize重做日志文件大小

      alter database resize logfile '/dm8/data/DAMENG/DAMENG01.log' to 300;
    3. 迁移重做日志文件

      alter database mount; alter database rename logfile '/dm8/data/DAMENG/DAMENG01.log' to '/dm8/DAMENG01.log' alter database open;
  5. 归档日志文件

    就是重做日志文件的副本。用来做数据库备份恢复,数据库守护集群,读写分离集群的同步。

    开启归档:

    • CLI:

      alter database open; alter database mount; alter database archievelog; alter database add archivelog 'type=local,dest=/dm8/data/arch,file_size=100,space_limit=0'; select name,arch_mode from v$database; alter database open;
    • GUI

      1. 管理服务器

      2. 系统管理

        将数据库启动到mount状态

      3. 归档配置

        开启归档模式并设定归档路径及文件大小、空间限制等。

      4. 将数据库启动到open状态

  6. 备份文件

    .bak为扩展名的文件。备份文件就是数据库在某一个时间点的副本。

  7. 跟踪日志文件

    跟踪日志文件记录的是各个会话执行的sql信息。还记录了数据库错误信息、性能相关问题。

    通过参数SVR_LOG,默认值为0,关闭。

    select para_value,para_name from v$dm_ini where para_name='SVR_LOG';

内存结构

  • 物理结构

    1. 共享内存是

      共享内存池是DMSERVER启动时从操作系统申请的一大片内存,实例在运行中可以向共享内存池申请或者释放内存

      select * from SYS."V$DM_INI" where "V$DM_INI".PARA_NAME like '%MONORY%';
      • MAX_OS_MENORY:可以使用物理内存的百分比
      • MEMORY_POOL:公共池,减少系统调用
      • MEMORY_TARGET:为0表示不限制内存使用。
    2. 运行时内存池

      给特定模块单独使用,例如绘画内存池和虚拟机内存池。

    3. 数据缓冲区

      缓存的是数据页(空闲、干净、脏、正在使用),使用数据缓冲区可以提高数据库的读写性能。

      数据库缓冲区设置的太小会造成性能问题,设置的过大又会引起资源浪费。

      select * from v$bufferpool; select * from SYS."V$PARAMETER" t WHERE name in ('BUFFER','FAST_POOL_PAGES','RECYCLE','KEEP'); --修改数据缓冲区大小为500M: alter system set 'BUFFER'= 500 spfile;

      数据缓冲区有4种类型:

      • normal、keep:可以手动调整。默认为normal
      • fast、recycle:系统自动管理。recycle缓存的是临时数据。
    4. 日志缓冲区

      存放的是重做日志信息,单位是页,避免直接对磁盘进行操作,提升数据库的性能。

      select para_name,para_value from v$dm_ini where para_name like '%RLOG_%';

      重做日志的刷盘机制:每三秒/事务提交。

      • 什么情况下会做重做日志的刷盘:执行 commit,每 3 秒,日志缓冲区满,执行检查点、正常关闭数据库。
      • 当执行 commit 的时候,是否会做重做日志的刷盘? --是
      • 当执行 commit 的时候,是否会做数据缓冲区的刷盘(将数据缓冲区中的数据,写入数据文件)?--否
      • 减少 commit 次数,可以提高性能。
    5. 字典缓冲区

      字典缓冲区是存在数据库对象的一片缓冲区,对应 INI 参数 DICT_BUF_SIZE

      select para_name,para_value from v$dm_ini where para_name like '%DICT_BUF_SIZE%';
    6. SQL缓冲区

      缓存 sql 语句、对应的执行计划、缓存结果集(需要开启结果集缓存,默认不开启)

      select para_name,para_value from v$dm_ini where para_name like '%CACHE_POOL%';
    7. 排序区

      排序去就是sql排序需要的内存空间,在内存中无法完成将转移到磁盘上(临时表空间)

      select para_name,para_value from v$dm_ini where para_name='SORT_BUF_SIZE';
  • 逻辑结构

    1. 表空间

线程结构

  1. 监听线程

    检测来自客户端的连接请求,把任务交给工作线程。

  2. IO线程

    将数据也从磁盘读入数据缓冲区中,将数据缓冲区中的脏页在一定机制(缓冲区满,数据库关闭,执行检查点)下刷到磁盘中。

  3. 日志刷新线程

    将重做日志缓冲区中的记录在一定机制下刷新(事务提交,执行检查点,每3秒,缓冲区满,数据库关闭)到重做日志文件。

  4. 日志归档线程

    将重做日志文件在切换时拷贝到归档路径下。

  5. 日志重做线程

    主要用于数据库恢复。

  6. 调度线程

    • 检查系统级的事件触发器;

    • 清理SQL缓存、计划缓存中失效的项,或者超出缓存限制后淘汰不常用的缓存项;

    • 动态缓冲区检查,根据需要动态扩展或动态收缩系统缓冲池;

    • 自动执行检查点

    • 会话超时检测

    • 必要时执行数据更新页刷盘

    • 唤醒等待的工作线程;

一个SQL执行过程

  1. 客户端发起连接请求(监听线程、工作线程)
  2. 语法分析(字典缓冲区、SQL缓冲区)
  3. 语义分析(字典缓冲区)
  4. 权限分析(字典缓冲区)
  5. 查看数据库页是否在buffer中,在内存中就会产生逻辑读,不在就会产生物理读(数据缓冲区,sql缓冲区,IO线程)
  6. 数据发生变更(日志缓冲区、日志刷新线程,数据缓冲区,IO线程,工作线程)
  7. 是否有可用的执行计划,有就按执行计划执行,没有则生成执行计划,执行sql,结果集返回客户端。(字典缓冲区,排序区、hash区、工作线程、IO线程、sql缓冲区)

数据库的安装

查看软硬件环境


cat /proc/cpuinfo

物理内存至少为1G,swap分区一般是物理内存的1.5倍

free -m
fdisk -l df -h

关闭防火墙

systemctl stop firewalld systemctl disable firewalld systemctl status firewalld

规划路径


mkdir -p /dm8

规划安装用户

groupadd dinstall useradd -d /dm8 -m -g dinstall dmdba passwd dmdba chown dmdba:dinstall -R /dm8 ls -ld /dm8

用户环境变量配置

su - dmdba vim ~/.bash_profile export DM_HOME=/dm8 export PATH=$PATH:$DM_HOME/bin export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/bin" source ~/.bash_profile

设置文件最大打开数


  • 重启服务器生效

    vim /etc/security/limits.conf dmdba soft nofile 4096 dmdba hard nofile 65536
  • 临时生效

    ulimit -n 65536

数据库软件安装


  1. GUI版本安装

    mount -o loop /home/dm8_setup_rh7.iso /mnt cd /mnt export DISPLAY=192.168.128.1:0.0 xhost + ./DMInstall.bin

    查看DmAP服务

    ./DmAPService status ./dmservice.sh
  2. 命令行安装

    ./DMInstall.bin -i
  3. 安装完成后的文件夹

    • bin:达梦数据库命令,服务,库文件
      • DmAPService——数据库辅助插件服务
      • DmServiceDMSERVER——数据库实例服务
      • dminit
      • dmserver——前台进程启动数据库
      • DmServiceDMSERVER——后台进程启动关闭数据库
      • disql
    • bin2:utf8
    • drivers:驱动
    • license_*:许可信息
    • release_*:版本信息
    • uninstall:数据库卸载脚本
    • include:c语言头文件
    • samples:示例
    • desktop:桌面
    • jar:jar包(快速装在,导入导出,日志挖掘)
    • log:数据库日志信息
    • script:脚本
    • web:
    • doc:手册
    • jdk:java包
    • tool:客户端工具
      • dmservice.sh——DM服务查看器
      • dbca.sh——达梦数据库配置助手
      • manager——管理工具
      • console——查看和修改参数,做冷备和恢复
      • monitor——监控

数据库软件的卸载


  1. GUI:
    ./uninstall.sh
  2. CLI
    ./uninstall.sh -i

创建数据库实例

一个数据库软件是可以创建多个实例,通过端口号区别,达梦默认端口号是:5236

  1. GUI

    su - dmdba export DISPLAY=192.168.128.1:0.0 xhost+ cd /dm8/tool/ ./dbca.sh
    1. 创建数据库模板

    2. 指定数据库目录

      /dm8/data

    3. 数据库标识

    4. 数据库文件

      /dm8/data/DAMENG/dm.ctl

    5. 初始化参数

    6. 口令管理

    7. 创建示例库

    8. 创建摘要

    9. 创建

    查看数据库是否启动

    ps -ef|grep dmserver netstat -nt|grep 5236 ./DmServiceDMSERVER status ./dmservice.sh
  2. CLI

    建库查看帮助

    ./dminit help
    
    ./dminit db_name=DAMENG02 instance_name=DMSERVER2 port_num=5327 path=/dm8/data
    

    注册服务查看帮助:

    脚本所在路径:/dm8/script/root

    ./dm_service_installer.sh -h
    ./dm_service_installer.sh -t dmserver -p DMSERVER2 -dm_ini /dm8/data/DAMENG02/dm.ini
    

数据库实例管理

数据库状态

  • shutdown:关闭状态
  • mount:配置状态
  • open:数据库打开状态,对外提供服务
  • suspend:挂起状态

数据库状态切换

alter database open; alter database suspend; select instance_name,status$ from v$instance;

数据库启动过程

  1. shutdown -> mount

    根据dm.ini配置文件中的参数分配内存,启动后台进程或者线程,找到控制文件并打开控制文件。

  2. mount -> open

    根据控制文件打开所有的数据文件以及重做日志文件,校验数据库是否处于一致性状态。

数据库启动/关闭

  1. 通过前台方式启动/关闭数据库

    ./dmserver /dm8/data/DAMENG/dm.ini exit
  2. 通过后台进程形式启动/关闭数据库

    ./DmServiceDMSERVER start ./DmServiceDMSERVER stop
  3. 通过服务查看启停数据库(root)

    ./dmservice.sh

数据库工具

bin路径下

  1. disql

    ./disql
    
    conn db_name/"db_passwd":port
  2. manager

    ./manager

  3. console

    ./console

    1. 查看和修改参数
    2. 做冷备和恢复
  4. DTS迁移工具

  5. 性能监视工具

    monitor

SQL

DDL

  1. 查看模式下所有表

    select table_name from user_tables;
  2. 查看表结构

    desc table_name; sp_tabledef('SYSDBA','table_name');

表空间

  1. SYSTEM:系统表空间,存放数据字典信息、动态性能视图

  2. ROLL:回滚表空间,存放数据库运行中的回滚记录

  3. TEMP:临时表空间,做排序

  4. MAIN:数据库默认表空间,存放的是用户的数据。创建用户或者数据库对象时不指定表空间,就放在该表空间中

  5. HMAIN:HUGE表空间

  6. 查询表空间和数据文件

    select tablespace_name,file_name from dba_data_files;
  7. 创建表空间

    创建表空间test,数据文件初始大小为50M,每次自动扩展2M,最大可扩展1G

    create tablespace "TEST" datafile '/dm8/data/DAMENG/TEST01.DBF' size 50 autoextend on next 2 maxize 1024 CAHCE = NORMAL;
  8. 表空间状态

    • 脱机状态

      alter tablespace test offline;
    • 连接状态

      alter tablespace test online;
    • 查看表空间状态

      select A.TABLESPACE_NAME,A.STATUS from dba_tablespaces A;

      0为联机状态,1为脱机状态

  9. 维护表空间

    1. 表空间不足

      • 扩展数据文件

        alter tablespace "TEST" resize datafile 'TEST01.DBF' to 2000;
      • 添加数据文件

      alter tablespace "TEST" add datafile '/dm8/data/DAMENG/TEST02.DBF' size 100 autoextend on next 1 maxsize 2000;
    2. 更换数据文件路径

      • 表空间脱机

      • 更换路径

        alter table space test rename datafile '/dm8/data/DAMENG/TEST01.DBF' to '/dm8/TEST01.DBF';
      • 表空间联机

  10. 维护回滚表空间

    alter tablespace "ROLL" add datafile '/dm8/data/DAMENG/ROLL02.DBF' size 100 autoextend on next 1 maxsize 10240;
  11. 临时表空间

    select para_name.para_value from v$dm_ini where para_name like '%TEMP%';

    system,roll,temp表空间不允许脱机,temp表空间不能被删除。

  12. 表空间删除

    drop tablespace test;

用户管理

用户

  • sys:不能登录,存放的数据字典和视图
  • sysdba:管理员
  • sysauditor:审计员
  • syssso:安全员
select a.USERNAME,a.ACCOUNT_STATUS from dba_users a;
  1. 规划用户

    • 命名:以字母开头,a-z,0-9,$#_,长度不超过128个字符

    • 权限分配:系统权限、对象权限、角色

    • 存储:表空间

    • 密码策略:PWD_POLICY

      设置系统默认口令策略

      • 0:无策略
      • 1:禁止与用户名相同
      • 2:口令长度不小于9
      • 4:至少包含一个大写字母(A-Z)
      • 8:至少包含一个数字(0-9)
      • 16:至少包含一个标点符号

      配置的和,如3=1+2,表示同时启用第1项和第2项策略

      将密码策略设置为禁止与用户名相同并且口令长度不小于9

      sp_set_para_value(1,'PWD_POLICY',3);
  2. 系统权限

    权限名称 说明
    CREATE TABLE 创建表
    ALTER DATABASE 修改数据库
    CREATE TABLESPACE 创建表空间
    ALTER TABLESPACE 修改表空间
    DROP TABLESPACE 删除表空间
    CREATE USER 创建用户
    CREATE VIEW 创建视图
    CREATE PROCEDURE 创建存储过程/函数
    CREATE ROLE 创建角色
    CREATE SCHEMA 创建模式
  3. 对象权限

    对象权限 视图 序列 过程
    ALTER
    DELETE
    EXECUTE
    INSERT
    REFERENCES
    SELECT
    UPDATE
  4. 创建用户

    创建tbs用户,用户属于tbs表空间,tbs用户有建表和建视图的权限。

    1. 创建tbs表空间

      create tablespace "TBS" datafile '/dm8/data/DAMENG/TBS01.DBF' size 32 CACHE = NORMAL;
    2. 创建tbs用户

    3. 修改用户

    4. 修改用户默认表空间

      alter user "TBS" default tablespace "TEST";
    5. 锁定用户

      alter user tbs account lock;
    6. 解锁用户

      alter user tbs account unlock;
    7. 删除用户

      drop user test;

角色

角色是一组权限的集合,方便权限管理。角色是可以被授予给角色和用户的。

  1. 创建juese

  2. 授予角色给用户

  3. 撤回角色

  4. 启动角色

  5. 禁用角色

  6. 删除角色

    drop role r1;

模式对象管理

模式就是一组数据库对象的集合

模式对象:表、索引、视图、触发器、存储过程、同义词、包、序列

模式与用户的关系:一个用户可以对应多个模式,一个模式只能属于一个用户,创建用户时会自动创建一个同名的模式。

  1. 模式

    用sysdba用户登录,默认就是在sysdba模式下。

    • 创建模式

      create schema abc; /

      模式存在,则不允许创建与模式同名的用户

    • 切换模式

      set schema abc;
    • 删除模式

      drop schema abc; ``
    • 系统表:数据库自己创建和维护的表,存放的时数据库信息
    • 用户表:自己创建的表,用户的真实数据

    DM支持表的类型:索引组织表、堆表、外部表、分区表

    1. 创建表

      1. 命名:以字母开头,a-z,0-9.$#_
      2. 数据类型:int,number,date,char,varchar,clob,long,blob
      3. 存储位置:表空间,建表时没有指定表空间,就存在用户默认表空间中
      4. 约束类型:主键约束、非空约束、唯一约束、外键约束、检查约束
        • 非空约束

          create table test (id char(20) not null);
        • 唯一约束:创建唯一约束会自动创建一个唯一索引,忽视控制,空不等于任何值。

          create table test(id int unique,name varchar(20));
        • 主键约束:非空+唯一,一个表只能有一个主键,设计主键尽量避免业务逻辑的列

          create table test(id int primary key);
        • 外键约束:保证数据完整性

          create table "TEST"("ID" int); alter table test add constaint foreign key("ID") references "TEST"("ID");
        • 检查约束

          create table test(id int chech(id>5));
    2. 管理表

      • 重命名表

        alter table test2 rename test1;
      • 添加列

        alter table "TEST1" add column ("add" VARCHAR(50));
      • 删除列

        alter table "TEST1" drop column "add";
    3. 管理约束

      • 查看约束

        select constraint_name,table_name,status from user_constraints;
      • 启动约束

        alter table test1 enable constraint CONS***;
      • 禁用约束

        alter table test disable constraint CONS***;
  2. 视图

    视图就是一个查询语句,一张虚拟表

    DM视图:简单视图、复杂视图、物化视图

    • 创建视图的语法:

      create view *** as select ***; create or replace view *** as select ***;
    • 删除视图

      drop view ***;
  3. 索引

    索引是数据库对象

    索引作用:加快查询速度,对更新少量数据时,可以提高更新速度,insert时会有延迟。

    数据库会自动维护索引,索引会占用存储空间。

    创建索引基本要求:

    • 经常查询的列
    • where条件中出现的列
    • 连接列
    • 返回少量或小部分数据

    不适合建立索引:

    • 列上有大量的重复值

    • 列上有大量的null

    • 结果集返回大量的数据

    • 创建索引

      create index "IND_EMP" on "EMP"("EMPLOYEE_NAME");
    • 查询索引信息

      usesr_indexes
    • 查看sql执行计划

      explain select * from emp where employee_name='aaa';
    • 重建索引

      alter index IND_EMP rebuild;
    • 删除索引

      drop index IND_EMP;

备份还原

物理备份主要是备份使用过的有效数据页,逻辑备份主要是备份数据库对象(表,索引,视图,存储过程等)

物理备份分为联机备份和脱机备份;完全备份和增量备份

还原就是将某个时间点的数据库副本拷贝到对应的目录下。

恢复就是在完成数据库还原之后,应用部分或者是全部归档日志。

物理备份

冷备:不需要开启归档,需要开启DmAP服务,需要关闭数据库实例,针对整库做备份

./DmServiceDMSERVER stop
-- 查看备份路径 show parameter bak
  1. console工具备份

  2. 用dmrman工具备份,只支持冷备

    cd /dm8/bin ./dmrman backup database '/dm8/data/DAMENG/dm.ini' backupset '/dm8/backup';

热备:需要开启归档,数据库需要打开,可以备份数据库、表空间、表、归档日志

查看数据库归档模式:

select name,arch_mode from v$database;

用manager工作做热备

  1. 整库备份

  2. 命令行做全备:disql工具

    backup database full to "DB_DAMENG_FULL";--备份到参数文件中的备份路径 backup database full to "DB_DAMENG_FULL2" BACKUPSET '/dm8/backup';
  3. 做增量备份

    backup database increment to "***" backupset '***';
  4. 表空间备份
    表空间备份只能联机,还原只能脱机

  5. 表备份

  6. 归档备份

    归档不连续

    -- 查看归档文件 select * from v$arch_file; -- 删除归档 sf_archivelog_delete_before_lsn(700363)

物理还原

检查备份集是否有效

./dmrman check backupset '/dm8/backup';
  1. console工具还原

  2. dmrman工具还原

    restore database '/dm8/data/DAMENG/dm.ini' from bashupset '/dm8/backup'; recover database '/dm8/data/DAMENG/dm.ini' with archivedir '/dm8/data/arch'; recover database '/dm8/data/DAMENG/dm.ini' update db_magic;
  3. 表空间还原

    restore database '/dm8/data/DAMENG/dm.ini' tablespace MAIN from backupdset '/dm8/backup'; recover database '/dm8/data/DAMENG/dm.ini' tablespace MAIN;

逻辑备份

备份的是数据库对象

逻辑备份可以用来迁移和重组数据库,是数据库辅助性备份。

工具:dexp/dimp

四个级别导入导出:

  • 库级别

  • 用户

  • 模式

  • 查看帮助:

    ./dexp help ./dimp help
  • 全库导出:

    ./dexp sysdba/DAMENG123 file=full.dmp log=full.log directory=/dm8/backup full=y
  • 用户导出:

    ./dexp sysdba/Dameng123 file=dmhr.dmp log=dmhr.log directory=/dm8/backup owner=dmhr
  • 导出表:

    ./dexp sysdba/Dameng123 file=emp.dmp log=emp.log directory=/dm8/backup tables=emp
  • 全库导入

    ./dimp sysdba/Dameng123 file=full.dmp log=imp_full.log directory=/dm8/backup full=y

执行用户导入时,如果用户不存在,要先创建用户

作业管理

创建代理环境

新建作业1,每周三,每周日22:00做全备

新建作业2,每周一二四五六做增量备份

DM8开发

Linux配置odbc

用root配置,检查gcc包

rpm -qa|grep gcc tar -xvf unixODBC-2.3.0.tar.gz cd unixODBC-2.3.0 ./configure make && make install odbcinst -j

配置文件/usr/local/etc/odbcinst.ini

[DM8 ODBC DRIVER] Description = ODBC DRIVER FOR DM8 DRIVER = /dm8/bin/libdodbc.so

配置文件/usr/local/etc/odbc.ini

[dm8] Description = DM ODBC DSND Driver = DM8 ODBC DRIVER SERVER = localhost UID = SYSDBA PWD = Dameng123 TCP_PORT = 5236

测试连接:用dmdba账号

dialect/lsql dm8

考试

考试时间两个小时,总分100分
考试环境:中标麒麟7+达梦8
考试内容:数据库软件安装、实例创建、用户创建、表空间管理、建表、建视图、数据导入、参数修改、备份还原、作业、DMSQL、ODBC配置。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服