Oracle-Database-10g-基礎(chǔ)培訓(xùn)-終板_第1頁
Oracle-Database-10g-基礎(chǔ)培訓(xùn)-終板_第2頁
Oracle-Database-10g-基礎(chǔ)培訓(xùn)-終板_第3頁
Oracle-Database-10g-基礎(chǔ)培訓(xùn)-終板_第4頁
Oracle-Database-10g-基礎(chǔ)培訓(xùn)-終板_第5頁
已閱讀5頁,還剩166頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Oracle10g

數(shù)據(jù)庫基礎(chǔ)培訓(xùn)個人介紹王珊珊Oracle10gOCMOCM聯(lián)盟成員就職于企業(yè)云服務(wù)事業(yè)部郵件:wangshshtr@Blog:

主要內(nèi)容

本次課程涉及的主要內(nèi)容:

Oracle體系結(jié)構(gòu)啟動和關(guān)閉

Oracle數(shù)據(jù)庫

Oracle數(shù)據(jù)庫基礎(chǔ)管理Oracle數(shù)據(jù)庫的備份與恢復(fù)SQL基礎(chǔ)RAC介紹數(shù)據(jù)庫管理員的任務(wù)

計(jì)劃和創(chuàng)建數(shù)據(jù)庫管理數(shù)據(jù)庫可用性管理物理結(jié)構(gòu)和邏輯結(jié)構(gòu)根據(jù)設(shè)計(jì)管理存儲管理安全網(wǎng)絡(luò)管理備份和恢復(fù)數(shù)據(jù)庫優(yōu)化Oracle體系結(jié)構(gòu)組件

目標(biāo)

本節(jié)主要內(nèi)容:

概括

Oracle體系結(jié)構(gòu)及其主要組件

列出在用戶連接到

Oracle實(shí)例過程中涉及的結(jié)構(gòu)

口令文件

基本組件概覽

實(shí)例

SGA重做日志

緩沖區(qū)

共享池

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

高速緩存庫高速緩存

DBWRSMONPMONCKPTLGWR其它

用戶進(jìn)程

服務(wù)器進(jìn)程

PGA控制文件

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

數(shù)據(jù)庫數(shù)據(jù)庫緩沖區(qū)

高速緩存

重做日志文件

Java池

大型共享池

參數(shù)文件

歸檔日志文件

Oracle服務(wù)器

Oracle服務(wù)器:

是一個數(shù)據(jù)庫管理系統(tǒng),它為

信息管理提供了開放、綜合和

集成的方法

包括

Oracle實(shí)例和

Oracle

數(shù)據(jù)庫

Oracle服務(wù)器

Oracle實(shí)例

Oracle實(shí)例:是一種訪問

Oracle數(shù)據(jù)庫的方式

始終打開一個,并且只打開一個數(shù)據(jù)庫

由內(nèi)存結(jié)構(gòu)和后臺進(jìn)程結(jié)構(gòu)組成

后臺進(jìn)程結(jié)構(gòu)

內(nèi)存結(jié)構(gòu)

實(shí)例

SGA重做日志緩沖區(qū)

共享池

數(shù)據(jù)字典高速緩存庫高速緩存DBWRSMONPMONCKPTLGWR其它數(shù)據(jù)庫緩沖區(qū)高速緩存

Java

大型共享池

Oracle數(shù)據(jù)庫

Oracle數(shù)據(jù)庫:

是一個被統(tǒng)一處理的數(shù)據(jù)集合

包括三類文件

口令文件

參數(shù)文件

歸檔的日志文件

控制

文件

數(shù)據(jù)

文件

重做

日志

文件

Oracle數(shù)據(jù)庫

物理結(jié)構(gòu)

物理結(jié)構(gòu)包括以下三種文件類型:

控制文件

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

重做日志文件

控制文件數(shù)據(jù)文件(包括數(shù)據(jù)字典)

標(biāo)頭

聯(lián)機(jī)重做

日志文件

內(nèi)存結(jié)構(gòu)

Oracle的內(nèi)存結(jié)構(gòu)由兩個內(nèi)存區(qū)組成,分別是:

系統(tǒng)全局區(qū)(SGA):在實(shí)例啟動時分配,是

Oracle

實(shí)例的基本組件

程序全局區(qū)(PGA):在服務(wù)器進(jìn)程啟動時分配

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

SGA包括以下幾種內(nèi)存結(jié)構(gòu):共享池?cái)?shù)據(jù)庫緩沖區(qū)高速緩存重做日志緩沖區(qū)其它結(jié)構(gòu)(例如鎖定和栓鎖管理以及統(tǒng)計(jì)數(shù)據(jù))

SGA中還可配置其它兩種內(nèi)存結(jié)構(gòu):

大型共享池

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

SGA是動態(tài)的

大小由

SGA_MAX_SIZE

參數(shù)指定

SGA組件以粒組為單位進(jìn)行分配和跟蹤

連續(xù)的虛擬內(nèi)存分配

粒組大小由估算的

SGA_MAX_SIZE

總計(jì)大小確定

共享池

用于存儲:

最近執(zhí)行的

SQL語句

最近使用的數(shù)據(jù)定義它包括以下兩個與性能相關(guān)的關(guān)鍵內(nèi)存結(jié)構(gòu):庫高速緩存數(shù)據(jù)字典高速緩存其大小由

SHARED_POOL_SIZE

參數(shù)確定共享池?cái)?shù)據(jù)字典高速緩存庫高速緩存ALTERSYSTEMSETSHARED_POOL_SIZE=64M;庫高速緩存

存儲有關(guān)最近使用的

SQL和

PL/SQL語句的信息

啟用常用語句共享由“最近最少使用算法”(LRU)管理

包括以下兩個結(jié)構(gòu):共享的

SQL區(qū)共享的

PL/SQL區(qū)大小由共享池的大小確定

數(shù)據(jù)字典高速緩存

數(shù)據(jù)庫中最近使用的定義的集合

包括與數(shù)據(jù)庫文件、表、索引、列、用戶、權(quán)限和其它數(shù)據(jù)庫對象相關(guān)的信息

在語法分析階段,服務(wù)器進(jìn)程會在數(shù)據(jù)字典中查找用于解析對象名和驗(yàn)證訪問的信息

將數(shù)據(jù)字典信息高速緩存到內(nèi)存中,可縮短查詢和

DML

的響應(yīng)時間

大小由共享池的大小決定

數(shù)據(jù)庫緩沖區(qū)高速緩存

存儲已從數(shù)據(jù)文件中檢索到的數(shù)據(jù)塊的副本

能夠大幅提高獲取和更新數(shù)據(jù)時的性能

通過

LRU算法管理

主塊的大小由

DB_BLOCK_SIZE

確定

數(shù)據(jù)庫緩沖區(qū)

高速緩存

數(shù)據(jù)庫緩沖區(qū)高速緩存由獨(dú)立的子高速緩存組成:

DB_CACHE_SIZEDB_KEEP_CACHE_SIZEDB_RECYCLE_CACHE_SIZE大小可以進(jìn)行動態(tài)調(diào)整

設(shè)置

DB_CACHE_ADVICE

可收集用于預(yù)測不同

高速緩存大小行為的統(tǒng)計(jì)信息

統(tǒng)計(jì)信息由

V$DB_CACHE_ADVICE

顯示

ALTERSYSTEMSETDB_CACHE_SIZE=96M;重做日志緩沖區(qū)

記錄對數(shù)據(jù)庫數(shù)據(jù)塊所做的全部更改

主要用于恢復(fù)

其中記錄的更改稱作重做條目

重做條目包含用于重新構(gòu)造或重做更改的信息

大小由

LOG_BUFFER

定義

重做日志

緩沖區(qū)

程序全局區(qū)

為連接到

Oracle數(shù)據(jù)庫的每個用戶進(jìn)程保留的內(nèi)存

在創(chuàng)建進(jìn)程時分配在終止進(jìn)程時回收僅供一個進(jìn)程使用服務(wù)器進(jìn)程

PGA用戶進(jìn)程

進(jìn)程結(jié)構(gòu)

Oracle利用了以下幾種進(jìn)程的優(yōu)勢:

用戶進(jìn)程:在數(shù)據(jù)庫用戶請求連接到

Oracle服務(wù)器時

啟動服務(wù)器進(jìn)程:與

Oracle實(shí)例相連接,在用戶建立會話

時啟動后臺進(jìn)程:在

Oracle實(shí)例啟動時啟動

用戶進(jìn)程

請求與

Oracle服務(wù)器交互的程序必須先建立連接不與

Oracle服務(wù)器直接交互

數(shù)據(jù)庫用戶服務(wù)器進(jìn)程

用戶進(jìn)程建立的連接服務(wù)器進(jìn)程直接與

Oracle服務(wù)器交互的程序執(zhí)行生成的調(diào)用并返回相關(guān)結(jié)果可以是專用服務(wù)器或共享服務(wù)器

建立的連接

創(chuàng)建的會話數(shù)據(jù)庫用戶用戶進(jìn)程服務(wù)器進(jìn)程Oracle服務(wù)器

后臺進(jìn)程維護(hù)并加強(qiáng)物理結(jié)構(gòu)與內(nèi)存結(jié)構(gòu)之間的關(guān)系

必備的后臺進(jìn)程:

DBWn PMON CKPTLGWR SMON 可選的后臺進(jìn)程:

ARCn LMDn RECOCJQ0 LMON SnnnDnnn PnnnLCKn QMNn數(shù)據(jù)庫寫入程序

(DBWn)在以下情況下寫入:出現(xiàn)檢查點(diǎn)灰數(shù)據(jù)緩沖區(qū)達(dá)到閾值沒有空閑緩沖區(qū)出現(xiàn)超時執(zhí)行了

RACping請求表空間處于

OFFLINE

狀態(tài)表空間處于

READONLY

狀態(tài)對表執(zhí)行

DROP

TRUNCATE

操作對表空間執(zhí)行

BEGINBACKUP

操作實(shí)例

SGA控制

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

文件重做

日志

文件數(shù)據(jù)庫DBWn數(shù)據(jù)庫

緩沖區(qū)

高速緩存日志寫入器

(LGWR)LGWR在以下情況下寫入:提交時三分之一填滿時有1MB的重做時每隔三秒DBWn寫入前實(shí)例SGA控制

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

文件

重做

日志

文件數(shù)據(jù)庫重做日志

緩沖區(qū)

DBWnLGWR系統(tǒng)監(jiān)控程序

(SMON)職責(zé):實(shí)例恢復(fù)前滾重做日志中的更改打開數(shù)據(jù)庫供用戶訪問回退未提交的事務(wù)處理合并空閑空間回收臨時段控制

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

文件

重做

日志

文件數(shù)據(jù)庫實(shí)例

SGASMON過程監(jiān)視器

(PMON)實(shí)例失敗后,通過以下方法進(jìn)行清理:

回退事務(wù)處理釋放鎖釋放其它資源重新啟動已失效的調(diào)度

程序

PGA區(qū)

實(shí)例SGAPMON檢查點(diǎn)

(CKPT)職責(zé)包括:在檢查點(diǎn)發(fā)信號給

DBWn使用檢查點(diǎn)信息更新數(shù)據(jù)文件的標(biāo)頭使用檢查點(diǎn)信息更新控制文件控制

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

文件重做

日志

文件數(shù)據(jù)庫實(shí)例SGADBWnLGWRCKPT歸檔程序

(ARCn)可選的后臺進(jìn)程設(shè)置

ARCHIVELOG

模式時自動歸檔聯(lián)機(jī)重做日志保留數(shù)據(jù)庫的全部更改記錄

ARCn歸檔的

重做日

志文件控制

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

文件重做

日志

文件小結(jié)在這一節(jié)中,主要講解:

數(shù)據(jù)庫文件:數(shù)據(jù)文件、控制文件和聯(lián)機(jī)重做日志SGA內(nèi)存結(jié)構(gòu):數(shù)據(jù)庫緩沖區(qū)高速緩存、共享池

和重做日志緩沖區(qū)主要的后臺進(jìn)程:DBWn、LGWR、CKPT、

PMON、SMON后臺進(jìn)程

ARCn的用法

Oracle存儲管理

存儲結(jié)構(gòu)邏輯結(jié)構(gòu)指示數(shù)據(jù)庫物理空間的使用情況層次結(jié)構(gòu)由表空間、段、區(qū)和塊組成

表空間數(shù)據(jù)文件段塊區(qū)段邏輯結(jié)構(gòu)ORACLE的邏輯結(jié)構(gòu)是由一個或多個表空間組成,一個數(shù)據(jù)庫劃分為一個或多個邏輯單位,該邏輯單位稱為表空間(tablespace)。一個表空間可將相關(guān)的邏輯結(jié)構(gòu)組合在一起。一個表空間由一組分類段組成。一個段由一組范圍組成。一個范圍由一批數(shù)據(jù)庫塊組成。一個數(shù)據(jù)庫塊對應(yīng)一個或多個物理塊。表空間和數(shù)據(jù)文件Oracle在邏輯上以表空間存儲數(shù)據(jù),而實(shí)際上以數(shù)據(jù)文件進(jìn)行存儲。表空間:某一時刻只能屬于一個數(shù)據(jù)庫由一個或多個數(shù)據(jù)文件組成可進(jìn)一步劃分為邏輯存儲單元數(shù)據(jù)文件:

只能屬于一個表空間和一個

數(shù)據(jù)庫是方案對象數(shù)據(jù)的資料檔案庫數(shù)據(jù)庫表空間數(shù)據(jù)文件段類型

表分區(qū)

索引

LOB段

段類型

按索引組織的表

索引分區(qū)

還原段

臨時段

區(qū)的分配與回收

區(qū)是表空間內(nèi)某個段使用的一塊空間。

當(dāng)段處于以下情況時分配區(qū):

已創(chuàng)建

已擴(kuò)展

已改變

當(dāng)段處于以下情況時回收區(qū):

已刪除

已改變

已截?cái)?/p>

已用區(qū)和空閑區(qū)

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

空閑區(qū)

已用區(qū)

文件標(biāo)頭

數(shù)據(jù)庫塊

I/O的最小單位

由一個或多個操作系統(tǒng)塊組成

在創(chuàng)建表空間時設(shè)置

DB_BLOCK_SIZE

指定了缺省塊大小

多種塊大小支持

數(shù)據(jù)庫既可以按照標(biāo)準(zhǔn)的塊大小創(chuàng)建,也可以按照非

標(biāo)準(zhǔn)的塊大小創(chuàng)建,非標(biāo)準(zhǔn)的塊大小最多為四種。

塊大小可以是介于2KB和32KB之間的2的冪值。

標(biāo)準(zhǔn)塊大小

在創(chuàng)建數(shù)據(jù)庫時使用DB_BLOCK_SIZE

參數(shù)設(shè)置;除非重新創(chuàng)建該數(shù)據(jù)庫,否則無法更改

用于SYSTEM

和TEMPORARY

表空間

DB_CACHE_SIZE

指定標(biāo)準(zhǔn)塊大小的DEFAULT

緩沖區(qū)高速緩存大?。?/p>

最小大小=一個粒組(4MB或16MB)

缺省值=48MB

非標(biāo)準(zhǔn)塊大小

使用以下動態(tài)參數(shù)配置附加高速緩存:

DB_2K_CACHE_SIZE

用于2KB塊

DB_4K_CACHE_SIZE

用于4KB塊

DB_8K_CACHE_SIZE

用于8KB塊

DB_16K_CACHE_SIZE

用于16KB塊

DB_32K_CACHE_SIZE

用于32KB塊

如果nK

是標(biāo)準(zhǔn)塊大小,則不允許使用DB_nK_CACHE_SIZE

每個高速緩存的最小大小:一個粒組

Oracle的開啟與關(guān)閉

數(shù)據(jù)庫管理員用戶自動創(chuàng)建用戶

SYS

SYSTEM在創(chuàng)建數(shù)據(jù)庫期間創(chuàng)建授予

DBA角色

SYS口令:change_on_install數(shù)據(jù)庫數(shù)據(jù)字典的所有者

SYSTEM口令:manager

Oracle工具使用的附加內(nèi)部表和視圖的所有者SQL*Plus一種提供下列功能的

Oracle工具:

操作和控制數(shù)據(jù)庫啟動和關(guān)閉數(shù)據(jù)庫、創(chuàng)建和運(yùn)行查詢、添加行、修改

數(shù)據(jù)和編寫自定義報(bào)表

它是具有特定附加內(nèi)容的標(biāo)準(zhǔn)

SQL語言的一部分連接至

SQL*Plussqlplus/nologconnect/assysdbaConnectedtoanidleinstance.啟動數(shù)據(jù)庫

NOMOUNTOPENMOUNTNOMOUNTSHUTDOWN實(shí)例已啟動

STARTUPSHUTDOWNspfiledb01.ora初始化參數(shù)文件CONNECT/ASSYSDBASTARTUPOracle實(shí)例SGA重做日志緩沖區(qū)共享池?cái)?shù)據(jù)字典高速緩存庫高速緩存DBW0SMONPMONCKPTLGWR其它數(shù)據(jù)庫緩沖區(qū)高速緩存Java池大型共享池初始化參數(shù)文件文件中的條目專用于要啟動的實(shí)例有兩種類型的參數(shù):

顯式:文件中有一個條目隱式:文件中沒有條目,但假定取

Oracle缺省值可存在多個初始化參數(shù)文件對文件中條目的更改的生效時間,取決于使用的初始化參數(shù)文件類型

靜態(tài)參數(shù)文件

PFILE

永久參數(shù)文件

SPFILEPFILE

initSID.ora文本文件使用操作系統(tǒng)編輯器進(jìn)行修改手動進(jìn)行修改所作更改在下次啟動時生效僅在實(shí)例啟動過程中打開缺省位置為

$ORACLE_HOME/dbsPFILE

示例

#InitializationParameterFile:initdba01.oradb_name=dba01instance_name=dba01control_files=( home/dba01/ORADATA/u01/control01dba01.ctl, home/dba01/ORADATA/u02/control01dba02.ctl)db_block_size=4096db_cache_size=4Mshared_pool_size=50000000java_pool_size=50000000 max_dump_file_size=10240background_dump_dest=/home/dba01/ADMIN/BDUMPuser_dump_dest=/home/dba01/ADMIN/UDUMPcore_dump_dest=/home/dba01/ADMIN/CDUMPundo_management=AUTOundo_tablespace=UNDOTBS...SPFILE

spfileSID.ora二進(jìn)制文件由

Oracle服務(wù)器進(jìn)行維護(hù)始終駐留在服務(wù)器端所做更改永久有效,不受關(guān)閉和啟動的影響可以自行調(diào)節(jié)參數(shù)值使恢復(fù)管理器能夠備份初始化參數(shù)文件

創(chuàng)建

SPFILE從

PFILE

文件創(chuàng)建

其中

SPFILE-NAME:要創(chuàng)建的

SPFILE

PFILE-NAME:用于創(chuàng)建

SPFILE

PFILE可在實(shí)例啟動之前或之后執(zhí)行

CREATESPFILE=‘$ORACLE_HOME/dbs/spfileDBA01.ora’FROMPFILE=‘$ORACLE_HOME/dbs/initDBA01.ora’;SPFILE

示例

*.background_dump_dest=‘/home/dba01/ADMIN/BDUMP’*.compatible='9.0.0'*.control_files='/home/dba01/ORADATA/u01/ctrl01.ctl’*.core_dump_dest=‘/home/dba01/ADMIN/CDUMP’*.db_block_size=4096*.db_name='dba01‘*.db_domain=‘world’*.global_names=TRUE*.instance_name='dba01'*.remote_login_passwordfile='exclusive‘*.java_pool_size=50000000’*.shared_pool_size=50000000*.undo_management='AUTO'*.undo_tablespace='UNDOTBS'...STARTUP

命令行為

優(yōu)先順序

spfileSID.ora缺省

SPFILEinitSID.ora缺省

PFILE指定的

PFILE

可覆蓋優(yōu)先順序

PFILE

可指示要使用

SPFILESTARTUPPFILE=$ORACLE_HOME/dbs/initDBA1.oraSPFILE=/database/startup/spfileDBA1.ora修改

SPFILE

中的參數(shù)

使用

ALTERSYSTEM

更改參數(shù)值指定所做更改是臨時的還是永久的刪除或重置值A(chǔ)LTERSYSTEMSETundo_tablespace='UNDO2';ALTERSYSTEMSETundo_tablespace='UNDO2'SCOPE=BOTH;ALTERSYSTEMRESETundo_suppress_errorsSCOPE=BOTHSID='*';啟動數(shù)據(jù)庫

MOUNTOPENMOUNTNOMOUNTSHUTDOWN該實(shí)例的控制

文件已打開實(shí)例

已啟動

STARTUPSHUTDOWN控制文件小型二進(jìn)制文件定義物理數(shù)據(jù)庫的當(dāng)前狀態(tài)維護(hù)數(shù)據(jù)庫的完整性要求:在啟動數(shù)據(jù)庫時處于

MOUNT

狀態(tài)能夠操作數(shù)據(jù)庫只鏈接至一個數(shù)據(jù)庫丟失數(shù)據(jù)后可能需要恢復(fù)最初由

CREATEDATABASE

確定大小控制

文件數(shù)據(jù)庫控制文件的內(nèi)容控制文件中包含以下條目:數(shù)據(jù)庫名稱和標(biāo)識符創(chuàng)建數(shù)據(jù)庫的時間戳表空間的名稱數(shù)據(jù)文件和重做日志文件的名稱和位置當(dāng)前重做日志的序列號檢查點(diǎn)信息還原段的開始和結(jié)尾重做日志歸檔信息備份信息控制文件內(nèi)容示例對控制文件進(jìn)行多元備份CONTROL_FILES=$HOME/ORADATA/u01/ctrl01.ctl,$HOME/ORADATA/u02/ctrl02.ctl磁盤1(u01)磁盤2(u02)

ctrl02.ctl

ctrl01.ctl使用

SPFILE

時對控制文件

進(jìn)行多元備份1. 改變

SPFILE:

2. 關(guān)閉數(shù)據(jù)庫:3.

創(chuàng)建控制文件副本:4.

啟動數(shù)據(jù)庫:ALTERSYSTEMSETcontrol_files='$HOME/ORADATA/u01/ctrl01.ctl','$HOME/ORADATA/u02/ctrl02.ctl'SCOPE=SPFILE;cp $HOME/ORADATA/u01/ctrl01.ctl $HOME/ORADATA/u02/ctrl02.ctlstartupshutdownimmediate使用

PFILE

時對控制文件

進(jìn)行多元備份關(guān)閉數(shù)據(jù)庫:

創(chuàng)建控制文件副本:向

PFILE

添加控制文件名:啟動數(shù)據(jù)庫:shutdownimmediateCONTROL_FILES=(/DISK1/control01.ctl,/DISK3/control02.ctl)cp $HOME/ORADATA/u01/ctrl01.ctl $HOME/ORADATA/u02/ctrl02.ctlstartup獲取控制文件信息有關(guān)控制文件狀態(tài)和位置的信息,可以通過查詢以下視圖來檢索。

V$CONTROLFILE:列出與該例程相關(guān)聯(lián)的所有控制文件的名稱和狀態(tài)V$PARAMETER:列出所有參數(shù)的狀態(tài)和位置V$CONTROLFILE_RECORD_SECTION:提供有關(guān)控制文件記錄部分的信息SHOWPARAMETERCONTROL_FILES:列出控制文件的名稱、狀態(tài)和位置啟動數(shù)據(jù)庫

OPENOPENMOUNTNOMOUNTSHUTDOWN按照該實(shí)例的控制文件

所述已打開所有文件該實(shí)例的控制

文件已打開實(shí)例

已啟動

STARTUPSHUTDOWNSTARTUP

命令

啟動實(shí)例并打開數(shù)據(jù)庫:

STARTUPSTARTUPPFILE=$ORACLE_HOME/dbs/initdb01.oraALTERDATABASE

命令

將數(shù)據(jù)庫狀態(tài)從

NOMOUNT

更改為

MOUNT:

將數(shù)據(jù)庫作為只讀數(shù)據(jù)庫打開:

ALTERDATABASEdb01MOUNT;ALTERDATABASEdb01OPENREADONLY;以受限模式打開數(shù)據(jù)庫使用

STARTUP

命令限制對數(shù)據(jù)庫的訪問:使用

ALTERSYSTEM

命令將實(shí)例置于受限模式:STARTUPRESTRICTALTERSYSTEMENABLERESTRICTEDSESSION;以只讀模式打開數(shù)據(jù)庫

以只讀模式打開數(shù)據(jù)庫

此模式可用于:

執(zhí)行查詢使用本地管理的表空間執(zhí)行磁盤排序使數(shù)據(jù)文件(而不是表空間)脫機(jī)和聯(lián)機(jī)執(zhí)行脫機(jī)數(shù)據(jù)文件和表空間的恢復(fù)

STARTUPMOUNTALTERDATABASEOPENREADONLY;關(guān)閉數(shù)據(jù)庫關(guān)閉模式:

A=ABORTI=IMMEDIATET=TRANSACTIONALN=NORMALA否否否否T否否是是I否否否是

關(guān)閉模式允許建立新連接等待到當(dāng)前會話結(jié)束等待到當(dāng)前事務(wù)處理結(jié)束強(qiáng)制執(zhí)行檢查點(diǎn)操作并關(guān)閉文件N否是是是關(guān)閉選項(xiàng)在關(guān)閉過程中:將數(shù)據(jù)庫緩沖區(qū)高速緩存的內(nèi)容寫入數(shù)據(jù)文件回退未提交的更改釋放資源在啟動過程中:沒有發(fā)生實(shí)例

恢復(fù)在正常關(guān)閉、

事務(wù)處理關(guān)閉或立即關(guān)閉期間一致的數(shù)據(jù)庫(干凈數(shù)據(jù)庫)關(guān)閉選項(xiàng)在關(guān)閉過程中:發(fā)生修改的緩沖區(qū)內(nèi)容不寫入數(shù)據(jù)文件不回退未提交的更改在啟動過程中:使用重做日志重新應(yīng)用更改使用撤消段回退未提交的更改釋放資源在關(guān)閉中止、實(shí)例失敗或強(qiáng)制啟動期間不一致的數(shù)據(jù)庫(灰數(shù)據(jù)庫)配置OracleNetwork環(huán)境課程目標(biāo)使用NetManager執(zhí)行以下任務(wù):創(chuàng)建其它監(jiān)聽程序創(chuàng)建OracleNet服務(wù)別名配置連接時故障轉(zhuǎn)移控制OracleNetListener使用tnsping

測試OracleNet的連接概述:Listener進(jìn)程listener.oraListenerClientServertnsnames.orasqlnet.ora建立網(wǎng)絡(luò)連接要建立客戶機(jī)或中間層連接,OracleNet要求客戶機(jī)了解下列事項(xiàng):運(yùn)行監(jiān)聽程序的主機(jī)監(jiān)聽程序監(jiān)視的端口監(jiān)聽程序使用的協(xié)議監(jiān)聽程序處理的服務(wù)名名稱解析

建立連接監(jiān)聽程序

傳入的連接請求

用戶會話服務(wù)器

進(jìn)程

PGA

監(jiān)聽程序

用戶會話

用戶進(jìn)程

配置監(jiān)聽器監(jiān)聽器可以被配置在下面兩種方法之一:靜態(tài)的服務(wù)配置用于Oracle8或者更早版本需要配置LISTENER.ORA是OracleEnterpriseManager和其他服務(wù)所需要的動態(tài)的服務(wù)注冊不需要LISTENER.ORA文件監(jiān)聽器依賴于PMON進(jìn)程Oracle9i使用服務(wù)注冊靜態(tài)的服務(wù)注冊:

listener.ora

文件當(dāng)Oracle軟件被安裝時,listener.ora

文件就被自動創(chuàng)建,并且具有下列的默認(rèn)設(shè)置:Listenername LISTENERPort 1521Protocols TCP/IPandIPCSIDname DefaultinstanceHostname Defaulthostname靜態(tài)的服務(wù)注冊:

listener.ora

文件1. LISTENER=2. (ADDRESS_LIST=3. (ADDRESS=(PROTOCOL=TCP)(Host=stc-sun02)(Port=1521)) )4. SID_LIST_LISTENER=5.(SID_LIST=6. (SID_DESC=7.(ORACLE_HOME=/home/oracle)(GLOBAL_DBNAME=ORCL.)9. (SID_NAME=ORCL) )10. ...sampleadditionalSIDdescription... )靜態(tài)的服務(wù)注冊::

創(chuàng)建監(jiān)聽器動態(tài)的服務(wù)注冊::

配置注冊信息

為了確??梢允褂梅?wù)注冊,下面的參數(shù)必須在INIT.ORA文件中配置:SERVICE_NAMESINSTANCE_NAME

動態(tài)的服務(wù)注冊::

配置PMON

默認(rèn)的,PMON在具有下面配置值的本地監(jiān)聽器上注冊服務(wù):Listenername LISTENERPort 1521Protocols TCP/IPSIDname DefaultinstanceHostname DefaulthostnamePMON可以注冊到非默認(rèn)的監(jiān)聽器上,通過下面的方法:在INIT.ORA中定義LOCAL_LISTENER在INIT.ORA文件中配置DISPATCHERS

參數(shù)

(共享服務(wù)器方式)監(jiān)聽器的控制工具(LSNRCTL)監(jiān)聽器控制工具的命令可以在命令行方式執(zhí)行或者LSNRCTL的提示符下執(zhí)行.UNIX命令行語法:提示符語法:控制一個非默認(rèn)的監(jiān)聽器$lsnrctl<commandname>LSNRCTL><commandname>LSNRCTL>setcurrent_listenerlistener02LSNRCTL命令使用下列命令控制監(jiān)聽器:START[listener_name]STOP[listener_name]LSNRCTL的SET

和SHOW

命令SET命令被用于在命令行控制工具環(huán)境中改變監(jiān)聽器的參數(shù).SHOW

命令被用于顯示監(jiān)聽器的參數(shù)值.LSNRCTL>SETtrc_levelADMINLSNRCTL>SHOWconnect_timeout命名方法OracleNet支持多種解析連接信息的方法:簡便連接命名:使用TCP/IP連接字符串本地命名:使用本地配置文件目錄命名:使用符合LDAP的集中式目錄服務(wù)器外部命名:使用受支持的非Oracle命名服務(wù)客戶機(jī)/應(yīng)用程序服務(wù)器

OracleNet

OracleNet配置文件

簡便連接默認(rèn)情況下是啟用的不需要進(jìn)行客戶端配置僅支持TCP/IP(無SSL)不支持高級連接選項(xiàng),如:連接時故障轉(zhuǎn)移 源路由負(fù)載平衡無OracleNet配置文件

SQL>CONNECThr/hr@:1521/dba11g本地命名需要客戶機(jī)名稱解析文件支持所有的OracleNet協(xié)議支持高級連接選項(xiàng),如:連接時故障轉(zhuǎn)移 源路由負(fù)載平衡OracleNet

配置文件

SQL>CONNECThr/hr@orcl目錄命名需要加載了OracleNet名稱解析信息的LDAP:OracleInternetDirectoryMicrosoftActiveDirectoryServices支持所有的OracleNet協(xié)議支持高級連接選項(xiàng)LDAP目錄

OracleNet

配置文件

SQL>CONNECThr/hr@orcl外部命名方法使用受支持的非Oracle命名服務(wù)包括:網(wǎng)絡(luò)信息服務(wù)(NIS)外部命名分布式計(jì)算環(huán)境(DCE)單元目錄服務(wù)(CDS)OracleNet

非Oracle

命名服務(wù)tnsnames.ora#TNSNAMES.ORANetworkConfigurationFile:/u03/ora9i/rel12/network/admin/tnsnames.ora#GeneratedbyOracleconfigurationtools.MY_SERVICE.US.ORACLE.COM=(DESCRIPTION=(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=1521)))(CONNECT_DATA=

(SERVICE_NAME=TEST.)))sqlnet.ora#SQLNET.ORANetworkConfigurationFile:/u03/ora9i/rel12/network/admin/sqlnet.ora#GeneratedbyOracleconfigurationtools.NAMES.DEFAULT_DOMAIN=NAMES.DIRECTORY_PATH=(TNSNAMES,HOSTNAME)SQLNET.EXPIRE_TIME=0sqlplussystem/manager@MY_SERVICESQL*Plus:Release.0-BetaonTueFeb2710:11:002001(c)Copyright2000OracleCorporation.Allrightsreserved.Connectedto:Oracle9iEnterpriseEditionRelease.0-BetaJServerRelease.0-BetaSQL>客戶端的故障解決ORA-12154“TNS:couldnotresolveservicename”O(jiān)RA-12198“TNS:couldnotfindpathtodestination”O(jiān)RA-12203“TNS:unabletoconnecttodestination”O(jiān)RA-12533“TNS:illegalADDRESSparameters”O(jiān)RA-12541“TNS:nolistener”下面是在客戶端連接數(shù)據(jù)庫時可能出現(xiàn)的問題和相關(guān)的錯誤代碼:共享服務(wù)器:連接共享客戶機(jī)應(yīng)用程序的空閑期

已超出指定時間,并且有

傳入的客戶機(jī)請求連接。所配置的最大連

接數(shù)量為255。

此客戶機(jī)連接是指到該服務(wù)器的第256個連接。已打開連接共享,因此可接受此連接。

數(shù)據(jù)庫

服務(wù)器

空閑客戶機(jī)

活動客戶機(jī)

新客

戶機(jī)

不能使用共享服務(wù)器的情況某些類型的數(shù)據(jù)庫工作不能使用共享服務(wù)器執(zhí)行:數(shù)據(jù)庫管理備份和恢復(fù)操作批處理和批量裝載操作數(shù)據(jù)倉庫操作分派程序

專用服務(wù)器進(jìn)程

數(shù)據(jù)庫基礎(chǔ)維護(hù)

——統(tǒng)計(jì)信息的收集目標(biāo)了解內(nèi)置數(shù)據(jù)庫對象了解數(shù)據(jù)字典的內(nèi)容和使用查詢數(shù)據(jù)字典和動態(tài)性能視圖了解如何監(jiān)控?cái)?shù)據(jù)庫后臺運(yùn)行情況了解如何收集數(shù)據(jù)庫統(tǒng)計(jì)信息并進(jìn)行分析內(nèi)置數(shù)據(jù)庫對象隨數(shù)據(jù)庫一起創(chuàng)建的其它對象:數(shù)據(jù)字典性能表PL/SQL程序包數(shù)據(jù)庫事件觸發(fā)器數(shù)據(jù)字典每個Oracle數(shù)據(jù)庫的中心描述數(shù)據(jù)庫以及數(shù)據(jù)庫對象包含只讀表和視圖存儲在SYSTEM

表空間內(nèi)由用戶SYS

擁有由Oracle服務(wù)器進(jìn)行維護(hù)通過SELECT

訪問控制文件數(shù)據(jù)文件

重做日志文件數(shù)據(jù)庫數(shù)據(jù)字典表基表和數(shù)據(jù)字典視圖數(shù)據(jù)字典包含以下兩個部分:基表存儲數(shù)據(jù)庫的說明使用CREATEDATABASE

命令創(chuàng)建數(shù)據(jù)字典視圖用于簡化基表信息通過公共同義詞訪問使用catalog.sql

腳本創(chuàng)建創(chuàng)建數(shù)據(jù)字典視圖腳本

用途catalog.sql

創(chuàng)建常用的數(shù)據(jù)字典視圖和同義詞

catproc.sql

運(yùn)行服務(wù)器端

PL/SQL所必需的腳本

數(shù)據(jù)字典內(nèi)容數(shù)據(jù)字典提供有關(guān)以下方面的信息:邏輯數(shù)據(jù)庫結(jié)構(gòu)和物理數(shù)據(jù)庫結(jié)構(gòu)對象的定義和空間分配完整性約束用戶角色權(quán)限審計(jì)數(shù)據(jù)字典的使用方式主要用途:Oracle服務(wù)器使用它來查找有關(guān)以下內(nèi)容的信息:用戶方案對象存儲結(jié)構(gòu)執(zhí)行DDL語句時,Oracle服務(wù)器會對它進(jìn)行修改。用戶和DBA可將它作為數(shù)據(jù)庫相關(guān)信息的只讀參考數(shù)據(jù)字典視圖的類別三種靜態(tài)視圖集按范圍分類為:DBA:所有方案中的視圖

ALL:用戶可以訪問的視圖

USER:用戶方案中的視圖

USER_xxx

數(shù)據(jù)庫中的所有對象

ALL_xxx

當(dāng)前用戶可以訪問的對象

DBA_xxx

當(dāng)前用戶所擁有的對象

數(shù)據(jù)字典示例總覽DICTIONARY,DICT_COLUMNS方案對象DBA_TABLES,DBA_INDEXES,DBA_TAB_COLUMNS,DBA_CONSTRAINTS空間分配DBA_SEGMENTS,DBA_EXTENTS數(shù)據(jù)庫結(jié)構(gòu)DBA_TABLESPACES,DBA_DATA_FILES動態(tài)性能表虛擬表記錄當(dāng)前的數(shù)據(jù)庫活動在數(shù)據(jù)庫可操作時不斷更新通過內(nèi)存和控制文件訪問信息用于監(jiān)控和優(yōu)化數(shù)據(jù)庫由SYS

用戶擁有同義詞以V$

開頭在V$FIXED_TABLE

中列出動態(tài)性能表示例V$CONTROLFILEV$DATABASEV$DATAFILEV$INSTANCEV$PARAMETERV$SESSIONV$SGA$SPPARAMETERV$TABLESPACEV$THREADV$VERSION診斷文件

包含有關(guān)出現(xiàn)的重要事件的信息用于解決問題用于更好地進(jìn)行數(shù)據(jù)庫的日常管理

共有以下幾種類型:

alertSID.log

文件

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

使用診斷文件監(jiān)視實(shí)例警報(bào)日志文件alertSID.log

文件:

記錄命令記錄主要事件結(jié)果用于記錄日常操作信息用于診斷數(shù)據(jù)庫錯誤

每個條目都帶有與之相關(guān)聯(lián)的時間戳必須由

DBA進(jìn)行管理

存儲位置由

BACKGROUND_DUMP_DEST

定義

后臺跟蹤文件后臺跟蹤文件記錄所有后臺進(jìn)程檢測到的錯誤用于診斷并排除錯誤

在后臺進(jìn)程遇到錯誤時創(chuàng)建存儲位置由

BACKGROUND_DUMP_DEST

定義

用戶跟蹤文件用戶跟蹤文件

由用戶進(jìn)程生成可由服務(wù)器進(jìn)程生成包含跟蹤的

SQL語句的統(tǒng)計(jì)信息包含用戶錯誤消息

在用戶遇到會話錯誤時創(chuàng)建存儲位置由

USER_DUMP_DEST

定義大小由

MAX_DUMP_FILE_SIZE

定義

啟用或禁用用戶跟蹤會話級別:

使用

ALTERSESSION

命令:

ALTERSESSIONSETSQL_TRACE=TRUE執(zhí)行

DBMS過程:

dbms_system.SET_SQL_TRACE_IN_SESSION實(shí)例級別

設(shè)置初始化參數(shù):

SQL_TRACE=TRUEOracleAWR

OracleDatabase10g提供了一個顯著改進(jìn)的工具:自動工作負(fù)載信息庫(AWR:AutomaticWorkloadRepository)。Oracle建議用戶用這個取代Statspack。AWR實(shí)質(zhì)上是一個Oracle的內(nèi)置工具,它采集與性能相關(guān)的統(tǒng)計(jì)數(shù)據(jù),并從那些統(tǒng)計(jì)數(shù)據(jù)中導(dǎo)出性能量度,以跟蹤潛在的問題。與Statspack不同,快照由一個稱為MMON的新的后臺進(jìn)程及其從進(jìn)程自動采集數(shù)據(jù)。

$ps-ef|grepmmonoracle28407210Oct21-20:10ora_mmon_htxxsvc2OracleAWR為了節(jié)省空間,系統(tǒng)默認(rèn)采集的數(shù)據(jù)在7天后自動清除??煺疹l率和保留時間都可以由用戶修改:查看當(dāng)前的AWR保存策略:

SQL>colSNAP_INTERVALformata20

SQL>colRETENTIONformata20

SQL>select*fromdba_hist_wr_control;

DBID

SNAP_INTERVALRETENTIONTOPNSQL

----------

--------------------

--------------------

----------

2774909533

+0000001:00:00.0+0000700:00:00.0DEFAULT以上結(jié)果表示,每小時產(chǎn)生一個SNAPSHOT,保留7天。

OracleAWRSQL>@$ORACLE_HOME/rdbms/admin/awrrpt.sql

它產(chǎn)生兩種類型的輸出:文本格式(類似于Statspack報(bào)表的文本格式但來自于AWR信息庫)和默認(rèn)的HTML格式(擁有到部分和子部分的所有超鏈接),從而提供了非常用戶友好的報(bào)表。直接回車,生成html格式的awr:OracleAWR

輸入你想創(chuàng)建的最近快照天數(shù):OracleAWR列出近兩天的實(shí)例的快照ID及時間:OracleAWR輸入快照起始,結(jié)束ID及awr報(bào)告的名稱:OracleAWR可能運(yùn)行幾秒到幾分鐘的時間就會將兩個快照之間的統(tǒng)計(jì)信息輸出到html中。OracleAWR

AWR報(bào)告:數(shù)據(jù)庫備份目標(biāo)創(chuàng)建一致數(shù)據(jù)庫備份在不關(guān)閉數(shù)據(jù)庫情況下備份數(shù)據(jù)庫創(chuàng)建增量備份執(zhí)行自動數(shù)據(jù)庫備份管理備份和查看備份報(bào)告監(jiān)視快速恢復(fù)區(qū)備份解決方案:概覽使用以下方法可執(zhí)行備份:RecoveryManager邏輯備份

用戶管理的備份映像副本

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

目標(biāo)數(shù)據(jù)庫

備份片段

備份數(shù)據(jù)

快速恢復(fù)區(qū)

冗余歸檔日志文件

歸檔日志文件

邏輯備份

Export應(yīng)用程序?qū)?shù)據(jù)庫表保存到操作系統(tǒng)文件,這個文件只能由Import應(yīng)用程序讀入數(shù)據(jù)庫。卸出模式如下:

Table:卸出用戶的指定表。

User:卸出用戶模式中的所有對象。

FullDatabase:卸出數(shù)據(jù)庫中的所有對象。具有EXP_FULL_DATABASE角色的用戶可操作此項(xiàng)。用戶管理的備份用戶管理的方案:指手動跟蹤備份需求和狀態(tài)的過程通常使用用戶自己編寫的腳本需要將數(shù)據(jù)庫文件置于正確的模式以進(jìn)行備份依賴操作系統(tǒng)命令來備份文件備份策略可包括:整個數(shù)據(jù)庫(整個,所有數(shù)據(jù)文件和至少一個控制文件)部分?jǐn)?shù)據(jù)庫(部分,表空間,數(shù)據(jù)文件等)備份類型可指示包含以下項(xiàng):所選文件中的所有數(shù)據(jù)塊(完全備份)只限自以前某次備份以來更改過的信息(增量備份)累積(自上次0級備份以來的更改)差異(自上次增量備份以來的更改)備份模式可為以下類型:脫機(jī)(一致備份或冷備份)聯(lián)機(jī)(非一致備份或熱備份)

數(shù)據(jù)庫

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

聯(lián)機(jī)重做日志文件

控制文件

術(shù)語術(shù)語備份可存儲為:映像副本備份集數(shù)據(jù)文件#2

數(shù)據(jù)文件#3

數(shù)據(jù)文件#4

數(shù)據(jù)文件#5

數(shù)據(jù)文件#1

數(shù)據(jù)文件#6

映像副本

(操作系統(tǒng)格式的數(shù)據(jù)文件和日志文件的副本)

備份集

(Oracle專有格式的二縮文件)

數(shù)據(jù)文件#1

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

數(shù)據(jù)文件#3

數(shù)據(jù)文件#4

數(shù)據(jù)文件#5

數(shù)據(jù)文件#6

歸檔與非歸檔

非歸檔操作:在介質(zhì)出現(xiàn)失敗時,只能將數(shù)據(jù)庫恢復(fù)到最后后備的那一刻。歸檔操作:在介質(zhì)出現(xiàn)失敗時,能使用歸檔日志文件最大量的恢復(fù)數(shù)據(jù)庫數(shù)據(jù)。歸檔與非歸檔

歸檔需求:數(shù)據(jù)庫必須在ARCHIVELOG模式下操作啟動自動歸檔進(jìn)程ARCHIVER有足夠的資源保存歸檔日志文件歸檔與非歸檔

顯示歸檔狀態(tài):SQL>ARCHIVELOGLIST;Databaselogmode歸檔模式Automaticarchival歸檔進(jìn)程狀態(tài)Archivedestination歸檔目標(biāo)Oldestonlinelogsequence舊日志組序列號Nextlogsequencetoarchive下一個日志組序列號Currentlogsequence當(dāng)前日志組序列號歸檔狀態(tài)下的備份方式

RecoveryManager(RMAN)具有強(qiáng)大的控制能力和腳本編寫語言已與EnterpriseManager集成在一起具有已公布的API,可以用來連接到多數(shù)常用備份軟件可備份數(shù)據(jù)、控制文件、歸檔日志文件和服務(wù)器參數(shù)件可將文件備份到磁盤或磁帶使用RMAN命令行控制文件

SPFILE歸檔日志文件

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

控制文件

副本123$rmantarget/

RMAN>CONFIGURE…RMAN>

BACKUPDATABASEPLUSARCHIVELOG;啟動RMAN本地啟動RMAN

遠(yuǎn)程啟動RMANUNIX: $ORACLE_SID=DB01;exportORACLE_SID

$rmantarget/rmantargetsys/password@DB01WindowsNT: C:\>setORACLE_SID=DB01 C:\>rmantarget/其它RMAN命令行參數(shù)將RMAN輸出寫入日志文件

調(diào)用RMAN時執(zhí)行命令文件

啟動RMAN時建立數(shù)據(jù)庫連接$rmanTARGETsys/oracle

CMDFILE=$HOME/scripts/my_rman_script.rcv$rmanTARGETsys/oracle

LOG=$HOME/oradata/u03/rman.logAPPEND$rmanTARGETSYS/sys_pwd@orclCATALOGrman/rman@rcat配置RMAN的永久性設(shè)置RMAN預(yù)設(shè)有一些默認(rèn)的配置設(shè)置使用CONFIGURE

命令可以:配置自動通道指定備份保留策略指定要創(chuàng)建的備份副本數(shù)將默認(rèn)備份類型設(shè)置為BACKUPSET

或COPY

限制備份集的大小從備份中免除某個表空間啟用和禁用備份優(yōu)化配置控制文件的自動備份SQL基礎(chǔ)之

使用SELECT

語句檢索數(shù)據(jù)

主要內(nèi)容DESCRIBE命令基本的SELECT

語句使用DESCRIBE

命令DESCRIBEemployeesSQL概述SQL功能操作符數(shù)據(jù)查詢SELECT數(shù)據(jù)定義CREATE,ALTER,DROP數(shù)據(jù)操縱INSERT,UPDATE,DELETE數(shù)據(jù)控制GRANT,REVOKE編寫SQL語句SQL語言大小寫不敏感。

SQL可以寫在一行或者多行關(guān)鍵字不能被縮寫也不能分行各子句一般要分行寫。使用縮進(jìn)提高語句的可讀性。SQL語句在SQLDeveloper中,可以以一個分號(;)終止,當(dāng)你執(zhí)行多個SQL語句,結(jié)束分號是必需的。在SQL*Plus中,你必須用分號(;)結(jié)束每條SQL語句。SQLSELECT

語句的功能(選擇)行(投影)列Table1Table2Table1Table1(連接)Join基本SELECT語句SELECT標(biāo)識選擇哪些列。FROM標(biāo)識從哪個表中選擇。

WHERE標(biāo)示選擇的具體過濾條件。SELECT*|{[DISTINCT]column|expression[alias],...}FROMtableWHEREconditions;選擇全部列SELECT*FROMdepartments;選擇特定的列SELECTdepartment_id,location_idFROMdepartments;從數(shù)據(jù)字典中獲取表的列信息SQL>SELECTTABLE_NAME,COLUMN_NAME,DATA_TYPE,DATA_LENGTH,NULLABLEFROMUSER_TAB_COLUMNSWHERETABLE_NAME='DEPT';TABLE_NAMECOLUMN_NAMEDATA_TYPEDATA_LENGTHNULLABLE--------------------------------------------------------------DEPTDEPTNONUMBER22YDEPTDNAMEVARCHAR214YDEPTLOCVARCHAR213YOracle10gRAC介紹什么是OracleRAC集群?OracleRealApplicationServer,真正應(yīng)用集群,簡稱OracleRAC,是Oracle的并行集群,位于不同服務(wù)器系統(tǒng)的Oracle實(shí)例同時訪問同一個Oracle數(shù)據(jù)庫,節(jié)點(diǎn)之間通過私有網(wǎng)絡(luò)進(jìn)行通信,所有的控制文件、聯(lián)機(jī)日志和數(shù)據(jù)文件存放在共享的設(shè)備上,能夠被集群中的所有節(jié)點(diǎn)同時讀寫。了解體系結(jié)構(gòu)公用網(wǎng)絡(luò)節(jié)點(diǎn)1共享存儲重做日志所有實(shí)例數(shù)據(jù)庫和控制文件OCR和voting磁盤(oracle_home)操作系統(tǒng)CRS集群互聯(lián)數(shù)據(jù)庫實(shí)例1ASM實(shí)例1節(jié)點(diǎn)2操作系統(tǒng)CRS數(shù)據(jù)庫實(shí)例2ASM實(shí)例2節(jié)點(diǎn)3操作系統(tǒng)CRS數(shù)據(jù)庫實(shí)例3ASM實(shí)例3集群互聯(lián)...了解體系結(jié)構(gòu)客戶端首先訪問某個實(shí)例,讓后再通過集群管理軟件訪問到數(shù)據(jù)庫的數(shù)據(jù);節(jié)點(diǎn)之間使用內(nèi)部連接進(jìn)行通訊。了解體系結(jié)構(gòu)使用緩存融合(CacheFusion)技術(shù)技術(shù)對數(shù)據(jù)進(jìn)行處理緩存融合(Cachefusion)工作原理:

1.其中一個節(jié)點(diǎn)會從共享數(shù)據(jù)庫中讀取一個block到dbcache中

2.這個節(jié)點(diǎn)會在所有的節(jié)點(diǎn)進(jìn)行交叉dbblockcopy

3.當(dāng)任何一個節(jié)點(diǎn)緩存被修改的時候,就會在節(jié)點(diǎn)之間進(jìn)行緩存修改

4.為了達(dá)到存儲的一致最終修改的結(jié)果也會寫到磁盤上RAC提供的好處多節(jié)點(diǎn)負(fù)載均衡;提供高可用:故障容錯和無縫切換功能,將硬件和軟件錯誤造成的影響最小化。RAC提供的好處通過并行執(zhí)行技術(shù)提高事務(wù)響應(yīng)時間----通常用于數(shù)據(jù)分析系統(tǒng);通過橫向擴(kuò)展提高每秒交易數(shù)和連接數(shù);----通常對于聯(lián)機(jī)事務(wù)系統(tǒng);可擴(kuò)展性好,可以方便添加刪除節(jié)點(diǎn),擴(kuò)展硬件資源

OracleClusterware介紹OracleClusterware 是一個集群軟件,使用它做集群的所有操作系統(tǒng)必須相同。使用OracleClusterware將多個裝有相同操作系統(tǒng)的服務(wù)器捆綁到一起,當(dāng)對這些集群的服務(wù)器進(jìn)行訪問時,就像訪問一臺服務(wù)器一樣。OracleClusterware要求兩個集群組件:(1)votingdisk(表決磁盤):用于記錄集群節(jié)點(diǎn)的信息。RAC用它來確定哪些實(shí)例是集群實(shí)例。當(dāng)網(wǎng)絡(luò)發(fā)生故障時,還要用它存儲的信息進(jìn)行健康檢查(例如檢查成員服務(wù)器是否可用)和仲裁。表決磁盤必須存放在共享磁盤上。(2)OracleClusterRegistry(OCR,集群注冊),用于記錄集群配置信息。集群注冊也必須存放在共享磁盤上。OracleClusterware組件進(jìn)程OracleClusterware進(jìn)程

crsd:負(fù)責(zé)管理集群的高可用操作。管理的crs資源包括數(shù)據(jù)庫、實(shí)例、監(jiān)聽、虛擬IP,ons,gds或者其他,操作包括啟動、關(guān)閉、監(jiān)控及故障切換。改進(jìn)程由root用戶管理和啟動。crsd如果有故障會導(dǎo)致系統(tǒng)重啟。cssd,管理各節(jié)點(diǎn)的關(guān)系,用于節(jié)點(diǎn)間通信,節(jié)點(diǎn)在加入或離開集群時通知集群。該進(jìn)程由oracle用戶運(yùn)行管理。發(fā)生故障時cssd也會自動重啟系統(tǒng)。oprocd–集群進(jìn)程管理—Processmonitorforthecluster.用于保護(hù)共享數(shù)據(jù)IOfencing(IO隔離)。iofencing用來防止腦裂(splitbrain)的。在心跳網(wǎng)卡全部中斷通訊的時候,各個節(jié)點(diǎn)由于失去了聯(lián)系,會搶奪資源,這時候誰最先fencingdisk霸占住,誰就是主用,搶不到的還是備用。

僅在沒有使用vendor的集群軟件狀態(tài)下運(yùn)行evmd:事件檢測進(jìn)程,由oracle用戶運(yùn)行管理Oracle集群存儲選項(xiàng)需要存儲的基本軟件和數(shù)據(jù)Oracle集群存儲選項(xiàng)各部分支持的存儲系統(tǒng)OracleRAC安裝操作系統(tǒng)環(huán)境準(zhǔn)備(程序包、內(nèi)核參數(shù)、用戶等)安裝CRS安裝oracle軟件打補(bǔ)丁創(chuàng)建數(shù)據(jù)庫OracleRAC功能測試(failover、loadbalance)詳細(xì)安裝步驟可參看在各操作系統(tǒng)相關(guān)的安裝文檔OracleRAC負(fù)載均衡功能參數(shù)配置tnsnames.ora參數(shù)配置

ZHUMORCL=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=vip1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=vip2)(PORT=1521))(LOAD_BALANCE=yes)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ZHUMORCL)(failover_mode=(type=session)(method=basic)(delay=5))))在sql下運(yùn)行以下語句:SQL>ALT

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論