zoukankan      html  css  js  c++  java
  • 达梦数据库还原

    逻辑导入主要使用dimp命令

      四种级别的导入命令如下:

      FULL: ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log FULL=Y  DIRECTORY=/mnt/data/dimp

      OWNER: ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log  OWNER=USER01 DIRECTORY=/mnt/data/dimp

      SCHEMAS: ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log SCHEMAS=USER01 DIRECTORY=/mnt/data/dimp

      TABLES: ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log TABLES=table1,table2 DIRECTORY=/mnt/data/dimp

    远程导入文件命令:sshpass -p pwd  scp -P 22 username@远程ip:/opt/data/test1.dmp + 本地存放目录

    以tables级别为例:

    在备份是已将备份文件名和等备份信息保存到数据库,还原时通过记录id查询到备份信息拼接语句。

     public String recover(Map<String, Object> param) {
            String result = "";
            String copyType = param.get(“type”);
            Map<String, Object> map = new HashMap<>();
            Connection conn = DMruntimeUtil.login(ip, userName, userPwd);
            String filename = param.getWjmc();
            if (param.get(“tids”) == "") {
                //全部恢复
            } else {
                //部分恢复
                // 根据tids拼接表名
                List<Bfb> bfbList = bfbMapper.getTables(param.getTids().toString().split(","));
                if (bfbMapper == null || bfbList.size() == 0) {
                    return null;
                }
                
                String tnames = param.get("tnames");
                String dexpStr = "";
    
                // 恢复命令./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log
                // DIRECTORY=/mnt/data/dimp
                dexpStr = DMruntimeUtil.dimpByTables(hostip, dbname, username, password, filename, tnames);
                if (copyType.equals("本地")) {
                    String cmd = "cd /opt/dameng/dmdbms/bin;" + dexpStr;
                    result = DMruntimeUtil.execute(conn, cmd);
                } else if (copyType.equals("异域")) {
                    // sshpass -p pwd scp -P 22 root@ip:/opt/data/test1.dmp
                    // /opt/dameng/dmdbms/dm7data/EVAL/dexp/
                    String cmd = "sshpass -p  " + param.getRepassword() + " scp -P " + param.getPort() + " "
                            + param.getUsername() + "@" + param.getIp() + ":" + param.getDir() + "/" + filename
                            + " /opt/dameng/dmdbms/dm7data/EVAL/dexp/;cd /opt/dameng/dmdbms/bin;" + dexpStr;
                    result = DMruntimeUtil.execute(conn, cmd);
                }
            }
            return result;
        }
  • 相关阅读:
    linux usb 驱动详解
    md5sum.c, md5.c, md5.h
    安装 Kali Linux 后需要做的 20 件事
    Readprocessmemory使用方法
    在Centos下安装matlab
    PE文件简单介绍
    MATLAB中导入数据:importdata函数
    数据交换工具Kettle
    编写你自己的单点登录(SSO)服务
    AVL树
  • 原文地址:https://www.cnblogs.com/yjwww/p/12131841.html
Copyright © 2011-2022 走看看