社区
Oracle 高级技术
帖子详情
求ORACLE恢复的相关资料,本人想了解一下这方面的知识
blueflame
2004-01-20 09:31:48
如题,哪位好心的大虾能提供一点这方面的线索?谢谢!
...全文
153
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
习题,你不仅能增强理论
知识
,还能提高解决实际问题的能力,为
Oracle
认证考试和职场生涯打下坚实基础。希望这些内容对你...
Oracle
官方中文培训教程
Oracle
官方中文培训教程是针对
Oracle
产品的学习材料,它涵盖了安装、配置、使用以及维护
Oracle
数据库的各个重要方面。根据提供的文件内容,我们可以提炼出以下
知识
点: 1.
Oracle
产品的版权声明和许可: -
Oracle
...
本人的
Oracle
课后作业
以下是一些关于
Oracle
数据库的重要
知识
点,这些内容可能与你的课后作业息息
相关
: 1. **SQL语言**:SQL(Structured Query Language)是用于操作数据库的语言,包括查询、插入、更新和删除数据。在
Oracle
中,SQL还...
本人整理的
Oracle
一些文档
本文将深入探讨
Oracle
的一些核心
知识
点,主要基于提供的压缩包文件"
Oracle
_Words1",涵盖实用的
Oracle
命令和语句的编写。 1. **SQL基础**:SQL(Structured Query Language)是用于管理关系数据库的标准语言。在...
2019年最新OCP053通关整理真题(711+36+60),本人3月30号考试亲测分数80%,百分百通关
标签“OCP
ORACLE
”进一步确认了这些材料与
Oracle
的 OCP 认证有关,特别是
Oracle
数据库管理的方面。
Oracle
数据库是全球广泛使用的数据库管理系统之一,对数据库管理员的需
求
持续增长,因此 OCP 认证对于提升...
Oracle 高级技术
3,499
社区成员
18,709
社区内容
发帖
与我相关
我的任务
Oracle 高级技术
Oracle 高级技术相关讨论专区
复制链接
扫一扫
分享
社区描述
Oracle 高级技术相关讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章