ITPUX技术网

交流 . 资讯 . 分享
Make progress together!
Oracle数据库DBA高级工程师培训视频
Oracle数据库培训-备份恢复-性能优化-集群容灾
mysql数据库视频教程

oracle数据库备份恢复篇-恢复目录数据库的创建和管理

内容发布:cclw| 发布时间:2014-3-29 19:27:50
oracle数据库备份恢复篇-恢复目录数据库的创建和管理
恢复目录数据库主要特点
1.恢复目录可以做到集中管理,一台机器作为恢复目录数据库,管理多台机器上的数据库,每台机器就是一个target
2.只有使用恢复目录可以创建和使用脚本script
3.恢复目录数据库可以保证恢复需要的元数据(metadata)保留更长的时间。
4.缺省情况下,oracle会使用本地数据库(target db)的控制文件作为恢复目录使用,
在本测试中,使用了两台机器,每台机器上有一个oracle 11g数据库,其中一台作为目标数据库,另外一个作为恢复目录数据库
目标数据库(target db)
redhat5  oracle11.2.0.3  ip:192.168.1.15 主机名称:asm11g   asm存储方法
恢复目录数据库(catalog db)
redhat5  oracle11.2.0.1  ip:192.168.1.110 主机名称:oracle11g  文件系统存储

在作为恢复目录数据上(本例中数据库是文件系统),ip地址192.168.1.110
执行如下操作,创建表空间rman_tbs,创建用户tj,使用表空间rman_tbs,授予权限
SQL> conn / as sysdba
Connected.
SQL> select tablespace_name,contents from dba_tablespaces;
TABLESPACE_NAME                CONTENTS
------------------------------ ---------
SYSTEM                         PERMANENT
SYSAUX                         PERMANENT
UNDOTBS1                       UNDO
TEMP                           TEMPORARY
USERS                          PERMANENT
EXAMPLE                        PERMANENT
6 rows selected.
SQL> create tablespace rman_tbs
  2  datafile '/u01/app/oracle/oradata/db01/rman_tbs01.dbf' size 200m;
Tablespace created.
SQL> @/home/oracle/workshop/tspace
Tablespace   Total Size  Free Size   Pct Free   Pct Used       FSFI
------------ ---------- ---------- ---------- ---------- ----------
SYSTEM              700     15.375          2         98      83.06
USERS                 5      .8125         16         84        100
SYSAUX              540    31.1875          6         94        100
EXAMPLE             100      21.25         21         79      71.49
UNDOTBS1            100     91.875         92          8      52.06
RMAN_TBS            200        199        100          1        100
6 rows selected.
SQL> create user tj identified by tj                 
  2  default tablespace rman_tbs
  3  temporary tablespace temp
  4  quota unlimited on rman_tbs;
User created.
SQL> grant connect ,resource to tj;
Grant succeeded.
SQL> grant recovery_catalog_owner to tj;   
Grant succeeded.

使用用户tj登陆,目前在这个用户下没有任何的对象存在。
SQL> conn tj/tj
Connected.
SQL> select * from tab;
no rows selected
单独打开一个命令窗,连接到目标数据库所在机器(192.168.1.15),首先配置连接到恢复目录数据库的网络
配置结果如下,客户端连接字符串使用catalogdb
[oracle@asm11g ~]$ more /u01/app/oracle/product/11.2.0/db/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
DB01 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = asm11g)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = db01)
    )
  )
CATALOGDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.110)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = db01)
    )
  )
[oracle@asm11g ~]$ rman catalog tj/tj@catalogdb
Recovery Manager: Release 11.2.0.3.0 - Production on Thu May 10 21:59:24 2012
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
connected to recovery catalog database
RMAN> create catalog;
recovery catalog created
回到恢复目录数据库,在SQLPLUS窗口下确认,oracle其实创建datalog就是在用户tj下,建一些表,当然表里是没有数据的
SQL> select * from tab;
TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
AL                             TABLE
BCB                            TABLE
BCF                            TABLE
BCR                            TABLE
BDF                            TABLE
BP                             TABLE
BRL                            TABLE
BS                             TABLE
........................
...中间部分节略..........
........................
TSATT                          TABLE
VPC_DATABASES                  TABLE
VPC_USERS                      TABLE
XAL                            TABLE
XCF                            TABLE
XDF                            TABLE
77 rows selected.

SQL> select name from RC_DATAFILE;
no rows selected

再次到目标数据库,注册数据库
RMAN> connect target /
connected to target database: DB01 (DBID=1413747133)
RMAN> register database;
database registered in recovery catalog
starting full resync of recovery catalog
full resync complete


在目标数据库执行register之后回到恢复目录数据库所在机器,再来观察,已经有数据同步过来了。
SQL> select name from RC_DATAFILE;
NAME
--------------------------------------------------------------------------------
+DG1/db01/datafile/system.256.782478969
+DG1/db01/datafile/sysaux.257.782478969
+DG1/db01/datafile/undotbs1.258.782478971
+DG1/db01/datafile/users.259.782478971
+DG1/db01/datafile/example.265.782479149

到这里 恢复目录数据库基本创建完毕,你可以在目标数据库上执行下面的操作。

比如管理脚本script,这个操作使用控制文件作为恢复目录是实现不了的,一定要使用恢复目录数据库
[oracle@asm11g ~]$ RMAN TARGET / CATALOG tj/tj@catalogdb
-bash: RMAN: command not found
[oracle@asm11g ~]$ rman TARGET / CATALOG tj/tj@catalogdb
Recovery Manager: Release 11.2.0.3.0 - Production on Thu May 10 22:05:11 2012
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
connected to target database: DB01 (DBID=1413747133)
connected to recovery catalog database
RMAN> exit

Recovery Manager complete.
[oracle@asm11g ~]$ rman target / catalog  tj/tj@catalogdb
Recovery Manager: Release 11.2.0.3.0 - Production on Thu May 10 22:05:33 2012
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
connected to target database: DB01 (DBID=1413747133)
connected to recovery catalog database
RMAN> create script backuptest
2> {
3>    allocate channel c1 type disk;
4>    backup tablespace users;   
5> }
created script backuptest
RMAN> print  script backuptest;
printing stored script: backuptest
{
   allocate channel c1 type disk;
   backup tablespace users;
}
RMAN> list script names;
List of Stored Scripts in Recovery Catalog

    Scripts of Target Database DB01
       Script Name
       Description
       -----------------------------------------------------------------------
       backuptest
RMAN>  run{execute script backuptest;}
executing script: backuptest
starting full resync of recovery catalog
full resync complete
released channel: ORA_DISK_1
allocated channel: c1
channel c1: SID=68 device type=DISK
Starting backup at 10-MAY-12
channel c1: starting full datafile backup set
channel c1: specifying datafile(s) in backup set
input datafile file number=00004 name=+DG1/db01/datafile/users.259.782478971
channel c1: starting piece 1 at 10-MAY-12
channel c1: finished piece 1 at 10-MAY-12
piece handle=+FRADATA/db01/backupset/2012_05_10/nnndf0_tag20120510t225336_0.270.782952819 tag=TAG20120510T225336 comment=NONE
channel c1: backup set complete, elapsed time: 00:00:03
Finished backup at 10-MAY-12
released channel: c1





上一篇:RAC安装过程中碰到的问题以及是如何解决的。
下一篇:RMAN Catalog 和 Nocatalog 的区别
回复

使用道具 举报

1框架
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表