如题,.net程序,平时用得好好的,以前是偶尔会有报这个错,打开网页就会报错(首页就有连接数据库),但这时用sql       plus连db是好的,只是网页打不开。       
    只需要重启iis,就一切正常了。       
    最近发生得特别频繁!!   这时去看w3wp.exe的内存使用,一般都已经200m及以上了。   
    错误信息:       
    exception       type:system.data.oracleclient.oracleexception       
    message:       ora-01043:       user       side       memory       corruption       [],       [],       [],       []       
    老这样重启不是办法,一定要解决才行啊   。 
     到底哪里出了问题呢。

解决方案 »

  1.   

    我一直用的SQL SERVER
    不过还是关注,支持一下楼主。
      

  2.   

    再就是程序可能有死循环,导致了iis死掉
      

  3.   

    昨天又检查了下程序 发觉用的session变量比较多 而且过期时间是设置为120分钟 这个对w3wp.exe的资源占用是有影响的
    但是不知道对出那个错误有没有影响 还要持续观察
    有高手帮解答下的啊
      

  4.   

    内存占用不大,应该不是连接问题。会不会是Oracle用户权限问题?换个权限最大的用户试试。
      

  5.   

    可能是你的系统中有很多资源为释放的原因,造成大量的内存被占用,Oracle没有足够的内存,检查一下你的Session和允许的用户的连接数试试。
      

  6.   

    资源都有被释放啊 错误发生也是偶尔的事情 估计和权限无关了 
    根据异常LOG的记录 错误都是发生在如下代码段的
      '获取用户的部门信息
        Public Function getDept(ByVal dept As String) As beEMDEPT
            Dim ds As beEMDEPT
            Dim conn As OracleConnection
            Dim sqlcmd As String
            Dim cmd As OracleCommand
            Dim da As OracleDataAdapter        Dim rf As String = "dept = '" & dept & "'"
            ' If (_RowFilter <> rf Or be Is Nothing) Then
            Try
                ds = New beEMDEPT
                ' Me._RowFilter = rf
                '获取DB的连接 
                conn = Me.GetConnection("EMST")
                sqlcmd = "select dept,Description,news from emdept where dept =:dept ORDER BY dept "
                cmd = New OracleCommand(sqlcmd, conn)
                cmd.Parameters.Add(":dept", OracleType.VarChar).Value = transParam(dept)
                da = New OracleDataAdapter(cmd)
                da.Fill(ds.EMDEPT)
            
            '就是这里抛出异常的
            Catch ex As Exception
                Throw ex 
            Finally
                conn.Close()
                cmd.Dispose()
                da.Dispose()
                'be.Dispose()
                conn.Dispose()
            End Try
            ' Else
            ' ds = be
            '  End If
            Return ds    End Function
      

  7.   

    看是否有连接没有及时关闭,比如SqlDataReader使用后没有关闭