alter database datafile '/u01/app/oracle/oradata/ORCL/catalog_01.dbf' autoextend on maxsize 100m;
实验:
1.创建catalog(target数据库为PROD,catalog数据库为ORCL)
1)catalog目录库:创建大文件表空间、用户、授权
create bigfile tablespace rc_data datafile '/u01/app/oracle/oradata/ORCL/rc_data.dbf' size 20m;
create user rc_admin identified by oracle default tablespace rc_data;
grant connect,resource,recovery_catalog_owner to rc_admin;
desc role_sys_privs
Name Null? Type
----------------------------------------- -------- ----------------------------
ROLE NOT NULL VARCHAR2(30)
PRIVILEGE NOT NULL VARCHAR2(40)
ADMIN_OPTION VARCHAR2(3)
select * from role_sys_privs where role='RECOVERY_CATALOG_OWNER';
ROLE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
RECOVERY_CATALOG_OWNER CREATE SYNONYM NO
RECOVERY_CATALOG_OWNER CREATE CLUSTER NO
RECOVERY_CATALOG_OWNER ALTER SESSION NO
RECOVERY_CATALOG_OWNER CREATE DATABASE LINK NO
RECOVERY_CATALOG_OWNER CREATE PROCEDURE NO
RECOVERY_CATALOG_OWNER CREATE SEQUENCE NO
RECOVERY_CATALOG_OWNER CREATE TABLE NO
RECOVERY_CATALOG_OWNER CREATE SESSION NO
RECOVERY_CATALOG_OWNER CREATE TYPE NO
RECOVERY_CATALOG_OWNER CREATE VIEW NO
RECOVERY_CATALOG_OWNER CREATE TRIGGER NO
开启监听
连接rman
RMAN> rman catalog rc_admin/oracle@ORCL
RMAN> create catalog;
2.注册数据库 (PROD)
RMAN> rman target / catalog rc_admin/oracle@ORCL
RMAN>register database;
3.验证
sqlplus rc_admin/oracle
select * from rc_database;
4.配置target数据库
RMAN> rman target / catalog rc_admin/oracle@ORCL
RMAN>configure retention policy to recovery window of 7 days;
--修改保留策略
RMAN>configure controlfile autobackup on;
--打开控制文件自动备份
RMAN>configure device type disk parallelism 4;
--开启并行备份,行度设置为4
5.备份数据库
RMAN> rman target / catalog rc_admin/oracle@ORCL
RMAN>backup section size 50m tag 'example_bak' tablespace EXAMPLE;
--每一个备份片大小50M,tag 标签
--在闪回区查看生成文件
RMAN>backup keep forever tag 'forever_test' format '/u01/app/oracle/%U' datafile 1;
--永久备份编号为1的数据文件
RMAN>backup database include current controlfile plus archivelog delete all input;
--全库备份加上归档日志文件
RMAN>list backup summary; --列出所有备份
6.在target生成备份,然后注册到catalog中 (生成的备份片位置及名称'/home/oracle/……')
RMAN>rman target /
--连接到target数据库
RMAN>backuo datafile 1,2 format '/home/oracle/%U';
--将编号为1,2的数据文件备份到/home/oracle/
查看备份片并记录名称
RMAN> rman target / catalog rc_admin/oracle@ORCL
--连接target和catalog数据库
RMAN>catalog backuppiece '/home/oracle/……';
--将备份注册到catalog数据库中
RMAN>resync catalog;
--信息同步
-----------------------------------------------------------------------------------------------------------
创建创建虚拟专用目录:
1.创建vpc用户;
create user vpc_rc identified by oracle default tablespace rc_data;
grant connect,resource,recovery_catalog_owner to vpc_rc;
2.授权给该用户;
RMAN> rman target / catalog rc_admin/oracle@ORCL
RMAN>grant catalog for database PROD to vpc_rc;
RMAN>grant register database to vpc_rc;
RMAN>exit
3.创建虚拟专用目录;
RMAN> rman target / catalog vpc_rc/oracle@ORCL
RMAN> create virtual catalog;
RMAN> list db_unique_name all;
--列出管理者名称,这步可能会有错误,应该是Oracle的内部错误,
--需要 drop virtual catalog; 然后在 create virtual catalog;
VPC:
虚拟专用catalog,用来从逻辑上隔离不同的数据库备份信息
每一个vpc用户指管理一个数据库,从而保证数据库的备份信息不会被其他用户看到;