Oracle系統表查詢

2021-08-25 12:52:48 字數 4004 閱讀 6462

資料字典dict總是屬於oracle使用者sys的。 

1、使用者:

select username from dba_users; 

改口令 

alter user spgroup identified by spgtest; 

2、表空間:

select * from dba_data_files; 

select * from dba_tablespaces;//表空間 

select tablespace_name,sum(bytes), sum(blocks) 

from dba_free_space group by tablespace_name;//空閒表空間 

select * from dba_data_files 

where tablespace_name='rbs';//表空間對應的資料檔案 

select * from dba_segments 

where tablespace_name='indexs'; 

3、資料庫物件:

select * from dba_objects; 

cluster、database link、function、index、library、package、package body、 

procedure、sequence、synonym、table、trigger、type、undefined、view。 

4、表:

select * from dba_tables; 

analyze my_table compute statistics;->dba_tables後6列 

select extent_id,bytes from dba_extents 

where segment_name='customers' and segment_type='table' 

order by extent_id;//表使用的extent的資訊。segment_type='rollback'檢視回滾段的空間分配資訊 

列資訊: 

select distinct table_name 

from user_tab_columns 

where column_name='so_type_id'; 

5、索引:

select * from dba_indexes;//索引,包括主鍵索引 

select * from dba_ind_columns;//索引列 

select i.index_name,i.uniqueness,c.column_name 

from user_indexes i,user_ind_columns c 

where i.index_name=c.index_name 

and i.table_name ='acc_nbr';//聯接使用 

6、序列:

select * from dba_sequences; 

7、檢視:

select * from dba_views; 

select * from all_views; 

text 可用於查詢檢視生成的指令碼 

8、聚簇:

select * from dba_clusters; 

9、快照:

select * from dba_snapshots; 

快照、分割槽應存在相應的表空間。 

10、同義詞:

select * from dba_synonyms 

where table_owner='spgroup'; 

//if owner is public,then the synonyms is a public synonym. 

if owner is one of users,then the synonyms is a private synonym. 

11、資料庫鏈:

select * from dba_db_links; 

在spbase下建資料庫鏈 

create database link dbl_spnew 

connect to spnew identified by spnew using 'jhhx'; 

insert into acc_nbr@dbl_spnew 

select * from acc_nbr where nxx_nbr='237' and line_nbr='8888'; 

12、觸發器:

select * from dba_trigers; 

儲存過程,函式從dba_objects查詢。 

其文字:select text from user_source where name='book_sp_example'; 

建立出錯:select * from user_errors; 

oracle總是將儲存過程,函式等軟體放在system表空間。 

13、約束:

(1)約束是和表關聯的,可在create table或alter table table_name add/drop/modify來建立、修改、刪除約束。 

可以臨時禁止約束,如: 

alter table book_example 

disable constraint book_example_1; 

alter table book_example 

enable constraint book_example_1; 

(2)主鍵和外來鍵被稱為表約束,而not null和unique之類的約束被稱為列約束。通常將主鍵和外來鍵作為單獨的命名約束放在字段列表下面,而列約束可放在列定義的同一行,這樣更具有可讀性。 

(3)列約束可從表定義看出,即describe;表約束即主鍵和外來鍵,可從dba_constraints和dba_cons_columns 查。 

select * from user_constraints 

where table_name='book_example'; 

select owner,constraint_name,table_name 

from user_constraints 

where constraint_type='r' 

order by table_name; 

(4)定義約束可以無名(系統自動生成約束名)和自己定義約束名(特別是主鍵、外來鍵) 

如:create table book_example 

(identifier number not null); 

create table book_example 

(identifier number constranit book_example_1 not null); 

14、回滾段:

查詢作業資訊 

select job,broken,next_date,interval,what from user_jobs; 

select job,broken,next_date,interval,what from dba_jobs; 

查詢正在執行的作業 

select * from dba_jobs_running; 

使用包exec dbms_job.submit(:v_num,'a;',sysdate,'sysdate + (10/(24*60*60))')加入作業。間隔10秒鐘 

exec dbms_job.submit(:v_num,'a;',sysdate,'sysdate + (11/(24*60))')加入作業。間隔11分鐘使用包exec dbms_job.remove(21)刪除21號作業。 

oracle系統表的查詢

檢視當前使用者的預設表空間 sql select username,default tablespace from user users 檢視當前使用者的角色 sql select from user role privs 檢視當前使用者的系統許可權和表級許可權 sql select from us...

Oracle資料庫之系統表查詢

一 系統表的定義及欄位含義 1 v process 這個檢視提供的資訊,都是oracle服務程序的資訊,沒有客戶端程式相關的資訊 服務程序分兩類,一是後台的,一是dedicate shared server pid,serial 這是oracle分配的pid spid 這才是作業系統的pid pro...

oracle 查詢表結構

通過資料字典來獲取,select table name,column name,data type,data length from user tab columns where table name not in select view name from user views and table...