通过数据泵expdp、impdp方式备份与还原(导出与导入)Oracle数据库

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

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

 

step2:创建逻辑目录
创建备份逻辑目录,此目录不是真实的目录(单引号里面的内容是备份的目录,可以先查看一下所有的目录:select * from dba_directories;)

SQL>create or replace directory data as 'D:\app\shuhao\oradata\orcl';

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后面是用户名

 


step5:查看导出的文件


二、还原数据库前准备工作
注:在本地或者另外一台电脑都可以进行还原

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

drop tablespace JEECG_TEST including contents and datafiles;

drop user JEECG_TEST cascade;

step2:创建表空间与用户
create tablespace JEECG_TEST datafile 'D:\app\shuhao\oradata\orcl\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\shuhao>sqlplus system/orcl@orcl 

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

SQL>create or replace directory data as 'D:\app\shuhao\oradata\orcl';

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, GAME OVER !
————————————————
版权声明:本文为CSDN博主「前方一片光明」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_26230421/java/article/details/79382013

 

 

----------

oracle创建表空间及对用户授权

 

CREATE TABLESPACE test_ods LOGGING DATAFILE 'test_ods.dbf' SIZE 100M AUTOEXTEND ON NEXT 32M MAXSIZE 500M EXTENT MANAGEMENT LOCAL;

create temporary tablespace test_ods_temp tempfile 'test_ods_temp.dbf' size 100m autoextend on next 32m maxsize 500m extent management local;

CREATE USER test_ods IDENTIFIED BY test_ods DEFAULT TABLESPACE test_ods TEMPORARY TABLESPACE test_ods_temp;

grant connect,resource,dba to test_ods;

 

create table ttt (name varchar(12),age varchar(12)) tablespace test_ods;

select tablespace_name, table_name from user_tables where tablespace_name = 'test_ods';

select tablespace_name, table_name from all_tables where tablespace_name = 'test_ods';

 

posted on 2021-09-07 09:48  BillyLV  阅读(565)  评论(0编辑  收藏  举报

导航