十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Oracle数据库的三种标准的备份方法:
十多年建站经验, 网站制作、网站设计客户的见证与正确选择。成都创新互联提供完善的营销型网页建站明细报价表。后期开发更加便捷高效,我们致力于追求更美、更快、更规范。
1.导出/导入(EXP/IMP)。
2.热备份。
3.冷备份。
注释:导出备件是一种逻辑备份,冷备份和热备份是物理备份。
一、导出/导入(Export/Import)
利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。
1、简单导出数据(Export)和导入数据(Import)
Oracle支持三种方式类型的输出:
(1)、表方式(T方式),将指定表的数据导出。
(2)、用户方式(U方式),将指定用户的所有对象及数据导出。
(3)、全库方式(Full方式),瘵数据库中的所有对象导出。
数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。
2、增量导出/导入
增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。
增量导出包括三种类型:
(1)、“完全”增量导出(Complete)
即备份三个数据库,比如:
expsystem/managerinctype=completefile=040731.dmp
(2)、“增量型”增量导出
备份上一次备份后改变的数据,比如:
expsystem/managerinctype=incrementalfile=040731.dmp
(3)、“累积型”增量导出
累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。比如:
expsystem/managerinctype=cumulativefile=040731.dmp
数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。
比如数据库的被封任务可以做如下安排:
星期一:完全备份(A)
星期二:增量导出(B)
星期三:增量导出(C)
星期四:增量导出(D)
星期五:累计导出(E)
星期六:增量导出(F)
星期日:增量导出(G)
如果在星期日,数据库遭到意外破坏,数据库管理员可按一下步骤来回复数据库:
第一步:用命令CREATEDATABASE重新生成数据库结构;
第二步:创建一个足够大的附加回滚。
第三步:完全增量导入A:
impsystem/managerinctype=RESTOREFULL=yFILE=A
第四步:累计增量导入E:
impsystem/managerinctype=RESTOREFULL=YFILE=E
第五步:最近增量导入F:
impsystem/managerinctype=RESTOREFULL=YFILE=F
二、冷备份
冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。冷备份的优点是:
1、是非常快速的备份方法(只需拷文件)
2、容易归档(简单拷贝即可)
3、容易恢复到某个时间点上(只需将文件再拷贝回去)
4、能与归档方法相结合,做数据库“最佳状态”的恢复。
5、低度维护,高度安全。
但冷备份也有如下不足:
1、单独使用时,只能提供到“某一时间点上”的恢复。
2、再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态。
3、若磁盘空间有限,只能拷贝到磁带等其他外部存储设备上,速度会很慢。
4、不能按表或按用户恢复。
如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括:
1、所有数据文件
2、所有控制文件
3、所有联机REDOLOG文件
4、Init.ora文件(可选)
值得注意的使冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。
下面是作冷备份的完整例子。
(1)关闭数据库
sqlplus/nolog
sqlconnect/assysdba
sqlshutdownnormal;
(2)用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件
sqlcpfilebackupdirectory
(3)重启Oracle数据库
sqlstartup
三、热备份
热备份是在数据库运行的情况下,采用archivelogmode方式备份数据库的方法。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog方式下操作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。热备份的命令文件由三部分组成:
1.数据文件一个表空间一个表空间的备份。
(1)设置表空间为备份状态
(2)备份表空间的数据文件
(3)回复表空间为正常状态
2.备份归档log文件
(1)临时停止归档进程
(2)log下那些在archiveredelog目标目录中的文件
(3)重新启动archive进程
(4)备份归档的redolog文件
3.用alterdatabasebachupcontrolfile命令来备份控制文件
热备份的优点是:
1.可在表空间或数据库文件级备份,备份的时间短。
2.备份时数据库仍可使用。
3.可达到秒级恢复(恢复到某一时间点上)。
4.可对几乎所有数据库实体做恢复
5.恢复是快速的,在大多数情况下爱数据库仍工作时恢复。
热备份的不足之处:
1.不能出错,否则后果不堪设想。
2.假如热备份不成功,所得结果则不能用于时间点的恢复。
3.因为难于维护,所以需要特别仔细小心,不允许在操作时半途而废。
关于Oracle数据库的备份方式就为大家讲解到这里,以后大家需要进行数据库备份工作时可以参照上文中讲解的,从上文中任选一种,就可以完成Oracle数据库的备份,希望上文中涉及到的内容对大家能够有所帮助。
如果,备份几张表的数据,那么,可以备份到dmp文件中,用命令导出表比较快捷。
语句如下:
exp test/test@ora100G file=c:\17.dmp tables=(tb1,tb2,tb3,...)
开始,运行,在弹出的“运行”框里,粘贴上面的语句,并修改,就可以备份。
解释一下这个语句(因为今天是17号,所以,就拿17.dmp作为备份文件的名称吧!):
exp:导出。
test/test@ora100g:“test/test”是用户名和密码;“ora100G”是“网络服务名”。
file=c:\17.dmp:“c:\17.dmp”是保存到本地的全文件路径。
tables=(tb1,tb2,tb3,...):“(tb1,tb2,tb3,...)”是你选择需要备份的那些表的名称。
因为,备份的时候一般都写一个日志备份文档,以方便以后查找,所以,原语句可以改写成
exp test/test@ora100G file=c:\17.dmp tables=(tb1,tb2,tb3,...) log=c:\17.text
先确认oracle服务器上oracle如下截图中标红的相关的服务是否已经正常启动。
请点击输入图片描述
要断开数据库的所有连接,如果数据库中有正在连接客户端,备份的时候可能会出现异常,比如PLSQL的连接先退出一下。
请点击输入图片描述
在开始菜单中输入“cmd”命令后回车,打开dos命令窗口,如下截图1和2所示。
请点击输入图片描述
请点击输入图片描述
在cmd窗口中,输入以下命令:
exp 用户名/密码@SID file=d:\xx.dmp owner=用户名,按下回车键,界面如下截图所示。
请点击输入图片描述
导出的时间是根据数据库的大小决定的,如果数据库中表比较多,数据量比较大速度就会比较慢,请耐心等待。当数据完成导出之后,cmd窗口中会出现如下图所示的提示语,这就表示已经完成了数据库备份导出的动作。
请点击输入图片描述
这时候在计算机中找到第四步中设定的文件保存路径,如下截图,你会发现多了一个dmp的文件,这个文件就是我们需要的备份文件了。
请点击输入图片描述
可以在控制面板的管理工具中,找到任务计划程序,设置一个定时任务,每天执行一遍exp 用户名/密码@SID file=d:\xx.dmp owner=用户名这个命令,这样就能实现数据库数据的定时备份了。
请点击输入图片描述
请点击输入图片描述
备份分为3种:
备份的方法
ORACLE数据库有三种标准的备份。导出/导入(EXPORT/IMPORT) 、冷备份、热备份。
导出备份是一种逻辑备份,这种方法包括读取一系列的数据库日志,并写入文件中,这些日志的读取与其所处位置无关。
冷备份和热备份是物理备份(也称低级备份),它涉及到组成数据库的文件,但不考虑逻辑内容。
我们分别介绍一下这三种备份方法及其特点:
(一)、导出/导入(EXPORT/IMPORT)
EXPORT/IMPORT是用来将ORACLE中数据移出/移入数据库。
1、EXPORT将数据库中数据备份成一个二进制系统文件称为“导出转储文件”(EXPORT DUMP FILE),并将重新生成数据库写入文件中。
它有三种模式:
a.用户模式:导出用户所有对象以及对象中的数据;
b.表模式:导出用户所有表或者指定的表;
c.整个数据库:导出数据库中所有对象。
它的备份有三种类型:
a.完全型(COMPLETE EXPORT):备份整个数据库;
b.积累型(COMULATIVE ERPORT):备份上一次积累型备份所改变的数据;
c.增量型(INCREAMENTAL EXPORT):备份上一次备份后改变的数据。
EXPORT 的命令可以交互式进行,各参数的具体含义见附录。
在进行导出备份时我们要考虑一点问题,那就是导出的一致性,在导出过程 中导出每读一次就读取一个表,因而尽管导出是在一个特点时自己开始的,但不同的表读取的时间不同,因此,导出开始读一个表时,此时表中的数据才是导出的数据,这样当大多数表按内部关键字和外部关键字相互联系时,在导出过程中这些相关联表的改变就会导致导出的不一致性,要避开这个,我们可以将导出过程安排在不对表操作的时候进行。另外,当ORACLE中RESTRICTEP CONSISTENT 选项就可以保证导出数据一致性。
2、IMPORT导入:
导入的过程是导出的逆过程,这个命令先读取导出来的导出转储二进制文件,并运行文件,恢复对象用户和数据。
IMPORT命令执行的方法和EXPORT方案有关。
1、如果EXPORT所实施的是完全型方案(FULL)则在IMPORT时所有的数据对象,包括表空间,数据文件,用户都会在导入时创建,但考虑到数据库中的物理布局,预先创建表空间和用户是有用的。
2、如果EXPORT使用的是INCREMENTAL/CUMULATIVE方式,则需要预先设置好表空间、用户、数据文件。
(二):冷备份
冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。
数据库使用的每个文件都被备份下来,这些文件包括:
☆所有数据文件
☆所有控制文件
☆所有联机REDO LOG 文件
☆INIT.ORA文件(可选)
值得注意的是冷备份必须是数据库关闭的情况下完成,当数据库开着的时候,执行数据库文件系统备份无效。
作冷备份一般步骤是:
1:正常关闭要备份的实例(instance);
2: 备份整个数据库到一个目录
3:启动数据库
1: SQLDBAconnect internal
SQLDBAshutdown normal
2: SQLDBA! cp
或
SQLDBA!tar cvf /dev/rmt/0 /wwwdg/oracle
3: SQLDBAstartup
(三)热备份(ACHIRELOG)
数据库需要二十四小时运行,而且随时有新的数据加入.数据丢失将影响整个公司.采用archivelog mode物理备份.
备份方法如下:
win键+R,输入cmd,点击“确定”,打开命令提示符。
输入,xp用户名/密码@本地服务名 file=路径:\文件名.dmp log=路径:\日志名.log tables=表名。
然后敲击回车键,等待执行结束。最后会有成功提示,这样子就开始备份好了。
甲骨文公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989年正式进入中国市场。2013年,甲骨文已超越 IBM ,成为继 Microsoft 后全球第二大软件公司。
oracle 数据库备份的步骤是:
直接通过exp命令备份需要内容就可以了。可以参考下以下导出备份的方法:
1、将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
2、将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
3、将数据库中的表table1 、table2导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
4、将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"