最近工作需要将oracle数据库的表数据导出到另一个oracle数据库表,找到了oracle 自带的命令行,并记录下导数据过程。

导数据过程分以下几步:

假设源数据库为A,目标数据库为B

1.在B上通过ssh 远程执行本地脚本,实现在A上通过exp命令导出dmp文件,并通过scp命令将文件传送至本地(A、B之间通过生成秘钥登陆)。

2.在B上通过imp命令导入数据表。

ssh远程执行本地脚本的方式可以通过类似方式实现:

sshpass -p PASS_WORD ssh USER_NAME@xxx.xx.xx.xx < ssh_and_exp.sh

sshpass 可以通过命令行带密码的方式 执行ssh,而本地脚本ssh_and_exp.sh 如下:

#!/bin/bash

#cd到oracle安装目录
cd /oracle/app/oracle/product/11.2.0/dbhome_1/bin
path="/tmp/bg_store.dmp"
to="/tmp/scp_bg_store.dmp"
echo "=======================export has started==================================="

# 执行导出命令

./exp pg_sfa/pg_sfa@itek file=\${path} tables=bj_store_info_02
echo "=======================export has finished=================================="
chmod 755 \${path}

通过scp命令传递A到B

scp -o StrictHostKeyChecking=no -i /home/id_rsa root@xx.xx.xx.xx:\${path} ${to}

再通过imp命令导入数据表:

./imp pg_sfa2/pg_sfa2@itek file=\${to} full=y ignore=y

即可实现整个过程。

另外,执行命令的oracle用户需要配置ORACLE_HOME, 并且在PATH里添加ORACLE_HOME/bin

export ORACLE_HOME=/oracle/xxxx

export PATH=\$ORACLE_HOME/bin:\$PATH

附上填坑过程:

1. 登录源数据linux服务器, 切换至oracle用户 或 将root用户添加至oracle组中,用来执行exp命令

遇到

2.网上搜索使用

SQL> show parameter background_dump_dest

来找告警日志。于是打开plsql 的 CMD window,输入,找到了日志地址

3.查看日志没有发现报错。 再次搜索 错误信息,找到 这篇博客 http://blog.itpub.net/12272958/viewspace-716020

按照提示去做,删除了lk开头的文件,强行关闭相关进程 ora_lgwr_**** ,再次启动,数据库 提示启动成功

使用exp/imp 在oracle数据库间导数据的更多相关文章

  1. Oracle数据库间的数据复制 - SQLPlus中的COPY命令

    Copy命令可以实现不同Oracle数据库间的数据的复制,也是可以实现同一数据库的数据复制,其性能表现和导入/导出相同. 根据9i文档,说Copy命令未来会不支持,但实际上Oracle 11g仍然支持 ...

  2. 使用exp&imp工具进行数据库备份及恢复

    使用exp&imp工具进行数据库备份及恢复1.exp/imp使用方法介绍exp/imp为一种数据库备份恢复工具,也可以作为不同数据库之间传递数据的工具,两个数据库所在的操作系统可以不同.exp ...

  3. Oracle数据库中的数据出错的解决办法

    http://www.jcwcn.com/article/database/oracle/ 今天上班犯了一个严重的错误:把我们系统所使用的Oracle数据库中的数据给改掉了!当发现自己改错时,顿时冒了 ...

  4. 将Oracle数据库中的数据写入Excel

    将Oracle数据库中的数据写入Excel 1.准备工作 Oracle数据库"TBYZB_FIELD_PRESSURE"表中数据如图: Excel模板(201512.xls): 2 ...

  5. 向Oracle数据库中插入数据出错:ORA-01036 无效的变量名或数据

    向Oracle数据库中插入数据出错: 经过排查,因为Update数据时没有出错,所以OracleHelper没有问题: 看异常信息提示:无效的变量和数据,应该是SQL语句的问题,调试时所传的实例Use ...

  6. 160316、实时处理oracle数据库中表的数据变化

    http://blog.csdn.net/as339000204/article/details/45390727     近期接受项目需求,需要实时处理oracle数据库中表的数据变化,首先想到的是 ...

  7. ArcCatalog中通过ArcSDE向Oracle数据库中导入数据

    将数据导入到Oracle指定的表空间的具体内容如下: 首先,在ArcCatalog中建立指定表空间的数据库连接(要以指定表空间的用户登录): 然后,在ArcCatlog中定位到数据源,选中并拷贝图层; ...

  8. Oracle数据库四种数据完整性约束

     Oracle数据库四种数据完整性约束 1.实体完整性 同样的数据不能重复插入(1)采取什么措施保证实体完整性?我们可以给表创建主键约束吗,主键保证了数据的唯一性,主键可以保证同一条记录只能插入一次. ...

  9. 使用imp命令和exp命令对oracle数据库进行导入导出操作

    命令说明 imp命令和exp命令需要在cmd命令窗口下执行,并且需要在系统环境变量中配置imp,exp命令所在目录 导出命令 --全库导出 exp system/systempassword@orcl ...

随机推荐

  1. mysql 使用concat模糊查询

    如果这三个字段中有值为NULL,则返回的也是NULL,那么这一条记录可能就会被错过,使用IFNULL进行判断 SELECT * FROM `magazine` WHERE CONCAT(IFNULL( ...

  2. 2019.8.3 [HZOI]NOIP模拟测试12 C. 分组

    2019.8.3 [HZOI]NOIP模拟测试12 C. 分组 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 刚看这题觉得很难,于是数据点分治 k只有1和2两种,分别 ...

  3. 洛谷2375 BZOJ 3670动物园题解

    题目链接 洛谷链接 我们发现题目要我们求的num[i]东西本质上其实是 求有多少以i结尾的非前缀且能与前缀匹配的字符串,而且要求字符串长度小于(i/2) 我们先不考虑字符串长度的限制,看所有以i结尾的 ...

  4. el-dialog 一些问题 局中滚动

    .el-dialog { position: absolute; top: 50%; left: 50%; margin: 0 !important; transform: translate(-50 ...

  5. php配置文件php.ini中文详解

    转自:http://www.cnblogs.com/hbl/archive/2008/02/15/1069367.html [PHP] ; PHP还是一个不断发展的工具,其功能还在不断地删减 ; 而p ...

  6. hdu 6201 【树形dp||SPFA最长路】

    http://acm.hdu.edu.cn/showproblem.php?pid=6201 n个城市都在卖一种书,该书的价格在i城市为cost[i],商人打算从某个城市出发到另一个城市结束,途中可以 ...

  7. MySQL统计同比环比SQL

    大体思路: MySQL没有类似oracle方便的统计函数,只能靠自己去硬计算:通过时间字段直接增加年份.月份,然后通过left join关联时间字段去计算环比.同比公式即可 原始表结构: 求同比SQL ...

  8. Collections.sort list内部排序

    public class ComparatorUser implements Comparator{   public int compare(Object arg0, Object arg1) {  ...

  9. 在线学编程!十大IT在线教育网站推荐

    在线学编程!十大IT在线教育网站推荐 1.CSDN学院(http://edu.csdn.net/) CSDN学院是CSDN推出的一个面向中国软件开发者和IT专业人员的技术教育服务平台.主要提供IT领域 ...

  10. H3C 路由器SSH服务配置命令(续)