Oracle rman restore

本文详细描述了在Oracle环境中进行数据库安装、配置、备份、恢复(包括全备、增量备份、不完全恢复和数据文件重命名)以及RAC环境中的日志管理过程。
摘要由CSDN通过智能技术生成

##########re-link###############
export ORACLE_HOME=/opt/oracle/product/112/11203
echo $ORACLE_HOME
$ cd ${ORACLE_HOME}/oui/bin
./runInstaller -silent -clone -invPtrLoc /var/opt/oracle/oraInst.loc ORACLE_HOME=“/opt/oracle/product/112/11203” ORACLE_HOME_NAME=“oracle_db1” ORACLE_BASE=“/opt/oracle”

#############
SELECT d.owner, count(1)
FROM dba_objects d
where status = ‘INVALID’
GROUP BY d.owner;

create pfile from spfile;

####RMAN####
connect target

run
{
sql ‘alter system checkpoint’;
sql ‘alter system archive log current’;
allocate channel c1 device type disk format ‘/oracle/backup/%d_c1_full_s%s_%T_p%p’;
allocate channel c2 device type disk format ‘/oracle/backup/%d_c2_full_s%s_%T_p%p’;
allocate channel c3 device type disk format ‘/oracle/backup/%d_c3_full_s%s_%T_p%p’;

backup full
(database);

backup
format ‘/oracle/backup/%d_CTL_s%s_%T_p%p’
(current controlfile);

sql ‘alter system archive log current’;

backup archivelog
from time ‘SYSDATE-1’ until time ‘SYSDATE’;

crosscheck archivelog all;
delete expired archivelog all;
DELETE ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE-3’;

crosscheck backup;
delete expired backup;
DELETE OBSOLETE;
}
#######RMAN2###

run{
allocate channel c1 type disk;
allocate channel c2 type disk;
backup database filesperset 4 format ‘/home/oracle/oracle_bk/orcl/full_%n_%T_%t_%s_%p.bak’;
sql ‘alter system archive log current’;
backup archivelog all format ‘/home/oracle/oracle_bk/orcl/arch_%d_%T_%s_%p.bak’ delete input;
backup current controlfile format ‘/home/oracle/oracle_bk/orcl/ctl_%d_%T_%s_%p.bak’;
release channel c1;
release channel c2;
}

###############
cp $ORACLE_HOME/dbs/initorcl.ora
cp $ORACLE_HOME/dbs/orapworcl

vi initorcl.ora

startup nomount;

RMAN> restore controlfile to ‘/u01/app/oracle/oradata/orcltest/control01.ctl’ from ‘/tmp/orcl/ctl_ORCL_20xx0x0x_66_1.bak’;

cp /u01/app/oracle/oradata/orcltest/control01.ctl /u01/app/oracle/oradata/orcltest/control02.ctl

alter database mount;

RMAN> catalog start with ‘/tmp/orcl/’;

RMAN> restore archivelog;

RMAN> restore archivelog sequence between xx and xx;

select ‘set newname for datafile ’ || a.FILE# || ’ to "’ || a.NAME || ‘";’
from vKaTeX parse error: Expected 'EOF', got '#' at position 66: …ile ' || a.FILE#̲ || ' to "' || …tempfile a
union all
SELECT ‘SQL "ALTER DATABASE RENAME FILE ‘’’‘’ || a.MEMBER || ‘’‘’’ to ‘’‘’’ ||a.MEMBER || ‘’‘’’ ";’
FROM v$logfile a;

RMAN> RUN
{
ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
set newname for datafile 1 to “/u01/app/oracle/oradata/orcltest/system01.dbf”;
set newname for datafile 2 to “/u01/app/oracle/oradata/orcltest/sysaux01.dbf”;
set newname for datafile 3 to “/u01/app/oracle/oradata/orcltest/undotbs01.dbf”;
set newname for datafile 4 to “/u01/app/oracle/oradata/orcltest/users01.dbf”;
set newname for datafile 5 to “/u01/app/oracle/oradata/orcltest/example01.dbf”;
set newname for datafile 6 to “/u01/app/oracle/oradata/orcltest/goldengate01.dbf”;
set newname for tempfile 1 to “/u01/app/oracle/oradata/orcltest/temp01.dbf”;
SQL "ALTER DATABASE RENAME FILE ‘’/u01/app/oracle/oradata/orcl/redo03.log’’ to ‘’/u01/app/oracle/oradata/orcltest/redo03.log’’ ";
SQL "ALTER DATABASE RENAME FILE ‘’/u01/app/oracle/oradata/orcl/redo02.log’’ to ‘’/u01/app/oracle/oradata/orcltest/redo02.log’’ ";
SQL "ALTER DATABASE RENAME FILE ‘’/u01/app/oracle/oradata/orcl/redo01.log’’ to ‘’/u01/app/oracle/oradata/orcltest/redo01.log’’ ";

SET UNTIL sequence 14 thread 1;

RESTORE DATABASE;
SWITCH DATAFILE ALL;
RECOVER DATABASE;
}

SQL> select open_mode from v$database;

SELECT d.owner, count(1)
FROM dba_objects d
where status = ‘INVALID’
GROUP BY d.owner;

SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql

SQL> alter database open resetlogs;

########upgrade######
startup upgrade;
SQL> @$ORACLE_HOME/rdbms/admin/catupgrd.sql;

###########
RMAN> list backup;
不完全恢复:
RMAN> run{
set until sequence 4 thread 1;
restore database;
recover database;
alter database open resetlogs;
}

#########rman duplicate #########
connect target

run
{
set command id to ‘RMAN’;
allocate channel c1 device type disk format ‘/tmp/20xx0x0x/%d_c1_INCR_0_s%s_p%p’;
allocate channel c2 device type disk format ‘/tmp/20xx0x0x/%d_c2_INCR_0_s%s_p%p’;

backup
incremental level = 0
tag incr_lvl_0_20xx0x0x
filesperset=1
(database);

sql ‘alter system archive log current’;

backup
format ‘/tmp/20xx0x0x/%d_CTL_s%s_p%p’
(current controlfile);

sql ‘alter system archive log current’;

backup archivelog
from time ‘SYSDATE-1’ until time ‘SYSDATE’;
}

rman target sys/xxxxxx@orcl3 auxiliary /

rman
connect target sys/xxxxxxx@orcl5
connect auxiliary /

run{
allocate channel c1 device type disk format ‘/tmp/20xx0x0x/%d_c1_INCR_0_s%s_p%p’;
allocate channel c2 device type disk format ‘/tmp/20xx0x0x/%d_c2_INCR_0_s%s_p%p’;

allocate auxiliary channel t1 type disk;
allocate auxiliary channel t2 type disk;

set until sequence 148;

duplicate target database to orcl2;
}

exit;

#########RAC redlog#####
alter database add logfile thread 2 group 5 (‘+ENV4_xxxxx4_FLASH/xxxxx4/redo/redo_5a.log’,‘+ENV4_xxxxx4_FLASH/xxxxx4/redo/redo_5b.log’) size 512m;
alter database add logfile thread 2 group 6 (‘+ENV4_xxxxx4_FLASH/xxxxx4/redo/redo_6a.log’,‘+ENV4_xxxxx4_FLASH/xxxxx4/redo/redo_6b.log’) size 512m;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值