oracle管理(十二)db恢复
备份文件路径
/home/bak/BACKUPSET
挂载硬盘
cp文件
开始恢复数据
准备工作
su ora112
cd $ORACLE_HOME/dbs
![](https://img.haomeiwen.com/i2787821/ff2fc9efefd9b039.png)
echo $ORACLE_BASE
echo $ORACLE_HOME
echo $ORACLE_SID
echo $NLS_LANG
![](https://img.haomeiwen.com/i2787821/ee62ecf823b99c38.png)
shutdown immediate
无条件关闭
shutdown abort
执行完成后关闭
shutdown immediate
![](https://img.haomeiwen.com/i2787821/0d71aa66f9a846d6.png)
删除文件
rm initorcl.ora initorcl.ora.bak
ls
rm spfileorcl.ora spfileorcl.ora.bak
ls
建议使用 mv 重命名 rm 删除没法 找到了
cd $ORACLE_HOME/dbs
mv initorcl.ora initorcl.ora.bak
mv spfileorcl.ora spfileorcl.ora.bak
![](https://img.haomeiwen.com/i2787821/d347a66d03f4cb31.png)
开始恢复
vim $ORACLE_HOME/dbs/initorcl15.ora
compatible='11.2.0.4.0'
db_name=orcl15
db_recovery_file_dest=/home/bak
db_recovery_file_dest_size=10000000g
memory_target=10g
![](https://img.haomeiwen.com/i2787821/5ca3832892156b87.png)
![](https://img.haomeiwen.com/i2787821/98c755b9515faa61.png)
vim /home/ora112/.bash_profile
![](https://img.haomeiwen.com/i2787821/55d92718b7df3820.png)
使生效
. /home/ora112/.bash_profile
![](https://img.haomeiwen.com/i2787821/c0cfeb290492e156.png)
sqlplus
startup nomount
![](https://img.haomeiwen.com/i2787821/3ef7aea520ac0715.png)
修改组
chown ora112:oinstall -R /home/bak
![](https://img.haomeiwen.com/i2787821/498bea04ee3cea6e.png)
查看 15 的导出日志 vim log_level0_170105.log
![](https://img.haomeiwen.com/i2787821/223664c5bd9322fd.png)
cd $ORACLE_HOME/bin
rman target /
![](https://img.haomeiwen.com/i2787821/f02bd892b9d6c722.png)
rman
restore spfile to pfile "/app/oracle/product/11.2.0.1/dbs/initorcl15.ora" from "/home/bak/ORCL15/autobackup/2017_01_05/o1_mf_s_932434581_d6tdnp6z_.bkp";
![](https://img.haomeiwen.com/i2787821/7b993b52fb2c67af.png)
su ora112
vim /app/oracle/product/11.2.0.1/dbs/initorcl15.ora
删掉之前添加的
![](https://img.haomeiwen.com/i2787821/c215bd1cedfe27cc.png)
sqlplus
create spfile from pfile;
shutdown abort
startup nomount
![](https://img.haomeiwen.com/i2787821/b71ec6a13bcd8a32.png)
ora112
mkdir -p /app/oracle/oradata/orcl15
chown -R ora112:oinstall /app/oracle/oradata/orcl15
![](https://img.haomeiwen.com/i2787821/da390e731c0db9c4.png)
mkdir -p /app/oracle/admin/orcl15/adump
chown -R ora112:oinstall /app/oracle/admin/orcl15/adump
sqlplus
startup nomount;
![](https://img.haomeiwen.com/i2787821/fc1ceb348b97c1bb.png)
rman
exit
rman target /
restore controlfile from "/home/bak/ORCL15/autobackup/2017_01_05/o1_mf_s_932434581_d6tdnp6z_.bkp";
![](https://img.haomeiwen.com/i2787821/185c7f16dd93b227.png)
sqlplus
alter database mount;
![](https://img.haomeiwen.com/i2787821/2f44a491fbd1850e.png)
恢复文件位置验证
set linesize 100
set pagesize 9999
select FILE#,name from v$datafile;
![](https://img.haomeiwen.com/i2787821/a79b9fa08bf4eeea.png)
set linesize 100
set pagesize 9999
select * from v$logfile;
![](https://img.haomeiwen.com/i2787821/ebbdd71611390bb4.png)
rman
catalog start with '/home/bak';
![](https://img.haomeiwen.com/i2787821/de70cfb1a7ace6c2.png)
监测
crosscheck backup;
![](https://img.haomeiwen.com/i2787821/22622e9d345c664b.png)
sqlplus
--估算文件恢复之后占用的大小:
select sum(blocks)*8/1024/1024 from v$backup_datafile;
![](https://img.haomeiwen.com/i2787821/37b5044481fe3462.png)
set linesize 500
set pagesize 9999
col a for a400
select replace('set newname for datafile '||FILE#||' to '''||name||''';','+DATA','/home/oradata') a from v$datafile;
![](https://img.haomeiwen.com/i2787821/3d86eb14f5d175fa.png)
vim test.rman
run {
set newname for datafile 1 to '/app/oracle/oradata/orcl15/system01.dbf';
set newname for datafile 2 to '/app/oracle/oradata/orcl15/sysaux01.dbf';
set newname for datafile 3 to '/app/oracle/oradata/orcl15/undotbs01.dbf';
set newname for datafile 4 to '/app/oracle/oradata/orcl15/users01.dbf';
set newname for datafile 5 to '/app/oracle/oradata/orcl15/zhcx_data001.dbf';
set newname for datafile 6 to '/app/oracle/oradata/orcl15/zhcx_index001.dbf';
restore database;
switch datafile all;
}
![](https://img.haomeiwen.com/i2787821/b04c6ba81c4987ed.png)
rman target /
@/test.rman
![](https://img.haomeiwen.com/i2787821/0e4bce020d659427.png)
recover database;
![](https://img.haomeiwen.com/i2787821/bf17cc390af4723d.png)
alter database open resetlogs;
![](https://img.haomeiwen.com/i2787821/9549fa620777f82a.png)