zoukankan      html  css  js  c++  java
  • Oracle数据泵恢复用户数据实例

    我们测试环境经常会遇到恢复生产数据的情况,我一般比较习惯使用数据泵来搞,这个具体根据自己的业务形态选择适合自己的方式。

    此次我们说的是完全恢复用户数据,具体步骤如下:

    1.删除用户及用户下的数据

    drop user test cascade;

    一般我们会遇到如下报错,说明还有此用户的链接,我们要联系管理员关闭应用接口程序。

    drop user test cascade
    *
    ERROR at line 1:
    ORA-01940: cannot drop a user that is currently connected

    再次尝试成功

    drop user test cascade;

    User dropped.

    2.创建用户

    SQL> create user test identified by oracle default tablespace USERS temporary tablespace TEMP;

    User created.

    3.给用户赋权

    SQL> grant connect,resource,dba to fyerp;

    Grant succeeded.

    4.创建数据泵目录(此目录必须存在并赋权oracle用户)

    SQL> create directory DBBAK as '/bak';

    Directory created.

    5.查看目录是否存在

    SQL> select * from all_directories;

    6.将目录赋权给用户

    SQL> grant read,write on directory DBBAK to test;

    Grant succeeded.

    7.导入用户数据

    [oracle@test1 ~]$  impdp test/oracle dumpfile=test20200616.dmp logfile=test20200616.log directory=DBBAK

    如果需要指定表  tables=t1,t2    

    remap_table=t1:t11,t2:t22

    注:我的dmp文件只备份的test用户数据,所以没使用schemas参数,数据泵参数详见ORACLE数据库数据泵备份与恢复

    8.可以用下面这个SQL检查一下两边一致性

    select OBJECT_TYPE,COUNT(*) from all_objects where OWNER='TEST' group by OBJECT_TYPE;

  • 相关阅读:
    SpringCloud 学习之概述
    定位慢查询
    中止线程
    笨办法41学会说面向对象【pyinstaller安装使用
    pip安装
    笨办法40模块, 类和对象class
    笨办法39字典dict
    笨办法38列表操作
    笨办法35分支和函数
    笨办法34访问列表元素(列表方法)
  • 原文地址:https://www.cnblogs.com/zhm1985/p/13142016.html
Copyright © 2011-2022 走看看