oracle系列(三)oracle的配置與管理

博主QQ819594300sql

博客地址:http://zpf666.blog.51cto.com/數據庫

有什麼疑問的朋友能夠聯繫博主,博主會幫大家解答,謝謝支持!vim

前言:咱們前面學習了安裝oracle以及建立數據庫,若是想要將客戶端與服務器鏈接起來,這就須要學習數據庫的鏈接配置。在數據庫的啓動過程當中須要打開控制文件,並利用控制文件打開數據文件、重作日誌文件,從而打開數據庫。本次文檔給你們介紹鏈接配置,此外還有日誌文件的原理及操做,以及如何使用和操做數據字典視圖。服務器

1、Oracle客戶端與服務器端的通訊機制網絡

Oracle產品安裝完成後,服務器和客戶端都須要進行網絡配置才能實現網絡鏈接,服務器端配置監聽器,客戶端配置網絡服務名oracle

1、oracle net協議tcp

Oracle經過oracle net協議實現客戶端與服務器端的鏈接及數據傳遞。Oracle net是同時駐留在服務器端和客戶端上的一個軟件層,它封裝了TCP/IP,負責創建與維護客戶端應用程序到數據庫服務器的鏈接。有協議就要有相應的端口,因此oracle NET有個默認的偵聽端口1521ide

wKiom1ko-DaxDwJgAAESYfyr50o053.jpg

客戶端發出的請求首先經過oracle net協議轉換,轉換成能夠經過網絡傳輸的信息,經過tcp/ip網絡將請求傳輸到數據庫服務器端,服務器端收到客戶端請求後經過oraclenet協議轉換,將請求轉換成數據庫能夠解釋執行的本地指令,並在服務器端執行,並將結果經過tcp/ip和oracle  net協議傳輸給客戶端顯示函數

2、客戶端與服務器端的鏈接過程工具

Oracle服務器經過一個名爲「oracle  net監聽器」的組件接收來自客戶端的鏈接請求,監聽位於服務器端的一個後臺進程。發送的客戶端鏈接請求,首先被服務器的監聽器所偵聽,並交給對應的數據庫實例,從而創建起客戶端與服務器的鏈接。鏈接創建後,客戶端與服務器端就能夠直接進行通訊,不須要監聽器參與。要實現監聽器對客戶請求的監聽,須要對監聽器進行配置。

Oracle網絡服務名是一個標識符,表明客戶端鏈接服務器的配置信息。

wKioL1ko-Dfz6EpuAAF8xXwJ2kY645.jpg

客戶端與服務器端的鏈接過程以下:

1)在服務器端有一個常駐的監聽器,監聽客戶端發出的鏈接請求。

2)用戶在客戶端使用(企業管理器或sql工具),輸入用戶名、口令及網絡服務名,或在sql命令行中輸入相似

「CONNECT username/password@net_service_name」的請求。

3)客戶端查看網絡服務配置文件tnsnames.ora文件,將網絡服務名映射爲包含oracle服務器地址、監聽端口和全局數據庫名的鏈接描述符。

4)客戶端根據鏈接描述符定位監聽器,並經過網絡鏈接信息傳遞給監聽器。

5)監聽器查詢監聽配置文件listener.ora,找出所要鏈接的服務器。

6)客戶端和服務器開始通訊。

3、配置和管理Oracle網絡配置的工具常見的有如下幾種:

wKioL1ko-DiyZLtSAAMF09hrxaU548.jpg

1)netca方式

wKiom1ko-DmxDEruAAIaLqIQqyY108.jpg

wKiom1ko-DmSDeLLAAJjScAyLcc925.jpg

wKioL1ko-DqS2txDAAJN0QJJtxY638.jpg

wKiom1ko-DuS-3EEAAJpn8nEai0454.jpg

wKioL1ko-DuiLAbkAAJ-LlQad0Q444.jpg

wKiom1ko-DzCwNZ2AAIEPy0h3Js672.jpg

wKioL1ko-D2x9Q_UAAJEWEdTqv8216.jpg

wKiom1ko-D6Sq2NXAAIg1CPwobs711.jpg

wKiom1ko-D7zYCKnAAKIOY9CP18542.jpg

查看監聽文件:

wKioL1ko-D-z4TH7AAFUutUQnyI010.jpg

開啓新的監聽器:

wKiom1ko-EDAl0J2AADc-Vj4Zco762.jpg

查看監聽器狀態:

wKioL1ko-EDBuyyBAAH3Yr_QivA088.jpg

2)netmgr方式

wKiom1ko-EDjvKvqAAIPdB1Ovfs400.jpg

3)命令方式

修改vim/opt/oracle/product/11.2/db_1/network/admin/listener.ora

增長新的偵聽器,代碼以下:

wKiom1ko-EHR5IrpAABnady-4wo145.jpg

wKioL1ko-EHyb3I-AAI2jyB7s9I747.jpg

wKioL1ko-EKhQrZNAALhnDlpYkg837.jpg

開啓新的監聽器:

wKiom1ko-ESS0GeLAAKm0t_7TfA097.jpg

wKiom1ko-Eag_vBuAAPoAHNuU6A356.jpg

解決方法:監聽啓動和數據庫實例啓動的順序

根據前面的知識,啓動完數據庫實例後,啓動監聽,在鏈接數據庫時,只有這兩者兼備,oracle才能向外提供服務。

監聽和實例啓動順序的前後會對兩者之間的工做協調產生影響,具體以下:

先啓動監聽,後啓動實例:此時遠程客戶端鏈接實例是正常的,不會有問題,由於監聽先啓動,在啓動實例時後臺進程PMON會向監聽註冊服務器,當用戶請求服務時,二者的協調工做已準備就緒。

先啓動實例,後啓動監聽:若是監聽剛啓動,用戶立刻鏈接實例,可能會報「監聽程序當前沒法識別鏈接描述符中請求的服務」的錯誤,緣由在於PMON還沒來得及向監聽註冊實例服務。可是這個問題只會存在很短的一段時間,再鏈接就不會有問題了,爲何等一會就行了呢?由於PMON每隔一段時間都會看有無服務須要向監聽註冊,此時若監聽已啓動,PMON就能註冊成功,兩者的協調工做就準備就緒了。

有沒有辦法解決很短的一段時間內的這個問題呢?答案是必定的。就是以靜態註冊的方式,即將實例的服務描述添加到listener.ora,這樣只要啓動監聽,對應的服務在監聽中就註冊了。這時只要實例正常啓動完成,就能夠對外提供服務器了。在Listener.ora代碼中添加以下代碼便可

wKioL1ko-EbheZ1AAACDY5USUmQ793.jpg

wKiom1ko-EbBFXWQAABo2C2X_Gg578.jpg

wKioL1ko-EeSrDFpAAKJTa2qxUM958.jpg

wKioL1ko-EejM91KAAFRD5YW6dA350.jpg

4、客戶端的鏈接

1)安裝wKiom1ko-Eiz8tl9AAAvnDdOoYY245.jpg

安裝時一路下一步便可,安裝完成時候會在c:盤下生成oracle文件夾。

wKiom1ko-EiBfUqLAAFOeNvDlnk158.jpg

2)找到

c:\oracle\product\11.2.0\client_lite\network\admin\tnsnames.ora文件,並修改,修改結果以下:

wKioL1ko-EnyTVGCAAMOzPYsDIo787.jpg

3)注意:須要在hosts文件裏面添加解析

wKioL1ko-Eqwpy92AAGJ-GvNBtE313.jpg

wKiom1ko-EuBYDw1AAComdWSwAA309.jpg

若是遇到一下錯誤狀況:

wKiom1ko-EvB2I3RAAC4IW8pkdQ355.jpg

解決辦法是:

wKioL1ko-Ezz40EoAAMzOzrwy9w363.jpg

4)在win7客戶端上打開命名行,執行命令鏈接

wKiom1ko-JXS8pYgAAF5UkPfOFY486.jpg

wKioL1ko-J2iZlhWAAJQ3KsuuOE302.jpg

已經遠程鏈接到oracle服務器

2、管理控制文件

控制文件是很是重要的文件,主要掌握如下內容:

瞭解控制文件在數據庫啓動的做用

得到控制文件信息

查看控制文件中所存內容的信息

存儲多重控制文件

備份和恢復控制文件

 

1、控制文件在數據庫啓動的做用

對於dna來說,oracle數據庫控制文件是很是重要的文件,他是數據庫建立的時候自動生成的二進制文件,其中記錄了數據庫的狀態信息。其它任何用戶都沒法修改控制文件,只有數據庫運行過程當中,數據庫實例能夠修改控制文件中的信息。控制文件主要包括如下內容:

數據庫名稱,一個控制文件只能屬於一個數據庫。

數據庫建立時間。

數據文件的名稱、位置、聯機、脫機狀態信息。

重作日誌文件的名稱、位置及歸檔信息。

全部表空間信息。

當前日誌序列號。

最近檢查點信息。

 

控制文件在數據庫啓動的mount階段被讀取,數據庫啓動與控制文件的關係以下圖:

wKiom1ko-KGCcSRKAAEpVDLJXsA552.jpg

在數據庫啓動時首先使用默認規則找到並打開參數文件,在參數文件中含有控制文件的位置信息,打開控制文件後,會經過控制文件中記錄的各類數據庫文件的位置打開數據庫,從而啓動數據庫到可用位置,因此在數據庫啓動後,在數據庫的運行過程當中,數據庫服務器可不斷地修改控制文件中的內容,因此在數據庫被打開的階段,控制文件必須是可讀寫的,可是其餘任何用戶都沒法修改控制文件,只有數據庫實例能夠修改控制文件中的信息。

2、得到控制文件信息

1)能夠從V$CONTROLFILE視圖中查看控制文件信息,包括控制文件名稱。

wKiom1ko-KSRU3BgAAFZmFVPpEU920.jpg

2)還能夠從V$PARAMETER視圖中查看

wKioL1ko-KbRdiTRAADrOiIgZxA464.jpg

3、查看控制文件中所存內容的信息

wKiom1ko-KuDPiGOAAGZJRjVbOI520.jpg

從截圖當中可能夠看到控制文件中存放了建立數據庫的信息、重作日誌信息、數據文件及歸檔日誌文件記錄等信息。這些有價值的信息用於數據維護和管理,不少數據字典視圖是從控制文件中得到的信息。

4、存儲多重控制文件

因爲控制文件很是重要,因此要求控制文件不能只有一個,一般數據庫中控制文件要多於3個,而且存放在不一樣的磁盤上,這種使用控制文件的方法也稱爲控制文件的多路複用。實現多重的一個方法就是經過複製控制文件到多個位置並修改初始化參數文件中的CONTROL_FILES參數,使之包含全部控制文件名稱。須要注意,當存在多個控制文件時,oracle會同時更新全部的控制文件,可是僅對CONTROL_FILES中所列舉的第一個控制文件進行讀取操做。

舉例說明實現多路複用控制文件的方法:

1)數據庫狀態爲打開狀態,修改SPFILE中的CONTROL_FILES參數。

wKioL1ko-K2QOc1FAACgknI8SbU659.jpg

2)關閉數據庫

wKioL1ko-K7CkNGtAABXBhsOHdI155.jpg

3)使用操做系統命令將文件複製到新的位置

wKiom1ko-LLTPJY8AAE6Fo96yiI135.jpg

5、備份和恢復控制文件

1、備份控制文件

有兩種方式備份:一種是備份爲二進制文件,另外一種是備份爲腳本文件,經常使用的備份爲二進制文件的方法(備份二進制文件即對控制文件進行復制)

wKiom1ko-LfRAXVKAAHw8WyXI1g261.jpg

6、備份和恢復控制文件

1、備份控制文件

有兩種方式備份:一種是備份爲二進制文件,另外一種是備份爲腳本文件,經常使用的備份爲二進制文件的方法(備份二進制文件即對控制文件進行復制)

wKioL1ko-LjhPlTdAABouDrTXsE485.jpg

wKiom1ko-LvCnKReAADcg6z9Znc118.jpg

2、恢復控制文件(爲了實驗更有說服性,先關閉oracle數據庫)

wKioL1ko-L2xyZmaAADBcItAFEQ633.jpg

1)刪除控制文件control01.ctl(模擬損壞)

wKiom1ko-L-iJoDFAAB3Oiad-2c248.jpg

2)啓動數據庫(報錯)

wKioL1ko-MKBRU_AAAD-cYbijb8749.jpg

3)執行命令恢復

wKioL1ko-MTAQmBpAAC3FVtcaJQ841.jpg

4)執行完上面的恢復命令,oracle數據庫自動啓動,此時的控制文件是control03.ctl,control01.ctl沒有恢復回來,咱們能夠手動拷貝一份control03.ctl,手動改爲名字叫control01.ctl便可。

wKiom1ko-MajvyjRAABrXGypz_U176.jpg

或者:(如下是最簡單的作法

若是control01.ctl丟失,能夠直接使用control03.ctl將control01.ctl替換,或者複製一份更名爲control01.ctl便可。

3、管理重作日誌文件

重作日誌文件也稱聯機重作日誌,目的是恢復數據。

在數據庫運行過程當中,用戶更改的數據會暫時存放在數據庫的高速緩衝區中。爲了提升寫數據庫的速度,並非一旦有數據變化,就把變化的數據寫到數據庫文件中。頻繁的讀寫磁盤會使數據庫系統效率下降,因此,要等到數據庫高速緩衝區中的數據達到必定的量或知足必定條件時,DBWR進程纔會將變化了的數據寫到數據文件中。這種狀況下,若是DBWR把變化了的更改寫到數據文件以前發生了宕機,那麼數據庫高速緩衝區中的數據就會所有丟失。若是在數據庫服務器重啓動後沒法恢復這部分用戶更改的數據,顯然是不能夠的。

重作日誌就是把變化了的數據首先保存起來,其中LGWR進程負責把用戶更改的數據先寫到重作日誌文件中,這樣數據庫從新啓動時,數據庫系統從重作日誌文件中讀取這些變化了的數據,將用戶更改的數據提交到數據庫中,寫入數據文件。

爲了提升磁盤效率和防止重作日誌文件損壞,oracle引入了一種重作日誌文件結構,如圖:

wKioL1ko-MzyPjdBAAHj6s_Ze80695.jpg

上圖能夠看出有3個重作日誌組,每組包含兩個重作日誌成員。當第一個日誌組寫滿以後,就會中止寫入,而轉向第二個日誌組,第二個寫滿後,轉向第三個日之組,第三個寫滿就向第一個日誌組寫入,oracle以這種循環方式使用重作日誌組

Oracle規定每一個數據庫至少有兩個日誌組,每組至少包含一個或者多個日誌成員。

使用新的重作日誌以前,DBWR進程須要將全部的數據更改寫到數據文件中。若是數據庫處於歸檔模式下,當發生日之組切換時,歸檔進程ARCH會把當前已滿的重作日誌文件中的數據複製到歸檔日誌中

1、讀取重作日誌文件信息

數據字典視圖V$LOG記錄了當前數據庫的日誌組號、日誌序列號,每一個日誌文件的大小,每一個日誌組的成員數量,是否存檔以及日誌組的當前狀態。

1使用V$LOG查看重作日誌文件的信息

wKiom1ko-NHTlec7AAL4GghXQNc442.jpg

2)數據字典視圖V$LOGFILE記錄了當前日誌組號,該日誌組的狀態、類型和日誌組成員信息。

使用V$LOGFILE查看重作日誌組信息

wKiom1ko-Njzqsh_AAIH4pfnSFQ003.jpg

3建立重作日誌組

增長重作日誌成員,並把每一個日誌組的重作日誌成員分佈在不一樣的磁盤上,提升磁盤效率和防止重作日誌文件的損壞。

wKioL1ko-NyyZo9nAAFAJ0RLg2o707.jpg

語法:

ALTER DATABASE [database_name]

  ADD LOGFILE[GROUP group_number]

  Filename[SIZE size_integer [K\M]] [REUSE]

解釋:database_name:數據庫實例名

group_number:日誌組編號

Filename:日誌文件路徑及名稱

wKiom1ko-OPQjwCUAAKq_TadO7A881.jpg

4刪除重作日誌組

刪除文件組的限制條件如下:

當前日誌組不可刪除

要刪除當前日誌組須要先對當前日誌組進行切換

使用命令爲alter system switch logfile;

活動的日誌組不可刪除

沒有歸檔的日誌組不可刪除(前提是已運行在歸檔模式下)

wKioL1ko-OaBC0OYAADeLbiKS0s158.jpg

5)添加/刪除重作日誌文件

wKiom1ko-OnQtCOPAAEYQ6p1YvU331.jpg

wKioL1ko-O7wHHWmAAF849W1pqw994.jpg

wKiom1ko-PWxd1p-AAJ5p4QL6X0444.jpg

上圖中發現新添加的redo33.log是無效狀態,是由於三個日誌組的日誌成員尚未寫滿,因此redo33.log是無效狀態,只要作兩次強制日誌切換就能夠發現是ONLINE狀態了,方法以下:

wKioL1ko-PzD3X-AAAJ9K4p1XME729.jpg

發現redo033.log已經在線

刪除重作日誌文件redo033.log

wKiom1ko-P-zNP9SAADPS055VM4733.jpg

若是刪除不了,估計是組3是當前被使用的狀態(即組3是currrnt狀態),須要執行altersystem switch logfile後再刪便可!

6)日誌切換和檢查點事件

日誌切換就是中止當前日誌組,轉而寫另一個新的日誌組,系統能夠自動切換,也能夠手工切換,當發生日誌切換時,系統會在後臺完成檢查點的操做,以減小實例的恢復時間

  檢查點是一個事件,用於減小實例恢復的時間,當檢查點發生時,它會觸發DBWR進程,把數據高速緩衝中變化了的數據寫入數據文件,同時檢查點進程更新控制文件和數據文件頭部,以使它們保持一致。檢查點實際上是一個後臺進程,用來保證全部修改過的數據庫緩衝區的東西都寫入數據庫文件

檢查點時間越頻繁,則一旦數據庫發生故障,須要數據庫恢復的重用日誌中的數據就越少(由於在恢復時,就沒必要檢查恢復檢查點以前的重用日誌中的數據),因此就減小實例恢復的時間。

啓動時間

每隔三秒(或更加頻繁)

發生日誌切換

當即選項關閉例程時

手動請求

負責如下事項

使用檢查點信息更新數據文件標題

使用檢查點信息更新控制文件

在完成檢查點向DBWn發出信號

wKioL1ko-QWjwG8wAAG-dxIa-gw391.jpg

強制日誌切換命令以下:

wKioL1ko-QbRKSuHAACWNV_zzeI143.jpg

強制產生檢查點事件(手動)命令以下:

wKiom1ko-QiD_jKzAACVghIvZHo538.jpg

4、管理歸檔日誌文件

1、歸檔日誌介紹

Oracle數據庫有兩種運行方式,歸檔(ARCHIVELOG)方式和非歸檔(NO ARCHIVELOG)方式。在非歸檔方式下,日誌切換時直接覆蓋之前的重作日誌文件,不產生歸檔日誌。數據庫在歸檔方式下運行,在日誌切換後,ARCH進程會對本身寫滿的重作日誌文件進行存檔默認狀況下,oracle採用非歸檔的運行方式,主要由於歸檔方式會給系統帶來必定的性能問題,只有當數據庫運行在歸檔方式時,ARCH進程才存在,ARCH進程是oracle的可選後臺進程,將日誌存檔,以便保存對數據庫作的全部修改,這樣,及時在數據文件磁盤損壞的狀況下,數據庫管理員也能將對數據庫恢復至故障發生時的狀態。

1)歸檔進程

是可選的後臺進程

爲數據庫設置ARCHIVELOG(歸檔)模式時會自動歸檔聯機重作日誌文件

 保留對數據庫全部更改的記錄

2)歸檔日誌文件

數據庫在容許覆蓋重作日誌信息以前生成聯機重作日誌組的副本。

   這些副本又稱爲「歸檔日誌」

wKiom1ko-RDTnQGPAAJhcLBL-uY405.jpg

2配置數據庫歸檔日誌步驟

查詢數據庫歸檔方式,肯定當前不處於歸檔方式

關閉數據庫並啓動數據庫到MOUNT狀態

將數據庫設置位歸檔模式,並驗證

wKioL1ko-TaxNMJ0AAK6W57W-cY927.jpg

wKiom1ko-T2TDCKYAAISFvDjeac887.jpg

使用alter  database archivelog命令將數據庫設置爲歸檔模式

3、獲取歸檔日誌信息

數據字典視圖可幫助用戶獲取數據庫配置信息。

用戶經過使用V$ARCHIVE_DEST和V$ARCHIVE_LOG視圖獲取歸檔日誌信息。

V$ARCHIVE_DEST:顯示當前全部歸檔日誌存儲位置及其狀態。

V$ARCHIVE_LOG:顯示歷史歸檔日誌信息(即已歸檔的日誌文件的信息)

如何查看全部有效的歸檔日誌文件存儲目錄

wKioL1ko-UKRSy0YAAGlX2oh01M887.jpg

說明:獲取已歸檔的日誌文件的信息,歸檔進程會在每第二天志切換後將聯機重作日誌文件複製到一個歸檔日誌文件,從而生成一串連續的且能用於恢復一個備份的日誌文件。這些日誌文件的名稱和位置由若干初始化參數控制。

wKiom1ko-UvBGhRTAAKkckEXUCA779.jpg

5、數據字典

1數據字典定義

數據字典是oracle存儲關鍵信息的表和視圖的集合。是數據庫的說明,包含數據庫中全部對象的名稱和屬性。Oracle進程會在SYS模式中維護這些表和視圖,也就是說數據字典的全部者爲SYS用戶,數據存放在SYSTEM表空間中

數據字典描述了實際數據是如何組織的,如一個表的建立者信息,建立時間信息,所屬表空間信息,用戶訪問權限信息等。對他們能夠像處理其餘數據庫表或視圖同樣進行查詢,但不能進行任何修改。

Oracle數據字典一般是在建立和安裝數據時被建立的。

Oracle數據字典是oracle數據庫系統工做的基礎。

沒有數據字典的支持,oracle數據庫系統就不能進行任何工做。

 

2數據字典的構成

數據字典分爲數據字典表和數據字典視圖。數據字典中的表不能夠直接被訪問,可是能夠訪問數據字典中的視圖。數據字典視圖分爲兩類:靜態數據字典視圖和動態數據字典視圖

wKioL1ko-VCDONFzAAF3SX1ZN_g316.jpg

1數據字典表

數據字典表中的數據是oracle系統存放的系統數據,而普通表存放的是用戶的數據。爲了方便的區別這些表,這些表的名稱都是用$結尾,這些表屬於SYS用戶

爲了方便對數據字典表的查詢,oracle對這些數據字典都分別創建了用戶視圖,這樣既容易記住,還隱藏了數據字典表之間的關係。

 

2靜態數據字典視圖

靜態數據字典中的視圖分爲3類,他們分別由3個前綴構成:USER_*、ALL_*、DBA_*。

USER_*:該視圖存儲了當前用戶所擁有的對象的信息(既全部在該用戶模式下的對象)。

ALL_*:該視圖存儲了當前用戶可以訪問的對象的信息,(與USER_*相比,ALL_*並不須要擁有該對象,只須要具備訪問該對象的權限便可)。

DBA_*:該視圖存儲了數據庫中全部對象的信息,(前提是當前用戶具備訪問權限,通常來講必須具備管理員權限)。

3經常使用的數據字典視圖

1user_tables:描述當前用戶擁有的全部表的信息,主要包括表名、表空間名、簇名等。

經過此視圖能夠清楚地瞭解當前用戶擁有的表有哪些

2查詢該用戶有哪些索引

SELECT index_name FROM user_indexes;

wKiom1ko-VXjp_E-AAGNGp5C0Ts695.jpg

3查詢該用戶擁有哪些視圖

wKioL1ko-VfzJjIUAADSW8BZybM344.jpg

4查詢該用戶擁有哪些數據庫對象,包括表、視圖、存儲過程、觸發器、包、索引、序列等。

SELECT object_name FROM user_objects;

wKioL1ko-VnTxr_rAAB_HrRDZAY631.jpg

5查詢當前用戶的信息,主要包括當前用戶名、帳戶id、帳戶狀態、建立時間等。

SELECT * FROM user_users;

wKiom1ko-V6CpnfOAAFcZESIYdo915.jpg

6查詢當前用戶可以訪問的全部表、過程、函數等。

wKioL1ko-V_jMth2AACejQe9UJs993.jpg

7DICTIONARY 數據字典視圖包含數據字典中一切對象的名稱和說明

SELECT * FROM dictionary;

wKiom1ko-WOSPfiUAAEtlWPft1c779.jpg

8)使用數據字典不須要記住全部的數據視圖。只須要按照以下步驟操做:

瞭解數據字典大概分紅3類,(user_*、all_*、dba_*),經常使用的是user_*,能夠經過下面語句查詢具體視圖的描述。

wKioL1ko-WXR3OTCAACfnVCe8r8658.jpg

而後根據查詢結果找到須要的數據字典視圖,例如:想知道表就能夠查詢user_table,想知道視圖就能夠查詢user_view,想知道存儲過程就能夠查詢user_procedure,想知道表中列的狀況就能夠查詢user_tab_columns

6、動態數據字典視圖及使用

1、概念

  除了靜態數據字典中的3類視圖,其餘的字典視圖中主要是V$視圖,之因此這樣命名是由於他們都是以V$或GV$開頭的,這些視圖會不斷地進行更新,能夠反映出當前實例和數據庫的運行情況。動態性能表用於記錄當前數據庫的活動,只存在於數據庫運行期間,實際的信息都取自內存和控制文件,dba可使用動態視圖來監視和維護數據庫。下面列舉幾個dba維護數據庫中常用的幾個動態數據字典視圖。

 

2、列舉經常使用動態數據字典視圖

1查詢和日誌文件相關的信息

wKiom1ko-WmSJ_MYAAEkfigGmz0314.jpg

上圖中列出了全部和日誌文件相關的動態數據字典視圖,若是想了解日誌文件的詳細信息,可使用v$log視圖和v$logfile視圖

2查看日誌組狀態信息

wKioL1ko-W2TpAt2AAFtpHviTCQ639.jpg

3查看重作日誌文件信息

wKiom1ko-XLD2OgSAAGsNfOwQkE743.jpg

4查詢當前正在使用的重作日誌文件的信息

wKiom1ko-XXAF9IiAADQPu0t34A367.jpg

從結果中能夠看出,當前數據庫正在使用的日誌組爲group 2,數據庫運行在非歸檔模式,該日誌組有一個日誌成員,存儲目錄爲/opt/oracle/oradata/orcl/redo02.log。

5經過v$instance視圖查看實例信息

wKioL1ko-XmxXxN0AAFDg2Flnw0561.jpg

上圖中結果說明,固然實例名爲orcl,主機名爲oracleserver,版本號爲11.2.0.1.0,實例啓動時間爲2016年12月14日,狀態爲allowed。

6查看當前數據庫的信息

wKioL1ko-dHDBYTzAAGFlHNK5C8688.jpg

數據庫名爲orcl,建立時間爲2016年12月14日,該數據庫運行在歸檔模式。 

動態數據字典視圖很好地反映了當前數據庫的運行狀態信息,對於數據庫性能調優和判斷系統瓶頸提供了信息支持。經過動態數據字典視圖還能夠查看控制文件的信息、數據文件的信息和表空間的信息。

相關文章
相關標籤/搜索