Oracle数据泵备份恢复(导出导入)详细语句

这篇具有很好参考价值的文章主要介绍了Oracle数据泵备份恢复(导出导入)详细语句。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数据泵备份

查询已存在备份目录

select * from dba_directories;

新建备份目录

create directory dbbak as '/u01/dbbak';

注意:在本地新建对应的物理目录

给指定用户赋权

grant read, write on directory dbbak to testuser;   
或者直接把目录的权限设置为公开
grant read, write on directory dbbak to public;

按表名导出

expdp testuser/passwd directory=dbbak tables=emp,dept dumpfile=full_db20230831.dmp full=y logfile=full_db20230831.log
还可以根据表的查询条件导出
expdp testuser/passwd directory=dbbak tables=emp dumpfile=full_db20230831.dmp full=y logfile=full_db20230831.log query=\"where age\='25'\"  --注意转移符号

按表空间导出

expdp testuser/passwd directory=dbbak tablespaces=users  dumpfile=full_db20230831.dmp logfile=full_db20230831.log

按用户导出

expdp testuser/passwd directory=dbbak schemas=testuser  dumpfile=full_db20230831.dmp logfile=full_db20230831.log

全库导出语句

expdp testuser/passwd directory=dbbak full=y dumpfile=full_db20230831.dmp logfile=full_db20230831.log

进阶

expdp testuser/passwd directory=dbbak full=y dumpfile=full_%U.dmp logfile=full_%U.log parallel=4 filesize=500m compression=all cluster=n
相关参数介绍

PARALLEL: 指定执行导出操作的并行进程个数,默认值为1,并行度设置不应该超过CPU数的2倍。
FILESIZE: 指定导出文件的最大尺寸,默认为0,(表示文件尺寸没有限制)
%U.dmp: “%U”表示自动生成递增的序列号。无需输入多个文件名称。
注:一般以上三个参数结合使用提高数据泵导出效率。
COMPRESSION:压缩,有四个参数值
ALL :对导出的元数据和表数据都进行压缩,得到的导出文件是最小的,耗时也是最长的。
DATA_ONLY :仅对表数据进行压缩,对于大数据量的导出效果明显,会比METADATA_ONLY方式得到更小的压缩文件。
METADATA_ONLY :仅对元数据进行压缩,而不会对表数据进行压缩,这种压缩执行后效果一般不是很明显,不过速度比较快。
NONE :不进行任何的压缩,导出后的文件也是最大的。
DEFAULT :默认方式,即不指定COMPRESSION参数,会采用默认的压缩方式METADATA_ONLY。
FULL:指定数据库模式导出,默认为N,FULL={Y | N}为Y时,表示执行数据库导出。
QUERY: 用于指定过滤导出数据的where条件,还有content、exclude、include、sample等相关过滤参数。
CLUSTER:在RAC环境下如果PARALLEL参数设置大于1,进程会在RAC的各个节点上进行导出,如果导出目录不共享的话就会报错。解决方法:设置为共享的directory或者导出语句添加cluster=n选项,指定只在本地导出;

数据泵恢复

导入用户(从用户scott导入到用户scott)

impdp scott/scott@PROD directory=dbbak dumpfile=expdp.dmp schemas=scott

导入表(从scott用户中把表dept和emp导入到system用户中)

impdp \"\/ as sysdba\" directory=dbbak dumpfile=expdp.dmp tables=scott.dept,scott.emp remap_schema=scott:system

导入表空间

impdp \"\/ as sysdba\" directory=dbbak dumpfile=tablespace.dmp tablespaces=example

导入数据库

impdp \"\/ as sysdba\" directory=dbbak dumpfile=full_%U.dmp full=y parallel=4
例:全库备份,把原来的scott用户导入test用户
impdp \" / as sysdba \" directory=dbbak dumpfile=full_%U.dmp schemas=scott remap_schema=scott:test  transform=oid:n logfile=full.log parallel=4 data_options=skip_constraint_errors

impdp恢复步骤

1、切换到Oracle数据库的用户,使用system登录oracle
2、创建还原逻辑目录,与导出时创建的逻辑目录相同。
在Linux系统上创建/home/oracle/dbbak备份目录,并将备份的数据库文件拷贝到该目录

在数据库中也创建目录名和相对应路径

SQL>  create or replace directory dbbak as '/home/oracle/dbbak’;

3、给目标用户授权
– 给指定用户(Scott)赋权

grant read, write on directory expdpdir to Scott;   

– 或者直接把目录的权限设置为公开

grant read, write on directory expdpdir to public;

4、导入备份文件
eg:导入全部数据

impdp testuser/passwd DIRECTORY=DBBAK full=y dumpfile=full_db20230831.dmp  logfile=full_db20230831.log ;
相关参数介绍

SCHEMAS:要导入的用户,默认为当前用户。
REMAP_SCHEMA:=source_schema:target_schema 将原用户导入目标用户。
TRANSFORM:该选项用于指定是否修改建立对象的DDL语句.要应用于适用对象的元数据转换。有效的关键字为: OID, PCTSPACE, SEGMENT_ATTRIBUTES 和 STORAGE。TRANSFORM=transform_name:value[:object_type] Transform_name用于指定转换名,其中SEGMENT_ATTRIBUTES用于标识段属性(物理属性,存储 属性,表空间,日志等息),STORAGE用于标识段存储性,VALUE用于指定是否包含段属性或段存储属 性,object_type用于指定对象类型。
DATA_OPTIONS:在导入过程中使用外部表访问方法时,设置DATA_OPTIONS参数的值为SKIP_CONSTRAINT_ERRORS允许发生非延迟约束错误时继续载入,如果没有这个选项,默认将回滚整个操作,这个参数对延迟约束没有影响,但一旦检测到还是引起回滚,如果对象有唯一性索引或约束,不能使用APPEND提示,它可能会对性能产生负面影响。在导出过程中,如果XMLTYPE列以CLOB格式存储,它们会被自动导出为非压缩的CLOB,如果是以对象–关系,二进制或CLOB格式组合存储,默认将以压缩格式导出,设置DATA_OPTIONS参数的值为XML_CLOBS指定所有XMLTYPE列都以非压缩CLOB格式导出,导入/导出必须使用相同的XML方案,作业版本必须设置为11.0.0或更高。文章来源地址https://www.toymoban.com/news/detail-687683.html

到了这里,关于Oracle数据泵备份恢复(导出导入)详细语句的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Oracle使用exp和imp命令实现数据库导出导入

    Oracle和MySQL在SQL语法和一些数据库特性上有一些差异,以下是一些常见的差异: 数据类型: Oracle和MySQL支持的数据类型有所不同。例如,Oracle支持 NUMBER 、 DATE 、 VARCHAR2 等类型,而MySQL支持 INT 、 DATE 、 VARCHAR 等类型。 字符串比较: 在 Oracle 中,字符串比较默认是区分大小写

    2024年02月22日
    浏览(53)
  • Oracle常用运维SQL--用户管理、数据导入、导出的实用脚本

    Oracle常用运维SQL–用户管理、数据导入、导出的项目实用脚本

    2024年02月16日
    浏览(62)
  • ORACLE之rman备份恢复及故障处理

    一、参数文件恢复 1.1 首先查看归档模式是否打开 1.2 关闭数据库 1.3 将数据库启动到mount状态 1.4 开启归档 1.5 设置归档路径 1.6 查看归档信息 1.7 打开数据库 1.8 打开控制文件自动备份设置 (备份任意文件都会自动备份控制文件。) 1.9 备份全库 1.10 备份spfile 若spfile文件损坏并

    2024年02月01日
    浏览(45)
  • ORACLE如何查看用户管理备份与恢复的记录

    在Oracle数据库中,如果我们使用用户管理备份与恢复(User-Managed Backup and Recovery)方式去备份还原数据库的话,如何获取用户管理备份与恢复的记录信息呢?例如,我要查看某个数据库实例做用户管理备份的记录。一般使用下面脚本。似乎用户管理备份比较“简单”,目前我

    2023年04月12日
    浏览(34)
  • oracle导入导出

    oracle导入导出 1、查询当前创建的所有dmp导出目录     select * from dba_directories; 2、创建expdp导出目录(可不创建,选择已有目录,创建后使用上一命令检查是否创建成功,如果未成功,导出会报错)     create or replace directory dmp as \\\'D:/app/dmp\\\'; 3、创建之后需要授权     grant r

    2024年01月16日
    浏览(38)
  • oracle导出表结构语句(包含注释加主键)

    上述语句主要运用了listagg函数进行了重复的行合并处理,因为主键的行会重复,把position进行了合并。

    2024年02月10日
    浏览(35)
  • oracle逻辑备份exp导出指定表名时需要加括号吗?

    Oracle 的 exp、imp、expdp、impdp 命令用于数据库逻辑备份与恢复; exp 命令用于把数据从远程数据库server导出至本地,生成dmp文件。 笔者在实操中遇到: 返回以下错误信息: 后将命令去掉括号,改为以下形式后,命令正常执行。 命令运行的Oracle版本信息如下: 那么问题来了:Or

    2023年04月23日
    浏览(32)
  • oracle超详细语法和备份工具

    查看当前连接数据库的用户 查看数据库当前连接数 查看用户下的表 查看指定用户拥有的表 用户切换 解锁用户 新建用户 修改用户密码 删除用户 赋予用户所有权限 查看用户使用时间限制 查询密码有效时长 查看所有用户密码到期日 查看指定用户的过期时间 设置当前用户密

    2024年02月11日
    浏览(38)
  • Oracle和MySQL有哪些区别?从基本特性、技术选型、字段类型、事务、语句等角度详细对比Oracle和MySQL

     导航: 【Java笔记+踩坑汇总】Java基础+进阶+JavaWeb+SSM+SpringBoot+瑞吉外卖+SpringCloud+黑马旅游+谷粒商城+学成在线+MySQL高级篇+设计模式+面试题汇总+源码_vincewm的博客-CSDN博客 目录 一、基本区别 1.1 基本特性 1.2 Oracle和MySQL如何做技术选型? 1.3 RDBMS和ORDBMS的区别 1.4 默认端口号和用

    2024年02月12日
    浏览(45)
  • Oracle 库恢复删除数据

    误删 Oracle 库中的数据,在不考虑全库备份和利用归档日志情况,如何恢复数据呢? 下面介绍几种方法恢复数据: 1、利用 Oracle 提供的闪回方法进行数据恢复,适用于 delete 删除方式 首先获取删除数据的时间点: 根据结果中的 sql_text 内容,找到 delete 执行语句对应的删除时

    2024年02月04日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包