亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

講解Oracle數(shù)據(jù)庫(kù)中的數(shù)據(jù)字典及相關(guān)SQL查詢(xún)用法

 更新時(shí)間:2016年03月19日 11:32:40   作者:zhouxingfu520  
這篇文章主要介紹了Oracle數(shù)據(jù)庫(kù)中的數(shù)據(jù)字典及相關(guān)SQL查詢(xún)用法,是Oracle入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

Oracle數(shù)據(jù)字典概述 
 
數(shù)據(jù)庫(kù)是數(shù)據(jù)的集合,數(shù)據(jù)庫(kù)維護(hù)和管理這用戶的數(shù)據(jù),那么這些用戶數(shù)據(jù)表都存在哪里,用戶的信息是怎樣的,存儲(chǔ)這些用戶的數(shù)據(jù)的路徑在哪里,這些信息不屬于用戶的信息,卻是數(shù)據(jù)庫(kù)維護(hù)和管理用戶數(shù)據(jù)的核心,這些信息就是數(shù)據(jù)庫(kù)的數(shù)據(jù)字典來(lái)維護(hù)的,數(shù)據(jù)庫(kù)的數(shù)據(jù)字典就匯集了這些數(shù)據(jù)庫(kù)運(yùn)行所需要的基礎(chǔ)信息叻。每個(gè)數(shù)據(jù)庫(kù)都提供了各自的數(shù)據(jù)字典的方案,雖然形式不同,但是目的和作用是一樣的,比如在mysql里數(shù)據(jù)字典是在information_schema 里表現(xiàn)的,sqlserver則是在sys這個(gè)系統(tǒng)schema里來(lái)展示的。
Oracle的數(shù)據(jù)字典是Oracle數(shù)據(jù)庫(kù)安裝之后,自動(dòng)創(chuàng)建的一系列數(shù)據(jù)庫(kù)對(duì)象。數(shù)據(jù)字典是Oracle數(shù)據(jù)庫(kù)對(duì)象結(jié)構(gòu)的元數(shù)據(jù)信息。熟悉和深入研究數(shù)據(jù)字典對(duì)象,可以很大程度的幫助我們了解Oracle內(nèi)部機(jī)制。
Oracle字典視圖包括四個(gè)層次,分別為X$內(nèi)部表、基礎(chǔ)數(shù)據(jù)字典表、數(shù)據(jù)字典視圖和動(dòng)態(tài)性能視圖。
數(shù)據(jù)字典表和用戶創(chuàng)建的表沒(méi)有什么區(qū)別,不過(guò)數(shù)據(jù)字典表里的數(shù)據(jù)是Oracle系統(tǒng)存放的系統(tǒng)數(shù)據(jù),而普通表存放的是用戶的數(shù)據(jù)而已,為了方便的區(qū)別這些表,這些表的名字都是用"$"結(jié)尾,在我們看到的sql語(yǔ)句里看到"$"結(jié)尾的這些表,大家就可以想到這可能是一個(gè)數(shù)據(jù)字典表了,同樣,既然如此,我們創(chuàng)建自己的用戶表的時(shí)候就不要用“$”結(jié)尾,以免讓別人誤會(huì),數(shù)據(jù)字典表是系統(tǒng)存放系統(tǒng)用戶的,所以他的owner是sys,在手工用create database的命令的時(shí)候,會(huì)調(diào)用$ORACLE_HOME/rdbms/admin/sql.bsq文件,這個(gè)就會(huì)執(zhí)行生成我們這些數(shù)據(jù)字典表。打開(kāi)sql.bsq會(huì)發(fā)現(xiàn)很多數(shù)據(jù)字典幾乎都以$結(jié)尾,比如col$,tab$等。
對(duì)于數(shù)據(jù)字典表,里面的數(shù)據(jù)是有數(shù)據(jù)庫(kù)系統(tǒng)自身來(lái)維護(hù)的,所以這里雖然和普通表一樣可以用DML語(yǔ)句來(lái)修改數(shù)據(jù)內(nèi)容,但是大家最好還是不要自己來(lái)做了,因?yàn)檫@些表都是作用于數(shù)據(jù)庫(kù)內(nèi)部的,我們有時(shí)看到的604的的recursive sql這里的sql實(shí)際上很有可能就是我們的相關(guān)的數(shù)據(jù)字典表的執(zhí)行內(nèi)容。所以這里我們切記記住不要去修改這些表里的內(nèi)容。
剛才說(shuō)道了。這里的數(shù)據(jù)字典表的用戶都是sys,存在在system這個(gè)表空間里,表名都用"$"結(jié)尾,為了便于用戶對(duì)數(shù)據(jù)字典表的查詢(xún),這樣的名字是不利于我們記憶的,所以O(shè)racle對(duì)這些數(shù)據(jù)字典都分別建立了用戶視圖視圖,不僅有更容易接受的名字,還隱藏了數(shù)據(jù)字典表表之間的關(guān)系,讓我們字節(jié)通過(guò)視圖來(lái)進(jìn)行查詢(xún),簡(jiǎn)單而形象,Oracle針對(duì)這些對(duì)象的范圍,分別把視圖命名為DBA_XXXX, ALL_XXXX和USER_XXXX
user_對(duì)象視圖:描述了當(dāng)前用戶schema下的對(duì)象;
all_對(duì)象視圖:描述了當(dāng)前用戶有權(quán)限訪問(wèn)到的所有對(duì)象的信息;
dba_對(duì)象視圖:包括了所有數(shù)據(jù)庫(kù)對(duì)象的信息;
注意:在創(chuàng)建數(shù)據(jù)庫(kù)是會(huì)運(yùn)行兩個(gè)腳本。先運(yùn)行catalog.sql,該腳本用來(lái)創(chuàng)建數(shù)據(jù)庫(kù)的內(nèi)部字典表。然后再運(yùn)行catrpoc.sql,該腳本用來(lái)創(chuàng)建數(shù)據(jù)庫(kù)內(nèi)建的存儲(chǔ)過(guò)程、包等pl\sql對(duì)象。如果我們是使用dbca來(lái)創(chuàng)建數(shù)據(jù)庫(kù),則dbca會(huì)自動(dòng)調(diào)用這兩個(gè)腳本。否則在執(zhí)行create database命令來(lái)創(chuàng)建時(shí),則需要手工運(yùn)行這兩個(gè)腳本。    
 
數(shù)據(jù)字典SQL查詢(xún)
下面按類(lèi)別列出一些ORACLE用戶常用數(shù)據(jù)字典的查詢(xún)使用方法。
 
1、用戶
查看當(dāng)前用戶的缺省表空間

SQL>select username,default_tablespace from user_users;

 
查看當(dāng)前用戶的角色

SQL>select * from user_role_privs;

 
查看當(dāng)前用戶的系統(tǒng)權(quán)限和表級(jí)權(quán)限

SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs;

 
2、表
查看用戶下所有的表

SQL>select * from user_tables;

 
查看名稱(chēng)包含log字符的表

SQL>select object_name,object_id from user_objects
where instr(object_name,'LOG')>0;

 
查看某表的創(chuàng)建時(shí)間

SQL>select object_name,created from user_objects where object_name=upper('&table_name');

 
查看某表的大小

SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&table_name');

 
查看放在ORACLE的內(nèi)存區(qū)里的表

SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;

 
3、索引
查看索引個(gè)數(shù)和類(lèi)別

SQL>select index_name,index_type,table_name from user_indexes order by table_name;

 
查看索引被索引的字段

SQL>select * from user_ind_columns where index_name=upper('&index_name');

 
查看索引的大小

SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&index_name');

 
4、序列號(hào)
查看序列號(hào),last_number是當(dāng)前值

SQL>select * from user_sequences;

 
5、視圖
查看視圖的名稱(chēng)

SQL>select view_name from user_views;

 
查看創(chuàng)建視圖的select語(yǔ)句

SQL>set view_name,text_length from user_views;
SQL>set long 2000;        說(shuō)明:可以根據(jù)視圖的text_length值設(shè)定set long 的大小
SQL>select text from user_views where view_name=upper('&view_name');

 
6、同義詞
查看同義詞的名稱(chēng)

SQL>select * from user_synonyms;

 
7、約束條件
查看某表的約束條件

SQL>select constraint_name, constraint_type,search_condition, r_constraint_name
from user_constraints where table_name = upper('&table_name');
 
SQL>select c.constraint_name,c.constraint_type,cc.column_name
from user_constraints c,user_cons_columns cc
where c.owner = upper('&table_owner') and c.table_name = upper('&table_name')
and c.owner = cc.owner and c.constraint_name = cc.constraint_name
order by cc.position;

 
8、存儲(chǔ)函數(shù)和過(guò)程
查看函數(shù)和過(guò)程的狀態(tài)

SQL>select object_name,status from user_objects where object_type='FUNCTION';
SQL>select object_name,status from user_objects where object_type='PROCEDURE';

 
查看函數(shù)和過(guò)程的源代碼

SQL>select text from all_source where owner=user and name=upper('&plsql_name');

相關(guān)文章

  • Windows系統(tǒng)下Oracle?12c安裝保姆級(jí)圖文教程詳解

    Windows系統(tǒng)下Oracle?12c安裝保姆級(jí)圖文教程詳解

    這篇文章主要給大家介紹了關(guān)于Windows系統(tǒng)下Oracle?12c安裝保姆級(jí)圖文教程的相關(guān)資料,Oracle數(shù)據(jù)庫(kù)12c的安裝是一個(gè)復(fù)雜的過(guò)程,但通過(guò)正確的安裝前置條件的準(zhǔn)備,精心的安裝過(guò)程確實(shí)可以讓Oracle?12c穩(wěn)定、高效地運(yùn)行在各類(lèi)操作系統(tǒng)中,需要的朋友可以參考下
    2023-09-09
  • oracle表空間表分區(qū)詳解及oracle表分區(qū)查詢(xún)使用方法

    oracle表空間表分區(qū)詳解及oracle表分區(qū)查詢(xún)使用方法

    racle表空間表分區(qū)詳解及oracle表分區(qū)查詢(xún)使用方法,大家參考使用吧
    2013-12-12
  • oracle創(chuàng)建用戶過(guò)程詳解

    oracle創(chuàng)建用戶過(guò)程詳解

    這篇文章主要介紹了oracle創(chuàng)建用戶過(guò)程詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • oracle獲取上一旬的開(kāi)始時(shí)間和結(jié)束時(shí)間的實(shí)現(xiàn)函數(shù)

    oracle獲取上一旬的開(kāi)始時(shí)間和結(jié)束時(shí)間的實(shí)現(xiàn)函數(shù)

    本文為大家介紹下oracle如何獲取上一旬的開(kāi)始時(shí)間和結(jié)束時(shí)間,實(shí)現(xiàn)函數(shù)如下,感興趣的朋友可以參考下
    2013-09-09
  • navicat導(dǎo)入oracle導(dǎo)出的dmp文件

    navicat導(dǎo)入oracle導(dǎo)出的dmp文件

    現(xiàn)在工作中常用Oracle數(shù)據(jù)庫(kù),但是查詢(xún)工具還是Navicat最好用,不論是數(shù)據(jù)導(dǎo)入導(dǎo)出,還是執(zhí)行語(yǔ)句,都很清晰明了,下面這篇文章主要給大家介紹了關(guān)于navicat導(dǎo)入oracle導(dǎo)出的dmp文件的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • Informatica bulk與normal模式的深入詳解

    Informatica bulk與normal模式的深入詳解

    本篇文章是對(duì)Informatica bulk與normal模式進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • Oracle中實(shí)現(xiàn)行列互轉(zhuǎn)的方法分享

    Oracle中實(shí)現(xiàn)行列互轉(zhuǎn)的方法分享

    這篇文章主要為大家總結(jié)了Oracle中實(shí)現(xiàn)行列互轉(zhuǎn)的簡(jiǎn)單方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-06-06
  • Oracle表分區(qū)詳解

    Oracle表分區(qū)詳解

    本文詳細(xì)講解了Oracle表分區(qū)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • oracle 11g 數(shù)據(jù)庫(kù)常用操作實(shí)例總結(jié)

    oracle 11g 數(shù)據(jù)庫(kù)常用操作實(shí)例總結(jié)

    這篇文章主要介紹了oracle 11g 數(shù)據(jù)庫(kù)常用操作,結(jié)合實(shí)例形式總結(jié)分析了oracle 11g數(shù)據(jù)庫(kù)進(jìn)入、創(chuàng)建、權(quán)限、用戶等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2023-05-05
  • 在Oracle實(shí)例關(guān)閉時(shí)如何修改spfile的參數(shù)詳解

    在Oracle實(shí)例關(guān)閉時(shí)如何修改spfile的參數(shù)詳解

    這篇文章主要給大家介紹了關(guān)于在Oracle實(shí)例關(guān)閉時(shí)如何修改spfile參數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-07-07

最新評(píng)論