oracle恢复
oracle恢复数据库只有完整的数据文件,其他文件都丢失了包括参数文件也没了,这种情况下怎么恢复?...
oracle恢复数据库只有完整的数据文件,其他文件都丢失了包括参数文件也没了,这种情况下怎么恢复?
展开
1个回答
2017-02-09 · 知道合伙人互联网行家
关注
展开全部
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状态,但是数据库未打开
Image
先将数据文件offline
SQL> alter database datafile 4 offline;
数据库已更改。
restore datafile 4;
Image(1)
recover datafile 4
Image(2)
最后数据库open
Image(3)
记得将数据文件online,不然会出现以下错误
Image(4)
alter database datafile 4 online
Image(5)
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
Image(6)
记得将pfile 和spfile都删除
这里涉及到pfile spfile 顺序
spfilesid 〉 spfile 〉 initsid
Image(7)
启动到nomount
Image(8)
还原参数文件 注意这里非autobackup
Image(9)
Image(10)
数据库已经启动
Image(11)
如果启动不了,设置一下dbid
set dbid
3.控制文件丢失
注意控制文件一般做了冗余了。
一般都有两个文件,默认安装在同一个文件下
Image(12)
如果删除时候删除一个可以用另外一个重建一下
Image(13)
Image(14)
测试将这两个控制文件都删除掉
关闭数据库后删除
Image(15)
Image(16)
报错
Image(17)
Image(18)
Image(19)
如果路径一致记得将catalog start with
Image(20)
Image(21)
恢复的时候记得resetlog
Image(22)
关于密码文件解释
位置及命名方式windows 下以PWD实例名
linux orapwd实例名
如果删除密码文件本地as sysdba可以登录
但是远程无法登录,会出现以下错误
重新密码文件
坚持住你的坚持,成功就在拐弯处
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状态,但是数据库未打开
Image
先将数据文件offline
SQL> alter database datafile 4 offline;
数据库已更改。
restore datafile 4;
Image(1)
recover datafile 4
Image(2)
最后数据库open
Image(3)
记得将数据文件online,不然会出现以下错误
Image(4)
alter database datafile 4 online
Image(5)
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
Image(6)
记得将pfile 和spfile都删除
这里涉及到pfile spfile 顺序
spfilesid 〉 spfile 〉 initsid
Image(7)
启动到nomount
Image(8)
还原参数文件 注意这里非autobackup
Image(9)
Image(10)
数据库已经启动
Image(11)
如果启动不了,设置一下dbid
set dbid
3.控制文件丢失
注意控制文件一般做了冗余了。
一般都有两个文件,默认安装在同一个文件下
Image(12)
如果删除时候删除一个可以用另外一个重建一下
Image(13)
Image(14)
测试将这两个控制文件都删除掉
关闭数据库后删除
Image(15)
Image(16)
报错
Image(17)
Image(18)
Image(19)
如果路径一致记得将catalog start with
Image(20)
Image(21)
恢复的时候记得resetlog
Image(22)
关于密码文件解释
位置及命名方式windows 下以PWD实例名
linux orapwd实例名
如果删除密码文件本地as sysdba可以登录
但是远程无法登录,会出现以下错误
重新密码文件
坚持住你的坚持,成功就在拐弯处
今至电子科技有限公司
2024-08-23 广告
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整...
点击进入详情页
本回答由今至电子科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询