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

发表于:2007-07-02来源:作者:点击数: 标签:
在DB2中如何實現Oracle的相關功能(三) 作者﹕ CC BZZP 在現實的應用中大家可能經常會遇到在DB2中如何實現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, ...)

  待續...

 


 

原文转自:http://www.ltesting.net