1. 程式人生 > >oracle學習筆記 Oracle體系結構概述

oracle學習筆記 Oracle體系結構概述

oracle學習筆記

Oracle體系結構概述

從這節開始,開始講oracle資料庫體系結構。
首先從總體上,從概述上把oracle整體的體系結構講一下,
然後接下來的時間我們會一塊一塊的將oracle體系結構進行相對深入的剖析。

這節課講oracle的整體的體系結構。

一)
oralce分兩塊,一、oracle資料庫軟體,二、oracle資料庫。

oracle資料庫軟體位置通過以下命令可以找到
[[email protected] ~]$ cd $ORACLE_HOME
[[email protected] db_1]$ pwd
/u01/app/oracle/product/10.2.0/db_1
[[email protected]
db_1]$ ls
assistants   has               listener.log  oracore           root.sh
bin          hs                log           oraInst.loc       root.sh.old
cdata        install           md            ord               slax
cfgtoollogs  install.platform  mesg          oui               sqlj
clone        inventory         mgw           owm               sqlnet.log
config       javavm            network       perl              sqlplus
crs          jdbc              nls           plsql             srvm
css          jdk               oc4j          precomp           startup.log
ctx          jlib              odbc          racg              sysman
dbs          jre               olap          rdbms             uix
demo         ldap              OPatch        redhat4_jiagulun  wwg
diagnostics  lib               opmn          relnotes          xdk

最後ls命令列出了資料庫軟體的內容。

oracle資料庫的位置
[
[email protected]
db_1]$ cd $ORACLE_BASE
[[email protected] oracle]$ pwd
/u01/app/oracle
[[email protected] oracle]$ cd oradata/jiagulun
[[email protected] jiagulun]$ ls
control01.ctl  example01.dbf  redo03.log    temp01.dbf
control02.ctl  redo01.log     sysaux01.dbf  undotbs01.dbf
control03.ctl  redo02.log     system01.dbf  users01.dbf

ls命令顯示了資料庫的內容。

oracle資料庫軟體的檔案和oracle資料庫的檔案可以分開儲存到兩個地方。
我們最常使用的幾乎全部的在生產環境裡面的存放結構是:
oracle資料庫軟體存放在伺服器本地硬碟上而oracle資料庫存放在儲存上。

以前講過了很多生產環境中關於oracle資料庫所執行的硬體環境。
一講oracle資料庫建在儲存上,我們應該大概反應出來到底是一個什麼結構。

oracle資料庫講的就是
/u01/app/oracle/oradata/jiagulun
目錄下的檔案。
這些檔案就組成了oracle資料庫。
有三類檔案,
一類是ctl檔案,一類是log檔案,還有一類是dbf檔案。

oracle資料庫主要有這三類檔案組成。

通常意義講的oracle資料庫有兩大塊組成,
一大塊是oracle資料庫軟體,一大塊是oracle資料庫。
以後提oracle資料庫就是說的ctl、log、dbf這三類檔案。

二)
Oracle例項
英文oracle instance
oracle資料庫
英文oracle database
它們有區別和聯絡

oracle資料庫是實實在在儲存在硬碟上的三類檔案。

oracle資料庫可以啟動起來。

oracle啟動起來以後
首先在記憶體劃出一塊空間出來,供oracle使用,
這塊記憶體叫oracle記憶體。
第二件事情,啟動一堆程序。
我們把記憶體和程序統稱oracle例項。

oracle資料庫啟動起來以後會產生一個oracle例項。
oracle資料庫關閉後就沒有oracle例項了。
oracle例項是oracle資料庫記憶體和程序的總稱。
只有資料庫啟動起來以後才有例項的產生。

例項和資料庫一般情況是一個數據庫對應一個例項 1:1的關係。
當然也有一些特殊情況,一個數據庫可以對應多個例項,
如兩個例項對應一個數據庫,一般沒有單數,
現在生產環境用的比較多的是兩個例項對應一個數據庫,
也有四個例項對應一個數據庫,也有八個例項對應一個數據庫,
有八個的現在用的比較少,雖然oracle支援。

例子:
有兩臺伺服器,一臺儲存。
儲存中放oracle資料庫檔案,
每臺伺服器都裝oracle資料庫軟體。
每臺伺服器啟動一個例項,
兩個例項都訪問儲存中的oracle,
這就是1:2的關係一個數據庫對應倆例項。
倆例項同時都可以訪問oracle資料庫。

一個使用者要訪問資料庫
它連線到的是例項,通過例項來訪問資料庫。

如:一個數據庫有倆例項,
假設有一百個使用者要訪問資料庫,
可以50個使用者訪問一個例項,另外50個使用者訪問另外一個例項。
這是一種負載均衡的概念(使一起執行的裝置負擔的負載達到一個近似相同的狀態),
可提高資料庫效能和併發性。
從理論上講,資料庫效能提高了兩倍。
實際上在生產環境裡面我們會講,這個技術就是oralce的RAC技術。

一般的學習環境下是一個數據庫對應一個例項。

演示:
資料庫啟動起來以後記憶體空間會佔用大塊記憶體,同時啟動一堆程序。
這些程序和記憶體就叫oracle例項。

下面要用到兩個linux命令:
1、ps命令
是Process Status的縮寫,
顯示瞬間系統行程 (process) 的動態。
它列出了系統中當前執行的程序,
結果是個程序的快照,即執行ps命令的那個時刻的程序。

2、ipcs命令 
用途:報告程序間通訊設施狀態。
共有三種設施型別:訊息佇列、共享記憶體和訊號量 
引數:
預設列出全部三種設施資訊
-m 輸出有關共享記憶體(shared memory)的資訊
-q 輸出有關資訊佇列(message queue)的資訊
-s 輸出訊號量(semaphore)的資訊

1)資料庫啟動前
檢視有沒有oracle例項
[
[email protected]
db_1]$ ps -ef|grep ora
root      1744  6071  0 07:34 ?        00:00:00 sshd: oracle [priv]
oracle    1793  1744  0 07:34 ?        00:00:00 sshd: [email protected]/1
oracle    1794  1793  0 07:34 pts/1    00:00:00 -bash
oracle    3906  1794  0 07:52 pts/1    00:00:00 ps -ef
oracle    3907  1794  0 07:52 pts/1    00:00:00 grep ora
結果中沒有oralce的程序

檢視記憶體狀態
[[email protected] ~]$ ipcs


------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status


------ Semaphore Arrays --------
key        semid      owner      perms      nsems


------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages

沒有roacle使用的記憶體

2)資料庫啟動後
[[email protected] db_1]$ ps -ef|grep ora
root      1744  6071  0 07:34 ?        00:00:00 sshd: oracle [priv]
oracle    1793  1744  0 07:34 ?        00:00:00 sshd: [email protected]/1
oracle    1794  1793  0 07:34 pts/1    00:00:00 -bash
oracle    3964     1  0 07:54 ?        00:00:00 ora_pmon_jiagulun
oracle    3966     1  0 07:54 ?        00:00:00 ora_psp0_jiagulun
oracle    3968     1  0 07:54 ?        00:00:00 ora_mman_jiagulun
oracle    3970     1  0 07:54 ?        00:00:00 ora_dbw0_jiagulun
oracle    3972     1  0 07:54 ?        00:00:00 ora_lgwr_jiagulun
oracle    3974     1  0 07:54 ?        00:00:00 ora_ckpt_jiagulun
oracle    3976     1  0 07:54 ?        00:00:00 ora_smon_jiagulun
oracle    3978     1  0 07:54 ?        00:00:00 ora_reco_jiagulun
oracle    3980     1  0 07:54 ?        00:00:00 ora_cjq0_jiagulun
oracle    3982     1  0 07:54 ?        00:00:00 ora_mmon_jiagulun
oracle    3984     1  0 07:54 ?        00:00:00 ora_mmnl_jiagulun
oracle    3986     1  0 07:54 ?        00:00:00 ora_d000_jiagulun
oracle    3988     1  0 07:54 ?        00:00:00 ora_s000_jiagulun
oracle    3994     1  0 07:55 ?        00:00:00 ora_qmnc_jiagulun
oracle    4009     1  0 07:55 ?        00:00:00 ora_j000_jiagulun
oracle    4013     1  0 07:55 ?        00:00:00 ora_q000_jiagulun
oracle    4015     1  0 07:55 ?        00:00:00 ora_q001_jiagulun
oracle    4031  1794  0 07:55 pts/1    00:00:00 ps -ef
oracle    4032  1794  0 07:55 pts/1    00:00:00 grep ora
結果中有了很多oracle的例項的程序,
如ora_pmon_jiagulun 等以ora_開頭的程序。
這些程序我們以後會一個一個的去研究,
每個程序到底在幹什麼,怎麼工作的,它的意義在哪。

記憶體狀態
[[email protected] ~]$ ipcs


------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status
0x36010028 360448     oracle    640        287309824  23


------ Semaphore Arrays --------
key        semid      owner      perms      nsems
0x7df2e688 229376     oracle    640        154


------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages

記憶體中出現了oracle使用的記憶體塊:
0x36010028 360448     oracle    640        287309824  23
有了一塊280M的記憶體給了oracle。
這是oracle啟動起來以後在記憶體裡面劃了一塊比較大的空間。

oracle啟動起來以後會佔用記憶體和產生程序,這個得到了驗證。

資料庫啟動起來以後佔用一部分記憶體,啟用一堆程序,統稱oracle的例項。

三)
oracle記憶體結構
1)
oracle資料庫啟動起來以後oracle會在記憶體裡面劃出一部分空間,
這塊空間被oracle所獨享所使用。

這塊記憶體oracle給它起名叫SGA。
一般譯為:system global area, 也有叫:shared global area的。
當啟動Oracle資料庫時,系統會先在記憶體內規劃一個固定區域,
用來儲存使用者需要的資料,以及Oracle執行時必備的系統資訊。
是Oracle Instance的基本組成部分,在例項啟動時分配。

SGA我們通常叫系統全域性區,也有叫共享全域性區的。

這塊記憶體有六大塊。
對我們來講最重要的是三塊:
共享池、資料庫緩衝區快取記憶體、重做日誌緩衝區
對應的英文名:
shared pool,database buffer cache,redo log buffer
這三塊空間是我們著重要討論和關心的,
而這三塊最容易出問題的是 shared pool和buffer cache
所以我們更加關注共享池和資料庫緩衝區快取記憶體
以後著重的介紹這兩個。

Java池 和 Streams池 先不講,
只有在後面用到streams和java時這兩個池子才會分配,
否則沒有必要分配。
large pool我們不講,在後面講rman時再講large pool。
這三個池子都沒什麼問題。

oracle啟動起來以後有兩大記憶體結構,
一大塊叫SGA,一大塊叫PGA。
SGA是共享的,PGA是給程序使用的。
PGA(Program Global Area程式全域性區)
是一塊包含一個服務程序的資料和控制資訊的記憶體區域。

sga有六大塊組成
shared pool,java pool,large pool,
buffer cache,redo log,stream pool.

2)
oracle資料庫啟動起來以後還會啟動一堆程序。
這些程序分兩大類,
1、後臺程序
2、前臺程序
前臺程序只有老師這麼說,別人沒有這個說法。

如ps命令的結果中:

oracle   16269     1  0 10:59 ?        00:00:00 ora_pmon_jiagulun
oracle   16271     1  0 10:59 ?        00:00:00 ora_psp0_jiagulun
oracle   16273     1  0 10:59 ?        00:00:00 ora_mman_jiagulun
oracle   16275     1  0 10:59 ?        00:00:00 ora_dbw0_jiagulun
oracle   16277     1  0 10:59 ?        00:00:00 ora_lgwr_jiagulun
oracle   16279     1  0 10:59 ?        00:00:00 ora_ckpt_jiagulun
oracle   16281     1  0 10:59 ?        00:00:00 ora_smon_jiagulun
oracle   16283     1  0 10:59 ?        00:00:00 ora_reco_jiagulun
oracle   16285     1  0 10:59 ?        00:00:00 ora_cjq0_jiagulun
oracle   16287     1  0 10:59 ?        00:00:00 ora_mmon_jiagulun
oracle   16289     1  0 10:59 ?        00:00:00 ora_mmnl_jiagulun
oracle   16291     1  0 10:59 ?        00:00:00 ora_d000_jiagulun
oracle   16293     1  0 10:59 ?        00:00:00 ora_s000_jiagulun
這些是後臺程序;

oracle   16298 16154  0 10:59 ?        00:00:00 oraclejiagulun (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

是前臺程序。
這裡只是舉例並未列全。

演示中後臺程序多,前臺程序少。
在實際生產中,前臺程序的數量要遠遠大於後臺程序的數量。

因為,對oralce資料庫的每一個連線都會產生一個前臺程序,
一般的對資料庫來講都有上百個連線,至少前臺程序上百個,
後臺程序就十幾個,
所以都oracle資料庫來講前臺程序的數量要遠遠大於後臺程序的數量。

3)
對於SGA來講,
所有的記憶體空間對所有的程序來講是共享的,
每個程序可以訪問SGA所有的記憶體空間。
所以說SGA是所有程序共享的一個記憶體空間。

實際的工作中,
可能有些程序主要使用buffer cache,
有些程序主要使用redo log,
有一些單個記憶體池的單獨分配。
但我們認為,
oracle資料庫的所有程序共享記憶體SGA中的六大空間。

對單個程序來講,它除了能夠訪問這一大塊SGA以外,
它自己還有點小祕密,
單個程序它有自己的程序空間,也是一塊記憶體空間,
這塊空間從PGA來。

oracle新的版本里面,
oracle有一個大的PGA空間,
我們後面會講怎麼設PGA,該設多大,
然後怎麼判斷設的大小,有沒有問題。

oracle每啟一個程序就從這個大的PGA空間拿出一塊來給這個程序。
對這個程序來講,它會把一些公共的資訊寫到SGA裡面去, 
這個程序所獨有的私有的資訊寫到自己的PGA裡面去,
每個程序都這樣從PGA分一塊。

我們在後面的講課過程中,我們會重點講,
oracle前臺程序和PGA的關係,
也就是說我們非常關心oracle前臺程序是如何使用PAG空間的。

實際中不僅僅是oracle前臺程序給他們分配了PGA空間,
後臺程序也有PGA空間。
只不過我們不去太多的關注,因為它不是經常出問題。

使用越多的元件,越容易損壞,計算機元件也是這樣。
這樣人們會花更多的時間去維護和修復它,使它更易使用。
儘管如此它仍然是最容易損壞的地方。

oracle記憶體結構裡面有兩大塊:SGA和PGA,
以及一堆程序,分後臺程序和前臺程序。

四)
oracle的程序結構
1)
我們剛才說的前臺程序就是說的oracle的伺服器程序server process

如我們用ps命令得到的結果中的一個程序:
oracle   22727 22726  0 15:24 ?        00:00:00 oraclejiagulun (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
就是伺服器程序,就是前臺程序,也叫server process。

下面講一下oracle資料庫中的在工作中的一個連線結構。

執行環境中,
資料庫伺服器上有 資料庫、資料庫例項,
要連線資料庫必須連線例項。

執行環境中還有一個應用伺服器,
如weblogic,websphere,jboss等應用伺服器。
應用伺服器上有使用者開發的應用,
如基於java的和基於web的應用。

我們的客戶端通過ie瀏覽器連線web伺服器,
web伺服器同時又是一個應用伺服器。

web伺服器是給瀏覽器提供網頁的服務。
而應用伺服器可以給訪問程式提供更多的資料,它可以擁有和訪問資料庫等資源
並可以對自己得到的資料進行處理並返回給訪問它需要它的程式。
web伺服器實際是應用伺服器的一個特例,在網路上它使用的最多。

在web伺服器及應用伺服器(如weblogic)啟動起來以後,
會建立一個到oracle資料庫例項的一堆連線。

與我們在客戶端使用sqlplus / as sysdba命令建立的連線類似,
這個命令就是建立了一個到oracle資料庫的連線。
如:
客戶端執行sqlplus / as sysdba
ps結果中對應的程序為
oracle   22727 22726  0 15:24 ?        00:00:00 oraclejiagulun (DESCRIPTION=(LOC       AL=YES)(ADDRESS=(PROTOCOL=beq)))
建立了一個連線,有了一個server process;
我們再模擬幾個這樣的連線
在客戶端執行sqlplus system/oracle
我們在看ps的結果會又出現一個新的程序
oracle   25733 25732  0 16:18 ?        00:00:00 oraclejiagulun (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
我們有兩個連線,oracle就起了兩個程序。
如果是一百個連線就是一百個程序。
這些在oracle啟的程序就叫oracle前臺程序,也叫server process。

weblogic啟動起來以後,會主動的發起對oracle資料庫例項的n個連線,
數量可以在weblogic裡面設定,這n個連線叫連線池。
然後我們看oracle資料庫例項,
它針對weblogic的每一個連線,這個例項會建立一個相應的程序和它對應。
也就是說weblogic向oracle例項建立了一百個連線,
這個時候oracle例項就會針對這一百個連線啟動一百個oracle前臺程序。
也就是一百個server process,也就是一百個伺服器程序,
這時候,oracle例項裡面憑空多了一百個server process。

oracle在實際工作中的結構中包含連線池。

2)
比如我們訪問淘寶網站
我們通過ie瀏覽器連線到淘寶的web伺服器上,也就是它的應用伺服器上。
然後我們要買鞋子,比如要買什麼廠商的鞋子,
我們在網上選中搜索條件以後點選搜尋。
對淘寶來講所有鞋子的資訊在資料庫裡面沒有在web伺服器上,
所有商品包括商品價格、商品的圖片 等等所有資訊都在資料庫裡面。
web伺服器上面沒有資訊。

使用者連線到應用伺服器上以後,它會進行一些操作,
它要搜鞋子,鞋子的資訊在資料庫裡面。
當這個使用者想要搜鞋子資訊的時候,
應用伺服器會做一件事情,
會從應用伺服器與資料庫建立的這n個連線裡面,隨機的選擇其中的一個連線,
應用伺服器會產生一條SQL語句,一個對鞋子訪問的SQL語句,
通過這個連線送到oracle;
oracle接到這個SQL語句以後,就會對它解析執行,然後獲取資料;
然後再通過這個連線返給應用伺服器。
應用伺服器接收到所有的鞋子資訊以後,就會以web介面的方式,
再返給使用者。

我們使用者無形中訪問了oracle資料庫,
但是使用者沒有體會到,
使用者也不需要oracle資料庫的知識。

它只需要通過瀏覽器,連線到web上,
根據自己查詢的條件,
比如它要尋找某個牌子,尋找李寧牌運動鞋,
碼在37到42之間,型別是籃球運動鞋。

瀏覽器有了這些條件有了以後,
一點搜尋,web伺服器、應用伺服器會自動的從眾多的連線中找一個空閒的連線,
同時會產生一個帶條件的,對鞋子訪問的一個SQL語句。
SQL語句通過連線發到資料庫例項。
oracle資料庫會接到這個SQL語句,
然後對SQL語句解析執行,獲取到資料,
通過連線再傳給應用伺服器。
應用伺服器接到以後,然後再傳給我們的消費者。

這就是整個的一個過程。

3)
如果你站在oracle資料庫的上方,
你會發現:
這一百條連線,就像一百條高速公路一樣。
高速公路另一端是應用伺服器,
你會看到大量的SQL語句,通過連線送過來。
同時你低頭再看看,你會發現資料庫在處理大量的SQL語句。
處理完了以後,將所有的結果,通過相應的連線再送回去。

也就是說,我們的oracle資料庫,實際上在大量的接受SQL,
在解析SQL,然後執行SQL,然後獲取資料。
把資料再返給應用伺服器。
這就是從巨集觀上去看,oracle日常的工作狀態。

4)
使用者程序就是在使用者客戶端產生的程序,
我們根本不關心這個。
我們只關心oracle資料庫裡面的最前端的伺服器程序,
每個伺服器程序都對應一個PGA,
我們還關心SGA和後臺程序。
但是要知道使用者程序是使用者端的程序。

五)
oracle整體的體系結構

oracle例項有SGA,
SGA中有六個池子,
還有五個後臺程序。

前面講了前臺程序後臺程序,
重點講了server process。

其實在oracle資料庫裡面後臺程序也很重要,
oracle後臺程序非常多,
重點這次給大家講的oracle有五大後臺程序。

oracle有三大檔案,
控制檔案、資料檔案、重做日誌檔案。
還有歸檔日誌檔案。後面要專門講歸檔知識。

oracle有六大記憶體塊,
共享池、streams池、大型池、java池、資料庫緩衝區快取記憶體、重做日誌緩衝區。

有五大後臺程序,
檢查點(CKPT)、系統監視器(SMON)、程序監視器(PMON)、
資料庫寫程序(DBWn)、日誌寫程序(LGWR)。
先簡單講五大程序作用,歸檔程序(ARCn)先不講。

三類檔案裡面分別放的資訊
1)
控制檔案存放的了很多資訊,先簡單的講兩類資訊
1、整個資料庫的物理結構資訊,在控制檔案裡面記錄著。
所謂的物理結構,
主要是資料庫有多少資料檔案,資料檔案分別放在什麼位置。
oracle資料庫有多少redolog檔案,這些檔案分別放在什麼位置。

2、控制檔案中還記錄著資料庫當前執行的一些狀態資訊。
比如說那個資料檔案是線上正常的,哪些資料檔案是離線不正常的。
oracle資料庫當前正在使用著眾多重做日誌檔案的哪一個,哪一些日誌檔案有一些問題。
資料庫當前執行的一些狀態資訊,也記錄在控制檔案中。

控制檔案我們目前主要講兩類資訊,
1、資料庫的物理結構資訊。
2、資料庫的當前執行的一些狀態資訊。

2)
資料檔案裡面放的是oracle實在的資料檔案資料。
oracle資料主要放的是表,
表資訊就放在資料檔案裡面,
控制檔案會很小,但是資料檔案會很大。
因為oracle所有的資料全部放在資料檔案裡面。

3)
第三類檔案 重做日誌檔案
日誌檔案裡放的是日誌。
日誌記錄的是,
oracle對資料庫、對資料檔案所做的所有的修改,
全部會以日誌的方式記錄在日誌檔案中。
它記錄的是資料檔案的變化過程。

這是三大類檔案。

oracle資料庫接收到的是SQL語句,對SQL語句進行處理、執行,
執行完以後會獲取到資料,再返給使用者。




2016年7月3日
                                                                             韻箏

相關推薦

oracle學習筆記 Oracle體系結構概述

oracle學習筆記 Oracle體系結構概述 從這節開始,開始講oracle資料庫體系結構。 首先從總體上,從概述上把oracle整體的體系結構講一下, 然後接下來的時間我們會一塊一塊的將oracle體系結構進行相對深入的剖析。 這節課講oracle的整體的體系結構。 一

Oracle學習筆記oracle體系架構及狀態(nomount、mount和open)簡介

位置 正常 處理 管理 共享服務器 體系 操作記錄 sysdba png oracle體系架構簡介 先來簡要了解一下Oracle數據庫體系架構以便於後面深入理解,Oracle Server主要由實例(instance)和數據庫(database)組成。實例(instance

hadoop菜鳥的學習筆記---Hadoop體系結構

         語言是表達思想最有利的武器! HDFS和MapReduce是Hadoop體系結構的核心,HDFS在叢集上實現了分散式檔案系統,MapReduce在叢集上實現了分散式計算和處理任務。HDFS在MapReduce任務處理過程中提供了對檔案操作和儲存的支援,Ma

Oracle學習筆記 Oracle IMU及Redo Private Strands技術

Oracle 學習筆記 Oracle IMU及Redo Private Strands技術 這節看一下undo裡面一個新的機制叫IMU機制 先簡單回顧一下oracle的傳統的undo機制以及它所面臨的問題 一)傳統的undo塊 在傳統裡面oracle對待

oracle學習筆記 Oracle日誌原理剖析

 oracle學習筆記  Oracle日誌原理剖析 一)一致性和效能 日誌是所有資料庫的一個很核心的內容很重要 它關係到資料庫的資料的一致性 目前大家在使用的我們可看到的有幾個資料庫 有oracle、sqlserver、mysql、db2還有以前的sybase 這

oracle學習筆記 oracle軟體安裝和資料庫的建立

oracle學習筆記 oracle軟體安裝和資料庫的建立 ****** 一)oracle軟體安裝 上一課準備工作完成,安裝包準備好,進入安裝。 首次安裝要確保安裝目錄乾淨,否則在設定安裝路徑時會有 OUI-10030警告:您指定了非空目錄來安裝此產品 主要是上次安裝未成功,

oracle 11g ocp 筆記(1)-- oracle 11g體系結構概述

負責 進程 arc 可能 安裝數據庫 存儲 parallel 情況下 位圖 參考文檔: https://blog.csdn.net/gyming/article/details/41593811 1、oracle系列產品 1.1 服務器分為數據庫服務器、應用服務器和企

oracle學習筆記 buffer_cache作用概述

 oracle學習筆記  buffer_cache作用概述 從這節課開始講buffercache 對oracle資料庫來講最重要的記憶體結構是buffercache buffercache的合理使用它直接關係到資料庫執行的效能 對DBA來講資料庫的效能是非常重要的

1 Oracle深度學習筆記——記憶體架構之概述

1.Oracle深度學習筆記——記憶體架構之概述         歡迎轉載,轉載請標明出處:http://blog.csdn.net/notbaron/article/details/50558131  

Oracle學習筆記 字符集概述

Oracle 學習筆記 字符集概述 這節課開始講oracle裡面的字符集 偏重於原理和簡單的一些判斷以及實現 字符集它涉及到很多的東西 比如建庫和作業系統環境 這節課把字符集的原理性的東西以及常見的操作講一下 大家以後不要在字符集方面犯一些錯誤 以

oracle學習筆記 儲存及raid技術概述

oracle學習筆記 儲存及raid技術概述 本課以oracle資料庫所執行的環境,講一下儲存和raid技術。 一)oralce生產環境裡的結構 先說一下oracle所在的環境。 有一種結構: 兩個伺服器、兩個光纖儲存交換機、兩個儲存, 它們通過網線相互連線在一起。 每個伺

Oracle 11G RAC 體系結構概述

Oracle 11G RAC體系結構: RAC環境與單例項最主要的區別是 RAC的每個例項都有屬於自己的SGA、後臺程序。由於資料檔案、控制檔案共享於所有例項,所以必須放在共享儲存中。聯機重做日誌檔案:只有一個例項可以寫入,但是其他例項可以再回復和存檔期間讀取。歸檔日誌:屬

oracle學習筆記(十五) PL/SQL語法結構以及使用

PL/SQL 簡介 PL/SQL 是過程語言(Procedural Language)與結構化查詢語言(SQL)結合而成的程式語言。 PL/SQL 是對 SQL 的擴充套件。 支援多種資料型別,如大物件和集合型別,可使用條件和迴圈等控制結構。 可用於建立儲存過程、函式、觸發器和程式包,給SQL語句的執行新增

Oracle體系結構概述與SQL解析剖析

## Oracle伺服器 是一個數據庫管理系統,它提供了一種全面、開放、整合的方法來管理資訊。 Oracle伺服器由**Oracle資料庫**和**Oracle例項**組成。 oracle資料庫軟體和Oracle資料庫軟體可以分開儲存。oracle資料庫軟體一般存放在oralce伺服器的本地硬碟上,而O

Oracle學習筆記—Db_name、Db_domain、Global_name、Service_name、Instance_name和Oracle_SID(轉載)

安全 文件中 分布 好處 避免 名稱 detail 數據庫安全 自動 轉載自: Oracle中DB_NAME,SID,DB_DOMAIN,SERVICE_NAME等之間的區別 Db_name:對一個數據庫(Oracle database)的唯一標識。這種表示對於單個數據

Oracle學習筆記—歸檔模式

enable 11.2 bit dmi copyright 災難 筆記 關閉數據庫 tle 什麽是歸檔模式 Oracle數據庫有聯機重做日誌,這個日誌是記錄對數據庫所做的修改,比如插入,刪除,更新數據等,對這些操作都會記錄在聯機重做日誌裏。一般數據庫至少要有2個聯機重做日誌

Oracle數據庫------體系結構

顧問 內存結構 動態 alt 索引 ron 信息 instance 訪問 ORACLE體系結構包括:實例(Instance),數據庫文件,用戶進程(User process),服務器進程以及其他文件。 1.ORACLE實例(instance) 1).要訪問數據庫必須

oracle學習筆記(4)

linux系統 sta sys 配置 默認 搜索 密碼 多用戶 登錄 4.oracle數據庫的啟動流程   windows操作系統     啟動監聽: lsnrctl start;     啟動數據庫實例:oradim-startup-sid 實例名   linux系統

Oracle學習筆記

關閉 用例 ons 調用方法 procedure exc tex del 存儲過程 內容主要包括:(1)三種循環及其簡化(2)遊標的使用(3)異常處理(4)存儲過程(5)存儲函數(6)觸發器(7)其它pl/sql操作---------------loop循環定義變量--

(一)Oracle學習筆記—— 表和表空間

最大 更改 默認 oracle spa mil 步驟 font lte 1. 表空間 一個數據庫可以有多個表空間,一個表空間裏可以有多個表。表空間就是存多個表的物理空間;可以指定表空間的大小位置等。 1.1 創建表空間語句 create tablespace t