标签: oracle10g

ORA-03113:ASP.Net应用程序长时间不活动后,通信通道上的文件结束

我使用版本10.1.0.301的ODAC/ODP.Net驱动程序在IIS5上运行负载平衡(不使用会话状态)ASP.Net 2.0应用程序,运行回单个Oracle 10g服务器.在长时间不活动(几个小时)之后,应用程序看似随机,将抛出Oracle异常:

例外:ORA-03113:结束文件在Oracle.DataAccess.Client.OracleException.HandleErrorHelper(的Int32 ERRCODE,康涅狄格州的OracleConnection,IntPtr的opsErrCtx,OpoSqlValCtx*pOpoSqlValCtx,对象的src,字符串过程)在Oracle.DataAccess.Client上的通信信道.OracleCommand.ExecuteReader(布尔重新查询,布尔fillRequest,行为的CommandBehavior)在Oracle.DataAccess.Client.OracleCommand.System.Data.IDbCommand.ExecuteReader()

...堆栈的Oracle部分在这里结束......

我们正在为每个请求创建新的连接,在try/catch/finally中包含open和close以确保正确的连接关闭,并且整个事务都包含在using(OracleConnection yadayada){...}块中.在停止不活动后,此问题似乎与重新启动ASP.Net应用程序无关.

我们还没有自己重现这个问题.思想,祈祷,帮助?


更多:通过IT检查,防火墙未设置为终止这些服务器之间的连接.

oracle odp.net oracleexception oracle10g

24
推荐指数
3
解决办法
15万
查看次数

DISTINCT结果为ORA-01791:不是SELECTed表达式

select DISTINCT a.FNAME||' '||a.LNAME
   from AUTHOR a, books B, BOOKAUTHOR ba, customers C, orders
   where C.firstname='BECCA'
      and C.lastname='NELSON'
      and a.AUTHORID=ba.AUTHORID
      and b.ISBN=bA.ISBN
   order by a.LNAME
Run Code Online (Sandbox Code Playgroud)

给出ORA-01791:不是SELECTed表达式,但没有DISTINCT.

如何使它工作?

oracle10g

24
推荐指数
1
解决办法
6万
查看次数

在where子句中使用'case expression column'

SELECT ename
  ,    job
  ,    CASE deptno
         WHEN 10
           THEN 'ACCOUNTS'
         WHEN 20
           THEN 'SALES'
         ELSE 'UNKNOWN'
       END AS department
FROM emp /* !!! */ 
WHERE department = 'SALES'
Run Code Online (Sandbox Code Playgroud)

这失败了:

ORA-00904:"%s:无效标识符"

有没有办法克服Oracle 10.2 SQL中的这种限制?如何在where子句中使用'case expression column'?

sql oracle oracle10g ora-00904

24
推荐指数
3
解决办法
5万
查看次数

如何将数组列表拆分成相等的部分?

无论如何将ArrayList拆分成不同的部分而不知道它的大小直到运行时?我知道有一种叫做的方法:

list.subList(a,b);
Run Code Online (Sandbox Code Playgroud)

但我们需要明确提到盯着和结束范围的清单.我的问题是,我们得到一个包含帐号的arraylist,其中包含2000,4000个帐号的数据(编码时间内不会知道数字),我需要将此符号传递给PL/SQL的IN查询,如IN不支持超过1000个值,我试图分成多个块并将其发送到查询

注意:我不能使用像番石榴等任何外部库.. :(在这方面的任何指南表示赞赏.

java plsql oracle10g

24
推荐指数
5
解决办法
6万
查看次数

查询表的外键关系

对于给定的表'foo',我需要一个查询来生成一组具有指向foo的外键的表.我正在使用Oracle 10G.

sql database oracle oracle10g

23
推荐指数
2
解决办法
6万
查看次数

Oracle Date TO_CHAR('Month DD,YYYY')中有额外的空格

当我做...

Select TO_CHAR (date_field, 'Month DD, YYYY')
from...
Run Code Online (Sandbox Code Playgroud)

我得到以下内容:

July      01, 2011
April     01, 2011
January   01, 2011
Run Code Online (Sandbox Code Playgroud)

为什么我的月和日之间有额外的空格?为什么不把它们放在一起呢?

sql oracle oracle10g

23
推荐指数
3
解决办法
12万
查看次数

完全理解PDO ATTR_PERSISTENT

题:

使用PDO时,持久连接管理背后的规则/逻辑是什么?


环境:

网络服务器

  • Windows 7 x64
  • 双核,16GB RAM
  • Apache 2.2.17
  • PHP 5.3.5
  • 通过DSN字符串连接IP地址,端口,服务名称等...
  • 没有用于DB conn的ODBC(现在尝试创建一个2小时,感谢Oracle!)

DB服务器

  • Linux上的Oracle 10g
  • 多核,4GB RAM
  • 专门为我的网络应用创建的用户名(是的,这是假的)
    • user:webuser

我的理解/观察:

非持久连接

<?php

// Open a new connection
// Session created in Oracle
$dbh = new PDO('DSN', 'webuser', 'password');

// webuser is active in v$session with a SID=1

$dbh = NULL;

// webuser removed from v$session

// Manually calling $dbh = NULL; will remove the session from v$session
// OR
// Wait for script EOL so a …
Run Code Online (Sandbox Code Playgroud)

php oracle pdo oracle10g

23
推荐指数
1
解决办法
2万
查看次数

解析ORA-4031"无法分配x字节的共享内存"

我需要一些关于如何诊断和解决这个问题的建议.我不知道这是一个简单的服务器设置问题还是应用程序设计问题(或两者兼而有之).

每隔几个月一次或两次,此Oracle XE数据库会报告ORA-4031错误.它并没有始终指出sga的任何特定部分.最近的一个例子是:

ORA-04031: unable to allocate 8208 bytes of shared memory ("large pool","unknown object","sort subheap","sort key")

当出现此错误时,如果用户不断刷新,点击不同的链接,他们通常会在不同的时间获得更多这类错误,然后他们很快就会收到"404 not found"页面错误.

重新启动数据库通常会解决问题一段时间,然后一个月左右再次出现,但很少在程序中的同一位置(即它似乎没有链接到代码的任何特定部分)(上面的示例)从Apex页面引发错误,该页面从表中排序5000多行.

我已经尝试sga_max_size从140M增加到256M并希望这会有所帮助.当然,我不知道这是否有帮助,因为我必须重新启动数据库来更改设置:)

我在带有512MB RAM的Oracle Enterprise Linux 5机器上运行Oracle XE 10.2.0.1.0.服务器仅运行数据库,Oracle Apex(v3.1.2)和Apache Web服务器.我安装了几乎所有的默认参数,它运行了一年左右.我通过调整应用程序代码来解决自己的大多数问题; 它没有被广泛使用,也不是一个关键业务系统.

这些是我认为可能相关的一些当前设置:

pga_aggregate_target        41,943,040
sga_max_size              268,435,456
sga_target                146,800,640
shared_pool_reserved_size   5,452,595
shared_pool_size          104,857,600
Run Code Online (Sandbox Code Playgroud)

如果它有任何帮助,那么当前的SGA尺寸:

Total System Global Area  268435456 bytes
Fixed Size                  1258392 bytes
Variable Size             251661416 bytes
Database Buffers           12582912 bytes
Redo Buffers                2932736 bytes
Run Code Online (Sandbox Code Playgroud)

oracle memory-management oracle10g

22
推荐指数
2
解决办法
17万
查看次数

Oracle PL/SQL字符串比较问题

1).你好,我有以下Oracle PL/SQL代码可能会从你们看来生锈:

 DECLARE
 str1  varchar2(4000);
 str2  varchar2(4000);
 BEGIN
   str1:='';
   str2:='sdd';
   IF(str1<>str2) THEN
    dbms_output.put_line('The two strings is not equal');
   END IF;
 END;
 /
Run Code Online (Sandbox Code Playgroud)

这很明显,两个字符串str1和str2不相等,但为什么'两个字符串不相等'没有打印出来?Oracle有另一种比较两个字符串的常用方法吗?

sql oracle plsql oracle10g oracle11g

22
推荐指数
2
解决办法
10万
查看次数

如何在Linux上重新配置Oracle 10g xe

我在linux上的deb文件中安装了Oracle 10g xe,然后开始使用这个终端命令对其进行配置

sudo /etc/init.d/oracle-xe configure

但是在完成配置后我忘记了密码,所以当我使用上一个命令时,如何在重新安装后重新配置它

已配置Oracle数据库10g快捷版

谢谢,

linux oracle oracle10g

21
推荐指数
3
解决办法
4万
查看次数