Oracle数据库的备份与还原

1,登录的数据库服务器,切换到oracle用户

2,通过expdb命令导出keyrisk用户下的所有对象到指定的路径下

expdp keyrisk/keyrisk directory=DATA_PUMP_DIR dumpfile=keyrisk_20190107_poc.dmp schemas=keyrisk;

 创建数据泵:

CREATE DIRECTORY DATA_PUMP_DIR AS '/opt/oracle11/admin/orcl/dpdump/';

赋权限:

GRANT READ,WRITE ON DIRECTORY DATA_PUMP_DIR  TO KEYRISK;

删除数据泵:

DROP DIRECTORY DATA_PUMP_DIR;

 3,创建用户,并赋权限

CREATE USER KEYRISK IDENTIFIED  BY KEYRISK;
GRANT DBA TO KEYRISK;

4,登录数据库服务器将dmp文件导入到新环境的新用户下

impdp KEYRISK/KEYRISK@127.0.0.1:1521/ORCL DIRECTORY=ORACLE_DMP DUMPFILE=KEYRISK_20190105.dmp LOGFILE=KEYRISK_20190105.LOG REMAP_SCHEMA=KEYRISK:KEYRISK REMAP_TABLESPACE=KEYRISK:LOYALTY EXCLUDE=GRANT

其中:REMAP_SCHEMA=旧用户:新用户

           REMAP_TABLESPACE=旧工作空间:新工作空间

           EXCLUDE=GRANT 是为了解决IMPDB报出的错误如下

impdp时报错ORA-39083&ORA-01917
ORA-39083: 对象类型 OBJECT_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'keyrisk' 不存在
失败的 sql 为:
GRANT ALTER, SELECT ON "keyrisk"."SEQ_TBL_SALEPROMODE" TO "keyrisk"
 

5,导入成功后会有一些对象编译失败

可能是因为权限问题等,如果用到了一些DBMS_XX包,需要赋权:

GRANT EXECUTE ON DBMS_CRYPTO TO KEYRISK;
GRANT EXECUTE ON DBMS_LOCK TO KEYRISK; 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值