【正文】
四種類型,即數(shù)據(jù)段、索引段、回退段和臨時段。數(shù)據(jù)段:存放所有標(biāo)的數(shù)據(jù)。Oracle所有未分區(qū)的表都用一個段來保存數(shù)據(jù),而分區(qū)的表每個分區(qū)有一個獨立的數(shù)據(jù)段。在創(chuàng)建表時可以通過STORAGE參數(shù)來指定數(shù)據(jù)段的區(qū)的分配方式。索引段:保存的是索引中的索引條目,在創(chuàng)建索引時(create index或喊有約束自動創(chuàng)建索引時),Oracle將為索引創(chuàng)建索引段。Oracle中所有未分區(qū)索引都用一個段來保存數(shù)據(jù),而分區(qū)的索引每個分區(qū)使用一個獨立的索引段。臨時段:臨時段是Oracle在進行大的查詢或排序時自動分配的臨時工作空間,用來保存SQL語句分析和執(zhí)行的中間結(jié)果。如果排序操作能在內(nèi)存中進行,Oracle不會建立臨時段,下面的語句在執(zhí)行時可能需要臨時段:CREATE INDEXSELECT…ORADER BYSELECT DISTINCTSELECT…GROUP BYSELECT…UNIONSELECT…INTERSECTSELECT…MINUS如果應(yīng)用程序經(jīng)常使用這些語句,可以增加SORT_AREA_SIZE初始化參數(shù)的值來改進性能?;貪L段:回滾段記錄了每個事務(wù)修改數(shù)據(jù)時數(shù)據(jù)的舊值,不管這個事務(wù)是否提交。每個回滾條目包括塊信息(修改的文件號和塊ID)和修改前的數(shù)據(jù)。用來提供讀一致性、回滾事務(wù)和恢復(fù)數(shù)據(jù)庫。建議利用自動撤消管理來管理回滾。由Oracle來管理回滾事務(wù)。區(qū):區(qū)為段分配空間,它由連續(xù)的數(shù)據(jù)塊組成。 當(dāng)段中的所有空間已完全使用時,系統(tǒng)自動為該段分配一個新區(qū)。區(qū)不能跨數(shù)據(jù)文件存在,只能存在于一個數(shù)據(jù)文件中oracle創(chuàng)建數(shù)據(jù)對象時,自動分配若干個區(qū)作為對象的初始存儲空間。塊:數(shù)據(jù)塊是Oracle服務(wù)器所能分配、讀取或?qū)懭氲淖钚〈鎯卧racle服務(wù)器以數(shù)據(jù)塊為單位管理數(shù)據(jù)文件的存儲空間。 計算機內(nèi)存結(jié)構(gòu)以字節(jié)為單位,數(shù)據(jù)庫數(shù)據(jù)文件存儲以塊為單位。模式:模式是對用戶所創(chuàng)建的數(shù)據(jù)庫對象的總稱。 模式對象包括表、視圖、索引、同義詞、序列、過程和程序包等數(shù)據(jù)字典和動態(tài)性能視圖:所有數(shù)據(jù)字典都被組織成表或視圖,這些表和視圖都存儲在SYSTEM表空間中。數(shù)據(jù)字典保存:各種對象的定義信息,包括表、視圖、索引、同義詞、序列、存儲過程、存儲函數(shù)、包、觸發(fā)器以及其他各種對象的定義。數(shù)據(jù)庫存儲空間的分配信息,如為對象分配的空間和已用的存儲空間。數(shù)據(jù)庫安全信息,包括用戶、權(quán)限、角色等。字段的缺省值和完整性約束信息。數(shù)據(jù)庫運行時的性能和統(tǒng)計信息。其他關(guān)于數(shù)據(jù)庫本身的基本信息。用途:oracle通過訪問數(shù)據(jù)字典來獲取用戶、模式、對象以及存儲結(jié)構(gòu)的信息。執(zhí)行DDL語句來修改對象的結(jié)構(gòu)時,Oracle將修改數(shù)據(jù)字典中的記錄。數(shù)據(jù)庫用戶可以從數(shù)據(jù)字典的只讀視圖中獲取各種與數(shù)據(jù)庫相關(guān)的信息。管理員能夠從數(shù)據(jù)字典的動態(tài)性能視圖中監(jiān)視數(shù)據(jù)庫的運行狀態(tài),從而獲得性能調(diào)整的依據(jù)。數(shù)據(jù)字典由基礎(chǔ)表和用戶視圖兩部分組成。基礎(chǔ)表(經(jīng)過加密)存儲數(shù)據(jù)庫信息。用戶不能讀取基礎(chǔ)表信息,基礎(chǔ)表經(jīng)過解密以視圖的方式展示給用戶,這就是用戶視圖。數(shù)據(jù)字典視圖包括USER視圖、ALL視圖和DBA視圖。USER視圖,它是以user_作為前綴,每個數(shù)據(jù)庫用戶都擁有屬于自己的USER視圖。在USER視圖中包括該用戶模式下所有對象和對象權(quán)限等信息。ALL視圖,它以all_作為前綴,對于某個數(shù)據(jù)庫用戶來說,在ALL視圖中包含了該用戶所能訪問的所有對象的信息,包括屬于該用戶模式擴展對象以及用戶能夠訪問的屬于其他模式的對象。DBA視圖,它以dba_為前綴,在DBA數(shù)據(jù)字典視圖中包含著全部數(shù)據(jù)庫對象的信息。只能DBA才有權(quán)限訪問DBA視圖。被授予SELECT ANY DICTIONARY系統(tǒng)權(quán)限的用戶也能夠訪問DBA視圖。動態(tài)性能視圖:在實例的執(zhí)行過程中,Oracle維護一組虛擬表,它們記錄當(dāng)前數(shù)據(jù)庫活動的相關(guān)信息,這些表稱為動態(tài)性能表。管理員可以訪問這些表,Oracle實例啟動時,動態(tài)性能表被動態(tài)的創(chuàng)建,并向其中寫入數(shù)據(jù);在Oracle關(guān)閉時,動態(tài)性能表不會保存下來。所有的動態(tài)性能表都屬于SYS用戶,以V_$開頭。Oracle自動根據(jù)動態(tài)性能表創(chuàng)建動態(tài)性能視圖,以V$開頭。如 SQL SELECT * From v$sga。NAME VALUE Fixed Size 282576Variable Size 83886080Database Buffers 33554432Redo Buffers 532480幻燈片23 Oracle 網(wǎng)絡(luò)配置 21 監(jiān)聽程序:用來檢測所有連接數(shù)據(jù)庫服務(wù)器的請求信息,只有配置了監(jiān)聽程序或者使用了默認監(jiān)聽程序,Oracle數(shù)據(jù)庫服務(wù)器才可以工作??梢杂秒娫捑洲D(zhuǎn)接做例子:考慮一下用戶長途電話 局端指示燈亮(監(jiān)聽器),表示有電話打入,根據(jù)對方所撥打號碼,轉(zhuǎn)接到長途(如武漢電信的接入口)。幻燈片24 Oracle網(wǎng)絡(luò)配置 22每個監(jiān)聽程序都可以配置成監(jiān)聽一個或多個協(xié)議地址。協(xié)議地址是標(biāo)識網(wǎng)絡(luò)對象的網(wǎng)絡(luò)地址,由協(xié)議名稱,主機名和端口地址組成。 %oraclehome%\network\admin\目錄下??蛻舳说木W(wǎng)絡(luò)服務(wù)名配置信息包括服務(wù)器地址、監(jiān)聽端口號和數(shù)據(jù)庫SID等,與服務(wù)器的監(jiān)聽器建立連接。,路徑在%oraclehome%\network\admin\。Oracle中的 Net Configuration Assistant和Net Manager工具都能用來配置監(jiān)聽器和網(wǎng)絡(luò)服務(wù)名下面介紹使用Oracle Net Configuration Assistant配置監(jiān)聽程序的步驟:(1):開始程序OracleOracleHome/Configuration And Migration Tools/Net Configuration Assistant()選擇監(jiān)聽程序配置下一步刪除添加TCP…啟動、關(guān)閉和管理監(jiān)聽程序運行l(wèi)snrctlSTART [監(jiān)聽程序名字] 啟動監(jiān)聽程序STOP [監(jiān)聽程序名字] 停止監(jiān)聽程序STATUS 顯示監(jiān)聽程序的狀態(tài)SERVICES [監(jiān)聽程序名字] 顯示監(jiān)聽程序的服務(wù)信息SET 參數(shù)值 設(shè)置參數(shù)值SAVE_CONFIG [監(jiān)聽程序名字] 將參數(shù)設(shè)置保存到參數(shù)文件VERSION [監(jiān)聽程序名字] 顯示監(jiān)聽程序的版本信息HELP [命令名] 顯示所有命令的使用格式不過不需要手工啟動,一般監(jiān)聽程序自動啟動?;脽羝?5 Oracle 查詢工具SQL plus、iSQL*Plus、PL/SQL 幻燈片26 Oracle 企業(yè)管理器幻燈片27 Oracle 默認用戶只有用合法的用戶帳號才能訪問Oracle數(shù)據(jù)庫Oracle 有幾個默認的數(shù)據(jù)庫用戶 Scott/tiger幻燈片28 創(chuàng)建新用戶創(chuàng)建一個名稱為 martin 的用戶,其密碼為 martinpwdCREATE USER MARTIN IDENTIFIED BY martinpwdDEFAULT TABLESPACE USERSTEMPORARY TABLESPACE TEMP?;脽羝?9 授予權(quán)限31權(quán)限指的是執(zhí)行特定命令或訪問數(shù)據(jù)庫對象的權(quán)利權(quán)限有兩種類型,系統(tǒng)權(quán)限和對象權(quán)限q系統(tǒng)權(quán)限允許用戶執(zhí)行某些數(shù)據(jù)庫操作,如創(chuàng)建表就是一個系統(tǒng)權(quán)限q對象權(quán)限允許用戶對數(shù)據(jù)庫對象(如表、視圖、序列等)執(zhí)行特定操作角色是一組相關(guān)權(quán)限的組合,可以將權(quán)限授予角色,再把角色授予用戶,以簡化權(quán)限管理。幻燈片30授予權(quán)限 32GRANT 命令可用于為用戶分配權(quán)限或角色;CONNECT角色允許用戶連接至數(shù)據(jù)庫,并創(chuàng)建數(shù)據(jù)庫對象。GRANT CONNECT TO MARTIN。 RESOURCE角色允許用戶使用數(shù)據(jù)庫中的存儲空間。GRANT RESOURCE TO MARTIN。 此系統(tǒng)權(quán)限允許用戶在當(dāng)前模式中創(chuàng)建序列,此權(quán)限包含在CONNECT角色中。GRANT CREATE SEQUENCE TO MARTIN。 幻燈片31授予權(quán)限 33授予用戶 MARTIN 操作TEST表對象的權(quán)限 :允許用戶查詢 TEST 表的記錄GRANT SELECT ON TEST TO MARTIN。 允許用戶更新 TEST 表中的記錄GRANT UPDATE ON TEST TO MARTIN。 允許用戶插入、刪除、更新和查詢 TEST 表中的記錄GRANT ALL ON TEST TO MARTIN。 幻燈片32 更改和刪除用戶ALTER USER 命令可用于更改口令:修改 MARTIN 用戶的密碼:ALTER USER MARTIN IDENTIFIED BY martinpass。DROP USER 命令用于刪除用戶: 刪除 MARTIN 用戶模式:DROP USER MARTIN CASCADE。 幻燈片33 Oracle 9i 的安裝和卸載Example: 以 SYSTEM 用戶登錄 SQL*Plus 查看正在運行的后臺進程SELECT * FROM v$bgprocess WHERE paddr 39。0039。CREATE TABLESPACE tbs2DATAFILE 39。D:\oracle\oradata\APTECH\39。 SIZE 50M。 Create the user CREATE USER ACCP IDENTIFIED BY ACCP DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP。 Grant role privileges GRANT CONNECT TO ACCP。GRANT RESOURCE TO ACCP。 Connect as SCOTTGRANT SELECT ON EMP TO ACCP WITH GRANT OPTION。 創(chuàng)建一個用戶CREATE USER MARTIN IDENTIFIED BY martinpwdDEFAULT TABLESPACE USERSTEMPORARY TABLESPACE TEMP。 如果不使用 CONNECT 角色,則需要逐個賦予用戶權(quán)限GRANT CREATE SESSION TO MARTIN。GRANT CREATE TABLE TO MARTIN。GRANT CREATE VIEW TO MARTIN。GRANT CREATE SEQUENCE TO MARTIN。 授予用戶使用表空間 USERS 的權(quán)限ALTER USER MARTIN QUOTA UNLIMITED ON USERS。 查看用戶 MARTIN 的信息select USERNAME,USER_ID,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACEfrom dba_userswhere username = 39。MARTIN39。 //注意字符串里的大小寫四、深入學(xué)習(xí) 管理:可以考OCP證書,對Oracle先有一個系統(tǒng)的學(xué)習(xí),然后看Oracle Concepts、Oracle online document,對oracle的原理會有更深入的了解,同時可以開始進行一些專題的研究如:RMAN、RAS、STATSPACT、DATAGUARD、TUNING、BACKUPamp。RECOVER等等。 開發(fā):對于想做Oracle開發(fā)的,在了解完Oracle基本的體系結(jié)構(gòu)之后,可以重點關(guān)注PL/SQL及Oracle的開發(fā)工具這一部分。PL/SQL主要是包括怎么寫SQL語句,怎么使用Oracle本身的函數(shù),怎么寫存儲過程、存儲函數(shù)、觸發(fā)器等。 Oracle的開發(fā)工具主要就是Oracle自己的Developer Suite(Oracle Forms Developer and Reports Developer這些),學(xué)會如何熟練使用這些工具??偨Y(jié):? 數(shù)據(jù)庫有下面兩類組件:物理組件和邏輯組件。? 物理組件是操作系統(tǒng)文件,有下面三種類型:數(shù)據(jù)庫文件或數(shù)據(jù)文件、控制文件、恢復(fù)日志文件? 邏輯組件決定數(shù)據(jù)庫中物理空間的使用,它包括:表空間、段、數(shù)據(jù)區(qū)、模式對象22 / 22