--======================-- Oracle 冷备份--====================== 一、冷备份 数据库在关闭状态下完成所有物理系统文件拷贝的过程,也称脱机备份 适合于非归档模式下,数据库处于一致性状态 二、步骤 首先在运行的库中得到数据库运行的所有的物理文件位置,然后在计划内关闭数据库(shutdown) 再执行拷贝物理文家到备份路径或备份设备 备份完成后立即启动数据库让其提供正常的服务 三、冷备脚本的写法 首先应该在相关视图里查出数据库的数据文件,日志文件,控制文件,临时文件所在的位置 注意:不要直接把oradata下的cp就行了,因为生产库里各个文件通常分布在不同的磁盘,不同的地方,所以在去视图里获得真实路径 --查看实例和数据库的相关信息 SQL> select instance_name,version,status,archiver,database_status from v$instance; INSTANCE_NAME VERSION STATUS ARCHIVE DATABASE_STATUS ---------------- ----------------- ------------ ------- ----------------- orcl 10.2.0.1.0 OPEN STOPPED ACTIVE SQL> select dbid,name,log_mode from v$database; DBID NAME LOG_MODE ---------- --------- ------------ 1242732291 ORCL NOARCHIVELOG --查看数据文件及状态信息 SQL> select file_name,tablespace_name,status,online_status from dba_data_files; FILE_NAME TABLESPACE STATUS ONLINE_ ------------------------------------------------------- ---------- --------- ------- /u01/app/oracle/oradata/orcl/undotbs01.dbf UNDOTBS1 AVAILABLE ONLINE /u01/app/oracle/oradata/orcl/system01.dbf SYSTEM AVAILABLE SYSTEM /u01/app/oracle/oradata/orcl/sysaux01.dbf SYSAUX AVAILABLE ONLINE /u01/app/oracle/oradata/orcl/users01.dbf USERS AVAILABLE ONLINE /u01/app/oracle/oradata/orcl/example01.dbf EXAMPLE AVAILABLE ONLINE /u01/app/oracle/oradata/orcl/tbs1_1.dbf TBS1 AVAILABLE ONLINE /u01/app/oracle/oradata/orcl/tbs1_2.dbf TBS1 AVAILABLE ONLINE --查看数据文件 SQL> select name from v$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> select name from v$tempfile; NAME -------------------------------------------------------------------------------- /u01/app/oracle/oradata/orcl/temp01.dbf --查看日志文件 SQL> select member from v$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> select name from v$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" from v$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 Created file /tmp/tmpbak.sql SQL> ho vim /tmp/tmpbak.sql --编辑tmpbak.sql,将下面的内容输入到tmpbak.sql set feedback off set heading off set verify off set trimspool off set pagesize 0 set linesize 200 define dir = "/u01/app/oracle/coolbak" define script = "/tmp/coolbak.sql" spool &script select "ho cp " || name || " &dir" from v$controlfile union all select "ho cp " || name || " &dir" from v$datafile union all select "ho cp " || member || " &dir" from v$logfile union all select "ho cp " || name || " &dir" from v$tempfile / create pfile = "&dir/initorcl.ora" from spfile; ho cp /u01/app/oracle/10g/dbs/orapworcl &dir spool off shutdown immediate start &script ho rm &script startup --执行tmpbak.sql SQL> @/tmp/tmpbak.sql; --执行过程及数据库启动略 --启动后查看备份的文件 SQL> ho ls /u01/app/oracle/coolbak control01.ctl orapworcl redo2b.rdo system01.dbf users01.dbf control02.ctl redo1a.rdo redo3a.rdo tbs1_1.dbf example01.dbf redo1b.rdo redo3b.rdo tbs1_2.dbf initorcl.ora redo2a.rdo sysaux01.dbf undotbs01.dbf 四、总结 优点 冷备模式下概念易于理解,即将需要备份的文件复制到安全的位置 操作比较简单,不需要太多的干预 容易恢复到某个时间点上(只需将文件再拷贝回去) 能与归档方法相结合,作数据库“最新状态”的恢复。 缺点 备份时,数据库必须处于一致性关闭状态 只能提供到某一时间点的恢复 备份时速度比较慢,尤其是数据量大性能影响比较大 不能实现基于表和用户级别的数据恢复
Oracle教程 更多参考有关闪回特性请参考Oracle 闪回特性(FLASHBACK DATABASE)Oracle 闪回特性(FLASHBACK DROP & RECYCLEBIN)Oracle 闪回特性(Flashback Query、Flashback Table)Oracle 闪回特性(Flashback Version、Flashback Transaction)
有关基于用户管理的备份和备份恢复的概念请参考:Oracle 冷备份Oracle 热备份Oracle 备份恢复概念Oracle 实例恢复Oracle 基于用户管理恢复的处理(详细描述了介质恢复及其处理)
有关RMAN的恢复与管理请参考:RMAN 概述及其体系结构RMAN 配置、监控与管理RMAN 备份详解RMAN 还原与恢复
有关Oracle体系结构请参考:Oracle 实例和Oracle数据库(Oracle体系结构)Oracle 表空间与数据文件Oracle 密码文件Oracle 参数文件Oracle 数据库实例启动关闭过程Oracle 联机重做日志文件(ONLINE LOG FILE)Oracle 控制文件(CONTROLFILE)Oracle 归档日志Oracle 表缓存(caching table)的使用Oracle 热备份相关资讯 Oracle教程
- Oracle中纯数字的varchar2类型和 (07/29/2015 07:20:43)
- Oracle教程:Oracle中查看DBLink密 (07/29/2015 07:16:55)
- [Oracle] SQL*Loader 详细使用教程 (08/11/2013 21:30:36)
| - Oracle教程:Oracle中kill死锁进程 (07/29/2015 07:18:28)
- Oracle教程:ORA-25153 临时表空间 (07/29/2015 07:13:37)
- Oracle教程之管理安全和资源 (04/08/2013 11:39:32)
|
本文评论 查看全部评论 (1)
评论声明- 尊重网上道德,遵守中华人民共和国的各项有关法律法规
- 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
- 本站管理人员有权保留或删除其管辖留言中的任意内容
- 本站有权在网站内转载或引用您的评论
- 参与本评论即表明您已经阅读并接受上述条款
|