DM7 备份还原、作业、DM 开发

摘要:
数据库实例已关闭);dest=/dm7/arch,文件大小=64,空间限制=0';来自v$数据库的arch_模式;[ dmdba@dca01DAMENG]$mvtbs1_02dbftbs1 _02。数据库。bak#重新启动服务#数据库处于装载状态。
备份还原

备份作用?
1、防止误操作。
2、软硬件故障,做恢复
3、防止天灾。
备份的方式:物理备份和逻辑备份
备份的介质:磁盘,磁带,光盘
集群:数据守护 ,dsc(rac)
也支持第三方的备份软件:上海爱数,鼎甲

物理备份

冷备和热备
冷备:DMAP服务是打开的,数据库实例是关闭的);
方式:

  1. 利用控制台工具去备
  2. DMRMAN工具备份:
  • 冷备份,要停止数据库,如果不停止造成数据丢失。
  • 热备份(DMAP服务是打开的,数据库实例是打开的,数据库是归档模式)

开归档:命令方式:

SQL> alter database mount;
SQL> alter database add archivelog 'type=local,dest=/dm7/arch,file_size=64,space_limit=0';
SQL> alter database archivelog;
SQL> alter database open;
SQL> select name,status$,arch_mode from v$database;

利用管理工具去开归档

[dmdba@dca01 ~]$ disql sysdba/SYSDBA@localhost:5238
SQL> select name,status$,arch_mode from v$database;

命令行方式下全备,增量备(考试的时候建议用热备)

# 全备:
SQL> backup database full backupset '/dm7/backup/full_bak';

# 增量备:
SQL> backup database increment backupset '/dm7/backup/incr_bak';

3、利用管理工具作热备

还原:
模拟表空间损坏:

[dmdba@dca01 DAMENG]$ mv tbs1_02.dbf tbs1_02.dbf.bak
# 重启服务
# 数据库处于mount状态,手动open
SQL> restore tablespace tbs1 from backupset '/dm7/backup/full_bak/';
SQL> alter database open;
SQL> alter tablespace tbs1 online;

逻辑备份

导入导出(DIMP,DEXP)分为四种级别:
数据库级别,用户级别,模式级别和表级别,四种级别独立互斥,不能同时存在,四种级别提供的功能:

  1. 数据库级别:导出或导入整个数据库的访问对象。
  2. 用户:导入或导出一个或多个用户所拥有的所有对象。
  3. 模式:导入或导出一个或多个模式下的所有对象。
  4. 表级:导出或导入一个或多个指定表或表分区。

1、逻辑导出

[dmdba@dca01 bin]$ ./dexp
sysdba/dameng123@localhost:5236 file=dexp01.dmp
log=dexp01.log directory=/dm7/backup/dexp full=y

2、导入:

[dmdba@dca01 bin]$ ./dimp sysdba/SYSDBA@localhost:5238 file=/dm7/backup/dexp/dexp01.dmp log=/dm7/backup/dexp/dimp02.log;
作业

定时去执行的一组任务

考试时尽量使用管理工具来做。命令多且繁杂。

定期去备份

  1. 创建代理环境(达梦会创建一个sysjob模式)
  2. 创建作业:
call SP_CREATE_JOB('JOB1',1,0,'',0,0,'',0,'');

call SP_JOB_CONFIG_START('JOB1');

call SP_ADD_JOB_STEP('JOB1', 'JOB1', 5, '01000/dm7/backup/JOB', 1, 2, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('JOB1', 'JOB1', 1, 2, 1, 64, 0, '22:00:00', NULL, '2020-02-19 14:48:01', 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', 'JOB2', 5, '11000/dm7/backup/full_bak|/dm7/backup/JOB', 1, 2, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('JOB2', 'JOB2', 1, 2, 1, 63, 0, '22:00:00', NULL, '2020-02-19 14:53:32', NULL, '');

call SP_JOB_CONFIG_COMMIT('JOB2');
DM 开发

支持 C 、 C++ 、 Java、Python、PHP、Perl 进行开发

/** 定义一个 DM JDBC 驱动串 */
String jdbcStr = "dm.jdbc.driver.DmDriver";

/** DM url 连接串 */
String urlString = "jdbc:dm://ip:5236";

配置 ODBC (考试要考)

# 检查是否安装了 gcc
rpm -aq|grep gcc
yum -y install gcc

tar -xzvf unixODBC-2.3.0.tar.gz
cd ./unixODBC-2.3.0
# 配置ODBC
./ configure --enable-gui=no
# 编译ODBC
make
make install

# 检查是否装好了
odbc_config --version
# 下面两个,都是获取控制文件的路径
odbc_config --odbcini
odbcinst -j

# 配置 ODBC.ini 和 odbcinst.ini


# 测试ODBC
isql dm7

存储过程

写匿名块

declare (可选项)

begin
  print("hello")
  end;
set serveroutput on
begin
for i in 1..5 loop
  print(i);
end loop;
end;
/
SQL> begin
2    for i in 1..5 loop
3        print(i);
4   end loop;
5   end;

案例 1:根据员工编号找其所在部门

CREATE PROCEDURE "TEST"."SNO"("BH" IN INT)
AS
  DEPT INT;
BEGIN
  SELECT DEPARTMENT_ID INTO DEPT FROM DMHR.EMPLOYEE WHERE EMPLOYEE_ID=BH;
  PRINT(DEPT);
END;

触发器

BEGIN
  INSERT INTO TEST.T VALUE(:OLD.SALARY,NEW.SALARY)
END;

免责声明:文章转载自《DM7 备份还原、作业、DM 开发》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇数据结构-树MySQL学习——SQL查询语句(一)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Mysql+ssh+navicate配置访问远程数据库

在电脑上打开mysql客户端软件navicate,新建mysql连接,输入连接名。切换到SSH页签。填写连接mysql数据库所在主机ip、用户名及密码。 如下图。(这里的用户名和密码是登录服务器的用户和密码) 页面切换到MYSQL,输入本地数据库访问ip、用户名、密码、及端口(默认3306)。(这次的用户名和密码是数据库的用户名和密码) 完...

[笔记]Cucumber在windows下的安装

1.下载安装Ruby 安装Cucumber要用到gem,gem是Ruby程序管理工具,类似于linux中的apt-get。所以要在Windows中安装好Ruby1.9.2的版本相对稳定些,在这里可以下载Ruby,Windows的安装包一路Next就可以了,安装完成后以cmd输入:ruby -v查看版本,如果提示不是内部命令,着加系统环境变量。 升级gems...

Navicat使用常见的两个问题及解决方法,提高开发效率

Navicat使用常见问题 在我们日常开发过程中,一般不会直接使用命令行来操作 MYSQL 数据库,而会选择一些图形化界面去帮助我们来进行此类操作,常用的有:SQLyog(Logo也是小海豚),Navicat,或者直接使用编辑器自带的图形化界面工具。我这边开发使用的是 Navicat,在日常使用的时候出现过一下的问题: Too Many Connectio...

慢查询日志(mysql)

参考 针对mysql的优化,mysql提供了慢查询日志的支持。mysql的慢查询是mysql提供的一种日志记录,它用来记录mysql中响应时间超过阀值的sql语句,某个sql运行时间如果超过设置的阀值(long_query_time),就会被记录到慢查询日志中。阀值默认值是10s,默认情况下,mysql数据库并不会启动慢查询日志,需要手动来设置这个参数(s...

SQL模糊查询语句和Escape转义字符

通配符 描述 示例 % 包含零个或更多字符的任意字符串。 WHERE title LIKE '%computer%' 将查找处于书名任意位置的包含单词 computer 的所有书名。 _(下划线) 任何单个字符。 WHERE au_fname LIKE '_ean' 将查找以 ean 结尾的所有 4 个字母的名字(Dean、Sean...

redis 模糊搜索

参考:https://blog.csdn.net/dc_726/article/details/42784317 创建一条测试 数据 查询 (默认是 DB 0 ) 创建: set name xiaoming 查询: get name 1、模糊搜索查询 (redis 默认有16个DB , 0-15 ) Redis 模糊搜索 1、keys *   匹配数据库...