Centos7下Oracle 11g r2 本地/远程 用exp/imp命令快速导入导出数据 实践笔记


title: Centos7下Oracle 11g r2 本地/远程 用exp/imp命令快速导入导出数据 实践笔记
categories: [Centos7,Oracle11g]
tags: [Centos7,Oracle11g]

oracle导入导出不像mysql那么方便,这边记录下oracle本地/远程导入导出(imp/exp)实践过程mysql

【用 exp 数 据 导 出】:

1. 将数据库TEST彻底导出,用户名system 密码manager 导出到/usr/local/oracleData/daochu.dmp中

导出本地数据库

exp system/manager@TEST file=/usr/local/oracleData/daochu.dmp full=y

导出远程数据库

exp system/manager@10.10.10.12/TEST file=/usr/local/oracleData/daochu.dmp full=y

2.将数据库中system用户与sys用户的表 导出到/usr/local/oracleData/daochu.dmp中

导出本地数据库

exp system/manager@TEST file=/usr/local/oracleData/daochu.dmp owner=(system,sys)

导出远程数据库

exp system/manager@10.10.10.12/TEST file=/usr/local/oracleData/daochu.dmp owner=(system,sys)

3 将数据库中的表table1 、table2 导出到/usr/local/oracleData/daochu.dmp中

导出本地数据库

exp system/manager@TEST file=/usr/local/oracleData/daochu.dmp tables=(table1,table2)

导出远程数据库

exp system/manager@10.10.10.12/TEST file=/usr/local/oracleData/daochu.dmp tables=(table1,table2)

【用 imp 数 据 导 入】:

1.将/usr/local/oracleData/daochu.dmp 中的数据彻底导入 TEST数据库中

导入本地数据库

imp system/manager@TEST  file=/usr/local/oracleData/daochu.dmp  ignore=y

导入远程数据库

imp system/manager@10.10.10.12/TEST file=/usr/local/oracleData/daochu.dmp  ignore=y

2.将/usr/local/oracleData/daochu.dmp数据库中system用户中的table1和table2导入到TEST数据库的system用户中的table1和table2

fromuser=源库中的用户名
touser=目标库中的用户名
换句话说 :源库中的用户名导入到目标库中的用户名
web

导入本地数据库

imp system/manager@TEST file=/usr/local/oracleData/daochu.dmp fromuser=system  touser=system tables=(table1,table2) ignore=y

导入远程数据库

imp system/manager@@10.10.10.12/TEST file=/usr/local/oracleData/daochu.dmp fromuser=system  touser=system tables=(table1,table2) ignore=y

补从(2020-07-23线上oracle服务迁移)

数据导出:

1 将数据库TEST整库导出,用户名system密码manager 导出到d:\prod2020-07-23FULL.dmp中sql

exp system/manager@TEST file=d:\prod2020-07-23FULL.dmp full=y

full=y 表示全库导出。full总共有2个可选项yes(y)/no(n),缺省状况下full=no,这时只会将该用户下的对象导出,也就是说下面的代码只会把system用户下的表导出数据库

exp system/manager@TEST file=d:\prod2020-07-2SYSTEM.dmp
exp system/manager@TEST file=d:\prod2020-07-23SYSTEM.dmp full=n

2 指定aa用户与bb用户的表导出,管理员用户system密码manager 导出到d:\prod2020-07-23AA_BB.dmp中oracle

exp system/manager@TEST  file=d:\prod2020-07-23AA_BB.dmp owner=(aa,bb)

数据导入:

1 将d:\prod2020-07-2SYSTEM.dmp中的数据整库导入
imp system/manager@TEST file=file=d:\prod2020-07-23FULL.dmp full=ysvg

2 将d:\prod2020-07-2SYSTEM.dmp中的数据按用户名导入TEST数据库中。code

imp system/manager@TEST file=d:\prod2020-07-2SYSTEM.dmp
 
   imp  system/manager@TEST file=d:\prod2020-07-2SYSTEM.dmp fromuser= system touser= system

其中fromuser= system为.dmp文件里的对象的原先的owner, touser= system 为做为导入的对象的新的Ownerxml

忽略/插入数据:对象

imp system/manager@TEST file=d:\prod2020-07-2SYSTEM.dmp ignore=y

其中ignore=y告诉imp.exe把数据直接插入到相应对象(而且若是导入的对象里面有其余的对象,如约束,索引等,会在数据插入后被建立)。索引

3 将d:\prod2020-07-2SYSTEM.dmp中的表tb_operator 导入

imp system/manager@TEST file=d:\prod2020-07-2SYSTEM.dmp  tables=(tb_operator)

只加载结构,不加载数据,若是只要表的结构等定义(约束,触发器),而不要里面的数据,能够加上参数rows=N