您好,登錄后才能下訂單哦!
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(會打開一個命令行窗口),然后按照命令行的提示一步步進行。
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ù)庫。
- 數(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)生。)
- 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)系。
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文件中查找。
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:退出。
免責聲明:本站發(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)容。