




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.4.ORACLE數(shù)據(jù)庫數(shù)據(jù)庫 Oracle公司1977年在加利福尼亞的Redwood成立,在IBM的System/R(關(guān)系模型)的基礎(chǔ)上,推出了第一個(gè)使用IBM的結(jié)構(gòu)化查詢語言SQL的RDBMS。今天,Oracle RDBMS可用于幾乎所有的操作環(huán)境,包括IBM大型機(jī)、DEC VAX小型機(jī)、基于UNIX系統(tǒng)的小型機(jī)、Windows NT以及一些專用硬件操作系統(tǒng)平臺(tái);該公司是世界上最大的RDBMS供應(yīng)商,也是世界上最主要的信息處理軟件供應(yīng)商,是僅次于微軟公司的世界第二大軟件公司,在信息高速公路中扮演著一個(gè)重要的角色。北京郵電大學(xué)軟
2、件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.4.ORACLE數(shù)據(jù)庫數(shù)據(jù)庫 本章介紹ORACLE數(shù)據(jù)庫管理系統(tǒng)。 4.1 ORACLE數(shù)據(jù)庫體系結(jié)構(gòu) 4.2 ORACLE數(shù)據(jù)庫實(shí)例管理 4.3 ORACLE數(shù)據(jù)庫存取管理 4.4 ORACLE數(shù)據(jù)庫規(guī)劃和實(shí)施北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1 4.1 ORACLE數(shù)據(jù)庫體系結(jié)構(gòu)數(shù)據(jù)庫體系結(jié)構(gòu) ORACLE產(chǎn)品結(jié)構(gòu):OracleOracle縱向產(chǎn)品縱向產(chǎn)品:例如 Oracle DBMS、Oracle應(yīng)用服務(wù)器。另外,Oracle還提供了許多可用的開發(fā)工具,這些工具包括Designer/2000計(jì)算機(jī)輔助系統(tǒng)
3、工程(CASE)工具和Developer/2000 開發(fā)包。隨著INTERNET的發(fā)展,這些工具正逐漸變得基于Web。OracleOracle橫向產(chǎn)品橫向產(chǎn)品:Oracle的應(yīng)用軟件為Oracle帶來了大量收益。這些產(chǎn)品包括: Oracle財(cái)務(wù)軟件(Oracle Financial); Oracle制造業(yè)軟件(Oracle Manufacturing); Oracle人力資源軟件(Oracle Human Resources); Oracle自動(dòng)控制軟件(Oracle Automotive); Oracle保健系統(tǒng); Oracle基于不同客戶環(huán)境的Oracle RDBMS服務(wù)器工具,包括Dis
4、coverer、Express及其他的軟件。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1 4.1 ORACLE數(shù)據(jù)庫體系結(jié)構(gòu)數(shù)據(jù)庫體系結(jié)構(gòu) ORACLE產(chǎn)品結(jié)構(gòu):1.數(shù)據(jù)庫:Oracle數(shù)據(jù)庫服務(wù)器(對(duì)象選件、分區(qū)、空間、分布式、并行、多媒體)。2.開發(fā)工具: 1)C/S:developer2000(對(duì)應(yīng)微軟VB) 2)B/S:服務(wù)器:IAS(對(duì)應(yīng)微軟IIS) 開發(fā)工具:PL/SQL、Portal Jdeveloper(Java開發(fā)工具) 3)CASE:Designer(可生成60%以上的Form和Report) 4)數(shù)據(jù)倉庫:Discoverer(關(guān)系數(shù)據(jù)庫) Exp
5、ress(多維數(shù)據(jù)庫)3.ORACLE應(yīng)用:ERP:財(cái)務(wù)管理、企業(yè)內(nèi)部管理 CRM:客戶關(guān)系管理、企業(yè)外部管理 北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1 4.1 ORACLE數(shù)據(jù)庫體系結(jié)構(gòu)數(shù)據(jù)庫體系結(jié)構(gòu) Oracle信息技術(shù)的顯著特征:決策支持系統(tǒng)決策支持系統(tǒng)(DSS)(DSS):以O(shè)racle Server為基礎(chǔ)數(shù)據(jù)倉庫,使用Express及Oracle Discoverer等決策支持工具,Oracle確立了其在DSS領(lǐng)域的地位。海量數(shù)據(jù)管理海量數(shù)據(jù)管理:Oracle對(duì)海量數(shù)據(jù)的管理非常重視,版本7.3中采用了數(shù)據(jù)分區(qū)的辦法。采用數(shù)據(jù)分區(qū)后,海量數(shù)據(jù)分成很多可管理
6、的塊,當(dāng)系統(tǒng)操作或用戶會(huì)話處理查詢時(shí)又能透明地將分塊的數(shù)據(jù)組織起來。保密機(jī)制保密機(jī)制:Oracle的高級(jí)保密機(jī)制通過各種各樣的特權(quán),控制對(duì)敏感數(shù)據(jù)的存取。用這些機(jī)制來保證某些用戶能查看敏感數(shù)據(jù),而有的用戶被禁止。備份與恢復(fù)備份與恢復(fù):Oracle提供了高級(jí)備份和恢復(fù)的子例程。備份創(chuàng)建Oracle數(shù)據(jù)的一個(gè)副本,恢復(fù)把備份的數(shù)據(jù)恢復(fù)出來。Oracle的備份和恢復(fù)把數(shù)據(jù)丟失的可能性降到最小,并使出現(xiàn)故障時(shí)的排錯(cuò)時(shí)間最少。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1 4.1 ORACLE數(shù)據(jù)庫體系結(jié)構(gòu)數(shù)據(jù)庫體系結(jié)構(gòu) Oracle信息技術(shù)的顯著特征:空間管理空間管理:Oracl
7、e提供了靈活的空間管理。用戶可以為存放數(shù)據(jù)分配所需磁盤空間,也可以通過指示Oracle為以后的需求留下多少空間來控制后繼的分配。開放式聯(lián)接開放式聯(lián)接:Oracle提供和其他軟件聯(lián)接的開放式接口。使用Oracle Access Manager,用戶很容易就能將別的軟件商開發(fā)的軟件所運(yùn)行的系統(tǒng)集成起來。開發(fā)工具開發(fā)工具:Oracle Form和Oracle report是Oracle提供開發(fā)工具的核心。與Web相連進(jìn)行發(fā)布,Oracle企業(yè)開發(fā)套件中捆綁了一些組件,使得發(fā)布靈活、操作性強(qiáng)、易于維護(hù),很容易開發(fā)出不同層次的應(yīng)用。套件中有如下四個(gè)主要組件: Oracle Designer; Oracl
8、e Developer; Oracle Developer Server; Oracle Application Server。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1 4.1 ORACLE數(shù)據(jù)庫體系結(jié)構(gòu)數(shù)據(jù)庫體系結(jié)構(gòu) DBA應(yīng)當(dāng)了解ORACLE數(shù)據(jù)庫是如何工作的和為什么要那樣工作,只有這樣,DBA才能自如地調(diào)整ORACLE數(shù)據(jù)庫的對(duì)象,滿足不同工作的需要。首先介紹ORACLE數(shù)據(jù)庫的體系結(jié)構(gòu)。 4.1.1 ORACLE數(shù)據(jù)庫 4.1.2 系統(tǒng)數(shù)據(jù)庫對(duì)象 4.1.3 用戶數(shù)據(jù)庫對(duì)象 4.1.4 數(shù)據(jù)庫段 4.1.5 數(shù)據(jù)字典 4.1.6 其他對(duì)象 北京郵電大學(xué)軟件學(xué)
9、院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.1 4.1.1 ORACLE數(shù)據(jù)庫數(shù)據(jù)庫 OracleOracle數(shù)據(jù)庫定義數(shù)據(jù)庫定義:Oracle數(shù)據(jù)庫為共同組成數(shù)據(jù)處理環(huán)境的配置文件、數(shù)據(jù)文件、控制文件以及重做日志文件的集合;也可以理解為處理數(shù)據(jù)文件的一批程序。Oracle數(shù)據(jù)庫用來描述建立關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)的邏輯的和物理的數(shù)據(jù)結(jié)構(gòu)。 從邏輯上講,一個(gè)數(shù)據(jù)庫由若干個(gè)表空間表空間組成,每個(gè)表空間中有若干個(gè)表或其他數(shù)據(jù)庫對(duì)象,表空間又分為數(shù)據(jù)段、索引段等段段,每個(gè)段中又分為若干區(qū)間區(qū)間,每個(gè)數(shù)據(jù)區(qū)間由若干個(gè)數(shù)據(jù)塊數(shù)據(jù)塊組成。 從物理上講,一個(gè)數(shù)據(jù)庫由若干個(gè)物理文件物理文件組
10、成,物理文件有數(shù)據(jù)文件、日志文件、控制文件、初始化文件、歸檔文件、口令文件等。 ORACLE數(shù)據(jù)庫系統(tǒng)由物理文件、內(nèi)存結(jié)構(gòu)、物理文件、內(nèi)存結(jié)構(gòu)、OracleOracle進(jìn)程進(jìn)程三部分組成,內(nèi)存結(jié)構(gòu)、Oracle進(jìn)程又組成實(shí)例實(shí)例。沒有例程的數(shù)據(jù)是死數(shù)據(jù)。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.1 4.1.1 ORACLE數(shù)據(jù)庫數(shù)據(jù)庫Oracle體系結(jié)構(gòu)Instance內(nèi)存共享池SGA數(shù)據(jù)庫緩沖區(qū)日志緩沖區(qū)進(jìn)程DBWR:數(shù)據(jù)庫寫入其他進(jìn)程:恢復(fù)、快照、鎖等LGWR:日志寫入CKPT:檢查點(diǎn)SMON:系統(tǒng)進(jìn)程PMON:進(jìn)程監(jiān)控ARCH:歸檔進(jìn)程Database物理存儲(chǔ)
11、數(shù)據(jù)文件其他文件:參數(shù)文件、口令文件、歸檔文件日志文件控制文件邏輯存儲(chǔ)表空間段區(qū)間塊北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.1 4.1.1 ORACLE數(shù)據(jù)庫數(shù)據(jù)庫 Database Instance SGAShared pool DatabaseBuffer cache Redo logBuffer cache Library cacheData Dict cachePMONSMONDBWRLGWRCKPTOthersPasswordfileParameterfileDatafilesControlfilesArchivedLog filesRedo logfi
12、lesUserprocessServerprocessPGA北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.2 4.1.2 ORACLE系統(tǒng)系統(tǒng)數(shù)據(jù)庫對(duì)象數(shù)據(jù)庫對(duì)象 數(shù)據(jù)庫對(duì)象數(shù)據(jù)庫對(duì)象分兩種類型:一類是由RDBMS內(nèi)部使用的對(duì)象,稱為系統(tǒng)數(shù)據(jù)庫對(duì)象(system database object),另一類是可以通過任何程序訪問的對(duì)象,稱為用戶數(shù)據(jù)庫對(duì)象(user database object)。 系統(tǒng)數(shù)據(jù)庫對(duì)象系統(tǒng)數(shù)據(jù)庫對(duì)象:是指RDBMS用于支持內(nèi)部數(shù)據(jù)庫功能的數(shù)據(jù)庫對(duì)象。這些對(duì)象是由數(shù)據(jù)庫系統(tǒng)管理員或服務(wù)器本身配置和創(chuàng)建的,并且不顯式地用于用戶數(shù)據(jù)庫事務(wù)。系統(tǒng)數(shù)據(jù)庫
13、對(duì)象有:初始化參數(shù)文件控制文件聯(lián)機(jī)和歸檔重做日志文件追蹤文件ROWID(行內(nèi)部地址)Oracle 塊北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.2.1 4.1.2.1 初始化參數(shù)文件初始化參數(shù)文件初始化參數(shù)文件:也稱為啟動(dòng)參數(shù)文件,文件缺省名為init.orainit.ora,是DBMS主要的配置點(diǎn),包括定義名稱的參數(shù)、設(shè)置靜態(tài)限制的參數(shù)、影響動(dòng)態(tài)性能的參數(shù),控制或修改數(shù)據(jù)庫和實(shí)例操作的某個(gè)方面。當(dāng)數(shù)據(jù)庫當(dāng)數(shù)據(jù)庫啟動(dòng)時(shí),在創(chuàng)建實(shí)例或讀取控制文件之前,先讀取啟動(dòng)時(shí),在創(chuàng)建實(shí)例或讀取控制文件之前,先讀取init.orainit.ora文件文件。 init.ora文件中的值
14、決定著數(shù)據(jù)庫和實(shí)例的特性,例如共享池、高速緩存、重做日志緩存分配、后臺(tái)進(jìn)程的自動(dòng)啟動(dòng)、控制文件的讀取、自動(dòng)聯(lián)機(jī)回滾段等等。直到數(shù)據(jù)庫被關(guān)閉并重新啟動(dòng),對(duì)init.ora文件中參數(shù)的更改才被承認(rèn)。 init.ora是一個(gè)ASCII文本文件,默認(rèn)條件下,文件的名字為init SID.ora,SID相當(dāng)于它所控制的數(shù)據(jù)庫的標(biāo)識(shí)符。每個(gè)Oracle數(shù)據(jù)庫和實(shí)例都有它自己唯一的init.ora文件。 北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.2.1 4.1.2.1 初始化參數(shù)文件初始化參數(shù)文件初始化參數(shù)文件: 在Oracle RDBMS中,缺省的init.ora文件位于UNI
15、X服務(wù)器上的$ORACLE_HOME/dbs目錄下或NT服務(wù)器上的$ORACLE_HOME/database目錄下。當(dāng)創(chuàng)建新數(shù)據(jù)庫和實(shí)例時(shí),這個(gè)文件可被復(fù)制和重新命名。 通過查詢V$PARAMETER視圖,可以從數(shù)據(jù)庫內(nèi)部觀察init.ora文件中的配置參數(shù)集。V$PARAMETER視圖把所有的init.ora 參數(shù)和它們的值都列出來,并且每一個(gè)值都有一個(gè)標(biāo)記符,用以指明參數(shù)值是否為服務(wù)器默認(rèn)值。 通過調(diào)整初始化參數(shù)可以改善數(shù)據(jù)庫系統(tǒng)的整體性能。 下表是init.ora參數(shù)的一些表述,詳細(xì)的參數(shù)設(shè)置可參看使用手冊(cè)。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.2.1 4
16、.1.2.1 初始化參數(shù)文件初始化參數(shù)文件參數(shù)缺省范圍說明audit_trailbackground_dump_destcontrol_filesdb_block_buffersdb_block_sizedb_filesdb_namedb_file_multiblock_read_countdml_lockslog_archive_destlog_buffer;log_checkpoint_intervalnone322048空值none,DB文件名4.無限依賴OS庫名使行寫入審計(jì)跟蹤接通或斷開;Oracle后臺(tái)進(jìn)程LGWR,DBWR所使用的追蹤文件的路徑;數(shù)據(jù)庫的控制文件;包含在高速緩存中的
17、數(shù)據(jù)庫塊數(shù)目;Oracle 數(shù)據(jù)庫塊的大小。在數(shù)據(jù)庫建立起來后,這個(gè)值就不能改變了;能夠打開的數(shù)據(jù)庫文件的最大數(shù)目;可選擇的數(shù)據(jù)庫的名字。如果使用該參數(shù),它必須與用在CREATEDATABASE語句中的數(shù)據(jù)庫名稱相一致;在順序掃描中,一次I/O操作所能讀取數(shù)據(jù)庫塊的最大數(shù)。這是用于順序搜索的,是非常重要的;DML封鎖的最大數(shù);歸檔重做日志文件的最終位置;分配給重做日志緩沖區(qū)的字節(jié)數(shù);觸發(fā)一個(gè)檢測(cè)點(diǎn)需要填充的重做日志文件塊數(shù);北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.2.2 4.1.2.2 控制控制文件文件控制文件:控制文件是數(shù)據(jù)庫的心臟,存儲(chǔ)著數(shù)據(jù)存儲(chǔ)著數(shù)據(jù)庫的結(jié)構(gòu)
18、信息庫的結(jié)構(gòu)信息,它包含以下信息:屬于數(shù)據(jù)庫的數(shù)據(jù)文件和重做日志文件的位置信息、數(shù)據(jù)庫中的數(shù)據(jù)應(yīng)該以何種字符集存儲(chǔ)的信息、數(shù)據(jù)庫中每個(gè)數(shù)據(jù)文件的狀態(tài)和版本信息、檢查點(diǎn)信息、表空間信息、回退段信息、以及其他的重要信息。 包含在控制文件中的大部分參數(shù)是在數(shù)據(jù)庫創(chuàng)建過程中設(shè)定的,相對(duì)來說是靜態(tài)的,它們不是經(jīng)常改變的??刂莆募捎枚M(jìn)制格式,并且是不可讀控制文件采用二進(jìn)制格式,并且是不可讀或手工編輯的或手工編輯的。 數(shù)據(jù)庫可以操作多個(gè)控制文件。特定控制文件的創(chuàng)建是在init.ora參數(shù)CONTROL_FILES中指定的。 北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.2.2 4
19、.1.2.2 控制控制文件文件控制文件: 如果沒有正確的控制文件或控制文件毀壞,數(shù)據(jù)庫將無法啟動(dòng),并且存儲(chǔ)在數(shù)據(jù)庫中的數(shù)據(jù)信息將無法訪問。正是由于這個(gè)原因,控制文件的鏡像備份功能控制文件的鏡像備份功能是被是被OracleOracle服務(wù)器內(nèi)部支持的,并且也是大力推薦的服務(wù)器內(nèi)部支持的,并且也是大力推薦的。 如果要將控制文件鏡像備份到一個(gè)新的數(shù)據(jù)庫中,只需要在發(fā)出CREATE DATABASE命令之前,為CONTROL_FILES指定一個(gè)以上的參數(shù)值即可。 如果要將控制文件鏡像備份到一個(gè)現(xiàn)有數(shù)據(jù)庫中,必須關(guān)閉數(shù)據(jù)庫,將當(dāng)前的控制文件拷貝到你想要備份的目錄當(dāng)中,編輯init.ora中的CONTRO
20、L_FILES參數(shù),以指定新的控制文件的位置,然后啟動(dòng)數(shù)據(jù)庫。 注意:應(yīng)至少提供兩個(gè)控制文件,并存放在不同的磁盤上。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.2.2 4.1.2.2 控制控制文件文件改變?nèi)魏慰刂莆募?shù),必須重新創(chuàng)建控制文件改變?nèi)魏慰刂莆募?shù),必須重新創(chuàng)建控制文件。重新創(chuàng)建控制文件的步驟如下:1)備份數(shù)據(jù)庫。修改控制文件過程中,出現(xiàn)的任何一個(gè)錯(cuò)誤都會(huì)毀壞數(shù)據(jù)庫,使之無法恢復(fù)。2)執(zhí)行ALTER DATABASE BACKUP CONTROLFILE TO TRACE命令,建立一個(gè)用戶追蹤文件(位于USER_DUMP_DEST),該文件帶有重建當(dāng)前控
21、制文件所必須的命令。3)編輯所產(chǎn)生的追蹤文件。除了CREATE CONTROLFILE語句外,刪除追蹤文件中的所有行,設(shè)置新的參數(shù)值。4)正常關(guān)閉(SHUTDOWN NORMAL)數(shù)據(jù)庫。將舊的控制文件移放到備份目錄里,確保Oracle在數(shù)據(jù)庫啟動(dòng)時(shí),不能在目錄中找到控制文件的任何副本。5)執(zhí)行STARTUP NOMOUNT命令啟動(dòng)數(shù)據(jù)庫,運(yùn)行你所編輯的CREATE CONTROLFILE追蹤文件,這將重建帶有新參數(shù)值的控制文件。6)執(zhí)行ALTER DATABASE OPEN命令。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.2.2 4.1.2.2 控制控制文件文件在數(shù)
22、據(jù)庫創(chuàng)建時(shí),把數(shù)據(jù)庫參數(shù)值設(shè)為比你所需要的在數(shù)據(jù)庫創(chuàng)建時(shí),把數(shù)據(jù)庫參數(shù)值設(shè)為比你所需要的值高一些,可以避免重建你的控制文件值高一些,可以避免重建你的控制文件。可配置的系統(tǒng)控制文件參數(shù): MAXLOGFILES: 聯(lián)機(jī)重做日志文件的最大數(shù); MAXLOGMEMBERS: 每個(gè)重做日志文件的最大成員數(shù); MAXDATA FILES: 數(shù)據(jù)文件的最大數(shù); MAXINSTANCES: 能夠安裝到這個(gè)數(shù)據(jù)庫上的最大實(shí)例數(shù)(并行服務(wù)器); MAXLOGHISTORY: 用于恢復(fù)實(shí)例的歸檔重做日志文件組的最大數(shù)(并行服務(wù)器); 注意要改變數(shù)據(jù)庫名,要像前面所描述的那樣重新創(chuàng)建控制文件。 V$CONTROLF
23、ILE視圖列出了Oracle服務(wù)器當(dāng)前正在讀寫的控制文件。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.2.3 4.1.2.3 聯(lián)機(jī)重做日志文件聯(lián)機(jī)重做日志文件聯(lián)機(jī)重做日志文件:日志寫后臺(tái)進(jìn)程(LGWR)將重做日志緩沖區(qū)的內(nèi)容寫入聯(lián)機(jī)重做日志文件中,重做日志貯存了數(shù)據(jù)庫的所有變化信息,并在數(shù)據(jù)庫的恢復(fù)期間被Oracle使用。聯(lián)機(jī)重做日志文件為二進(jìn)制文件,結(jié)構(gòu)不公開。 聯(lián)機(jī)重做日志文件至少由兩組重做日志文件組成,聯(lián)機(jī)重做日志文件至少由兩組重做日志文件組成,并且按照一種循環(huán)的特性寫入并且按照一種循環(huán)的特性寫入。LGWR成員1成員2成員3成員1成員2成員3成員1成員2成員3日
24、志組1日志組2日志組3北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.2.3 4.1.2.3 聯(lián)機(jī)重做日志文件聯(lián)機(jī)重做日志文件聯(lián)機(jī)重做日志文件: 當(dāng)前日志組被填滿時(shí),LGWR進(jìn)程停止對(duì)它的寫入而轉(zhuǎn)到下一個(gè)日志組。當(dāng)日志切換發(fā)生時(shí),前面寫入的重做日志組被歸檔(ARCH)進(jìn)程鎖定,并被拷貝到磁盤或磁帶上。 如果LGWR追上ARCH進(jìn)程,并且需要實(shí)時(shí)寫入由ARCH正在寫入的組時(shí),所有的數(shù)據(jù)庫活動(dòng)將被掛起,直到ARCH進(jìn)程寫完日志。日志組不夠用則影響數(shù)據(jù)庫性能日志組不夠用則影響數(shù)據(jù)庫性能。 每個(gè)日志組可由多個(gè)成員組成,日志組的每個(gè)成員日志組的每個(gè)成員是其他成員的精確鏡像是其他成員
25、的精確鏡像,并且重做日志項(xiàng)被并行地寫入每個(gè)成員中。通過在每個(gè)組中使用多個(gè)成員,能防止數(shù)據(jù)庫由于丟失重做日志而導(dǎo)致失效。只要組里有一個(gè)成員是可用的,數(shù)據(jù)庫就能繼續(xù)工作。 V$LOG和V$LOGFILE視圖保存聯(lián)機(jī)重做日志文件的信息。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.2.4 4.1.2.4 追蹤文件追蹤文件追蹤文件:所有的OracleOracle數(shù)據(jù)庫都至少有一個(gè)文件用于數(shù)據(jù)庫都至少有一個(gè)文件用于記錄系統(tǒng)信息、錯(cuò)誤及主要事件記錄系統(tǒng)信息、錯(cuò)誤及主要事件。這個(gè)文件叫做sidALRT.log (sid是數(shù)據(jù)庫系統(tǒng)的標(biāo)識(shí)符),存儲(chǔ)在由init.ora參數(shù)BACKGRO
26、UND_DUMP_DEST指定的位置。 當(dāng)調(diào)查數(shù)據(jù)庫故障時(shí),應(yīng)首先查看該文件,關(guān)鍵的錯(cuò)誤總是在這里被記載。 后臺(tái)進(jìn)程和用戶進(jìn)程也建立它們自己的追蹤文件后臺(tái)進(jìn)程和用戶進(jìn)程也建立它們自己的追蹤文件,記載出現(xiàn)故障的信息。后臺(tái)進(jìn)程追蹤文件貯存在BACKGROUND_DUMP_ DEST所指定的位置,用戶進(jìn)程追蹤文件貯存在由USER_DUMP_ DEST參數(shù)設(shè)置所指定的目錄里。 后臺(tái)進(jìn)程追蹤文件被命名為sidPROC.trc,PROC是后臺(tái)進(jìn)程的名字。用戶會(huì)話追蹤文件帶有一個(gè)ora前綴,后面是一系列帶有.trc文件擴(kuò)展名的唯一標(biāo)識(shí)數(shù)字。 可以在V$PARAMETER視圖中獲得BACKGROUND_DUM
27、P_DEST和USER_DIMP_DEST參數(shù)的當(dāng)前設(shè)置。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.2.5 ROWID4.1.2.5 ROWIDROWID:OracleOracle數(shù)據(jù)庫能夠用數(shù)據(jù)庫能夠用ROWID(ROWID(行內(nèi)部地址行內(nèi)部地址) )唯唯一識(shí)別數(shù)據(jù)庫中的每一行一識(shí)別數(shù)據(jù)庫中的每一行。 ROWID的格式:BBBBBBBB.RRRR.FFFF,BBBBBBBB是數(shù)據(jù)文件中行所在的塊號(hào)(采用16進(jìn)制)。RRRR是數(shù)據(jù)行所在塊中的行號(hào)(采用16進(jìn)制),F(xiàn)FFF是塊所在的文件號(hào)(采用16進(jìn)制)。 通過查詢DBA_DATA_FILES視圖,可以把RDWID中
28、的文件號(hào)和文件名相匹配。 當(dāng)每行在第一次創(chuàng)建時(shí),都會(huì)被分配一個(gè)ROWID。除非該行被刪除或該行所在的段被重組(通過導(dǎo)入/導(dǎo)出工具等等),否則這個(gè)ROWID保持不變。 在數(shù)據(jù)庫中使用ROWID 是找到一行的最快方法。數(shù)據(jù)庫的每個(gè)表都有一個(gè)名為ROWID 的偽列(pseudocolumn),通過查詢它可以列出表中每一行的ROWID。 北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.2.5 ROWID4.1.2.5 ROWIDROWID: 因?yàn)橐驗(yàn)镽OWIDROWID的唯一性,它可以被用來創(chuàng)造性的唯一性,它可以被用來創(chuàng)造性地解決許多不同的難題地解決許多不同的難題。 例如:下面的
29、SQL顯示一個(gè)在其中含有表的行的數(shù)據(jù)庫文件數(shù)目: select count(distinct(substr(rowid,15,4) from 表; 北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.2.6 4.1.2.6 ORACLE塊塊Oracle塊: Oracle塊是數(shù)據(jù)庫服務(wù)器能夠訪問的最小存儲(chǔ)單元。Oracle塊的大小是指一次I/O過程中,RDBMS從數(shù)據(jù)文件中讀寫的字節(jié)數(shù)、數(shù)據(jù)庫對(duì)象大小和高速緩存中的塊也是以O(shè)racle塊的形式設(shè)置的。 一個(gè)Oracle塊是由操作系統(tǒng)塊組成的,但它們并不相同。OracleOracle塊是操作系統(tǒng)塊的整數(shù)倍塊是操作系統(tǒng)塊的整數(shù)倍。例
30、如:在UNIX中,操作系統(tǒng)塊通常為8KB,那么將db_block_size設(shè)置為8192、16384等,使它成為8KB的整數(shù)倍。 OracleOracle塊的大小是在數(shù)據(jù)庫創(chuàng)建時(shí)為數(shù)據(jù)庫設(shè)置的,塊的大小是在數(shù)據(jù)庫創(chuàng)建時(shí)為數(shù)據(jù)庫設(shè)置的,是不能改變的是不能改變的。如果在創(chuàng)建數(shù)據(jù)庫后,需要大一些的(或小些的)塊,那么就必須重新建立整個(gè)數(shù)據(jù)庫。 每個(gè)Oracle塊都包含頭信息空間、塊中數(shù)據(jù)將來的更新空間以及塊中實(shí)際存儲(chǔ)行所占空間。塊頭保存著諸如數(shù)據(jù)庫段、同時(shí)可以有多少事務(wù)訪問塊等信息。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.2.6 4.1.2.6 ORACLE塊塊Orac
31、le塊 每個(gè)塊還分配了一定量的空間,用于塊中貯存行的將來更新(PCTFREE和PCTUSED存儲(chǔ)設(shè)置來控制)。 因?yàn)閿?shù)據(jù)庫塊決定著在每一次I/O操作中能從數(shù)據(jù)文件中讀取的字節(jié)數(shù),所以它的大小是非常重要的調(diào)整因素。一個(gè)過大的數(shù)據(jù)庫塊將會(huì)把一些不必要的數(shù)一個(gè)過大的數(shù)據(jù)庫塊將會(huì)把一些不必要的數(shù)據(jù)讀進(jìn)緩沖區(qū),而一個(gè)太小的塊則會(huì)導(dǎo)致行鏈接據(jù)讀進(jìn)緩沖區(qū),而一個(gè)太小的塊則會(huì)導(dǎo)致行鏈接。 聯(lián)機(jī)事務(wù)處理(OLTP)應(yīng)用有時(shí)可以從較小的塊(4KB或8KB)上獲益。 對(duì)于數(shù)據(jù)倉庫或決策支持系統(tǒng)(DSS)數(shù)據(jù)庫來說,較大的數(shù)據(jù)庫塊能夠極大地提高性能。這些類型的應(yīng)用在一個(gè)事務(wù)過程中,常常需要處理大量的數(shù)據(jù),并且通??紤]
32、系統(tǒng)的響應(yīng)時(shí)間以分鐘來計(jì)時(shí),而不以秒來計(jì)時(shí)。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.3 4.1.3 ORACLE用戶用戶數(shù)據(jù)庫對(duì)象數(shù)據(jù)庫對(duì)象 用戶數(shù)據(jù)庫對(duì)象用戶數(shù)據(jù)庫對(duì)象:用戶數(shù)據(jù)庫對(duì)象是指那些不是Oracle RDBMS專用的對(duì)象。 當(dāng)然,用戶數(shù)據(jù)庫對(duì)象是受Oracle內(nèi)部管理的,但是它們能夠提供一組用戶建造塊,利用這些塊用戶可以創(chuàng)建自己的數(shù)據(jù)庫。用戶數(shù)據(jù)庫對(duì)象包括數(shù)據(jù)文件、區(qū)間、表空間以及數(shù)據(jù)庫段。數(shù)據(jù)文件數(shù)據(jù)文件區(qū)間區(qū)間表空間表空間北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.3 4.1.3 ORACLE用戶用戶數(shù)據(jù)庫對(duì)象數(shù)據(jù)庫對(duì)象數(shù)
33、據(jù)文件數(shù)據(jù)文件:Oracle數(shù)據(jù)文件是操作系統(tǒng)文件。每個(gè)數(shù)據(jù)文件被分配給一個(gè)表空間,并且擁有存儲(chǔ)在那個(gè)表空間里的實(shí)際數(shù)據(jù)。存儲(chǔ)在存儲(chǔ)在數(shù)據(jù)文件中的數(shù)據(jù)采用數(shù)據(jù)文件中的數(shù)據(jù)采用OracleOracle二進(jìn)制格式二進(jìn)制格式,這樣除了Oracle外,不能被其他任何東西讀取。 數(shù)據(jù)文件是使用CREATE TABLESPACE或ALTER TABLESPACE創(chuàng)建的。一個(gè)數(shù)據(jù)文件的大小是根據(jù)CREATE語句中指定的大小來建立的,而不是由它所貯存的數(shù)據(jù)量決定的。 訪問DBA_DATA_FILES和V$DATAFILE視圖,可獲得數(shù)據(jù)文件中為數(shù)據(jù)庫定義的有關(guān)信息。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)
34、據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.3 4.1.3 ORACLE用戶用戶數(shù)據(jù)庫對(duì)象數(shù)據(jù)庫對(duì)象區(qū)間:區(qū)間(extent)是一個(gè)存儲(chǔ)單位,由一個(gè)或多個(gè)邏輯連續(xù)的Oracle塊組成,每個(gè)數(shù)據(jù)庫段都是由一個(gè)或多個(gè)區(qū)間組成,在一個(gè)數(shù)據(jù)庫段中的每個(gè)區(qū)間的大小可以相同或不同。 一個(gè)數(shù)據(jù)庫段在對(duì)象創(chuàng)建時(shí),完全按照一個(gè)數(shù)據(jù)庫段在對(duì)象創(chuàng)建時(shí),完全按照CREATECREATE命令的存儲(chǔ)子句中所指定的來分配區(qū)命令的存儲(chǔ)子句中所指定的來分配區(qū)間間。當(dāng)一個(gè)段無法把新數(shù)據(jù)填充到它當(dāng)前分配的區(qū)間中時(shí),必須為它分配其他的區(qū)間。下一個(gè)新區(qū)間的分配管理是數(shù)據(jù)庫空間管理主要涉及的內(nèi)容。 區(qū)間信息貯存在DBA_EXTENTS視圖中。北京郵電大學(xué)
35、軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.3 4.1.3 ORACLE用戶用戶數(shù)據(jù)庫對(duì)象數(shù)據(jù)庫對(duì)象表空間:表空間(tablespace)是一個(gè)數(shù)據(jù)結(jié)構(gòu),用于組合被相似地訪問的數(shù)據(jù)。每個(gè)表空間都是由一個(gè)或每個(gè)表空間都是由一個(gè)或多個(gè)數(shù)據(jù)文件組成的,所有的數(shù)據(jù)庫對(duì)象必須被指定多個(gè)數(shù)據(jù)文件組成的,所有的數(shù)據(jù)庫對(duì)象必須被指定一個(gè)表空間,它們?cè)谀抢锉粍?chuàng)建一個(gè)表空間,它們?cè)谀抢锉粍?chuàng)建。這樣一來,組成對(duì)象的數(shù)據(jù)就被貯存到分配給指定表空間的數(shù)據(jù)文件中。 表空間被用于分隔涉及數(shù)據(jù)訪問的I/O,例如:可以創(chuàng)建一個(gè)表空間來存儲(chǔ)數(shù)據(jù)對(duì)象,也可以創(chuàng)建另外一個(gè)表空間來存儲(chǔ)索引對(duì)象。通過給駐留在不同物理磁盤上
36、的表空間分配數(shù)據(jù)文件,可以確保對(duì)索引數(shù)據(jù)的訪問不會(huì)影響對(duì)索引指向的數(shù)據(jù)的訪問。 在數(shù)據(jù)庫備份和恢復(fù)中,表空間也扮演了一個(gè)重要的角色。因?yàn)橐粋€(gè)表空間直接映射著一個(gè)或多個(gè)數(shù)據(jù)文件,備份和恢復(fù)數(shù)據(jù)通常是在表空間(數(shù)據(jù)文件)備份和恢復(fù)數(shù)據(jù)通常是在表空間(數(shù)據(jù)文件)級(jí)下進(jìn)行的級(jí)下進(jìn)行的。 在DBA_TABLESPACES可查看表空間的信息。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.4 4.1.4 ORACLE數(shù)據(jù)庫段數(shù)據(jù)庫段 數(shù)據(jù)庫段(數(shù)據(jù)庫段(database segmentdatabase segment)是貯存在數(shù)據(jù))是貯存在數(shù)據(jù)庫中的用戶建立的對(duì)象庫中的用戶建立的對(duì)象
37、。 除了用戶創(chuàng)建的數(shù)據(jù)和索引段外,通常還有臨時(shí)段和回滾段。盡管擁有合法權(quán)限的用戶可以創(chuàng)建這些段,但最好由DBA創(chuàng)建,然后讓應(yīng)用用戶和程序共享這些段。表表: :表(table)是存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)庫段。每個(gè)表是由一個(gè)或多個(gè)列組成的,每個(gè)列都被指定一個(gè)名字和數(shù)據(jù)類型,每個(gè)列的數(shù)據(jù)類型為貯存在表中的數(shù)據(jù)定義了類型和精度。 DBA_TABLES和DBA_TAB_COLUMNS包含數(shù)據(jù)庫中關(guān)于表的信息。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.4 4.1.4 ORACLE數(shù)據(jù)庫段數(shù)據(jù)庫段OracleOracle表的數(shù)據(jù)類型表的數(shù)據(jù)類型: CHAR 固定長度的字符,尾部使用空格填充
38、,=255字節(jié) VARCHAR 變長字符,=2KB VARCHAR2 變長字符,=2KB LONG 變長字符,=2GB NUMBER 變長數(shù)字 DATE 日期和時(shí)間,從公元前到公元后4712年12月31日 RAW 變長原始二進(jìn)制數(shù)據(jù),=255字節(jié) LONG RAW 變長原始二進(jìn)制數(shù)據(jù),=2GB OracleOracle建議所有的變長字符定義為建議所有的變長字符定義為VARCHAR2VARCHAR2,而不是VARCHAR。Oracle保證永遠(yuǎn)不對(duì)VARCHAR2做出導(dǎo)致需要對(duì)應(yīng)用程序修改才能使其向上兼容的功能性變化。因?yàn)閂ARCHAR的功能是由ANSI標(biāo)準(zhǔn)委員會(huì)授權(quán)管理的,Oracle不能保證這
39、些功能在新版本里不發(fā)生巨大的變化。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.4 4.1.4 ORACLE數(shù)據(jù)庫段數(shù)據(jù)庫段索引:索引索引(index)(index)是為了加速對(duì)特定表數(shù)據(jù)的訪問而是為了加速對(duì)特定表數(shù)據(jù)的訪問而創(chuàng)建的數(shù)據(jù)段創(chuàng)建的數(shù)據(jù)段。一個(gè)索引擁有表的一列或多列的值以及與這些列值相對(duì)應(yīng)的行內(nèi)部地址(ROWID)。當(dāng)Oracle服務(wù)器需要在表中查找某一指定行時(shí),它在索引中查找ROWID,然后直接從表中提出數(shù)據(jù)。 在在OracleOracle中有幾種可用的索引類型中有幾種可用的索引類型。最常用的是B-樹索引。簇索引是在簇中被表共享的列的索引,不同于常規(guī)的索引
40、,簇索引在索引中只存儲(chǔ)一次索引鍵值,而不管索引鍵在表中重復(fù)多少次。在簇上能夠執(zhí)行任何數(shù)據(jù)操作語言前,必須在簇上創(chuàng)建簇索引。 最新的索引類型是位映射(bitmap)索引,在基數(shù)較低(不同值數(shù)量較小)的列中,位映射索引可以比傳統(tǒng)的B-樹索引更小,更有效。 DBA_INDEXES和DBA_IND_COLUMNS含有關(guān)于數(shù)據(jù)庫中全部索引的信息。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.4 4.1.4 ORACLE數(shù)據(jù)庫段數(shù)據(jù)庫段回滾段:回滾段(回滾段(rollback segmentrollback segment)是存儲(chǔ)在數(shù)據(jù))是存儲(chǔ)在數(shù)據(jù)庫事務(wù)中發(fā)生改變的原始數(shù)據(jù)塊的數(shù)
41、據(jù)庫對(duì)象。它們庫事務(wù)中發(fā)生改變的原始數(shù)據(jù)塊的數(shù)據(jù)庫對(duì)象。它們用于提供數(shù)據(jù)的已經(jīng)改變但尚未提交的讀一致性視圖用于提供數(shù)據(jù)的已經(jīng)改變但尚未提交的讀一致性視圖。 多個(gè)用戶會(huì)話可以共享一個(gè)回滾段,每個(gè)回滾段至少由兩個(gè)區(qū)間組成。當(dāng)一個(gè)事務(wù)開始時(shí),用戶會(huì)話在一個(gè)可用回滾段中得到一個(gè)可用區(qū)間的專用鎖,如果事務(wù)填滿了第一個(gè)區(qū)間,它會(huì)被分配另一個(gè)區(qū)間。如果另一個(gè)區(qū)間不可用,回滾段會(huì)自動(dòng)地給自己分配其他的區(qū)間,叫回滾段擴(kuò)展(rollback segment extension)。 如果回滾段不能分配其他的區(qū)間(因?yàn)橐呀?jīng)達(dá)到回滾段最大區(qū)間數(shù),或者在回滾段表空間上沒有更多的自由區(qū)間),那么就會(huì)出現(xiàn)錯(cuò)誤,而且事務(wù)將被回
42、滾。 回滾段區(qū)間的分配影響數(shù)據(jù)庫的性能,因此盡可能回滾段區(qū)間的分配影響數(shù)據(jù)庫的性能,因此盡可能在沒有分配新區(qū)間的情況下,使所有事務(wù)能夠執(zhí)行在沒有分配新區(qū)間的情況下,使所有事務(wù)能夠執(zhí)行。 DBA_ROLLBACK_SEGS視圖中含有關(guān)于回滾段的信息。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.4 4.1.4 ORACLE數(shù)據(jù)庫段數(shù)據(jù)庫段表簇:表簇(table cluster)是一個(gè)數(shù)據(jù)庫對(duì)象,它可以將那些經(jīng)常在相同數(shù)據(jù)塊中一可以將那些經(jīng)常在相同數(shù)據(jù)塊中一起使用的表進(jìn)行物理分組起使用的表進(jìn)行物理分組。當(dāng)處理那些經(jīng)常連接在一起進(jìn)行查詢的表時(shí),表簇是特別有效的。一個(gè)表簇存儲(chǔ)簇
43、鍵以及簇表中的列值。哈西簇:哈西簇(hash cluster)是數(shù)據(jù)庫存儲(chǔ)的最后選項(xiàng)。在一個(gè)哈西簇中,表是基于在一個(gè)哈西簇中,表是基于哈西值組織的,在表的主鍵值上使用哈西函哈西值組織的,在表的主鍵值上使用哈西函數(shù)可以得到這個(gè)哈西值數(shù)可以得到這個(gè)哈西值。在從哈西簇中提取數(shù)據(jù)時(shí),哈西函數(shù)被用于要求的鍵值上,結(jié)果值給出Oracle哈西簇中的存儲(chǔ)數(shù)據(jù)的塊。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.5 4.1.5 ORACLE數(shù)據(jù)字典數(shù)據(jù)字典 數(shù)據(jù)字典(data dictionary)是存儲(chǔ)在數(shù)據(jù)庫中的所有對(duì)象信息的知識(shí)庫,OracleOracle使用數(shù)據(jù)使用數(shù)據(jù)字典獲取對(duì)象
44、信息和安全信息,而用戶和數(shù)據(jù)字典獲取對(duì)象信息和安全信息,而用戶和數(shù)據(jù)庫系統(tǒng)管理員用它來查閱數(shù)據(jù)庫信息庫系統(tǒng)管理員用它來查閱數(shù)據(jù)庫信息。它保存著數(shù)據(jù)庫中數(shù)據(jù)庫對(duì)象和段的信息,例如表、視圖、索引、包以及過程,它還保存著關(guān)于如用戶、權(quán)限、角色、審計(jì)和約束等的信息。數(shù)據(jù)字典數(shù)據(jù)字典是只讀的是只讀的,由四部分組成:內(nèi)部RDBMS(X$) 表、數(shù)據(jù)字典表、動(dòng)態(tài)性能(V$)視圖和數(shù)據(jù)字典視圖。內(nèi)部RDBMS(X$)表:Oracle數(shù)據(jù)庫的心臟就是所謂的內(nèi)部RDBMS(X$)表,這些表被Oracle RDBMS用于跟蹤內(nèi)部數(shù)據(jù)庫信息。X$表是加密命名的且?guī)缀跏菬o法解密的。X$X$表被設(shè)計(jì)成不能被數(shù)據(jù)庫系統(tǒng)管理
45、員或用表被設(shè)計(jì)成不能被數(shù)據(jù)庫系統(tǒng)管理員或用戶直接使用戶直接使用。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.5 4.1.5 ORACLE數(shù)據(jù)字典數(shù)據(jù)字典數(shù)據(jù)字典表:數(shù)據(jù)字典表數(shù)據(jù)字典表(data dictionary table)存儲(chǔ)表、索引、約束以及所有其他數(shù)據(jù)庫結(jié)構(gòu)的信息。它們屬于SYS,在數(shù)據(jù)庫創(chuàng)建時(shí)自動(dòng)發(fā)生。在數(shù)據(jù)字在數(shù)據(jù)字典視圖中可以找到數(shù)據(jù)字典表中的大部分信息典視圖中可以找到數(shù)據(jù)字典表中的大部分信息。動(dòng)態(tài)性能視圖:動(dòng)態(tài)性能(V$)視圖(dynamic performance(V$)view)是Oracle數(shù)據(jù)庫系統(tǒng)管理員的主要依靠,這些視圖包含了大量數(shù)據(jù)庫
46、函數(shù)運(yùn)行這些視圖包含了大量數(shù)據(jù)庫函數(shù)運(yùn)行時(shí)的性能和統(tǒng)計(jì)信息時(shí)的性能和統(tǒng)計(jì)信息。它們還具有相當(dāng)?shù)目勺x性(與X$表相反),也就是說能夠被數(shù)據(jù)庫系統(tǒng)管理員用于診斷和解決問題。關(guān)于大多數(shù)V$視圖的文檔能夠在Oracle Reference Manual中查到。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.5 4.1.5 ORACLE數(shù)據(jù)字典數(shù)據(jù)字典數(shù)據(jù)字典視圖:數(shù)據(jù)字典視圖是在數(shù)據(jù)字典視圖是在X$X$和數(shù)據(jù)字和數(shù)據(jù)字典表上創(chuàng)建的視圖典表上創(chuàng)建的視圖,也就意味著它們能被終端用戶和數(shù)據(jù)庫系統(tǒng)管理員使用和查詢,它們被分成三類:DBA_DBA_、ALL_ALL_和和USER_USER_
47、視圖視圖。DBA_視圖包含了數(shù)據(jù)庫所有對(duì)象的信息。例如,DBA_TABLES包含所有已創(chuàng)建表的信息,ALL_視圖包含了用戶查詢表時(shí)可以訪問的所有對(duì)象的信息,USER_視圖包含了用戶查詢表時(shí)表所擁有的全部對(duì)象的信息。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.6 4.1.6 ORACLE其它對(duì)象其它對(duì)象 在數(shù)據(jù)庫中還貯存著一些其他的對(duì)象,這些對(duì)象沒有被準(zhǔn)確地按段分類,它們包括視圖、序列、同義詞、觸發(fā)器、數(shù)據(jù)庫鏈以及存儲(chǔ)包、過程和函數(shù)。視圖視圖(View):(View):視圖是存儲(chǔ)的能夠被查詢的SQL語句。視圖用于隱藏一些數(shù)據(jù),并使復(fù)雜的查詢變得易于理解和使用。通過在遠(yuǎn)程
48、數(shù)據(jù)庫表上創(chuàng)建視圖,視圖也能被用于隱藏分布式數(shù)據(jù)庫對(duì)象。任何可以做為SQL查詢而執(zhí)行的語句,都能被創(chuàng)建成為一個(gè)視圖。 在設(shè)計(jì)應(yīng)用程序時(shí),視圖是非常有用的,因?yàn)樗鼈兡軌蛞员淼男问诫[藏復(fù)雜的查詢邏輯,使得更易于查詢。它們可以和嵌在它們內(nèi)部的優(yōu)化器提示一起被創(chuàng)建,以確保最佳的查詢性能。 DBA_VIEWS視圖存有在數(shù)據(jù)庫中創(chuàng)建的視圖的信息。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.6 4.1.6 ORACLE其它對(duì)象其它對(duì)象序列序列(Sequence):(Sequence):序列是用于產(chǎn)生唯一數(shù)碼的數(shù)據(jù)庫對(duì)象。序列創(chuàng)建時(shí)帶有初始值、增量值以及最大值。每次從序列中返回一個(gè)數(shù)
49、字,當(dāng)前序列值是一個(gè)一個(gè)遞增的,每個(gè)序列產(chǎn)生的數(shù)字可達(dá)到38位長度。 可以通過選擇來自序列的NEXTVAL或CURRVAL偽列使用序列。例如:一個(gè)名為EMP_SEQ的序列, 執(zhí)行 SELECT EMP_SEQ.NEXTVAL FROM DUAL; 返回序列的下一個(gè)整數(shù)值,并且當(dāng)前序列值加1; 執(zhí)行 SELECT EMP_SEQ.CURRVAL FROM DUAL; 返回當(dāng)前序列的整數(shù)值。 序列最通常的用途是提供唯一的數(shù)字作為表主鍵列序列最通常的用途是提供唯一的數(shù)字作為表主鍵列的代用品的代用品。 有關(guān)序列的信息貯存在DBA_SEQUENCES視圖中。北京郵電大學(xué)軟件學(xué)院 郭文明 2016.9數(shù)據(jù)庫設(shè)計(jì)與開發(fā)講義4.1.6 4.1.6 ORACLE其它對(duì)象其它對(duì)象觸發(fā)器觸發(fā)器(Trigger):(Trigger):觸發(fā)器是存儲(chǔ)過程,當(dāng)針對(duì)一個(gè)表發(fā)生特定的動(dòng)作時(shí),就會(huì)激活它。觸
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年貴州農(nóng)業(yè)職業(yè)學(xué)院單招職業(yè)傾向性測(cè)試題庫帶答案
- 2025年度綠化項(xiàng)目管理與勞務(wù)派遣合同
- 2025年度教育機(jī)構(gòu)分紅合作協(xié)議范本(含師資培訓(xùn))
- 2025年度房地產(chǎn)企業(yè)勞動(dòng)合同管理制度與購房合同附件
- 2025年度出國工人勞務(wù)合同(含緊急救援與安全應(yīng)急)
- 2025年度城市綜合體開發(fā)項(xiàng)目多人合伙股東合作協(xié)議
- 2025年度健康醫(yī)療副總經(jīng)理聘用與市場(chǎng)拓展合同
- 2025年度員工向公司借款額度限制合同
- 2025年度住宅小區(qū)施工圍擋安裝及安全管理合同
- 2023-2024學(xué)年廣東省珠海市香洲區(qū)第二中學(xué)高三下學(xué)期三模生物試卷
- 提升辦公室工作效能的經(jīng)驗(yàn)交流發(fā)言模板
- 胃癌影像診斷課件
- 建筑工程勞務(wù)作業(yè)服務(wù)方案
- 教育興則國家興教育強(qiáng)則國家強(qiáng)心得
- 計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)指導(dǎo)(鄭宏等編著 華為)課件PPT(計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)指導(dǎo))
- (完整版)小學(xué)生心理健康教育課件
- 軍隊(duì)文職專用簡歷(2023年)
- 建筑裝飾工程施工總平面布置圖
- 鐵路基本建設(shè)工程設(shè)計(jì)概(預(yù))算編制辦法-國鐵科法(2017)30號(hào)
- 顏真卿《勸學(xué)》ppt課件1
- 1+X證書制度試點(diǎn)工作報(bào)告
評(píng)論
0/150
提交評(píng)論