欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

通过数据泵expdp、impdp方式备份与还原/恢复 Oracle数据库(详细过程)

程序员文章站 2022-07-05 22:53:46
注:备份还原oracle数据库的方式有很多种,本文只讲解使用expdp、impdp数据泵方式备份与还原(恢复)数据库,此种方式可以备份数据库表以及表中的数据 一、备份 step...

注:备份还原oracle数据库的方式有很多种,本文只讲解使用expdp、impdp数据泵方式备份与还原(恢复)数据库,此种方式可以备份数据库表以及表中的数据

一、备份

step1:使用system登录oracle

打开DOS命令行界面,使用system用户登录oracle,格式:sqlplus 用户名/密码@实例名(或者使用plsql、sqlyog等工具登录)。

C:\Users\Administrator>sqlplus system/000000@orcl?

step2:创建逻辑目录

创建备份逻辑目录,此目录不是真实的目录(单引号里面的内容是备份的目录)

SQL>create directory data as 'D:\app\Administrator\admin\orcl\dpdump';

注:如果目录已经存在,需要先删除再创建(如果不存在,则忽略下面两个sql):??

SQL>drop directory data;

SQL>create directory data as 'D:\app\Administrator\admin\orcl\dpdump';

step3:给用户授权

SQL>grant read, write on directory data to jeecg_test;

step4:导出数据库

退出数据库,进入DOS命令行界面,执行下列命令导出数据库

expdp jeecg_test/000000@orcl directory=data dumpfile=JEECG_20180226.DMP logfile=jeecg.log schemas=jeecg_test

解读:

directory是step2创建的目录

dumpfile是导出的文件名,存放于directory目录里

schemas后面是用户名

二、还原数据库前准备工作

注:在本地或者另外一台电脑都可以进行还原

step1:删除表空间与用户

导入前需要先删除原来的表空间和用户,如果之前没创建过该表空间,则忽略此步骤

drop tablespace JEECG_TEST including contents and datafiles;

drop user jeecg_test cascade;

step2:创建表空间与用户

create tablespace JEECG_TEST datafile 'D:\app\shuhao\Administrator\orcl\dpdump\JEECG_TEST.DBF' size 50m? autoextend on;

注:单引号里面的文件名与表空间名字相同

create user jeecg_test identified by 000000 default tablespace JEECG_TEST temporary tablespace temp;

step3:给用户授权

grant connect to JEECG_TEST;?

grant resource to JEECG_TEST;?

grant dba to JEECG_TEST;

注:dba为*权限,可以创建数据库,表等。

三、还原

step1:使用system登录oracle

打开dos命令行界面,使用system登录oracle,格式:sqlplus 用户名/密码@实例名(或者使用plsql、sqlyog等工具登录)。

C:\Users\Administrator>sqlplus system/000000@orcl?

step2:创建逻辑目录

创建还原目录(单引号里面的内容是导入的目录,与前面创建的目录相同)

SQL>create directory data as 'D:\app\Administrator\admin\orcl\dpdump';

注:如果目录已经存在,需要先删除再创建(如果不存在,则忽略下面两个sql):??

SQL>drop directory data;

SQL>create directory data as 'D:\app\Administrator\admin\orcl\dpdump';

step3:给目标用户授权

SQL>grant read,write on directory data to jeecg_test;

step4:创建真实目录,存放备份文件

在相应位置创建真实目录,把备份的文件JEECG_20180226.DMP放到真实目录里

step5:导入备份文件

DOS命令行执行下列命令

impdp jeecg_test/000000@orcl directory=data dumpfile=JEECG_20180226.DMP?logfile=jeecg.log remap_schema =JEECG_TEST:JEECG_TEST

注:remap_schema=JEECG_TEST:JEECG_TEST表示把左边的JEECG_TEST用户的数据,导入到右边的JEECG_TEST用户里面

OK,以上就是备份还原oracle数据库的过程,so easy!^_^