Oracle 用已经备份的数据库新建实例
开发过程中往往会存在这样的情况,就是测试环境的数据库,与自己的开发数据库之间的数据不一致的情况,这样的情况导致的直接结果就是,测试人员,在测试系统测出的bug,在程序员自己的本地环境无法复现。这种情况就用到了,数据库的备份与还原。用测试人员提供的测试数据库的备份文件,来还原我们本的数据库,下面开始:
其中(1-6 步骤均可在数据连接工具中执行(比如:Navicate、sqlplus等));第7步骤要在数据库所在的机器的的命令行执行。
参数的解释:
OES_DB1234 ---- 用户名 、数据库实例名
vhoes ---- 密码
OES_DB77777BAK0802.dmp ---- 数据库备份文件的完整名称
OES_DB77777BAK0802.log ---- 数据库备份文件日志文件的完整名称
OES_DB77777 ---- 备份文件具体是备份的哪个 表空间名
D:\oracle\OES_DB1234.db ---- 数据库文件位置
- 1.create user OES_DB1234 identified by vhoes; --创建用户及密码,用户名、密码也可自定义
- 2.GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW,DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,DBA,CONNECT,RESOURCE,CREATE SESSION TO OES_DB1234; --赋予用户权限
- 3.create tablespace OES_DB1234 datafile 'D:\oracle\OES_DB1234.dbf' size 512M autoextend on next 10M maxsize unlimited --创建表空间,表文件创建在服务器D盘oracle目录,并设置为自增。表空间名称、文件存放路径可自定义
- 4.alter user OES_DB1234 default tablespace OES_DB1234 --将表空间指定给用户OES_DB1234
- 5.create directory dir_dp as 'D:\data'; --创建映射目录,即oracle机器上放置备份文件的路径, 如下图(第一次还原必须执行,以后不要执行)
- 6.Grant read,write on directory dir_dp to OES_DB1234; --赋予用户目录权限
- 7. impdp OES_DB1234/vhoes@orcl DIRECTORY=dir_dp DUMPFILE=OES_DB77777BAK0802.dmp logfile=OES_DB77777BAK0802.log REMAP_SCHEMA=OES_DB77777:OES_DB1234 REMAP_TABLESPACE=OES_DB77777:OES_DB1234
这样就完成了数据库的还原工作,根据机器性能以及数据库中的记录数量,还原的时间会有差异。请耐心等待,一般大概5、6 分钟即可完成!