oracle 数据库怎么备份

oracle 数据库怎么备份,第1张

1、EXP 备份:也称 Oracle 逻辑备份,恢复时需要的停机时间较长,因 IMP 导入恢复后不能应用归档日志,所损失的数据量较大; 对于大型数据库,EXP 会显得力不从心。

2、冷备份:也称 OS 备份,冷备份虽然恢复起来比较容易,但需要数据库停下来进行备份,备份造成停机时间的较长。而对于商业应用的数据库而言,这段时间恰恰是用来进行数据处理的。

3、RMAN(热备份):可以像冷备份一样实现数据库的全备份,而且不会影响到数据库的运行。但数据库必须在归档模式下运行;且备份文件必须存放在数据库所在服务器的磁盘上,或者数据库服务器可以直接访问的外部设备上,如磁盘柜、磁带机等。

4、StandBy 备份:在生产数据库(主数据库)的基础上,创建一个备用数据库(StandBy数据库),备用数据库实时自动与生产数据库同步。但处于只读和空闲状态,不接收用户连接和业务处理。如果生产数据库出现故障,可以立即以主数据库的模式启动 StandBy数据库,接替生产数据库的工作。采用这种备份方式,故障修复时间最短,数据丢失最少。但缺点是,必须单独提供 StandBy 数据库服务器,成本比较高。一般在金融和电信等实时性要求较高的行业广泛采用。

Oracle冷备份的通常步骤:

1 正常关闭数据库

2 备份所有重要的文件到备份目录(数据文件、控制文件、重做日志文件等)3 完成备份后启动数据库

用冷备份进行恢复时,只需要将所有文件恢复到原有位置,就可以启动数据库了 。

1 进入数据库#sqlplus "/as sysdba"

2 如果没有启动则要启动:SQL>startup

3 查询数据文件datafile的所在目录:

SQL>SELECT name FROM v$datafile;

查询控制文件controlfile的所在目录:

SQL>SELECT name FROM v$controlfile;

查询重做日志文件的所在目录:

SQL>SELECT member FROM v$logfile;

4 关闭数据库

SQL>shutdown

5 备份文件到备份的目录

#cp /u01/app/oracle/oradata/orcl/dbf /home/mzl/BackupDatabase#cp /u01/app/oracle/oradata/orcl/ctl /home/mzl/BackupDatabase#cp /u01/app/oracle/oradata/orcl/log /home/mzl/BackupDatabase6 然后启动数据库

#sqlplus "/as sysdba"

SQL>startup

冷备份完毕。

Oracle数据库备份方式

Oracle的内核提供数据库的备份和恢复机制,SQLDBA按表空间进行数据的备份和恢复。Oracle提供两种方式:备份恢复和向前滚动,保证意外故障恢复数据库的一致性和完整性。

1 备份恢复方式

对数据库的某个一致状态建立副本,并储存在介质上脱机保存,以此作为数据库恢复的基础。现以Oracle实用程序Export/Import来介绍备份恢复方式。

Export/Import是Oracle提供的两个互补性程序,即卸载和装载。它们既完成数据库与 *** 作系统文件的互为转载,同时可以有效地回收数据库的碎片,提供不同版本间Oracle 数据传送的手段,进行不同用户间的数据传送。

Export数据卸载,将数据从Oracle写到指定的 *** 作系统文件进行备份。卸载的对象、内容与数量有三种模式:TABLE MODE(表模式)、USER MODE(用户模式)、FULL DATABASEM ODE(所有数据库模式)。使用方式既可用交互方式,也可采用命令行方式,以"关键字=值" 将所需信息在命令行中逐一描述来进行卸载。Export要求用户具有CONNECT或DBA特权。

Import与Export互逆,将 *** 作系统文件重新装载至Oracle数据库中,使用方式如Expo rt。使用者要求具有CONNECT和RESOURCE特权,且可选择部分或全部装入。

Export/Import非常方便,系统开销小,它的限制是输出的 *** 作系统文件采用专门的压缩方式存放,仅提供给Import使用。

也可采用SQLPLUS和SQLLOADER实用工具进行备份。使用SQLPLUS的SPOOL命令通过脱机定向输出,使用PLUS格式化结果,形成指定格式的ASCII文件,需要时可用SQLLOADER 进行加载。它的方便之处是ASCII文件可以编辑,可方便地加载至其他数据库(如FoxPro、 Sybase中)。

2 向前滚动方式

Oracle提供向前滚动方式,使建立备份后成功的事务不会丢失。恢复的基础是数据库的某个一致性状态(即方式1完成的备份恢复),恢复的依据是存档的重作记录文件。启动重作记录文件方法如下:

(1) 启动Oracle;

(2) 连接Oracle:CONNECT SYSTEM/PASSWORD;

(3) 启动ARCHIVE LOG。

出现介质故障时,可用SQLDBA的RECOVER命令,利用存档的重作记录文件恢复一个或多个表空间。RECOVER命令对DATABASE或TABLASPACE进行恢复。前者要求SQLDBA START UP已被排斥方式装载且未被打开;后者对无活跃回退段的表空间执行脱机,要求数据库已装载且被打开。

由于向前滚动方式恢复的依据是存档的重作记录文件,因而系统开销大,但恢复的是建立备份以后的成功事务,所以恢复的程度更高、更完备。

IT JOB

oracle没有sql语句备份,只有exp导出或者RMAN备份,都不是sql,RMAN是标准的数据块备份,前提要求是数据库一定要开启归档,然后才可以进行RMAN备份,这个方法对数据量大的数据库可以使用,速度会比较快,具体方法可以从网上查,不是很难,但比较繁琐,还有一个exp导出,这个是直接将数据库内的表直接导出城dmp文件,具体的语法是

exp user/password@DBSID file=D:\备份目标文件夹\文件名dmp log=D:\备份目标文件夹\文件名log owner=用户名

上述语句是需要在cmd命令行下执行的,如果想导出哪个用户就可以导出哪个用户,只要能用sql语句连接到数据库就可以使用,不管在哪个机器

1、首先建立恢复目录相关表空间。

2、建立使用此表空间的用户并赋予权限。

3、连接并创建恢复目录。

4、连接并注册恢复目录中的数据库。

5、完成提示,注册和同步完成。

先确认oracle服务器上oracle如下截图中标红的相关的服务是否已经正常启动。

要断开数据库的所有连接,如果数据库中有正在连接客户端,备份的时候可能会出现异常,比如PLSQL的连接先退出一下。

在开始菜单中输入“cmd”命令后回车,打开dos命令窗口,如下截图1和2所示。

在cmd窗口中,输入以下命令:

exp 用户名/密码@SID file=d:\xxdmp owner=用户名,按下回车键,界面如下截图所示。

导出的时间是根据数据库的大小决定的,如果数据库中表比较多,数据量比较大速度就会比较慢,请耐心等待。当数据完成导出之后,cmd窗口中会出现如下图所示的提示语,这就表示已经完成了数据库备份导出的动作。

这时候在计算机中找到第四步中设定的文件保存路径,如下截图,你会发现多了一个dmp的文件,这个文件就是我们需要的备份文件了。

可以在控制面板的管理工具中,找到任务计划程序,设置一个定时任务,每天执行一遍exp 用户名/密码@SID file=d:\xxdmp owner=用户名这个命令,这样就能实现数据库数据的定时备份了。

以上就是关于oracle 数据库怎么备份全部的内容,包括:oracle 数据库怎么备份、如何用oracle进行冷备份、请问oracle数据库的数据库备份有几种方式哪种最好用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10204773.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存