基本环境信息
target DB (需备份数据库)
192.168.199.67
ORACLE_SID=zgw
HOSTNAME=Oracle11 catlog DB (备份管理数据库)
192.168.199.68
ORACLE_SID=rman
HOSTNAME=Oracle11_2 创建rman账号及相关设置
sqlplus / as sysdba select file_name, tablespace_name from dba_data_files group by tablespace_name; create tablespace catalog_tb datafile
'/opt/oracle/oradata/rman/catalog_tb01.dbf' size 50M; create user rman identified by rman default tablespace catalog_tb;
grant recovery_catalog_owner to rman;
alter user rman quota unlimited on catalog_tb;
grant dba to rman;
grant connect,resource to rman; 配置catalog服务器tnsname.org文件
vi $ORACLE_HOME/network/admin/tnsnames.ora
RMAN =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = ))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = rman)
)
) ZGW =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.199.67)(PORT = ))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = zgw)
)
) 连接rman并创建catalog信息及注册数据库
rman catalog rman/rman target sys/oracle@zgw RMAN> create catalog; recovery catalog created
========================
SQL> show user
USER is "RMAN"
SQL> select count(*) from tab; COUNT(*)
---------- =========================
RMAN> register database; database registered in recovery catalog
starting full resync of recovery catalog
full resync complete 查看target数据库的信息
RMAN> list incarnation; List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
ZGW PARENT -AUG-
ZGW CURRENT -MAY- RMAN> report schema; Report of database schema for database with db_unique_name ZGW List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
SYSTEM YES /opt/oracle/oradata/zgw/system01.dbf
SYSAUX NO /opt/oracle/oradata/zgw/sysaux01.dbf
UNDOTBS1 YES /opt/oracle/oradata/zgw/undotbs01.dbf
USERS NO /opt/oracle/oradata/zgw/users01.dbf List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
TEMP /opt/oracle/oradata/zgw/temp01.dbf
备份脚本
[oracle@Oracle11_2 scripts]$ cat rman_backup.sh
#!/bin/bash
#this is rman catalog auto full backup script
#date --

#环境变量
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
ORACLE_SID=rman
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/11g
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
BAK_HOME=/backup
export ORACLE_SID ORACLE_BASE ORACLE_HOME NLS_LANG PATH

#时间戳
backtime=`date +"20%y%m%d%H%M%S"`
#执行远程创建目录命令
ssh -l oracle Oracle11 "mkdir -p $BAK_HOME/$backtime" cd $ORACLE_HOME/bin
rman catalog rman/rman target sys/oracle@zgw log=$BAK_HOME/$backtime/backupall_$backtime.log <<EOF
run{
allocate channel c1 device type disk;
allocate channel c2 device type disk;
crosscheck backup;
sql 'alter system archive log current';
backup database format '$BAK_HOME/$backtime/%d_%T_%U';
backup current controlfile format '$BAK_HOME/$backtime/%d_cntrl_%s_%p_%s';
backup spfile format '$BAK_HOME/$backtime/%d_spfile_%U.bak';
backup archivelog all format '$BAK_HOME/$backtime/%d_arc_%t_%s' delete all input;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt obsolete;
delete noprompt backup of database completed before 'sysdate - 30';
release channel c1;
release channel c2;
}
EOF
echo "backup complete!"
此脚本功能:
.备份数据文件
.备份spfile
.备份控制文件
.备份archivelog
.清除已备份的archivelog文件
.清除30天以前的备份记录 注意:
.备份日志会写入rman本机的$BAK_HOME/$backtime/backupall_$backtime.log目录中。
.备份数据写入target数据库服务器的$BAK_HOME/$backtime 目录中。
.此脚本在rman服务器上执行。

参考:http://www.cnblogs.com/gaojian/p/3604814.html

http://blog.csdn.net/staricqxyz/article/details/8306447

通过Rman catalog 创建及管理Oracle数据库备份的更多相关文章

  1. oracle11g之管理oracle数据库笔记(理论基础知识)

                                                                  第三章 管理oracle数据库 1.启动数据库步骤;(创建启动实例--> ...

  2. Oracle数据库备份、灾备的23个常见问题

    为了最大限度保障数据的安全性,同时能在不可预计灾难的情况下保证数据的快速恢复,需要根据数据的类型和重要程度制定相应的备份和恢复方案.在这个过程中,DBA的职责就是要保证数据库(其它数据由其它岗位负责) ...

  3. Java实现Oracle数据库备份

    今天将很早就实现的一个Oracle数据库备份功能粘贴出来,这个功能是在大学做阶段设计时写的: import java.io.File; import java.io.IOException; /** ...

  4. Oracle数据库备份及还原

    Oracle数据库备份 1:找到Oracle安装路径我的就是默认C盘  C:\app\wdjqc\admin\orcl\adump 2:执行文件:back.bat 文件内容如下: @echo off ...

  5. Oracle数据库备份/导出(exp/expd)、导入(imp/impd)

    ​ 常用的oracle数据库备份(导入/导出)有两种,分别是exp/imp和expd/impd,前者是Orace早期版本带有的导入导出工具,后者是Oracle10g后出现的,下面进行分别介绍! 1.e ...

  6. Oracle数据库备份还原笔记

    Oracle数据库备份还原笔记 通过查阅资料知道Oracle备份还原的方式有三种.分别的是导出/导入.热备份和冷备份.导出/导入是一种逻辑备份.而热备份和冷备份是物理备份.[参考资料(https:// ...

  7. oracle数据库备份还原命令

    oracle数据库备份命令exp 用户名/密码@orcl file=d:\xxxxxx.dmp owner=用户名 oracle数据库还原命令sqlplus conn / as sysdba drop ...

  8. oracle数据库备份 -九五小庞

    oracle数据库备份

  9. RMAN Catalog创建、配置和管理

    环境:RHEL6.4 + Oracle 11.2.0.4 一.创建数据库catdb 1.1 官档的建库脚本示例 1.2 根据我实际环境修改如下项 1.3 创建必要目录并赋予权限 1.4 执行脚本建库 ...

随机推荐

  1. 阿里云server改动MySQL初始password---Linux学习笔记

    主要方法就是改动 MySQL依照文件以下的my.cnf文件 首先是找到my.cnf文件. # find / -name "my.cnf" # cd /etc 接下来最好是先备份my ...

  2. 75.《nodejs开发指南》express4.x版-微博案例完整实现

    转自:https://blog.csdn.net/cgwcgw_/article/details/39317587 完整代码下载 https://github.com/haishangfeie/wei ...

  3. 【Codeforces Round #457 (Div. 2) A】 Jamie and Alarm Snooze

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 暴力往前走x分钟就好. 直到出现7为止. [代码] #include <bits/stdc++.h> using nam ...

  4. Effective C++ 条款43

    学习处理模板化基类里的名称 本节作者编写的意图在我看来能够总结成一句话,就是"怎样定义并使用关于模板类的派生过程,怎样处理派生过程出现的编译不通过问题". 以下我们看一段说明性的代 ...

  5. 关于Sleep函数介绍

    函数名: Sleep 功 能: 执行挂起一段时间 用 法: void Sleep(DWORD dwMilliseconds); 在VC中使用带上头文件 #include <windows.h&g ...

  6. golang excel

    github.com/tealeg/xlsx 封装的接口简单易用 package main import ( "bufio" "fmt" "githu ...

  7. java匿名内部类使用场景列举

    示例一: package com;      interface Operation {       double operateTwoIntNum(int a, int b);   }      p ...

  8. python绘图问题

    论文绘图整理 # coding: utf-8 #来源:https://blog.csdn.net/A_Z666666/article/details/81165123 import matplotli ...

  9. 如何优雅的写UI——(1)MFC六大核心机制-程序初始化

    很多做软件开发的人都有一种对事情刨根问底的精神,例如我们一直在用的MFC,很方便,不用学太多原理性的知识就可以做出各种窗口程序,但喜欢钻研的朋友肯定想知道,到底微软帮我们做了些什么,让我们在它的框架下 ...

  10. JavaScript学习总结(5)——Javascript面向(基于)对象编程

    一.澄清概念 1.JS中"基于对象=面向对象" 2.JS中没有类(Class),但是它取了一个新的名字叫"原型对象",因此"类=原型对象" ...