创建
概述
使用RMAN 备份也分catalog 和nocatalog,就是是否使用恢复目录,如果不使用恢复目录,那么就是用control file作为catalog,每一次备份都要往控制文件里面写好多备份信息,控制文件里面会有越来越多的备份信息。因此,当使用rman nocatalog方式备份时,备份controlfile是非常重要的。 如果使用catalog模式,就需要句需要创建catalog目录。 当库比较多时,使用catalog也是比较方便的。
(oracle 使用catalog 来进行备份的话就需要先创建个catalog用户)
Catalog 则必须要首先要创建目录备份数据库,建立恢复目录。
另外,由于nocatalog时利用controlfile存放备份信息,建议将Oracle参数文件中的CONTROL_FILE_RECORD_KEEP_TIME值加大(缺省为7天), 该参数在$ORACLE_HOME/dbs/initSID.ora中(9i后也可能在spfile中,只能通过Oracle语句更改)。使用本库作为恢复目录
1.创建恢复目录表空间
SQL> create tablespace tbs_rman datafile '/opt/oracle/oradata/orcl/tbs_rman01.dbf' size 200M autoextend on;Tablespace created.
2.创建rman用户并授权
SQL> create user rman identified by rman temporary tablespace temp default tablespace tbs_rman quota unlimited on tbs_rman;
User created.
User created.
SQL> grant
recovery_catalog_owner
to rman;
Grant succeeded.
Grant succeeded.
测试
SQL> conn rman/rman
Connected.
SQL> select * from session_privs;
PRIVILEGE
----------------------------------------
CREATE SESSION
ALTER SESSION
CREATE TABLE
CREATE CLUSTER
CREATE SYNONYM
CREATE VIEW
CREATE SEQUENCE
CREATE DATABASE LINK
CREATE PROCEDURE
CREATE TRIGGER
CREATE TYPE
11 rows selected.
SQL> select * from session_roles;
ROLE
------------------------------
RECOVERY_CATALOG_OWNER
SQL>
SQL> conn rman/rman
Connected.
SQL> select * from session_privs;
PRIVILEGE
----------------------------------------
CREATE SESSION
ALTER SESSION
CREATE TABLE
CREATE CLUSTER
CREATE SYNONYM
CREATE VIEW
CREATE SEQUENCE
CREATE DATABASE LINK
CREATE PROCEDURE
CREATE TRIGGER
CREATE TYPE
11 rows selected.
SQL> select * from session_roles;
ROLE
------------------------------
RECOVERY_CATALOG_OWNER
SQL>
3.连接恢复目录并创建恢复目录
[
oracle@hxy ~]$ rlwrap rman catalog rman/rman@orcl //此处我连接的是我现有的当前数据库
Recovery Manager: Release 10.2.0.1.0 - Production on Sat Feb 23 23:19:19 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to recovery catalog database
Recovery Manager: Release 10.2.0.1.0 - Production on Sat Feb 23 23:19:19 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to recovery catalog database
RMAN> create catalog tablespace tbs_rman;
recovery catalog created
recovery catalog created
4.连接到目标数据库及恢复目录
[oracle@hxy ~]$ rlwrap rman target / catalog rman/rman@orcl
Recovery Manager: Release 10.2.0.1.0 - Production on Sat Feb 23 23:29:03 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: ORCL (DBID=1334298584)
connected to recovery catalog database
Recovery Manager: Release 10.2.0.1.0 - Production on Sat Feb 23 23:29:03 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: ORCL (DBID=1334298584)
connected to recovery catalog database
RMAN> register database;
--
将目标数据库注册到恢复目录
database registered in recovery catalog
starting full resync of recovery catalog
full resync complete
database registered in recovery catalog
starting full resync of recovery catalog
full resync complete
完成!!
使用自己新建的库
自己在主机上新建一个数据库,实例名为rman_db
确保能通过@连接
[oracle@hxy dbs]$ rlwrap sqlplus sys/oracle@rman_db as sysdb
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Feb 25 13:00:34 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
rmandb OPEN
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Feb 25 13:00:34 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
rmandb OPEN
[oracle@hxy dbs]$ rlwrap sqlplus sys/oracle@orcl as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Feb 25 12:59:52 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
orcl OPEN
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Feb 25 12:59:52 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
orcl OPEN
(一下参考自
一沙弥的世界 博文)
1.
在存储恢复目录的数据库创建表空间用于存储恢复目录
schema
及恢复目录数据
(
本文使用已经创建好的数据库
catadb
来存储恢复目录
)
[oracle@hxy ~]$ rlwrap sqlplus sys/oracle@rman_db as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Feb 25 13:06:52 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/opt/oracle/oradata/rman_db/system01.dbf
/opt/oracle/oradata/rman_db/undotbs01.dbf
/opt/oracle/oradata/rman_db/sysaux01.dbf
/opt/oracle/oradata/rman_db/users01.dbf
SQL> create tablespace tbs_rman datafile '/opt/oracle/oradata/rman_db/tbs_rman01.dbf' size 20M autoextend on;
Tablespace created.
SQL>
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Feb 25 13:06:52 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/opt/oracle/oradata/rman_db/system01.dbf
/opt/oracle/oradata/rman_db/undotbs01.dbf
/opt/oracle/oradata/rman_db/sysaux01.dbf
/opt/oracle/oradata/rman_db/users01.dbf
SQL> create tablespace tbs_rman datafile '/opt/oracle/oradata/rman_db/tbs_rman01.dbf' size 20M autoextend on;
Tablespace created.
SQL>
2.创建rman用户并授权
SQL> create user rman identified by rman temporary tablespace temp default tablespace tbs_rman quota unlimited on tbs_rman;
User created.
SQL> grant recovery_catalog_owner to rman;
Grant succeeded.
User created.
SQL> grant recovery_catalog_owner to rman;
Grant succeeded.
3.连接到恢复目录并创建恢复目录
[oracle@hxy ~]$
rlwrap rman catalog rman/rman@rman_db
Recovery Manager: Release 10.2.0.1.0 - Production on Mon Feb 25 13:27:44 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to recovery catalog database
RMAN> create catalog tablespace tbs_rman;
recovery catalog created
RMAN>
Recovery Manager: Release 10.2.0.1.0 - Production on Mon Feb 25 13:27:44 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to recovery catalog database
RMAN> create catalog tablespace tbs_rman;
recovery catalog created
RMAN>
4.连接到目标数据库和恢复目录,并将目标数据库注册到恢复目录
[oracle@hxy ~]$ rlwrap rman target sys/oracle@orcl catalog rman/rman@rman_db
Recovery Manager: Release 10.2.0.1.0 - Production on Mon Feb 25 13:31:20 2013
Recovery Manager: Release 10.2.0.1.0 - Production on Mon Feb 25 13:31:20 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: ORCL (DBID=1334298584)
connected to recovery catalog database
RMAN> register database;
database registered in recovery catalog
starting full resync of recovery catalog
full resync complete
RMAN>
connected to target database: ORCL (DBID=1334298584)
connected to recovery catalog database
RMAN> register database;
database registered in recovery catalog
starting full resync of recovery catalog
full resync complete
RMAN>
完成!!!
删除
SQL> drop user rman cascade;
User dropped.
User dropped.
RMAN> drop catalog;
recovery catalog owner is
enter DROP CATALOG command again to confirm catalog removal
recovery catalog owner is
enter DROP CATALOG command again to confirm catalog removal
SQL> drop tablespace tbs_rman including contents and datafiles;
Tablespace dropped.
Tablespace dropped.