ORACLE数据库备份_第1页
ORACLE数据库备份_第2页
ORACLE数据库备份_第3页
ORACLE数据库备份_第4页
ORACLE数据库备份_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ORACL数据库备份一、意义: 当我们使用一个数据库时, 总希望数据库的内容是可靠的、 正确的, 但由于计算机系统 的故障 (硬件故障、 网络故障、 进程故障和系统故障 )影响数据库系统的操作, 影响数据库中 数据的正确性, 甚至破坏数据库, 使数据库中全部或部分数据丢失。 因此当发生上述故障后, 希望能重新建立一个完整的数据库, 该处理称为数据库恢复。 恢复子系统是数据库管理系统 的一个重要组成部分。恢复处理随所发生的故障类型所影响的结构而变化。二、备份的方法ORACLE 数据库有三种标准的备份。导出 / 导入 (EXPORT/IMPORT) 、冷备份、热备份。导出备份是一种逻辑备份, 这种

2、方法包括读取一系列的数据库日志, 并写入文件中, 这 些日志的读取与其所处位置无关。冷备份和热备份是物理备份 ( 也称低级备份 ) ,它涉及到组成数据库的文件, 但不考虑逻 辑内容。下面我们分别介绍一下这三种备份方法及其特点:( 一)、导出 / 导入(EXPORT/IMPORT)EXPORT/IMPORT是用来将ORACLE数据移出/移入数据库。1 、EXPORT将数据库中数据备份成一个二进制系统文件称为“导出转储文件”(EXPORTDUMP FILE),并将重新生成数据库写入文件中。它有三种模式:a. 用户模式:导出用户所有对象以及对象中的数据;b. 表模式:导出用户所有表或者指定的表;c.

3、 整个数据库:导出数据库中所有对象。它的备份有三种类型:a. 完全型(COMPLETE EXPORT)备份整个数据库;b. 积累型(COMULATIVE ERPORT)备份上一次积累型备份所改变的数据;C. 增量型(INCREAMENTAL EXPORT)备份上一次备份后改变的数据。EXPORT 的命令可以交互式进行,各参数的具体含义见附录。 在进行导出备份时我们要考虑一点问题,那就是导出的一致性,在导出过程中导出每读一次就读取一个表, 因而尽管导出是在一个特点时自己开始的, 但不同的表读取的时间不 同,因此, 导出开始读一个表时,此时表中的数据才是导出的数据,这样当大多数表按内部 关键字和外

4、部关键字相互联系时, 在导出过程中这些相关联表的改变就会导致导出的不一致 性,要避开这个,我们可以将导出过程安排在不对表操作的时候进行。另外,当ORACLERESTRICTEP CONSISTEN选项就可以保证导出数据一致性。2 、IMPORT导入:导入的过程是导出的逆过程, 这个命令先读取导出来的导出转储二进制文件, 并运行文 件,恢复对象用户和数据。IMPORT命令执行的方法和 EXPORTS案有关。1 、如果EXPORT所实施的是完全型方案(FULL)则在IMPORT时所有的数据对象,包括表预先创建表空间空间, 数据文件,用户都会在导入时创建,但考虑到数据库中的物理布局, 和用户是有用的

5、。2 、如果EXPORT使用的是INCREMENTAL/CUMULATI方式,则需要预先设置好表空间、 用户、数据文件。( 二 ) :冷备份 冷备份发生在数据库已经正常关闭的情况下, 当正常关闭时会提供给我们一个完整的数 据库。数据库使用的每个文件都被备份下来,这些文件包括: 所有数据文件所有控制文件所有联机REDO LOG文件 INIT.ORA 文件(可选 )值得注意的是冷备份必须是数据库关闭的情况下完成, 当数据库开着的时候, 执行数据 库文件系统备份无效。作冷备份一般步骤是:1 :正常关闭要备份的实例 (instance);2:备份整个数据库到一个目录3 :启动数据库1 : SQLDBA

6、connect internal SQLDBAshutdown normal2 : SQLDBA! cp 或SQLDBA!tar cvf /dev/rmt/0 /wwwdg/oracle3 : SQLDBAstartup(三)热备份 (ACHIRELOG) 数据库需要二十四小时运行, 而且随时有新的数据加入 . 数据丢失将影响整个公司 .采用archivelog mode 物理备份 .*. 设置数据库为 automatic archivelog mode,#su - oracle%svrmgrl svrmgrlconnect internal svrmgrlstartup mount svrm

7、grlalter database archivelog svrmgrlshutdown svrmgrlexit%vi initoracle7.ora加入 log_archive_start = true # if you want automatic archivinglog_archive_dest = $ORACLE_HOME/dbs/arch log_archive_format = log%s.arc%dbstart%ps -ef|grep archoracle 1743 1 0 15:20:20 ? 0:00 ora_arch_oracle7注: oracle database i

8、s in automatic archivelog mode?full offline entire database backup, 当数据库初始完成后 础。它提供了所有与数据库有关的拷贝 .%dbshut%cp /oracle/oradata/oracle7/system.dbf/oracle/oradata/oracle7/rbs.dbf/oracle/oradata/oracle7/temp.dbf/oracle/oradata/oracle7/tools.dbf/oracle/oradata/oracle7/users.dbf /oraclecle/app/oracle/produc

9、t/7.3.2/dbs/application.dbf/oracle/app/oracle/product/7.3.2/dbs/apptmpsp.dbf/oracle/app/oracle/product/7.3.2/dbs/apprlbksp.dbf/oracle/oradata/oracle7/redooracle.log/oracle/oradata/oracle7/control1.ctl/oracle/oradata/oracle7/control2.ctl/oracle/oradata/oracle7/control3.ctl%dbstart注:以上 *.dbf 文件为数据文件 ,

10、*.log 文件为日志文件 ,*.ctl%exit%tar uvf /dev/rmt/0 注 : 如 果 为 oracle 7.2 , 则 copy 相 files,control files.6.3 、每天做一次 partial online with archiving backups .#su - oracle%svrmgrl%svrmgrlconnect internal%svrmgrlalter tablespace billsp begin backup %svrmgrlalter tablespace billtmpsp begin backup%svrmgrlalter tab

11、lespace billrlbksp begin backup%svrmgrlalter tablespace system begin backup%svrmgrlalter tablespace rbs begin backup%svrmgrlalter tablespace temp begin backup这份备份是将来备份的基文件为控制文件应 的 data files,relog%svrmgrlalter tablespace tools begin backup%svrmgrlalter tablespace users begin backup%svrmgrlhost cp al

12、l datafile to the backup storage.# 文件名如第一步中以 .dbf 结尾的 .%svrmgrlalter tablespace billsp end backup%svrmgrlalter tablespace billtmpsp end backup %svrmgrlalter tablespace billrlbksp end backup%svrmgrlalter tablespace system end backup%svrmgrlalter tablespace rbs end backup%svrmgrlalter tablespace temp

13、end backup %svrmgrlalter tablespace tools end backup%svrmgrlalter tablespace users end backup做一个 sql 文件 , 如上所写 .The billing system can recover to the point of failure when the failure occur.七、备份文件的恢复:7.1 恢复文件: 以下是对 /etc/passwd 文件的恢复( 、放入正确的磁带( 、运行以下命令恢复 /etc/passwd 文件# rsh www mt -f /dev/rmt/0 rew(

14、找到最近的磁带,向前进带到最近的 /etc/passwd ,比如要找星期三的 /etc/passwd 文件,运行如下命令 )#rsh www mt -f /dev/rmt/0n fsf 2# ufsrestore if www:/dev/rmt/0n ufsrestore lsetc/ufsrestore cd etc ufsrestore ls /etc : passwd ufsrestore add passwd Warnign : /etc : File exists ufsrestore verbose verbose mode on ufsrestore extract Extrac

15、t requested files You have not read any volumes yet Unless you know which volume your file(s) are on you should startwitch the last volume and work to wards the first Specify next volume # : 1extract file /etc/passwdAdd linksSet directory mode ,ower,and times set owner /mode for ?(yn)nDirectories al

16、ready exit , set mode anyway?(yn)yufsrestore quit热备份可以在数据库打开打情况下进行,一般通过使用 Alter 命令改变表空间 的状态来开始进行备份的,备份完成后,要恢其原来状态,否则 redo log 会错配 ,引起数据库下次启动时对受影响的表空间进行完全覆盖。热备份的要求是:1. 热备份工作必需要求数据库在Archivelog 方式下操作,在SQLDBA状态下用alter database archivelog|noarchivelog命令可改变备份的模式。2. 热备份只能在数据库不使用或使用率低的情况下进行。3. 热备份需要大量的档案空间。

17、一般情况, Oracle 以循环的方式写入 Online redo log 文件,当填满第一个redo log文件后写第二个,直至最后一个,最后一个被填满后,后台进程LGWR覆盖第一个,在 Archivelog 方式下,后台进程 ARCH在每一个redo log文件被覆盖前,给它作一个拷贝,一般,这些文档的 redo log 文件被写入磁盘或磁带中。如 果磁盘空间够用,建议使用磁盘,这样可大大减少完成备份所需的时间。在作热备份之前, 要将 config.ora 文件中的 log_archive_start 设为 true 将 log_archive_dest规定 archive redo lo

18、g 文件的位置:log_archive_dest=/wwwdg/oracle/arch/archlog_archive_start=true一旦数据库运行在 archivelog 状态下,就可以作备份了。热备份的命令文件由三部分组成:1 、数据文件一个表空间一个空间地备份:a. 设置表空间为备份状态。b. 备份表空间的数据文件。c. 恢复表空间为正常状态。2 、备份归档要作 log 文件:a. 临时停止归档进程b.log 下那些在 archive redo log 目标目录中的文件c. 重新启动 archive 进程d. 备份归档的 redo log 文件3 、用 alter database

19、 backup controlfile命令来备份拷贝文件在热备份运行之前 log_archive_dest 目录可能已满,这时就要备份目录,然 后删除文件,释放空间,这个过程有如下步骤:1 、暂时停止 archive 进程。2 、记录在 log_archive_dest 目录下的文件。3 、重新启动 archive 进程。4 、备份 archive redo log 文件。5 、删除目录中的文件。sqldba lmode=y EOF arch1archive log stop;exitEOF arch1FILES=ls /wwwdg/oracle/arch/arch*.dbf;sqldba l

20、mode=yconnect internalsvrmgrlstartup mount pfile=filename exclusive?svrmgrlalter database recover; 注:将自动恢复数据到 the point of failure;? svrmgrlalter database open;? 当 archive log 文件过多时,在 做过部分备份后,可将 current log sequence 之前的 log*.arc 删除 .#su - oracle%svrmgrl svrmgrlconnect internal; svrmgrlarchive log li

21、st;# 此处标有 current log sequence.假设为 360 。Svrmgrlexit$cd /billdg/oracle/app/oracle/product/7.3.2/dbs/arch$ rm # 将 log360.arc 之前的文件如 log359.arc,log358.arc 删除。当数据库比较小时,处理业务也小时,冷备份导出就可以了。如果只对一两个表备份导出就够了。一般来说一个好 , 备份最终执行总包括逻辑和物理,导出确认数据库在逻辑的正确性而物理备份确保物理。 另外,在进行备份时需要一些存储介质,对于这些介质应该对其作好管理1 :根据备份的内容,日期将介质统一编号

22、, 以免备份和恢复时弄错介质, 造成原有的备份 丢失。2 :介质应存放在与计算机设备不同的地点,以免机房发生意外时,备份与计算机设备一同损坏。附录:tar 命令tar option arguments filename.option:c: 创建一个由命令行指定的新的 tarfilet: 列出 tarfile 中的内容x: 打开 tarfile;f: 使用其后的 filename 或 /dev/rmt/0|1v: 列出被恢复的文件名;p: 恢复文件example:#tar cvf /dev/rmt/0 /oracle备份 /root 下的所有内容#tar tvf /dev/rmt/0列出磁带上的

23、所有内容#tar xvf /dev/rmt/0 /oracle将磁带上的 /oracle 目录中的内容恢复到当前目录中导出选项 关键字USERID BUFFEERFILECOMPRESS内容 运行导出命令的帐号的用户名 / 口令。 用来取数据行的缓冲区的大小。导出转储文件的名字导 出是否应该压缩有碎片的 段成一个范围, 这将会影响 STORAGE 子句,GRANTSINDEXESROWS导出时否要导出数据库对象上的授权是否要导出表上的索引是否应导出行。如它为 N,那么在导出文件中仅生成数据库对象的DDLCONSSTRAINTS是否导出表旧的约定条件FULLOWNER如设为 Y,那么将执行一个整

24、个数据库导出操作要导出的一系列数据库帐号,然后执行这些帐号的 USER导出操作TABLES要导出的一系列表;执行这些表的TABLE导出操作RECORDLENGT转储导出文件日志的长度(以字节为单位),通常都使用缺省,除非要在两个INCTYPE不同操作系统中传递导出文件正在执行的导出操作的类型 (有效值有” COMPLETE缺省值),CUMULATIVERECORD和“ IVCREMENTA”L)在 增 量导 出 类 型 中 的 一 个 标 记, 标 明 是 否 将 日 志 存 储到 数 据 字 典 中日志导出的表中PARFILE要传递给导出的参数文件的名字。这个文件将包含所有参数的入口项ANA

25、LYZE CONSISTENTLOGMLS MLS_LABEL_ 导入选择项USERIDBUFFEERFILESHOWEGORE标明是否将移对象的统计信息写入导出转储文件中 标明是否保留所有导出对象的读取一致复制。 导出日志将要写入的文件的名字 标明是否要导出 MLS 标号 规定了 MLS标号的格式运行导入命令的帐号的用户名 / 口令。用来取数据行的缓冲区的大小。 导入转储文件的名字 规定文件内容是否被显示,而不是被执行。标明在执行 CREATE命令时,是否忽略遇到的错误。如果正 在导入的对象已经存在时,应使用这个参数。FULLFROMUSER如设为 Y,那么将执行一个整个数据库导入操作在FULL=N的情况下,才有参数。它是一系列的数据库帐号,其 对象应从导出转储文件中读取。TOUSER一系列数据库帐号,导出转储文件扣的对象将要导入这些帐号。GRANTSINDEXESROWS导入时否要导入数据库对象上的授权 是否要导入表上的索引DDLFULL如设为 Y,那么将执行一个整个数据库导出操作是否应导入行。如它为N ,那么在导入文件中执行数据库对象的TABLES要导入的一系列表RECORDLENGT转储导入文件日志的长度(以字节为单位),通常都使用缺省,除非要在两

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论