Rman:创建恢复目录
这里回顾一下关于Rman创建恢复目录的知识。
恢复目录(Recovery Catalog)是用来存放Rman的元数据的,启用恢复目录之后,元数据存储在单独的数据库之中;它的另一种方式是将Rman的元数据存储在控制文件中。
Rman的元数据包括以下内容:
备份集
映像副本
已归档的重做日志
数据库结构:类似于表空间和对应的数据文件
Rman的永久性配置设置的详细信息
下面开始创建一个恢复目录:
首先,通过rman连接到打算作为恢复目录的数据库:
这个过程中,你需要指定一个Schema登录恢复目录库。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[oracle@rhel6 ~]$ rman Recovery Manager: Release 12.1.0.1.0 - Production on Mon Oct 26 08:04:18 2015 Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved. RMAN> connect target / connected to target database: ORCL (DBID=1421336293) RMAN> connect catalog system/oracle@orcl connected to recovery catalog database RMAN> |
注意,我是通过system连入catalog的。
通过SQL*Plus连入恢复目录库,创建存放恢复目录信息的表空间:RMAN_ME。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
SQL> col file_name for a60 SQL> set linesize 900 SQL> run 1* select file_name,file_id,tablespace_name from dba_data_files FILE_NAME FILE_ID TABLESPACE_NAME ------------------------------------------------------------ ---------- ------------------------------ /u01/app/oracle/oradata/orcl/users01.dbf 6 USERS /u01/app/oracle/oradata/orcl/undotbs01.dbf 4 UNDOTBS1 /u01/app/oracle/oradata/orcl/sysaux01.dbf 3 SYSAUX /u01/app/oracle/oradata/orcl/system01.dbf 1 SYSTEM SQL> SQL> create tablespace rman_me datafile '/u01/app/oracle/oradata/orcl/rman_me01.dbf' size 500M; Tablespace created. SQL> select file_name,file_id,tablespace_name from dba_data_files; FILE_NAME FILE_ID TABLESPACE_NAME ------------------------------------------------------------ ---------- ------------------------------ /u01/app/oracle/oradata/orcl/system01.dbf 1 SYSTEM /u01/app/oracle/oradata/orcl/sysaux01.dbf 3 SYSAUX /u01/app/oracle/oradata/orcl/undotbs01.dbf 4 UNDOTBS1 /u01/app/oracle/oradata/orcl/users01.dbf 6 USERS /u01/app/oracle/oradata/orcl/rman_me01.dbf 17 RMAN_ME SQL> |
Rman中,开始创建恢复目录:
1 2 3 4 5 6 7 8 |
RMAN> create catalog tablespace rman_me; RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-06426: RECOVERY_CATALOG_OWNER role must be granted to user SYSTEM RMAN> |
要成功的创建恢复目录,作为恢复目录SCHEMA的用户需要具有特定角色:RECOVERY_CATALOG_OWNER。
出现上面的错误,表明当前SYSTEM用户是没有特定角色的。
为SYSTEM分配特定权限角色:
1 2 3 4 5 |
SQL> grant RECOVERY_CATALOG_OWNER to system; Grant succeeded. SQL> |
再次执行恢复目录的创建指令:
1 2 3 4 5 |
RMAN> create catalog tablespace rman_me; recovery catalog created RMAN> |
这样,恢复目录就创建好了。
如果希望在恢复目录中存储特定目标库的RMAN元数据,那么需要在恢复目录中注册该目标库:
当通过“connect target / catalog xxxx”连接到了目标库以及恢复目录之后,你可以通过“register database;”来将当前的目标库注册到你连接的恢复目录之中。
1 2 3 4 5 6 7 |
RMAN> register database; database registered in recovery catalog starting full resync of recovery catalog full resync complete RMAN> |
通过上面的代码,你可以看到,目标库与恢复目录可以是同一个库。
以上的操作完成了之后,恢复目录的创建与基本的使用就完成了。
来看看恢复目录中的具体情况:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 |
SQL> col segment_name for a28 SQL> set linesize 900 SQL> set pagesize 200 SQL> SQL> select segment_type,count(*) from dba_segments where tablespace_name='RMAN_ME' group by segment_type order by segment_type; SEGMENT_TYPE COUNT(*) ------------------ ---------- INDEX 121 LOBINDEX 2 LOBSEGMENT 2 TABLE 54 SQL> SQL> select owner,segment_type,segment_name from dba_segments where tablespace_name='RMAN_ME' order by owner,segment_type,segment_name; OWNER SEGMENT_TYPE SEGMENT_NAME -------- ------------------ ---------------------------- SYSTEM INDEX AL_I_2 SYSTEM INDEX AL_I_FNAME_STATUS SYSTEM INDEX AL_P SYSTEM INDEX AL_U1 SYSTEM INDEX BCB_U1 SYSTEM INDEX BCF_P SYSTEM INDEX BCF_U2 SYSTEM INDEX BCR_P SYSTEM INDEX BDF_I_BS_KEY SYSTEM INDEX BDF_I_DF_KEY SYSTEM INDEX BDF_P SYSTEM INDEX BDF_U2 SYSTEM INDEX BP_I_2 SYSTEM INDEX BP_I_DEVICE_HANDLE_STATUS SYSTEM INDEX BP_I_RSR SYSTEM INDEX BP_P SYSTEM INDEX BP_U1 SYSTEM INDEX BP_U2 SYSTEM INDEX BRL_I_BS_KEY SYSTEM INDEX BRL_I_DTS SYSTEM INDEX BRL_P SYSTEM INDEX BRL_U2 SYSTEM INDEX BSF_P SYSTEM INDEX BSF_U2 SYSTEM INDEX BS_I_1 SYSTEM INDEX BS_P SYSTEM INDEX BS_U2 SYSTEM INDEX CCB_U1 SYSTEM INDEX CCF_I_FNAME_STATUS SYSTEM INDEX CCF_I_RSR SYSTEM INDEX CCF_P SYSTEM INDEX CCF_U1 SYSTEM INDEX CDF_I_DF_KEY SYSTEM INDEX CDF_I_FNAME_STATUS SYSTEM INDEX CDF_I_RSR SYSTEM INDEX CDF_P SYSTEM INDEX CDF_U1 SYSTEM INDEX CKP_I_DBINC SYSTEM INDEX CKP_P SYSTEM INDEX CKP_U1 SYSTEM INDEX CONFIG_P SYSTEM INDEX CONF_I_DB SYSTEM INDEX DBINC_P SYSTEM INDEX DBINC_U1 SYSTEM INDEX DB_P SYSTEM INDEX DB_U1 SYSTEM INDEX DELETED_OBJECT_P SYSTEM INDEX DF_I_1 SYSTEM INDEX DF_P1 SYSTEM INDEX DF_U3 SYSTEM INDEX DF_U4 SYSTEM INDEX FB_U1 SYSTEM INDEX GRSP_U1 SYSTEM INDEX NODE_P SYSTEM INDEX NODE_U1 SYSTEM INDEX NRSP_U1 SYSTEM INDEX OAM_PENDING_JOBS_P SYSTEM INDEX OFFR_P SYSTEM INDEX OFFR_U2 SYSTEM INDEX ORL_I_1 SYSTEM INDEX ORSEVENT_U1 SYSTEM INDEX PDBINC_I_1 SYSTEM INDEX PDBINC_P SYSTEM INDEX PDBINC_U1 SYSTEM INDEX PDB_DBINC_P SYSTEM INDEX PDB_I_1 SYSTEM INDEX PDB_I_2 SYSTEM INDEX PDB_I_3 SYSTEM INDEX PDB_P SYSTEM INDEX PDB_U1 SYSTEM INDEX RCFILE_P SYSTEM INDEX RCFILE_U1 SYSTEM INDEX RCVER_VERSION_UNIQUE SYSTEM INDEX RLH_P SYSTEM INDEX RLH_U1 SYSTEM INDEX ROUT_I_DB SYSTEM INDEX ROUT_I_RSR SYSTEM INDEX ROUT_I_SITE_KEY SYSTEM INDEX ROUT_I_SKEY SYSTEM INDEX ROUT_U1 SYSTEM INDEX RR_P SYSTEM INDEX RSR_I_DBINC SYSTEM INDEX RSR_I_STAMP SYSTEM INDEX RSR_KEY SYSTEM INDEX RSR_U2 SYSTEM INDEX RT_P SYSTEM INDEX SCRL_U1 SYSTEM INDEX SCR_P SYSTEM INDEX SCR_U1 SYSTEM INDEX SERVER_P SYSTEM INDEX SERVER_U1 SYSTEM INDEX SITE_DFATT_P SYSTEM INDEX SITE_TFATT_P SYSTEM INDEX TEMPRES_U1 SYSTEM INDEX TF_I_1 SYSTEM INDEX TF_P SYSTEM INDEX TSATT_I_ECK SYSTEM INDEX TSATT_I_SCK SYSTEM INDEX TSATT_U3 SYSTEM INDEX TS_P2 SYSTEM INDEX TS_U4 SYSTEM INDEX TS_U5 SYSTEM INDEX VPC_DATABASES_U2 SYSTEM INDEX VPC_USERS_P SYSTEM INDEX WATERMARKS_U1 SYSTEM INDEX XAL_I_AL_KEY SYSTEM INDEX XAL_I_HANDLE_STATUS SYSTEM INDEX XAL_I_RSR SYSTEM INDEX XAL_P SYSTEM INDEX XAL_U1 SYSTEM INDEX XCF_I_HANDLE_STATUS SYSTEM INDEX XCF_I_RSR SYSTEM INDEX XCF_P SYSTEM INDEX XCF_U1 SYSTEM INDEX XDF_I_DF_KEY SYSTEM INDEX XDF_I_HANDLE_STATUS SYSTEM INDEX XDF_I_RSR SYSTEM INDEX XDF_P SYSTEM INDEX XDF_U1 SYSTEM INDEX XMLSTORE_P SYSTEM INDEX XMLSTORE_U1 SYSTEM LOBINDEX SYS_IL0000092239C00012$$ SYSTEM LOBINDEX SYS_IL0000092247C00005$$ SYSTEM LOBSEGMENT SYS_LOB0000092239C00012$$ SYSTEM LOBSEGMENT SYS_LOB0000092247C00005$$ SYSTEM TABLE AL SYSTEM TABLE BCB SYSTEM TABLE BCF SYSTEM TABLE BCR SYSTEM TABLE BDF SYSTEM TABLE BP SYSTEM TABLE BRL SYSTEM TABLE BS SYSTEM TABLE BSF SYSTEM TABLE CCB SYSTEM TABLE CCF SYSTEM TABLE CDF SYSTEM TABLE CFS SYSTEM TABLE CKP SYSTEM TABLE CONF SYSTEM TABLE CONFIG SYSTEM TABLE DB SYSTEM TABLE DBINC SYSTEM TABLE DELETED_OBJECT SYSTEM TABLE DF SYSTEM TABLE FB SYSTEM TABLE GRSP SYSTEM TABLE NODE SYSTEM TABLE NRSP SYSTEM TABLE OAM_PENDING_JOBS SYSTEM TABLE OFFR SYSTEM TABLE ORL SYSTEM TABLE ORSEVENT SYSTEM TABLE PDB SYSTEM TABLE PDBINC SYSTEM TABLE PDB_DBINC SYSTEM TABLE RCFILE SYSTEM TABLE RCVER SYSTEM TABLE RLH SYSTEM TABLE ROUT SYSTEM TABLE RR SYSTEM TABLE RSR SYSTEM TABLE RT SYSTEM TABLE SCR SYSTEM TABLE SCRL SYSTEM TABLE SERVER SYSTEM TABLE SITE_DFATT SYSTEM TABLE SITE_TFATT SYSTEM TABLE TEMPRES SYSTEM TABLE TF SYSTEM TABLE TS SYSTEM TABLE TSATT SYSTEM TABLE VPC_DATABASES SYSTEM TABLE VPC_USERS SYSTEM TABLE WATERMARKS SYSTEM TABLE XAL SYSTEM TABLE XCF SYSTEM TABLE XDF SYSTEM TABLE XMLSTORE 179 rows selected. SQL> |
查询其中数据表的状态:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
SQL> select 'select count(*) from ' || owner || '.' || segment_name || ';' from dba_segments where tablespace_name='RMAN_ME' and segment_type='TABLE' order by segment_name; 'SELECTCOUNT(*)FROM'||OWNER||'.'||SEGMENT_NAME||';' -------------------------------------------------------------------------------- select count(*) from SYSTEM.AL; select count(*) from SYSTEM.BCB; select count(*) from SYSTEM.BCF; select count(*) from SYSTEM.BCR; select count(*) from SYSTEM.BDF; select count(*) from SYSTEM.BP; select count(*) from SYSTEM.BRL; select count(*) from SYSTEM.BS; select count(*) from SYSTEM.BSF; select count(*) from SYSTEM.CCB; select count(*) from SYSTEM.CCF; select count(*) from SYSTEM.CDF; select count(*) from SYSTEM.CFS; select count(*) from SYSTEM.CKP; select count(*) from SYSTEM.CONF; select count(*) from SYSTEM.CONFIG; select count(*) from SYSTEM.DB; select count(*) from SYSTEM.DBINC; select count(*) from SYSTEM.DELETED_OBJECT; select count(*) from SYSTEM.DF; select count(*) from SYSTEM.FB; select count(*) from SYSTEM.GRSP; select count(*) from SYSTEM.NODE; select count(*) from SYSTEM.NRSP; select count(*) from SYSTEM.OAM_PENDING_JOBS; select count(*) from SYSTEM.OFFR; select count(*) from SYSTEM.ORL; select count(*) from SYSTEM.ORSEVENT; select count(*) from SYSTEM.PDB; select count(*) from SYSTEM.PDBINC; select count(*) from SYSTEM.PDB_DBINC; select count(*) from SYSTEM.RCFILE; select count(*) from SYSTEM.RCVER; select count(*) from SYSTEM.RLH; select count(*) from SYSTEM.ROUT; select count(*) from SYSTEM.RR; select count(*) from SYSTEM.RSR; select count(*) from SYSTEM.RT; select count(*) from SYSTEM.SCR; select count(*) from SYSTEM.SCRL; select count(*) from SYSTEM.SERVER; select count(*) from SYSTEM.SITE_DFATT; select count(*) from SYSTEM.SITE_TFATT; select count(*) from SYSTEM.TEMPRES; select count(*) from SYSTEM.TF; select count(*) from SYSTEM.TS; select count(*) from SYSTEM.TSATT; select count(*) from SYSTEM.VPC_DATABASES; select count(*) from SYSTEM.VPC_USERS; select count(*) from SYSTEM.WATERMARKS; select count(*) from SYSTEM.XAL; select count(*) from SYSTEM.XCF; select count(*) from SYSTEM.XDF; select count(*) from SYSTEM.XMLSTORE; 54 rows selected. SQL> |
——————————————————————
Done。