ORACLE數(shù)據(jù)庫管理基礎四_第1頁
ORACLE數(shù)據(jù)庫管理基礎四_第2頁
ORACLE數(shù)據(jù)庫管理基礎四_第3頁
ORACLE數(shù)據(jù)庫管理基礎四_第4頁
ORACLE數(shù)據(jù)庫管理基礎四_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

使用數(shù)據(jù)字典和動態(tài)性能視圖目標完成這一課的學習后,您應該能達到下列目標:?了解內(nèi)置數(shù)據(jù)庫對象?了解數(shù)據(jù)字典的內(nèi)容和使用?了解數(shù)據(jù)字典視圖的創(chuàng)建方式?了解數(shù)據(jù)字典視圖的類別?查詢數(shù)據(jù)字典和動態(tài)性能視圖?了解管理腳本命名約定數(shù)據(jù)字典

數(shù)據(jù)字典是ORACLE數(shù)據(jù)庫的最重要部分之一,它由一組只讀的表和視圖所組成。它提供如下信息:

ORACLE用戶名特權(quán)和角色模式對象信息完整性約束空間分配情況數(shù)據(jù)庫結(jié)構(gòu)審計信息數(shù)據(jù)字典視圖數(shù)據(jù)字典視圖:USER_XXX:任何用戶可訪問的視圖,給出該用戶的所有對象信息。ALL_XXX:任何用戶可訪問的視圖,給出數(shù)據(jù)庫所有用戶的所有對象的基本信息。DBA_XXX:只有DBA特權(quán)的用戶可訪問的視圖,給出數(shù)據(jù)庫的所有詳細信息。V$XXX:記錄數(shù)據(jù)庫的動態(tài)信息。數(shù)據(jù)字典的特點數(shù)據(jù)字典的特點:所有數(shù)據(jù)字典基表和視圖都由SYS用戶擁有。對于ALL_XXX和USER_XXX視圖建立公共同義詞。列名對所有視圖都一致。后綴名對所有視圖都一致。USER_XXX類視圖無OWNER列。許多DBA_XXX視圖無等價的USER_XXX和ALL_XXX視圖。內(nèi)置數(shù)據(jù)庫對象隨數(shù)據(jù)庫一起創(chuàng)建的其它對象:?數(shù)據(jù)字典?性能表?PL/SQL程序包?數(shù)據(jù)庫事件觸發(fā)器內(nèi)置數(shù)據(jù)庫對象創(chuàng)建數(shù)據(jù)庫時,除創(chuàng)建數(shù)據(jù)庫文件外,還將創(chuàng)建其它幾種結(jié)構(gòu)。 ?數(shù)據(jù)字典:包含對數(shù)據(jù)庫中對象的說明 ?動態(tài)性能表:包含由數(shù)據(jù)庫管理員(DBA)用來監(jiān)視和優(yōu)化數(shù)據(jù)庫及例程的信息 ?PL/SQL程序包:向數(shù)據(jù)庫添加功能的程序單元。這些程序包在執(zhí)行CREATEDATABASE命令之后運行catproc.sql腳本時創(chuàng)建。PL/SQL程序包不在本課討論的范圍之內(nèi)。?數(shù)據(jù)庫事件觸發(fā)器:觸發(fā)器是在表或視圖發(fā)生修改,或執(zhí)行某些用戶操作或數(shù)據(jù)庫系統(tǒng)操作時隱式執(zhí)行的過程。數(shù)據(jù)庫事件觸發(fā)器不在本課討論的范圍之內(nèi)。數(shù)據(jù)字典?每個Oracle數(shù)據(jù)庫的中心?描述數(shù)據(jù)庫以及數(shù)據(jù)庫對象?包含只讀表和視圖?存儲在SYSTEM表空間內(nèi)?由用戶SYS擁有?由Oracle服務器進行維護?通過SELECT訪問數(shù)據(jù)定義語言(DDL):create、alter、drop(創(chuàng)建、修改結(jié)構(gòu)、刪除)(其他:rename)數(shù)據(jù)操縱語言(DML):insert、delete、select、update(增、刪、查、改)(其他:truncate)數(shù)據(jù)控制語言(DCL):grant、revoke(授權(quán)、回收)、setrole

事務控制:commit、rollback、savepoint(其他:locktable、setconstraint、settransaction)

審計控制:audit、noaudit

系統(tǒng)控制:altersystem會話控制:altersession

其他語句:comment(添加注釋)、explainplan、analyze、validate、call

數(shù)據(jù)字典數(shù)據(jù)字典是Oracle數(shù)據(jù)庫最重要的部分之一,它是一組只讀表和視圖,提供有關(guān)其相關(guān)數(shù)據(jù)庫的信息。只要執(zhí)行數(shù)據(jù)定義語言(DDL)命令,Oracle服務器就會更新數(shù)據(jù)字典。此外,數(shù)據(jù)操縱語言(DML)命令(如引起表擴展的命令)也可以更新數(shù)據(jù)字典。數(shù)據(jù)字典不僅是每個Oracle數(shù)據(jù)庫最重要的部分,它還是所有用戶(從最終用戶到應用程序設計者以及數(shù)據(jù)庫管理員)的重要信息來源。要訪問數(shù)據(jù)字典,請使用SQL語句。因為數(shù)據(jù)庫是只讀的,所以只能對數(shù)據(jù)字典的表和視圖發(fā)出查詢?;砗蛿?shù)據(jù)字字典視圖數(shù)據(jù)字典包含含以下兩個部部分:?基表–存儲數(shù)據(jù)據(jù)庫的說明–使用CREATEDATABASE命令創(chuàng)建?數(shù)據(jù)字典典視圖–用于簡化化基表信息–通過公共共同義詞訪問問–使用catalog.sql腳本創(chuàng)建基表和數(shù)據(jù)字字典視圖數(shù)據(jù)字典包含含對數(shù)據(jù)庫中中的對象的說說明。它包括兩種對對象類型。基表:基表是存儲有有關(guān)數(shù)據(jù)庫的的信息的底層層表?;硎鞘窃谌魏蜲racle數(shù)數(shù)據(jù)庫中首首先創(chuàng)建的對對象。在使用CREATEDATABASE創(chuàng)建建數(shù)據(jù)庫時,,只要Oracle服服務器運行sql.bsq腳本,,就會自動創(chuàng)創(chuàng)建這些對象象。只有Oracle服服務器才能能對這些基表表執(zhí)行寫入操操作。用戶很很少直接訪問問基表,因為為其中的數(shù)據(jù)據(jù)大多數(shù)都是是以隱含格式式存儲的。切切勿使用DML命令直直接更新基表表,但AUD$表除外外。例如,IND$表表就是一個基基表,它包含含有關(guān)數(shù)據(jù)庫庫中的索引的的信息。數(shù)據(jù)據(jù)字字典典視視圖圖::數(shù)據(jù)據(jù)字字典典視視圖圖是是基基表表的的匯匯總總,,可可以以更更有有效效地地顯顯示示基基表表信信息息。。例例如如,,在在數(shù)數(shù)據(jù)據(jù)字字典典視視圖圖中中,,除除了了顯顯示示對對象象編編號號外外還還會會使使用用對對象象名名。。數(shù)數(shù)據(jù)據(jù)字字典典視視圖圖是是在在運運行行CREATEDATABASE命命令令之之后后使使用用catalog.sql腳腳本本創(chuàng)創(chuàng)建建的的。。創(chuàng)建建數(shù)數(shù)據(jù)據(jù)字字典典視視圖圖創(chuàng)建建數(shù)數(shù)據(jù)據(jù)字字典典視視圖圖創(chuàng)建建數(shù)數(shù)據(jù)據(jù)庫庫時時,,會會自自動動創(chuàng)創(chuàng)建建數(shù)數(shù)據(jù)據(jù)字字典典的的基基表表。。使使用用OracleUniversalInstaller創(chuàng)創(chuàng)建建數(shù)數(shù)據(jù)據(jù)庫庫時時,,會會自自動動運運行行用用于于創(chuàng)創(chuàng)建建數(shù)數(shù)據(jù)據(jù)字字典典和和動動態(tài)態(tài)性性能能視視圖圖的的腳腳本本以以及及Oracle服服務務器器選選項項的的腳腳本本。。手動創(chuàng)創(chuàng)建新新數(shù)據(jù)據(jù)庫時時,需需要手手動運運行這這些腳腳本。。此外外,將將Oracle服服務器器升級級為新新版本本時,,可能能也需需要重重新運運行這這些腳腳本。。只有有具有有SYSDBA權(quán)權(quán)限的的用戶戶SYS才才能能運行行這些些腳本本。以上腳本位位于下列目目錄中:UNIX:$ORACLE_HOME/rdbms/adminNT:%ORACLE_HOME%\rdbms\admin數(shù)據(jù)字典內(nèi)內(nèi)容數(shù)據(jù)字典提提供有關(guān)以以下方面的的信息:?邏輯數(shù)數(shù)據(jù)庫結(jié)構(gòu)構(gòu)和物理數(shù)數(shù)據(jù)庫結(jié)構(gòu)構(gòu)?對象的的定義和空空間分配?完整性性約束?用戶?角色?權(quán)限?審計數(shù)據(jù)字典內(nèi)內(nèi)容數(shù)據(jù)字典包包含以下內(nèi)內(nèi)容:?數(shù)據(jù)庫庫內(nèi)所有方方案對象的的定義,這這些對象包包括表、視視圖、索引引、簇、同同義詞、序序列、過程程、函數(shù)、、程序包、、觸發(fā)器等等等?已為方方案對象分分配的空間間量以及它它們當前使使用的空間間量?列的缺缺省值?完整性性約束信息息?Oracle用用戶的名名稱?已授予予每個用戶戶的權(quán)限和和角色?審計信信息,如有有哪些人訪訪問或更新新了各種方方案對象數(shù)據(jù)字典的的使用方式式主要用途::?Oracle服務器使用用它來查找找有關(guān)以下下內(nèi)容的信信息:–用戶–方案對對象–存儲結(jié)結(jié)構(gòu)?執(zhí)行DDL語句時,Oracle服務器會對對它進行修修改。?用戶和和DBA可將它作為為數(shù)據(jù)庫相相關(guān)信息的的只讀參考考數(shù)據(jù)字典的的使用方式式Oracle服務器使用用數(shù)據(jù)字典典的方式::數(shù)據(jù)字典基基表中的數(shù)數(shù)據(jù)是Oracle服務器器運行所必必需的。因因此,應該該只能由Oracle服務務器來寫入入或更改數(shù)數(shù)據(jù)字典信信息。在數(shù)數(shù)據(jù)庫操作作過程中,,Oracle服服務器通過過讀取數(shù)據(jù)據(jù)字典來確確定方案對對象是否存存在,以及及用戶是否否對它們具具有適當?shù)牡脑L問權(quán)限限。Oracle服服務器還還會不斷地地更新數(shù)據(jù)據(jù)字典,及及時反映數(shù)數(shù)據(jù)庫結(jié)構(gòu)構(gòu)方面的變變化。用戶和數(shù)據(jù)據(jù)庫管理員員使用數(shù)據(jù)據(jù)字典的方方式:數(shù)據(jù)字典的的視圖可以以作為所有有數(shù)據(jù)庫用用戶的參考考。某些視視圖可由所所有Oracle用用戶訪問問;另外一一些視圖只只供數(shù)據(jù)庫庫管理員使使用。數(shù)據(jù)字典視視圖的類別別?三種靜靜態(tài)視圖集集?按范圍圍分類為::–DBA:所所有有方方案案中中的的視視圖圖–ALL:用用戶戶可可以以訪訪問問的的視視圖圖–USER:用用戶戶方方案案中中的的視視圖圖數(shù)據(jù)據(jù)字字典典視視圖圖的的類類別別帶有有DBA前綴綴的的視視圖圖::帶有有DBA前前綴綴的的視視圖圖顯顯示示整整個個數(shù)數(shù)據(jù)據(jù)庫庫的的全全局局視視圖圖。。只只有有數(shù)數(shù)據(jù)據(jù)庫庫管管理理員員才才能能查查詢詢它它們們。。如如果果用用戶戶被被授授予予了了系系統(tǒng)統(tǒng)權(quán)權(quán)限限SELECTANYTABLE,,則則也也可可以以查查詢詢數(shù)數(shù)據(jù)據(jù)字字典典中中前前綴綴為為DBA的的視視圖圖。。若要要查查詢詢數(shù)數(shù)據(jù)據(jù)庫庫中中的的所所有有對對象象,,DBA可可以以發(fā)發(fā)出出下下列列語語句句::SELECTowner,object_name,object_typeFROMdba_objects;數(shù)據(jù)據(jù)字字典典視視圖圖的的類類別別帶有ALL前綴的視圖::帶有ALL前前綴的視圖圖指的是從用用戶角度看到到的完整數(shù)據(jù)據(jù)庫視圖。這這些視圖返回回有關(guān)方案對對象的信息,,除了用戶所所擁有的方案案對象外,還還包括那些通通過公開或顯顯式授予權(quán)限限和角色的方方式讓用戶獲獲得訪問權(quán)限限的方案對象象。例如,以下查查詢返回用戶戶具有訪問權(quán)權(quán)限的全部對對象的信息::SELECTowner,object_name,object_typeFROMall_objects;數(shù)據(jù)據(jù)字字典典視視圖圖的的類類別別帶有有USER前綴綴的的視視圖圖::典型型數(shù)數(shù)據(jù)據(jù)庫庫用用戶戶最最可可能能感感興興趣趣的的視視圖圖是是帶帶有有USER前前綴綴的的視視圖圖。。這些些視視圖圖::?涉涉及及數(shù)數(shù)據(jù)據(jù)庫庫中中用用戶戶自自己己獨獨有有的的環(huán)環(huán)境境?通常涉及及當前用戶所所擁有的對象象?除OWNER列暗暗指當前用戶戶外,具有與與其它視圖一一致的列?返回ALL視圖中中信息的子集集?為方便起起見,可具有有縮寫的公共共同義詞例如,下列查查詢返回用戶戶方案中包含含的所有對象象:SELECTowner,object_name,object_typeFROMusers_objects;數(shù)據(jù)字典視圖圖的類別數(shù)據(jù)字典視圖圖:數(shù)據(jù)字典視圖圖是靜態(tài)視圖圖,從這些視視圖中用戶可可以知道:?是否曾經(jīng)經(jīng)創(chuàng)建了某個個對象??該對象是是什么的一部部分??誰擁有該該對象??用戶具有有哪些權(quán)限???對該對象象有哪些限制制?注:有關(guān)全部部數(shù)據(jù)字典視視圖的列表,,請參考Oracle9iDatabaseReference文檔數(shù)據(jù)字典示例例?總覽–DICTIONARY,DICT_COLUMNS?方案對象象–DBA_TABLES,DBA_INDEXES,DBA_TAB_COLUMNS,DBA_CONSTRAINTS?空間分配配–DBA_SEGMENTS,DBA_EXTENTS?數(shù)據(jù)庫結(jié)結(jié)構(gòu)–DBA_TABLESPACES,DBA_DATA_FILES數(shù)據(jù)字典示例例要獲取數(shù)據(jù)字字典視圖的概概覽,可以查查詢DICTIONARY視圖或或其同義詞DICT視視圖。例如:SELECT*FROMdictionary;用where子句來縮縮小查詢范圍圍:SELECT*FROMdictionaryWHEREtable_nameLIKE‘dba_seg%’要獲得視圖中中各列的列表表,請使用DESCRIBE關(guān)鍵鍵字:DESCRIBEdba_users;要獲得數(shù)據(jù)據(jù)字典視圖圖中各列的的概覽,可可以查詢DICT_COLUMNS視視圖。要查看數(shù)據(jù)據(jù)字典視圖圖的內(nèi)容,,請使用SELECT命令令。SELECT*FROMdba_users;注:有關(guān)數(shù)數(shù)據(jù)字典視視圖及其中中各列的完完整列表,,請參考““Oracle9iDatabaseReference””文檔動態(tài)性能表表?虛擬表表?記錄當當前的數(shù)據(jù)據(jù)庫活動?在數(shù)據(jù)據(jù)庫可操作作時不斷更更新?通過內(nèi)內(nèi)存和控制制文件訪問問信息?用于監(jiān)監(jiān)控和優(yōu)化化數(shù)據(jù)庫?由SYS用戶擁有?同義詞詞以V$開頭?在V$FIXED_TABLE中列出動態(tài)性能表表在Oracle服服務器的整整個操作過過程中,它它將當前數(shù)數(shù)據(jù)庫活動動記錄在稱稱為動態(tài)性性能視圖的的一組虛擬擬表中。只只有數(shù)據(jù)庫庫處于運行行狀態(tài)時,,這些虛擬擬表才駐留留在內(nèi)存中中,反映數(shù)數(shù)據(jù)庫操作作的實時狀狀況。它們們指向內(nèi)存存和控制文文件中的實實際信息源源。這些表不是是真正的表表,大多數(shù)數(shù)用戶都無無法訪問它它們;但是是數(shù)據(jù)庫管管理員可以以在這些視視圖上查詢詢、授予SELECT權(quán)限限并創(chuàng)建視視圖。這些些視圖有時時稱為固定定視圖,因因為數(shù)據(jù)庫庫管理員無無法更改或或刪除這些些視圖。動態(tài)性能表表由SYS擁有,,它們的名名稱均以V_$開開頭。在這這些表上先先創(chuàng)建視圖圖,然后再再為這些視視圖創(chuàng)建公公共同義詞詞。同義詞詞名以V$開頭。。例如,V$DATAFILE視圖圖包含有關(guān)關(guān)數(shù)據(jù)庫中中數(shù)據(jù)文件件的信息,,而V$FIXED_TABLE視視圖包含有有關(guān)數(shù)據(jù)庫庫中所有動動態(tài)性能表表和視圖的的信息。動態(tài)性能能表可使使用戶了了解到以以下信息息:?該對對象是否否處于聯(lián)聯(lián)機狀態(tài)態(tài)并可用用??該對對象是否否已打開開??目前前持有哪哪些鎖???該該會話話是否否處于于活動動狀態(tài)態(tài)?動態(tài)性性能表表示例例?V$CONTROLFILE?V$DATABASE?V$DATAFILE?V$INSTANCE?V$PARAMETER?V$SESSION?V$SGA?$SPPARAMETER?V$TABLESPACE?V$THREAD?V$VERSION動態(tài)性性能表表示例例示例::?V$CONTROLFILE:列列出控控制文文件的的名稱稱?V$DATABASE::包含含控制制文件件中的的數(shù)據(jù)據(jù)庫信信息?V$DATAFILE::包含含控制制文件件中的的數(shù)據(jù)據(jù)文件件信息息?V$INSTANCE::顯示示當前前例程程的狀狀態(tài)?V$PARAMETER:列列出會會話的的當前前有效效參數(shù)數(shù)和值值?V$SESSION:列列出當當前每每個會會話的的會話話信息息?V$SGA:包包含有有關(guān)系系統(tǒng)全全局區(qū)區(qū)(SGA)的的摘摘要信信息?V$SPPARAMETER:列列出SPFILE的的內(nèi)內(nèi)容?V$TABLESPACE::顯示示控制制文件件中的的表空空間信信息?V$THREAD::包含含控制制文件件中的的線程程信息息?V$VERSION:Oracle服服務務器中中核心心庫組組件的的版本本號注:有有關(guān)動動態(tài)性性能視視圖及及其中中各列列的完完整列列表,,請參參考““Oracle9iDatabaseReference””文文檔。。動態(tài)性能能表示例例要獲得動動態(tài)性能能視圖的的概覽,,可以查查詢DICTIONARY視視圖或或其同義義詞DICT視視圖。。例如:SELECT*FROMdictionary;用where子子句來來縮小查查詢范圍圍:SELECT*FROMdictionaryWHEREtable_namelike‘V$data%’也可以查查詢V$FIXED_TABLE視視圖獲獲得動態(tài)態(tài)性能視視圖列表表:SELECT*FROMV$FIXED_TABLE;要獲獲得得視視圖圖中中各各列列的的列列表表,,請請使使用用DESCRIBE關(guān)關(guān)鍵鍵字字::DESCRIBEV$INSTANCE;要獲獲得得動動態(tài)態(tài)性性能能視視圖圖中中各各列列的的概概覽覽,,可可以以查查詢詢DICT_COLUMNS視視圖圖。。要查看視圖的的內(nèi)容,請使使用SELECT命令令。SELECT*fromV$INSTANCE;管理腳本命命名約定管理腳本命命名約定管理腳本可可以根據(jù)各各自的文件件名劃分為為以下幾類類:cat*.sql:這些腳本本用于創(chuàng)建建數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論