OCP读书笔记(3) - 使用RMAN恢复目录
创建恢复目录
在hndx上创建恢复目录:
[oracle@oracle admin]$ export ORACLE_SID=hndx
[oracle@oracle admin]$ sqlplus / as sysdba
SQL> create tablespace rman_cata datafile '/u01/app/oracle/oradata/hndx/cata01.dbf' size 10M;
SQL> create user rman_cata default tablespace rman_cata identified by oracle;
SQL> grant connect,resource,recovery_catalog_owner to rman_cata;
SQL> exit
[oracle@oracle admin]$ echo $ORACLE_SID
hndx
sqlplus rman_cata/oracle
select * from tab--没有对象
[oracle@oracle admin]$ rman catalog rman_cata/oracle
RMAN> create catalog;
sqlplus rman_cata/oracle
select * from tab;--发现有上100个对象
[oracle@oracle admin]$ rman target sys/oracle@orcl catalog rman_cata/oracle@hndx
RMAN> register database;--将目标数据库的信息注册到恢复目录数据库
手动添加备份元数据
SQL> alter tablespace users begin backup;
SQL> !cp -v /u01/app/oracle/oradata/orcl/users01.dbf /u01/backup/hotbk/users.bak
SQL> alter tablespace users end backup;
RMAN> catalog datafilecopy '/u01/backup/hotbk/users.bak' ;
RMAN> list copy of tablespace users;
RMAN> change datafilecopy '/u01/backup/hotbk/users01.dbf' uncatalog;--从控制文件的元数据中删除此项
RMAN> list copy of tablespace users;
RMAN> catalog datafilecopy '/u01/backup/hotbk/users01.dbf' tag=users;--注册的同时进行标记
VPC(Virtual Private Catalog)
假如有3个数据库,数据名分别为:orcl,orcl1,orcl2,创建一个catalog服务器orcl,同时为2台数据库提供服务
要求每个数据库dba只能看到自己的元数据
首先,需要创建一个包含所有目标数据库的基础目录,假设拥有者为:RMAN
1. 创建表空间:
create tablespace rman_tbs datafile '/u01/app/oracle/oradata/orcl/rman_tbs01.dbf' size 100M;
2. 创建RMAN用户:
create user rman default tablespace rman_tbs identified by oracle;
grant recovery_catalog_owner to rman;
3. 创建恢复目录:
rman catalog rman/oracle
create catalog;
4. 将orcl1和orcl2的信息注册到恢复目录:
export ORACLE_SID=orcl1
rman target / catalog rman/oracle@orcl
register database;
export ORACLE_SID=orcl2
rman target / catalog rman/oracle@orcl
register database;
现在无无论orcl1和orcl2的dba都能考到对方的数据,这是不安全的,如:
export ORACLE_SID=orcl1
rman target / catalog rman/oracle@orcl
list db_unique_name all;
为了安全,不让对方dba看到自己的数据,可以创建虚拟专用目录,如:
1. 创建虚拟专用目录的所有者:
create user orcl1 default tablespace users identified by oracle;
create user orcl2 default tablespace users identified by oracle;
2. 为虚拟专用目录的所有者受权:
export ORACLE_SID=orcl
sqlplus / as sysdba
grant recovery_catalog_owner to orcl1;
grant recovery_catalog_owner to orcl2;
rman catalog rman/oracle
grant catalog for database orcl1 to orcl1;
grant register database to orcl1;
grant catalog for database orcl2 to orcl2;
grant register database to orcl2;
3. 创建虚拟专用目录:
export ORACLE_SID=orcl1
rman target / catalog orcl1/a@orcl
create virtual catalog;
list db_unique_name all;
只能看到自己的数据
export ORACLE_SID=orcl2
rman target / catalog orcl2@orcl
create virtual catalog;
list db_unique_name all;
只能看到自己的数据
合并恢复目录
1. 删除以上实验的恢复目录,在orcl和orcl1上重新创建各自的catalog
export ORACLE_SID=orcl1
rman target / catalog orcl1/oracle@orcl
unregister database;
export ORACLE_SID=orcl2
rman target / catalog orcl2/oracle@orcl
unregister database;
export ORACLE_SID=orcl
rman target / catalog rman/oracle
drop catalog;
2. 重新创建catalog:
export ORACLE_SID=orcl
rman catalog rman/oracle
create catalog;
connect target /
register database;
list db_unique_name all;
3. 为orcl1创建自己的catalog:
export ORACLE_SID=orcl1
sqlplus / as sysdba
create user rman1 default tablespace users identified by oracle;
grant connect,resource,recovery_catalog_owner to rman1;
rman catalog rman1/oracle
create catalog;
connect target /
register database;
list db_unique_name all;
4. 将orcl1的恢复目录合并到orcl中:
export ORACLE_SID=orcl
rman target / catalog rman/oracle
import catalog rman1/oracle@orcl1;
list db_unique_name all;
发现orcl1已经合并到orcl中
export ORACLE_SID=orcl1
rman target / catalog rman1/oracle
list db_unique_name all;
发现为空
-------------------------------------------------------------------------
恢复目录
createa tablespace cata_tbs datafile '/u01/app/oracle/oradata/orcl/cata_tbs01.dbf' size 100M; -- no less than 15M
create user cata default tablespace cata_tbs identified by oracle;
grant connect,resource,recovery_catalog_owner to cata;
sqlplus cata/oracle
select * from tab;
rman catalog cata/oracle;
create catalog;
rman target / catalog cata/oracle;
register database;
backup database;
怎么在恢复目录中注册数据库
rman target sys/oracle@orcl1 catalog cata/oracle@orcl
register database;
unregister database;
注册额外的备份文件
rman> catalog backuppiece 'file_name';
alter tablespace users begin backup;
!cp -v /u01/app/oracle/oradata/orcl/users01.dbf /u01/app/oracle/backup/hotbk
alter tablespace users end backup;
catalog datafilecopy '/u01/app/oracle/backup/hotbk';
list copy of database;
重新同步控制文件和恢复目录
rman>resync catalog;
使用rman存储脚本
CREATE [GLOBAL] SCRIPT script_name FROM FILE 'file_name';
rman target / catalog cata/oracle;
create script backupdb {backup database format='/u01/app/oracle/imanbk/%d_%s.dbf';}
run{execute script
script name;
}
RUN { EXECUTE GLOBAL SCRIPT
script_name
; }
print script scriptname;
print script backdb to file '/u01/app/oracle/rmanbk.sh';
rman> list script names;
rman> replace script backdb
{delete noprompt backup;
backup database plus archivelog;
}
list script names;
print script backdb;
OCP读书笔记(3) - 使用RMAN恢复目录的更多相关文章
- OCP读书笔记(7) - 使用RMAN执行恢复
7.Using RMAN to Perform Recovery 使用RMAN进行完全恢复system表空间文件丢失的恢复 模拟损坏: SQL> conn /as sysdba; SQL> ...
- OCP读书笔记(5) - 使用RMAN创建备份
5.Creating Backups with RMAN 创建备份集 RMAN> backup as backupset format '/u01/app/oracle/backup/rmanb ...
- RMAN恢复目录
是否使用RMAN恢复目录(Recovery Catalog 你可能从其他人或书上听过RMAN恢复目录(也有可能是其他名字,RMAN Recovery Catalog的翻译较多较杂,以下简称恢复目录), ...
- RMAN_学习笔记5_RMAN Catalog Script恢复目录脚本
2014-12-24 Created By BaoXinjian
- Oracle DB 使用RMAN恢复目录
• 对恢复目录和RMAN 资料档案库控制文件的使用进行比较• 创建和配置恢复目录• 在恢复目录中注册数据库• 同步恢复目录• 使用RMAN 存储脚本• 备份恢复目录• 创建虚拟专用目录 RMAN 资料 ...
- rman catalog (rman 恢复目录)
受控制文件大小的限制,一般rman需要用rman catalog来管理及存放备份信息: 这里介绍一下创建rman catalog的步骤: C:\Documents andSettings\Admini ...
- OCP读书笔记(8) - 监控和调优RMAN
监视RMAN作业 1. 创建rman备份: RMAN> run { allocate channel ch1 type disk; allocate channel ch2 type disk; ...
- OCP读书笔记(6) - 手动恢复操作
6.Restore and Recovery Task 非关键性文件丢失的恢复 临时文件丢失的恢复 临时表空间文件丢失的恢复: 查看数据库中的临时文件: SQL> select file#,ST ...
- OCP读书笔记(2) - 配置恢复
RMAN的命令类型 1. sqlplus命令 [oracle@oracle admin]$ export ORACLE_SID=orcl [oracle@oracle admin]$ rman tar ...
随机推荐
- [Windows Phone]常用类库&API推荐
原文 [Windows Phone]常用类库&API推荐 简介: 把自己的应用程序搭建在稳定的API之上,这会使得我们在开发时能把精力都集中在程序的业务逻辑之上,避免重复造轮子,并且使得程序结 ...
- Hadoop学习之HBase
1. HBase有哪些基本的特征? 2. HBase相对于关系数据库能解决的问题是什么? 3. HBase的数据模型是什么?如何表述?有哪些操作形式? 4. HBase的模式Schema设计的一些概念 ...
- 【linux】内核编译
原创,转载时请注明,谢谢.邮箱:tangzhongp@163.com 博客园地址:http://www.cnblogs.com/embedded-tzp Csdn博客地址:http://blog.cs ...
- Delphi下用API代码创建Form
program PMyWindowClass; uses Windows, Messages, SysUtils; type TMyWindow = class(TObject) priva ...
- HDU 3328 Flipper (stack)
最近着手打基础,做做STL的题目,虽然一般STL题目难度不大,但需要加快速度的准确率............................. 本题有N张牌,一开始每个位置一张(正面朝上或者朝下),有 ...
- VPS服务器下的centos网卡配置详解……
自动激活网卡 安装了CENTOS 6.X后,每次启动了系统都需要手动激话网卡,以下方法可以在系统启动后自动激活网卡. cat /etc/sysconfig/network-scripts/ifcfg- ...
- C++经典书目索引及资源下载
C++经典书目索引: 严重申明 : 本博文未经原作者(jerryjiang)同意,不论什么人不得转载和抄袭 ! Essential C++ 中文版 层次:0基础 导读:<Essential C+ ...
- Android下QQ空间查看大图特效
近期在做一个项目,里面有一个功能是实现Android QQ好友动态里面的缩略图放大,查看大图的效果.用过都知道,这个特效非常赞的,没用过的下载个玩玩吧.我刚開始以为放大的那个大图是一个Activity ...
- JQuery+AJAX实现搜索文本框的输入提示功能
平时使用谷歌搜索的时候发现只要在文本框里输入部分单词或字母,下面马上会弹出一个相关信息的内容框可供选择.感觉这个功能有较好的用户体验,所以也想在自己的网站上加上这种输入提示框. 实现的原理其实很简单, ...
- WTL介绍
WTL简单介绍 关键词: WTL WTL是一个好东东.它开发的程序都很短小精悍.对开发WIN32的应用有很好的优点.它不用MFC开发.但可以高速产生窗体和控件. 以文本方式查看主题 - 温馨小筑 ...