oracle归档模式下热备份总结_第1页
oracle归档模式下热备份总结_第2页
oracle归档模式下热备份总结_第3页
oracle归档模式下热备份总结_第4页
oracle归档模式下热备份总结_第5页
全文预览已结束

下载本文档

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

文档简介

oracle .hotbackup 归档模式下 热备 备份 恢复 热备是控制 scn 在备份时不变化-冻结块头 进行物理的拷贝,拷贝完后让 scn 号可以变化-解冻块头 可以对数据库热备,可以对表空间热备,可以对控制文件热备,但一般情况下是备份 数据文件,参数文件可以互相转化备份,日志文件一般不需备份,控制文件,冷备热 备都可以备份, 冻结所有块头的 scn 号 alter database begin backup; 然后拷贝所有 datafile 解冻块头 冻结期间所有的 dml 语句之类的会在 undo 或数据文件中记录,一旦解冻后会 刷新 scn 号 alter database end backup 表空间: alter tablespace TB1 begin backup alter tablespace TB1 end backup tempfile 一般不需要备份 更改数据库为 archive 模式 一致性关闭 shutdown immediate 然后 startup mount 执行 alter database archivelog archive log list 查看归档信息: SQL alter system switch logfile; SQL archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 10 Next log sequence to archive 15 Current log sequence 15 切换日志后最后的两个数值会变化,说明归档时可用的否则是归档有误 查看表空间信息: 数据文件备份: 查看系统表空间信息: SQL select tablespace_name from dba_data_files; 找出数据文件: select name from v$datafile; alter database begin backup (10g 以前有可能不支持全库) 直接去拷贝目录内的文件时不推荐的,最好是用查询语句把他查询出来 用这个语句来生产拷贝语句,然后拷贝语句来执行 SQL select ho cp |name| /u02/orcl/ from v$datafile; HOCP|NAME|/U02/ORCL/ - ho cp /u01/oracle/oradata/orcl/system01.dbf /u02/orcl/ ho cp /u01/oracle/oradata/orcl/sysaux01.dbf /u02/orcl/ ho cp /u01/oracle/oradata/orcl/users01.dbf /u02/orcl/ ho cp /u01/oracle/oradata/orcl/example01.dbf /u02/orcl/ ho cp /u01/oracle/oradata/orcl/undotbs02.dbf /u02/orcl/ ho cp /u01/oracle/oradata/orcl/tt.dbf /u02/orcl/ 6 rows selected. 备份控制文件: SQL alter database backup controlfile to /u02/horcl/control2012-05-05.ctl; 备份参数文件: SQL create pfile=/u02/horcl/initorcl.ora from spfile; 日志文件不需要做备份 临时表空间: 临时表空间不能热备,也不需要热备,他在不在与 oracle 的启动没有关系,只有 在排序或存放临时段的需求时才会用临时表空间 查看临时数据文件 SQL select name from v$tempfile; 查询临时表空间 SQL select tablespace_name from dba_temp_files; 总结:写一个完整的热备的脚本 oraclelocalhost $ vi /u02/hotbak.sql spool /tmp/hot.sql select ho cp |name| /u02/horcl/ from v$datafile; spool off ho sed -n /ho cp/p /tmp/hot.sql /tmp/hotorcl.sql; alter database begin backup; start /tmp/hotorcl.sql alter database end backup; ho rm /tmp/hot*.sql alter database backup controlfile to /u02/horcl/control01.ctl; create pfile =/u02/horcl/initorcl.ora from spfile; 测试: 删除/u02 下的所有内容: oraclelocalhost $ rm /u02/horcl/* -rf SQL start /u02/hotbak.sql 如果不支持:alter database begin backup 命令 先把信息查询出来 SQL select tablespace_name,file_name from dba_data_files; 以下是这个完整的脚本: set heading off spool /tmp/hot.sql select alter tablespace |tablespace_name| begin backup ;|chr(10)| ho cp |file_name| /u02/horcl/ |chr(10)| alter tablespace |tablespace_name| end backup; from dba_data_files order by tablespace_name; spool off start /tmp/hot.sql ho rm /tmp/hot.sql; alter database backup controlfile to /u02/horcl/control01.ctl; create pfile=/u02/horcl/initorcl.ora from spfile; 49.hotbak-restore-controlfile: 热备归档下的恢复: 当然也可以用重建控制文件来恢复 控制文件丢失: 控制文件记录了结构和行为: 只丢失某个:用存在的来来覆盖丢失的 版本不一致:用新版本的来覆盖老版本的 全部丢失: 1.还原: SQL ho cp /u02/horcl/control01.ctl /u01/oracle/oradata/orcl/control01.ctl; SQL ho cp /u02/horcl/control01.ctl /u01/oracle/oradata/orcl/control02.ctl; SQL ho cp /u02/horcl/control01.ctl /u01/oracle/oradata/orcl/control03.ctl; 2.启动到 mount SQL alter database mount; 3.进行 recover database using backup controlfile;先输入 AUTO 让其自动找需要的归档日 志,如果提示找不到某个归档日志,则再次执行 recover database using backup controlfile; 然后执行系统中的日志文件路径,一个一个的去试着恢复,知道恢复完成为止(用老的控 制文件在根据从备份到现在的日志来刷新控制文件为最新,控制文件中的信息被更新后, 必须用 resetlogs 选项,之前的备份基本是无效的了) 显示如下字样 Log applied. Media recovery complete. 4.alter database open resetlogs; 如果此布报错只需推出 sqlplus 重新进入 startup 就没问题 5.全新全备数据库 注意:归档的日志不能删 默认目录: /u01/oracle/flash_recovery_arer/ORCL/archivelog/2009_10_25/ol_mf_1_ 50.hotbackup-restore-datafile 数据文件丢失: 能脱机的:可以在线还原,恢复 不能脱机:只能到 mount 阶段恢复 system undo temp 三个表空间不能脱机,别的都可以脱机 示例: users 表空间丢失 SQL select tablespace_name, file_name from dba_data_files; SQL alter tablespace users begin backup; SQL ho cp /u01/oracle/oradata/orcl/user01.dbf /u02/horcl/ SQL alter tablespace users end backup; SQL ho rm /u01/oracle/oradata/orcl/users01.dbf 切换到 scott 用户查看其拥有的表: SQL select * from tab; SQL select * from dept;发现文件丢失: select * from dept * ERROR at line 1: ORA-01116: error in opening database file 4 ORA-01110: data file 4: /u01/oracle/oradata/orcl/users01.dbf ORA-27041: unable to open file Linux Error: 2: No such file or directory Additional information: 3 能脱机的表空间处理步骤: SQL conn /as sysdba 1、 查看文件状态: SQL select file#,status,enabled from v$datafile; 要对数据文件处理,必须保证其 scn 号不会因为操作而改变,然后才能在数据库 运行时对其操作,所以需要对其 offline。 SQL alter database datafile 4 offline; 查看是否 offline; SQL select file#,status,enabled from v$datafile; 2、 还原备份的数据文件到丢失的文件路径: SQL ho cp /u02/horcl/user01.dbf /u01/oracle/oradata/orcl/users01.dbf; 3、 SQL alter database datafile 4 online; 如果提示需要 media recover 则执行 recover datafile # SQL recover datafile 4;(也可 recover database) SQL alter database datafile 4 online; 4、 验证恢复结果是否正常 不能脱机的表空间的处理办法: 示例:system 表空间丢失 SQL select file_name,file_id,tablespace_name from dba_data_files; SQL alter tablespace system begin backup; SQL ho cp /u01/oracle/oradata/orcl/system01.dbf /u02/horcl/system01.dbf alter tablespace system end backup; 删除表空间文件: SQL ho rm /u01/oracle/oradata/orcl/system01.dbf 解决方法: 1 启动到 mount 阶段

温馨提示

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

评论

0/150

提交评论