Oracle 和 Sql server数据库的还原

Oracle 和 Sql server数据库的还原操作

毕业后的第一份工作是数据实施工程师,主要是做数据分析,数据清理,数据迁移。虽然只有短短三个月时间,但是确实也学到了很多东西。在读研究生之前,写一篇简单的博客记录一下。

Oracle数据库还原

Oracle的备份文件后缀名是 .dmp,所用工具是PL/SQL

  1. 把需要还原的 xxx.dmp 文件放在服务器端,路径大致如下 F:\app\Administrator\product\11.2.0\dbhome_1\oradata\xxx.dmp;
  2. 在服务器端创建一个文件夹tempdmp,用于存放还原之后的数据库
  3. 在服务器端创建一个表空间,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;
  4. –创建一个用户,并且让该用户与表空间关联
    CREATE USER TestUser IDENTIFIED BY TestUser
    DEFAULT TABLESPACE Test;
    (注意:CREATE USER 用户名 IDENTIFIED BY 密码 DEFAULT TABLESPACE 默认表空间)
  5. 给用户赋权,让用户能操作表空间
    grant connect,resource,dba to TestUser;
  6. 给用户赋予操作服务器tempdmp文件夹的权限,里面是放的备份文件
    grant read,write on directory tempdmp to TestUser;
  7. –在docs上使用impdp导入对应的.dmp文件,进行还原
    impdp TestUser/[email protected]/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/[email protected]/orcl file=D:\OracleDB\courts.dmp full=y

Sql Server 还原就简单多了

点击数据库,右键,选择还原数据库,出现如图界面:Oracle 和 Sql server数据库的还原
当然,也可以点击上图中的设备,自己选择对应的 .bak 文件,进行还原

希望能对你有所帮助