您的位置:首页 > 其它

自己catalog 配置 成功 + 别人的参考

2011-12-08 15:33 393 查看
Rman 在恢复数据的情况下,借助catalog 可以恢复control file ,还有spfile 等,今天特地配置了一下catalog 数据库:

1>在catalog数据库上创建一个表空间供catalog使用

create tablespace rman_ts datafile '/u02/ezhou/rman01.dbf' size 50m extent management local uniform size 126k;

2>在catalog数据库上创建用户并赋予权限

create user rman_user identified by rman_user default tablespace rman_ts quota unlimited on rman_ts;

grant recovery_catalog_owner to rman_user;

grant connect,resource to rman_user;

3:连到catalog 数据库,建tablespace:

rman catalog rman_user/rman_user

RMAN> create catalog tablespace rman_ts;

recovery catalog created

4:在catalog上配置并启动监听程序,在target数据库上配置本地命名服务.

cd /$ORACLE_HOME/network/admin

[oracle@aoracle admin]$ vi tnsnames.ora

PRD =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.190.140)(PORT = 1521))

)

(CONNECT_DATA =

(SID = EZHOU)

)

)

好,下面启动监听:lsnrctl start

再lsnrctl status,可以看到status is ready,就可以了。

5>在target数据库的机器上通过本地命名服务连接到catalog数据库

[oracle@aoracle ~]$ rman target / catalog
rman_user/rman_user@prd;

Recovery Manager: Release 10.2.0.1.0 - Production on Thu Dec 8 15:14:46 2011

Copyright (c) 1982, 2005, Oracle. All rights reserved.

connected to target database: EZHOU (DBID=4046377924)

connected to recovery catalog database

好,下面在catalog 数据库上注册target 数据库。

RMAN> register database;

database registered in recovery catalog

starting full resync of recovery catalog

full resync complete

RMAN>

到现在,catalog 的配置就算完成了。

当然下面的文章,也可以参考一下:

1.在目录数据库中创建恢复目录所需的表空间

CREATE TABLESPACE rman_ts DATAFILE '/oradata/RCAT/data/rman.dbf' SIZE 200m;

PS:删除掉该表空间 DROP TABLESPACE rman_ts INCLUDING CONTENTS;

2.在目录数据库中创建RMAN用户

CREATE USER rman IDENTIFIED BY rman DEFAULT TABLESPACE rman_ts TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON rman_ts;

PS:删除用户 DROP USER rman CASCADE;

3.给rman用户授权

GRANT recovery_catalog_owner,connect,resource TO rman;

4.新开启一个CMD

rman catalog rman/rman

或者: -C:\>rman

-RMAN>connect catalog rman/rman@idba;

-RMAN>create catalog tablespace rman_ts //创建catalog于rman_ts表空间

5.在D:\oracle\ora92\network\admin\tnsnames.ora建立

PROD =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.123.127)(PORT = 1521))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = IDBA)

)

)

6.以sys用户登陆上生产数据库上创建备份用户

-SQL>CREATE USER rman IDENTIFIED BY rman

-SQL>GRANT sysdba TO rman;

7.连接上生产数据库注册

-RMAN>CONNECT TARGET rman/rman@prod

-RMAN>REGISTER DATABASE

##################################################

####################crontab -e####################

##################################################

0 2 28 1 * /oraapp/oracle/dba/full_bkup.sh

10 0 * * 0 /oraapp/oracle/dba/lev0_bkup.sh

10 0 * * 1-2 /oraapp/oracle/dba/lev2_bkup.sh

10 0 * * 3 /oraapp/oracle/dba/lev1_bkup.sh

10 0 * * 4-6 /oraapp/oracle/dba/lev2_bkup.sh

10 3 * * 0 /oraapp/oracle/dba/ora_wk.sh

##################################################

########/oraapp/oracle/dba/DBA_rename.sql#########

##################################################

connect RMAN/RMAN@RCAT;

set echo off

set feedback off

set linesize 1000

set pagesize 0

set verify off

spool /oraapp/oracle/dba/log/rename.txt

select 'dd bs=1024 if=&1 of=/oraapp/oracle/dba/log/RLog_'||to_char(sysdate,'d')||'.txt' from dual;

spool off

host chmod 755 /oraapp/oracle/dba/log/rename.txt

host /oraapp/oracle/dba/log/rename.txt

host rm -rf /oraapp/oracle/dba/log/rename.txt

exit;

##################################################

###########/oraapp/oracle/dba/ora_os.sh###########

##################################################

#!/bin/sh

#

# copy all backup files from the db server72

#

cp /hotbkup/data/orabk/* /hotbkup/data/tmp/ >>/oraapp/oracle/dba/log/bkup.log

#

# move the daily backup to current week directory

#

cp /hotbkup/data/tmp/* /offbkup/data/cweek/ >>/oraapp/oracle/dba/log/bkup.log

#

# remove the yestoday's backup files

#

rm -rf /hotbkup/data/day/* >>/oraapp/oracle/dba/log/bkup.log

#

# copy all the backup file to day directory

#

mv /hotbkup/data/tmp/* /hotbkup/data/day/ >>/oraapp/oracle/dba/log/bkup.log

#

# delete all the db server72's backup files to free diskspace

# must delete at last for security

#

rm -rf /hotbkup/data/orabk/* >>/oraapp/oracle/dba/log/bkup.log

#

# list all the backup file

#

ls -l /hotbkup/data/orabk/ >>/oraapp/oracle/dba/log/bkup.log

ls -l /hotbkup/data/tmp/ >>/oraapp/oracle/dba/log/bkup.log

ls -l /hotbkup/data/day/ >>/oraapp/oracle/dba/log/bkup.log

ls -l /offbkup/data/cweek/ >>/oraapp/oracle/dba/log/bkup.log

#

# send email to dba

#

mail -s "BK_`date "+%Y-%m-%d"`_log" westzq@hotmail.com </oraapp/oracle/dba/log/bkup.log

##################################################

###########/oraapp/oracle/dba/ora_wk.sh###########

##################################################

#!/bin/sh

#

# remove all the last week backup files

#

rm -rf /offbkup/data/pweek/*

#

# move current week backup file to preview week folder

#

mv /offbkup/data/cweek/* /offbkup/data/pweek/

##################################################

#########/oraapp/oracle/dba/full_bkup.sh##########

##################################################

#!/bin/sh

export ORACLE_HOME=/oraapp/oracle/92

export DBA_HOME=/oraapp/oracle/dba

export ORACLE_SID=RCAT

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export NLS_DATE_FORMAT='YYYY-MM-DD_HH24:MI:SS'

$ORACLE_HOME/bin/rman cmdfile $DBA_HOME/full_bk.rcv msglog $DBA_HOME/log/bkup.log

$ORACLE_HOME/bin/sqlplus /nolog @$DBA_HOME/DBA_rename.sql $DBA_HOME/log/bkup.log

/oraapp/oracle/dba/ora_os.sh &

##################################################

#########/oraapp/oracle/dba/full_bkup.rcv#########

##################################################

connect catalog RMAN/RMAN@RCAT;

connect target RMAN/RMAN@PROD;

run {

allocate channel ch1 device type disk;

allocate channel ch2 device type disk;

backup full filesperset=2 tag='Full_%d' format='/oradata/orabk/%T_full_%d_%s_%p' database include current controlfile;

sql 'alter system archive log current';

backup filesperset=4 format='/oradata/orabk/arch_%T_%d_%s_%p' archivelog all delete input;

release channel ch1;

release channel ch2;

}

quit;

##################################################

#########/oraapp/oracle/dba/lev0_bkup.sh##########

##################################################

#!/bin/sh

export ORACLE_HOME=/oraapp/oracle/92

export DBA_HOME=/oraapp/oracle/dba

export ORACLE_SID=RCVCAT

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export NLS_DATE_FORMAT='YYYY-MM-DD_HH24:MI:SS'

$ORACLE_HOME/bin/rman cmdfile $DBA_HOME/lev0_bkup.rcv log $DBA_HOME/log/bkup.log

$ORACLE_HOME/bin/sqlplus /nolog @$DBA_HOME/DBA_rename.sql $DBA_HOME/log/bkup.log

/oraapp/oracle/dba/ora_os.sh &

##################################################

#########/oraapp/oracle/dba/lev0_bkup.rcv#########

##################################################

connect catalog RMAN/RMAN@RCAT;

connect target RMAN/RMAN@PROD;

run {

allocate channel ch1 device type disk;

allocate channel ch2 device type disk;

backup incremental level=0 filesperset=2 tag='Lev0_%d' format='/oradata/orabk/%T_lev0_%d_%s_%p' database include current controlfile;

sql 'alter system archive log current';

backup filesperset=4 format='/oradata/orabk/arch_%T_%d_%s_%p'

archivelog all delete input;

release channel ch1;

release channel ch2;

}

quit;

##################################################

#########/oraapp/oracle/dba/lev1_bkup.sh##########

##################################################

#!/bin/sh

export ORACLE_HOME=/oraapp/oracle/92

export DBA_HOME=/oraapp/oracle/dba

export ORACLE_SID=RCAT

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export NLS_DATE_FORMAT='YYYY-MM-DD_HH24:MI:SS'

$ORACLE_HOME/bin/rman cmdfile $DBA_HOME/lev1_bkup.rcv log $DBA_HOME/log/bkup.log

$ORACLE_HOME/bin/sqlplus /nolog @$DBA_HOME/DBA_rename.sql $DBA_HOME/log/bkup.log

/oraapp/oracle/dba/ora_os.sh &

##################################################

#########/oraapp/oracle/dba/lev1_bkup.rcv#########

##################################################

connect catalog RMAN/RMAN@RCAT;

connect target RMAN/RMAN@PROD;

run {

allocate channel ch1 device type disk;

allocate channel ch2 device type disk;

backup incremental

level=1

filesperset=2

tag='Lev1_%d'

format='/oradata/orabk/%T_lev1_%d_%s_%p'

database include current controlfile;

sql 'alter system archive log current';

backup filesperset=4

format='/oradata/orabk/arch_%T_%d_%s_%p'

archivelog all delete input;

release channel ch1;

release channel ch2;

}

quit;

##################################################

#########/oraapp/oracle/dba/lev2_bkup.sh##########

##################################################

#!/bin/sh

export ORACLE_HOME=/oraapp/oracle/92

export DBA_HOME=/oraapp/oracle/dba

export ORACLE_SID=RCVCAT

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export NLS_DATE_FORMAT='YYYY-MM-DD_HH24:MI:SS'

$ORACLE_HOME/bin/rman cmdfile $DBA_HOME/lev2_bkup.rcv log $DBA_HOME/log/bkup.log

$ORACLE_HOME/bin/sqlplus /nolog @$DBA_HOME/DBA_rename.sql $DBA_HOME/log/bkup.log

/oraapp/oracle/dba/ora_os.sh &

##################################################

#########/oraapp/oracle/dba/lev2_bkup.rcv#########

##################################################

connect catalog RMAN/RMAN@RCAT;

connect target RMAN/RMAN@PROD;

run {

allocate channel ch1 device type disk;

allocate channel ch2 device type disk;

backup incremental

level=2

filesperset=2

tag='Lev2_%d'

format='/oradata/orabk/%T_lev2_%d_%s_%p'

database include current controlfile;

sql 'alter system archive log current';

backup filesperset=4

format='/oradata/orabk/arch_%T_%d_%s_%p'

archivelog all delete input;

release channel ch1;

release channel ch2;

}

quit;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐