Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在AIX上执行查询导致挂起_Sql_Windows_Oracle_Aix - Fatal编程技术网

Sql 在AIX上执行查询导致挂起

Sql 在AIX上执行查询导致挂起,sql,windows,oracle,aix,Sql,Windows,Oracle,Aix,我有一个运行在Windows和AIX上的服务器应用程序,当客户端应用程序连接到运行在Windows上的实例并执行一个向服务器端发送查询的报告时,一切正常,但是,当客户机应用程序连接到AIX上运行的服务器实例并执行向服务器端发送相同查询的相同报告时,应用程序挂起 经过调查,我发现查询导致了挂起,因为我使用sqlplus直接从AIX上的命令行运行了查询,而且它也挂起了 我必须注意,DB是Oracle,它运行在另一台有Windows Server的机器上 我所说的问题是: select z_name,

我有一个运行在Windows和AIX上的服务器应用程序,当客户端应用程序连接到运行在Windows上的实例并执行一个向服务器端发送查询的报告时,一切正常,但是,当客户机应用程序连接到AIX上运行的服务器实例并执行向服务器端发送相同查询的相同报告时,应用程序挂起

经过调查,我发现查询导致了挂起,因为我使用sqlplus直接从AIX上的命令行运行了查询,而且它也挂起了

我必须注意,DB是Oracle,它运行在另一台有Windows Server的机器上

我所说的问题是:

select z_name, s_date,
        n_count, f_count, m_count, s_count, d_count, a_count,
        (n_count + f_count + m_count + s_count + d_count + a_count) as d_total
from
(select z_name, s_date,
          nvl((select s_count from vReport S1 where S1.z_id = S.z_id and S1.s_date = S.s_date and s_app = 'NC'), 0) as n_c_count,
          nvl((select s_count from vReport S1 where S1.z_id = S.z_id and S1.s_date = S.s_date and s_app = 'FS'), 0) as f_s_count,
          nvl((select s_count from vReport S1 where S1.z_id = S.z_id and S1.s_date = S.s_date and s_app = 'MC'), 0) as m_c_count,
          nvl((select s_count from vReport S1 where S1.z_id = S.z_id and S1.s_date = S.s_date and s_app like 'SAA %'), 0) as s_c_count,
          nvl((select s_count from vReport S1 where S1.z_id = S.z_id and S1.s_date = S.s_date and s_app = 'DC'), 0) as d_c_count,
          nvl((select s_count from vReport S1 where S1.z_id = S.z_id and S1.s_date = S.s_date and s_app = 'SA'), 0) as a_c_count,
          nvl((select sum(s_count) from vReport S1 where S1.z_id = S.z_id), 0) as d_total
from rvReport S
where s_date between TO_DATE('2012-08-01 00:00:00','YYYY-MM-DD HH24:MI:SS') and  TO_DATE('2012-08-02 23:59:59','YYYY-MM-DD HH24:MI:SS')
and  z_id in (3,61,41,21) 
union 
select distinct z_name, SYSDATE,
          nvl((select sum(s_count) from vReport S1 where S1.z_id = S.z_id and s_app = 'NC' and s_date between TO_DATE('2012-08-01 00:00:00','YYYY-MM-DD HH24:MI:SS') and  TO_DATE('2012-08-02 23:59:59','YYYY-MM-DD HH24:MI:SS')), 0) as n_c_count,
          nvl((select sum(s_count) from vReport S1 where S1.z_id = S.z_id and s_app = 'FS' and s_date between TO_DATE('2012-08-01 00:00:00','YYYY-MM-DD HH24:MI:SS') and  TO_DATE('2012-08-02 23:59:59','YYYY-MM-DD HH24:MI:SS')), 0) as f_s_count,
          nvl((select sum(s_count) from vReport S1 where S1.z_id = S.z_id and s_app = 'MC' and s_date between TO_DATE('2012-08-01 00:00:00','YYYY-MM-DD HH24:MI:SS') and  TO_DATE('2012-08-02 23:59:59','YYYY-MM-DD HH24:MI:SS')), 0) as m_c_count,
          nvl((select sum(s_count) from vReport S1 where S1.z_id = S.z_id and s_app like 'SAA %' and s_date between TO_DATE('2012-08-01 00:00:00','YYYY-MM-DD HH24:MI:SS') and  TO_DATE('2012-08-02 23:59:59','YYYY-MM-DD HH24:MI:SS')), 0) as s_c_count,
          nvl((select sum(s_count) from vReport S1 where S1.z_id = S.z_id and s_app = 'DC' and s_date between TO_DATE('2012-08-01 00:00:00','YYYY-MM-DD HH24:MI:SS') and  TO_DATE('2012-08-02 23:59:59','YYYY-MM-DD HH24:MI:SS')), 0) as d_c_count,
          nvl((select sum(s_count) from vReport S1 where S1.z_id = S.z_id and s_app = 'SA' and s_date between TO_DATE('2012-08-01 00:00:00','YYYY-MM-DD HH24:MI:SS') and  TO_DATE('2012-08-02 23:59:59','YYYY-MM-DD HH24:MI:SS')), 0) as a_c_count,
          nvl((select sum(s_count) from vStats S1 where S1.z_id = S.zone_id  and s_date between TO_DATE('2012-08-01 00:00:00','YYYY-MM-DD HH24:MI:SS') and  TO_DATE('2012-08-02 23:59:59','YYYY-MM-DD HH24:MI:SS')), 0) as z_total
from rvReport S
where s_date between TO_DATE('2012-08-01 00:00:00','YYYY-MM-DD HH24:MI:SS') and  TO_DATE('2012-08-02 23:59:59','YYYY-MM-DD HH24:MI:SS')
and z_id in (3,61,41,21)
) STEMP

注意:我忘了说,如果删除union后select语句中的条件“和(3,61,41,21)中的z_id”,查询将在AIX上执行,不会挂起,但会返回错误的数据。

两台服务器上的表结构、索引和数据卷是否相同?这两方面的统计数据都是最新的吗?您可以获取并比较这两个服务器的解释计划或执行计划吗?嗯,这两个服务器实例连接到运行在另一台具有Windows server的机器上的同一个DB。我不知道你问的其他问题,因为我不是DB专家,但如果你告诉我如何获得它们,我是指你提到的统计数据和两个计划,我可以试一试。