oracle 常见恢复

author by :shawnloong

环境:windows 2008 r2 sp1 db:oracle 11g r2

做之前记得做个完整备份

ONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

CONFIGURE CONTROLFILE AUTOBACKUP ON;

脚本如下

run {
delete noprompt obsolete;
allocate channel cha1 type disk;
allocate channel cha2 type disk;
backup database format "c:\bak\full_%d_%T_%s"
plus archivelog
format "c:\bak\arch_%d_%T_%s"
delete all input;
release channel cha1;
release channel cha2;
}

exit

保存为 rman.txt

windows 脚本

rman target / nocatalog CMDFILE ‘e:/rman/rmanfull.txt‘ LOG ‘e:/rman/rman_backup_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%".log‘

linux 一样的用shell脚本调用

1.数据文件误删除恢复

shutdown immediate;

删除user01.dbf

启动数据库会报一个错误,实例已经启来了mount状态,但是数据库未打开

先将数据文件offline

SQL> alter database datafile 4 offline;
数据库已更改。

restore datafile 4;

recover datafile 4

最后数据库open

记得将数据文件online,不然会出现以下错误

alter database datafile 4 online

2.参数文件丢失

删除参数文件(路径C:\app\oracle\product\11.2.0\dbhome_1\dbs\)init.ora 注意做之前记得备份 操作之前还得记下dbid

SQL> select dbid from v$database;
      DBID
----------
944333900

C:\app\oracle\product\11.2.0\dbhome_1\database

记得将pfile 和spfile都删除

这里涉及到pfile spfile 顺序

spfilesid 〉 spfile 〉 initsid

启动到nomount

还原参数文件 注意这里非autobackup

数据库已经启动

如果启动不了,设置一下dbid

set dbid

3.控制文件丢失

注意控制文件一般做了冗余了。

一般都有两个文件,默认安装在同一个文件下

如果删除时候删除一个可以用另外一个重建一下

测试将这两个控制文件都删除掉

关闭数据库后删除

报错

如果路径一致记得将catalog start with

恢复的时候记得resetlog

关于密码文件解释

位置及命名方式windows 下以PWD实例名

linux orapwd实例名

如果删除密码文件本地as sysdba可以登录

但是远程无法登录,会出现以下错误

重新密码文件

oracle 常见恢复,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。