热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Oracle数据库筛选备份与恢复

本文详细介绍了如何在Oracle数据库中进行筛选备份和恢复操作,包括权限授予、目录管理、数据导出和导入等步骤。

本文将详细介绍如何在 Oracle 数据库中进行筛选备份和恢复操作,包括权限授予、目录管理、数据导出和导入等步骤。

1. 导出数据

1.1 授予权限

首先,需要为用户授予权限以确保其能够执行导出操作:

grant connect, resource, dba to username;
grant read, write on directory dpdata to username;

1.2 查看数据库目录

检查数据库中是否存在所需的目录:

select * from dba_directories;

1.3 创建目录(如果不存在)

如果目录不存在,则需要创建它:

create directory dpdata as '/data/dpdata';

1.4 查看用户的默认表空间

确认用户的默认表空间:

select username, default_tablespace from dba_users;

1.5 查询大历史表

找出占用空间较大的历史表:

select Segment_Name, sum(bytes)/1024/1024 as size_mb
from user_extents
累加 group by Segment_Name
order by size_mb desc;

1.6 筛选备份

使用 Data Pump 工具进行筛选备份,排除特定的历史表:

expdp username/password@orcl schemas=username dumpfile=20170703.dmp exclude=TABLE:"IN ('T_T_HOLD_H', 'T_F_FUND_FLOW_H', 'T_T_USERNAME_H', 'T_T_ORDER_H')" directory=dpdata;

1.7 备份特定表空间

备份四张历史表的元数据:

expdp username/password@orcl tables=('T_T_HOLD_H', 'T_F_FUND_FLOW_H', 'T_T_USERNAME_H', 'T_T_ORDER_H') cOntent=metadata_only directory=dpdata dumpfile=zheng.dmp;

2. 导入数据

2.1 查询用户及其表空间

检查目标数据库中的用户及其表空间:

select username, default_tablespace from dba_users;

2.2 创建用户(如果不存在)

如果目标用户不存在,则需要创建新用户:

create temporary tablespace username_temp tempfile '/data/oradata/orcl/username_tmp.dbf' size 10240M autoextend on next 500M maxsize unlimited extent management local;

create tablespace username logging datafile '/data/oradata/orcl/username.dbf' size 28m autoextend on next 500m maxsize unlimited extent management local segment space management auto;

create user username identified by username default tablespace username temporary tablespace username_temp;

2.3 授予权限

为新用户授予权限:

grant connect, resource, dba to username;
grant read, write on directory dpdata to username;

3. 导入数据

3.1 导入表结构

使用 Data Pump 工具导入四张历史表的结构:

impdp username/username@orcl directory=dpdata dumpfile=zheng.dmp remap_schema=username:username remap_tablespace=username:username table_exists_action=replace transform=oid:n;

3.2 导入数据

导入除四张历史表外的其他数据:

impdp username/username@orcl directory=dpdata dumpfile=20170703.dmp remap_schema=username:username remap_tablespace=username:username table_exists_action=replace transform=oid:n;

通过以上步骤,您可以成功地在 Oracle 数据库中进行筛选备份和恢复操作。


推荐阅读
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • 本文详细介绍了如何构建一个高效的UI管理系统,集中处理UI页面的打开、关闭、层级管理和页面跳转等问题。通过UIManager统一管理外部切换逻辑,实现功能逻辑分散化和代码复用,支持多人协作开发。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文详细介绍了 Apache Jena 库中的 Txn.executeWrite 方法,通过多个实际代码示例展示了其在不同场景下的应用,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文由瀚高PG实验室撰写,详细介绍了如何在PostgreSQL中创建、管理和删除模式。文章涵盖了创建模式的基本命令、public模式的特性、权限设置以及通过角色对象简化操作的方法。 ... [详细]
  • 基因组浏览器中的Wig格式解析
    本文详细介绍了Wiggle(Wig)格式及其在基因组浏览器中的应用,涵盖variableStep和fixedStep两种主要格式的特点、适用场景及具体使用方法。同时,还提供了关于数据值和自定义参数的补充信息。 ... [详细]
  • Java编程实践:深入理解方法重载
    本文介绍了Java中方法重载的概念及其应用。通过多个示例,详细讲解了如何在同一类中定义具有相同名称但不同参数列表的方法,以实现更灵活的功能调用。 ... [详细]
  • 最近团队在部署DLP,作为一个技术人员对于黑盒看不到的地方还是充满了好奇心。多次咨询乙方人员DLP的算法原理是什么,他们都以商业秘密为由避而不谈,不得已只能自己查资料学习,于是有了下面的浅见。身为甲方,虽然不需要开发DLP产品,但是也有必要弄明白DLP基本的原理。俗话说工欲善其事必先利其器,只有在懂这个工具的原理之后才能更加灵活地使用这个工具,即使出现意外情况也能快速排错,越接近底层,越接近真相。根据DLP的实际用途,本文将DLP检测分为2部分,泄露关键字检测和近似重复文档检测。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 本文介绍如何使用布局文件在Android应用中排列多行TextView和Button,使其占据屏幕的特定比例,并提供示例代码以帮助理解和实现。 ... [详细]
author-avatar
手机用户2702935421_666
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有