关于oracle数据库备份还原-impdp,expdp

时间:2023-03-09 16:10:11
关于oracle数据库备份还原-impdp,expdp

初始化:

-- 创建表空间
CREATE TABLESPACE 表空间名 DATAFILE '文件名.dat' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;
-- 创建用户(oauser)
--connect internal
CREATE USER oauser IDENTIFIED BY oauser;
ALTER USER oauser DEFAULT TABLESPACE tablespace_name;
ALTER USER oauser DEFAULT ROLE ALL;
GRANT DBA TO oauser;
GRANT CONNECT TO oauser;
GRANT RESOURCE TO oauser;
GRANT create table to oauser;
GRANT create trigger to oauser;
grant exp_full_database to oauser;
grant imp_full_database to oauser;
--删除用户及表空间
--步骤一: 删除user
drop user ×× cascade
--说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的。
--步骤二: 删除tablespace
DROP TABLESPACE 表空间名 INCLUDING CONTENTS AND DATAFILES;

oracle 导入导出(impdp,expdp):

//oracle 11g 下创建 导入导出目录,需要连接到数据库
create or replace directory expdp_dir as 'e:\backup'; //给用户赋权,需要使用另一个用户赋权
grant read,write on directory expdp_dir to oauser1;

//备份当前数据库
expdp 用户名/密码 DIRECTORY=expdp_dir DUMPFILE=备份文件名.dmp logfile=备份日志名.log;
例子:
expdp oauser1/123456 DIRECTORY=expdp_dir DUMPFILE=2015-12-11.dmp logfile=2015-12-11.log
//将DMP备份文件复制到 expdp_dir 下
//将制定备份数据导入
impdp 用户名/密码[@监听] dumpfile=备份文件名 directory=expdp_dir remap_schema=导出时的用户名:导入时的用户 logfile=日志文件名; 例子:
impdp oauser1/123456 dumpfile=2015-12-11.dmp directory=expdp_dir remap_schema=oauser:oauser1

PS:expdp,impdp这两个命令是服务器端的命令,直接在cmd里以管理员的身份运行即可;