ORACLE數(shù)據(jù)庫(kù)培訓(xùn)講義_第1頁(yè)
ORACLE數(shù)據(jù)庫(kù)培訓(xùn)講義_第2頁(yè)
ORACLE數(shù)據(jù)庫(kù)培訓(xùn)講義_第3頁(yè)
ORACLE數(shù)據(jù)庫(kù)培訓(xùn)講義_第4頁(yè)
ORACLE數(shù)據(jù)庫(kù)培訓(xùn)講義_第5頁(yè)
已閱讀5頁(yè),還剩104頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

ORACLE數(shù)據(jù)庫(kù)培訓(xùn)講義

DBA第一部分

目的:

1、了解ORACLE數(shù)據(jù)庫(kù)體系結(jié)構(gòu)。

2、初步從整體上認(rèn)識(shí)ORACLE。

3、學(xué)會(huì)基礎(chǔ)的ORACLE配置。

目錄:

1.ORACLE體系結(jié)構(gòu)

2.開(kāi)始ORACLE

3.ORACLE實(shí)例管理

4.創(chuàng)建數(shù)據(jù)庫(kù)

5.管理控制文件

6.管理聯(lián)機(jī)日志文件

7.管理表空間和數(shù)據(jù)庫(kù)文件

8.管理表、索引、數(shù)據(jù)完整性

9.管理用戶、權(quán)限、角色。

1、ORACLE體系結(jié)構(gòu)

Oracle整體結(jié)構(gòu)圖

Instance

User

processSharedPoolSGA

Library

DatabaseRedoLog

Cache

BufferCacheBuffer

ServerDataDictionary

process

CacheJavaPoolLargePool

PGA

(PMON)(SMON)(DBWR)(LGWR)(CKPT)(Others)

11

Password

file

1-1

ORACLE數(shù)據(jù)庫(kù)服務(wù)器

一個(gè)ORACLE數(shù)據(jù)庫(kù)服務(wù)

器:

?就是一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng),它

對(duì)信息提供了一種開(kāi)放的、全面

的、完整的管理。

?由一個(gè)ORACLE數(shù)據(jù)庫(kù)和一個(gè)

ORACLE數(shù)據(jù)庫(kù)實(shí)例組成。

1-2

ORACLE數(shù)據(jù)庫(kù)實(shí)例

一個(gè)ORACLE數(shù)據(jù)庫(kù)實(shí)例:

?就是一個(gè)訪問(wèn)數(shù)據(jù)庫(kù)的方法或方式

?對(duì)應(yīng)于一個(gè)也是只能一個(gè)打開(kāi)的數(shù)據(jù)庫(kù)

?由內(nèi)存結(jié)構(gòu)和多個(gè)后臺(tái)服務(wù)器進(jìn)程組成。

Instance

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

后臺(tái)進(jìn)程

1-3

ORACLE數(shù)據(jù)庫(kù)

一個(gè)ORACLE數(shù)據(jù)庫(kù):

?由控制文件、REDO文件、數(shù)據(jù)文件三種文

件類型組成

?有邏輯和物理二種結(jié)構(gòu)

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

ORACLE數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)指的是一組在數(shù)據(jù)庫(kù)中,由多個(gè)操

作系統(tǒng)文件組合在一起的集合,包括:

?控制文件,包含了用于維護(hù)和校驗(yàn)數(shù)據(jù)庫(kù)完整性的信息。

?REDO文件,包含了數(shù)據(jù)庫(kù)的最近的操作記錄日志

?數(shù)據(jù)文件,最重要部分,包含了數(shù)據(jù)的信息

1-6

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

ORACLE數(shù)據(jù)庫(kù)內(nèi)存結(jié)構(gòu)包括二個(gè)內(nèi)存區(qū)域:

?SystemGlobalArea(SGA):在實(shí)例啟動(dòng)時(shí)分配,它是實(shí)

例中的一個(gè)基礎(chǔ)組件。

?ProgramGlobalArea(PGA):在服務(wù)器進(jìn)程啟動(dòng)的時(shí)候分

配。作

PGA

1-7

SystemGlobalArea

SGA由幾種內(nèi)存結(jié)構(gòu)組成:

?共享池(SharedPool)

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

?REDO日志緩沖池(RedoLogBuffer)

?大型池(LargePool)

?JAVA緩沖池(JavaPool)

Instance

1-8

SystemGlobalArea

?是動(dòng)態(tài)的,可在ORACLE運(yùn)行期間進(jìn)行調(diào)整。

?大小由參數(shù)SGA_MAX_SIZE決定。

?在SGA中分配、管理內(nèi)存時(shí),都是以粒度為單位的,粒

度由以下決定:

?相鄰內(nèi)存塊的分配。

?基于SGA_MAX_SIZE:

4M,SGA_MAX_SIZE<128M

16MSGA_MAX_SIZE>128M

1-9

共享池(Sharedpool)

Sharedpool用于存放:

?最近執(zhí)行過(guò)的SQL語(yǔ)句

?最近用過(guò)的數(shù)據(jù)定義

Sharedpool有二個(gè)性能有關(guān)的內(nèi)存結(jié)構(gòu):

?LibraryCache

?DataDictionaryCache

Sharedpool大小由SHARED_POOL_SIZE

1-10

LibraryCache

?LibraryCache用于存放最近執(zhí)行過(guò)的SQL語(yǔ)句、PL/SQL

程序。

?管理內(nèi)存分配用LRU(leastrecentlyused)算法。

?由二個(gè)內(nèi)存結(jié)構(gòu)組成:

共享SQL語(yǔ)句區(qū)域

共享PL/SQL區(qū)域

?大小由SharedPool的大小決定。

■1-11

DataDictionaryCache

?DataDictionaryCache用于存放最近使用的用戶定義,包

括數(shù)據(jù)文件、表、索引、用戶、權(quán)限等。

?在SQL、PL/SQL語(yǔ)句編繹期間,服務(wù)器進(jìn)程會(huì)在Data

DictionaryCache中查找最近訪問(wèn)的用戶定義,而不會(huì)去數(shù)

據(jù)庫(kù)文件中找,通過(guò)這種方式,加快處理速度,提高系統(tǒng)的

性能。

?DataDictionaryCache大小由SharedPool大小決定。

1

1-12

DatabaseBufferCache

?用于存儲(chǔ)從數(shù)據(jù)庫(kù)文件中讀取出來(lái)的數(shù)據(jù)塊復(fù)制。

?在讀取數(shù)據(jù)或更新數(shù)據(jù)操作中,通過(guò)DatabaseBuffter

Cache能使性能得到很大的提高。

?DatabaseBufferCache內(nèi)存管理通過(guò)LRU算法實(shí)現(xiàn)。

?DB_BLOCK_SIZE決定數(shù)據(jù)塊的大小。

?由下面互不關(guān)系的子Cache組成:

?DB_CACHE_SIZE

?DB_KEEP_CACHE_SIZE

?DB_RECYCLE_CACHE_SIZE

1-13

RedoLogBuffer

?記錄數(shù)據(jù)塊記錄的變化日志

?主要是用于數(shù)據(jù)庫(kù)的恢復(fù)

?變化記錄也被稱之為重做體(REDOENTRIES),重做體

包括了重構(gòu)的信息或重做的變化。

?大小由LOG_BUFFER決定。

RedoLog

Buffer

1-14

LargePool

?在SGA中,是可選的內(nèi)存區(qū)。

?用于減輕SharedPool的負(fù)擔(dān)。

?用于:

共享連接的SESSION內(nèi)存區(qū)(UGA)o

I/O服務(wù)進(jìn)程

備份、恢復(fù)操作或RMAN管理

并行執(zhí)行的消息緩沖區(qū)

?內(nèi)存管理不有LRU算法

?大小用LARGE_POOL_SIZE

?可以動(dòng)態(tài)調(diào)整

1-15

JavaPool

?用于ORACLE中內(nèi)嵌JAVA程序,如JSQL。

?大小由JAVA_POOL_SIZE決定,大小一般都要在

20M以上。如巢不用,把配置值設(shè)置為1M。

1-16

ProgramGlobalArea

?為連接到數(shù)據(jù)庫(kù)的用戶所用

的內(nèi)存區(qū)。

?當(dāng)用戶進(jìn)程創(chuàng)建時(shí)進(jìn)行分配。PGA

Server

?當(dāng)用戶進(jìn)程退出時(shí)回收。process

?內(nèi)存為非共享的,分配時(shí)只

能分配給一個(gè)用戶使用。

1-17

ProcessStructure

ORACLE數(shù)據(jù)庫(kù)在運(yùn)行期間使用下面幾種進(jìn)程:

用戶進(jìn)程:一個(gè)數(shù)據(jù)庫(kù)用戶請(qǐng)求連接到

ORACLE服務(wù)器時(shí)啟動(dòng)。

服務(wù)器進(jìn)程:連接到ORACLE數(shù)據(jù)庫(kù)實(shí)例,當(dāng)

一個(gè)用戶創(chuàng)建一個(gè)SESSION時(shí)啟動(dòng)。

后臺(tái)進(jìn)程:數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)時(shí)啟動(dòng)。

1-18

用戶進(jìn)程(UserProcess)

?一個(gè)和ORACLE數(shù)據(jù)庫(kù)請(qǐng)求交互的程序。

?和ORACLE建立連接。

?不和ORACLE數(shù)據(jù)庫(kù)直接交互。

Connection

established

Databaseuser

1-19

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

?一個(gè)和ORACLE數(shù)據(jù)庫(kù)直接交互的程序。

?進(jìn)行普通的調(diào)用并返回結(jié)果。

?有二種進(jìn)行連接方式:專用連接、共享連接。

1-20

后臺(tái)進(jìn)程(BackgroupProcess)

?用于維護(hù)和管理ORACLE數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)和儲(chǔ)結(jié)構(gòu)之間的

關(guān)系。

?主要后臺(tái)進(jìn)程包括:

DBWnPMONCKPTLGWRSMON

?可選后臺(tái)進(jìn)行包括:

ARCnLMDnQMNnCJQOLMONRECO

DnnnLMSSnnnLCKnPnnn

1-21

數(shù)據(jù)庫(kù)寫進(jìn)程(DBWn)

InstanceDBWn進(jìn)程完成把數(shù)據(jù)庫(kù)緩沖

區(qū)的內(nèi)容寫回?cái)?shù)據(jù)庫(kù)文件,開(kāi)

始啟動(dòng)于:

?Checkpoint完成

?沒(méi)有空閑的數(shù)據(jù)緩沖區(qū)

(zfCTTtx/xx*x*?設(shè)置時(shí)間已到

?有RACping請(qǐng)求

?表空間脫機(jī)(offline)

Redo?表空間修改為只讀

DataControl榴

filesfiles?刪除表、或truncate表

?表空間開(kāi)始begin

Databasebackup

1-22

日志寫(LGWR)

InstanceLGWR進(jìn)程完成把重做日志

緩沖區(qū)的內(nèi)容寫到REDO文

件,開(kāi)始啟動(dòng):

?Comrrdt進(jìn)行提交事務(wù)

?Redo緩沖區(qū)1/3時(shí)

?在redo緩沖區(qū)有1M日

_,一—?的?每三秒啟動(dòng)一次

DataControlLog?在DBWn進(jìn)程寫之前

files京lesfiles

Database

1-23

系統(tǒng)監(jiān)控進(jìn)程(SMON)

Instance

SMON進(jìn)程主要用于:

?數(shù)據(jù)庫(kù)實(shí)例恢復(fù)

?管理空閑表空間

?回收臨時(shí)表空間

\^^z

Redo

DataControlLog

filesfilesfiles

Database

1-24

進(jìn)程監(jiān)控進(jìn)程(PMON)

Instance

用于服務(wù)器進(jìn)程運(yùn)行失敗后

的清理工作,包括:

?回滾事務(wù)

?釋放鎖資源

zf***Tx/,\,\x**"*,\,釋放相關(guān)的其他資源

?重啟死的發(fā)器

dispatchers)

1-25

檢查點(diǎn)進(jìn)程(CKPT)

CKPT進(jìn)程主要負(fù)責(zé):

?更新文件頭信息

?更新控制文件信息

?喚醒DBWn進(jìn)程

Redo

DataControlLog

filesfilesfiles

Database

1-26

歸檔進(jìn)程(ARCn)

?是可選的后臺(tái)進(jìn)程

?當(dāng)歸檔(ARCHIVELOG)模式已設(shè)置的時(shí)候,完

成聯(lián)機(jī)日志的自動(dòng)歸檔。

?保存在數(shù)據(jù)庫(kù)操作中產(chǎn)生的所有日志變化記錄,這

些記錄全部保存在歸檔日志中。

ARCn.

1-27

邏輯結(jié)構(gòu)

ORACLE體系結(jié)構(gòu)中的邏輯結(jié)構(gòu)是指數(shù)據(jù)庫(kù)中的物理空間如

何分配使用。它由一個(gè)層次體系結(jié)構(gòu)組成:

表空間(tablespace)一段(segment)-區(qū)(extent)-block(塊)

一個(gè)數(shù)據(jù)庫(kù)由一組表空間組成,一個(gè)表空間由一個(gè)或多個(gè)段

(segment)組成,一個(gè)段由多個(gè)區(qū)組成,一個(gè)區(qū)由多個(gè)數(shù)據(jù)塊

組成,塊是數(shù)據(jù)庫(kù)中讀寫操作中最小的組織單位。

Tablespace

Datafile

__Extent_旦!藝叵一一

1-28

2、開(kāi)始ORACLE

數(shù)據(jù)庫(kù)管理維護(hù)工具

工具描述

OracleUniversal用于安裝、更新、刪除ORACLE組件。

Installer(OUI)

OracleDatabase是一個(gè)圖形化操作工具,用于交互式的

Configuration創(chuàng)建、刪除、修改數(shù)據(jù)庫(kù)

Assistant

SQL*Plus用于訪問(wèn)、操作數(shù)據(jù)庫(kù)的父互式工具。

OracleEnterprise圖形化操作工具,用于管理、監(jiān)控、性

Manager能調(diào)整等操作。

2-1

數(shù)據(jù)庫(kù)管理維護(hù)工具?OUI

E兇

歡迎使用

OracleUniversalInstaller將指導(dǎo)您完成Oracle產(chǎn)品的安裝和配置

單擊"下一步"可以向前一步.

單擊"上一步"可以后退一步.

單擊“已安裝產(chǎn)品,可以查看所有已安裝的產(chǎn)品

卸裝產(chǎn)品.

關(guān)于OracleUniversalInstaller,

上一

2-2

數(shù)據(jù)庫(kù)管理維護(hù)工具?DBCA

2-3

數(shù)據(jù)庫(kù)管理維護(hù)工具-SQLPLUS

2-4

數(shù)據(jù)庫(kù)管理維護(hù)工具OEM

文件(日導(dǎo)航器(電對(duì)象(0)工具①配置?幫助(由ORACLE

EnterpriseManagef

iba數(shù)據(jù)庫(kù)OracleEnterpriseManager

OracleEnterpriseManager是一個(gè)菅理捱

管理完整的Oracle環(huán)境,包括數(shù)據(jù)庫(kù),

IAS服務(wù)器,應(yīng)用程序和服務(wù)。

診斷,修改和優(yōu)化多個(gè)數(shù)據(jù)庫(kù)。

在多個(gè)系統(tǒng)上,按不同的附間間隔調(diào)度

通過(guò)網(wǎng)絡(luò)管理數(shù)據(jù)庫(kù)條件。

管理來(lái)自許多位置的多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)和服

和其他管理員共享任務(wù)。

將相關(guān)的服務(wù)組合在一起,便于對(duì)任務(wù)

的管理。

啟動(dòng)集成的Oracle和第三方工具。

有關(guān)Console的詳細(xì)信

請(qǐng)單擊速成教學(xué)按鈕

2-5

3、管理ORACLE實(shí)例

初始化參數(shù)文件

OracleInstance

SGA

SharedPool

LibraryDatabaseRedoLog

CacheBufferCacheBuffer

DataDictionary

CacheJavaPooLargePool

spfiledbOl.ora

CONNECT/ASSYSDBA

STARTUP

3-1

初始化參數(shù)文件

?數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)時(shí)所用的配置參數(shù)。

,有二種類型:

?明確指定的,在參數(shù)文件中配置說(shuō)明。

?默認(rèn)的,在參數(shù)文件中不指定,采用系統(tǒng)默認(rèn)值。

?一個(gè)數(shù)據(jù)庫(kù)中可有多個(gè)參數(shù)文件,但只有一個(gè)是默認(rèn)

的,INITVSIDNORA或SPFILEvSID>.ORA

?有二種類型

?靜態(tài)文本文件,PFILE

?二進(jìn)制文件,SPFILE,在數(shù)據(jù)庫(kù)運(yùn)行期間可修改。

3-2

啟動(dòng)數(shù)據(jù)庫(kù)操作

啟動(dòng)數(shù)據(jù)庫(kù)時(shí),默認(rèn)讀取參數(shù)次序:

?SPFILE<SID>.ORA

?默認(rèn)SPFILE

?INIT<SID>.ORA

?默認(rèn)PFILE

STARTUP

指定PFILE可以忽略讀取參數(shù)次序,直接有用指定PFILE

STARTUPPFILE=$ORACLE_HOME/dbs/initDBAl.ora

PFILE可以引用到SPFILE中:

SPFILE=/database/startup/spfileDBAl.ora

3-3

啟動(dòng)數(shù)據(jù)庫(kù)過(guò)程

OPEN

STARTUPAllfilesopenedas

describedbythecontrol

MOUNTfileforthisinstance

Controlfile

openedforthis

NOMOUNTinstance

Instance

started

SHUTDOWN

SHUTDOWNI

3-4

關(guān)閉數(shù)據(jù)庫(kù)

SHUTDOWN[immediate]/[abort]/[transactional]

|A|1

ShutdownModeTN

AllownewconnectionsNoNoNoNo

|No|Yes

WaituntilcurrentsessionsendNoNo

Yes|

WaituntilcurrenttransactionsendNoNoYes

ForceacheckpointandclosefilesNoYesYesYes

關(guān)閉模式:

-A=ABORT

-I=IMMEDIATE

-T=TRANSACTIONAL

-N=NORMAL

3-5

通過(guò)診斷文件監(jiān)控?cái)?shù)據(jù)庫(kù)

診斷文件:

?包含了實(shí)例運(yùn)行期間所發(fā)生的事件相關(guān)的信息。

?用于分析解決問(wèn)題。

?用于的基于日常的數(shù)據(jù)庫(kù)管理比較好的方式

診斷文件有幾種類型:

?alertvSID>.log文件,包括了數(shù)據(jù)庫(kù)日常操作事件。

位置由參數(shù)backgroup_dump_dest決定

?后臺(tái)進(jìn)程跟蹤文件,存放當(dāng)后臺(tái)進(jìn)程運(yùn)行出錯(cuò)時(shí)輸出

的信息。位置由參數(shù)backgroup_dump_dest決定。

?用戶跟蹤文件,存放用戶操作發(fā)生錯(cuò)誤信息或用戶

直接導(dǎo)出(一般通過(guò)DUMP)的相關(guān)信息。位置由參

數(shù):user_dump_dest決定。

3-6

4、創(chuàng)建數(shù)據(jù)庫(kù)

創(chuàng)建數(shù)據(jù)庫(kù)先決條件

創(chuàng)建數(shù)據(jù)庫(kù)前,必須有下列先決條件:

?一個(gè)用戶帳號(hào),這個(gè)帳號(hào)的認(rèn)證方式是下列其

中之一:

?操作系統(tǒng)認(rèn)證

?密碼文件認(rèn)證

?足夠內(nèi)存啟動(dòng)實(shí)例(一個(gè)實(shí)例最少內(nèi)存要求

50M以上)

,足夠的硬盤空間(一個(gè)基本的數(shù)據(jù)庫(kù)要求1G以

上)

4-1

操作系統(tǒng)環(huán)境配置

在操作系統(tǒng)中設(shè)置下列的環(huán)境變量:

?ORACLE_BASE

?ORACLE_HOME

?ORACLE_SID

?ORA_NLS33

?PATH

?LD_LIBRARY_PATH

4-2

DatabaseConfigurationAssistant

用DatabaseConfigurationAssistant,完成下歹U的

功能:

?創(chuàng)建數(shù)據(jù)庫(kù)

?配置數(shù)據(jù)庫(kù)選項(xiàng)

?刪除數(shù)據(jù)庫(kù)

?管理數(shù)據(jù)庫(kù)模板

?通過(guò)預(yù)定義模板配置生成新的模板

?從當(dāng)前存在的數(shù)據(jù)庫(kù)中生成新的模板

?刪除數(shù)據(jù)庫(kù)模板

4-3

用DBCA創(chuàng)建數(shù)據(jù)庫(kù)

1、選擇數(shù)據(jù)庫(kù)選項(xiàng)(創(chuàng)建、刪除、修改數(shù)據(jù)庫(kù)等)

2、指定數(shù)據(jù)庫(kù)類型(數(shù)據(jù)倉(cāng)庫(kù)、通用、新數(shù)據(jù)庫(kù)等)

3、指定全局?jǐn)?shù)據(jù)庫(kù)名和SID

4、選擇特性(專用模式、共享模式)

5、選擇數(shù)據(jù)庫(kù)可選項(xiàng)(只有類型是創(chuàng)建新數(shù)據(jù)庫(kù)才會(huì)出現(xiàn))

6、指定內(nèi)存、字符集、數(shù)據(jù)庫(kù)文件大小、文件位置等選項(xiàng)。

7、定義數(shù)據(jù)庫(kù)存儲(chǔ)選項(xiàng)。

8、最后一項(xiàng):

?創(chuàng)建數(shù)據(jù)庫(kù)

?保存為模板

?產(chǎn)生數(shù)據(jù)庫(kù)創(chuàng)建腳本

4-4

5、管理控制文件

控制文件

,是一個(gè)二進(jìn)制文件

?定義物理數(shù)據(jù)庫(kù)的當(dāng)前狀態(tài)

?用于維護(hù)數(shù)據(jù)庫(kù)的完整性

?數(shù)據(jù)庫(kù)啟動(dòng)到MOUNT狀態(tài)時(shí)

要讀控制文件Database

Control

?一組控制文件對(duì)于一個(gè)數(shù)據(jù)庫(kù)files

?控制文件丟失時(shí),要進(jìn)行數(shù)據(jù)

庫(kù)的恢復(fù)

?控制文件大小在數(shù)據(jù)庫(kù)創(chuàng)建時(shí)

指定,或重建控制文件時(shí)指定。

5-1

控制文件內(nèi)含信息

一個(gè)控制文件包含下面的信息:

?數(shù)據(jù)庫(kù)名稱和標(biāo)識(shí)

?數(shù)據(jù)庫(kù)創(chuàng)建的時(shí)間戳

?表空間名

Database

?數(shù)據(jù)庫(kù)文件和聯(lián)機(jī)日志文件的名

Control

稱和所處位置files

?當(dāng)有在線聯(lián)機(jī)日志的序列號(hào)

?檢查點(diǎn)(CHECKPOINT)信息

?聯(lián)機(jī)日志歸檔信息

?備份信息

5-2

多重控制文件

為了防止控制文件的損壞導(dǎo)致數(shù)據(jù)庫(kù)無(wú)法正常運(yùn)行,一個(gè)數(shù)據(jù)庫(kù)

中會(huì)設(shè)置多個(gè)相同控制文件的COPY,這就是多重控制文件。

CONTROLFILES=

$HOME/ORADATA/u01/ctrl01.ctl,$HOME/ORADATA/u02/ctrl02.ctl

5-3

使用SPFILE實(shí)現(xiàn)多重控制文件

修改SPFILE

ALTERSYSTEMSETcontrol_files=

*$HOME/ORADATA/u01/ctrl0T.ctl1,

*$HOME/ORADATA/u02/ctrl02.ctl1SCOPE=SPFILE;

正常關(guān)閉數(shù)據(jù)庫(kù)

shutdownimmediate

創(chuàng)建額外的控制文件

cp$HOME/ORADATA/u01/ctrl01.ctl

$HOME/ORADATA/u02/ctrl02.ctl

啟動(dòng)數(shù)據(jù)庫(kù)

startup

5-4

使用PFILE實(shí)現(xiàn)多重控制文件

正常關(guān)閉數(shù)據(jù)庫(kù)

shutdownimmediate

創(chuàng)建額外的控制文件

cp$HOME/ORADATA/u01/ctrl01.ctl

$HOME/ORADATA/u02/ctrl02.ctl

編輯PFILE文件,增加控制文件配置信息到PFILE參數(shù)文件

CONTROL_FILES=$HOME/ORADATA/u01/ctrl01.ctl,

-$HOME/ORADATA/u02/ctrl02.ctl)

啟動(dòng)數(shù)據(jù)庫(kù)

startup

5-5

在數(shù)據(jù)庫(kù)中查詢控制文件信息

控制文件狀態(tài)和的位置等相關(guān)信息可以通過(guò)下列查

詢視圖的SQL語(yǔ)句獲得:

?V$CONTROLFILE:顯示與實(shí)例相關(guān)的所有控制文件

的名稱和狀態(tài)。

?V$PARAMETER:顯示所有參數(shù)的名稱和狀態(tài)。

?SHOWPARAMETERCONTROL_FILES:顯示控制

文件的名稱、狀態(tài)、和位置。

SQL>select*fromv$controlfile;

STATUSNAME

D:\DATABASE\ORACLE9I\ORfiDATA\ORADB\CONTROL01.CTL

D:\DATABfiSE\ORfiCLE9I\ORfiDATA\ORADB\CONTROL02.CTL

D:\DATABASE\ORfiCLE9I\ORADATA\ORADB\CONTROL03.CTL

5-6

6、管理聯(lián)機(jī)日志文件

聯(lián)機(jī)日志文件介紹

?記錄數(shù)據(jù)生產(chǎn)的所有變化。

?提供了恢復(fù)機(jī)制,用于數(shù)據(jù)庫(kù)實(shí)例破壞的數(shù)據(jù)恢復(fù)。

?以組的形式組織管理。

?最少要有二個(gè)組,每個(gè)組以一個(gè)到多個(gè)文件組成。當(dāng)

一個(gè)組有多個(gè)文件的時(shí)候,建議不要把所有文件放在同

一個(gè)地方。

Redo

6-1

聯(lián)機(jī)文件結(jié)構(gòu)

Group1Group2Group3

Diski

Member

MemberDisk2

6-2

聯(lián)機(jī)文件工作方式

?聯(lián)機(jī)日志文件的以循環(huán)的方式進(jìn)行使用的。

?當(dāng)一個(gè)聯(lián)機(jī)日志文件記錄的日志信息滿的時(shí)候,

LGRW進(jìn)程會(huì)把把日志寫到下一組的文件。即發(fā)生

下列動(dòng)作:

?調(diào)用日志交換(altersystemswitchlogfileo

?檢查點(diǎn)(checkpoint)操作。

?相關(guān)信息寫入控制文件。

6-3

手工聯(lián)機(jī)日志switch和checkpoint

手工聯(lián)機(jī)日志交換:

ALTERSYSTEMSWITCHLOGFILE;

通過(guò)設(shè)置下列參數(shù)進(jìn)行定期Checkpoint:

FAST_START_MTTR_TARGET.

FAST_START_MTTR_TARGET=600

手工checkpoint用ALTERSYSTEMCHECKPOINT命令:

ALTERSYSTEMCHECKPOINT;

6-4

增加聯(lián)機(jī)日志組

ALTERDATABASEADDLOGFILEGROUP3

(1$HOME/ORADATA/u01/log3a.rdo,,

1$HOME/OR2kDATA/u02/log3b.rdo')

SIZEIM;

logla.rdolog2a.rdo

loglb.rdolog2b.rdo

Group1Group2

6-5

刪除聯(lián)機(jī)日志組

ALTERDATABASEDROPLOGFILEGROUP3;

Group1Group2Group3

6-7

刪除聯(lián)機(jī)日志組文件成員

ALTERDATABASEDROPLOGFILEMEMBER

1$HOME/ORADATA/u04/log3c.rdo';

Group1Group2

6-8

聯(lián)機(jī)日志文件信息查詢

聯(lián)機(jī)日志組和文件相關(guān)的信息可以通過(guò)查詢下列

的視圖取得:

?V$LOG

?V$LOGFILE

SQL>select*fromu$log;

GROUP*THREADMSEQUENCEttBVTESMEMBERSARCSTATUSFIRST_CHANGEttFIRST.TIME

11820971521NOCURRENT562227403-7月-05

21620971521YESINACTIUE562048503-7月-05

31720971521YESfiCTIUE562206903-7月-05

SQL>select*fromu$logfile;

GROUPttSTATUSTYPEMEMBER

1ONLINED:\DATABASE\ORACLE9I\ORADATA\ORADB\REDO01.LOG

3ONLINED:\DATABASE\ORACLE9I\ORADATA\ORADB\REDO03.LOG

2ONLINED:\DATABASE\ORACLE9I\ORADATA\ORADB\REDO02.LOG

SQL>

6-9

歸檔日志文件

?已寫滿的聯(lián)機(jī)日志文件可以歸檔到某一指定地方。

?在數(shù)據(jù)庫(kù)運(yùn)行中,以歸檔模式運(yùn)有二個(gè)方面的好處:

?恢復(fù):數(shù)據(jù)庫(kù)的文件備份、加上歸檔文件和聯(lián)機(jī)日志,

可以保存所有的已處理的事務(wù)。當(dāng)數(shù)據(jù)庫(kù)發(fā)生破壞時(shí),

通過(guò)這些文件可以完成數(shù)據(jù)庫(kù)的恢復(fù)。

?備份:在運(yùn)行的數(shù)據(jù)庫(kù)中,可以進(jìn)行備份。

?默認(rèn)的情況下,數(shù)據(jù)庫(kù)是運(yùn)行在非歸檔模式下的。

?歸檔主要是由進(jìn)程ARCn進(jìn)程自動(dòng)完成。

?可以通過(guò)SQL語(yǔ)句手工進(jìn)行歸檔。

?通過(guò)配置,可以進(jìn)行日志的多份歸檔。

6-10

7、管理表空間和數(shù)據(jù)文件

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

ORACLE數(shù)據(jù)的存儲(chǔ),在邏輯上講,是存儲(chǔ)在表空間里;

在物理上講,是存儲(chǔ)在數(shù)據(jù)文件中。

?表空間:

?一個(gè)表空間只能屬于一個(gè)數(shù)據(jù)庫(kù)。

?一個(gè)表空間由多個(gè)數(shù)據(jù)文件組成。

?進(jìn)一步劃分,可以分成邏輯上的多個(gè)存儲(chǔ)單元。

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

?一個(gè)數(shù)據(jù)庫(kù)文件只能屬于其中一個(gè)表空Database

?是具體存放數(shù)據(jù)的地方。

Tablespace

Datafiles

7-1

表空間類型

?系統(tǒng)表空間

?數(shù)據(jù)庫(kù)創(chuàng)建的時(shí)候一起創(chuàng)建。

?包含了系統(tǒng)字典表信息。

?包含了系統(tǒng)回滾空間

?非系統(tǒng)表空間

?由用戶進(jìn)行管理分配。

?用于存儲(chǔ)用戶數(shù)據(jù)。

?分為臨時(shí)表空間、回滾表空間、普通表空間。

7-2

表空間的空間管理方式

?本地管理表空間管理:

?表空間空閑空間部分由表空間自己進(jìn)行管理。

?通過(guò)位圖進(jìn)行空閑空間的記錄。

?位圖每一位對(duì)應(yīng)一個(gè)塊或一組塊。

?位圖每一位用?;?表示,1表示對(duì)應(yīng)的空間已用,0表

不未用。

?字典管理表空間管理:

?表空間空閑空間部分由數(shù)據(jù)字典表進(jìn)行管理。_

?當(dāng)表空間進(jìn)行分配或回收時(shí),字典表記錄會(huì)進(jìn)行更新操

作。

7-3

創(chuàng)建表空間

創(chuàng)建表空間用createtablespace命令:

CREATETABLESPACEuserdata

DATAFILE*/uOl/oradata/userdataOl.dbf*SIZE5M;

創(chuàng)建本地管理表空間:

CREATETABLESPACEuserdata

DATAFILE1/uOl/oradata/userdataOl.dbf*SIZE500M

EXTENTMANAGEMENTLOCALUNIFORMSIZE128K;

創(chuàng)建字典管理表空間:

CREATETABLESPACEuserdata

DATAFILE*/uOl/oradata/userdataOl.dbf*

SIZE500MEXTENTMANAGEMENTDICTIONARY

DEFAULTSTORAGE

(initialIMNEXT1MPCTINCREASE0);

7-4

回滾表空間

?用于存儲(chǔ)回滾記錄信息。

?不能包含其他對(duì)象。

?管理都是以本地表空間方式進(jìn)行管理。

?管理方式建議采用自動(dòng)管理方式(91以后)

CREATEUNDOTABLESPACEundol

DATAFILE'/uOl/oradata/undoOl.dbf1SIZE40M;

7-5

臨時(shí)表空間

?用于數(shù)據(jù)處理過(guò)程中的排序操作。

?可以由多個(gè)用戶進(jìn)行共享。

?不能包含任何長(zhǎng)期保留的信息。

?強(qiáng)烈建議以本地表空間的管理方式進(jìn)行臨時(shí)表空間的

管理

CREATETEMPORARYTABLESPACEtemp

TEMPFILE*/uOl/oradata/tempOl.dbf1SIZE20M

EXTENTMANAGEMENTLOCALUNIFORMSIZE4M;

7-6

只讀表空間

通過(guò)下列SQL語(yǔ)句把表空間修改為只讀表空間:

ALTERTABLESPACEuserdataREADONLY;

?數(shù)據(jù)只能進(jìn)行讀,不能進(jìn)行寫(如更新數(shù)據(jù))操作。

?對(duì)象(如表、索引)可以從表空間中刪除。

7-7

查詢表空間信息

獲取表空間和數(shù)據(jù)文件的相關(guān)信息可以查詢下列

視圖:

表空間信息:

dba_tablespaces

V$tablespace

數(shù)據(jù)文件信息:

dba_data_files

v$datafile

臨時(shí)表空間信息:

dba_temp_files

v$tempfile

7-8

、管理表、索引、數(shù)據(jù)完整性

用戶數(shù)據(jù)存儲(chǔ)方式

RegulartablePartitioned

table

Index-organizedCluster

table

8-1

ORACLE內(nèi)置數(shù)據(jù)類型

Datatype

Relationship

1-REF

LDATE

-TIMESTAMP

-RAW(N)

-BLOB,CLOB,

NCLOB,BFILE

-LONG,LONGRAW

_ROWID,UROWID

8-2

創(chuàng)建表

CREATETABLEhr.employees(

employee_idNUMBER(6),

first__nameVARCHAR2(20),

last_nameVARCHAR2(25),

emailVARCHAR2(25),

phone_numberVARCHAR2(20),

hire_dateDATEDEFAULTSYSDATE,

job_idVARCHAR2(10),

salaryNUMBER(8,2),

commission_j5ctNUMBER(2,2),

manager_idNUMBER(6),

department_idNUMBER(4))

TABLESPACEUSERS;

8-3

創(chuàng)建表原則

把表分布在不同的表空間。

?創(chuàng)建的表不能放在SYSTEM表空間、UNDO表

空間、TEMPORARY表空間。

?盡量使用本地管理表空間,減少表空間的碎片。

?在業(yè)務(wù)量繁忙、數(shù)據(jù)量大的情況下,表和索引盡

量放在不同的表空間。

?當(dāng)數(shù)據(jù)量非常大的時(shí)候,可考慮分區(qū)表。

8-4

創(chuàng)建臨時(shí)表

倉(cāng)建臨時(shí)表用GLOBALTEMPORARY句:

CREATEGLOBALTEMPORARYTABLE

hr.employees_temp

ASSELECT*FROMhr.employees;

?臨時(shí)表只存在于一個(gè)事務(wù)、一個(gè)連接SESSION活動(dòng)期

間。

?DML操作沒(méi)有鎖的概念。

?可以在臨時(shí)表上進(jìn)行創(chuàng)建索引、視圖、觸發(fā)器等。

8-5

Truncate、delete、Drop表

TRUNCATETABLEhr.employees;

Truncate表相當(dāng)于刪除一個(gè)表的所有數(shù)據(jù),同時(shí)回

收表空間。

Deletefromhr.departments;

正常刪除一個(gè)表的所有數(shù)據(jù),不會(huì)回收使用的空間。

Droptablehr.departments;

正常刪除表,回收使用的空間。

8-6

索引分類

?從邏輯上分:

?單列或多列組合索引

?唯一或非唯一索引

?函數(shù)索引

?Domain索弓I

?從物理上分:

?分區(qū)索引和非分區(qū)索引

?B?TREE索引和反轉(zhuǎn)索引

?位圖索引

8-7

■TREE索弓I

8-8

位圖索引

Table

Index

n

ROWIDROWIDbitmap

<Blue,10.0.3,12.8.3,1000100100010010100>

<Green,10.0.3,12.8.3,0001010000100100000>

<Red,10.0.3,12.8.3,0100000011000001001>

?〈Yellow,10.0.3,12.8.3,0010001000001000010>

8-9

■TREE索弓|、位圖索引比較

B-tree索引B讓map索弓I

適合于高基數(shù)的情況下適合于低基數(shù)的情況下

修改索引值消耗少的資修改索引值消耗非常多

源的資源

在query語(yǔ)句中,不能用在query語(yǔ)句中,可以直

于邏輯運(yùn)算接用于邏輯運(yùn)算

多用于OLTP系統(tǒng)多用于DSS系統(tǒng)

8-10

創(chuàng)建索引

創(chuàng)建B-TREE索弓|:

CREATEINDEXhr.employees_last_name_idx

ONhr.employees(last_name)PCTFREE30

STORAGE(INITIAL200KNEXT200K

PCTINCREASE0MAXEXTENTS50)

TABLESPACEindx;

創(chuàng)建BITMAP索弓I:

CREATEBITMAPINDEXorders_region_id_idx

ONorders(region_id)PCTFREE30

STORAGE(INITIAL200KNEXT200K

PCTINCREASE0MAXEXTENTS50)

TABLESPACEindx;

8-11

數(shù)據(jù)完整性

約束名描述

Notnull指定某一列值不能為空。

unique列值或組合列值是唯一的。

Primarykey指定某一列值或組合列值作為表的

主健值,即唯一。

Foreignkey指定某一列值或組合列值必須來(lái)源

于另一表的某一列值或組合列值。

check指明某一列值或組合列值必須滿足

指定條件。

8-12

數(shù)據(jù)完整性檢查過(guò)程

nDML

Statement

Checknondeferred

constraints

COMMIT

Checkdeferred

constraints

8-13

創(chuàng)建表時(shí)定義約束

CREATETABLEhr.employee(

idNUMBER(7)

CONSTRAINTemployee_id_pkPRIMARYKEY

DEFERRABLE

USINGINDEX

STORAGE(INITIAL100KNEXT100K)

TABLESPACEindx,

last_nameVARCHAR2(25)

CONSTRAINTemp1oyee_last_name_nnNOTNULL,

dept_idNUMBER(7))

TABLESPACEusers;

8-14

創(chuàng)建約束實(shí)例

創(chuàng)建主鍵:

altertableEMP

addconstraintPK_EMP_NOprimarykey(EMPNO);

創(chuàng)建外鍵:

altertableEMP

addconstraintFK_DEPT_NOforeignkey(DEPTNO)

referencesdept(DEPTNO);

倉(cāng)ll建check:

altertableEMP

addconstraintCK_EMP_ID

check(empno>1000andempno<9999);

8-15

9、管理用戶、權(quán)限、角色

用戶、安全機(jī)制

9-1

數(shù)據(jù)庫(kù)方案

?一個(gè)方案就是對(duì)象集合的

命名。SchemaObjects

?當(dāng)創(chuàng)建一個(gè)用戶的時(shí)候、Tables

相對(duì)應(yīng)的方案也會(huì)自動(dòng)創(chuàng)建。Triggers

用戶刪除的時(shí)候、對(duì)應(yīng)的方Constraints

案也會(huì)刪除。Indexes

Views

?一個(gè)用戶只能和一個(gè)方案

相關(guān)聯(lián)。即一個(gè)用戶只能有Sequences

一個(gè)方案。Storedprogramunits

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論