哈喽哇 哈喽哇~

Oracle Database,又名Oracle RDBMS,或简称Oracle,是甲骨文公司的一款关系数据库管理系统,目前在数据库领域中的地位也是不错的。它的系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境,是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。

Oracle数据库
 

作为一个在企业环境中应用比较广泛的关系数据库管理系统,我们该怎么保护它的安全呢?备份仍然是不错的方案。在接下来的内容中,我们将向大家简单介绍一下如何进行Oracle数据库备份任务,一起来看看吧!

Oracle逻辑备份:expdp和impdp

我们常说的逻辑备份指的是对数据库逻辑组件(如表和存储过程等数据库对象)的备份。逻辑备份的手段很多,如传统的EXP,数据泵(EXPDP),数据库闪回技术等三方工具,都可以进行数据库的逻辑备份。

本文将主要向大家讲解一下expdp和impdp的用法,它们可以帮助我们导出导入Oracle数据库数据,从而达成Oracle备份数据库的目的。

创建备份目录

在学习Oracle如何备份数据库之前,我们需要先在需要备份的数据库服务器上创建一个备份目录(在后面使用sql命令创建的逻辑目录并不是在OS上创建目录,所以我们先要在服务器上创建一个目录)。

# su oracle
$ mkdir /home/oracle/oracle_bak

用管理员身份登录到sqlplus。

$ sqlplys /nolog
SQL> conn sys/oracle as sysdba

创建逻辑目录。

SQL> create directory data_dir as '/home/oracle/oracle_bak';

查看管理员目录是否存在。

SQL> select * from dba_direcories;

使用管理员用户给指定的用户赋予在该目录的操作权限(比如该用户需要备份自己的数据)。

SQL> grant read,write on directory data_dir to C##BAK_TEST_USER;

借助expdp命令导出数据

创建完备份目录之后,我们就可以根据您的不同实际需求,并且按照不同的方式来执行Oracle数据库备份任务了。

方式1. “full=y”,全量导出数据库。

$ expdp sys/oracle@orcl dumpfile=expdp.dmp directory=data_dir full=y logfile=expdp.log

方式2. schemas按用户导出。

$ expdp user/passwd@orcl schemas=user dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

方式3. 按表空间导出。

$ expdp sys/passwd@orcl tablespace=tbs1,tbs2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

方式4. 导出表。

$ expdp user/passwd@orcl tables=table1,table2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

方式5. 按查询条件导出。

$ expdp user/passwd@orcl tables=table1='where number=1234' dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

借助impdp命令导入数据

如果需要导入数据的话,需要先将导入的数据文件存放导需要导入的数据库服务器上,参照导出的时候的建立目录方式建立物理目录和逻辑目录(只是建目录即可,如果需要给用户权限则加上给用户权限的那步)。

我们在导入数据的时候,和导出数据类似,也有对应的五种方式。

方式1. “full=y”,全量导入数据库。

impdp user/passwd directory=data_dir dumpfile=expdp.dmp full=y

方式2. 同名用户导入,从用户A导入到用户A。

impdp A/passwd schemas=A directory=data_dir dumpfile=expdp.dmp logfile=impdp.log;

方式3.

① 从A用户中把表table1和table2导入到B用户中。

impdp B/passwdtables=A.table1,A.table2 remap_schema=A:B directory=data_dir dumpfile=expdp.dmp logfile=impdp.log;

② 将表空间TBS01、TBS02、TBS03导入到表空间A_TBS,将用户B的数据导入到A,并生成新的oid防止冲突。

impdp A/passwd remap_tablespace=TBS01:A_TBS,TBS02:A_TBS,TBS03:A_TBS remap_schema=B:A FULL=Y transform=oid:n
directory=data_dir dumpfile=expdp.dmp logfile=impdp.log

方式4. 导入表空间。

impdp sys/passwd tablespaces=tbs1 directory=data_dir dumpfile=expdp.dmp logfile=impdp.log

方式5. 追加数据。

impdp sys/passwd directory=data_dir dumpfile=expdp.dmp schemas=system table_exists_action=replace logfile=impdp.log;
--table_exists_action:导入对象已存在时执行的操作。有效关键字:SKIP,APPEND,REPLACE和TRUNCATE

借助傲梅企业备份标准版备份Oracle数据库数据

从上文中我们可以看出,Oracle数据库备份方法中需要用到大量的命令行,这需要大家在操作过程中非常仔细,不能输错任何一个字符,不然可能会导致备份失败或者出现错误情况。

为了帮助大家更加简单地执行Oracle备份数据库文件任务的话,大家不妨尝试一下傲梅企业备份标准版,它兼容全部Windows PC与Windows Server操作系统,内置的强大备份还原功能可以让我们更加轻松地对Oracle数据库中的重要文件进行备份,并且支持创建定时备份任务,使其按照每天、每周、每月、触发事件或USB插入自动执行,更加方便。

如果您觉得还不错的话可以点击下方按钮进入下载中心下载安装傲梅企业备份标准版,然后跟着我们的演示教程一起看看Oracle如何备份数据库文件吧!

步骤1. 打开傲梅企业备份标准版,在主界面中点击“备份”>“文件备份”

文件备份
 

步骤2. 点击“添加目录”以选择您的Oracle数据库文件。

添加目录
 

步骤3. 点击下方长条框以选择一个用于存储Oracle备份文件的目标路径。

选择目标路径
 

步骤4. 如果有定时备份需求的话可以点击左下角的“定时备份”选项,然后根据您的实际需求设置Oracle定时备份间隔,可以使其按照您的设置定期自动执行,设置完毕之后点击“确定”

定时备份
 

步骤5. 确认各项设置无误之后点击“开始备份”即可轻松创建自动备份Oracle数据库文件任务,等到了设定的时间点,此任务将自动运行,无需您再次手动操作。


——————————华丽分割线——————————


好了朋友们,本文到这里就告一段落了下次再见

本文主要向大家介绍了一下如何使用expdp和impdp命令执行导出或导入任务,从而达成Oracle数据库备份目的,大家在上手操作的时候需要耐心仔细,不要输错了命令字符哦。如果您想要更加轻松地备份Oracle数据库中的重要文件的话,也可以借助傲梅企业备份标准版来进行,都是可行的解决方案。

傲梅企业备份标准版除了文中提到的功能之外,还可以帮助我们备份磁盘、迁移系统到新硬盘、实时同步文件,批量部署镜像到多台电脑等多种实用功能,赶紧下载安装来亲自体验体验吧!