Oracle 和 Sql server数据库的还原操作
毕业后的第一份工作是数据实施工程师,主要是做数据分析,数据清理,数据迁移。虽然只有短短三个月时间,但是确实也学到了很多东西。在读研究生之前,写一篇简单的博客记录一下。
Oracle数据库还原
Oracle的备份文件后缀名是 .dmp,所用工具是PL/SQL
- 把需要还原的 xxx.dmp 文件放在服务器端,路径大致如下 F:\app\Administrator\product\11.2.0\dbhome_1\oradata\xxx.dmp;
- 在服务器端创建一个文件夹tempdmp,用于存放还原之后的数据库
- 在服务器端创建一个表空间,DATAFILE的地址就是服务器端要还原的 .dmp 文件路径,语句如下:
CREATE TABLESPACE Test
DATAFILE ‘F:\app\Administrator\product\11.2.0\dbhome_1\oradata\Test.dmp’
SIZE 100M AUTOEXTEND ON NEXT 20M MAXSIZE UNLIMITED; - –创建一个用户,并且让该用户与表空间关联
CREATE USER TestUser IDENTIFIED BY TestUser
DEFAULT TABLESPACE Test;
(注意:CREATE USER 用户名 IDENTIFIED BY 密码 DEFAULT TABLESPACE 默认表空间) - 给用户赋权,让用户能操作表空间
grant connect,resource,dba to TestUser; - 给用户赋予操作服务器tempdmp文件夹的权限,里面是放的备份文件
grant read,write on directory tempdmp to TestUser; - –在docs上使用impdp导入对应的.dmp文件,进行还原
impdp TestUser/TestUser@192.0.0.54/ORCL directory=tempdmp dumpfile=‘Test.dmp’ logfile=‘Test.log’
(注意:这里的192.0.0.54是我的服务器端)
上面说的都是采用数据泵(impdp)的方式还原的,使用 imp 还原其实也差不太多,步骤大致一样,也没有那么麻烦。
–建立表空间
CREATE TABLESPACE COURTS
DATAFILE ‘F:\app\Administrator\product\11.2.0\dbhome_1\oradata\COURTS.dmp’
SIZE 100M AUTOEXTEND ON NEXT 20M MAXSIZE UNLIMITED
–建立用户,且与表空间建立联系
CREATE USER court identified by court
default tablespace COURTS
–用户授权
grant connect,resource,dba to court
–docs上还原 ,这里的 file 可以是本机的.dmp文件
imp court/court@192.0.0.54/orcl file=D:\OracleDB\courts.dmp full=y
Sql Server 还原就简单多了
点击数据库,右键,选择还原数据库,出现如图界面:
当然,也可以点击上图中的设备,自己选择对应的 .bak 文件,进行还原