oracle系統資料表查詢

來源:互聯網
上載者:User
oracle  
資料字典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、復原段:
  在所有的修改結果存入磁碟前,復原段中保持恢複該事務所需的全部資訊,必須以資料庫發生的事務來相應確定其大小(DML語句才可復原,create,drop,truncate等DDL不能復原)。
  復原段數量=並發事務/4,但不能超過50;使每個復原段大小足夠處理一個完整的事務;
   create rollback segment r05
   tablespace rbs;
   create rollback segment rbs_cvt
   tablespace rbs
   storage(initial 1M next 500k);
  使復原段線上
   alter rollback segment r04 online;
  用dba_extents,v$rollback_segs監測復原段的大小和動態增長。
  復原段的區間資訊
   select * from dba_extents
   where segment_type='ROLLBACK' and segment_name='RB1';
  復原段的段資訊,其中bytes顯示目前復原段的位元組數
   select * from dba_segments
    where segment_type='ROLLBACK' and segment_name='RB1';
  為事物指定迴歸段
   set transaction use rollback segment rbs_cvt
  針對bytes可以使用復原段回縮。
   alter rollback segment rbs_cvt shrink;
   select bytes,extents,max_extents from dba_segments
    where segment_type='ROLLBACK' and segment_name='RBS_CVT';
  復原段的目前狀態資訊:
   select * from dba_rollback_segs
    where segment_name='RB1';
  比多復原段狀態status,復原段所屬執行個體instance_num
  查最佳化值optimal
   select n.name,s.optsize
    from v$rollname n,v$rollstat s
     where n.usn=s.usn;
  復原段中的資料
   set transaction use rollback segment rb1;/*復原段名*/
   select n.name,s.writes
    from v$rollname n,v$rollstat s
     where n.usn=s.usn;
  當交易處理完畢,重新查詢$rollstat,比較writes(復原段條目位元組數)差值,可確定事務的大小。
  查詢復原段中的事務
   column rr heading 'RB Segment' format a18
   column us heading 'Username' format a15
   column os heading 'Os User' format a10
   column te heading 'Terminal' format a10
   select r.name rr,nvl(s.username,'no transaction') us,s.osuser os,s.terminal te
    from v$lock l,v$session s,v$rollname r
     where l.sid=s.sid(+)
     and trunc(l.id1/65536)=R.USN
     and l.type='TX'
     and l.lmode=6
   order by r.name;
  15、作業
  查詢作業資訊
   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號作業。



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。