oracle v$license 详解

Oracle初始参数中有3个关于License的设置:

  SQL> show parameter licenseNAME TYPE VALUE

----------------- ---------- --------

license_max_sessions integer 0

license_max_users integer 0

license_sessions_warning integer 0

具体含义:

参数名:license_max_sessions

类别:许可限制

说明: 指定允许同时进行的并行用户会话的最大数量。达到该限制后, 只有具有 RESTRICTED SESSION 权限的用户才能连接到服务器。所有其他用户都会收到一条警告消息, 表明已达到系统最大容量的限制。

值范围: 0 - 会话许可的数量。

默认值: 0

参数名:license_max_users

类别:许可限制

说明:指定您可在该数据库中创建的用户的最大数量。并行会话使用许可和用户使用许可不应被同时启用。LICENSE_MAX_SESSIONS 或 LICENSE_MAX_USERS 或这两者的值应为零。

值范围: 0 - 用户许可的数量。

默认值: 0

参数名:license_sessions_warning

类别:许可限制

说明: 指定对并行用户会话数量的警告限制。达到该限制后, 其他用户仍然可以连接, 但一条消息将被写入 ALERT 文件。具有RESTRICTED SESSION 权限的用户将收到一条警告消息, 表明系统已接近最大容量。

值范围: 0 - LICENSE_MAX_SESSIONS

默认值: 0

以上参数如果是 0 表示没有限制。

除了可以查看这些初始参数之外,还可以通过视图 v$license 来观察这些参数:

  SQL> select * from v$license;SESSIONS_MAX SESSIONS_WARNING SESSIONS_CURRENT SESSIONS_HIGHWATER USERS_MAX

------------ ---------------- ---------------- ------------------ ----------

0 0 53 57 0

其中:

SESSIONS_MAX、SESSIONS_WARNING、USERS_MAX 分别对应初始参数 license_max_sessions、license_sessions_warning、license_max_users 的数值;SESSIONS_CURRENT 表示已经连接的 SESSION 数量(注:该值并不等于 v$session 中查询出来的数量,似乎并不包括 Oracle 本身连接的 SESSION,但似乎还是有点出入,具体是怎样的对应关系,我还没有搞明白350){this.resized=true;this.style.width=350;}" />),SESSIONS_HIGHWATER 表示曾经达到过的最大 SESSION 数量。


如果给你带来帮助,欢迎微信或支付宝扫一扫,赞一下。