oracle数据库的备份与还原(expdp和impdp)

备份:

在cmd命令行中,执行sqlplus,用管理员账号登录

建立目录对象:

create directory expdir as ‘D:\expdir’; 

赋予要备份数据的用户导出权限:

grant exp_full_database to username(你要备份的用户名);

另打开一个cmd窗口

备份数据为DMP格式:

expdp username/password@localhost/orcl directory=expdir dumpfile=beifen.dmp full=y

其中,username(要备份的用户名)、password(要备份的用户的密码)、localhost(本地IP地址,可以是远程地址)、orcl(实例名)、expdir(上面创建的目录对象)、beifen.dmp(备份的文件名,格式是dmp)

如果导出时,要把不需要导出数据的表的数据忽略掉:

expdp username/password@localhost/orcl directory=expdir dumpfile=beifen.dmp full=y exclude=TABLE:\"LIKE \'表名或表名开头%\'\",exclude=TABLE:\"LIKE \'表名或表名开头%\'\"

还原:

如果要导入的数据库中没有用户则先创建用户

创建用户(用户名以RMS为例):

create tablespace RMS(要还原的用户名) logging datafile 'D:\app\Administrator\oradata\orcl\RMS.dbf' size 500m autoextend on next 100m maxsize 2048m extent management local;

create temporary tablespace RMSTEMP tempfile 'D:\app\Administrator\oradata\orcl\RMSTEMP.dbf' size 100M autoExtend on next 50M EXTENT MANAGEMENT LOCAL;

create user RMS identified by 123456 default tablespace RMS;

在cmd命令行中,执行sqlplus,用管理员账号登录

建立目录对象:

create directory expdir as ‘D:\expdir’; 

赋予要备份数据的用户导入权限:

grant imp_full_database to username(你要备份的用户名,即上文的RMS);

另打开一个cmd窗口

导入备份的数据:

impdp username/password schemas=username directory=expdir dumpfile=beifen.dmp table_exists_action=replace logfile=import.log

posted @ 2020-07-17 15:17  晴天fly  阅读(787)  评论(0编辑  收藏  举报