zoukankan      html  css  js  c++  java
  • 【Oracle】数据库热备

    1. 创建脚本 

    注:脚本第三行中的DB_NAME,需要改为自己的数据库名(show parameter name;); 
    oracle用户下新建目录:/home/oracle/DB_NAME/hot_bak(DB_NAME为自己的数据库名字) 
    [oracle@localhost ~]$ vi hot.sql
    
    set feedback off pagesize 0 heading off verify off linesize 100 trimspool on echo off time off timing off
    define DB_NAME=lgr
    define BKDIR='/home/oracle/&DB_NAME/hot_bak'
    define BKSQL='/home/oracle/&DB_NAME/hot_cmd.sql'
    define SPO='&BKDIR/hot_bak.lst'
    prompt ***spooling to &bakscp
    set serveroutput on
    spool &BKSQL
    prompt spool &SPO
    prompt alter system switch logfile;;
    declare
       cursor cur_tablespace is
          select tablespace_name from dba_tablespaces where status <>'READ ONLY' and contents  not like '%TEMP%';
       cursor  cur_datafile (tn varchar2) 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||' &BKDIR');
       end loop;
          dbms_output.put_line('alter tablespace '||ct.tablespace_name||' end backup;');
       end loop;
    end;
    /
    prompt archive log list;;
    prompt spool off;;
    spool off;
    @&BKSQL

    2. 运行脚本

    SYS@LGR> @/home/oracle/hot.sql
    Enter value for bakscp: hot
    ***spooling to hot
    spool /home/oracle/lgr/hot_bak/hot_bak.lst
    alter system switch logfile;
    alter tablespace SYSTEM begin backup;
    host cp /u01/app/oracle/oradata/lgr/system01.dbf /home/oracle/lgr/hot_bak
    alter tablespace SYSTEM end backup;
    alter tablespace SYSAUX begin backup;
    host cp /u01/app/oracle/oradata/lgr/sysaux01.dbf /home/oracle/lgr/hot_bak
    alter tablespace SYSAUX end backup;
    alter tablespace USERS begin backup;
    host cp /u01/app/oracle/oradata/lgr/users01.dbf /home/oracle/lgr/hot_bak
    alter tablespace USERS end backup;
    
    alter tablespace TS_IDX begin backup;
    host cp /u01/app/oracle/oradata/lgr/ts_idx02.dbf /home/oracle/lgr/hot_bak
    host cp /u01/app/oracle/oradata/lgr/ts1 /home/oracle/lgr/hot_bak
    alter tablespace TS_IDX end backup;
    alter tablespace TS_USERS begin backup;
    host cp /u01/app/oracle/oradata/lgr/ts2 /home/oracle/lgr/hot_bak
    alter tablespace TS_USERS end backup;
    alter tablespace UNDOTBS2 begin backup;
    host cp /u01/app/oracle/oradata/lgr/undotbs02.dbf /home/oracle/lgr/hot_bak
    alter tablespace UNDOTBS2 end backup;
    archive log list;
    spool off;
    
    Database log mode              Archive Mode
    Automatic archival             Enabled
    Archive destination            /u01/app/oracle/oradata/lgr/
    Oldest online log sequence     33
    Next log sequence to archive   34
    Current log sequence           34

    3. 查看备份

    [oracle@localhost lgr]$ cd /home/oracle/lgr/hot_bak/
    [oracle@localhost hot_bak]$ ll
    total 1721068
    -rw-r--r-- 1 oracle oinstall        252 Dec 12 23:45 hot_bak.lst
    -rw-r----- 1 oracle oinstall  340795392 Dec 12 23:44 sysaux01.dbf
    -rw-r----- 1 oracle oinstall 1073750016 Dec 12 23:44 system01.dbf
    -rw-r----- 1 oracle oinstall   41951232 Dec 12 23:44 ts1
    -rw-r----- 1 oracle oinstall  104865792 Dec 12 23:45 ts2
    -rw-r----- 1 oracle oinstall   41951232 Dec 12 23:44 ts_idx02.dbf
    -rw-r----- 1 oracle oinstall  104865792 Dec 12 23:45 undotbs02.dbf
    -rw-r----- 1 oracle oinstall   52436992 Dec 12 23:44 users01.dbf
  • 相关阅读:
    递归练习:走台阶
    递归练习:计算最大公约数和最小公倍数
    递归练习:逆序输出一个十进制数的各位数字
    m4, autoconf
    Makefile 和 CMakeLists.txt
    Java中的String pool
    小米路由Mini刷Breed, 潘多拉和LEDE
    Centos 编译LEDE/OpenWrt
    Centos6下编译安装gcc6.4.0
    IntelliJ IDEA遇到Unable to parse template “Class”错误
  • 原文地址:https://www.cnblogs.com/NextAction/p/7366705.html
Copyright © 2011-2022 走看看