DBA_Oracle冷备份案例脚本本法(案例)

简介: 2014-08-10 Created By BaoXinjian 一、摘要 1. 冷备份     数据库在关闭状态下完成所有物理系统文件拷贝的过程,也称脱机备份     适合于非归档模式下,数据库处于一致性状态 2.

2014-08-10 Created By BaoXinjian

一、摘要


1. 冷备份

    数据库在关闭状态下完成所有物理系统文件拷贝的过程,也称脱机备份

    适合于非归档模式下,数据库处于一致性状态

2. 步骤   

    首先在运行的库中得到数据库运行的所有的物理文件位置,然后在计划内关闭数据库(shutdown)

    再执行拷贝物理文家到备份路径或备份设备

    备份完成后立即启动数据库让其提供正常的服务

3. 总结 - 优点

    冷备模式下概念易于理解,即将需要备份的文件复制到安全的位置

    操作比较简单,不需要太多的干预

    容易恢复到某个时间点上(只需将文件再拷贝回去)

    能与归档方法相结合,作数据库“最新状态”的恢复。

4. 总结 - 缺点

   备份时,数据库必须处于一致性关闭状态

   只能提供到某一时间点的恢复

   备份时速度比较慢,尤其是数据量大性能影响比较大

   不能实现基于表和用户级别的数据恢复

 

二、冷备份


案例:首先应该在相关视图里查出数据库的数据文件,日志文件,控制文件,临时文件所在的位置

   注意:不要直接把oradata下的cp就行了,因为生产库里各个文件通常分布在不同的磁盘,不同的地方,所以在去视图里获得真实路径 

 

1. 查看实例和数据库的相关信息

SQL> select instance_name,version,status,archiver,database_status from v$instance;

 

SQL> select dbid,name,log_mode from v$database;

 

2. 查看数据文件及状态信息

SQL> select file_name,tablespace_name,status,online_status from dba_data_files;

 

3. 查看数据文件

SQL> select name from v$datafile;



4. 查看临时文件

SQL> select name from v$tempfile;

 

5. 查看日志文件

SQL> select member from v$logfile;

 

6. 查看控制文件

SQL> select name from v$controlfile;

 

7. 创建备份目录

SQL> ho mkdir /opt/oracle/coolbak

  

8. 使用连接符生成复制文件命令

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
/

 

 9. 使用连接符生成复制文件命令

     [gavinsit.com]> vi /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 = '/opt/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/spfilegavinsit.ora' from spfile;
    ho cp /opt/oracle/product/11.2.0/gavinsit/dbs/orapwgavinsit &dir

spool off

shutdown immediate
start &script
ho rm &script
startup

 

8. 执行过程及数据库启动略

     SQL> @/tmp/tmpbak.sql;

SQL> @/tmp/tmpbak.sql
ho cp /opt/oracle/oradata/gavinsit/control01.ctl /opt/oracle/coolbak
ho cp /opt/oracle/flash_recovery_area/gavinsit/control02.ctl /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/system01.dbf /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/sysaux01.dbf /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/undotbs01.dbf /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/users01.dbf /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/example01.dbf /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/bxj_emp_data01.dbf /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/bxj_emp_data02.dbf /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/redo03.log /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/redo02.log /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/redo01.log /opt/oracle/coolbak
ho cp /opt/oracle/oradata/gavinsit/temp01.dbf /opt/oracle/coolbak

Database closed.
Database dismounted.
ORACLE instance shut down.

 

9. 启动后查看备份的文件

ls /opt/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

 

Thanks and Regards

ERP技术讨论群: 288307890
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建
相关文章
|
29天前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
1月前
|
存储 Oracle 关系型数据库
oracle数据恢复—Oracle数据库文件大小变为0kb的数据恢复案例
存储掉盘超过上限,lun无法识别。管理员重组存储的位图信息并导出lun,发现linux操作系统上部署的oracle数据库中有上百个数据文件的大小变为0kb。数据库的大小缩水了80%以上。 取出&并分析oracle数据库的控制文件。重组存储位图信息,重新导出控制文件中记录的数据文件,发现这些文件的大小依然为0kb。
|
22天前
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
2月前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
1月前
|
存储 Oracle 关系型数据库
【赵渝强老师】执行Oracle的冷备份与冷恢复
本文介绍了数据库的冷备份与冷恢复技术,包括其定义、优缺点及操作步骤。通过Oracle RMAN工具,详细演示了如何执行冷备份和冷恢复,确保数据库在关闭状态下完成备份,并能快速恢复到指定时间点。文中还提供了具体的操作示例和代码,帮助读者更好地理解和实践。
|
3月前
|
Oracle 关系型数据库 数据库
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
打开oracle数据库报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。 数据库没有备份,无法通过备份去恢复数据库。用户方联系北亚企安数据恢复中心并提供Oracle_Home目录中的所有文件,急需恢复zxfg用户下的数据。 出现“system01.dbf需要更多的恢复来保持一致性”这个报错的原因可能是控制文件损坏、数据文件损坏,数据文件与控制文件的SCN不一致等。数据库恢复工程师对数据库文件进一步检测、分析后,发现sysaux01.dbf文件损坏,有坏块。 修复并启动数据库后仍然有许多查询报错,export和data pump工具使用报错。从数据库层面无法修复数据库。
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
|
3月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—异常断电导致Oracle数据库数据丢失的数据恢复案例
Oracle数据库故障: 机房异常断电后,Oracle数据库启库报错:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。数据库没有备份,归档日志不连续。用户方提供了Oracle数据库的在线文件,需要恢复zxfg用户的数据。 Oracle数据库恢复方案: 检测数据库故障;尝试挂起并修复数据库;解析数据文件。
|
2月前
|
Oracle 关系型数据库 数据库
oracle数据恢复—Oracle数据库文件损坏导致数据库打不开的数据恢复案例
打开oracle数据库时报错,报错信息:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。急需恢复zxfg用户下的数据。 出现上述报错的原因有:控制文件损坏、数据文件损坏、数据文件与控制文件的SCN不一致等。数据恢复工程师对数据库文件做进一步检测分析后发现sysaux01.dbf文件有坏块。修复sysaux01.dbf文件,启动数据库依然有许多查询报错。export和data pump工具无法使用,查询告警日志并分析报错,确认发生上述错误的原因就是sysaux01.dbf文件损坏。由于该文件损坏,从数据库层面无法修复数据库。由于system和用户表空间的数据文件是正常的,
|
4月前
|
机器学习/深度学习 Oracle 关系型数据库
Oracle 19c单机一键安装脚本分享
Oracle 19c单机一键安装脚本分享
243 2
|
5月前
|
Oracle 安全 关系型数据库

推荐镜像

更多