打算写一系列的文章介绍11g的新特性和变化。
Oracle11g在备份和恢复方面新增了很多的功能,无论是性能、功能性、安全性和可操作性方面都有了不同程度的提高。
这一篇介绍虚拟CATALOG。
Oracle11新特性——备份恢复功能增强(一):http://yangtingkun.itpub.net/post/468/412991
Oracle11新特性——备份恢复功能增强(二):http://yangtingkun.itpub.net/post/468/414647
Oracle11新特性——备份恢复功能增强(三):http://yangtingkun.itpub.net/post/468/414834
Oracle11新特性——备份恢复功能增强(四):http://yangtingkun.itpub.net/post/468/414941
Oracle11新特性——备份恢复功能增强(五):http://yangtingkun.itpub.net/post/468/416015
Oracle11g新增了虚拟CATALOG的功能。可以将CATALOG中的不同数据库的信息授权给不同的用户。
这样一套CATALOG可以支持多个数据库备份,同时保证多个数据库不会访问到不属于自己数据库的信息,提高了系统的安全性。
先看看10g中注册多个数据库的情况:
SQL> CONN YANGTK/YANGTK@YTK102已连接。
SQL> CREATE USER CATA_LOG IDENTIFIED BY CATA_LOG DEFAULT TABLESPACE YANGTK;
用户已创建。
SQL> GRANT CONNECT, RESOURCE TO CATA_LOG;
授权成功。
SQL> GRANT RECOVERY_CATALOG_OWNER TO CATA_LOG;
授权成功。
下面创建CATALOG并注册第一个数据库:
E:>rman target / catalog cata_log/cata_log
恢复管理器: Release 10.2.0.1.0 - Production on 星期日 12月 2 00:41:16 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: YTK102 (DBID=3695768905)连接到恢复目录数据库
RMAN> CREATE CATALOG;
www.ixdba.net
恢复目录已创建
RMAN> REGISTER DATABASE;
注册在恢复目录中的数据库正在启动全部恢复目录的 resync完成全部 resync
下面注册第二个:
E:>%ORACLE_HOME%/BIN/RMAN TARGET / CATALOG CATA_LOG/CATA_LOG@YTK102
恢复管理器: 版本9.2.0.4.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
连接到目标数据库: YTK92 (DBID=1285986946)连接到恢复目录数据库
RMAN> REGISTER DATABASE;
注册在恢复目录中的数据库正在启动全部恢复目录的 resync完成全部 resync
所有注册数据库都是通过CATALOG的OWNER CATA_LOG用户执行的,因此通过CATA_LOG用户访问CATALOG可以看到所有注册的数据库信息,这就存在的安全隐患。
SQL> CONN CATA_LOG/CATA_LOG@YTK102已连接。
SQL> SELECT * FROM RC_DATABASE;
DB_KEY DBINC_KEY DBID NAME RESETLOGS_CHANGE# RESETLOGS_TIME
---------- ---------- ---------- -------- ----------------- --------------
94 95 1285986946 YTK92 1 09-8月 -07
1 2 3695768905 YTK102 547780 09-8月 -07
而11g中的虚拟CATALOG则解决了这个问题。每个数据库都可以使用自己的虚拟CATALOG帐号连接CATALOG,且这个帐号只能看到自己数据库的信息:
SQL> CONN YANGTK/yangtk@ORA11G已连接。
SQL> CREATE USER CATA_LOG IDENTIFIED BY CATA_LOG DEFAULT TABLESPACE YANGTK;
用户已创建。
SQL> GRANT CONNECT, RESOURCE TO CATA_LOG;
授权成功。
SQL> GRANT RECOVERY_CATALOG_OWNER TO CATA_LOG;
授权成功。
首先仍然是创建CATALOG的OWNER用户,然后创建两个虚拟CATALOG帐号:
SQL> CREATE USER CATALOG_11G IDENTIFIED BY CATALOG_11G DEFAULT TABLESPACE YANGTK;
用户已创建。
SQL> GRANT CONNECT, RESOURCE TO CATALOG_11G;
授权成功。
SQL> GRANT RECOVERY_CATALOG_OWNER TO CATALOG_11G;
授权成功。
SQL> CREATE USER CATALOG_10G IDENTIFIED BY CATALOG_10G DEFAULT TABLESPACE YANGTK;
用户已创建。