数据库:Oracle 10g
操作系统:Windows Server 2003 64 位
我查询 Web 应用程序生成的 Oracle 会话列表(按 program=w3wp.exe 过滤)
select * from V$session
where UPPER(program) LIKE '%W3%'
order by logon_time
Run Code Online (Sandbox Code Playgroud)

根据 Logon_Time,为什么 31/07/2012 或 01/08/2012 或今天(21/08/2012)之前的任何会话仍然活动?
我在 sqlnet.ora 上配置了: SQLNET.EXPIRE_TIME= 20 所以这意味着每 20 分钟 Oracle 都会检查连接是否仍然处于活动状态。
所有用户架构都有默认配置文件。这意味着没有会话永远不会过期或死亡?

在回复 Phil 的评论时添加:

添加响应 Phil 的回答:

我正在寻找一些查询来列出对一个包有授权的所有用户。
例如,用户 Schema_A 已被授权执行包:B.MyPackage。
我正在查询如下视图或表:role_tab_privs、role_sys_privs、sys.dba_sys_privs、dba_role_privs...但我找不到我在找什么。
我们在 Oracle 10g 中有一个实例。Web 应用程序(面向 Internet)仅使用一种模式,该应用程序仅用于读取信息的用户,不添加或修改数据。其余模式未使用。
Archived Redo Logs被激活。对我们来说奇怪的是,每天都会生成归档文件,包括周日和节假日,没有人来上班。
我认为归档重做日志是在插入、删除或更新数据时生成的,而不是因为 select 语句。
那是对的吗?
我安装并投入生产了一个 11g 的数据库。有人建议我将重做日志的大小调整为每个 200MB。现在我看到我归档的重做日志每个都是 200 MB,并且都占用了很多操作系统磁盘空间。现在我想将该大小更改为 100MB 或 50MB。
我的问题是:重做日志的合适大小是多少,取决于什么?
当您安装 Oracle 数据库或实例时,您可以分配一个域名。
一个例子:
SID: orcl
Domain: world.com
Service: orcl.world.com
Run Code Online (Sandbox Code Playgroud)
为什么需要添加或配置域?
我正在尝试为我的表 TBL_AFIL 构建一个条件检查约束,它有两个字段:
约束条件:IF flg_afil=1 THEN Fec_Reun 不能为 NULL。
ALTER TABLE TBL_AFIL
ADD CONSTRAINT FecRenun_Not_Null CHECK (Fec_Renun IS not NULL and flg_afil =1) ;
Run Code Online (Sandbox Code Playgroud)
但它抛出这个错误:
ORA-02293: cannot validate (FecRenun_Not_Null) - check constraint violated
Run Code Online (Sandbox Code Playgroud)
但是当我运行这个查询时,它返回 0 行。
SELECT * FROM TBL_AFIL
WHERE FEC_RENUN IS NULL
AND FLG_AFIL =1;
Run Code Online (Sandbox Code Playgroud)
我知道我可以添加这个约束ENABLE NOVALIDATE,但我很好奇为什么不能建立这个约束。