社区
Oracle 高级技术
帖子详情
求ORACLE恢复的相关资料,本人想了解一下这方面的知识
blueflame
2004-01-20 09:31:48
如题,哪位好心的大虾能提供一点这方面的线索?谢谢!
...全文
133
6
打赏
收藏
求ORACLE恢复的相关资料,本人想了解一下这方面的知识
如题,哪位好心的大虾能提供一点这方面的线索?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
blueflame
2004-01-20
打赏
举报
回复
谢谢 LGQDUCKY(飘) 了
LGQDUCKY
2004-01-20
打赏
举报
回复
还有很多,到那里搜索一下!
LGQDUCKY
2004-01-20
打赏
举报
回复
这是ORACLE技术网文章,本人也用同样的方法,恢复过多次。
错误现象:
因误操作,数据库中某一数据文件被误删,
控制面板的Oracle相关服务显示已启动,但用SQL*Plus无法连接,
显示以下错误
ORA-01033: ORACLE initialization or shutdown in progress
模拟现象:
create tablespace test datafile
'c:\test.ora' size 5M
AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED
default storage (initial 128K next 1M pctincrease 0)
/
关闭所有服务stop.bat
net stop "OracleWebAssistant0"
net stop "OracleOraHome81TNSListener"
net stop "OracleServiceORADB"
shutdown
在操作系统中删除test.ora文件
重新启动服务start.bat
net start "OracleWebAssistant0"
net start "OracleOraHome81TNSListener"
net start "OracleServiceORADB"
服务里OracleServiceORADB显示已启动,但用SQL*Plus无法连接,
显示ORA-01033: ORACLE initialization or shutdown in progress
解决方法:
先让该数据文件脱机,就可以打开数据库
C:\>svrmgrl
svrmgrl>connect internal
svrmgrl>shutdown
svrmgrl>startup mount
--ARCHIVELOG模式命令,文件名要大写
svrmgrl>alter database datafile 'C:\TEST.ORA' offline;
--NOARCHIVELOG模式命令
svrmgrl>alter database datafile 'C:\TEST.ORA' offline drop;
svrmgrl>alter database open;
--查询数据文件联、脱机状态
SQL> select file#,name,status from v$datafile;
SQL> drop tablespace test;
表空间已丢弃。
LGQDUCKY
2004-01-20
打赏
举报
回复
有些时侯可能你的库处于非归档的模式下,而你的联机重做日志又currupted,你的数据文件不能完成完全的恢复。而这时当你试图打开数据库时,oracle提示你用resetlogs选项,当你使用该选项时oracle又不允许你使用该选项,总之你想打开数据库,可就是打不开。
步骤:
1、最好做一个物理的库的全备
2、使用sqlplus 启动库至mount
sqlplus /nolog
sql>connect internal
sql>startup mount
3、确保所有的数据文件都处于"END BACKUP"状态
sql>set pages 0 feedback off lines 132
sql>spool alter_df.sql
sql>SELECT 'alter database datafile '||file_name||' END BACKUP;' from v$datafile;
sql>spool off
sql>@alter_df.sql
4、试着打开数据库
sql>alter database open;
如数据库成功打开,余下的都不需要做了,到此为止
5、如果你在打开时被要求进行恢复,使用"UNTIL CANCEL"这种进行恢复,然后再发出ALTER DATABASE OPEN RESETLOGS这个命令
sql>recover database until cancel;
sql>alter database open resetlogs;
6、如果数据库仍不能打开,把库down掉
sql>shutdown immediate
7、在init<sid>.ora中加入如下参数
_allow_resetlogs_corruption=TRUE
8、执行如下语句
sql>connect internal
sql>startup mount
sql>@alter_df.sql
sql>alter database open
9、如在alter database open时仍旧报错,使用until cancel恢复
sql>recover database until cancel;
sql>alter database open resetlogs;
10、经过"9",数据库一定被打开了,数据库被打开后,马上执行一个full export
11、down掉库,去掉_all_resetlogs_corrupt参数
12、重建库
13、import并完成恢复
14、建议执行一下ANALYZE TABLE ...VALIDATE STRUCTURE CASCADE;
//===
这种办法仅仅是在没有办法的办法后使用,满足以下条件
1、没有备份
2、损坏或丢失的当前的联机日志
3、当前日志中包含未提交或回滚的事务。
注意,此方法不仅是在不归档数据库中,如果归档了,但是没有任何可用备份也是一样。
注意,当前联机日志的损坏或丢失对数据库的打击的巨大的,
数据库的一致性的保证就是联机日志,而联机日志丢了,数据库的一致性可能就没有保证
这也就是以上步骤中从10开始的原因。
如果损坏的不是当前日志,或当前日志没有同步的需要(没有未完成的事务)
可以通过
alter database clear [unarchived] logfile group n
来重建日志组
_ALLOW_RESETLOGS_CORRUPTION我也用过,不是像贴子中说的10一定能成功,如果数据库失败的时候报的是ora-368错误,这样做肯定不行,请大家注意!
LGQDUCKY
2004-01-20
打赏
举报
回复
这里给你帖出一点资料。
1。问题出现1:(数据库8I)
数据库使用过程中掉电,导致数据库进程挂起或是文件检查点不统一
而且数据库没有归档:
解决方法1:
因为数据库的连机日志是循环写的,日志文件记载了数据库的操作
:如果索引我们所以我们首先要做的工作
就是冷备份数据库所有的数据库文件(日志文件,数据文件,控制文件等)
因为用RECOVER恢复启动数据库是要从新写日志的,如果不成功还可以用备份
来用其他的方法:
你在服务器端,用SVRMGRL命令
SVRMGRL> connect internal;
SVRMGRL> SHUTDOWN IMMEDIATE;
SVRMGRL> STARTUP MOUNT;
SVRMGRL> recover database until time 'YYYY-MM-DD:hh:mm:ss';--'数据库能正常启动的近一次的时间'
如2003-12-12:12:12:12
SVRMGRL> ALTER DATABASE OPEN resetlogs;
如果日志里有足够的信息,一般情况下都能正常恢复:(因为我们只要这几个日志文件
,所以为什么不要在做太多操作,先备份,每做一次检查点都会写日志)。
希望大家继续,我们将整理成精华文章恭大家参考:。。。
LGQDUCKY
2004-01-20
打赏
举报
回复
到ORACLE中文论坛有很多好的资料!
http://211.99.196.144:8090/forum1/frontshow/index3.jsp?boardid=2&discription=Oracle%20技术
有什么问题也可以去到那里问。
ORACLE
定时任务不能自动执行的检查修复步聚
ORACLE
定时任务不能自动执行的检查修复步聚。
oracle
定时任务有时不能自动执行,据网上说可能是某个版本的BUG,一般通过这些步骤就能
恢复
了。...这是本人结合网络上的
知识
,解决实际问题时记录的。
Oracle
SQL高级编程(资深
Oracle
专家力作,OakTable团队推荐)--随书源代码
有近20年使用
Oracle
技术产品以及
Oracle
数据库管理员/
Oracle
数据库应用管理员的经验,是真正应用集群、性能调优以及数据库内部属性方面的专家。同时是一位演讲家及
Oracle
ACE。 JARED STILL 从1994年就开始使用...
oracle
表结构变化怎么
恢复
,误删
oracle
表,
恢复
表结构及数据方法
2、
oracle
是10g版本,晚上说只有该版本有回收站的概念,这个未去深究过;3、去回收表中查看下被你误删的表是否还存在?4、如果你的表空间建立的足够大,因为
oracle
的回收机制类似于内存,如果存储过小,它将不会将你...
Oracle
知识
概括
Oracle
知识
概括
某大型车企
Oracle
RAC 环境数据备份与
恢复
实践
占用资源多,就计划选择单机版
Oracle
,考虑到数据泵expdp、impdp效率较低(也尝试导入成功了,确实大量数据非常的慢,本项目400多GB的备份数据),决定使用
Oracle
rac下的rman备份数据
恢复
至单机
Oracle
。至此数据库...
Oracle 高级技术
3,491
社区成员
18,714
社区内容
发帖
与我相关
我的任务
Oracle 高级技术
Oracle 高级技术相关讨论专区
复制链接
扫一扫
分享
社区描述
Oracle 高级技术相关讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章