當前位置:首頁 » 操作系統 » 資料庫故障的分類

資料庫故障的分類

發布時間: 2023-05-28 08:12:08

資料庫簡答題 資料庫故障大致分為幾類

表是實實在在得保存數據的實體,寫入的數據都保存在表中,而視圖
是不保存數據的,也沒有數據.視圖就是一條
語句,實際上視圖從表中去數據.只是給我們的感覺好像直接從表中
取得一樣.
表可以建立各種觸發器,可以建立索引,可以建立主健,約束等.
但是視圖不能建立這些對象(視圖可以建立替代觸發器)
.
表和視圖稿讓可以更新,但是視圖的更鍵租局新受到約束.
比如,group
by
和表連接生成的視圖不能更新表是實實在在得
保存數據的實體,
寫入的數據都保存在表中,
而視圖是不保存數據的,
也沒有數據.
------------------
可以理解為視圖的數據都是從表中取出來,視圖就是你定下的一個框框而已,內容都是在表中。
e-r圖為實體-聯系圖,
提供了表示實體型、屬性和聯系的方法,用來描述現實世界的概念模型。
構成e-r圖的基本要素是實體型、屬性和聯系,其表示方法為:
·
實體型:用矩形表示,矩形框內寫明實體名;
·
屬性:用橢圓形表示,並用無向邊將其與相應的實體連接起來;多值屬性由雙線連接;主屬性名稱下加下劃線;
·
聯系:用菱形表示,菱形框內寫明聯系名,並用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯系的類型
規范化理論是資料庫邏輯設計的指南和工具,具體變現在一下三個方面:
1,在數據分析階段,用數據依賴的概念分析和表示各項數據項之間的關系。
2,在設計概念結構階段,用規范化理論消除初步er圖冗餘的聯系。
3,有er圖像數據型耐模型轉化階段,用模式分解的概念和方法指導設計。

⑵ 資料庫系統中的常見故障有哪些

新增archives 時的狀況:
條件和假設:自上次鏡像備份以來已經生成新的archive log(s); Archivelog Mode; 有同步的datafile(s) 和control file(s) 的鏡像(冷)拷貝;archive log(s) 可用。
恢復步驟:
1. 如果資料庫尚未關閉,則首先把它關閉: $ svrmgrl svrmgrl> connect internal
svrmgrl> shutdown abort
2. 將備份文件抄送回原始地點: 所有Database Files
所有Control Files(沒有archive(s) 或redo(s) 的情況下,control files 的更新無任何意義)
所有On-Line Redo Logs (Not archives) init.ora file(選項)
3. 啟動資料庫: $ svrmgrl
svrmgrl> connect internal
svrmgrl> startup
數據文件, 重作日誌和控制文件同時丟失或損壞:
條件和假設:Archivelog Mode; 有同步的所有所失文件的鏡像(冷)拷貝;archive log(s) 可用
恢復步驟(必須採用不完全恢復的手法):
1. 如果資料庫尚未關閉,則首先把它關閉: $ svrmgrl svrmgrl> connect internal
svrmgrl> shutdown abort
2. 將備份文件抄送回原始地點:
所有Database Files
所有Control Files
所有On-Line Redo Logs(Not archives)

init.ora file(選項)

3. 啟動資料庫然而並不打開:

svrmgrl>startup mount

4. 做不完全資料庫恢復,應用所有從上次鏡像(冷)備份始積累起來的archives:

svrmgrl> recover database until cancel using backup controlfile;

......

......

cancel

5. Reset the logfiles (對啟動而言不可省略):

svrmgrl> alter database open resetlogs;

6. 關閉資料庫並做一次全庫冷備份。

數據文件和控制文件同時丟失或損壞:

條件和假設:Archivelog Mode; 有同步的datafile(s) 和control file(s) 的冷拷貝;archive log(s) 可用

恢復步驟:

1. 將冷拷貝的datafiles(s) 和control file(s) 抄送回原始地點:

$ cp /backup/good_one.dbf /orig_loc/bad_one.dbf

$ cp /backup/control1.ctl /disk1/control1.ctl

2. 以mount 選項啟動資料庫:

$ svrmgrl

svrmgrl> connect internal

svrmgrl> startup mount

3. 以舊的control file 來恢復資料庫:

svrmgrl> recover database until cancel using backup controlfile;

*** 介質恢復完成

(須在應用完最後一個archive log 後cancel )

4. Reset the logfiles (對啟動而言不可省略):

svrmgrl> alter database open resetlogs;

重作日誌和控制文件同時丟失或損壞時:

條件和假設:Control Files 全部丟失或損壞;Archivelog Mode; 有Control Files 的鏡像(冷)拷貝

恢復步驟:

1. 如果資料庫尚未關閉,則首先把它關閉:

$ svrmgrl

svrmgrl> connect internal

svrmgrl> shutdown abort

svrmgrl>exit

2. 以Control File 的鏡像(冷)拷貝覆蓋損壞了的Control File:

$ cp /backup/control1.ctl /disk1/control1.ctl

3. 啟動資料庫然而並不打開:

$ svrmgrl

svrmgrl> connect internal

svrmgrl> startup mount

4. Drop 壞掉的redo log (排除硬體故障):

svrmgrl> alter database drop logfile group 2;

5. 重新創建redo log:

svrmgrl> alter database add logfile group 2 '/orig_loc/log2.dbf' size 10M;

6. 以舊的control file 來恢復資料庫:

svrmgrl> recover database until cancel using backup controlfile;

(必須馬上cancel )

7. Reset the logfiles (對啟動而言不可省略):

svrmgrl> alter database open resetlogs;

8. 關閉資料庫並做一次全庫冷備份

只發生歸檔重作日誌丟失或損壞時:

根據不同環境和情況,選擇下述手段之一:

a. 馬上backup 全部datafiles (如果系統採用一般熱備份或RMAN 熱備份)

b. 馬上正常關閉資料庫並進行冷備份(如果系統採用冷備份)

c. 冒險前進!不做備份而讓資料庫接著跑,直等到下一個備份周期再做備份。這是在賭資料庫在下一個備份周期到來之前不會有需要恢復的錯誤發生。

注意:冒險前進的選擇:如果發生錯誤而需要資料庫恢復,則最多隻能恢復到出問題archive log 之前的操作現場。從另一個角度講,archive log(s) 出現問題時,資料庫若不需要恢復則其本身並沒有任何問題。

Oracle邏輯結構故障的處理方法:

邏輯結構的故障一般指由於人為的誤操作而導致重要數據丟失的情況。在這種情況下資料庫物理結構是完整的也是一致的。對於這種情況採取對原來資料庫的全恢復是不合適的,我們一般採用三種方法來恢復用戶數據。

採用exp/imp工具來恢復用戶數據:

如果丟失的數據存在一個以前用exp命令的備份,則可以才用這種方式。

1. 在資料庫內創建一個臨時用戶:

svrmgrl>create user test_user identified by test;

svrmgrl>grant connect,resource to test_user;

2. 從以前exp命令備份的文件中把丟失數據的表按照用戶方式倒入測試用戶:

$imp system/manager file=export_file_name tables=(lost_data_table_name…) fromuser=lost_data_table_owner touser=test_user constraint=n;

3. 用相應的DML語句將丟失的數據從測試用戶恢復到原用戶。

4. 將測試用戶刪除:

svrmgrl>drop user test_user cascede;

採用logminer來恢復用戶數據:

Logminer是oracle提供的一個日誌分析工具。它可以根據數據字典對在線聯機日誌、歸檔日誌進行分析,從而可以獲得資料庫的各種DML操作的歷史記錄以及各種DML操作的回退信息。根據這些用戶就可以將由於誤操作而丟失的數據重新加入資料庫內。

1. 確認資料庫的utl_file_dir參數已經設置,如果沒有則需要把這個參數加入oracle的初始化參數文件,然後重新啟動資料庫。下面例子中假設utl_file_dir=』/opt/oracle/db01』;

2. 創建logminer所需要的數據字典信息,假設生成的數據字典文本文件為dict.ora:

svrmgrl>execute dbms_logmnr_d.build(dictionary_filename=>'dict.ora', dictionary_location=>'/opt/oracle/db01』);

3. 確定所需要分析的日誌或者歸檔日誌的范圍。這可以根據用戶誤操作的時間來確定大概的日誌范圍。假設用戶誤操作時可能的日誌文件為/opt/oracle/db02/oradata/ORCL/redo3.log和歸檔日誌』/opt/oracle/arch/orcl/orclarc_1_113.ora』。

4. 創建要分析的日誌文件列表,按日誌文件的先後順序依次加入:

svrmgrl>execute dbms_logmnr.add_logfile(logfilename=>』/opt/oracle/arch/orcl/orclarc_1_113.ora』,options=>dbms_logmnr.NEW);

svrmgrl> execute dbms_logmnr.add_logfile(logfilename=>』 /opt/oracle/db02/oradata/ORCL/redo3.log』,options=>dbms_logmnr.ADDFILE);

5. 開始日誌分析,假設需要分析的時間在』2003-06-28 12:00:00』和』2003-06-28 13:00:00』之間:

svrmgrl>execute dbms_logmnr.start_logmnr(dictfilename=>』 /opt/oracle/db01/dict.ora』,starttime=>to_date(』 2003-06-28 12:00:00』,』YYYY-MM-DD HH:MI:SS』),endtime=>to_date(to_date(『2003-06-28 13:00:00』,』YYYY-MM-DD HH:MI:SS』));

6. 獲取分析結果:

svrmgrl>select operation,sql_redo,sql_undo from v$logmnr_contents;

7. 根據分析結果修復數據。

8.結束logmnr:

svrmgrl>dbms_logmnr.end_logmnr;

9. 用適當的方法對原資料庫進行資料庫全備份。

利用備份恢復用戶數據:

採用這種方法時並不是在原資料庫進行恢復,而是利用資料庫備份在新的機器上重新建立一個新的資料庫。通過備份恢復在新機器上將資料庫恢復到用戶誤操作前,這樣就可以獲得丟失的數據將其恢復到原資料庫。

1. 在新的機器上安裝資料庫軟體。

2. 對於採用帶庫備份的現場,需要在新的資料庫伺服器上安裝調試相應的備份管軟體。

3. 根據用戶誤操作的時間點進行基於時間點的資料庫恢復操作。對於沒有採用帶庫備份的現場,可以選取用戶誤操作前最近的備份磁帶進行恢復;對於才用帶庫備份的點可以通過基於時間恢復點恢復的rman腳本來進行恢復。

4.重新打開資料庫:

svrmgrl>alter database open resetlogs;

5. 從新的資料庫中獲取丟失的用戶數據,通過DML操作將其恢復到原資料庫中。

6. 用適當的方法對原資料庫進行資料庫全備份。

⑶ 資料庫系統中故障可以分為哪幾類

可以分為三類:

1.事務故障

2.系統故障

3.介質故障

⑷ 資料庫系統的故障有哪些類型恢復系統的主要功能是什麼

可從三個方面去考慮:
1、硬體故障--主機硬體部分的損壞使資料庫無法使用或部分數據丟失。
2、網路故障--線路故障、通信協議等森磨故障使客戶無法訪問資料庫。
3、軟體故障--操作系統、資料庫系統軟體故障使資料庫無法啟動,或者運行不正常。
恢復的主要功能有兩個:恢復丟失此螞斗物盯的數據和使資料庫正常運行。

⑸ 資料庫系統可能發生的故障種類有哪些

一、事務內部的故障;
二、系統故障;
三、介質故障;
四、計算機病毒。
大致就這四個故喊絕慶障,希望鄭握對宏畝你有所幫助。

⑹ 資料庫運行中可能產生的故障有哪幾類

資料庫系統中的故障可以分以下幾類:(1)事務內部的故障;(2)系統故障;(3)介質故障;(4)計算機病毒。事務故障、系統故障和介質故障影響事務的正常執行;介質故障和計算機病毒破壞資料庫數據

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:640
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:368
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:86
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:310
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:794
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:346
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:213
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:816
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:367
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:594