亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2302 | 回復: 2
打印 上一主題 下一主題

[Hive] 為什么NOARCHIVELOG模式做recover后,為什么會提示數(shù)據(jù)文件塊損壞呢? [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2013-01-29 11:30 |只看該作者 |倒序瀏覽
大家好:
    我的數(shù)據(jù)庫是noarchivlog非歸檔模式。
我在關(guān)閉數(shù)據(jù)庫后,備份了users01.dbf 數(shù)據(jù)文件。之后重新打開數(shù)據(jù)庫,建立一個表
create table scott.ddd logging as select * from scott.dept;
然后再次關(guān)閉數(shù)據(jù)庫,刪除users01.dbf數(shù)據(jù)文件,再復制之前創(chuàng)建scott.ddd表前的數(shù)據(jù)文件users01.dbf,然后恢復該數(shù)據(jù)文件,打開數(shù)據(jù)庫后,當 select * from scott.ddd; 時提示數(shù)據(jù)塊損壞。我創(chuàng)建soott.ddd表時的重做日志還存在的,沒有切換過重做日志,執(zhí)行recover datafile 4;時也沒提示錯誤,為什么打開數(shù)據(jù)庫后, 提示users01.dbf數(shù)據(jù)文件的數(shù)據(jù)塊損壞呢?
但如果是先創(chuàng)建scott.ddd表,關(guān)閉數(shù)據(jù)庫再備份users01.dbf數(shù)據(jù)文件,然后打開數(shù)據(jù)庫,在scott.ddd表中刪除和插入數(shù)據(jù),關(guān)閉數(shù)據(jù)庫,再復制創(chuàng)建表時的users01.dbf備份數(shù)據(jù)文件,這樣卻就可以恢復刪除插入的數(shù)據(jù)。
如下:
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> host cp /ora01/oracle/oradata/orcl/users01.dbf /ora01/oracle/oradata/orcl/users01.dbf.bak

SQL> startup;
ORACLE instance started.

Total System Global Area          167772160 bytes
Fixed Size                          1218292 bytes
Variable Size                      83888396 bytes
Database Buffers                   75497472 bytes
Redo Buffers                        7168000 bytes
Database mounted.
Database opened.
SQL> create table scott.ddd logging as select * from scott.dept;

Table created.

SQL> select * from scott.ddd;

            DEPTNO DNAME                                      LOC
------------------ ------------------------------------------ ---------------------------------------
                10 ACCOUNTING                                 NEW YORK
                20 RESEARCH                                   DALLAS
                30 SALES                                      CHICAGO
                40 OPERATIONS                                 BOSTON

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> host rm /ora01/oracle/oradata/orcl/users01.dbf   

SQL> startup;
ORACLE instance started.

Total System Global Area          167772160 bytes
Fixed Size                          1218292 bytes
Variable Size                      83888396 bytes
Database Buffers                   75497472 bytes
Redo Buffers                        7168000 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 4 - see DBWR trace file
ORA-01110: data file 4: '/ora01/oracle/oradata/orcl/users01.dbf'


SQL> host cp /ora01/oracle/oradata/orcl/users01.dbf.bak /ora01/oracle/oradata/orcl/users01.dbf

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 4 needs media recovery
ORA-01110: data file 4: '/ora01/oracle/oradata/orcl/users01.dbf'


SQL> recover datafile 4;
Media recovery complete.
SQL> alter database open;

Database altered.

SQL> select * from scott.ddd;
select * from scott.ddd
                    *
ERROR at line 1:
ORA-01578: ORACLE data block corrupted (file # 4, block # 38
ORA-01110: data file 4: '/ora01/oracle/oradata/orcl/users01.dbf'
ORA-26040: Data block was loaded using the NOLOGGING option
-------------------------------------------------------------------

小弟是菜鳥,想請問各位以下兩個問題:
1、為什么是這樣,如果是創(chuàng)建表前,備份數(shù)據(jù)文件,就不能恢復該表,提示數(shù)據(jù)塊損壞。
如果是創(chuàng)建表后,再備份數(shù)據(jù)文件,就能恢復該表。請問這是什么原因?是不是重做日志是不記錄創(chuàng)建表時的信息的?

2、請問如何用創(chuàng)建表前備份的數(shù)據(jù)文件,進行恢復表的數(shù)據(jù)呢?(重做日志未切換)
----
以上問題,還望各位大俠能幫解答一下,感謝。

論壇徽章:
71
15-16賽季CBA聯(lián)賽之同曦
日期:2018-08-23 15:41:42辰龍
日期:2014-08-15 09:07:43獅子座
日期:2014-06-03 13:55:33亥豬
日期:2014-06-02 11:17:08巨蟹座
日期:2014-05-06 10:02:03午馬
日期:2014-05-04 08:18:27亥豬
日期:2014-04-29 11:11:32技術(shù)圖書徽章
日期:2014-04-24 15:51:26技術(shù)圖書徽章
日期:2014-04-17 11:01:53辰龍
日期:2014-04-15 12:45:46亥豬
日期:2014-04-11 09:06:23射手座
日期:2014-04-01 15:28:10
2 [報告]
發(fā)表于 2013-01-29 11:44 |只看該作者
你用的老的datafile覆蓋蓋掉新的datafile,這樣這個數(shù)據(jù)文件的SCN和系統(tǒng)的SCN都不一致了,所以需要media恢復

論壇徽章:
0
3 [報告]
發(fā)表于 2013-01-29 14:29 |只看該作者
zhaopingzi 發(fā)表于 2013-01-29 11:44
你用的老的datafile覆蓋蓋掉新的datafile,這樣這個數(shù)據(jù)文件的SCN和系統(tǒng)的SCN都不一致了,所以需要media恢復 ...


但當時的重做日志,還沒覆蓋,執(zhí)行recover datafile 4;應該可以恢復該表啊。但為何還會提示數(shù)據(jù)塊損壞呢?是不是重做日志不會記錄創(chuàng)建表時的DDL操作記錄的?
那怎么樣才能恢復表呢?
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP