12
返回列表 发新帖
楼主: oracle-plus

control file完全丟失!(怎麼救)

[复制链接]
论坛徽章:
0
11#
发表于 2005-1-5 16:25 | 只看该作者
最初由 yangtingkun 发布
[B]你用utraledit之类的工具打开你备份的控制文件,然后将二进制格式转变为文本格式。里面有所有的数据文件和log日志的位置 [/B]


我想问一下,如何用ue将二进制格式转化为文本格式啊?

使用道具 举报

回复
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
12#
发表于 2005-1-5 16:27 | 只看该作者
用旧的控制文件 startup  mount
然后 alter  database  backup  controlfile to trace ;
然后用这个 trace 文件自己稍微编辑一下
再  startup  nomount
执行这个script


这个过程是不是很简单? 是不是可能自己能想到的?

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
13#
 楼主| 发表于 2005-1-5 16:36 | 只看该作者
最初由 biti_rainy 发布
[B]用旧的控制文件 startup  mount
然后 alter  database  backup  controlfile to trace ;
然后用这个 trace 文件自己稍微编辑一下
再  startup  nomount
执行这个script


这个过程是不是很简单? 是不是可能自己能想到的? [/B]



謝謝!可以了。
之前真的沒想到。
這也開通了我的思路。

使用道具 举报

回复
论坛徽章:
226
BLOG每日发帖之星
日期:2010-02-11 01:01:06紫蛋头
日期:2013-01-12 23:45:222013年新春福章
日期:2013-02-25 14:51:24问答徽章
日期:2013-10-17 18:06:40优秀写手
日期:2013-12-18 09:29:10马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14
14#
发表于 2005-1-5 16:43 | 只看该作者
最初由 logzgh 发布
[B]

我想问一下,如何用ue将二进制格式转化为文本格式啊? [/B]


ctrl + h

还是biti牛啊。

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
15#
 楼主| 发表于 2005-1-5 16:48 | 只看该作者
呵呵,biti語氣是牛了一點   , 不過我還是佩服他的功力的.

使用道具 举报

回复
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
16#
发表于 2005-1-5 16:48 | 只看该作者
顺便说一句,不要把oracle看作一个神秘的东西,对于备份与恢复,就跟玩搭积木似的游戏似的,只要材料齐全,你想怎么拼装都可以。

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
17#
 楼主| 发表于 2005-1-5 16:52 | 只看该作者
最初由 biti_rainy 发布
[B]顺便说一句,不要把oracle看作一个神秘的东西,对于备份与恢复,就跟玩搭积木似的游戏似的,只要材料齐全,你想怎么拼装都可以。 [/B]


我最近在做備份恢復的測試,正如你所說的,當我在弄通它的原理之後,它也變得沒有以前那麼神秘了。

使用道具 举报

回复
论坛徽章:
150
蓝锆石
日期:2011-11-16 22:31:22萤石
日期:2011-11-17 13:05:31祖母绿
日期:2008-06-14 15:23:26海蓝宝石
日期:2011-11-16 22:25:15紫水晶
日期:2011-11-16 22:31:22红宝石
日期:2011-10-09 08:54:30蓝锆石
日期:2009-01-31 15:20:54萤石
日期:2008-12-22 15:22:00祖母绿
日期:2011-11-17 13:13:26海蓝宝石
日期:2008-07-05 14:52:18
18#
发表于 2005-1-5 22:01 | 只看该作者
如果对空间做过修改呢,比如说增加过表空间或者数据文件,而搂主的这个控制文件是变化之前的一个备份,用biti说的方法还可行吗?

使用道具 举报

回复
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
19#
发表于 2005-1-5 22:11 | 只看该作者
最初由 warehouse 发布
[B]如果对空间做过修改呢,比如说增加过表空间或者数据文件,而搂主的这个控制文件是变化之前的一个备份,用biti说的方法还可行吗? [/B]



如果控制文件坏了,并且控制文件是备份的  数据文件增加前的 ,那这时需要有至少一个 数据文件增加前 的时间点的  任意一个备份数据文件,以使得可以从数据文件增加前时间点开始应用 归档日志,这样就可以恢复。


从理论上来讲,这样的文件还可以创造出来:

t0时间数据库为归档运行
假定t1时间创建数据文件f1
t2时间备份控制文件c2
t3时间创建数据文件t3
t4时间控制文件损坏,数据文件没有备份,但是t0以来的所有归档日志都存在

我没有做过测试,但从理论上来讲,我相信是可以恢复的:

使用c2 mount,创建数据文件f1-1
然后重新创建控制文件包含f1-1,但没有f3
开始恢复,恢复到了t3时间点会出现恢复错误
这时创建数据文件f3-1
然后再继续恢复
则可完全恢复

我相信这是可以做到的

使用道具 举报

回复
论坛徽章:
150
蓝锆石
日期:2011-11-16 22:31:22萤石
日期:2011-11-17 13:05:31祖母绿
日期:2008-06-14 15:23:26海蓝宝石
日期:2011-11-16 22:25:15紫水晶
日期:2011-11-16 22:31:22红宝石
日期:2011-10-09 08:54:30蓝锆石
日期:2009-01-31 15:20:54萤石
日期:2008-12-22 15:22:00祖母绿
日期:2011-11-17 13:13:26海蓝宝石
日期:2008-07-05 14:52:18
20#
发表于 2005-1-5 22:46 | 只看该作者
还是biti考虑的全,针对你的说法我找机会测试一下,下面是我做的一个简单的测试

SQL> startup
ORACLE 例程已经启动。

Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

做脱机完全备份!

SQL> startup
ORACLE 例程已经启动。

Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL> create tablespace test datafile 'C:\oracle\ora92\orcl\test.dbf' size 1m;

表空间已创建。

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

删除控制文件!

SQL> startup
ORACLE 例程已经启动。

Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
ORA-00205: ?????????????????????


SQL> shutdown immediate
ORA-01507: ??????


ORACLE 例程已经关闭。

只恢复增加表空间test之前的控制文件!

SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-01122: 数据库文件 1 验证失败
ORA-01110: 数据文件 1: 'C:\ORACLE\ORA92\ORCL\SYSTEM01.DBF'
ORA-01207: 文件比控制文件更新 - 旧的控制文件


SQL> alter database backup controlfile to trace;

数据库已更改。

SQL> shutdown immediate
ORA-01109: 数据库未打开


已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup nomount
ORACLE 例程已经启动。

Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  ARCHIVELOG
  2  --  SET STANDBY TO MAXIMIZE PERFORMANCE
  3      MAXLOGFILES 5
  4      MAXLOGMEMBERS 3
  5      MAXDATAFILES 100
  6      MAXINSTANCES 1
  7      MAXLOGHISTORY 226
  8  LOGFILE
  9    GROUP 1 'C:\ORACLE\ORA92\ORCL\REDO01.LOG'  SIZE 10M,
10    GROUP 2 'C:\ORACLE\ORA92\ORCL\REDO02.LOG'  SIZE 10M,
11    GROUP 3 'C:\ORACLE\ORA92\ORCL\REDO03.LOG'  SIZE 10M
12  -- STANDBY LOGFILE
13  DATAFILE
14    'C:\ORACLE\ORA92\ORCL\SYSTEM01.DBF',
15    'C:\ORACLE\ORA92\ORCL\UNDOTBS01.DBF',
16    'C:\ORACLE\ORA92\ORCL\DRSYS01.DBF',
17    'C:\ORACLE\ORA92\ORCL\INDX01.DBF',
18    'C:\ORACLE\ORA92\ORCL\TOOLS01.DBF',
19    'C:\ORACLE\ORA92\ORCL\USERS01.DBF',
20    'C:\ORACLE\ORA92\ORCL\XDB01.DBF',
21    'C:\ORACLE\ORA92\ORCL\TESTTABSP.DBF',
22    'C:\ORACLE\ORA92\ORCL\TEST.DBF' --这一行是我增加的
23  CHARACTER SET ZHS16GBK
24  ;

控制文件已创建

SQL> alter database mount;
alter database mount
*
ERROR 位于第 1 行:
ORA-01100: ??????


SQL> alter database open;

数据库已更改。

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL>

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表