请各位大侠帮忙,我在window xp sp3系统上想实现oracle通过透明网关访问sql2005的数据库,设置完成后查询不出结果,没有提示有错误出现,鼠标一直显示忙碌状态,如果点几下鼠标sql plus显示没有响应,我的配置如下:
.
D:\oracle\product\10.2.0\tg_1\tg4msql\admin下新建initstudent.ora
# This is a sample agent init file that contains the HS parameters that are
# needed for the Transparent Gateway for SQL Server#
# HS init parameters
#
HS_FDS_CONNECT_INFO="SERVER=CHINA-04A0CAD60;DATABASE=student"    //这里还用加上CHINA-04A0CAD60\WINCC吗,我的
                                                                   计算机名为CHINA-04A0CAD60
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
2.
D:\oracle\product\10.2.0\tg_1\NETWORK\ADMIN\listener.ora
# listener.ora Network Configuration File: D:\oracle\product\10.2.0\tg_1\network\admin\listener.ora
# Generated by Oracle configuration tools.SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\oracle\product\10.2.0\tg_1)
      (PROGRAM = extproc)
    )
   (SID_DESC =
      (SID_NAME = student)
      (ORACLE_HOME = D:\oracle\product\10.2.0\tg_1)
      (PROGRAM = tg4msql)
    )
   )LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2))
      (ADDRESS = (PROTOCOL = TCP)(HOST = CHINA-04A0CAD60)(PORT = 1521))
    )
  )
3.
D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora
# tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = CHINA-04A0CAD60)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )student=
(DESCRIPTION=
   (ADDRESS=(PROTOCOL=TCP)(HOST=CHINA-04A0CAD60)(PORT=1521))
   (CONNECT_DATA=
   (SID=student)
 )
 (HS=OK)
)4.更改global_names:alter system set global_names=false;5.建立数据库连接:
    create public database link student connect to sa identified by "42409864" using 'student';6.重启监听服务:运行lsnrctl stop和lsnrctl start7.lsnrctl status:显示student状态为NUKNOWN,包含此服务的1个处理程序,
8.tnsping student9.测试:select * from db_studentmessage@student则出现我上面说的设置完成后查询不出结果,没有提示有错误出现,鼠标一直显示忙碌状态,如果点几下鼠标sql plus显示没有响应。麻烦大家帮忙看看,谢谢

解决方案 »

  1.   

    刚才终于报出了错误:ORA-04021:等待锁定对象时发生超时,这是什么原因呢,请大家指教
      

  2.   

    SELECT /*+ rule */ s.username,decode(l.type,'TM','TABLE LOCK','TX','ROW LOCK',NULL)
     LOCK_LEVEL,o.owner,o.object_name,o.object_type,   
      s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
      FROM v$session s,v$lock l,dba_objects o
      WHERE l.sid = s.sid
      AND l.id1 = o.object_id(+)
      AND s.username is NOT NULL使用这个语句查下看看。。到你的student下然后把他给杀了。。  Alter system kill session 'sid,serial#'
      alter system disconnect session 'sid,serial#' immediate;
      

  3.   

    SELECT /*+ rule */ s.username,decode(l.type,'TM','TABLE LOCK','TX','ROW LOCK',NULL)
     LOCK_LEVEL,o.owner,o.object_name,o.object_type,   
      s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
      FROM v$session s,v$lock l,dba_objects o
      WHERE l.sid = s.sid
      AND l.id1 = o.object_id(+)
      AND s.username is NOT NULL
    这个是什么意思,/*+ rule */ 、s、1
    O(∩_∩)O谢谢,麻烦你了,我刚接触oracle
      

  4.   

    查询oracle锁等待情况,如果存在死锁,你就把这个session杀掉。。
      

  5.   

    /*+ rule */这个没什么作用,这个是设置基于规则的优化器。。
      

  6.   

    我直接复制你的
    SELECT s.username,decode(l.type,'TM','TABLE LOCK','TX','ROW LOCK',NULL)
     LOCK_LEVEL,o.owner,o.object_name,o.object_type,   
      s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
      FROM v$session s,v$lock l,dba_objects o
      WHERE l.sid = s.sid
      AND l.id1 = o.object_id(+)
      AND s.username is NOT NULL
    代码,但是出现
    Msg 195, Level 15, State 10, Line 1
    'decode' is not a recognized built-in function name.
    我应该怎么解决
      

  7.   

    我的数据库名称为student,表名为db_studentmessage
      

  8.   

    额。。sqlserver 啊。那我就不晓得了,你去网上找下sqlserver的杀session的语句吧。。
      

  9.   

    还得麻烦各位帮忙看看,我的student数据库里就一个表,里边就五条数据,应该不存在session死锁的问题,我用同样的方法链接sql2000数据库没有问题,链接成功