Oracle数据库热备份SQL脚本(for Linux)

原创 2013年12月01日 21:43:15

Oracle数据库热备份脚本(for Linux)

Remark ----------------------------------------------------------------------------------
Remark filename:    user_online_backup_linux.sql
Remark description: User management online backup for linux (Linux下用户管理的在线备份)
Remark ----------------------------------------------------------------------------------

Prompt ****** Connect to database as sysdba
Remark connect / as sysdba;
Prompt sys/****** as sysdba;
connect sys/****** as sysdba;

archive log list;


Remark Set SQL*Plus variables to manipulate output
set termout on
set trimspool on
set echo off
set feedback off
set heading off
set verify off
set pagesize 0
set linesize 200
set serveroutput on

Remark set environment variable
Remark ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
Remark ORACLE_HOME==$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
Remark ORACLE_SID=ORATEST; export ORACLE_SID

Remark Set SQL*Plus variables used in this script
define dbdir = '/u01/app/oracle/oradata/ORATEST'
define archivedir = '&dbdir/archive'

define backupdir = '/u01/app/oracle/oradata/ORATEST/backup/online'
define archivebackupdir   = '&backupdir/archive'
define cpfile = '&backupdir/backup_filelist.sql'

-- archive log
alter system archive log current;

Prompt
Prompt ****** Spooling cp commands to &cpfile
Remark Create a command file with file backup commands
spool &cpfile;

declare
  cursor cur_ts is
  select *
    from dba_tablespaces
   where status <> 'READ ONLY'
     and contents <> 'TEMPORARY';

  cursor cur_df(ts_name varchar2) is
  select *
    from dba_data_files
   where tablespace_name = ts_name;
begin
  for vcur_ts in cur_ts loop
    dbms_output.put_line('alter tablespace '||vcur_ts.tablespace_name||' begin backup;');

    for vcur_df in cur_df(vcur_ts.tablespace_name) loop
      dbms_output.put_line('host cp -p '''||vcur_df.file_name||''' &backupdir/');
    end loop;

    dbms_output.put_line('alter tablespace '||vcur_ts.tablespace_name||' end backup;');
  end loop;

  dbms_output.put_line('alter database backup controlfile to trace as ''&backupdir/controlfile.trace'';');
  dbms_output.put_line('alter database backup controlfile to ''&backupdir/controlfile.binary'';');
  dbms_output.put_line('create pfile=''&backupdir/spfile_backup.ora'';');
end;
/
spool off;

set feedback on

Prompt
Prompt ****** Copy file to &backupdir
Remark Run the copy file commands from the operating system
@&cpfile;

-- archive log
alter system archive log current;

Prompt
Prompt ****** Copy archive log file to &archivebackupdir
host cp -p &archivedir/* &archivebackupdir/;

Prompt
Prompt ****** Backup Complete
exit;

版权声明:本文为博主原创文章,未经博主允许不得转载。

手工热备份脚本

热备的步骤: alter database/tablespace XXX begin backup cp files alter database/tablespace XXX end backup...
  • rlhua
  • rlhua
  • 2013年09月20日 17:08
  • 2680

linux下对oracle的冷备份和热备份脚本

在itpub上看到,然后修改的~~~ 测试环境:1      操作系统[oracle@localhost ORCL]$ cat /proc/versionLinux version 2.6.27.5-...
  • sunxp
  • sunxp
  • 2010年10月28日 16:03
  • 3925

Linux下oracle定时备份

1. 设置数据库空表可导出 用PL/SQL登录数据库(或者其他工具) 执行: select 'alter table '||table_name||' allocate extent;' from ...
  • HJSRANGER
  • HJSRANGER
  • 2016年12月06日 18:05
  • 2712

Oracle数据库热备份与恢复(联机备份)示例

热备份(联机备份)示例 必须将日志置为归档方式   SQL>archive log list;  --查看日志归档方式.   Database log mode                  No...
  • gyming
  • gyming
  • 2013年11月20日 21:37
  • 2157

SQL Server 2008 R2 数据库之间的数据同步热备份

预期效果: 数据库1的数据发生变化后,数据库2的数据根据数据库1的变化,实时进行数据同步,热备份。   前期准备(重点),在设置之前先要做的。 1.测试环境:Windows S...
  • ddxkjddx
  • ddxkjddx
  • 2012年08月10日 17:21
  • 2689

linux下执行oracle sql脚本

1、登陆oracle用户(在linux上的安装用户)。 2、将脚本上传至oracle用户目录下。 3、cd 进入SQL脚本所在目录 4、sqlplus /nolog 登陆sqlplus,注意/前...
  • wang_yunj
  • wang_yunj
  • 2015年02月13日 12:48
  • 6836

oracle热备份原理分析

【IT168 服务器学院】我们都知道oracle的备份有几钟方式,冷备,热备,rman,imp等,我们注意到当我们采取热备的时候,需要对每个要备份的表空间置为backup模式。通常的热备脚本都是这样的...
  • cpp_lzth
  • cpp_lzth
  • 2011年01月27日 14:29
  • 1144

shell脚本操作oracle数据库

最近由于工作原因需要用shell操作oracle就写了一个脚本 该脚本共有两个函数 1,db_query   主要是查询数据库(因为要处理查询厚的结果). 2,db_execute 主要是进行增...
  • wangqing_12345
  • wangqing_12345
  • 2016年09月19日 18:02
  • 3821

linux系统下实现mysql热备份详细步骤(mysql主从复制)

主从的作用: 1.可以当做一种备份方式 2.用来实现读写分离,缓解一个数据库的压力  MySQL主从备份原理: Mysql的主从复制至少是需要两个Mysql的服务,当然Mysql的服务是可以分...
  • preterhuman_peak
  • preterhuman_peak
  • 2015年01月19日 10:36
  • 1593

【DRP】将SQL脚本导入Oracle数据库并进行数据初始化

上一篇讲了如何将DRP物理模型导出SQL脚本,今天讲一下如何将SQL脚本导入Oracle数据库,并进行数据初始化。     【步骤】     首先需要我们通过PL/SQL Developer 成功...
  • u013046097
  • u013046097
  • 2016年06月12日 20:16
  • 1123
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle数据库热备份SQL脚本(for Linux)
举报原因:
原因补充:

(最多只允许输入30个字)