如何将备份的oracle数据库还原到指定用户下。

上一文章 oracle11g数据库--创建表空间,创建用户,用户授权并指定表空间。我们已经建好了指定的新用户pdmis。

接下来我们需要将备份好的数据库,还原至新用户pdmis下。

想要还原,我们需要将备份好的dmp文件。拷贝至目标服务器下(此处为D:\oraclebf\PDMIS\PDMIS.DMP)

出现上面问题是因为要传的文件太大造成的,我可以将本分文件通过压缩文件压缩后再传压缩文件(5.15g的备份文件被压缩为515m)

传到目标服务器后,再进行文件解压缩。保存至对应的路径下(此处为D:\oraclebf\PDMIS\PDMIS.DMP)

这些准备工作完成后,我们可以通过IMP命令进行数据库还原工作。

cmd(管理员模式)--输入一下命令(备份、还原无需进入sqlplus命令,注意!!!)

imp/exp 用户名/密码@service_name或oracle_sid  file=D:\导如(出)文件名称.dmp  full=y ignore=y

full=y ( 全库导出): 导出除ORDSYS,MDSYS,CTXSYS,ORDPLUGINS,LBACSYS 这些系统用户之外的所有用户的数据

ignore=y 表示忽略创建错误(比如有重复的表,就不再导入),继续后面的操作

 

根据实际需求,我们的还原命令如下:

imp pdmis/pdmis@orcl file=d:\oraclebf\PDMIS\PDMIS.DMP log=d:\oraclebf\PDMIS\PDMIS.log full=y

log=d:\oraclebf\PDMIS\PDMIS.log(创建错误日志,默认和备份文件放在同一目录下。)

 

执行语句

 

 

数据库还原完成,但遇到错误报告。技术人员验证数据库后,有表和视图的丢失怎么办?

我们需要删除用户(此步骤一定要慎重!!!因为有的用户下会连着好多数据库,避免数据丢失。

在确定用户下只有一个数据库时,并且此数据库为我们刚才恢复的数据库后才能删除)

drop user pdmis cascade;                                          删除用户   **

drop tablespace pdmis_temp including contents
and datafiles cascade constraint;                               删除临时表空间

drop tablespace pdmis_data including contents
and datafiles cascade constraint;                               删除表空间

执行以上命令后,重启服务器。

通过oracle的 dbca工具新建实例。
1)打开dbca--下一步

2)创建数据库--下一步

3)默认选一般用途或事务处理--下一步

4)输入全局数据库名和实例名--下一步(此步骤可以继续使用之前的orcl全局数据库,sid为我们需要增加的实例名)

5)默认选择--下一步

6)输入密码--下一步

7)默认选择--下一步

8)默认--下一步

9)内存--调整为60%

    字符集--选择默认--ZHS16GBK

10)对以上设置的确认--下一步

11)创建数据库--生成数据库创建脚本--完成

点击确定

确定

等待生成数据库

安装完成--口令管理--将sys、system设置密码

                                 将scott解锁设置密码

 

完成后再去全局数据下创建表空间

 

临时表空间,创建用户,为用户授予权限。

 

先用tnsping pdmis_test通不通

 

再执行imp命令进行备份的还原。

imp pdmis/pdmis@pdmis_test file=d:\oraclebf\PDMIS\PDMIS.DMP log=d:\oraclebf\PDMIS\PDMIS.log full=y

 

转载于:https://www.cnblogs.com/grisa/p/10063170.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Windows操作系统上,你可以使用命令行工具(cmd)来备份还原Oracle数据库。以下是使用expdp和impdp命令进行备份还原的示例代码: 1. 备份数据库 ``` expdp username/password@database_name directory=backup_directory dumpfile=backup_file.dmp full=y ``` 将上述代码中的`username/password`替换为数据库用户名和密码,`database_name`替换为数据库的连接名,`backup_directory`替换为备份文件存储的目录,`backup_file.dmp`替换为备份文件的名称。`full=y`表示备份整个数据库。 2. 备份特定表空间 ``` expdp username/password@database_name directory=backup_directory dumpfile=backup_file.dmp tablespaces=tablespace_name ``` 将上述代码中的`tablespace_name`替换为要备份的表空间名称。 3. 还原数据库 ``` impdp username/password@database_name directory=backup_directory dumpfile=backup_file.dmp full=y ``` 将上述代码中的`username/password`替换为数据库用户名和密码,`database_name`替换为数据库的连接名,`backup_directory`替换为备份文件所在的目录,`backup_file.dmp`替换为备份文件的名称。`full=y`表示还原整个数据库。 请注意,在使用expdp和impdp命令时,需要确保Oracle客户端工具已经正确安装并配置了环境变量。另外,还可以使用其他参数和选项来实现更精细的备份还原操作,例如指定导出和导入的对象、并行处理等。 以上代码仅为示例,请根据实际情况进行适当修改。在进行数据库备份还原操作时,请确保对数据的完整性和安全性有充分的考虑,并在非生产环境中进行测试。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值