oracle数据库还原以及备份 包括快速备份(并发压缩)

时间:2021-05-23 18:34:56

expdp jhpt/XXXX directory=databackup dumpfile=dpfile_201512091300_%U.dmp filesize=5G parallel=8 compression=all

备份多个文件,每个文件最大为5G(%U会被替换成01,02.等等)

在数据库服务端本机快速备份

导出命令

expdp jhpt/qwer12114@orcl1515 directory=databackup dumpfile=jhpt.01.dmp,jhpt.02.dmp,jhpt.03.dmp,jhpt.04.dmp parallel=4 compression=all
如果要导出表的话,可以后面加tables=std_druginfo,rel_stdzdrug 多表用,号隔开
还原 因为导出的数据存在多个空间,所以先创建导入库的表空间

--还原 databackup 是在oracle中创建的一个

impdp jhpt/1@orcl directory=databackup dumpfile=JHPT。01.DMP,JHPT.02.DMP,JHPT.03.DMP,JHPT.04.DMP log=q.log

使用exp备份的就需要用imp还原;expdp备份的用impdp还原;负责报文件错误等问题

首先在PLSQL Developer中创建表空间 如果已经创建了表空间和用户的话需要删除

/*--删除表空间

drop tablespace jhpt including contents and datafiles;

--删除用户

drop user jhpt cascade;

*/

开始执行

--创建表空间

创建了一个初始为200m的空间(如果是还原数据库,最好初始值大一些),如果不够用自动增长1280k,(系统一般现在最大到32g,所以当此文件到32g时,需要在创建一个文件,)

create tablespace jhpt datafile 'D:\orcldata\jhpt.dbf' size 200M reuse autoextend on next 1280K maxsize unlimited;

下面是不够用是新建的jhpt22.dbf;

alter tablespace jhpt add datafile 'D:\orcldata\jhpt22.dbf' size 200M reuse autoextend on next 1280K maxsize unlimited;

如果备份文件太多,需要见两个空间(初始为10g)

create tablespace jhpt datafile 'D:\orcldata\jhpt1.dbf' size 10240M autoextend on next 1024m maxsize unlimited,
'D:\orcldata\jhpt2.dbf' size 10240M autoextend off extent management local logging online uniform size 1024m;

--创建用户 并设置默认表空间

create user jhpt identified by 1 default tablespace jhpt quota 10m on users;  //用户名为jhpt 密码为1

--授权

grant connect,resource,dba to jhpt;//dba 是管理员权限

然后把备份文件考入到D:\app\zhangwl\admin\orcl\dpdump中

oracle数据库还原以及备份 包括快速备份(并发压缩)

找到名称

Administrator/admin/orcl/dpdump/

select * from dba_directories

在cmd中执行

备份

expdp jhpt/1 dumpfile=hbjy20140923.dmp directory=DATA_PUMP_DIR FULL=Y --DATA_PUMP_DIR 在数据库中查路径,把文件导出到这个文件夹(上图)

还原

这个是expdp导出的文件 如果是exp导出的,需要用imp(imp jhpt/1@orcl file=D:\app\User\admin\orcl\dpdump\jhpt23.dmp FULL=Y)

impdp jhpt/1 dumpfile=hbjy20140923.dmp
directory=DATA_PUMP_DIR FULL=Y

备份 远程数据库

因为是远程的所以只能用exp ,需要dba的用户名和密码

exp jhpt/qwer1234@ORCL155 direct=y full=y rows=y file=d:\jhpt20150424.dmp log=d:\jhpt20150424.log

远程还原以及备份

备份

exp jhpt/1@orcl file=D:\app\User\admin\orcl\dpdump\jhpt23.dmp

也可以加owner=jhpt

还原

imp jhpt/1@orcl file=D:\app\User\admin\orcl\dpdump\jhpt23.dmp FULL=Y

导出表  EXP 可以直接写文件名称加路径,expdp不可以,可以在数据库中建一个directory (expdp jhpt/qwer1234@orcl155    directory=新建的路径名称 dumpfile=base_purchaseinfo.bak tables=base_purchaseinfo)

exp jhpt/qwer1234@orcl155 file=d:\base_purchaseinfo.bak tables=base_purchaseinfo

还原表

imp jhpt/qwer1234@orcl155 file=d:\base_purchaseinfo.bak tables=base_purchaseinfo

在要导出的oracle机子上执行这个,代表把数据导出在四个文件中,而且是并发四个线程,最后压缩,这样可以快速的备份数据

parallel=4 代表四个并发执行。compression=all代表压缩,可以减少文件的存储量。因为是自带的压缩,所以还原的时候只要把文件路径给正确就行,不需要多加解压的命令

导出命令

expdp jhpt/qwer12114@orcl1515 directory=databackup dumpfile=jhpt.01.dmp,jhpt.02.dmp,jhpt.03.dmp,jhpt.04.dmp parallel=4 compression=all

如果要导出表的话,可以后面加tables=std_druginfo,rel_stdzdrug  多表用,号隔开

还原 因为导出的数据存在多个空间,所以先创建多个表空间

--创建表空间
create tablespace jhpt datafile 'D:\orcldata\jhpt1.dbf' size 10240M reuse autoextend on next 1024m maxsize unlimited;

create tablespace TS_DATAMANAGE datafile 'D:\orcldata\TS_DATAMANAGE.dbf' size 10240M reuse autoextend on next 1024m maxsize unlimited;

create tablespace TS_DATAANALYSE datafile 'D:\orcldata\TS_DATAANALYSE.dbf' size 10240M reuse autoextend on next 1024m maxsize unlimited;

create tablespace TS_DATAEXCHANGE datafile 'D:\orcldata\TS_DATAEXCHANGE.dbf' size 10240M reuse autoextend on next 1024m maxsize unlimited;

create tablespace IDX_DATAMANAGE datafile 'D:\orcldata\IDX_DATAMANAGE.dbf' size 10240M reuse autoextend on next 1024m maxsize unlimited;

create tablespace IDX_DATAANALYSE datafile 'D:\orcldata\IDX_DATAANALYSE.dbf' size 10240M reuse autoextend on next 1024m maxsize unlimited;

create tablespace IDX_DATAEXCHANGE datafile 'D:\orcldata\IDX_DATAEXCHANGE.dbf' size 10240M reuse autoextend on next 1024m maxsize unlimited;

create user jhpt identified by 1 ; //用户名为jhpt 密码为1

--授权
grant connect,resource,dba to jhpt;

-- 授权dba的角色

grant DBA to 用户名(sqlplus jhpt/1@orcl as sysdba)

--还原  databackup 是在oracle中创建的一个

impdp jhpt/1@orcl directory=databackup dumpfile=JHPT。01.DMP,JHPT.02.DMP,JHPT.03.DMP,JHPT.04.DMP log=q.log