Oracle 權限詳解

系統權限:賦予用戶執行某些系統範圍內的操作能力,如: 
有CREATE SESSION系統權限的用戶能連接到數據庫服務器並建立數據庫會話。 
有CREATE TABLE系統權限的用戶能在自己的模式中創建表。 
有CREATE ANY TABLE系統權限的用戶能在數據庫的任何模式中創建表 
有CREATE ANY TYPE系統權限的用戶能在系統的任何模式中創建類型及關聯類型體。 
有SELECT ANY TABLE系統權限的用戶能查看數據庫中的任何表 
有EXECUTE ANY PROCEDURE系統權限的用戶能在數據庫中執行任何存儲過程、存儲函數或打包部件。 
有EXECUTE ANY TYPE系統權限的用戶能引用和執行數據庫中任何類型的方法。 


GRANT debug any procedure, debug connect session TO USERXXX;

數據庫管理員是唯一擁有強大的ALTER DATABASE系統權限的用戶,改權限允許某人更改數據庫系統的物理結構和有效性。 
開發人員通常需要若干個系統權限,包括:CREATE TABLE,CREATE VIEW和CREATE TYPE系統權限,以便支持前端應用程序的數據庫模式。 
系統中的每個用戶多有CREATE SESSION權限,該權限允許用戶連接到數據庫服務器。 

對象權限:是一種賦予用戶在指定的數據庫對象(如表、視圖或存儲過程等)上執行特定類型的操作權限: 
具有對CUS視圖的SELECT對象權限的用戶能夠查詢視圖並檢索信息。 
具有對CUSTOMERS表的INSERT對象權限能夠向該表插入新航。 

具有對partType對象類型的EXECUTE對象的用戶在創建其他數據庫對象並執行該對象的方法時能夠使用該類型。 

授予用戶系統權限 
GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE ANY INDEX, CREATE SEQUENCE, CREATE TYPE 
TO YZHQ 
WITH ADMIN OPTION; 

收回 
REVOKE CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE ANY INDEX, CREATE SEQUENCE, CREATE TYPE 
FROM YZHQ; 

不能向其他用戶授權 
GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE ANY INDEX, CREATE SEQUENCE, CREATE TYPE 
TO YZHQ; 

e.g. 
SQL> grant create table to becvx; 
grant create table to becvx 

ERROR 位於第 1 行: 
ORA-01031: 權限不足 

授予用戶對象權限 
表:  SELECT, INSERT, UPDATE, DELETE, ALTER, INDEX, RREFERENCES            
INDEX權限授權者爲表創建索引,當聲明瞭參照完整性約束時,REFERENCES權限允許授權者參照這個表 
可以爲INSERT,UPDATE和REFERENCES權限授予列選擇權限 

視圖:SELECT, INSERT, UPDATE, DELETE 

可以爲INSERT和UPDATE權限授予列選擇權限 

序列:SLEECT, ALTER 
SELECT權限讓授權者利用序列的NEXTVAL和CURRVAL僞列來生成和重用序列號 

過程、函數、包、對象類型:EXECUTE 
用於對象類型的EXECUTE權限讓授權者在創建其他模式對象和類型時使用該對象類型,同時讓授權者執行該類型的方法。 

GARNT INSERT, UPDATE, DELETE, SELECT 
ON customers 
to lellision; 
授予 INSERT, UPDATE, DELETE, SELECT權限 

GRANT ALL PRIVILEGES 
ON orders 
TO lellision 
WITH GRANT OPTION; 
將ORDERS表的全部對象權限授予了LELLISON,同時附帶了將ORDERS表的表權限授予了其他用戶的選項 

GRANT SELECT, 
      INSERT (id, lastname, firstname), 
      UPDATE (lastname, firstname), 
      REFERENCE (id) 
ON salesreps 
TO lellison; 
權限僅爲指定的列授權 

撤銷: 
REVOKE UPDATE, DELETE ON customers 
  FROM lellision; 

REVOKE ALL PRIVILEGES ON orders 
  FROM lellison; 

REVOKE RREFERENCE ON salesreps 
  FROM lellison 
  CASCADE CONSTRAINTS; 

CASCADE CONSTRAINTS 表明你要輸出所有將撤銷的REFERENCES對象權限所創建的參照完整性約束。 
當爲表相關性的對性類型撤銷EXECUTE對象權限時,FORCE選項是必須的。 

管理用戶、角色和權限的DBA視圖:
DBA_USERS         提供用戶的信息
DBA_ROLES         顯示數據庫中所有角色
DBA_COL_PRIVS     顯示列級對象授權
DBA_ROLE_PRIVS    顯示用戶及其角色
DBA_SYS_PRIVS     顯示被授予系統權限的用戶

USER_SYS_PRIVS:   當前用戶所擁有的系統權限

DBA_TAB_PRIVS     顯示用戶及他們在表上的權限

 ALL_TAB_PRIVS   
ROLE_ROLE_PRIVS   顯示授予角色的角色
ROLE_SYS_PRIVS    顯示授予角色的系統權限
ROLE_TAB_PRIVS    顯示授予角色的表權限
SESSION_PRIVS     顯示允許用戶使用的權限
SESSION_ROLES     顯示當前允許用戶使用的角色

 USER_ROLE_PRIVS:   當前用戶被授予的角色

 另外還有針對表的訪問權限的視圖:

 TABLE_PRIVILEGES


按角色的權限管理 

預定義數據庫角色(常見的5個): 
CONNECT   基本的用戶角色,允許授權者鏈接到數據庫,然後在相關的模式中創建表、視圖、同義詞、序列和一些其他的對象類型 
RESOURCE  建議用於典型的應用開發人員。該角色允許授權者在相關的模式中創建表、序列、數據簇、過程、函數、包、觸發器、 
對象類型、基於函數的索引和用戶自定義的操作符 
DBA       建議用戶管理員。該角色允許授權者執行任何數據庫功能,因爲它包含了說有的系統權限。此外,改DBA角色的授權者 
可以向任何其他數據庫用戶或角色授予任何系統權限 
SELECT_CATALOG_ROLE  該角色允許授權者查詢管理員(DBA_)數據字典視圖 
EXECUTE_CATALOG_ROLE  該角色允許授權者運行預製的DBMS工具包 

創建角色 
CREATE ROLE appdev 
IDENTIFIED BY yeRtw; 

注意:創建一個角色時,Oracle自動把該角色及其管理權授予你,以便你能改變、刪除該角色以及將該角色授予其他角色和用戶。 
另外,角色歸系統所有,而非角色創建者所有。 

給角色授予系統權限和角色 

GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE ANY INDEX, 
      CREATE SEQUENCE, CREATE TYPE 
      TO appdev; 

爲角色授予帶有管理權限的系統權限和角色是不明智的。 

GARNT INSERT, UPDATE, DELETE, SELECT 
ON customers 
to appdev; 

GRANT ALL PRIVILEGES 
ON orders 
TO appdev 
WITH GRANT OPTION; 

GRANT SELECT, 
      INSERT (id, lastname, firstname), 
      UPDATE (lastname, firstname), 
ON salesreps 
TO appdev; 

注意:Oracle不允許向一個角色授予表的REFERENCES對象權限-------當用戶需要這個權限時,必須直接把權限授予該用戶。 

########################## 
##  設置用戶的缺省角色  ## 
########################## 

SQL> desc user_role_privs 
名稱                                      是否爲空? 類型 
----------------------------------------- -------- ---------------------------- 
USERNAME                                           VARCHAR2(30) 
GRANTED_ROLE                                       VARCHAR2(30) 
ADMIN_OPTION                                       VARCHAR2(3) 
DEFAULT_ROLE                                       VARCHAR2(3) 
OS_GRANTED                                         VARCHAR2(3) 

當爲用戶授予角色時,Oracle自動的添加該角色到用戶的缺省角色列表中。 

alter user rhora default role resource; 設置用戶缺省角色列表。如果角色沒有在缺省角色列表中,需要使用set role 開啓顯示角色。

SQL> create user rhora identified by rhora; 

用戶已創建 

SQL> grant connect, resource, dba to rhora; 

授權成功。 

SQL> conn rhora/rhora 
已連接。 
SQL> select * from user_role_privs; 

USERNAME                       GRANTED_ROLE                   ADM DEF OS_ 
------------------------------ ------------------------------ --- --- --- 
RHORA                          CONNECT                        NO  YES NO 
RHORA                          DBA                            NO  YES NO 
RHORA                          RESOURCE                       NO  YES NO 


注意:如果用戶不具帶有CREATE SESSION系統權限的缺省角色,就必須直接爲該用戶授予CREATE SESSION系統權限, 
否則這個用戶將不能建立數據庫會話。 

QL> conn /as sysdba 
已連接。 
SQL> alter user rhora default role resource; 

用戶已更改。 

SQL> conn rhora/rhora 
ERROR: 
ORA-01045: user RHORA lacks CREATE SESSION privilege; logon denied 


警告: 您不再連接到 ORACLE。 
SQL> conn /as sysdba 
已連接。 
SQL>  grant CREATE SESSION to rhora; 

授權成功。 

SQL> conn rhora/rhora 
已連接。 
SQL> select * from user_role_privs; 

USERNAME                       GRANTED_ROLE                   ADM DEF OS_ 
------------------------------ ------------------------------ --- --- --- 
RHORA                          CONNECT                        NO  NO  NO 
RHORA                          DBA                            NO  NO  NO 
RHORA                          RESOURCE                       NO  YES NO 
SQL> 
將用戶的角色connect, resource, dba重新添加到缺省列表中 

SQL> conn /as sysdba 
已連接。 
SQL> alter user rhora default role connect,resource,dba; 

用戶已更改。 

SQL> conn rhora/rhora 
已連接。 
SQL> select * from user_role_privs; 

USERNAME                       GRANTED_ROLE                   ADM DEF OS_ 
------------------------------ ------------------------------ --- --- --- 
RHORA                          CONNECT                        NO  YES NO 
RHORA                          DBA                            NO  YES NO 
RHORA                          RESOURCE                       NO  YES NO 
###################################################################################### 

啓用和禁用角色 
(1)會話可以使用帶有ALL選項的SET ROLE命令來啓用對帳號授權的所有角色。然而,當要啓用需要口令的角色時,必須使用 
IDENTIFIED BY參數指定該角色及其用戶。 

(2)使用SET ROLE命令的NONE選項可以禁用會話的角色。 

(3)Oracle自動地禁用已經授權但沒有使用SET ROLE命令啓用的角色。 

顯示當前會話啓用的角色列表,輸入select * from session_roles 進行查詢 

SQL> conn /as sysdba 
已連接。 

SQL> create role appdev identified by yeTtw; 

角色已創建 
SQL> grant CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE ANY INDEX, CREATE SEQUENCE, CREATE TYPE 
  2  TO appdev; 

授權成功。 
SQL> create user rhora identified by rhora ; 

用戶已創建 
SQL> grant connect, resource, select_catalog_role, hs_admin_role to rhora; 

授權成功。 
SQL> grant appdev to rhora; 

授權成功。 
SQL> conn rhora/rhora 
已連接。 
SQL> select * from session_roles; 

ROLE 
------------------------------ 
CONNECT 
HS_ADMIN_ROLE 
RESOURCE 
SELECT_CATALOG_ROLE 
APPDEV 

如果密碼輸錯就會報如下的錯誤: 

SQL> set role appdev identified by abc; 
set role appdev identified by abc 

ERROR 位於第 1 行: 
ORA-01979: 角色'APPDEV'缺少口令或口令無效 

使用SET ROLE語句來啓用APPDEV角色和禁用CONNECT, RESOURCE等其他角色。 

SQL> set role appdev identified by yeTtw; 

角色集 

SQL> select * from session_roles; 

ROLE 
------------------------------ 
APPDEV 

開啓 CONNECT, RESOURCE角色 

SQL> set ROLE 
  2    CONNECT, 
  3    RESOURCE 
  4  ; 

角色集 

SQL> SELECT * FROM SESSION_ROLES; 

ROLE 
------------------------------ 
CONNECT 
RESOURCE 


啓用該用戶原來具有的角色,注意:這條SET ROLE語句沒有列出HS_ADMIN_ROLE, 它是SELECT_CATALOG_ROLE權限域的一部分。 
這是因爲Oracle自動啓用被授予顯示啓用的角色的角色。 

SQL> set ROLE 
  2   CONNECT, 
  3   RESOURCE, 
  4   SELECT_CATALOG_ROLE, 
  5   appdev IDENTIFIED By yeTtw; 

角色集 

SQL> select * from session_roles; 

ROLE 
------------------------------ 
APPDEV 
CONNECT 
RESOURCE 
SELECT_CATALOG_ROLE 
HS_ADMIN_ROLE 

SQL> 

###################################################################################### 

資源限制 

表空間定額 
ALTER USER lellison 
  QUOTA 5M ON users; 

ALTER USER rlane 
  QUOTA UNLIMITED ON users; 

向用戶RLANE授予UNLIMITED TABLESPACE系統權限 
GRANT UNLIMITED TABLESPACE TO rlane; 


啓用資源限制 
缺省時,啓動數據庫不實施資源限制。因此,限制用戶訪問服務器資源所必需的第一步是啓用在實例層強制資源限制。 
使用下列格式的SQL命令ALTER SYSTEM, 在不關機和重啓Oracle服務的狀態下, 可以啓用和禁用資源限制的強制實施。 

ALTER SYSTEM 
  SET RESOURCE_LIMIT = {TRUE | FALES} 

ALTER SYSTEM 
  SET RESOURCE_LIMIT = TRUE; 


alter system 語句只對當前數據庫實例有效,如果打算長期使用資源限制,比阿吉服務器的參數文件使其包含下列參數: 
RESOURCE_LIMIT = TRUE 

創建新的配置表,使用SQL命令CREATE PROFILE 

CREATE PROFILE profile LIMIT 
  [SESSION_PER_USER { integer | UNLIMITED | DEFAULT}] 
  [CPU_PER_SESSION { integer | UNLIMITED | DEFAULT}] 
  [CPU_PER_CALL { integer | UNLIMITED | DEFAULT}] 
  [CONNECT_TIME { integer | UNLIMITED | DEFAULT}] 
  [IDLE_TIME { integer | UNLIMITED | DEFAULT}] 
  [LOGICAL_READS_PER_SESSION { integer | UNLIMITED | DEFAULT}] 
  [LOGICAL_READS_PER_CALL { integer | UNLIMITED | DEFAULT}] 
  [COMPOSITE_LIMIT { integer | UNLIMITED | DEFAULT}] 
  [PRIVATE_SGA { integer | UNLIMITED | DEFAULT}] 
  [FAILED_LOGIN_ATTEMPTS { integer | UNLIMITED | DEFAULT}] 
  [PASSWORD_LIFE_TIME { integer | UNLIMITED | DEFAULT}] 
  [PASSWORD_REUSE_TIME { integer | UNLIMITED | DEFAULT}] 
  [PASSWORD_REUSE_MAX { integer | UNLIMITED | DEFAULT}] 
  [PASSWORD_LOCK_TIME { integer | UNLIMITED | DEFAULT}] 
  [PASSWORD_GRACE_TIME { integer | UNLIMITED | DEFAULT}] 
  [PASSWORD_VERIFY_FUNCTION {NULL |function |DEFAULT}] 

輸入以下語句創建新的資源配置表: 
CREATE PROFILE appdev LIMIT 
  SESSIONS_PER_USER 5 
  CPU_PER_SESSION  UNLIMITED 
  CPU_PER_CALL  3000 
  CONNECT_TIME UNLIMITED 
  IDLE_TIME 30 
  LOGICAL_READS_PER_SESSION UNLIMITED 
  LOGICAL_READS_PER_CALL 1000 
  PRIVATE_SGA 200K; 

配置表用戶可以打開最多5個併發的數據庫會話。 

配置表用戶的會話可以使用無限的CPU時間,但是每個數據庫請求只有30秒的CPU時間(設置爲3,000個百分之一秒)。如果一個 
調用達到了這個CPU極限,那麼Oracle就停止這個操作以避免該會話進一步消耗CPU時間。 

配置表用戶的會話可以不限時間的保持對這個實例的連接,而不必斷開連接,但是在自動斷開連接之前,只有30分鐘的空閒時間。 

配置用戶的會話可以執行不限次數的邏輯讀取(即可以從硬盤也可以從服務器內存中讀取數據塊),但是每個數據庫請求只有1000個 
邏輯塊的讀取操作。如果一個調用達到了這個限制,那麼Oracle就停止這個操作以避免這個會話進一步消耗邏輯讀取。 

使用多線程服務器連接到實例的配置用戶會話可以爲MTS分配和使用最多200K佔用內存。 


更改配置表的設置 

ALTER PROFILE profile LIMIT 
  [SESSION_PER_USER { integer | UNLIMITED | DEFAULT}] 
  [CPU_PER_SESSION { integer | UNLIMITED | DEFAULT}] 
  [CPU_PER_CALL { integer | UNLIMITED | DEFAULT}] 
  [CONNECT_TIME { integer | UNLIMITED | DEFAULT}] 
  [IDLE_TIME { integer | UNLIMITED | DEFAULT}] 
  [LOGICAL_READS_PER_SESSION { integer | UNLIMITED | DEFAULT}] 
  [LOGICAL_READS_PER_CALL { integer | UNLIMITED | DEFAULT}] 
  [COMPOSITE_LIMIT { integer | UNLIMITED | DEFAULT}] 
  [PRIVATE_SGA { integer | UNLIMITED | DEFAULT}] 
  [FAILED_LOGIN_ATTEMPTS { integer | UNLIMITED | DEFAULT}] 
  [PASSWORD_LIFE_TIME { integer | UNLIMITED | DEFAULT}] 
  [PASSWORD_REUSE_TIME { integer | UNLIMITED | DEFAULT}] 
  [PASSWORD_REUSE_MAX { integer | UNLIMITED | DEFAULT}] 
  [PASSWORD_LOCK_TIME { integer | UNLIMITED | DEFAULT}] 
  [PASSWORD_GRACE_TIME { integer | UNLIMITED | DEFAULT}] 
  [PASSWORD_VERIFY_FUNCTION {NULL |function |DEFAULT}] 

ALTER PROFILE appdev LIMIT 
  FAILED_LOGIN_ATTEMPTS 3 
  PASSWORD_LOCK_TIME 1 
  PASSWORD_LIFE_TIME 30 
  PASSWORD_GRACE_TIME 5 
  PASSWORD_REUSE_TIME UNLIMITED 
  PASSWORD_REUSE_MAX UNLIMITED; 

配置表用戶連續3個登錄不成功之後,Oracle自動地鎖定該帳號。 
如果以爲連續3個的失敗登錄而導致Oracle鎖定了配置表用戶的帳號,那麼Oracle就會保持鎖定該帳號整整一天,然後自動解鎖帳號。 
配置表用戶的口令壽命爲30天,加上一個個5天的寬限期限,之後,用戶必須改變口令,否則Oracle鎖定這個帳號。 
配置表用戶不能重用舊的口令。 

Oracle8i強制實施在用戶配置表中所設置的全部口令管理特性,無論是否啓用帶有ALTER SYSTEM 命令或者RESOURCE_LIMIT服務器參數 
的資源限制。 

###################################################################################### 
手工強制用戶口令終止 

要求該用戶在下一個會話期間改動這個口令。ALTER USER user PASSWORD EXPIRE 

SQL> conn /as sysdba 
已連接。 
SQL> alter user yzhq 
  2   password expire; 

用戶已更改。 

SQL> conn yzhq/yzhq 
ERROR: 
ORA-28001: the password has expired 

更改yzhq的口令 
新口令: 
重新鍵入新口令: 
口令已更改 
已連接。 
SQL> 

###################################################################################### 

設置用戶的配置表 

缺省時,所有的用戶都分配使用數據庫的缺省配置表。爲了將用戶的配置表設置成另一個配置表,可以使用下列格式的 
SQL命令ALTER USER. 

ALTER USER user 
  PROFILE  profile 

SQL> alter user yzhq profile appdev; 

用戶已更改。 
SQL> conn yzhq 
請輸入口令:  
ERROR: 
ORA-01017: invalid username/password; logon denied 

警告: 您不再連接到 ORACLE。 
SQL> conn yzhq 
請輸入口令:  
ERROR: 
ORA-01017: invalid username/password; logon denied 

SQL> conn yzhq 
請輸入口令:  
ERROR: 
ORA-01017: invalid username/password; logon denied 

SQL> conn yzhq 
請輸入口令:  
ERROR: 
ORA-28000: the account is locked 
###################################################################################### 

更改缺省數據庫的配置表 

使用ALTER PROFILE語句可以調整缺省數據庫的設置。 

禁用缺省數據庫配置表的口令管理特性。 
ALTER PROFILE default LIMIT 
  PASSWORD_LIFE_TIME UNLIMITED 
  PASSWORD_REUSE_TIME UNLIMITED 
  PASSWORD_REUSE_MAX UNLIMITED 
  PASSWORD_LOCK_TIME UNLIMITED 
  PASSWORD_GRACE_TIME UNLIMITED 
  PASSWORD_VERIFY_FUNCTION NULL; 

###################################################################################### 

使用口令複雜性檢查 

可以使用SQL命令CREATE PROFILE和ALTER PROFILE的PASSWORD_VERIFY_FUNCTION參數連檢驗配置表用戶口令的複雜性。 

爲了啓用所有配置表用戶的口令複雜性檢查,將配置表的PASSWORD_VERIFY_FUNCTION參數設置爲一個函數名,這個函數被 
用於檢查口令的複雜性。Oracle提供了缺省函數,該函數必須用位於$ORACLE_HOME/rdbms/admin/目錄中的utlpwdmg.sql 
命令腳本來創建。爲了運行該腳本,用SYS來連接。 

SQL> @$ORACLE_HOME/rdbms/admin/utlpwdmg.sql 

函數已創建。

配置文件已更改 

SQL> 


SQL> create user rhora2 identified by ac; 
create user rhora2 identified by ac 

ERROR 位於第 1 行: 
ORA-28003: 指定口令的口令驗證失敗 
ORA-20002: Password length less than 4 


SQL> create user rhora2 identified by rhora2; 
create user rhora2 identified by rhora2 

ERROR 位於第 1 行: 
ORA-28003: 指定口令的口令驗證失敗 
ORA-20001: Password same as or similar to user 


SQL> create user rhora2 identified by welcome; 
create user rhora2 identified by welcome 

ERROR 位於第 1 行: 
ORA-28003: 指定口令的口令驗證失敗 
ORA-20002: Password too simple 


SQL> create user rhora2 identified by becvx; 
create user rhora2 identified by becvx 

ERROR 位於第 1 行: 
ORA-28003: 指定口令的口令驗證失敗 
ORA-20003: Password should contain at least one digit, one character and one 
punctuation 


SQL>  create user rhora2 identified by  rmok3h#a; 

用戶已創建 

SQL> drop user rhora2; 

用戶已丟棄 

SQL> create user rhora2 identified by becvx3#; 

用戶已創建 

SQL> alter user rhora2 identified by "becv%3"; 

用戶已更改。 



舊口令:becv%3  
新口令:becv#9 

SQL> conn rhora2 
請輸入口令:  
已連接。 
SQL> password 
更改RHORA2的口令 
舊口令: 
新口令: 
重新鍵入新口令: 
ERROR: 
ORA-28003: 指定口令的口令驗證失敗 
ORA-20004: Password should differ by at \ 
least 3 characters 


口令未更改 
SQL> 

更改APPDEV配置表以便使用數據庫缺省配置表(SYS.VERFY_FUNCTION)的PASSWORD_VERFY_FUNCTION參數。 

ALTER PROFILE appdev LIMIT 
   PASSWORD_VERIFY_FUNCTION DEFAULT; 


###################################################################################### 


顯示有關用戶的信息 

SQL> SELECT username, account_status, default_tablespace, temporary_tablespace, profile 
  2      FROM dba_users 
  3      WHERE username IN ('RHORA','RHORA1'); 

USERNAME                       ACCOUNT_STATUS 
------------------------------ -------------------------------- 
DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE 
------------------------------ ------------------------------ 
PROFILE 
------------------------------ 
RHORA1                         OPEN 
SYSTEM                         TEMP 
DEFAULT 


顯示有關角色的信息 

SQL> select * from dba_roles 
  2      where role IN ('CONNECT', 'RESOURCE', 'DBA', 'APPDEV'); 

ROLE                           PASSWORD 
------------------------------ -------- 
APPDEV                         YES 
DBA                            NO 
RESOURCE                       NO 
CONNECT                        NO 

SQL> 

顯示有關表空間定額的信息 
爲了顯示在數據庫中爲每個表空間授予的有關分配額的信息,可以查詢DBA_TS_QUOTAS數據字典視圖。 


SQL> SELECT tablespace_name, username, bytes, max_bytes 
  2  FROM  dba_ts_quotas; 

TABLESPACE_NAME                USERNAME                            BYTES  MAX_BYTES 
------------------------------ ------------------------------ ---------- ---------- 
CWMLITE                        OLAPSYS                          15663104         -1 
STATSPACK                      PERFSTAT                         96206848         -1 

SQL> 

當用戶有無限的表空間定額時,DBA_TS_QUOTAS視圖的MAX_BYTES列顯示代碼"-1"。 



顯示用戶的配置表的信息 


SQL> SELECT profile, resource_name, limit 
  2  FROM dba_profiles 
  3    WHERE profile = 'APPDEV'; 

PROFILE                        RESOURCE_NAME                    LIMIT 
------------------------------ -------------------------------- ---------------------------------------- 
APPDEV                         COMPOSITE_LIMIT                  DEFAULT 
APPDEV                         SESSIONS_PER_USER                5 
APPDEV                         CPU_PER_SESSION                  UNLIMITED 
APPDEV                         CPU_PER_CALL                     3000 
APPDEV                         LOGICAL_READS_PER_SESSION        UNLIMITED 
APPDEV                         LOGICAL_READS_PER_CALL           1000 
APPDEV                         IDLE_TIME                        30 
APPDEV                         CONNECT_TIME                     UNLIMITED 
APPDEV                         PRIVATE_SGA                      204800 
APPDEV                         FAILED_LOGIN_ATTEMPTS            3 
APPDEV                         PASSWORD_LIFE_TIME               30 

PROFILE                        RESOURCE_NAME                    LIMIT 
------------------------------ -------------------------------- ---------------------------------------- 
APPDEV                         PASSWORD_REUSE_TIME              UNLIMITED 
APPDEV                         PASSWORD_REUSE_MAX               UNLIMITED 
APPDEV                         PASSWORD_VERIFY_FUNCTION         DEFAULT 
APPDEV                         PASSWORD_LOCK_TIME               1 
APPDEV                         PASSWORD_GRACE_TIME              5 

已選擇16行。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章