欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle的數(shù)據(jù)字典技術(shù)簡(jiǎn)析

 更新時(shí)間:2007年03月07日 00:00:00   作者:  
正在看的ORACLE教程是:Oracle的數(shù)據(jù)字典技術(shù)簡(jiǎn)析。

數(shù)據(jù)字典是Oracle存放有關(guān)數(shù)據(jù)庫(kù)信息的地方,其用途是用來描述數(shù)據(jù)的。比如一個(gè)表的創(chuàng)建者信息,創(chuàng)建時(shí)間信息,所屬表空間信息,用戶訪問權(quán)限信息等。當(dāng)用戶在對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行操作時(shí)遇到困難就可以訪問數(shù)據(jù)字典來查看詳細(xì)的信息。

  Oracle中的數(shù)據(jù)字典有靜態(tài)和動(dòng)態(tài)之分。靜態(tài)數(shù)據(jù)字典主要是在用戶訪問數(shù)據(jù)字典時(shí)不會(huì)發(fā)生改變的,但動(dòng)態(tài)數(shù)據(jù)字典是依賴數(shù)據(jù)庫(kù)運(yùn)行的性能的,反映數(shù)據(jù)庫(kù)運(yùn)行的一些內(nèi)在信息,所以在訪問這類數(shù)據(jù)字典時(shí)往往不是一成不變的。以下分別就這兩類數(shù)據(jù)字典來論述。

  1. 靜態(tài)數(shù)據(jù)字典

  這類數(shù)據(jù)字典主要是由表和視圖組成,應(yīng)該注意的是,數(shù)據(jù)字典中的表是不能直接被訪問的,但是可以訪問數(shù)據(jù)字典中的視圖。靜態(tài)數(shù)據(jù)字典中的視圖分為三類,它們分別由三個(gè)前綴夠成:user_*、 all_*、 dba_*。

  user_* 

  該視圖存儲(chǔ)了關(guān)于當(dāng)前用戶所擁有的對(duì)象的信息。(即所有在該用戶模式下的對(duì)象)

  all_*

  該試圖存儲(chǔ)了當(dāng)前用戶能夠訪問的對(duì)象的信息。(與user_*相比,all_* 并不需要擁有該對(duì)象,只需要具有訪問該對(duì)象的權(quán)限即可)

  dba_*

  該視圖存儲(chǔ)了數(shù)據(jù)庫(kù)中所有對(duì)象的信息。(前提是當(dāng)前用戶具有訪問這些數(shù)據(jù)庫(kù)的權(quán)限,一般來說必須具有管理員權(quán)限)

  從上面的描述可以看出,三者之間存儲(chǔ)的數(shù)據(jù)肯定會(huì)有重疊,其實(shí)它們除了訪問范圍的不同以外(因?yàn)闄?quán)限不一樣,所以訪問對(duì)象的范圍不一樣),其他均具有一致性。具體來說,由于數(shù)據(jù)字典視圖是由SYS(系統(tǒng)用戶)所擁有的,所以在卻省情況下,只有SYS和擁有DBA系統(tǒng)權(quán)限的用戶可以看到所有的視圖。沒有DBA權(quán)限的用戶只能看到user_*和all_*視。如果沒有被授予相關(guān)的SELECT權(quán)限的話,他們是不能看到 dba_*視圖的。

  由于三者具有相似性,下面以u(píng)ser_為例介紹幾個(gè)常用的靜態(tài)視圖:

  user_users視圖

  主要描述當(dāng)前用戶的信息,主要包括當(dāng)前用戶名、帳戶id、帳戶狀態(tài)、表空間名、創(chuàng)建時(shí)間等。例如執(zhí)行下列命令即可返回這些信息。
select * from user_users

  user_tables視圖

  主要描述當(dāng)前用戶擁有的所有表的信息,主要包括表名、表空間名、簇名等。通過此視圖可以清楚了解當(dāng)前用戶可以操作的表有哪些。執(zhí)行命令為:select * from user_tables

  user_objects視圖

  主要描述當(dāng)前用戶擁有的所有對(duì)象的信息,對(duì)象包括表、視圖、存儲(chǔ)過程、觸發(fā)器、包、索引、序列等。該視圖比user_tables視圖更加全面。例如, 需要獲取一個(gè)名為“package1”的對(duì)象類型和其狀態(tài)的信息,可以執(zhí)行下面命令:


  這里需注意upper的使用,數(shù)據(jù)字典里的所有對(duì)象均為大寫形式,而PL/SQL里不是大小寫敏感的,所以在實(shí)際操作中一定要注意大小寫匹配。

  user_tab_privs視圖

  該視圖主要是存儲(chǔ)當(dāng)前用戶下對(duì)所有表的權(quán)限信息。比如,為了了解當(dāng)前用戶對(duì)table1的權(quán)限信息,可以執(zhí)行如下命令:


  了解了當(dāng)前用戶對(duì)該表的權(quán)限之后就可以清楚的知道,哪些操作可以執(zhí)行,哪些操作不能執(zhí)行。

  前面的視圖均為user_開頭的,其實(shí)all_開頭的也完全是一樣的,只是列出來的信息是當(dāng)前用戶可以訪問的對(duì)象而不是當(dāng)前用戶擁有的對(duì)象。對(duì)于dba_開頭的需要管理員權(quán)限,其他用法也完全一樣,這里就不再贅述了。

[NextPage]

 2. 動(dòng)態(tài)數(shù)據(jù)字典

  Oracle包含了一些潛在的由系統(tǒng)管理員如SYS維護(hù)的表和視圖,由于當(dāng)數(shù)據(jù)庫(kù)運(yùn)行的時(shí)候它們會(huì)不斷進(jìn)行更新,所以稱它們?yōu)閯?dòng)態(tài)數(shù)據(jù)字典(或者是動(dòng)態(tài)性能視圖)。這些視圖提供了關(guān)于內(nèi)存和磁盤的運(yùn)行情況,所以我們只能對(duì)其進(jìn)行只讀訪問而不能修改它們。

  Oracle中這些動(dòng)態(tài)性能視圖都是以v$開頭的視圖,比如v$access。下面就幾個(gè)主要的動(dòng)態(tài)性能視圖進(jìn)行介紹。

  v$access

  該視圖顯示數(shù)據(jù)庫(kù)中鎖定的數(shù)據(jù)庫(kù)對(duì)象以及訪問這些對(duì)象的會(huì)話對(duì)象(session對(duì)象)。

  運(yùn)行如下命令:


  結(jié)果如下:(因記錄較多,故這里只是節(jié)選了部分記錄) 


  v$session

  該視圖列出當(dāng)前會(huì)話的詳細(xì)信息。由于該視圖字段較多,這里就不列詳細(xì)字段,為了解詳細(xì)信息,可以直接在sql*plus命令行下鍵入:desc v$session即可。

  v$active_instance

  該視圖主要描述當(dāng)前數(shù)據(jù)庫(kù)下的活動(dòng)的實(shí)例的信息。依然可以使用select語(yǔ)句來觀察該信息。

  v$context

  該視圖列出當(dāng)前會(huì)話的屬性信息。比如命名空間、屬性值等。 

  3.小結(jié)

  以上是Oracle的數(shù)據(jù)字典方面的基本內(nèi)容,還有很多有用視圖因?yàn)槠蜻@里不能一一講解,希望大家在平時(shí)使用中多留心。總之,運(yùn)用好數(shù)據(jù)字典技術(shù),可以讓數(shù)據(jù)庫(kù)開發(fā)人員能夠更好的了解數(shù)據(jù)庫(kù)的全貌,這樣對(duì)于數(shù)據(jù)庫(kù)優(yōu)化、管理等有極大的幫助。

上一頁(yè)    

相關(guān)文章

  • RPM包方式安裝Oracle21c的方法詳解

    RPM包方式安裝Oracle21c的方法詳解

    本次安裝遇到了一個(gè)深坑,CentOS8.0安裝時(shí)很多不兼容性,強(qiáng)行安裝也失敗了,提示缺少部分java方式,所以沒辦法,換用的Oracle Enterprise Linux 8.4 安裝很順暢,一個(gè)半小時(shí)就完成相應(yīng)的工作了,具體操作過程一起看看吧
    2021-08-08
  • Oracle跨庫(kù)訪問DBLINK使用以及實(shí)際應(yīng)用

    Oracle跨庫(kù)訪問DBLINK使用以及實(shí)際應(yīng)用

    這篇文章主要給大家介紹了關(guān)于Oracle跨庫(kù)訪問DBLINK使用以及實(shí)際應(yīng)用的相關(guān)資料,DBLink的作用是在局域網(wǎng)內(nèi),通過一臺(tái)服務(wù)器上面的數(shù)據(jù)庫(kù)訪問另外一臺(tái)服務(wù)器上面數(shù)據(jù)庫(kù)的功能,需要的朋友可以參考下
    2024-01-01
  • ORACLE8的分區(qū)管理

    ORACLE8的分區(qū)管理

    ORACLE8的分區(qū)管理...
    2007-03-03
  • Oracle DBA常用語(yǔ)句

    Oracle DBA常用語(yǔ)句

    Oracle DBA常用語(yǔ)句,對(duì)于表空間大小等查看都是不錯(cuò)的sql語(yǔ)句。
    2009-08-08
  • Oracle中declare的使用及說明

    Oracle中declare的使用及說明

    這篇文章主要介紹了Oracle中declare的使用及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • oracle定時(shí)備份壓縮的實(shí)現(xiàn)步驟

    oracle定時(shí)備份壓縮的實(shí)現(xiàn)步驟

    本篇文章是對(duì)oracle定時(shí)備份壓縮的實(shí)現(xiàn)步驟進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • 關(guān)于sql腳本導(dǎo)入Oracle時(shí)重復(fù)生成check約束的問題解決

    關(guān)于sql腳本導(dǎo)入Oracle時(shí)重復(fù)生成check約束的問題解決

    這篇文章主要給大家介紹了關(guān)于sql腳本導(dǎo)入Oracle時(shí)重復(fù)生成check約束的問題解決方法,文中給出了詳細(xì)的檢查步驟,對(duì)大家理解和解決這個(gè)問題具有很好的幫助,需要的朋友們下面來一起看看吧。
    2017-05-05
  • ORACLE 修改表結(jié)構(gòu) 之ALTER CONSTAINTS的使用

    ORACLE 修改表結(jié)構(gòu) 之ALTER CONSTAINTS的使用

    這篇文章主要介紹了ORACLE 修改表結(jié)構(gòu) 之ALTER CONSTAINTS的使用,需要的朋友可以參考下
    2014-07-07
  • Oracle rac環(huán)境的數(shù)據(jù)庫(kù)導(dǎo)入操作步驟

    Oracle rac環(huán)境的數(shù)據(jù)庫(kù)導(dǎo)入操作步驟

    Oracle RAC是一種基于共享存儲(chǔ)和共享數(shù)據(jù)庫(kù)的集群解決方案,可以將多個(gè) Oracle 數(shù)據(jù)庫(kù)實(shí)例連接成一個(gè)邏輯上的單一數(shù)據(jù)庫(kù),提供高可用性、靈活性和可伸縮性,本文給大家介紹Oracle rac環(huán)境的數(shù)據(jù)庫(kù)導(dǎo)入操作,感興趣的朋友一起看看吧
    2023-06-06
  • oracle11g管理員密碼忘記怎么辦 sqlplus解決忘記密碼問題

    oracle11g管理員密碼忘記怎么辦 sqlplus解決忘記密碼問題

    oracle11g管理員密碼忘記了怎么辦?這篇文章主要介紹了oracle 11g管理員密碼忘記問題的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06

最新評(píng)論