oracle中ccuser,Oracle数据库查询与SESSIONS_PER_USER大于40

在尝试查询Oracle数据库中SESSIONS_PER_USER大于40的配置时,遇到ORA-01722错误。问题源于LIMIT列包含非数字值(如'UNLIMITED'和'DEFAULT')。解决方案是通过过滤掉这些异常值,但即使这样仍出现错误。博客探讨了这个问题并提出了可能的解决策略。
摘要由CSDN通过智能技术生成

我想查询所有的数据库配置文件我有SESSIONS_PER_USER> 40 我使用的测试数据如下所有的数据库配置文件:Oracle数据库查询与SESSIONS_PER_USER大于40

select PROFILE, LIMIT from DBA_PROFILES where resource_name = 'SESSIONS_PER_USER;

Profile LIMIT

DEFAULT UNLIMITED

ORA_STIG_PROFILE DEFAULT

APP_USER 40

TEST2 2

TEST3 3

TEST4 11

TEST5 27

TEST6 33

TEST7 244

TEST8 45

TEST9 50

TEST10 111

TEST11 93

TEST12 39

TEST13 41

我开始此查询

select profile, limit from DBA_PROFILES where resource_name = 'SESSIONS_PER_USER' AND LIMIT >= 40;

哪个导致ORA-01722:无效的数字,因为您无法对字符串执行数学运算。

所以,我想这一点:

select profile, LIMIT from (select PROFILE, LIMIT from DBA_PROFILES where resource_name = 'SESSIONS_PER_USER' AND LIMIT != 'UNLIMITED' AND PROFILE != 'DEFAULT' AND LIMIT != 'DEFAULT') WHERE LIMIT = 40;

我仍然得到即使第二查询有过滤默认的和无限的人无效号码。

对于就不会存在这个问题,因为该列将被限制在要么完全数字或字符串,但使用这个数据库设置我显然不能改变任何这一点,并在生产系统上的默认值和无限的大部分东西在实践中使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值