oracle臨時表經常被鎖_【趙強老師】Oracle數據庫的存儲結構

667880a062812c921169f2f29f84752f.png

9336e54df18ed68af0ad5795c77b8914.png

Oracle的存儲結構分為:物理存儲結構和邏輯存儲結構。

一、物理存儲結構:指硬盤上存在的文件

  • 數據文件(data file)

一個數據庫可以由多個數據文件組成的,數據文件是真正存放數據庫數據的。一個數據文件就是一個操作系統文件。數據庫的對象(表和索引)物理上是被存放在數據文件中的。當我們要查詢一個表的數據的時候,如果該表的數據沒有在內存中,那么oracle就要讀取該表所在的數據文件,然后把數據存放到內存中。

通過下面的語句可以查看當前存在的數據文件和對應的表空間:

select file_name,tablespace_name from dba_data_files;

84d98a4753390f4332721871e629fa9f.png
  • 聯機日志文件(online redo log file)

一個數據庫可以有多個聯機日志文件,聯機日志文件包含了重做記錄(undo records).聯機日志文件記錄了數據庫的改變,例如當一次意外導致對數據的改變沒有及時的寫到數據文件中,那么oracle就會根據聯機日志文件中 的信息獲得這些改變,然后把這些改變寫到數據文件中.這也是聯機日志文件存在的意義.聯機日志文件中重做記錄的唯一功能就是用來做實例的恢復.比如,一次系統的意外掉電,導致內存中的數據沒有被寫到數據文件中.那么oralce就會根據聯機日志文件中的重做記錄功能包數據庫恢復到失敗前的狀態.

可以通過下面的語句查看當前存在的日志文件和對應的日志組信息:

select member,group# from v$logfile;

25543639cc4c3321888dab47c5a52582.png

注意:Oracle使用日志組來管理日志文件。默認有三個日志組,每組中至少兩個成員。如上圖所示。

另外,我們已經知道了什么是數據文件和聯機日志文件,通過下面的圖解來說明他們之間的關系。

54eeaad47c05888b1e08734dbae1a5ff.png
  • 控制文件(control file)

一個數據庫至少要有一個控制文件,控制文件中存放的數據庫的"物理結構信息",正是因為他存放的是數據庫的物理結構信息,所以他就顯得尤其的重要.這些物理結構信息就包括:

  1. 數據庫的名字。
  2. 數據文件和聯機日志文件的名字及位置。
  3. 創建數據庫時的時間戳。
  4. RMAN備份的元信息

為了更好的保護數據庫,我們可以鏡像控制文件.每個控制文件中的內容就是相同的.鏡像了控制文件,即使其中的一個控制文件出現了問題,也不會影響到數據庫的損壞,數據的丟失. 在啟動數據庫的時候,oracle就會根據控制文件中的數據文件和聯機日志文件的信息來打開數據庫.

可以通過下面的語句查看當前存在的控制文件。

select name from v$controlfile;

6f662f22db50b049107f26e3a5230126.png
  • 歸檔日志文件

是聯機日志文件的副本,他記錄了對數據庫改變的歷史。注意:Oracle默認是非歸檔模式,可以通過下面的語句查看

archive log list;

b2ff650e475510535a8ec5f214fa4118.png

通過下面的語句,將數據庫切換到歸檔模式。

shutdown immediate
startup mount
alter database archivelog;
alter database open;
  • 參數文件

通常情況下指的就是初始化參數文件(initialization parameter file).參數文件包括了初始化參數文件和服務器端參數文件(server parameter file).在數據庫啟動的時候就會讀取參數文件,然后根據參數文件中的參數來分配SGA并啟動一系列的后臺進程.參數文件中存放的是數據庫和實例的參數.

Oracle的參數文件有兩種類型:

  1. Spfile:二進制形式,9i之后
  2. Pfile:文本形式,9i之前

可以通過下面的語句查看當前的參數文件信息:

show parameter spfile

c4a446ed87e21bd83bf8fb7fac73559f.png

可以使用下面的方式將spfile轉換為pfile:

create pfile='/home/oracle/pfile.ora' from spfile;

10fd71df7db2cc2bc9eec770106b6b28.png

查看pfile中的參數值:

1e47c3ac4fc8697ab5ce89323226dbdf.png

可以通過下面的語句修改參數的值。

alter system set open_cursors=400 scope=both;
注意:scope的取值有三個:memory、spfile、both
  • 告警日志文件

記錄了數據庫的重大活動和所發生的錯誤.警報文件按照時間的先后來記錄所發生的重大活動和錯誤.警報文件的名字的格式是 alert_SID.log。警報文件的位置可以通過查詢v$diag_info得到,如下:

select * from v$diag_info;

6328a849eaf954e154990adf3a84013b.png

注意:在12c以前的版本,告警日志的位置可以通過查詢參數background_dump_dest得到。

告警日志文件中記錄的信息,包括:

  1. 數據庫啟動和停止的信息
  2. 數據庫的結構變化
  3. 強制審計的信息
  4. 死鎖的信息
  • 跟蹤文件

就是跟蹤日志文件,每個服務器進程和后臺進程都寫跟蹤文件.例如當后臺進程發生了錯誤的時候,oracle就會把錯誤的信息寫到跟蹤文件中.DBA就可以根據跟蹤文件的信息來查看進程中所發生的錯誤。

跟蹤文件的位置跟告警日志文件,在同一個目錄下:

select * from v$diag_info;

6328a849eaf954e154990adf3a84013b.png
  • 備份文件

就是在數據庫發生介質損壞的時候用來還原(restore)數據庫的,恢復(recover)數據的。

二、邏輯存儲結構

從邏輯上來看,

  1. 數據庫是由一個或者多個表空間等組成。
  2. 一個表空間(tablespace)由一組段組成
  3. 一個段(segment)由一組區組成
  4. 一個區(extent)由一批數據庫塊組成
  5. 一個數據庫塊(block)對應一個或多個物理塊
  • Database(數據庫)

數據庫是按照數據結構來組織、存儲和管理數據的倉庫。

  • Tablespaces(表空間)

表空間是數據庫的邏輯劃分,一個表空間只能屬于一個數據庫。表空間(tablespace)是最大的邏輯單位,對應一個或多個數據文件,通常由相關的段組成。表空間的大小是它所對應的數據文件大小的總和。所有的數據庫對象都存放在指定的表空間中。但主要存放的對象是表, 所以稱作表空間。

必須存在的表空間

  • system
  • sysaux
  • temp
  • undo

可選的表空間:一般指用戶創建的用戶表空間,比如:users

可以通過下面的語句查看當前數據庫的表空間信息:

select tablespace_name from dba_tablespaces;

022f9e9d9bb7eae9596d00212601a600.png
  • Segments (段)

一個段是分配給一個邏輯結構(一個表、一個索引或其他對象)的一組區,是數據庫對象使用的空間的集合;段可以有表段、索引段、回滾段、臨時段和高速緩存段等。

  • extents (區)

是數據庫存儲空間分配的一個邏輯單位,它由連續數據塊所組成。第一個段是由一個或多個盤區組成。當一段中間所有空間已完全使用,oracle為該段分配一個新的范圍。

  • Data Block (數據塊)

是oralce 管理數據文件中存儲空間的單位,為數據庫使用的I/O的最小單位,最小的邏輯部件,其大小可不同于操作系統的標準I/O塊大小。數據塊的大小由DB_BLOCK_SIZE參數確定。塊尺寸是處理Oracle更新、選擇、或者插入數據事務的最小單位。當用戶從表中選擇數據時,選擇操作從數據庫文件中以塊為單位讀取或者提取數據。例如Oracle塊的大小為8kb,即使只想檢索4kb的字符的名字,也必須讀取含有這4個字符的整個8kb的塊。

通過下面的語句查看當前數據塊設置的大小:

show parameter db_block_size

9eec152af69525c8c6efc363296680b0.png

9336e54df18ed68af0ad5795c77b8914.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/532313.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/532313.shtml
英文地址,請注明出處:http://en.pswp.cn/news/532313.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

php頁面的循環輸出數組,PHP抓取頁面上的數組 并循環輸出 急

PHP抓取頁面上的數組 并循環輸出 急 在線等我用file_get_contents()抓取了 這個網址上的內容http://simonfenci.sinaapp.com/index.php?keysimon&wd1314abc看似好像反回的是數組。。但是我不管怎么用foreach循環都報錯。。我只想把數組中的word里面的值 取出來。。誰幫幫我…

h5 nan_手把手教你將H5游戲打包成快游戲

H5游戲可以通過快應用的web組件快速打包成快游戲,打包上架后的快游戲,只要原H5游戲的url不發生變動,快游戲就不需要做更新,維護工作量小。使用快應用IDE,打包快游戲的操作很簡單。訪問官網安裝開發工具,在P…

php 構造函數 返回值,php構造函數與析構函數實例分析

本節內容:php構造函數與析構函數例子:復制代碼 代碼示例:class Person{public $name;public $age;public function __construct($name,$age){$this->name $name;$this->age $age;}function __destruct(){echo $this->name."銷毀資源&…

平板電腦有什么用_除了蓋泡面,平板電腦沒什么用了

平板電腦似乎變成一個雞肋,逐漸沒有多少人買了。就算擁有,抱在懷里把玩的機會少了,躺在角落吃灰的時候多了。曾經,沒有人能拒絕平板電腦的誘惑。有了平板,你仿佛躋身上流社會。不經意間拿出時的從容,打開皮…

java程序面向對象show,20165309 實驗二 Java面向對象程序設計

2017-2018-2 20165309實驗二《Java面向對象程序設計》實驗報告一、實驗內容1. 初步掌握單元測試和TDD2. 理解并掌握面向對象三要素:封裝、繼承、多態3. 初步掌握UML建模4. 熟悉S.O.L.I.D原則5. 了解設計模式二、實驗步驟(一)單元測試1.三種代碼:偽代碼、…

php dom 丟失內容,PHP DOMDocument缺失

我在運行$dom new DOMDocument(“1.0”,“utf-8”)時遇到一個奇怪的錯誤:警告:require_once(classes / DOMDocument.class.php)[function.require-once]:無法打開流:第5行的/var/www/html/cms/bootstrap.php中沒有這樣的文件或目…

jade軟件_TEM衍射斑點標定之DM軟件

雖然透射電子顯微鏡(TEM) 能在納米尺度上實現對待測樣品形貌、 尺寸的分析; 結合選區電子衍射(SAED),可以更進一步實現對待測樣品的晶體結構、 晶相組成的鑒定,從而提高樣品分析的準確度和可靠性。可是,每個剛接觸TEM的小白&#…

dorado 7 怎么樣_一點點奶茶怎么樣?消費者眼中的網紅奶茶

最近在朋友圈, -款奶茶火速躥紅,不錯,那正是近期瘋傳的網紅奶茶一點點奶茶。一點點奶茶是-款主打臺灣正宗波霸奶茶的茶飲品牌,而這樣的奶茶在現在的市場中就表現的十分有潛力, 尤其受年輕群體的喜歡!一點點奶茶怎么樣?它的崛起是無可厚非的,它那美麗的外形,別具-格的屬性&…

Mysql 啟動失敗沒日志,MySQL Server 5.7將無法啟動,并且未填充錯誤日志

我最近在Ubuntu 14.04上安裝了MySQL Server 5.7(通過ansible使用this role是具體的).首次安裝時啟動很好,但是當我嘗試重新啟動它時,它會永遠掛起:sudo service mysql restart* Stopping MySQL Community Server 5.7.13* MySQL Community Server 5.7.13 is already …

gatewayproperties 是空_楊丞琳演唱會踩空,從二樓高臺掉到一樓,手腳擦傷,引發網友熱議...

11月6日,據臺灣媒體報道,楊丞琳今晚在臺北舉辦連續三天的演唱會,她開場在兩層樓高的高臺上唱歌,結束后意外從高臺踩空掉到一樓,從二樓高臺掉到一樓,手腳擦傷。引發網友們的熱議。當時幸好身邊有工作人員抱住…

0 179 90 150matlab,matlab成功的函數擬合方法_更新中

學習心得一維插值方案 (1)二維數據內插值(表格查找) (3)等高線 (4)三維曲面 (5)等高線2 (6)三維曲面2 (7)matlab繪制溫度場(尚未深入研究) (12)二維曲線(非線性)擬合步驟 (17)三維曲線(非線性)擬合步驟 (18)三維曲線的畫法 (19)三維曲面的畫法 (20)一維插值方案clearyear 1900…

matlab中 %s 是什么意思,ie在matlab中是什么意思

MATLAB文件操作相關命令5.2.4 輸入輸出語句 (1) 實時交互輸入輸出 input;keyboard (2) 完全復制式的文件存取 *1) save save save 文件名 x save 文件名 x y z save 文件名 x y z –ascii save 文件名 x y z –ascii –double save 文件名 x …

mysql with as 用法_英語語法丨英語中just的用法總結,你掌握了嗎?

just在英語中是一個重要的單詞,它的使用方法很多樣。今天,這篇文章可以幫你正確使用這個英語中的關鍵詞!一、just作為時間表達1.Just Recently最近just常被用來表達,某事最近發生了。在現在完成時中,just可以用來表示…

檢測php加密方式,一種php加密方式

function RandAbc($length""){//返回隨機字符串$str"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";return str_shuffle($str);}$filenamedam.php;$T_k1RandAbc();//隨機密匙1$T_k2RandAbc();//隨機密匙2$vstrfile_get_contents($filename);//要…

easyx 備忘錄_報到?上課?我被自己的備忘錄騙到了

2020年6月的某一天小莔被一股神秘力量支配打開了手機里的備忘錄突然發現了自己曾經記錄下的一則消息小莔現在看到真的是回憶滿滿從一月到現在我們經歷了許多變數看到了世間的溫暖感受到了愛與希望其中遇到的一些感動我們可能會忘記就像我們成長的過程中也會經歷很多要做許多事情…

基于matlab的ldpc編碼的構造,基于LDPC編碼的GMSK調制與解調及matlab仿真實現(含錄像)...

基于LDPC編碼的GMSK調制與解調及matlab仿真實現(含錄像)(開題報告,論文10700字,程序代碼,錄像)摘 要隨著無線通信技術的不斷發展與進步,數字電視廣播、移動視頻點播等對數據吞吐量要求很高的業務逐漸變得可能。為了在有限的帶寬內用有限的發射功率保證信息在空間傳播…

linux查看內存_嵌入式操作系統的內存,你了解多少?

關注、星標公眾號,不錯過精彩內容來源:EDN電子技術設計linux 內存是后臺開發人員,需要深入了解的計算機資源。合理的使用內存,有助于提升機器的性能和穩定性。本文主要介紹 linux 內存組織結構和頁面布局,內存碎片產生…

結構體內部申請空間_墻體的重要承重結構以及作用方向分類

內容提要:墻體是房屋的重要承重結構,墻體也是建筑物的主夏圍護結構。其造價、工程量和自重往往是建筑物所有構件中所占份額最大的,因此在建筑設計中,合理地選擇墻體的材料、結構方案、構造做法十分重要。墻體在建筑物中所處的不同…

現代php中文版,現代PHP

PrefacePart Ⅰ. Language Features1.The New PHPPastPresentFuture2.FeaturesNamespacesWhy We Use NamespacesDeclarationImport and AliasHelpful TipsCode to an InterfaceTraitsWhy We Use TraitsPrefacePart Ⅰ. Language Features1.The New PHPPastPresentFuture2.Featu…

fastcopy比正常復制快多少_高中三年,每個階段考多少分才正常?快對比一下

原標題:高中三年,每個階段考多少分才正常?快對比一下高一階段眾所周知,在高一階段并沒有文理科之分,除去英語、語文、數學,還有政、史、地、理、化、生六門課程。語數外各占150分,另外6門各占10…