在DB2中如何實現Oracle的相關功能(三)

來源:互聯網
上載者:User
oracle
在DB2中如何實現Oracle的相關功能(三)
作者﹕CCBZZP
    在現實的應用中大家可能經常會遇到在DB2中如何實現Oracle的某些功能﹐
在此我簡單地總結一下﹐實現某一功能可能會有很多種方法﹐在此就沒有全部列出﹐
歡迎大家繼續﹐以便和大家共用﹐共同探討﹐共同近步﹗(以下主要以Oracle
8I,9I和DB2 7.X為例)。
1.如何查有多少個數據庫實例的Oracle和DB2的寫法
  Oracle 可以這樣實現﹕
  SQL>SELECT * FROM V$INSTANCE;
  DB2 可以這樣實現﹕
  在命令視窗執行 db2ilist
2.如何查詢數據庫有多少表的Oracle和DB2的寫法
  Oracle 可以這樣實現﹕
  SQL>select * from all_tables;
  DB2 可以這樣實現﹕
  在命令中心執行
  select  *   from syscat.tables;
3.如何知道表鎖的情況的Oracle和DB2的寫法
  Oracle 可以這樣實現﹕
  SQL>SELECT S.SID SESSION_ID, S.USERNAME, DECODE(LMODE, 0,  'None', 1, 'Null', 2, 'Row-S   (SS)', 3, 'Row-X (SX)', 4, 'Share', 5, 'S/Row-X (SSX)', 6, 'Exclusive', TO_CHAR(LMODE))   MODE_HELD, DECODE(REQUEST, 0, 'None', 1, 'Null', 2, 'Row-S (SS)', 3, 'Row-X (SX)', 4,   'Share', 5, 'S/Row-X (SSX)', 6, 'Exclusive', TO_CHAR(REQUEST)) MODE_REQUESTED,   O.OWNER||'.'||O.OBJECT_NAME||' ('||O.OBJECT_TYPE||')', S.TYPE LOCK_TYPE, L.ID1 LOCK_ID1,   L.ID2 LOCK_ID2 FROM V$LOCK L, SYS.DBA_OBJECTS O, V$SESSION S WHERE L.SID = S.SID AND   L.ID1 = O.OBJECT_ID
  DB2 可以這樣實現﹕
  在你執行你的預存程序之前,執行命令開啟鎖的監視開光
  db2 update monisor switches using lock on ;
  然後執行你的預存程序,在執行預存程序期間的時候使用命令
  db2 get snapshot for locks on yourdatdabasename ;
  就可以看見了你鎖情況了
4.如何對鎖住的表進行解鎖的Oracle和DB2的寫法
  Oracle 可以這樣實現﹕
  SQL>alter system kill session 'sid,service#';
  DB2 可以這樣實現﹕
  db2 force application all ;
  db2 terminate ;
5.測試SQL語句執行所用的時間的Oracle和DB2的寫法
  Oracle 可以這樣實現﹕
  SQL>set timing on ;
  SQL>select * from tablename;
  DB2 可以這樣實現﹕
  db2batch -d 庫名 -f 含有SQL語句的檔案名稱 ;
6. 如何配置Sequence的Oracle和DB2的寫法
  Oracle 可以這樣實現﹕
  建sequence seq_custid
  create sequence seq_custid start 1 incrememt by 1;
  建表時:
  create table cust
  { cust_id smallint not null,
  ...}
  insert 時:
  insert into table cust
  values( seq_cust.nextval, ...)
  DB2 可以這樣實現﹕
  identity欄位屬性 用法:
  create table時
  cust_id smallint not null generated always as indentity (start with
  1 increment by 1)
  insert 時:
  insert into table cust (cust_id, ... )
  values ( default, ...)

  待續...

 


 


聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.