其實(shí)oracle數(shù)據(jù)庫(kù)的應(yīng)用的問(wèn)題并不復(fù)雜,但是又很多的朋友都不太了解oracle數(shù)據(jù)庫(kù)的三種文件組成,因此呢,今天小編就來(lái)為大家分享oracle數(shù)據(jù)庫(kù)的應(yīng)用的一些知識(shí),希望可以幫助到大家,下面我們一起來(lái)看看這個(gè)問(wèn)題的分析吧!
oracle數(shù)據(jù)庫(kù)管理工具有哪些
對(duì)于Oracle數(shù)據(jù)庫(kù)管理:1、Oracle自帶的有sqlplus,基于命令行的;EM企業(yè)管理器,基于圖形界面的(11g以前是桌面版的,11g及以后是web界面的)。
2、第三方工具有PL/SQLDeveloper,容易上手,使用方便,使用人數(shù)最多;Toadfororacle,功能比前者強(qiáng)大些,使用起來(lái)也相對(duì)復(fù)雜些。oracle數(shù)據(jù)庫(kù)有多厲害
Oracle數(shù)據(jù)庫(kù)的強(qiáng)大,不僅體現(xiàn)在其對(duì)ACID的巧妙實(shí)現(xiàn),其對(duì)高并發(fā)的完美支持,更重要的是他的可管理性,包括可度量、可回溯,以及出現(xiàn)問(wèn)題后的問(wèn)題核查接口和問(wèn)題檢查方法論,真是強(qiáng)大到令人發(fā)紫,這是其他關(guān)系型數(shù)據(jù)庫(kù)短期內(nèi)還無(wú)法超越的。
做oracle,有前途嗎
當(dāng)然有前途了,而且很有錢途!
目前Oracle數(shù)據(jù)庫(kù)一般都用在大型國(guó)企,金融公司,銀行之類的地方。
互聯(lián)網(wǎng)公司反而用的很少,基本都是MySQL,因?yàn)槊赓M(fèi)且開源。
不過(guò)Oracle的技術(shù)相對(duì)會(huì)封閉,不開源,很多問(wèn)題可能也需要專業(yè)售后指導(dǎo)。不過(guò)一旦經(jīng)驗(yàn)豐富,成為專家,還是很牛逼的。
oracle數(shù)據(jù)庫(kù)應(yīng)用結(jié)構(gòu)包括
Oracle數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)包括四個(gè)方面:數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)、邏輯結(jié)構(gòu)、內(nèi)存結(jié)構(gòu)及進(jìn)程。
1.物理結(jié)構(gòu)
物理數(shù)據(jù)庫(kù)結(jié)構(gòu)是由構(gòu)成數(shù)據(jù)庫(kù)的操作系統(tǒng)文件所決定,Oracle數(shù)據(jù)庫(kù)文件包括:
數(shù)據(jù)文件(DataFile)
數(shù)據(jù)文件用來(lái)存儲(chǔ)數(shù)據(jù)庫(kù)中的全部數(shù)據(jù),例如數(shù)據(jù)庫(kù)表中的數(shù)據(jù)和索引數(shù)據(jù).通常以為*.dbf格式,例如:userCIMS.dbf。
日志文件(RedoLogFile)
日志文件用于記錄數(shù)據(jù)庫(kù)所做的全部變更(如增加、刪除、修改)、以便在系統(tǒng)發(fā)生故障時(shí),用它對(duì)數(shù)據(jù)庫(kù)進(jìn)行恢復(fù)。名字通常為L(zhǎng)og*.dbf格式,如:Log1CIMS.dbf,Log2CIMS.dbf。
控制文件(ControlFile)
每個(gè)Oracle數(shù)據(jù)庫(kù)都有相應(yīng)的控制文件,它們是較小的二進(jìn)制文件,用于記錄數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),如:數(shù)據(jù)庫(kù)名、數(shù)據(jù)庫(kù)的數(shù)據(jù)文件和日志文件的名字和位置等信息。用于打開、存取數(shù)據(jù)庫(kù)。名字通常為Ctrl*ctl格式,如Ctrl1CIMS.ctl。
配置文件
配置文件記錄Oracle數(shù)據(jù)庫(kù)運(yùn)行時(shí)的一些重要參數(shù),如:數(shù)據(jù)塊的大小,內(nèi)存結(jié)構(gòu)的配置等。名字通常為init*.ora格式,如:initCIMS.ora。
2邏輯結(jié)構(gòu)
Oracle數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)描述了數(shù)據(jù)庫(kù)從邏輯上如何來(lái)存儲(chǔ)數(shù)據(jù)庫(kù)中的數(shù)據(jù)。邏輯結(jié)構(gòu)包括表空間、段、區(qū)、數(shù)據(jù)塊和模式對(duì)象。數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)將支配一個(gè)數(shù)據(jù)庫(kù)如何使用系統(tǒng)的物理空間.模式對(duì)象及其之間的聯(lián)系則描述了關(guān)系數(shù)據(jù)庫(kù)之間的設(shè)計(jì).
一個(gè)數(shù)據(jù)庫(kù)從邏輯上說(shuō)是由一個(gè)或多個(gè)表空間所組成,表空間是數(shù)據(jù)庫(kù)中物理編組的數(shù)據(jù)倉(cāng)庫(kù),每一個(gè)表空間是由段(segment)組成,一個(gè)段是由一組區(qū)(extent)所組成,一個(gè)區(qū)是由一組連續(xù)的數(shù)據(jù)庫(kù)塊(databaseblock)組成,而一個(gè)數(shù)據(jù)庫(kù)塊對(duì)應(yīng)硬盤上的一個(gè)或多個(gè)物理塊。一個(gè)表空間存放一個(gè)或多個(gè)數(shù)據(jù)庫(kù)的物理文件(即數(shù)據(jù)文件).一個(gè)數(shù)據(jù)庫(kù)中的數(shù)據(jù)被邏輯地存儲(chǔ)在表空間上。
表空間(tablespace)
Oracle數(shù)據(jù)庫(kù)被劃分為一個(gè)或多個(gè)稱為表空間的邏輯結(jié)構(gòu),它包括兩類表空間,System表空間和非System表空間,其中,System表空間是安裝數(shù)據(jù)庫(kù)時(shí)自動(dòng)建立的,它包含數(shù)據(jù)庫(kù)的全部數(shù)據(jù)字典,存儲(chǔ)過(guò)程、包、函數(shù)和觸發(fā)器的定義以及系統(tǒng)回滾段。除此之外,還能包含用戶數(shù)據(jù)。。
一個(gè)表空間包含許多段,每個(gè)段有一些可以不連續(xù)的區(qū)組成,每個(gè)區(qū)由一組連續(xù)的數(shù)據(jù)塊組成,數(shù)據(jù)塊是數(shù)據(jù)庫(kù)進(jìn)行操作的最小單位。
每個(gè)表空間對(duì)應(yīng)一個(gè)或多個(gè)數(shù)據(jù)文件,每個(gè)數(shù)據(jù)文件只能屬于一個(gè)表空間。
數(shù)據(jù)庫(kù)塊(databaseblock)
數(shù)據(jù)庫(kù)塊也稱邏輯塊或ORACLE塊,它對(duì)應(yīng)磁盤上一個(gè)或多個(gè)物理塊,它的大小由初始化參數(shù)db-block-size(在文件init.ora中)決定,典型的大小是2k。Pckfree和pctused兩個(gè)參數(shù)用來(lái)優(yōu)化數(shù)據(jù)塊空間的使用。
區(qū)(extent)
區(qū)是由一組連續(xù)的數(shù)據(jù)塊所組成的數(shù)據(jù)庫(kù)存儲(chǔ)空間分配的邏輯單位。
段(segment)
段是一個(gè)或多個(gè)不連續(xù)的區(qū)的集合,它包括一個(gè)表空間內(nèi)特定邏輯結(jié)構(gòu)的所有數(shù)據(jù),段不能跨表空間存放。Oracle數(shù)據(jù)庫(kù)包括數(shù)據(jù)段、索引段、臨時(shí)段、回滾段等。
模式對(duì)象(schemaobject)
Oracle數(shù)據(jù)庫(kù)的模式對(duì)象包括表、視圖、序列、同意詞、索引、觸發(fā)器、存儲(chǔ).過(guò)程等,關(guān)于它們將重點(diǎn)在后面章節(jié)介紹。
3.OracleServer系統(tǒng)進(jìn)程與內(nèi)存結(jié)構(gòu)
當(dāng)在計(jì)算機(jī)服務(wù)器上啟動(dòng)Oracle數(shù)據(jù)庫(kù)后,稱服務(wù)器上啟動(dòng)了一個(gè)Oracle實(shí)例(Instance)。ORACLE實(shí)例(Instance)是存取和控制數(shù)據(jù)庫(kù)的軟件機(jī)制,它包含系統(tǒng)全局區(qū)(SGA)和ORACLE進(jìn)程兩部分。SGA是系統(tǒng)為實(shí)例分配的一組共享內(nèi)存緩沖區(qū),用于存放數(shù)據(jù)庫(kù)實(shí)例和控制信息,以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的治理和操作。
進(jìn)程是操作系統(tǒng)中一個(gè)極為重要的概念。一個(gè)進(jìn)程執(zhí)行一組操作,完成一個(gè)特定的任務(wù).對(duì)ORACLE數(shù)據(jù)庫(kù)治理系統(tǒng)來(lái)說(shuō),進(jìn)程由用戶進(jìn)程、服務(wù)器進(jìn)程和后臺(tái)進(jìn)程所組成。
當(dāng)用戶運(yùn)行一個(gè)應(yīng)用程序時(shí),系統(tǒng)就為它建立一個(gè)用戶進(jìn)程。服務(wù)器進(jìn)程處理與之相連的用戶進(jìn)程的請(qǐng)求,它與用戶進(jìn)程相通訊,為相連的用戶進(jìn)程的ORACLE請(qǐng)求服務(wù)。
為了提高系統(tǒng)性能,更好地實(shí)現(xiàn)多用戶功能,ORACLE還在系統(tǒng)后臺(tái)啟動(dòng)一些后臺(tái)進(jìn)程,用于數(shù)據(jù)庫(kù)數(shù)據(jù)操作。
系統(tǒng)進(jìn)程的后臺(tái)進(jìn)程主要包括:
SMON系統(tǒng)監(jiān)控進(jìn)程:(systemmonitor)負(fù)責(zé)完成自動(dòng)實(shí)例恢復(fù)和回收分類(sort)表空間。
PMON進(jìn)程監(jiān)控進(jìn)程:(PRocessmonitor)實(shí)現(xiàn)用戶進(jìn)程故障恢復(fù)、清理內(nèi)存區(qū)和釋放該進(jìn)程所需資源等。
DBWR數(shù)據(jù)庫(kù)寫進(jìn)程:數(shù)據(jù)庫(kù)緩沖區(qū)的治理進(jìn)程。
在它的治理下,數(shù)據(jù)庫(kù)緩沖區(qū)中總保持有一定數(shù)量的自由緩沖塊,以確保用戶進(jìn)程總能找到供其使用的自由緩沖塊。
LGWR日志文件寫進(jìn)程:是日志緩沖區(qū)的治理進(jìn)程,負(fù)責(zé)把日志緩沖區(qū)中的日志項(xiàng)寫入磁盤中的日志文件上。每個(gè)實(shí)例只有一個(gè)LGWR進(jìn)程。
ARCH歸檔進(jìn)程:(archiverprocess)把已經(jīng)填滿的在線日志文件拷貝到一個(gè)指定的存儲(chǔ)設(shè)備上。僅當(dāng)日志文件組開關(guān)(switch)出現(xiàn)時(shí),才進(jìn)行ARCH操作。ARCH不是必須的,而只有當(dāng)自動(dòng)歸檔可使用或者當(dāng)手工歸檔請(qǐng)求時(shí)才發(fā)出。
RECO恢復(fù)進(jìn)程:是在具有分布式選項(xiàng)時(shí)使用的一個(gè)進(jìn)程,主要用于解決引用分布式事務(wù)時(shí)所出現(xiàn)的故障。它只能在答應(yīng)分布式事務(wù)的系統(tǒng)中出現(xiàn)。
LCKn封鎖進(jìn)程:用于并行服務(wù)器系統(tǒng),主要完成實(shí)例之間的封鎖。
內(nèi)存結(jié)構(gòu)(SGA)
SGA是Oracle為一個(gè)實(shí)例分配的一組共享內(nèi)存緩沖區(qū),它包含該實(shí)例的數(shù)據(jù)和控制信息。SGA在實(shí)例啟動(dòng)時(shí)被自動(dòng)分配,當(dāng)實(shí)例關(guān)閉時(shí)被收回。數(shù)據(jù)庫(kù)的所有數(shù)據(jù)操作都要通過(guò)SGA來(lái)進(jìn)行。
SGA中內(nèi)存根據(jù)存放信息的不同,可以分為如下幾個(gè)區(qū)域:BufferCache:存放數(shù)據(jù)庫(kù)中數(shù)據(jù)庫(kù)塊的拷貝。它是由一組緩沖塊所組成,這些緩沖塊為所有與該實(shí)例相鏈接的用戶進(jìn)程所共享。緩沖塊的數(shù)目由初始化參數(shù)DB_BLOCK_BUFFERS確定,緩沖塊的大小由初始化參數(shù)DB_BLOCK_SIZE確定。大的數(shù)據(jù)塊可提高查詢速度。它由DBWR操作。
b.日志緩沖區(qū)RedoLogBuffer:存放數(shù)據(jù)操作的更改信息。它們以日志項(xiàng)(redoentry)的形式存放在日志緩沖區(qū)中。當(dāng)需要進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)時(shí),日志項(xiàng)用于重構(gòu)或回滾對(duì)數(shù)據(jù)庫(kù)所做的變更。日志緩沖區(qū)的大小由初始化參數(shù)LOG_BUFFER確定。大的日志緩沖區(qū)可減少日志文件I/O的次數(shù)。后臺(tái)進(jìn)程LGWR將日志緩沖區(qū)中的信息寫入磁盤的日志文件中,可啟動(dòng)ARCH后臺(tái)進(jìn)程進(jìn)行日志信息歸檔。
c.共享池SharedPool:包含用來(lái)處理的SQL語(yǔ)句信息。它包含共享SQL區(qū)和數(shù)據(jù)字典存儲(chǔ)區(qū)。共享SQL區(qū)包含執(zhí)行特定的SQL語(yǔ)句所用的信息。數(shù)據(jù)字典區(qū)用于存放數(shù)據(jù)字典,它為所有用戶進(jìn)程所共享。
Oracle數(shù)據(jù)庫(kù)主要功能,主要應(yīng)用于什么企業(yè)
OracleDatabase,又名OracleRDBMS,或簡(jiǎn)稱Oracle。是甲骨文公司的一款關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。到目前仍在數(shù)據(jù)庫(kù)市場(chǎng)上占有主要份額。作為一個(gè)通用的數(shù)據(jù)庫(kù)系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個(gè)關(guān)系數(shù)據(jù)庫(kù),它是一個(gè)完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫(kù)它實(shí)現(xiàn)了分布式處理功能。但它的所有知識(shí),只要在一種機(jī)型上學(xué)習(xí)了ORACLE知識(shí),便能在各種類型的機(jī)器上使用它。
主要應(yīng)用的企業(yè):現(xiàn)在基本大型的企業(yè)都是用的oracle數(shù)據(jù)庫(kù),如公安局的身份證數(shù)據(jù)信息存儲(chǔ)、中國(guó)銀行的數(shù)據(jù)信息存儲(chǔ)、淘寶數(shù)據(jù)存儲(chǔ)等等。
這些企業(yè)基本都有一個(gè)共同特點(diǎn):數(shù)據(jù)量大,要求數(shù)據(jù)準(zhǔn)確,要求系統(tǒng)性能高。
oracle數(shù)據(jù)庫(kù)的應(yīng)用和oracle數(shù)據(jù)庫(kù)的三種文件組成的問(wèn)題分享結(jié)束啦,以上的文章解決了您的問(wèn)題嗎?歡迎您下次再來(lái)哦!