zoukankan      html  css  js  c++  java
  • 备份打开的数据库脚本

    SET feedback OFF
    SET pagesize 0
    SET heading OFF
    SET verify OFF
    SET linesize 100
    SET trimspool ON
    define dir = 'c:\oracle\oradata\backup'
    define fil = '&dir\backup_commands.sql'
    define spo = '&dir\backup_output.lst'
    prompt ***Spooling TO &fil
    SET serveroutput ON
    spool &fil
    prompt spool &spo
    prompt ARCHIVE LOG LIST;;
    prompt ALTER SYSTEM SWITCH LOGFILE;;
    DECLARE
      CURSOR cur_tablespace IS SELECT Tablespace_name FROM dba_tablespaces WHERE status <> 'read_only';
      CURSOR cur_datafile(tn VARCHAR) IS SELECT file_name FROM dba_data_files WHERE tablespace_name = tn;
      BEGIN
        FOR ct IN cur_tablespace LOOP
          dbms_output.put_line('alter tablespace '||ct.tablespace_name || ' begin backup;');
          FOR cd IN cur_datafile(ct.tablespace_name) LOOP
            dbms_output.put_line('host cp '|| cd.file_name || ' &dir');
          END LOOP;
          dbms_output.put_line('alter tablespace '||ct.tablespace_name || ' end backup;');
        END LOOP;
      END;
    /
    prompt ALTER SYSTEM SWITCH LOGFILE;
    prompt alter database backup controlfile to '&dir\backup.ctl' reuse;
    prompt ARCHIVE LOG LIST;;
    prompt spool OFF;;
    spool OFF;
    @&fil 

     
    创建数据库中所有文件的一个热备份,准备生成的找开的数据库脚本将完成以下工作:

    1.切换日志文件,确保在备份前所做的所有更改都已被归档。

    2.将一个表空间设置为热备份模式。

    3.用操作系统命令拷贝表空间中的文件。

    4.将该表空间脱离热备份模式。

    5.对于每个表空间,重复步骤2-4

    6.切换日志文件,确保备份后所做的所有更改都已被归档。

    7.备份当前控制文件。

  • 相关阅读:
    中科大算法分析与设计分布式算法复习知识点
    记录一些实用网站
    《TensorFlow机器学习项目实战》pdf及源码
    DevC++连接MySQL可用详细教程
    【转】MySQL合理使用索引
    【原】基于Feign 重写自定义编码器
    【原】logback实现按业务输出到对应日志文件
    【原】MDC日志链路设计
    关于看源码的心得体会
    【原】基于Spring实现策略模式
  • 原文地址:https://www.cnblogs.com/jimeper/p/1136645.html
Copyright © 2011-2022 走看看