根据用户通过数据泵备份还原ORACLE数据库,

it2024-10-24  24

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

最新回复(0)