溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Oracle專題1之Oracle概述、Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)以及常用命令

發(fā)布時間:2020-07-15 19:16:31 來源:網(wǎng)絡(luò) 閱讀:1241 作者:糖醋白糖 欄目:關(guān)系型數(shù)據(jù)庫

1、Oracle概述

-  Oracle Database,簡稱為Oracle。是美國ORACLE(甲骨文)公司的一款對象關(guān)系型的數(shù)據(jù)庫管理系統(tǒng)(ORDBMS)。目前在數(shù)據(jù)庫市場上占有主要份額。

-  Oracle的發(fā)展史:1977年埃里森和兩個朋友,成立RSI公司;1979年的夏季,RSI發(fā)布了Oracle第二版;1983年,發(fā)布Oracle第三版,并在1983年改名為Oracle公司(含義是“一切智慧的源泉”);1986年,成為世界第四大軟件公司;1992年6月,Oracle發(fā)布第7版;1997年,Oracle發(fā)布第8版;2001年6月,Oracle發(fā)布了Oracle 9i;2003年9月,Oracle發(fā)布了Oracle 10g;2007年7月11日,Oracle發(fā)布了Oracle 11g;2013年,Oracle 12c發(fā)布。(注:本系列專題使用的是Oracle 11g。)


-  為什么要學習Oracle?

-  性能優(yōu)越,大型數(shù)據(jù)庫中的典范;是對象關(guān)系型的數(shù)據(jù)庫管理系統(tǒng)(ORDBMS);應(yīng)用廣泛,在管理信息方面,企業(yè)數(shù)據(jù)處理,因特網(wǎng)以及電子商務(wù)等領(lǐng)域使用非常廣泛。

-  在數(shù)據(jù)安全性和數(shù)據(jù)完整性控制方面性能優(yōu)越;跨操作系統(tǒng),跨硬件平臺的數(shù)據(jù)互操作能力;支持多用戶,大事務(wù)量的事務(wù)處理;可移植性好。

 

-  Oracle 11g的安裝教程不贅述,詳細參看https://jingyan.baidu.com/article/363872eccfb9266e4aa16f5d.html網(wǎng)頁  

-  Oracle 11g的卸載:首先找到目錄app\Administrator\product\11.2.0\dbhome_1\deinstall,單擊deinstall.bat(會打開一個命令行窗口),然后按照命令行的提示一步步進行。

Oracle專題1之Oracle概述、Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)以及常用命令



2、Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)

-  平常所說的Oracle或者Oracle數(shù)據(jù)庫指的是Oracle數(shù)據(jù)庫管理系統(tǒng)。它由兩部分構(gòu)成,即Oracle Server由一個Oracle實例和一個Oracle數(shù)據(jù)庫組成。(Oracle Server = Oracle Instance + Oracle Database。)

對于初次接觸Oracle數(shù)據(jù)庫的人來講,很容易混淆的兩個概念即是Oracle實例和Oracle數(shù)據(jù)庫。


a、Oracles數(shù)據(jù)庫

-  相關(guān)的操作系統(tǒng)文件(即存儲在計算機硬盤上的文件)集合(包括控制文件、數(shù)據(jù)文件、聯(lián)機日志文件、參數(shù)文件、密碼文件等),這些文件組織在一起,成為一個邏輯整體,即為Oracle數(shù)據(jù)庫。

Oracle專題1之Oracle概述、Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)以及常用命令

-  數(shù)據(jù)庫是用來存儲數(shù)據(jù)的集合,Oracle用它來存儲和管理相關(guān)的信息。

-  Oracle數(shù)據(jù)庫必須要與內(nèi)存中的實例合作,才能對外提供數(shù)據(jù)管理服務(wù)。


b、Oracle實例

-  內(nèi)存結(jié)構(gòu)(SGA、PGA)和一系列后臺進程(Background Process),兩者合起來稱之為一個Oracle實例。即:Oracle Instance = SGA、PGA + Background Process。

-  Oracle內(nèi)存結(jié)構(gòu):包含系統(tǒng)全局區(qū)(SGA)和程序全局區(qū)(PGA)。即Oracle Memory Strutures = SGA + PGA。(SGA由服務(wù)器和后臺進程共享;PGA包含單個后臺進程的數(shù)據(jù)和控制信息,與幾個進程共享的SGA正相反,PGA是只被一個進程使用的區(qū)域,PGA在創(chuàng)建進程時分配在終止進程時回收,即由服務(wù)器進程產(chǎn)生。)

Oracle專題1之Oracle概述、Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)以及常用命令

-  SGA:系統(tǒng)全局區(qū)SGA,SGA = 數(shù)據(jù)緩沖區(qū) + 重做日志緩沖區(qū) + 共享池 + 大池 + Java池 + 流池。系統(tǒng)全局區(qū)是動態(tài)的,由參數(shù)SGA_MAX_SIZE決定。

-  數(shù)據(jù)緩沖區(qū)(Database buffer cache):存儲從數(shù)據(jù)文件中獲取的數(shù)據(jù)塊的鏡像。大小由db_cache_size決定。

-  重做日志緩沖區(qū)(Redo log buffer):對數(shù)據(jù)庫的任何修改都按照順序被記錄在該緩沖,然后由LGWR進程將它寫入磁盤中,大小由LOG_BUFFER決定。

-  共享池(Shared pool):是SGA中最關(guān)鍵的內(nèi)存片段,共享池主要由庫緩存(共享SQL區(qū)和PL/SQL區(qū))和數(shù)據(jù)字典緩存組成,它的作用是存放頻繁使用的sql,在有限的容量中,數(shù)據(jù)庫系統(tǒng)根據(jù)一定的算法決定何時釋放共享池中的sql。庫緩存中大小由shared_pool_size決定。

-  數(shù)據(jù)字典緩存:存儲數(shù)據(jù)庫中的數(shù)據(jù)文件、表、索引、列、用戶和其他數(shù)據(jù)對象的定義和權(quán)限信息,大小由shared_pool_size決定,不能單獨指定。

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

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

-  PGA:是為每個用戶進程連接ORACLE數(shù)據(jù)庫保留的內(nèi)存。進程創(chuàng)建時分配,進程結(jié)束時釋放,只能被一個進程使用。PGA包括以下幾個結(jié)構(gòu):排序區(qū)、游標狀態(tài)區(qū)、會話信息區(qū)、堆棧區(qū)。由參數(shù)pga_aggregate_target決定。


-  后臺進程:PMON --> 程序監(jiān)控進程,SMON -->系統(tǒng)監(jiān)控進程,DBWR --> 數(shù)據(jù)庫寫進程,CKPT --> 檢查點進程。

-  PMON(程序監(jiān)控進程):清除失效的用戶進程,釋放用戶進程所用的資源。如PMON將回滾為提交的工作,釋放鎖,釋放分配給失敗進程的SGA資源。

-  SMON(系統(tǒng)監(jiān)控進程):檢查數(shù)據(jù)庫的一致性,當啟動失敗時完成災(zāi)難恢復等。

-  DBWR(數(shù)據(jù)庫寫進程):負責將修改過的數(shù)據(jù)塊從數(shù)據(jù)庫緩沖區(qū)高速緩存寫入磁盤上的數(shù)據(jù)文件中。

-  CKPT(檢查點進程):DBWR/LGWR的工作原理,造成了數(shù)據(jù)文件,日志文件,控制文件的不一致,CKPT進程負責同步數(shù)據(jù)文件、日志文件和控制文件,更新數(shù)據(jù)文件/控制文件的頭信息等。


c、Oracle實例與Oracle數(shù)據(jù)庫的關(guān)系

-  一個實例能夠裝載以及打開一個數(shù)據(jù)庫。

-  一個數(shù)據(jù)庫能夠被多個實例裝載并打開。

-  實例與數(shù)據(jù)庫的關(guān)系是一對一或者是多對一的關(guān)系。

Oracle專題1之Oracle概述、Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)以及常用命令



3、Oracle中的常用命令


a、了解Oracle的7個服務(wù)的含義

-  Oracle ORCL VSS Writer Service:Oracle卷映射拷貝寫入服務(wù),VSS(Volumne Shadow Copy Service)能夠讓存儲設(shè)備(比如磁盤、陣列等)創(chuàng)建高保真的時間點映像,即映射拷貝(shadow copy)。(非必須啟動)

-  OracleDBConsoleorcl:Oracle數(shù)據(jù)庫控制臺服務(wù),orcl是Oracle的實例標識,默認的實例為orcl。oracle健康檢查專家塞姆說,在運行Enterprise Manager(企業(yè)管理器OEM)的時候,需要啟動這個服務(wù)。(非必須啟動)

-  OracleJobSchedulerORCL:Oracle作業(yè)調(diào)度(定時器)服務(wù),ORCL是Oracle實例標識。(非必須啟動)

-  OracleMTSRecoveryService:服務(wù)端控制。oracle健康檢查專家塞姆說,該服務(wù)允許數(shù)據(jù)庫充當一個微軟事務(wù)服務(wù)器MTS,COM/COM+對象和分布式環(huán)境下的事務(wù)的資源管理器。(非必須啟動)

-  OracleOraDb11g_home1ClrAgent:Oracle數(shù)據(jù)庫.NET擴展服務(wù)的一部分。(非必須啟動)

-  OracleOraDb11g_home1TNSListener:監(jiān)聽器服務(wù),服務(wù)只有在數(shù)據(jù)庫需要遠程訪問的時候才需要。(非必須啟動)

-  OracleServiceORCL:數(shù)據(jù)庫服務(wù)(數(shù)據(jù)庫實例),是Oracle核心服務(wù)。該服務(wù)是數(shù)據(jù)庫啟動的基礎(chǔ),只有該服務(wù)啟動,Oracle數(shù)據(jù)庫才能夠正常啟動。(必須啟動)


b、ORACLE工具的使用

-  四種方式:SQL命令行方式(用Oracle中自帶的SQLPlus)、瀏覽器方式,基于WEB的企業(yè)管理器EM、Sql Developer、PLSQL Developer工具。

-  瀏覽器方式,基于WEB的企業(yè)管理器EM的使用:找到Oracle企業(yè)管理(Oracle Enterprise Manager)控制臺URL地址,將其復制到瀏覽器中:(需要注意的是有些瀏覽器不能使用次功能)。地址可以在\app\Administrator\product\11.2.0\dbhome_1\install目錄中的readme.txt文件中查找。

Oracle專題1之Oracle概述、Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)以及常用命令

Oracle專題1之Oracle概述、Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)以及常用命令


c、Oracle中常用的SQL Plus命令

-  Connect:切換連接用戶,簡寫形式為conn。

-  Show user:顯示當前登錄的用戶。

-  Host <dos命令>:執(zhí)行操作系統(tǒng)命令。

-  Spool:導出記錄到文本中。

-  Clear screen:清屏。

-  Start d:\test.sql:執(zhí)行文件系統(tǒng)中的SQL語句(注:start命令等同于@,即:@d:\test.sql)

-  Desc:顯示表結(jié)構(gòu)。

-  Show error:顯示錯誤信息。

-  EXIT:退出。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI