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;
        }
  • 相关阅读:
    Freezing Your Tuples Off 之 vacuum_freeze_min_age
    Understanding virtualxid && transactionid
    PostgreSQL and bloat
    FSM, VISIBILITY MAP AND VACUUM
    Heap Only Tuples (HOT)
    Measuring PostgreSQL Checkpoint Statistics
    PgSQL · 特性分析 · 谈谈checkpoint的调度
    TypeError: Unexpected keyword argument passed to optimizer: amsgrad原因及解决办法
    kitti 数据集解析
    ubuntu16.04 跑Apollo Demo
  • 原文地址:https://www.cnblogs.com/yjwww/p/12131841.html
Copyright © 2011-2022 走看看