中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 数据库开发 > 数据库综合
在DB2中如何實現Oracle的相關功能(三)
作者:未知 时间:2003-07-21 12:12 出处:Blog 责编:chinaitpower
              摘要:暂无

在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, ...)

  待續...

 


 

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有