·天新网首页·加入收藏·设为首页
首页|笔记本|手机|数码相机|摄像机|MP3/MP4|主板|内存|显示器|办公|打印机|下载|开发|汽车|学院|业界
硬件|台式机|数码|数字家庭|投影仪|GPS/CPU|显卡|硬盘|服务器|网络|一体机|驱动|源码|游戏|考试|报价
您现在的位置:天新网 > 软件开发 > 数据库开发 > Oracle
Oracle初始参数中三个关于License的设置
http://dev.21tx.com 2008年06月07日 赛迪网 Jeff

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

  SQL> show parameter license

  NAME 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 数量。

  一个简单的实验:

  SQL> select username,terminal,program from v$session;

  USERNAME TERMINAL PROGRAM

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

  WKS05404 ORACLE.EXE

  WKS05404 ORACLE.EXE

  WKS05404 ORACLE.EXE

  WKS05404 ORACLE.EXE

  WKS05404 ORACLE.EXE

  WKS05404 ORACLE.EXE

  WKS05404 ORACLE.EXE

  WKS05404 ORACLE.EXE

  WKS05404 ORACLE.EXE

  SYS WKS05404 sqlplus.exe

  10 rows selected.

  SQL> select * from v$license;

  SESSIONS_MAX SESSIONS_WARNING SESSIONS_CURRENT SESSIONS_HIGHWATER USERS_MAX

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

  0 0 2 2 0

  (这里和上面的查询不知道怎么对应起来)

  SQL> alter system set license_max_sessions=3;

  System altered.

  SQL> show parameter license_max_sessions

  NAME TYPE VALUE

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

  license_max_sessions integer 3

  SQL> select * from v$license;

  SESSIONS_MAX SESSIONS_WARNING SESSIONS_CURRENT SESSIONS_HIGHWATER USERS_MAX

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

  3 0 2 2 0

  接下来新开一个窗口,连接另外一个用户:

  C:Documents and Settingschent>sqlplus /nolog

  SQL*Plus: Release 9.2.0.6.0 - Production on Thu Mar 23 10:51:04 2006

  Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

  SQL> conn sky/forever

  Connected.

  SQL> select * from v$license;

  SESSIONS_MAX SESSIONS_WARNING SESSIONS_CURRENT SESSIONS_HIGHWATER USERS_MAX

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

  3 0 3 3 0

  再开一个用户试试看:

  C:Documents and Settingschent>sqlplus /nolog

  SQL*Plus: Release 9.2.0.6.0 - Production on Thu Mar 23 10:52:45 2006

  Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

  SQL> conn vivian/forever

  ERROR:

  ORA-00019: maximum number of session licenses exceeded

  可以发现,提示超出限制,无法连接了,不过,具有 RESTRICTED SESSION 权限的用户是可以连接的:

  SQL> conn sky/forever

  Connected.

  SQL> select * from v$license;

  SESSIONS_MAX SESSIONS_WARNING SESSIONS_CURRENT SESSIONS_HIGHWATER USERS_MAX

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

  3 0 4 4 0

  最后,我们可以观察alert文件中的记录:

  Thu Mar 23 10:47:30 2006

  ALTER SYSTEM SET license_max_sessions=3 SCOPE=BOTH;

  Thu Mar 23 10:52:51 2006

  Non-DBA logon denied; current logons equal maximum (3)

  License maximum (3) exceeded, DBA logon allowed

  

上一篇: 讲解Oracle数据库的sysdba权限登录问题
下一篇: 教你在Windows环境下Kill掉Oracle的线程

英特尔 酷睿(TM)2双核,送指纹识别器一个,再赠两份好礼,请电800-858-2418

Google
 
热点文章
关于我们 | 联系我们 | 广告服务 | 工作机会 | 版权声明 | 欢迎投稿 | 网站地图
Copyright © 2000-2008 , www.21tx.com , All Rights Reserved .
晨新科技 版权所有 Created by TXSite.net