`
Appleses
  • 浏览: 347966 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

DBA_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

 

四、总结

   优点

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

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

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

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

   缺点

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

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

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

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


转载:http://tech.ddvip.com/2014-09/1409733092213010.html

分享到:
评论

相关推荐

    DBA.rar_dba_oracle_oracle dba

    5. **备份与恢复**:学习RMAN(Recovery Manager)进行数据库备份和恢复,理解冷备份、热备份和逻辑备份的区别。了解Flashback Technology,如Flashback Query、Flashback Transaction和Flashback Database,以便在...

    oracle安装 备份 linux 脚本

    本文将根据提供的《OracleDBA:Backup and Recovery Scripts》样本章节内容,详细解析Oracle数据库在Linux环境下进行冷备份、热备份以及导出操作的关键知识点。 #### 二、恢复原则 无论是在Unix还是Windows NT环境...

    Oracle数据库DBA面试题50道及答案.pdf

    Oracle数据库DBA(Database Administrator)是负责Oracle数据库系统运行管理的专业技术人员。在准备面试Oracle数据库管理员岗位时,掌握相关的技术知识和处理问题的能力是非常重要的。以下是针对给定的Oracle数据库...

    oracle dba2的官方教材

    - **备份和恢复功能**:Oracle提供了多种备份和恢复机制,如冷备份、热备份、RMAN (Recovery Manager) 等。 - **Flashback Technologies**:包括Flashback Query、Flashback Table、Flashback Drop等,这些技术...

    ORACLE_DBA数据库管理员教程

    备份和恢复策略是DBA的关键技能,包括冷备份、热备份、RMAN(恢复管理器)备份等。 四、性能优化 通过SQL调优和系统调优,DBA可以提升数据库性能。SQL调优涉及分析慢查询,优化查询计划,使用绑定变量等。系统调优...

    ORACLE数据库备份与恢复详解.docx

    在本文中,我们将详细介绍 Oracle 数据库的备份和恢复技术,包括逻辑备份、物理备份、冷备份和热备份等。 逻辑备份方式: 逻辑备份方式是指使用 Export 和 Import 工具将数据库中的数据导出和导入。Oracle 提供了...

    深入浅出Oracle:DBA入门

    综上所述,本书《深入浅出Oracle:DBA入门、进阶与诊断案例》不仅涵盖了Oracle数据库管理的基础知识和进阶技能,还包括了大量实际案例的分析,是一本面向Oracle数据库管理员的实用工具书。通过学习本书,初学者可以...

    Oracle DBA数据库升级 最佳实践

    具体备份操作可以使用RMAN工具进行冷备份数据,以及备份$ORACLE_HOME目录。 在升级过程中,调整SGA(System Global Area)的大小,特别是shared pool和javapool,可以帮助加快升级速度。使用命令“show parameters ...

    Linux_环境下_将oracle10g_升级至10[1].2.0.4

    - 在停止所有Oracle服务后,进行冷备份是非常重要的步骤,以防万一升级过程中出现问题。可以通过命令`cp`来进行文件级别的复制,备份整个数据库文件系统。 #### 3. 安装Oracle 10.2.0.4补丁包 - 首先需要下载...

    oracle备份与恢复(经典)

    对于Oracle数据库而言,根据数据库运行的不同状态,备份可以分为两大类:冷备份(冷备份一般在数据库关闭状态下进行)和热备份(热备份则在数据库处于打开状态、归档模式下进行)。在归档模式下,数据库会记录所有的...

    Oracle DBA面试题

    1. **冷备份与热备份**:冷备份是在数据库关闭后进行的,适合所有模式的数据库,操作简单,恢复时无需归档日志。热备份在数据库运行时进行,适用于归档模式,允许数据库在备份期间继续运行并能恢复到任意时间点。 2...

    oracle 备份与恢复

    Oracle备份主要包括冷备份(Cold Backup)和热备份(Hot Backup)两种类型。 ##### 冷备份 冷备份是指在数据库完全关闭的状态下进行的数据文件、控制文件和重做日志文件的物理复制。这种方式适用于全量备份,因为...

    Oracle通用的备份方法介绍

    进行冷备份前,首先需要将数据库关闭: ```sql SHUTDOWN IMMEDIATE; ``` 然后,通过以下脚本进行物理文件的备份: ```sql SELECT 'HOST COPY ' || NAME || '&DIR' FROM V$DATAFILE; SELECT 'HOST COPY ' || NAME ...

    oracle 常用脚本

    - `backup_db.sh`: 自动化数据库备份的shell脚本,可能结合RMAN(Recovery Manager)进行冷备份或热备份。 - `restore_db.sh`: 数据库恢复脚本,用于在灾难性故障后恢复数据。 7. 日志管理: - `archive_log_...

    新版ORACLE_8故障解决手册

    了解冷备份、热备份、逻辑备份以及归档日志模式的概念,确保数据安全。 10. **性能监控**:利用Oracle的性能监控工具如V$视图、SQL*Plus的性能报告(如ASH、AWR、STATSPACK)来定期检查数据库状态,及时发现和解决...

    OracleDBA课程

    4. **备份与恢复**:学习Oracle的RMAN( Recovery Manager)工具进行数据库备份和恢复操作,理解冷备份和热备份的区别,以及如何实现数据的完整性和一致性。 5. **故障排查与问题诊断**:掌握如何使用Oracle的错误...

    oracle11G备份与恢复资料

    "Oracle11g企业实时备份实施案例.pdf"可能包含了具体的实施方案,详细讲解如何在实际环境中配置和管理Oracle 11g的备份与恢复,包括备份计划、备份脚本的编写、故障模拟及恢复测试等。 通过学习这些资料,DBA能够...

    oracle数据库的备份和还原

    Oracle提供了多种备份方式,包括冷备份、热备份以及逻辑备份等。 #### 二、备份方法详解 ##### 1. 冷备份 - **定义**:冷备份是指在数据库完全关闭的情况下进行的备份,这种备份方式简单快捷。 - **适用场景**:...

Global site tag (gtag.js) - Google Analytics