日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Oracle-Oracle数据库结构

發(fā)布時間:2025/3/21 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle-Oracle数据库结构 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

再談Oracle數(shù)據(jù)庫結(jié)構(gòu)

之前寫了一篇文章《Oracle-知識結(jié)構(gòu)漫談》 粗略的介紹了Oracle數(shù)據(jù)庫接口,在這里再更加詳細的描述一下,當做是對原有知識的鞏固,溫故知新。


Oracle體系結(jié)構(gòu)

數(shù)據(jù)庫的體系結(jié)構(gòu)是從某一個角度來分析和考察數(shù)據(jù)庫的組成、工作過程與原理,以及數(shù)據(jù)在數(shù)據(jù)庫中的組織與管理機制。

Oracle數(shù)據(jù)庫是一個邏輯概念,而不是一個運行數(shù)據(jù)庫服務器的計算機系統(tǒng)或者一臺Oracle服務器。

基本術(shù)語

1 Oracle實例 、Oracle數(shù)據(jù)庫

一般Oracle數(shù)據(jù)庫 可以分為兩部分:

  • 實例 Instance
  • 實例是一個非固定的,基于內(nèi)存的基本進程與內(nèi)存結(jié)構(gòu)。 當服務器關(guān)閉之后,實例也就不存在了。

  • 數(shù)據(jù)庫 Database
  • 數(shù)據(jù)庫指的是固定的、基于磁盤的數(shù)據(jù)文件、控制文件、日志文件、參數(shù)文件和歸檔日志文件等。

    一般情況下,Oracle數(shù)據(jù)庫都是一個數(shù)據(jù)庫包含一個實例。

    2 數(shù)據(jù)庫服務器

    數(shù)據(jù)庫服務器DatabaseServer 一般指的是數(shù)據(jù)庫各軟件部件(如sqlplus、oem、exp/imp等) 、 實例數(shù)據(jù)庫 3個主要部分, 是由安裝在服務器上的所有的軟件(包括各種類型的文件)及啟動成功后的實例組成。


    體系結(jié)構(gòu)圖解

    如上圖,我們可以看出 SQL命令從客戶端發(fā)出后,由Oracle的服務器進行響應,在內(nèi)存區(qū)域中進行語法分析、編譯、執(zhí)行,將修改后的數(shù)據(jù)寫入數(shù)據(jù)庫文件,數(shù)據(jù)庫的修改信息寫入日志文件,再將SQL的執(zhí)行結(jié)果返回給客戶端。


    表空間與數(shù)據(jù)文件

    在Oracle系統(tǒng)中,表空間和數(shù)據(jù)文件是Oracle數(shù)據(jù)庫結(jié)構(gòu)的基本要素.

    1 表空間

    在Oracle數(shù)據(jù)庫中,用于存放數(shù)據(jù)庫表、索引、回滾段等對象的磁盤邏輯空間叫做表空間。 如上所示。

    一般在完成Oracle系統(tǒng)的安裝并創(chuàng)建Oracle實例后,Oracle系統(tǒng)會自動創(chuàng)建多個表空間。

    SYSTEM表空間

    • SYSTEM表空間存放Oracle系統(tǒng)內(nèi)部表和數(shù)據(jù)字典的數(shù)據(jù),比如表名、列名、用戶名等。
    • 不贊成用戶創(chuàng)建的表、索引等存放在SYSTEM表空間。
    • SYSTEM表空間對應的數(shù)據(jù)文件是system01.dbf ,如果有表空間對應的數(shù)據(jù)文件比較小,可追加另外一個新的數(shù)據(jù)文件,比如system02.dbf
    alter tablespace system add datafile '/data/cc/system02.dbf' size 10240M;


    SYSAUX表空間

    • SYSAUX表空間是Oracle 11g新增加的表空間,主要用于存放Oracle系統(tǒng)內(nèi)部的常用樣例用戶的對象。
    • SYSAUX一般不存放用戶的數(shù)據(jù),由Oracle系統(tǒng)內(nèi)部自動維護
    • SYSAUX對應的數(shù)據(jù)文件為 sysaux01.dbf

    UDNO表空間

    • 列表內(nèi)容UNDO表空間用于存儲撤銷信息的表空間
    • 當我們對數(shù)據(jù)庫進行修改(包括INSERT、UPDATE、DELETE操作)時, Oracle會自動使用UNDO表空間來存放修改前的數(shù)據(jù)
    • 當操作完成并提交后,Oracle系統(tǒng)會根據(jù)細腰保留修改前數(shù)據(jù)時間長短來釋放UNDO表空間的部分空間。
    • 默認的數(shù)據(jù)文件為undotbs01.dbf

    USERS表空間

    • USER是Oracle建議用戶使用的表空間,可以在這這個表空間上創(chuàng)建跟蹤對象。
    • Oracle的基本樣例用戶SCOTT的對象就存放在USERS表空間中。
    • 一般USERS的表空間對應的數(shù)據(jù)文件是users01.dbf

    總結(jié):

    除了Oracle系統(tǒng)默認創(chuàng)建的表空間外,用戶可以根據(jù)應用的規(guī)模及其所要存放的對象類型創(chuàng)建多個表空間,以區(qū)分用戶數(shù)據(jù)與系統(tǒng)數(shù)據(jù)、索引和數(shù)據(jù)。

    此外,不同應用的數(shù)據(jù)應將不同表空間的文件放在不同的盤上,減少I/O沖突。


    2 數(shù)據(jù)文件

    數(shù)據(jù)文件DataFile是用于保存應用數(shù)據(jù)和Oracle系統(tǒng)內(nèi)部數(shù)據(jù)的文件。
    Oracle數(shù)據(jù)庫由表空間組成,每個表空間可以包含一或者多個數(shù)據(jù)文件

    系統(tǒng)數(shù)據(jù)

    管理用戶數(shù)據(jù)和Oracle系統(tǒng)本身的數(shù)據(jù),這些數(shù)據(jù)被自動存放在系統(tǒng)表空間對應的system01.dbf中。

    二Oracle系統(tǒng)內(nèi)部的數(shù)據(jù)字典、表如DBA_USERS、DBA_DATA_FILES等說存放的岠屬于Oracle系統(tǒng)的內(nèi)部數(shù)據(jù),這也數(shù)據(jù)也存放在系統(tǒng)表空間對應的system01.dbf中。


    用戶數(shù)據(jù)

    用戶數(shù)據(jù)是指用戶應用系統(tǒng)的數(shù)據(jù),包括與應用系統(tǒng)先關(guān)的信息。

    select tablespace_name,file_id,file_name,round(bytes / (1024 * 1024*1024), 0) || 'G' total_spacefrom dba_data_filesorder by tablespace_name;

    從上面的查詢結(jié)果看出來: 表空間和數(shù)據(jù)文件是一對不可分離的數(shù)據(jù)庫實體。

    • 表空間是一個數(shù)據(jù)庫的邏輯去
    • 每個表空間由一個或者多個數(shù)據(jù)文件組成
    • 一個數(shù)據(jù)文件只能屬于一個表空間

    臨時表空間與臨時文件

    • Oracle系統(tǒng)中用于存放和排序有關(guān)的特殊表空間。

    • 當需要排序時,Oracle就將排序的數(shù)據(jù)存放在該表空間內(nèi),排序完成后即可釋放數(shù)據(jù)所占的空間,因此稱之為臨時表空間。

    • 臨時表空間也可以對應一個或者多個臨時文件(Tempfile)

    • oracle9i后,Oracle將臨時表空間所對應的臨時數(shù)據(jù)文件與一般數(shù)據(jù)文件分開, dba_temp_files數(shù)據(jù)字典中可以查詢臨時表空間和臨時數(shù)據(jù)文件的信息

    select tablespace_name,file_name,bytes/1024/1024 "file_size(M)",autoextensible from dba_temp_files;

    Oracle存儲結(jié)構(gòu)介紹

    無論是普通的表空間還是臨時表空間,當創(chuàng)建時至少需要一個數(shù)據(jù)文件。

    Oracle創(chuàng)建數(shù)據(jù)文件時,實際上是將磁盤的操作系統(tǒng)重新格式化成Oracle數(shù)據(jù)塊,并且每個Oracle數(shù)據(jù)塊都有唯一標示。

    一般情況下,Oracle數(shù)據(jù)塊是操作系統(tǒng)塊的倍數(shù),比如操作系統(tǒng)塊大小2048B,而Oracle數(shù)據(jù)塊大小為8192B(DB_BLOCK_SIZE=8192)

    SQL> show param db_blockNAME TYPE VALUE --------------- ----------- -------- db_block_buffers integer 0 db_block_checking string FALSE db_block_checksum string TYPICAL db_block_size integer 8192


    一般的,我們在設計數(shù)據(jù)庫結(jié)構(gòu)時需要將表、索引或者簇(Cluster)存儲到一個已經(jīng)存在的表空間上, 而表、索引或者簇都是占用空間的對象,Oracle把占空間的對象統(tǒng)一稱為段(Segment)。

    段是有多個區(qū)間(Extent)構(gòu)成,而區(qū)間是由多個連續(xù)(塊的編號地址相鄰)的Oracle數(shù)據(jù)塊構(gòu)成。

    所以Oracle中,數(shù)據(jù)塊是一個基本的處理單位


    控制文件

    • 控制文件是一個存儲Oracle實例信息、數(shù)據(jù)文件和日志文件信息的內(nèi)部二進制文件。
    • 控制文件一般在Oracle系統(tǒng)安裝時自動創(chuàng)建。
    • 控制文件的存放路徑由服務器參數(shù)文件SPFILEsid.ora的control files的參數(shù)值來決定。

    因為控制文件中存放數(shù)據(jù)文件、日志文件等信息,所以Oracle實例在啟動的時候必須訪問控制文件。

    Oracle實例在正常啟動時,首先要訪問的初始化參數(shù)文件SPFILE, 然后Oracle會為系統(tǒng)全局區(qū)(SGA)分配內(nèi)存,這是Oracle實例處于安裝狀態(tài),控制文件處于打開狀態(tài); 接下來,Oracle會自動讀出控制文件中的所有數(shù)據(jù)文件和日志文件信息,并打開所有的數(shù)據(jù)文件及日志文件信息以便用戶訪問.

    控制文件內(nèi)部出了存放ORACLE實例及創(chuàng)建日期、數(shù)據(jù)文件、日志文件外,在系統(tǒng)運行的過程中,還存放系統(tǒng)更改號、檢查點信息,及歸檔的當前狀態(tài)信息等,如果開啟了RMAN備份,還會存放RMAN的備份信息。

    Oracle系統(tǒng)處于安全的考慮,建議在 系統(tǒng)安裝時 指定多個控制文件,并將它們存放在不同的磁盤路徑下。

    查詢數(shù)據(jù)庫實例包含的控制文件信息路徑

    select name, status from v$controlfile;

    日志文件

    Oracle日志文件分為 重做日志文件 和 歸檔日志文件。

    特別是重做日志文件,是Oracle數(shù)據(jù)庫系統(tǒng)正常提供服務不可或缺的。


    聯(lián)機重做日志文件(Online Redo Log File)

    Online Redo log file 是用來記錄數(shù)據(jù)庫所發(fā)生過的交易的信息及有Oracle內(nèi)部行為引起的數(shù)據(jù)庫變化信息。

    在數(shù)據(jù)庫恢復時,可以從該日志文件中讀取出原來交易的數(shù)據(jù)。 在數(shù)據(jù)庫運行期間,當用戶發(fā)出commit命令時,數(shù)據(jù)庫會將每筆交易記錄到日志文件中,寫入日志文件成功后,才會把信息傳給用戶程序。所以,在日志文件中可以隨時督促信息以恢復某些交易數(shù)據(jù)。

    當對表或者整個表空間設置了NOLOGGING屬性時,基于表或表空間中所有表的DML操作都不會生成日志信息,當然也就減少了日志信息的產(chǎn)生。

    重做日志文件的作用

    • 記錄所有數(shù)據(jù)的改變
    • 提供恢復機制
    • 組方式管理(最少兩組,默認為3組,每組一個重做日志文件,Oracle官方建議,所有的每組重做日志文件大小最好相同;當然如果是為重做日志文件組添加成員的時候不能指定大小,因為每個重做日志文件相互冗余,所以必須一致)

    重做日志文件的狀態(tài)

    • unused:說明此重做日志文件組沒被用過
    • current:說明是當前重做日志組,lgwr正在寫
    • active:說明此重做日志文件組剛寫完,記錄在重做日志文件組中的事務所造成的數(shù)據(jù)塊的改變,沒有完全從緩沖區(qū)寫入到數(shù)據(jù)文件,重做日志文件組屬于這種狀態(tài),是不允許被覆蓋的,一旦寫完成,就變問inactive狀態(tài)。
    • inactive:說明記錄在重做日志文件組中的事務所造成的數(shù)據(jù)塊的改變,已經(jīng)從緩沖區(qū)寫入到數(shù)據(jù)文件,這種狀態(tài)允許被覆蓋。
      上面4中狀態(tài)是重做日志文件常見的狀態(tài),下面兩種狀態(tài)是在重做日志組損壞或者特殊情況下的狀態(tài)。
    • clearing:說明該重做日志文件正被重建(重建后狀態(tài)變?yōu)閡nused)
    • clearing_cyrrent:說明此重做日志文件重建是出現(xiàn)錯誤

    為確保數(shù)據(jù)庫系統(tǒng)的安全,每個Oracle實例用一個日志線程(Thread)來近路數(shù)據(jù)庫的變化。 日志線程由若干日志組構(gòu)成,日志組又由一個或者多個日志成員構(gòu)成(當然也可以包括一個)。

    可以從v$logfile數(shù)據(jù)字典中查詢

    select group#,status , member from v$logfile ;

    可以根據(jù) v$log_history 這個動態(tài)視圖查詢?nèi)罩厩袚Q的頻率,判斷日志的大小是否合適。 日志組空間太小的話,第一會導致dbwr寫的頻率增加,增加了i/o;第二會造成事務的等待,延長事務周期,導致數(shù)據(jù)庫假死。

    按照官方建議,日志切換時間一般在10-15分鐘比較適合。

    Oracle實例在運行中產(chǎn)生日志信息,首先被記錄在SGA中的日志緩沖區(qū)中, 當發(fā)出commit命令后(或者日志緩沖區(qū)信息滿1/3或者3S過去)時,LGWR進程將日志信息從日志緩沖區(qū)中讀出并寫到日志文件組序列號小的文件中, 一個日志組寫滿后接著寫另外一組。

    在DBWR工作之前,LGWR首先將事務變化寫入到重做日志。
    LGWR工作觸發(fā)條件:
    1、提交事務(commit)
    2、每隔3秒鐘
    3、當重做日志信息超過1M
    4、重做日志緩沖區(qū)超過1/3滿
    5、SCN(System Change Number)

    當LGWR進程將所有能用的日志文件都使用過一次后,它將再次轉(zhuǎn)向第一個日志組重新覆寫。

    Oracle用日志文件序列號來跟蹤不同的日志文件,當LGWR進程寫滿第一個日志組而轉(zhuǎn)向另外一組時,稱之為日志切換。

    當日志發(fā)生切換時,Oracle會往警告日志文件(alter_sid.log) 記錄相應的信息,以幫助用戶觀察各日志組的使用情況。


    歸檔日志文件

    oracle系統(tǒng)運行有兩種模式——歸檔模式和非歸檔模式。

    非歸檔模式

    非歸檔模式就是在系統(tǒng)運行期間,所產(chǎn)生的日志信息不斷的記錄到各日志文件組中,當所有的重做日志組被寫滿年后又重新從第一個日志組開始覆寫日志信息內(nèi)容。

    歸檔模式

    歸檔模式就是在各日志文件(成員)都寫滿即將被覆蓋前,現(xiàn)有歸檔進程(ARCH)將即將被覆蓋的日志文件中的日志信息讀取出來并寫到歸檔日志文件中,以便后面的恢復操作時查找。

    默認情況下,Oracle系統(tǒng)不采用歸檔運行模式。

    查看數(shù)據(jù)庫是否處于歸檔模式

    SQL> SELECT log_mode FROM v$database; LOG_MODE------------NOARCHIVELOG

    如果將數(shù)據(jù)庫設置為歸檔模式下運行, 歸檔日志的領(lǐng)有服務器參數(shù)文件SPFILE的log_archive_dest參數(shù)確定。

    SQL> show param log_archive_destNAME TYPE VALUE --------------- ----------- ------------------------------ log_archive_dest string log_archive_dest_1 string LOCATION=/ccarch/cc valid_for=(all_logfiles,all_roles) db_unique_name=pr_cc

    服務器參數(shù)文件

    服務器參數(shù)文件SPFILE(Server Parmater File)是二進制文件,用來記錄Oracle實例的基本參數(shù)信息,包括數(shù)據(jù)庫實例名、控制文件所在路徑、進程等。

    服務器參數(shù)文件在Oracle安裝時已默認的方式創(chuàng)建, 文件名為 SPFILEsid.ora , 其中sid為數(shù)據(jù)庫實例名。

    SPFILE中的參數(shù)由oracle系統(tǒng)自動維護,如過要修改某些參數(shù),不能對SPFILE進行直接編輯, 需要通過alter system命令來修改。


    密碼文件、跟蹤文件、警告日志

    密碼文件

    作用:主要進行DBA權(quán)限的身份認證

    密碼文件的位置:

    $ORACLE_HOME/dbs/orapw$ORACLE_SID

    密碼文件查找的順序

    --->orapw<sid>--->orapw--->Failure

    Oracle的兩種認證方式;
    - 使用與操作系統(tǒng)集成的身份驗證
    - 使用Oracle數(shù)據(jù)庫的密碼文件進行身份認證

    兩種認證方式, 決定在兩個參數(shù)中

    創(chuàng)建Oracle密碼文件的命令

    orapwd file=<fname> password=<password> entries=<users> force=<y/n>
    • file - name of password file (mand), 密碼文件的名字orapw
    • password - password for SYS (mand), sys用戶的密碼
    • entries - maximum number of distinct DBA
    • force - whether to overwrite existingfile (opt),10g新增的參數(shù),默認值為n ,y表示允許覆蓋

    警告日志文件

    告警日志文件是一個存放在Oracle系統(tǒng)目錄下的特殊文本文件(trace file),用來記錄數(shù)據(jù)庫運行期間錯誤信息。

    告警日志文件命名一般為alert_<SID>.log,其中SID為ORACLE數(shù)據(jù)庫實例名稱。

    10G中告警日志的路徑 由Oracle系統(tǒng)的background_dump_dest參數(shù)指定。

    SQL> show parameter background_dump_destNAME TYPE VALUE ------------------- ----------- -------------------- background_dump_dest string /oracle/diag/rdbms/pr_cc/cc/trace

    11G及12C中,引入了ADR(Automatic Diagnostic Repository:一個存放數(shù)據(jù)庫診斷日志、跟蹤文件的目錄),關(guān)于ADR對應的目錄位置可以通過查看v$diag_info系統(tǒng)視圖

    SQL> select * from v$diag_info;

    Diag Trace對應的目錄為文本格式的告警日志文件所在的目錄,而Diag Alert對應的目錄為XML格式的警告日志(對應為log_x.xml)

    SELECT VALUE FROM V$DIAG_INFO WHERE NAME = 'Default Trace File';

    這里的Default Trace File就是缺省的會話跟蹤文件名稱


    后臺跟蹤文件和用戶跟蹤文件

    跟蹤文件(trace file)的作用,通常是一個服務器進程對某種異常錯誤條件做出響應時創(chuàng)建的診斷文件。

    路徑由服務器參數(shù)文件SPFILEsid.ora的user_dump_dest參數(shù)指定。

    SQL>show parameter DUMP_DEST NAME TYPE VALUE ---------------- ----------- ------------------------------ background_dump_dest string /oracle/diag/rdbms/pr_cc/cc/trace core_dump_dest string /oracle/diag/rdbms/pr_cc/cc/cdump user_dump_dest string /oracle/diag/rdbms/pr_cc/cc/trace

    background_dump_dest(后臺轉(zhuǎn)儲)
    core_dump_dest(內(nèi)核轉(zhuǎn)儲)
    user_dump_dest(用戶轉(zhuǎn)儲)

    跟蹤文件名形:SID名+進程名+進程ID


    Oracle服務器結(jié)構(gòu)

    Oracle服務器與Oracle實例

    Oracle服務器是由Oracle實例+Oracle數(shù)據(jù)庫組成。

    Oracle實例是有SGA+后臺進程組成。 每一個Oracle實例都有自己的SGA和獨立的Oracle進程集。


    物理結(jié)構(gòu)與邏輯結(jié)構(gòu)的關(guān)系


    系統(tǒng)全局區(qū)(SGA)

    之前的博客 Oracle-內(nèi)存管理解讀

    • SGA = 數(shù)據(jù)高速緩沖區(qū)+ 重做日志緩沖區(qū)+ 共享池+ 大池+ Java 池+ 流池

    • 系統(tǒng)全局區(qū)是動態(tài)的,由參數(shù)SGA_MAX_SIZE決定。

    查看當前系統(tǒng)的SGA大小:

    SQL>show parameter sga_max_size NAME TYPE VALUE ------------------ ----------- ---------------------------- sga_max_size big integer 116992M

    修改當前系統(tǒng)的SGA大小:

    alter system set sga_max_size=1024m scope=spfile;

    因為實例內(nèi)存的分配是在數(shù)據(jù)庫啟動時進行的,所以要讓修改生效,要重啟數(shù)據(jù)庫。

    數(shù)據(jù)高速緩沖區(qū)(Data Buffer Cache)

    存儲Oracle系統(tǒng)中最近使用過的數(shù)據(jù)塊(即用戶的高速緩沖區(qū))

    數(shù)據(jù)告訴緩沖區(qū)有3種類型
    - 臟區(qū)Dirty Buffers
    - 自由區(qū)Free Buffers
    - 保留區(qū)Pinned Bffer

    大小由db_cache_size 決定
    查看:

    SQL> show parameter db_cache_sizeNAME TYPE VALUE -------------- ----------- ------------------------- db_cache_size big integer 99G

    修改:

    SQL>alter system set db_cache_size=1024m;

    重做日志緩沖區(qū)(Redo Log Buffer)

    在這些日志在寫入重做日志文件之前, 必須先寫入到從昨日之緩沖區(qū),然后由LGWR進程將它寫入磁盤,大小由LOG_BUFFER決定


    共享池(Share Pool)

    • 共享池是SGA的保留區(qū), 用于存儲SQL、PL/SQL、包、數(shù)據(jù)字典、鎖、字符集 安全屬性等。
    • 共享池包含庫高速緩沖區(qū)(Library Cache) 和 指點高速緩沖區(qū)(Dictionary Cache)
    • 庫緩存大小由shared_pool_size 決定

    查看:

    SQL>show parameter shared_pool_size NAME TYPE VALUE --------------------- ----------- ------------------------ shared_pool_size big integer 10G

    修改:

    SQL>alter system set shared_pool_size=120m;

    大池(Large Pool)

    是一個可選的區(qū)域,用于一些大型的進程如Oracle的備份恢復操作、IO服務器進程等

    Java 池

    該程序緩沖區(qū)就是為Java 程序保留的。如果不用Java程序沒有必要改變該緩沖區(qū)的默認大小

    流池(Stream pool)

    被Oracle流所使用


    后臺進程

    SQL>select name description from v$bgprocess ;

    數(shù)據(jù)庫寫入器(DBwn)

    Database Writer 數(shù)據(jù)庫寫。主要作用是將Database buffer cache(數(shù)據(jù)庫緩沖區(qū))里那些被更新過、但還沒有被寫入數(shù)據(jù)文件的數(shù)據(jù)寫入到數(shù)據(jù)文件中。這里的n表示可以有多個數(shù)據(jù)庫寫操作.

    可以修改SPFILE的DB_WRITER_PROCESSES參數(shù),以允許使用多個DBWR進程,進程的名字分別為 DBW0、DBW1、DBW2等…

    SQL>alter system set db_writer_processes=3 scope=spfile;

    檢查點進程(CKPT)

    可選進程。

    可以通過SPFILE中的CHECKPOINT_PROCESS參數(shù)為TRUE來啟動檢查點進程


    日志寫入器(LGWR)

    日志文件寫進程:是日志緩沖區(qū)的治理進程,負責把日志緩沖區(qū)中的日志項寫入磁盤中的日志文件上。每個實例只有一個LGWR進程.


    系統(tǒng)監(jiān)控器(SMON)

    System Monitor,負責完成自動實例恢復和回收分類(sort)表空間。


    進程監(jiān)控器(PMON)

    PRocess monitor ,實現(xiàn)用戶進程故障恢復、清理內(nèi)存區(qū)和釋放該進程所需資源等。

    清除失敗的進程
    回滾事務
    釋放鎖
    釋放其他資源


    歸檔器(ARCH)

    archiver process
    把已經(jīng)填滿的在線日志文件拷貝到一個指定的存儲設備上。僅當日志文件組開關(guān)(switch)出現(xiàn)時,才進行ARCH操作。ARCH不是必須的,而只有當自動歸檔可使用或者當手工歸檔請求時才發(fā)出。


    鎖(LCKn)

    可選進程
    封鎖進程:用于并行服務器系統(tǒng),主要完成實例之間的封鎖。


    調(diào)度(Dnnn)

    可選進程

    恢復器(RECO)

    負責解決分布事物中的故障。Oracle可以連接遠程的多個數(shù)據(jù)庫,當由于網(wǎng)絡問題,有些事物處于懸而未決的狀態(tài)。
    RECO進程試圖建立與遠程服務器的通信,當故障消除后,RECO進程自動解決所有懸而未決的會話。

    快照進程(SNPn)

    負責出護理數(shù)據(jù)庫快照的自動刷新,并通過dbms_job包運行預定的數(shù)據(jù)庫存儲過程.

    并行查詢進程(Pnnn)



    程序全局區(qū)(PGA)

    與SGA不同,PGA是一個私有區(qū)。

    http://blog.csdn.net/yangshangwei/article/details/53124044#t25

    SQL> show parameter pga NAME TYPE VALUE ------------------ ----------------- ------------------ pga_aggregate_target big integer 10G

    Oracle數(shù)據(jù)字典

    之前的博客 Oracle-數(shù)據(jù)字典解讀

    Oracle數(shù)據(jù)字典的構(gòu)成


    Oracle常用的數(shù)據(jù)字典

    基本的數(shù)據(jù)字典


    與數(shù)據(jù)庫組建相關(guān)的數(shù)據(jù)字典



    Oracle常用的動態(tài)性能視圖


    總結(jié)


    總結(jié)

    以上是生活随笔為你收集整理的Oracle-Oracle数据库结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。