上一文章 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