Oracle数据泵实现不同用户导入导出表级

 更新时间:2022年07月19日 10:48:56   作者:wfkfytmy  
这篇文章主要介绍了Oracle数据泵实现不同用户导入导出表级,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下

前言:

先认识一个单词,schema:模式。

再来了解一个概念。

当创建一个用户的时候,会同时创建一个与用户同名的schema,这个schema的官方解释是对象的集合。

举个例子,比如说我就是一个用户,叫A,住在某个公寓里,假如我住在4-404,那么这个4-404这个房间就是schema,房间名也叫A(意思是用户A的房间,在oracle里的意思是用户A的schema)。那么房间里面的东西就是对象了,比如说桌子,冰箱,床之类的。所以说schema是对象的集合。(个人理解,不对之处,请以斧正)

在使用数据泵前设定一个directory,就是存放数据泵文件的目录。

create directory data_dump as '/data_dump';

当然,也可以查看有哪些目录

select directory_name,directory_path from dba_directories;

下面来记一些参数:

  • serid:说明使用的是哪个用户进行操作
  • directory:说明使用的是哪个逻辑目录(就是上面创建的那个)
  • dumpfile :导出后的文件名字
  • logfile: 导出过程中的日志文件
  • tables :导出的表

下面是导出脚本及expdp:

cat >exp_table.par<<EOF
userid=' / as sysdba'
directory=data_dump
dumpfile=exp_table_%u.dmp
logfile=exp_table.log
tables=(scott.temp,scott.tjy_test)
cluster=n
parallel=4
exclude=STATISTICS
compression=ALL
EOF

nohup expdp parfile=exp_table.par>exp_table.par.out &
tail -100f exp_table.par.out

对上面参数进行解释说明:

userid=' / as sydba':说明用的是sys用户执行的数据泵操作

directory=data_dump:说明操作路径是data_dump(也就是上面创建的那个目录)

dumpfile=exp_table_%u.dmp:这里仅仅是说明导出后的文件命名,exp_表示这是导出的文件,table_表示表级操作,%u表示01-99的自动增长的整数,.dmp表示文件后缀

logfile=exp_table.log:跟上面的解释差不多。

tables=(scott.temp,scott.test):说明要导出的是scott里的temp表和test表,注意这里的scott指的是schema,而不是username

其他的没什么好说的,想学自己百度。

下面是导入脚本及impdp:

cat >imp_table.par<<EOF
userid=' / as sysdba'
directory=DATA_DUMP
dumpfile=exp_table_%u.dmp
logfile=imp_table.log
TABLE_EXISTS_ACTION=append
tables=(scott.temp,scott.test)
remap_schema=scott:sys
cluster=n
parallel=8
EOF

nohup impdp parfile=imp_table.par>imp_table.par.out &
tail -100f imp_table.par.out

这个跟上面的其实没多大改变,目录还是那个目录。

需要注意的是多了一行table_exists_action=append 这行表示在原有表的基础上添加要导入的数据。

还有一行是remap_schema=scott:sys重点是这里,因为scott.temp的scott指的是schema,所以参数是remap_schema。  scott:sys的意思是在这些个数据泵文件里,schema是scott的,换成sys。

到此这篇关于Oracle数据泵实现不同用户导入导出表级的文章就介绍到这了,更多相关Oracle数据泵导入导出内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Oracle插入数据时出现ORA-00001:unique constraint问题

    Oracle插入数据时出现ORA-00001:unique constraint问题

    这篇文章主要介绍了Oracle插入数据时出现ORA-00001:unique constraint问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • oracle中使用in和not in查询效率总结和优化建议

    oracle中使用in和not in查询效率总结和优化建议

    oracle的sql语句中的in和not in是自动将字段为null的去掉了,下面这篇文章主要介绍了oracle中使用in和not in查询效率总结和优化建议的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-11-11
  • Oracle的默认用户密码

    Oracle的默认用户密码

    创建表空间和用户时,需要的时候竟然忘记了密码,试了好多次都没连接上,进而用户也被锁定,下面就教您处理Oracle默认用户的密码问题的方法,希望对和我一样情况的朋友们有所帮助
    2012-07-07
  • Oracle Sqlplus命令登录多种方式案例讲解

    Oracle Sqlplus命令登录多种方式案例讲解

    这篇文章主要介绍了Oracle Sqlplus命令登录多种方式案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • [Oracle] CPU/PSU补丁安装详细教程

    [Oracle] CPU/PSU补丁安装详细教程

    Oracle CPU的全称是Critical Patch Update, Oracle对于其产品每个季度发行一次安全补丁包,通常是为了修复产品中的安全隐患,以下是对CPU/PSU补丁安装的具体操作步骤进行了详细的分析介绍,需要的朋友可以参考
    2013-07-07
  • oracle 数据库连接分析

    oracle 数据库连接分析

    oracle 数据库连接个各种环境分析,让大家较快的解决一些数据库连接问题。
    2009-07-07
  • Navicat for oracle创建数据库的方法

    Navicat for oracle创建数据库的方法

    这篇文章主要介绍了Navicat for oracle创建数据库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Oracle使用游标进行分批次更新数据的6种方式及速度比对

    Oracle使用游标进行分批次更新数据的6种方式及速度比对

    这篇文章主要介绍了Oracle使用游标进行分批次更新的5种方式及速度比对,帮助大家更好的理解和使用数据库,感兴趣的朋友可以了解下
    2020-10-10
  • JDBC连接集群数据库的方法

    JDBC连接集群数据库的方法

    这篇文章主要介绍了JDBC连接集群数据库的方法,有需要的朋友可以参考一下
    2013-12-12
  • oracle10g全文索引自动同步语句使用方法

    oracle10g全文索引自动同步语句使用方法

    这篇文章主要介绍了oracle10g全文索引自动同步语句使用方法,需要的朋友可以参考下
    2014-03-03

最新评论