博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
恢复编录的创建和使用.txt
阅读量:2513 次
发布时间:2019-05-11

本文共 3559 字,大约阅读时间需要 11 分钟。

恢复编录的创建和使用

目标:在windows环境下的数据库test中为虚拟机(192.168.56.130)上的testdb数据库创建恢复编录

目的:保证testdb的数据安全。

创建编录后归档日志和备份历史信息的保存时间可以不再受control_file_record_keep_time限制;
即使控制文件丢失了,也能够用最简单的方法进行数据还原和恢复;
可以查看开启编录后testdb任意时间点的表空间和schema情况;

一、创建

1.在本地服务器test数据库下创建表空间catalog_testdb,作为testdb数据库的恢复编录专用

Microsoft Windows XP [版本 5.1.2600]

(C) 版权所有 1985-2001 Microsoft Corp.

D:\Documents and Settings\tian>sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 3月 2 09:44:27 2013

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> conn /as sysdba

已连接。
SQL> select name from v$datafile;  #首先查看一下数据文件的位置

NAME

--------------------------------------------------------------------------------

D:\ORACLE\ORADATA\TEST\SYSTEM01.DBF

D:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF
D:\ORACLE\ORADATA\TEST\SYSAUX01.DBF
D:\ORACLE\ORADATA\TEST\USERS01.DBF

SQL> create tablespace rm_testdb datafile 'D:\ORACLE\ORADATA\TEST\RM_T
ESTDB.DBF' size 20M;  #指定表空间rm_testdb的位置,大小应该根据目标库(testdb)大小而定,推荐设置为至少20MB

表空间已创建。

2.创建编录的方案(schema),名称为RC_OWNER,并授予recovery_catalog_owner权限

SQL> create tablespace catalog_testdb datafile 'D:\ORACLE\ORADATA\TEST\CATALOG_T

ESTDB.DBF' size 20M;

表空间已创建。

SQL> create user rc_owner identified by rc_owner default tablespace rm_testdb te

mporary tablespace temp quota unlimited on rm_testdb;
#此处需要注意一下,别偷懒,一定要指定临时表空间和限额,否则后面的操作可能会有问题!
#本人的实验中因此而create catalog出错

用户已创建。

SQL> grant recovery_catalog_owner to rc_owner;

授权成功。

SQL> conn rc_owner/rc_owner

已连接。
SQL> select object_name from user_objects;

未选定行

#该schema下还没有任何对象

3.通过rman连接到编录数据库,利用create catalog命令创建必要的对象

D:\Documents and Settings\tian>rman catalog

恢复管理器: Release 10.2.0.1.0 - Production on 星期六 3月 2 09:54:21 2013

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

连接到恢复目录数据库

RMAN> create catalog;

恢复目录已创建

#再次查看对象数
SQL> conn rc_owner/rc_owner
已连接。
SQL> select count(object_name) from user_objects;

COUNT(OBJECT_NAME)

------------------
               195

二、使用
1.注册目标数据库的编录数据库

#注册时必须以sys用户连接目标数据库,以rc_owner(编录数据库中创建的编录用户)连接编录数据库

rman target catalog rc_owner/rc_owner

#尝试用本地数据库做编录数据库(10.2.0.1),用虚拟机上的数据库(11.2.0.1)做目标库,报错如下:

恢复管理器: Release 10.2.0.1.0 - Production on 星期六 3月 2 10:34:21 2013

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: 内部恢复管理器程序包初始化失败
RMAN-04005: 目标数据库中存在错误:
ORA-12560: TNS: 协议适配器错误

#以上过程也该可以证明:target和catalog数据库不能在不同版本的数据库之间使用

#在本地创建实例targ,然后运行如下命令进行注册:(真实情况下不应该是同一台服务器上,而应该是不同服务器,不同的数据库实例上创建)

D:\Documents and Settings\tian>rman target catalog rc_owner/rc_owne

恢复管理器: Release 10.2.0.1.0 - Production on 星期六 3月 2 10:36:52 2013

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

连接到目标数据库: TARG (DBID=2156956452)

连接到恢复目录数据库

RMAN> register database;

注册在恢复目录中的数据库

正在启动全部恢复目录的 resync
完成全部 resync

“完成全部 resync”说明注册成功,并且完成了如下任务:

(1)向恢复编录的相应表中插入了目标数据库的数据
#在编录数据库中()
SQL> select * from db;

    DB_KEY      DB_ID HIGH_CONF_RECID LAST_KCCDIVTS HIGH_IC_RECID CURR_DBINC_KEY

---------- ---------- --------------- ------------- ------------- --------------
         1 2156956452                     809000420             2              2
#在目标数据库( as sysdba)
SQL> select dbid from v$database;

      DBID

----------
2156956452

(2)将目标数据库控制文件中的rman资料库上传到恢复编录相关表
比如,从df、tf表分别可以看到数据文件、临时数据文件的相关信息。

(3) 同步控制文件与恢复编录

以后只要我们在备份时同时连接到目标数据库和编录数据库,备份的信息就将自动传送到恢复编录中。可以通过rman命令或者在编录数据库中直接查询到。

 

参考:

11g官方文档
《临危不惧:oracle 11g数据库恢复》

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26451536/viewspace-755137/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26451536/viewspace-755137/

你可能感兴趣的文章
iView 的后台管理系统简易模板 iview-admin-simple
查看>>
写一个自己的搜索引擎(1)
查看>>
NGINX、PHP-FPM开机自动启动
查看>>
python 递归求阶乘
查看>>
ERROR: child process failed, exited with error number 100
查看>>
Java计算器源代码
查看>>
SQLServer视图
查看>>
《Entity Framework 6 Recipes》翻译系列 (3) -----第二章 实体数据建模基础之创建一个简单的模型...
查看>>
入门阶段
查看>>
游戏制作人的职能
查看>>
学生信息管理系统应用ios源码iPad版
查看>>
Android中使用http协议访问网络
查看>>
ASP.NET Core 菜鸟之路:从Startup.cs说起
查看>>
vs win32 & MFC 指针默认位置
查看>>
Join 与 CountDownLatch 之间的区别
查看>>
js存cookie
查看>>
vc6下dll调试
查看>>
Ubuntu apt常用命令
查看>>
struts2 配置(部分)
查看>>
python代码迷之错误(ModuleNotFoundError: No module named 'caffe.proto')
查看>>