[高分]连接Oracle时,总是自动执行下面的语句:SELECT PARAMETER, VALUE FROM SYS.NLS_DATABASE_PARAMETERS ...

iyond 2009-05-25 08:09:26
我写了个程序,是一个Windows程序,里面连接了Oracle数据库。程序里什么也没有做,只是建立一个连接,然后关闭。在Oracle的日志里,发现下面的语句:
SELECT PARAMETER, VALUE FROM SYS.NLS_DATABASE_PARAMETERS WHERE PARAMETER IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET'),MODULE名称是我的程序名称。下面是从日志里弄出的东西:

781 19166 ENGINE SYSTEM 55 ENGINE OAMPSYS.exe WEBSERVICE SELECT PARAMETER, VALUE FROM SYS.NLS_DATABASE_PARAMETERS WHERE PARAMETER IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET') 594 INACTIVE INACTIVE 2009-5-22 16:51 594

哪位高人能告诉我,为什么Oracle会执行这条语句?谢谢啦!


...全文
364 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
inthirties 2009-06-11
  • 打赏
  • 举报
回复
v$sql里不仅仅是你执行过的sql,有是有nested sql执行的,
oraclelogan 2009-05-25
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zcs_1 的回复:]
怀疑与应用程序有关,因为我这边试了试用sqlplus和toad工具连接oracle都没有这个sql,可能是应用程序为了根据oracle字符集而对数据库采取相应的处理而自动执行的sql.
[/Quote]

正解,应该是这样的。可能是应用框架里面做的!
zcs_1 2009-05-25
  • 打赏
  • 举报
回复
怀疑与应用程序有关,因为我这边试了试用sqlplus和toad工具连接oracle都没有这个sql,可能是应用程序为了根据oracle字符集而对数据库采取相应的处理而自动执行的sql.
iyond 2009-05-25
  • 打赏
  • 举报
回复
用的是这个:select* from v$sql
zcs_1 2009-05-25
  • 打赏
  • 举报
回复
请问,楼主所说的日志是udump目录下的trc文件吗?
cxlcxl1234leader 2009-05-25
  • 打赏
  • 举报
回复
等这个问题的答案中 等待高人
cxlcxl1234leader 2009-05-25
  • 打赏
  • 举报
回复
不懂 顶起
iyond 2009-05-25
  • 打赏
  • 举报
回复
那是不是所有的连接都要执行这个语句啊?但是我看日志里面,MODULE只有我的程序的名字,而其它连接数据库的程序,日志里都找不到。
iyond 2009-05-25
  • 打赏
  • 举报
回复
不是,我看了代码了,只是打开一个连接,如果成功,就关闭了。没有执行别的语句。
ruihuahan 2009-05-25
  • 打赏
  • 举报
回复
为了协调服务器端和客户端的字符集设置,而读取数据库的字符集设置参数。
robin_ares 2009-05-25
  • 打赏
  • 举报
回复
这句是查询字符集的
会不会是在启动服务器时在配置文件里有人加上用来测试oracle连接状态的
william3033 2009-05-25
  • 打赏
  • 举报
回复
帮你up一下,不会弄。
接点小分,呵呵,谢过。
xredleaf 2009-05-25
  • 打赏
  • 举报
回复
不清楚,up



_______________________________
DBA请进群QQ群:88039805

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧