首页 > 数据库 > Oracle > 创建CATALOG库
EMREP库
1.创建表空间
create tablespace rc_data datafile '/u01/app/oracle/oradata/EMREP/rc_data01.dbf' size 100m reuse;
select file_id,file_name,tablespace_name,bytes/1024/1024 m from dba_data_files;
FILE_ID FILE_NAME TABLESPACE M
---------- -------------------------------------------------- ---------- ----------
4 /u01/app/oracle/oradata/EMREP/users01.dbf USERS 5
3 /u01/app/oracle/oradata/EMREP/undotbs01.dbf UNDOTBS1 75
2 /u01/app/oracle/oradata/EMREP/sysaux01.dbf SYSAUX 470
1 /u01/app/oracle/oradata/EMREP/system01.dbf SYSTEM 690
5 /u01/app/oracle/oradata/EMREP/rc_data01.dbf RC_DATA 100
2.创建用户,赋予权限
create user rc_admin identified by rc_admin;
alter user rc_admin default tablespace rc_data;
grant connect,resource to rc_admin;
SQL> select grantee,privilege from dba_sys_privs where grantee='RESOURCE' order by privilege;
GRANTEE PRIVILEGE
-------------------------- ----------------------------------------
RESOURCE CREATE CLUSTER
RESOURCE CREATE INDEXTYPE
RESOURCE CREATE OPERATOR
RESOURCE CREATE PROCEDURE
RESOURCE CREATE SEQUENCE
RESOURCE CREATE TABLE
RESOURCE CREATE TRIGGER
RESOURCE CREATE TYPE
8 rows selected.
SQL> select grantee,privilege from dba_sys_privs where grantee='CONNECT' order by privilege;
GRANTEE PRIVILEGE
-------------------------- ----------------------------------------
CONNECT CREATE SESSION
grant RECOVERY_CATALOG_OWNER to rc_admin;这个角色管理catalog库
select * from dba_roles where role like '%RECOVERY%';
ROLE PASSWORD AUTHENTICAT
------------------------------ -------- -----------
RECOVERY_CATALOG_OWNER NO NONE
3.创建密码文件
alter user sys identified by oracle;
orapwd file=orapwEMREP password=oracle entries=3 force=y dbs目录下!
4.启动监听测试是否可以连通
rman target sys/oracle@prod as sysdba
rman target sys/oracle@emrep as sysdba
rman catalog rc_admin/rc_admin@emrep
5.创建CATALOG
rman catalog rc_admin/rc_admin@emrep
Recovery Manager: Release 11.2.0.1.0 - Production on Sat May 31 22:34:23 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to recovery catalog database
RMAN> create catalog;
这个过程创建了142长表,可以登录rc_admin查看
select count(*) from tab;
COUNT(*)
----------
142
6.注册CATALOG
rman target sys/oracle@prod catalog rc_admin/rc_admin@emrep
Recovery Manager: Release 11.2.0.1.0 - Production on Sat May 31 22:39:45 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: PROD (DBID=239015079)
connected to recovery catalog database
RMAN> register database;
database registered in recovery catalog
starting full resync of recovery catalog
full resync complete
select * from rc_database;
DB_KEY DBINC_KEY DBID NAME RESETLOGS_CHANGE# RESETLOGS
---------- ---------- ---------- -------- ----------------- ---------
2 4 239015079 PROD 359851 27-MAR-14
DBID是prod库的
select file#,name from rc_datafile;
FILE# NAME
---------- -------------------------------------------------------
1 /u01/app/oracle/oradata/PROD/disk3/system01.dbf
2 /u01/app/oracle/oradata/PROD/disk4/sysaux01.dbf
3 /u01/app/oracle/oradata/PROD/disk5/undotbs01.dbf
4 /u01/app/oracle/oradata/PROD/disk3/users01.dbf
5 /u01/app/oracle/oradata/PROD/disk4/lxtb01.dbf
6 /u01/app/oracle/oradata/PROD/disk5/tool01.dbf
7 /u01/app/oracle/oradata/PROD/disk3/system02.dbf
可以查询prod库的数据文件,这些是从控制文件中读出的
desc rc_backup_set
desc rc_stored_script
----------建立脚本
rman target sys/oracle@prod catalog rc_admin/rc_admin@emrep
Recovery Manager: Release 11.2.0.1.0 - Production on Sun Jun 1 00:48:45 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: PROD (DBID=239015079)
connected to recovery catalog database
RMAN> create script recover_database{
2> allocate channel c1 type disk;
3> allocate channel c2 type disk;
4> restore database;
5> recover database;
6> }
create script recover_database{
allocate channel c1 type disk;
allocate channel c2 type disk;
restore database;
recover database;
}
starting full resync of recovery catalog
full resync complete
created script recover_database
----------查看脚本内容
RMAN> print script recover_database;
printing stored script: recover_database
{
allocate channel c1 type disk;
allocate channel c2 type disk;
restore database;
recover database;
}
----------运行脚本
RMAN> run{execute script recover_database;}
----------修改脚本
RMAN> replace script recover_database{
2> restore database;
3> recover database;
4> }
replaced script recover_database
RMAN> print script recover_database;
printing stored script: recover_database
{
restore database;
recover database;
}
----------删除脚本
RMAN> delete script recover_database;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29492784/viewspace-1216198/ ,如需转载,请注明出处,否则将追究法律责任。