熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle初始參數中三個License的設置

2013-11-13 16:14:28  來源: Oracle 

  Oracle初始參數中有個關於License的設置

      SQL> show parameter license

  

  NAME TYPE VALUE

  

  license_max_sessions integer

  license_max_users integer

  license_sessions_warning integer

  

  具體含義

  參數名license_max_sessions

  類別許可限制

  說明: 指定允許同時進行的並行用戶會話的最大數量達到該限制後 只有具有 RESTRICTED SESSION 權限的用戶才能連接到服務器所有其他用戶都會收到一條警告消息 表明已達到系統最大容量的限制

  值范圍: 會話許可的數量

  默認值:

  

  參數名license_max_users

  類別許可限制

  說明:指定您可在該數據庫中創建的用戶的最大數量並行會話使用許可和用戶使用許可不應被同時啟用LICENSE_MAX_SESSIONS 或 LICENSE_MAX_USERS 或這兩者的值應為零

  值范圍: 用戶許可的數量

  默認值:

  

  參數名license_sessions_warning

  類別許可限制

  說明: 指定對並行用戶會話數量的警告限制達到該限制後 其他用戶仍然可以連接 但一條消息將被寫入 ALERT 文件具有RESTRICTED SESSION 權限的用戶將收到一條警告消息 表明系統已接近最大容量

  值范圍: LICENSE_MAX_SESSIONS

  默認值:

  以上參數如果是 表示沒有限制

  

  除了可以查看這些初始參數之外還可以通過視圖 v$license 來觀察這些參數    SQL> select * from v$license;

  

  SESSIONS_MAX SESSIONS_WARNING SESSIONS_CURRENT SESSIONS_HIGHWATER USERS_MAX

  

  

  

  其中

  SESSIONS_MAXSESSIONS_WARNINGUSERS_MAX 分別對應初始參數 license_max_sessionslicense_sessions_warninglicense_max_users 的數值SESSIONS_CURRENT 表示已經連接的 SESSION 數量(注該值並不等於 v$session 中查詢出來的數量似乎並不包括 Oracle 本身連接的 SESSION但似乎還是有點出入具體是怎樣的對應關系我還沒有搞明白){thisresized=true;thisstylewidth=;} />)SESSIONS_HIGHWATER 表示曾經達到過的最大 SESSION 數量

  

  一個簡單的實驗    SQL> select usernameterminalprogram from v$session;

  

  USERNAME TERMINAL PROGRAM

  

  WKS ORACLEEXE

  WKS ORACLEEXE

  WKS ORACLEEXE

  WKS ORACLEEXE

  WKS ORACLEEXE

  WKS ORACLEEXE

  WKS ORACLEEXE

  WKS ORACLEEXE

  WKS ORACLEEXE

  SYS WKS sqlplusexe

  

   rows selected

  

  SQL> select * from v$license;

  

  SESSIONS_MAX SESSIONS_WARNING SESSIONS_CURRENT SESSIONS_HIGHWATER USERS_MAX

  

  

  

  (這裡和上面的查詢不知道怎麼對應起來)    SQL> alter system set license_max_sessions=;

  

  System altered

  

  SQL> show parameter license_max_sessions

  

  NAME TYPE VALUE

  

  license_max_sessions integer

  SQL> select * from v$license;

  

  SESSIONS_MAX SESSIONS_WARNING SESSIONS_CURRENT SESSIONS_HIGHWATER USERS_MAX

  

  

  

  接下來新開一個窗口連接另外一個用戶    C:Documents and Settingschent>sqlplus /nolog

  

  SQL*Plus: Release Production on Thu Mar ::

  

  Copyright (c) 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

  

  

  

  再開一個用戶試試看    C:Documents and Settingschent>sqlplus /nolog

  

  SQL*Plus: Release Production on Thu Mar ::

  

  Copyright (c) Oracle Corporation All rights reserved

  

  SQL> conn vivian/forever

  ERROR:

  ORA: 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

  

  

  

  最後我們可以觀察alert文件中的記錄    Thu Mar ::

  ALTER SYSTEM SET license_max_sessions= SCOPE=BOTH;

  Thu Mar ::

  NonDBA logon denied; current logons equal maximum ()

  License maximum () exceeded DBA logon allowed


From:http://tw.wingwit.com/Article/program/Oracle/201311/18010.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.