设为首页 收藏本站
查看: 599|回复: 0

[经验分享] Oracle冷备份

[复制链接]

尚未签到

发表于 2016-6-13 05:19:42 | 显示全部楼层 |阅读模式
  一、冷备份
  数据库在关闭状态下完成所有物理系统文件拷贝的过程,也称脱机备份
  适合于非归档模式下,数据库处于一致性状态
  
  二、步骤
  首先在运行的库中得到数据库运行的所有的物理文件位置,然后在计划内关闭数据库(shutdown)
  再执行拷贝物理文家到备份路径或备份设备
  备份完成后立即启动数据库让其提供正常的服务
  
  
  三、冷备脚本的写法
  首先应该在相关视图里查出数据库的数据文件,日志文件,控制文件,临时文件所在的位置
  注意:不要直接把oradata下的cp就行了,因为生产库里各个文件通常分布在不同的磁盘,不同的地方,所以在去视图里获得真实路径
  
  --查看实例和数据库的相关信息
  SQL>selectinstance_name,version,status,archiver,database_statusfromv$instance;
  
  INSTANCE_NAMEVERSIONSTATUSARCHIVE DATABASE_STATUS
  ---------------- ----------------- ------------ ------- -----------------
  orcl10.2.0.1.0OPENSTOPPED ACTIVE
  
  SQL>selectdbid,name,log_modefromv$database;
  
  DBIDNAMELOG_MODE
  ---------- --------- ------------
  1242732291 ORCLNOARCHIVELOG
  
  --查看数据文件及状态信息
  SQL>selectfile_name,tablespace_name,status,online_statusfromdba_data_files;
  
  FILE_NAMETABLESPACE STATUSONLINE_
  ------------------------------------------------------- ---------- --------- -------
  /u01/app/oracle/oradata/orcl/undotbs01.dbfUNDOTBS1AVAILABLE ONLINE
  /u01/app/oracle/oradata/orcl/system01.dbfSYSTEMAVAILABLE SYSTEM
  /u01/app/oracle/oradata/orcl/sysaux01.dbfSYSAUXAVAILABLE ONLINE
  /u01/app/oracle/oradata/orcl/users01.dbfUSERSAVAILABLE ONLINE
  /u01/app/oracle/oradata/orcl/example01.dbfEXAMPLEAVAILABLE ONLINE
  /u01/app/oracle/oradata/orcl/tbs1_1.dbfTBS1AVAILABLE ONLINE
  /u01/app/oracle/oradata/orcl/tbs1_2.dbfTBS1AVAILABLE ONLINE
  
  --查看数据文件
  SQL>selectnamefromv$datafile;
  
  NAME
  --------------------------------------------------------------------------------
  /u01/app/oracle/oradata/orcl/system01.dbf
  /u01/app/oracle/oradata/orcl/undotbs01.dbf
  /u01/app/oracle/oradata/orcl/sysaux01.dbf
  /u01/app/oracle/oradata/orcl/users01.dbf
  /u01/app/oracle/oradata/orcl/example01.dbf
  /u01/app/oracle/oradata/orcl/tbs1_1.dbf
  /u01/app/oracle/oradata/orcl/tbs1_2.dbf
  
  --查看临时文件
  SQL>selectnamefromv$tempfile;
  
  NAME
  --------------------------------------------------------------------------------
  /u01/app/oracle/oradata/orcl/temp01.dbf
  
  --查看日志文件
  SQL>selectmemberfromv$logfile;
  
  MEMBER
  ------------------------------------------------------------
  /u01/app/oracle/oradata/orcl/redo2a.rdo
  /u01/app/oracle/oradata/orcl/redo2b.rdo
  /u01/app/oracle/oradata/orcl/redo1a.rdo
  /u01/app/oracle/oradata/orcl/redo3a.rdo
  /u01/app/oracle/oradata/orcl/redo3b.rdo
  /u01/app/oracle/oradata/orcl/redo1b.rdo
  
  --查看控制文件
  SQL>selectnamefromv$controlfile;
  
  NAME
  ------------------------------------------------------------
  /u01/app/oracle/oradata/orcl/control01.ctl
  /u01/app/oracle/oradata/orcl/control02.ctl
  
  --创建备份目录
  SQL>ho mkdir/u01/app/oracle/coolbak
  
  --使用连接符生成复制文件命令
  SQL>select'ho cp '||name||' /u01/app/oracle/coolbak'fromv$controlfile;
  
  'HOCP'||NAME||'/U01/APP/ORACLE/COOLBAK'
  ----------------------------------------------------------------------------------
  ho cp/u01/app/oracle/oradata/orcl/control01.ctl/u01/app/oracle/coolbak
  ho cp/u01/app/oracle/oradata/orcl/control02.ctl/u01/app/oracle/coolbak
  
  SQL>save/tmp/tmpbak.sql;--将上面的输入保存为tmpbak.sql
  Createdfile/tmp/tmpbak.sql
  
  SQL>ho vim/tmp/tmpbak.sql--编辑tmpbak.sql,将下面的内容输入到tmpbak.sql
  
  setfeedbackoff
  setheadingoff
  setverifyoff
  settrimspooloff
  setpagesize 0
  setlinesize 200
  define dir='/u01/app/oracle/coolbak'
  define script='/tmp/coolbak.sql'
  spool&script
  select'ho cp '||name||' &dir'fromv$controlfile
  unionall
  select'ho cp '||name||' &dir'fromv$datafile
  unionall
  select'ho cp '||member||' &dir'fromv$logfile
  unionall
  select'ho cp '||name||' &dir'fromv$tempfile
  /
  createpfile='&dir/initorcl.ora'fromspfile;
  ho cp/u01/app/oracle/10g/dbs/orapworcl&dir
  spooloff
  shutdownimmediate
  start&script
  ho rm&script
  startup
  
  --执行tmpbak.sql
  SQL>@/tmp/tmpbak.sql;
  
  --执行过程及数据库启动略
  
  --启动后查看备份的文件
  SQL>ho ls/u01/app/oracle/coolbak
  control01.ctlorapworclredo2b.rdosystem01.dbfusers01.dbf
  control02.ctlredo1a.rdoredo3a.rdotbs1_1.dbf
  example01.dbfredo1b.rdoredo3b.rdotbs1_2.dbf
  initorcl.oraredo2a.rdosysaux01.dbfundotbs01.dbf
  
  四、总结
  优点
  冷备模式下概念易于理解,即将需要备份的文件复制到安全的位置
  操作比较简单,不需要太多的干预
  容易恢复到某个时间点上(只需将文件再拷贝回去)
  能与归档方法相结合,作数据库“最新状态”的恢复。
  缺点
  备份时,数据库必须处于一致性关闭状态
  只能提供到某一时间点的恢复
  备份时速度比较慢,尤其是数据量大性能影响比较大
  不能实现基于表和用户级别的数据恢复

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-229609-1-1.html 上篇帖子: Oracle ERP Applications papers 下篇帖子: Oracle优化原理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表