1、首先,解释几个词语
directory:一般创建directory都是为了用数据泵导入/导出数据用,其实directory还有很多别的用处,本文不做阐述
schemas: 你用“用户 user”来理解就很容易了,每个模式(user)下可以有一套互不干扰的对象。你如果想要访问其他模式的对象,
需要指定schema的name,实际就是指定username。 如,你要访问模式scott的表emp,而你所在的模式(用户)是tiger,
那你要这样写: select * from scott.emp;
2、备份数据库语句:
模型:expdp 用户名/密码@服务名(或者sid名)
expdp user/password@orcl dumpfile=database.dmp directory=w_dir schemas=system;
一般情况下,在使用expdp工具备份数据库的时候,一般需要使用DIRECTORY参数指定备份文件和日志文件的存放位置。其实DIRECTORY参数
并不是必须的。我们可以将目录写到dumpfile参数和logfile参数中以便实现同样的目的。
创建directory
create directory w_dir as 'd:\dumpfile';
在计算机D盘下创建一个叫dumpfile的文件夹,用来存放备份文件,以及还原的时候计算机会自动去改文件夹下找.dmp文件,创建完directory,
执行expdp备份语句,备份文件自动生成到directory指定的文件。
3、 删除原有用户
因为,如果不删除原有用户,在数据库还原的时候系统遇到相同的表会跳过,不能实现数据库还原覆盖调的目的
首先以超级管理员的身份登录数据库:
sqlplus system/system@xe as sysdba;
真正的删除用户:
drop user dcuser cascade; --cascade 在oracle数据库中表示级联删除。
4、新建用户
create uer dcuser identified by dcuser; -- 创建数据库并设置密码为:dcuser
grant resource ,connect,dba to dcuser; --为所创建的用户赋权限:资源、链接、dba角色。
grant read,write on directory w_dir to dcuser; --赋予用户dcuser对directory读和写的操作的权限。
5、数据库还原
做好了上面的准备工作以后,接下来开始真正的数据库还原
impdp dcuser/dcuser@xe directory=w_dir dumpfile=database.dmp schemas=dcuser;
6、到此数据库备份还原大功告成!
转载于:https://www.cnblogs.com/wangrongyan/p/4770214.html