成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

此類情況下oracle數據庫重啟,四種方案可解決

數據庫 Oracle
如果是少量的錯誤則不需要關心,只需要讓用戶重新做一次相關操作即可;如果是大量的連接錯誤,則需要檢查是不是設置的processes參數太小了,或者對用戶進行培訓。

[[193387]]

Objects

1.明確Oracle數據庫中可能發生的錯誤類型;

2.描述實例恢復的方法;

3.明確checkpoints,redo log files和archive log files的重要性;

4.配置快速閃回區;

5.配置歸檔模式;

Part of Your Job

DBA的職責就是要保證數據庫是可使用的而且是高效的;

1.避免數據庫發生常規錯誤:比如用戶無權限,表空間不足等等;

2.增加MTBF(Mean Time Between Failures),即兩次發生故障的時間間隔;

3.使用冗余方式保護關鍵組件,主要是硬件冗余的方式:比如使用RAC,DG等技術;

4.減少MTTR(Mean Time To Recover),即發生錯誤時的恢復時間;

5.最小化數據丟失,提交的數據保留,未提交的數據丟失:使用archive log files,flashback technology, dataguard技術;

Categories of Failure

1.語句級別錯誤:比如select,insert,update,delete錯誤;

2.用戶進程錯誤:比如一個數據庫的會話失敗了;

3.網絡錯誤:數據庫的連接丟失;

4.用戶錯誤:比如刪除了一個表,刪除了一個用戶等等;

5.實例錯誤:比如數據庫突然宕機;

6.媒體錯誤:比如因為磁盤損壞或者OS級別刪除而丟失了數據庫文件;

Statement Failure

1.試圖往表中插入非法數據:需要程序前端做驗證,或者讓用戶修改數據;

2.嘗試執行某個操作時權限不足:需要dba授權某個對象權限或者系統權限;

3.嘗試分配空間失敗:開始可重新開始的空間分配,增加用戶的磁盤配額,對表空間添加空間;

4.應用程序中的邏輯錯誤:需要開發人員去修改程序錯誤;

TIPS:這個過程大部分是因為設計錯誤,例如安全機制和配額規則;需要DBA參與進來處理錯誤,比如為用戶添加權限,分配空間,同時也要參與查看邏輯錯誤的過程;

User Process Failure

用戶突然中斷連接,異常結束或者是程序錯誤導致的會話中斷:不需要DBA去處理,實例后臺進程會回滾未提交的改變并釋放相關的鎖;

PMON后臺進程會階段性的檢查Server Processes,并檢查他們的會話是否連接;如果PMON發現某一個Server Process不再連接了,則會恢復增在進行的事務(回滾未提交事務和釋放相關的鎖);

如果是少量的錯誤則不需要關心,只需要讓用戶重新做一次相關操作即可;如果是大量的連接錯誤,則需要檢查是不是設置的processes參數太小了,或者對用戶進行培訓;

Network Failure

1.監聽失敗:配置一個備用的的監聽器進行連接超時的故障轉移;

2.NIC失敗:配置多個網卡;

3.網絡連接失敗:配置備用的網絡連接;

解決的方式就是通過做冗余來提供高可用;

User Error

1.用戶無意(inadvertently)刪除或者修改了數據:如果沒有提交的話,不需要任何處理;否則需要使用閃回或者回退表;

2.用戶誤刪除了一個表:從回收站恢復;如果使用了purge選項的話,則需要使用基于時間點的恢復(PITR, Point-in-time Recovery)來還原表;

Flashback Technology

1.查看數據之前的狀態;

2.使數據在一個時間段內反復的回放,類似于磁帶一樣可以前后倒帶(back and forth,反復的,來回的)

3.幫助用戶做錯誤分析和恢復;

4.Error Analysis:

  • Flashback Query:閃回查詢,可以查看表中過去一個時間點已提交的數據;使用AS OF子句;
  • Flashback Versions Query:閃回版本查詢,可以查看表中已提交的數據各個版本變化的過程;
  • Flashback Transaction Query:閃回事務查詢,可以查看事務級別數據庫的改變;

5.Error Recovery:

  • Flashback Transaction Backout:事務回退,可以回退指定的事務和它依賴的事務;
  • Flashback Table:刪回表,可以回退一個或者多個表的內容到之前的一個時間點,而不影響其它的數據庫對象;
  • Flashback Drop:從回收站中恢復已刪除的表;
  • Flashback Database:使整個數據庫都回退到過去的某個時間點

Instance Failure

1.典型的錯誤有斷電,硬件出錯,核心的后臺進程出錯,緊急關機等;一般不需要DBA的干預,在實例啟動時會自動進行實例恢復的過程;

2.需要實例恢復時因為數據庫實例在關閉的之前沒有把內存中的數據和數據文件進行同步;

Understanding Instance Recovery:CKPT Process

1.檢查點事件由CKPT后臺進程觸發,當檢查點發生時,CKPT進程會負責通知DBWR進程將臟數據(Dirty Buffer)寫出到數據文件中;CKPT進程的另外一個職責是負責更新數據文件頭和控制文件上的檢查點信息;

2.檢查點分為增量檢查點和全量檢查點兩種;

3.日志切換的過程中,CKPT進程也會把檢查點信息寫入到數據文件頭中;

4.檢查點存在的原因:

  • 保證內存中修改的數據塊定期寫入磁盤,以至于在系統失敗或者數據庫失敗的時候不會丟失數據;(數據有修改就寫入,影響性能)
  • 減少實例恢復的時間;(如果一直不寫入,效率高)
  • 保證關機的時候所有已提交的數據都寫入到了數據文件中

5.檢查點信息包括檢查點的位置,SCN,RBA(Recovery Block Address)和日志的信息等等

Understanding Instance Recovery:Redo Log Fiels and Log Writer

1.什么是事務;

  • ACID特性:原子性(Atomicity),一致性(Consistency),隔離性(Isolation),持續性(Durability);
  • 事務是數據庫內的邏輯單元,是有一條或者多條sql語句組成;
  • 在實例返回給用戶commit complete之前,必須把事務信息寫入到磁盤上,這樣就強制保證了數據在丟失之后可以被恢復

2.Redo log files:

  • 記錄了數據庫中的一切改變,以事務為單位;
  • 可以預防數據丟失,比如突然斷電,磁盤損壞等情況;
  • 推薦采用多路復用放在不同磁盤的方式,每隔在線日志組可以包含多個在線日志文件,它們互為鏡像;
  • LGWR進程對在線日志組中日志文件同時寫,是循環使用的存儲空間

3.LGWR進程出發的條件:

  • 事務提交時;
  • 每隔三秒鐘;
  • 在DBWn寫之前;
  • 在clean shutdown之前,即除了shutdown abort

Understanding Instance Recovery

1.數據庫的實例恢復是自動完成的;

2.主要是因為沒有正常的關閉數據庫,在數據庫啟動時檢查數據文件與控制文件中記錄的信息不一致,數據庫判斷需要做實例恢復;

3.需要做的工作是使用在線日志組的內容來同步數據文件,主要包含兩個過程:

  • 前滾:把redo log file中記錄的日志條目都重新做一邊,包括提交和未提交的;
  • 回滾:把未提交的事務都回滾掉

Phases of Instance Recovery

1.當數據庫啟動到mount狀態后,要打開數據文件,此時要檢查數據文件頭記錄的SCN和控制文件中記錄的SCN是否一致;如果一致的話就正常打開數據庫;

2.如果不一致的話,實例會按照順序應用在線重做日志中的改變,提交和未提交的事務都在這個階段被重新執行;

3.當數據文件和控制文件同步之后,會打開數據庫,用戶可以登錄并進行操作;

4.之后會讀取UNDO中數據來回滾為提交的事務;最終,只有提交的數據會保留

Tuning Instance Recovery

1.實例恢復的過程中,會從上次發生checkpoint的位置一直應用到在線日志的末尾處;

2.所以,實例恢復調優本質就是控制檢查點到日志結尾的距離(事務量);

3.為了數據庫性能,要隔一段時間才把Buffer Cache中的臟數據寫入到數據文件,因為DBWRn進程要比LGWR進程慢很多;

4.每隔3s,CKPT進程會把redo log中當前的checkpoint位置寫入到控制文件中,因此數據庫就知道在線日志組中哪些日志實體是在恢復中需要的,哪些是不需要的;

eg:控制文件的心跳就是3s一次,可以通過3s轉儲2次控制文件信息查看,也可以通過alert文件查看;

5.實例恢復的時間就是應用上次checkpoint的位置到控制文件總記錄***SCN的位置這些日志所需要的時間,DBA通過設置fast_start_mttr_target參數和設置在線日志組大小來控制這個時間(數據庫內部機制保證了,上次發生檢查點的位置到在線日志結尾的距離不能超過日志組中最小日志文件的90%)

Using the MTTR Advisor

1.指定實例恢復的期望時間,可以使用EM操作也可以在sqlplus中設置(show parameter fast_start_mttr_target);

2.默認值是0,即禁用,由系統自行決定;如果設置了fast_start_mttr_target的值,則由MTTR向導(EM->Advisor Central->MTTR Advisor)轉換這個值來設置其它參數來達到期望的時間內恢復;

3.***值是3600s;

4.tips:如果fast_start_mttr_target這個值設置太小的話,會增加I/O負載,如果太大的話,則恢復時間太長;

Media Failure

1.磁盤驅動器,磁盤控制器損壞,或者數據文件被刪除/損壞;主要是包括數據文件,控制文件或者在線日志文件損壞;

2.從備份中還原,如果必要的話把數據庫還原到一個新的位置等;

Configuring for Recoverability

為了配置數據庫的***可恢復行,必須做的幾項操作:

1.制定常規備份策略:大部分的媒體錯誤都需要從備份中恢復損壞或者丟失的文件;

2.控制文件多路復用:相當于數據庫的大腦,推薦使用至少兩份控制文件,如果所有控制文件都丟失恢復起來相當困難;

3.在線日志組多路復用:在實例恢復和媒體恢復時都需要使用到在線聯機日志,用于對提交事務的前滾操作;如果丟失在線聯機日志的話,就可能丟失數據,推薦每個日志組至少包含兩個日志文件并且放在不同的磁盤上

4.打開歸檔模式:如果一個數據文件丟失的話,從備份中恢復需要使用到備份后所有的日志文件,在線聯機日志文件是循環使用的,內容會被覆蓋,所以需要把內容拷貝到歸檔日志文件中;就是所謂的歸檔模式,雖然打開之后會對數據庫性能有一定影響,但是這個是非常有必要的;查看命令archive log list

Configuring the Fast Recovery Area

1.快速閃回區是一塊存儲空間,用來存放歸檔日志,備份,閃回日志,多路復用的控制文件和多路復用的在線日志文件;

2.強烈推薦用于備份存儲管理,應該把這個目錄與數據庫的數據文件,控制文件,主要在線日志文件的目錄放在不同的磁盤上;

3.快速閃回區的空間理論上是越大越好,但是推薦至少是數據庫文件(數據文件,在線日志文件,控制文件等)大小的兩倍;

4.快速閃回區中的內容自動被備份保留策略管理,Oracle數據庫會自動刪除那些還原不需要的文件;rman target /;show all;

5.設置快速閃回區:設置db_recovery_file_dest_size和db_recovery_file_dest參數;有順序設置

Multiplexing Control Files

1.控制文件是一個非常小的二進制文件,用來描述數據庫結構信息;在數據庫mount或者open狀態下,必須可用;如果沒有控制文件的話,數據庫不能被mount,此時可以還原控制文件或者重建重置文件;

2.如果丟失一個控制文件的話,恢復很簡單,只需要做個拷貝即可;如果全部丟失的話,恢復起來非常困難,但是也不算是個災難;

3.如果使用ASM的話,在+DATA和+FRA各放一份控制文件即可;

4.如果是文件系統的話,推薦至少兩份拷貝,而且放在不同的磁盤上,增加控制文件的步驟:

  • 修改spfile中初始化參數:ALTER SYSTEM SET control_files='/u01/app/oracle/oradata/ORCL/control01.ctl','/u01/app/oracle/fast_recovery_area/ORCL/control02.ctl','/u01/app/oracle/oradata/ORCL/control03.ctl' scope=spfile;
  • 關閉數據庫:shutdown immediate;
  • 拷貝文件:cp/u01/app/oracle/oradata/ORCL/control01.ctl/u01/app/oracle/oradata/ORCL/control03.ctl;
  • 啟動數據庫:startup;

Redo Log Files

1.每個聯機在線日志組中可以包含1個或者多個在線聯機日志文件,一組中的多個文件互為拷貝;目的是用來預防媒體錯誤或者數據丟失,但是多個數據文件會增加數據庫的I/O(事務只有當日志條目寫入到磁盤之后才能返回成功,所以必須把聯機日志文件放在快速磁盤上,而且要把不同的文件放在不同的磁盤上,因為一次只能寫一個文件,而且如果磁盤損壞的話也有備份);

2.建議每個日志組至少兩個文件,如果是文件系統的話分別放在不同的磁盤上,如果是ASM的話分別放在+DATA和+FRA即可;

3.如果丟失日志組中的一個成員的話,不會影響數據庫的操作,但是會在alert日志中寫警告;如果丟失一個日志組的話,會發生驗證的媒體錯誤,導致丟失數據;恢復的方式會在管理2中介紹;

Multiplexing the Redo Log

1.通過EM添加在線日志組和在線日志文件,EM->Server->Redo Log Groups;

2.通過sqlplus添加在線日志組合在線日志文件;

  • 查看當前日志組狀況:SELECT * FROM v$logfile;
  • 日志文件組中添加數據文件:ALTER DATABASE ADD LOGFILE MEMBER '/u01/app/oracle/oradata/ORCL/redo01A.log' TO GROUP 1;
  • 添加日志文件組:ALTER DATABASE ADD LOGFILE GROUP 4 ('/u01/app/oracle/oradata/ORCL/redo04A.log','/u01/app/oracle/oradata/ORCL/redo04B.log') SIZE 50M;

Archive Log Files

1.因為在線聯機日志組是一個循環使用的內存,為了數據庫的***可恢復性,需要在聯機日志文件組在被覆蓋之前做一個拷貝,稱之為歸檔日志;

2.配置歸檔日志需要有三個步驟:

  • 指定歸檔日志的命名規則;
  • 指定一個或者多個歸檔日志的路徑;
  • 設置數據庫到歸檔模式,之前歸檔日志路徑必須存在;

3.如果使用了快速閃回區的話,那么可以不用設置前兩步

Archiver(ARCn) Process

1.是一個可選的后臺進程,當數據庫為ARCHIVELOG模式的時候自動啟動; ps -ef | grep arc;

2.保存數據庫中所有的改變,由log_archive_max_processes參數控制進程的個數;

3.歸檔模式下,每次發生log switch時調用archive進程;非歸檔模式下沒有這個進程

Archive Log File:Naming and Destinations

1.使用EM修改:EM->Availability->Configure Recovery Settings;

2.使用sqlplus修改log_archive_format參數,推薦為%t_%s_%r.dbf;

  • %s:sequence number,日志文件的序號;
  • %t:thread,線程號;
  • %r:resetlogs id,主要是為了保證以resetlogs模式打開數據庫后歸檔日志的名字能保證唯一性,10g之后的新特性;
  • %d:database id,數據庫id,只有在多個數據庫共享歸檔日志路徑時才會使用

3.默認的,如果開啟了快速閃回區,則USE_DB_RECOVERY_FILE_DEST就指定了歸檔日志文件的路徑;如果想修改為其它路徑的話,則ALTER SYSTEM SET log_archive_dest_1='location=/path';

4.11gR2中可以最多寫入到31個不同的目錄,由log_archive_dest_n參數指定,目標路徑可以是本地的也可以是遠程的

Enabling ARCHIVELOG Mode

sqlplus / as sysdba

shutdown immediate

startup mount

alter database archivelog;

archive log list;

alter database open; 

責任編輯:龐桂玉 來源: Oracle疑點通
相關推薦

2018-01-08 19:17:21

數據庫Oracle重啟

2011-03-14 13:33:32

Oracle數據庫啟動

2021-01-13 11:42:52

分庫分表數據庫瓶頸

2010-04-19 16:08:31

Oracle數據庫

2011-03-21 12:51:16

Oracle數據庫表連接

2018-09-13 14:51:43

NoSQL數據庫大數據

2010-04-14 17:46:10

Oracle數據庫

2018-01-03 08:52:27

MySQL數據庫級別

2010-04-22 17:36:51

Oracle數據庫

2019-09-20 21:50:47

數據庫緩存

2020-02-27 09:00:00

數據庫設計工具

2022-09-20 19:37:08

MySQL

2010-01-12 12:15:25

SOA安全解決方案

2009-12-14 15:29:48

解決方案SOA安全

2017-02-28 14:28:37

數據跨庫分頁架構

2021-10-10 22:10:47

手機開機電池

2019-04-03 05:04:50

2011-08-02 17:26:38

Oracle數據庫遠程連接

2017-11-23 09:53:16

2023-05-30 08:38:25

MySQL數據庫日志
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕97| 日本精品久久 | 日韩一区二区视频 | 精品亚洲一区二区三区 | 成人不卡一区二区 | 国产区精品 | 日本手机在线 | av一级久久 | 国产成人精品久久二区二区91 | 天天操操| 欧美激情一区二区三级高清视频 | 免费日韩av | 日韩精品999 | 欧美黄色性生活视频 | 日韩国产精品一区二区三区 | 国产成人麻豆免费观看 | 亚洲毛片 | 免费观看一区二区三区毛片 | 成人精品在线视频 | 精品一区二区三区免费毛片 | 9porny九色视频自拍 | 91在线一区 | 色站综合 | 性网址| 成人在线免费av | 高清视频一区 | 中文字幕国产日韩 | 国产高清av免费观看 | 三级视频在线观看 | 欧美中文一区 | 黄色一级大片在线免费看产 | 一区二区三区四区在线 | 精品国偷自产在线 | 国产伦一区二区三区视频 | 国产精品激情 | 国产精品久久久久久久久久久久久 | 亚洲一区免费在线 | 成人午夜在线 | 成人一区二区视频 | 精品国产一区二区三区久久 | 亚洲成人一区 |