400-1100-266
9:00-24:00(工作日)
數(shù)據(jù)字典是Oracle存放有關(guān)數(shù)據(jù)庫信息的地方,其用途是用來描述數(shù)據(jù)的。比如一個表的創(chuàng)建者信息,創(chuàng)建時間信息,所屬表空間信息,用戶訪問權(quán)限信息等。當(dāng)用戶在對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行操作時遇到困難就可以訪問數(shù)據(jù)字典來查看詳細(xì)的信息。 Oracle中的數(shù)據(jù)字典有靜態(tài)和動態(tài)之分。靜態(tài)數(shù)據(jù)字典主要是在用戶訪問數(shù)據(jù)字典時不會發(fā)生改變的,但動態(tài)數(shù)據(jù)字典是依賴數(shù)據(jù)庫運行的性能的,反映數(shù)據(jù)庫運行的一些內(nèi)在信息,所以在訪問這類數(shù)據(jù)字典時往往不是一成不變的。以下分別就這兩類數(shù)據(jù)字典來論述。 1. 靜態(tài)數(shù)據(jù)字典 這類數(shù)據(jù)字典主要是由表和視圖組成,應(yīng)該注意的是,數(shù)據(jù)字典中的表是不能直接被訪問的,但是可以訪問數(shù)據(jù)字典中的視圖。靜態(tài)數(shù)據(jù)字典中的視圖分為三類,它們分別由三個前綴夠成:user_*、 all_*、 dba_*。 user_* 該視圖存儲了關(guān)于當(dāng)前用戶所擁有的對象的信息。(即所有在該用戶模式下的對象) all_* 該試圖存儲了當(dāng)前用戶能夠訪問的對象的信息。(與user_*相比,all_* 并不需要擁有該對象,只需要具有訪問該對象的權(quán)限即可) dba_* 該視圖存儲了數(shù)據(jù)庫中所有對象的信息。(前提是當(dāng)前用戶具有訪問這些數(shù)據(jù)庫的權(quán)限,一般來說必須具有管理員權(quán)限) 從上面的描述可以看出,三者之間存儲的數(shù)據(jù)肯定會有重疊,其實它們除了訪問范圍的不同以外(因為權(quán)限不一樣,所以訪問對象的范圍不一樣),其他均具有一致性。具體來說,由于數(shù)據(jù)字典視圖是由SYS(系統(tǒng)用戶)所擁有的,所以在卻省情況下,只有SYS和擁有DBA系統(tǒng)權(quán)限的用戶可以看到所有的視圖。沒有DBA權(quán)限的用戶只能看到user_*和all_*視。如果沒有被授予相關(guān)的SELECT權(quán)限的話,他們是不能看到 dba_*視圖的。 由于三者具有相似性,下面以user_為例介紹幾個常用的靜態(tài)視圖: user_users視圖 主要描述當(dāng)前用戶的信息,主要包括當(dāng)前用戶名、帳戶id、帳戶狀態(tài)、表空間名、創(chuàng)建時間等。例如執(zhí)行下列命令即可返回這些信息。 select * from user_users user_tables視圖 主要描述當(dāng)前用戶擁有的所有表的信息,主要包括表名、表空間名、簇名等。通過此視圖可以清楚了解當(dāng)前用戶可以操作的表有哪些。執(zhí)行命令為:select * from user_tables user_objects視圖 主要描述當(dāng)前用戶擁有的所有對象的信息,對象包括表、視圖、存儲過程、觸發(fā)器、包、索引、序列等。該視圖比user_tables視圖更加全面。例如, 需要獲取一個名為“package1”的對象類型和其狀態(tài)的信息,可以執(zhí)行下面命令: 這里需注意upper的使用,數(shù)據(jù)字典里的所有對象均為大寫形式,而PL/SQL里不是大小寫敏感的,所以在實際操作中一定要注意大小寫匹配。 user_tab_privs視圖 該視圖主要是存儲當(dāng)前用戶下對所有表的權(quán)限信息。比如,為了了解當(dāng)前用戶對table1的權(quán)限信息,可以執(zhí)行如下命令: 了解了當(dāng)前用戶對該表的權(quán)限之后就可以清楚的知道,哪些操作可以執(zhí)行,哪些操作不能執(zhí)行。 前面的視圖均為user_開頭的,其實all_開頭的也完全是一樣的,只是列出來的信息是當(dāng)前用戶可以訪問的對象而不是當(dāng)前用戶擁有的對象。對于dba_開頭的需要管理員權(quán)限,其他用法也完全一樣,這里就不再贅述了。
上一頁
標(biāo)簽:黃山 湖南 蘭州 銅川 湘潭 衡水 仙桃 崇左
上一篇:PL/SQL編程經(jīng)驗小結(jié)開發(fā)者網(wǎng)絡(luò)Oracle
下一篇:基于Oracle的高性能動態(tài)SQL程序開發(fā)
Copyright ? 1999-2012 誠信 合法 規(guī)范的巨人網(wǎng)絡(luò) kiddlux.com 始建于2005年
全國網(wǎng)站建設(shè)網(wǎng)站開發(fā)咨詢熱線:400-1100-266?? 0514-86177077
江蘇揚州巨人網(wǎng)絡(luò)科技有限公司 ??總部地址:江蘇省揚州信息產(chǎn)業(yè)基地11號樓4層
《增值電信業(yè)務(wù)經(jīng)營許可證》蘇B2-20120278 ?? 蘇ICP備15040257號 網(wǎng)站地圖