歡迎光臨陜西驪山低速風機動力制造有限公司官網(wǎng)!

全國咨詢熱線:

400-8888-888

局域網(wǎng)聯(lián)機和網(wǎng)絡(luò)聯(lián)機有什么區(qū)別_局域網(wǎng)聯(lián)機啥意思

所屬分類:客戶服務(wù)支持 發(fā)布日期:2024-09-22 瀏覽次數(shù):5

  Objects

  1.明確Oracle數(shù)據(jù)庫中可能發(fā)生局域網(wǎng)聯(lián)機和網(wǎng)絡(luò)聯(lián)機有什么區(qū)別的錯誤類型;

  2.描述實例恢復(fù)局域網(wǎng)聯(lián)機和網(wǎng)絡(luò)聯(lián)機有什么區(qū)別的方法;

  3.明確checkpoints,redo log files和archive log files局域網(wǎng)聯(lián)機和網(wǎng)絡(luò)聯(lián)機有什么區(qū)別的重要性;

  4.配置快速閃回區(qū);

  5.配置歸檔模式;

  Part of Your Job

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

  1.避免數(shù)據(jù)庫發(fā)生常規(guī)錯誤:比如用戶無權(quán)限,表空間不足等等;

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

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

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

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

  Categories of Failure

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

  2.用戶進程錯誤:比如一個數(shù)據(jù)庫的會話失敗局域網(wǎng)聯(lián)機和網(wǎng)絡(luò)聯(lián)機有什么區(qū)別了;

  3.網(wǎng)絡(luò)錯誤:數(shù)據(jù)庫的連接丟失;

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

  5.實例錯誤:比如數(shù)據(jù)庫突然宕機;

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

  Statement Failure

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

  2.嘗試執(zhí)行某個操作時權(quán)限不足:需要dba授權(quán)某個對象權(quán)限或者系統(tǒng)權(quán)限;

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

  4.應(yīng)用程序中的邏輯錯誤:需要開發(fā)人員去修改程序錯誤;

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

  User Process Failure

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

  PMON后臺進程會階段性的檢查Server Processes,并檢查局域網(wǎng)聯(lián)機和網(wǎng)絡(luò)聯(lián)機有什么區(qū)別他們的會話是否連接;如果PMON發(fā)現(xiàn)某一個Server Process不再連接了,則會恢復(fù)增在進行的事務(wù)(回滾未提交事務(wù)和釋放相關(guān)的鎖);

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

 局域網(wǎng)聯(lián)機和網(wǎng)絡(luò)聯(lián)機有什么區(qū)別_局域網(wǎng)聯(lián)機啥意思

  Network Failure

  1.監(jiān)聽失敗:配置一個備用的的監(jiān)聽器進行連接超時的故障轉(zhuǎn)移;

  2.NIC失敗:配置多個網(wǎng)卡;

  3.網(wǎng)絡(luò)連接失敗:配置備用的網(wǎng)絡(luò)連接;

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

  User Error

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

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

  Flashback Technology

  1.查看數(shù)據(jù)之前的狀態(tài);

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

  3.幫助用戶做錯誤分析和恢復(fù);

  4.Error Analysis:

  - Flashback Query:閃回查詢,可以查看表中過去一個時間點已提交的數(shù)據(jù);使用AS OF子句;

  - Flashback Versions Query:閃回版本查詢,可以查看表中已提交的數(shù)據(jù)各個版本變化的過程;

  - Flashback Transaction Query:閃回事務(wù)查詢,可以查看事務(wù)級別數(shù)據(jù)庫的改變;

  5.Error Recovery:

  - Flashback Transaction Backout:事務(wù)回退,可以回退指定的事務(wù)和它依賴的事務(wù);

  - Flashback Table:刪回表,可以回退一個或者多個表的內(nèi)容到之前的一個時間點,而不影響其它的數(shù)據(jù)庫對象;

  - Flashback Drop:從回收站中恢復(fù)已刪除的表;

  - Flashback Database:使整個數(shù)據(jù)庫都回退到過去的某個時間點

  Instance Failure

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

  2.需要實例恢復(fù)時因為數(shù)據(jù)庫實例在關(guān)閉的之前沒有把內(nèi)存中的數(shù)據(jù)和數(shù)據(jù)文件進行同步;

  Understanding Instance Recovery:CKPT Process

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

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

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

  4.檢查點存在的原因:

  - 保證內(nèi)存中修改的數(shù)據(jù)塊定期寫入磁盤,以至于在系統(tǒng)失敗或者數(shù)據(jù)庫失敗的時候不會丟失數(shù)據(jù);(數(shù)據(jù)有修改就寫入,影響性能)

  - 減少實例恢復(fù)的時間;(如果一直不寫入,效率高)

  - 保證關(guān)機的時候所有已提交的數(shù)據(jù)都寫入到了數(shù)據(jù)文件中

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

  Understanding Instance Recovery:Redo Log Fiels and Log Writer

  1.什么是事務(wù);

  ACID特性:原子性(Atomicity),一致性(Consistency),隔離性(Isolation),持續(xù)性(Durability);

  事務(wù)是數(shù)據(jù)庫內(nèi)的邏輯單元,是有一條或者多條sql語句組成;

  在實例返回給用戶commit complete之前,必須把事務(wù)信息寫入到磁盤上,這樣就強制保證了數(shù)據(jù)在丟失之后可以被恢復(fù)

  2.Redo log files:

  - 記錄了數(shù)據(jù)庫中的一切改變,以事務(wù)為單位;

  - 可以預(yù)防數(shù)據(jù)丟失,比如突然斷電,磁盤損壞等情況;

  - 推薦采用多路復(fù)用放在不同磁盤的方式,每隔在線日志組可以包含多個在線日志文件,它們互為鏡像;

  - LGWR進程對在線日志組中日志文件同時寫,是循環(huán)使用的存儲空間

  3.LGWR進程出發(fā)的條件:

  - 事務(wù)提交時;

  - 每隔三秒鐘;

  - 在DBWn寫之前;

  - 在clean shutdown之前,即除了shutdown abort

  Understanding Instance Recovery

  1.數(shù)據(jù)庫的實例恢復(fù)是自動完成的;

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

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

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

  - 回滾:把未提交的事務(wù)都回滾掉

  Phases of Instance Recovery

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

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

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

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

  Tuning Instance Recovery

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

  2.所以,實例恢復(fù)調(diào)優(yōu)本質(zhì)就是控制檢查點到日志結(jié)尾的距離(事務(wù)量);

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

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

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

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

  Using the MTTR Advisor

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

  2.默認值是0,即禁用,由系統(tǒng)自行決定;如果設(shè)置了fast_start_mttr_target的值,則由MTTR向?qū)?EM->Advisor Central->MTTR Advisor)轉(zhuǎn)換這個值來設(shè)置其它參數(shù)來達到期望的時間內(nèi)恢復(fù);

  3.最大值是3600s;

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

  Media Failure

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

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

  Configuring for Recoverability

  為了配置數(shù)據(jù)庫的最大可恢復(fù)行,必須做的幾項操作:

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

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

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

 局域網(wǎng)聯(lián)機和網(wǎng)絡(luò)聯(lián)機有什么區(qū)別_局域網(wǎng)聯(lián)機啥意思

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

  Configuring the Fast Recovery Area

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

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

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

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

  5.設(shè)置快速閃回區(qū):設(shè)置db_recovery_file_dest_size和db_recovery_file_dest參數(shù);有順序設(shè)置

  Multiplexing Control Files

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

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

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

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

  - 修改spfile中初始化參數(shù):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;

  - 關(guān)閉數(shù)據(jù)庫:shutdown immediate;

  - 拷貝文件:cp /u01/app/oracle/oradata/ORCL/control01.ctl /u01/app/oracle/oradata/ORCL/control03.ctl;

  - 啟動數(shù)據(jù)庫:startup;

  Redo Log Files

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

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

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

  Multiplexing the Redo Log

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

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

  - 查看當前日志組狀況:SELECT * FROM v$logfile;

  - 日志文件組中添加數(shù)據(jù)文件: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.因為在線聯(lián)機日志組是一個循環(huán)使用的內(nèi)存,為了數(shù)據(jù)庫的最大可恢復(fù)性,需要在聯(lián)機日志文件組在被覆蓋之前做一個拷貝,稱之為歸檔日志;

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

  - 指定歸檔日志的命名規(guī)則;

  - 指定一個或者多個歸檔日志的路徑;

  - 設(shè)置數(shù)據(jù)庫到歸檔模式,之前歸檔日志路徑必須存在;

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

  Archiver(ARCn) Process

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

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

  3.歸檔模式下,每次發(fā)生log switch時調(diào)用archive進程;非歸檔模式下沒有這個進程

  Archive Log File:Naming and Destinations

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

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

  - %s:sequence number,日志文件的序號;

  - %t:thread,線程號;

  - %r:resetlogs id,主要是為了保證以resetlogs模式打開數(shù)據(jù)庫后歸檔日志的名字能保證唯一性,10g之后的新特性;

  - %d:database id,數(shù)據(jù)庫id,只有在多個數(shù)據(jù)庫共享歸檔日志路徑時才會使用

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

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

  Enabling ARCHIVELOG Mode

  sqlplus / as sysdba

  shutdown immediate

  startup mount

  alter database archivelog;

  archive log list;

  alter database open;

評論列表

還沒有評論,快來說點什么吧~

發(fā)表評論

真誠期待與您的合作

獲取報價·了解更多業(yè)務(wù)·7*24小時專業(yè)服務(wù)

聯(lián)系我們