什麼是oracle的還原資料?
在oracle資料庫中,當某個程序修改資料時,該資料的原始值即為還原資料,oracle會將還原資料存放到乙個還原段中。
oracle引入還原資料的目的?
事務回滾,事務恢復,保證資料的讀一致性
還原資料的管理方法?
!自動的還原資料管理
!手動的還原資料管理
什麼是事務回滾?
當乙個使用者發了一些dml語句之後改了主意使用了rollback語句回滾了他所做的事務,此時oracle伺服器就會將還原段中的原始資料寫回到原來的資料行中
什麼是事務恢復?
如果當事務正在進行期間例項崩潰了,則當資料庫再次開啟時oracle伺服器就要還原(回滾)所有沒有提交的變化,這種還原就是事務恢復的一部分,要使恢復真正成為可能,寫到還原段上變化也要受到聯機重做日誌檔案的保護
什麼是讀一致性?
當事務在進行期間,資料庫中的其他使用者不應該看到任何這些事務所做的沒有提交的變化,另外,乙個語句不應該看到任何在該語句開始執行後所做的變化,換句話說,乙個語句在執行期間所看到的資料是禁止的
各種不同型別的oracle還原段?
!系統還原段
!非系統還原段
!延遲還原段
自動還原資料的管理?
通過還原表空間來管理還原資料,資料庫管理員為每個例項分配乙個還原表空間,該錶空間要有足夠空間以應付該例項的工作負荷,之後,oracle伺服器就將自動維護和管理還原表空間中的還原資料。
如果要oracle自動管理還原資料,資料庫管理員就必須在初始化引數檔案中配置一下兩個引數,還必須建立乙個還原表空間:
!undo_management:說明系統是使用自動(auto)還是手動(manual)模式
!undo_tablespace:說明系統使用哪個還原表空間
如何建立與維護還原表空間?
共有兩種方法來建立還原表空間
!通過在create database命令中加入乙個子句,在建立資料庫時建立還原表空間。
!在建立資料庫之後,使用create undo tablespace命令來建立還原表空間。
如何進行還原表空間之間的切換?
oracle規定在任何時刻只能將乙個還原表空間賦予資料庫,也就是說,在乙個例項中可以由多個還原表空間存在,但是只能有乙個為活動的。
可以使用alter system set undo_tablespace來進行還原表之間的切換
如何刪除還原表空間?
使用drop tablespace命令來刪除還原表空間,使用者無法刪除當前正在使用的還原表空間,只有在乙個還原表空間當前沒有被使用時才能刪除它。
也可以使用以下方法刪除乙個活動的還原表空間:
!切換到乙個新的還原表空間
!等所有當前的事務完成後刪除該還原表空間
如何使用undo_suppress_errors引數?
oracle9i引入了乙個叫undo_suppress_errors的引數,如果該引數被設為true,那麼在還原資料管理的自動模式中試圖手動操作時將不顯示錯誤資訊,由於該引數是乙個動態引數,可以使用如下命令來動態的修改。
alter session set undo_suppress_errors=true
如何使用undo_retention引數?
oracle9i引入undo_retention引數保證了讀一致性還原資料所保留的時間,單位為秒,由於該引數是動態引數,所以可以使用alter system set命令來動態的修改它。
增加undo_retention值的好處及***?
增加undo_retention的值雖然能在保證長查詢語句的讀一致性方面的改進,但是加大undo_retention的值也將會增加資料庫的磁碟空間的消耗,特別是當dml操作很頻繁時,最後最為dba,還應該在讀一致性和系統效率兩者之間進行平衡。
常用的獲取還原資料資訊的資料字典?
v$parameter,dba_tablespaces,dba_data_files,v$undostat,v$rollname,v$rollstat,v$session,v$transaction。
Mybatis培訓教程
正如大多數持久層框架一樣,mybatis 同樣提供了一級快取和二級快取的支援 一級快取 基於perpetualcache 的 hashmap本地快取,其儲存作用域為session,當session flush 或 close之後,該session中的所有 cache 就將清空。並且可自定義儲存源,如...
Python基礎教程 第8章 異常
1.自定義異常 繼承exception 1.自定義異常類 方法 從exception類繼承 class somecustomexception exception pass2.處理異常 1 捕捉異常 try except try x input enter the first number y in...
C 教程第8講委託2(學習筆記)
第8講 委託2 快樂喬巴的部落格 張三李四王五在吃東西,這時候如果馬六陳七也加入進來吃東西,我們按照上面的邏輯就必須再寫2個靜態方法。如果有10個人吃東西,那麼我們就要增加10個靜態方法。如果100個人吃東西,就要.這樣的 很明顯非常的不合理。這時候我們就可以考慮對這些方法進行一些包裝,通過觀察每個...