Oracle組態管理

來源:互聯網
上載者:User

標籤:oracleoracle   組態管理   51cto   

前言:我們前面學習了安裝oracle以及建立資料庫,如果想要將用戶端與伺服器串連起來,這就需要學習資料庫的串連配置。在資料庫的啟動過程中需要開啟控制檔案,並利用控制檔案開啟資料檔案、重做記錄檔,從而開啟資料庫。本次文檔給大家介紹串連配置,此外還有記錄檔的原理及操作,以及如何使用和操作資料字典視圖。

一、Oracle用戶端與伺服器端的通訊機制

Oracle產品安裝完成後,伺服器和用戶端都需要進行網路設定才能實現網路連接,伺服器端配置監聽器,用戶端配置網路服務名。

1、oracle net協議
Oracle通過oracle net協議實現用戶端與伺服器端的串連及資料傳遞。Oracle net是同時駐留在伺服器端和用戶端上的一個軟體層,它封裝了TCP/IP,負責建立與維護用戶端應用程式到資料庫伺服器的串連。有協議就要有相應的連接埠,所以oracle NET有個預設的偵聽連接埠1521。

用戶端發出的請求首先通過oracle net協議轉換,轉換成可以通過網路傳輸的資訊,通過tcp/ip網路將請求傳輸到資料庫伺服器端,伺服器端收到用戶端請求後通過oracle net協議轉換,將請求轉換成資料庫可以解釋執行的本地指令,並在伺服器端執行,並將結果通過tcp/ip和oracle net協議傳輸給用戶端顯示。

2、用戶端與伺服器端的串連過程
Oracle伺服器通過一個名為“oracle net監聽器”的組件接收來自用戶端的串連請求,監聽位於伺服器端的一個後台進程。發送的用戶端串連請求,首先被伺服器的監聽器所偵聽,並交給對應的資料庫執行個體,從而建立起用戶端與伺服器的串連。串連建立後,用戶端與伺服器端就可以直接進行通訊,不需要監聽器參與。要實現監聽器對客戶請求的監聽,需要對監聽器進行配置。
Oracle網路服務名是一個標識符,代表用戶端串連伺服器的配置資訊。

用戶端與伺服器端的串連過程如下:
1)在伺服器端有一個常駐的監聽器,監聽用戶端發出的串連請求。
2)使用者在用戶端使用(企業管理器或sql工具),輸入使用者名稱、口令及網路服務名,或在sql命令列中輸入類似“CONNECT username/[email protected]_service_name”的請求。
3)用戶端查看網路服務設定檔tnsnames.ora檔案,將網路服務名映射為包含oracle伺服器位址、監聽連接埠和全域資料庫名的串連描述符。
4)用戶端根據串連描述符定位監聽器,並通過網路連接資訊傳遞給監聽器。
5)監聽器查詢監聽設定檔listener.ora,找出所要已連線的服務器。
6)用戶端和伺服器開始通訊。

3、配置和管理Oracle網路設定的工具常見的有以下幾種:



上面紅框中的代碼the listener supports no services顯示沒有任何服務註冊到該監聽器上,這與監聽和資料庫執行個體的啟動先後順序有關。

解決方案:監聽啟動和資料庫執行個體啟動的順序
根據前面的知識,啟動完資料庫執行個體後,啟動監聽,在串連資料庫時,只有這二者兼備,oracle才能向外提供服務。
監聽和執行個體啟動順序的先後會對二者之間的工作協調產生影響,具體如下:

先啟動監聽,後啟動執行個體:此時遠程用戶端串連執行個體是正常的,不會有問題,因為監聽先啟動,在啟動執行個體時後台進程PMON會向監聽註冊伺服器,當使用者請求服務時,兩者的協調工作已準備就緒。
先啟動執行個體,後啟動監聽:如果監聽剛啟動,使用者馬上串連執行個體,可能會報“監聽程式當前無法識別串連描述符中請求的服務”的錯誤,原因在於PMON還沒來得及向監聽註冊執行個體服務。但是這個問題只會存在很短的一段時間,再串連就不會有問題了,為什麼等一會就好了呢?因為PMON每隔一段時間都會看有無服務需要向監聽註冊,此時若監聽已啟動,PMON就能註冊成功,二者的協調工作就準備就緒了。
有沒有辦法解決很短的一段時間內的這個問題呢?答案是一定的。就是以靜態註冊的方式,即將執行個體的服務描述添加到listener.ora,這樣只要啟動監聽,對應的服務在監聽中就註冊了。這是只要執行個體正常啟動完成,就可以對外提供伺服器了。在Listener.ora代碼中添加如下代碼即可。

二、管理控制檔案

控制檔案是非常重要的檔案,主要掌握以下內容:
?瞭解控制檔案在資料庫啟動的作用
?獲得控制檔案資訊
?查看控制檔案中所存內容的資訊
?儲存多重控制檔案
?備份和恢複控制檔案

1、控制檔案在資料庫啟動的作用
對於dna來講,oracle資料庫控制檔案是非常重要的檔案,他是資料庫建立的時候自動產生的二進位檔案,其中記錄了資料庫的狀態資訊。其它任何使用者都無法修改控制檔案,只有資料庫運行過程中,資料庫執行個體可以修改控制檔案中的資訊。控制檔案主要包括以下內容:
?資料庫名稱,一個控制檔案只能屬於一個資料庫。
?資料庫建立時間。
?資料檔案的名稱、位置、聯機、離線狀態資訊。
?重做記錄檔的名稱、位置及歸檔資訊。
?所有資料表空間資訊。
?當前記錄序號。
?最近檢查點資訊。

控制檔案在資料庫啟動的mount階段被讀取,資料庫啟動與控制檔案的關係如:

在資料庫啟動時首先使用預設規則找到並開啟參數檔案,在參數檔案中含有控制檔案的位置資訊,開啟控制檔案後,會通過控制檔案中記錄的各種資料庫檔案的位置開啟資料庫,從而啟動資料庫到可用位置,所以在資料庫啟動後,在資料庫的運行過程中,資料庫伺服器可不斷地修改控制檔案中的內容,所以在資料庫被開啟的階段,控制檔案必須是可讀寫的,但是其他任何使用者都無法修改控制檔案,只有資料庫執行個體可以修改控制檔案中的資訊。

2、獲得控制檔案資訊
1)可以從V$CONTROLFILE視圖中查看控制檔案資訊,包括控制檔案名稱。

三、管理重做記錄檔

重做記錄檔也稱聯機重做日誌,目的是恢複資料。
在資料庫運行過程中,使用者更改的資料會暫時存放在資料庫的高速緩衝區中。為了提高寫資料庫的速度,並不是一旦有資料變化,就把變化的資料寫到資料庫檔案中。頻繁的讀寫磁碟會使資料庫系統效率降低,所以,要等到資料庫高速緩衝區中的資料達到一定的量或滿足一定條件時,DBWR進程才會將變化了的資料寫到資料檔案中。這種情況下,如果DBWR把變化了的更改寫到資料檔案之前發生了宕機,那麼資料庫高速緩衝區中的資料就會全部丟失。如果在資料庫伺服器重啟動後無法恢複這部分使用者更改的資料,顯然是不可以的。
重做日誌就是把變化了的資料首先儲存起來,其中LGWR進程負責把使用者更改的資料先寫到重做記錄檔中,這樣資料庫重新啟動時,資料庫系統從重做記錄檔中讀取這些變化了的資料,將使用者更改的資料提交到資料庫中,寫入資料檔案。
為了提高磁碟效率和防止重做記錄檔損壞,oracle引入了一種重做記錄檔結構,

可以看出有3個重做日誌組,每組包含兩個重做日誌成員。當第一個日誌組寫滿之後,就會停止寫入,而轉向第二個日誌組,第二個寫滿後,轉向第三個日之組,第三個寫滿就向第一個日誌組寫入,oracle以這種迴圈方式使用重做日誌組。
Oracle規定每個資料庫至少有兩個日誌組,每組至少包含一個或者多個日誌成員。
使用新的重做日誌之前,DBWR進程需要將所有的資料更改寫到資料檔案中。如果資料庫處于歸檔模式下,當發生日之組切換時,歸檔進程ARCH會把當前已滿的重做記錄檔中的資料複製到歸檔日誌中。

四、管理歸檔記錄檔

1、歸檔日誌介紹
Oracle資料庫有兩種運行方式,歸檔(ARCHIVELOG)方式和非歸檔(NO ARCHIVELOG)方式。在非歸檔方式下,日誌切換時直接覆蓋以前的重做記錄檔,不產生歸檔日誌。資料庫在歸檔方式下運行,在日誌切換後,ARCH進程會對自己寫滿的重做記錄檔進行存檔。預設情況下,oracle採用非歸檔的運行方式,主要因為歸檔方式會給系統帶來一定的效能問題,只有當資料庫運行在歸檔方式時,ARCH進程才存在,ARCH進程是oracle的可選後台進程,將日誌存檔,以便儲存對資料庫做的所有修改,這樣,及時在資料檔案磁碟損壞的情況下,資料庫管理員也能將對資料庫恢複至故障發生時的狀態。
1)歸檔進程
?是可選的後台進程
?為資料庫設定ARCHIVELOG(歸檔)模式時會自動歸檔聯機重做記錄檔
? 保留對資料庫所有更改的記錄
2)歸檔記錄檔
?資料庫在允許覆蓋重做日誌資訊之前產生聯機重做日誌組的副本。
? 這些副本又稱為“歸檔日誌”。


2、設定資料庫歸檔日誌步驟:
?查詢資料庫歸檔方式,確定當前不處于歸檔方式
?關閉資料庫並啟動資料庫到MOUNT狀態
?將資料庫設定位歸檔模式,並驗證
SQL>archive log list;
SQL>shutdown immediate;
SQL>startup mount;
SQL>alter database archivelog;
SQL>alter database open;
SQL>archive log list;

五、資料字典

1、資料字典定義
資料字典是oracle儲存關鍵資訊的表和視圖的集合。是資料庫的說明,包含資料庫中所有對象的名稱和屬性。Oracle進程會在SYS模式中維護這些表和視圖,也就是說資料字典的所有者為SYS使用者,資料存放在SYSTEM資料表空間中。
資料字典描述了實際資料是如何組織的,如一個表的建立者資訊,建立時間資訊,所屬資料表空間資訊,使用者存取權限資訊等。對他們可以像處理其他資料庫表或視圖一樣進行查詢,但不能進行任何修改。
Oracle資料字典通常是在建立和安裝資料時被建立的。
Oracle資料字典是oracle資料庫系統工作的基礎。
沒有資料字典的支援,oracle資料庫系統就不能進行任何工作。

2、資料字典的構成
資料字典分為資料字典表和資料字典視圖。資料字典中的表不可以直接被訪問,但是可以訪問資料字典中的視圖。資料字典視圖分為兩類:待用資料字典視圖和動態資料字典視圖。

六、動態資料字典視圖及使用

1、概念
除了待用資料字典中的3類別檢視,其他的字典視圖中主要是V$視圖,之所以這樣命名是因為他們都是以V$或GV$開頭的,這些視圖會不斷地進行更新,可以反映出當前執行個體和資料庫的健全狀態。動態效能表用於記錄當前資料庫的活動,只存在於資料庫運行期間,實際的資訊都取自記憶體和控制檔案,dba可以使用動態視圖來監視和維護資料庫。下面列舉幾個dba維護資料庫中經常使用的幾個動態資料字典視圖。

Oracle組態管理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.