Oracle 权限详解

来源:互联网 发布:linux下的telnet 编辑:程序博客网 时间:2024/06/05 21:00
系统权限:赋予用户执行某些系统范围内的操作能力,如: 
有CREATE SESSION系统权限的用户能连接到数据库服务器并建立数据库会话。 
有CREATE TABLE系统权限的用户能在自己的模式中创建表。 
有CREATE ANY TABLE系统权限的用户能在数据库的任何模式中创建表 
有CREATE ANY TYPE系统权限的用户能在系统的任何模式中创建类型及关联类型体。 
有SELECT ANY TABLE系统权限的用户能查看数据库中的任何表 
有EXECUTE ANY PROCEDURE系统权限的用户能在数据库中执行任何存储过程、存储函数或打包部件。 
有EXECUTE ANY TYPE系统权限的用户能引用和执行数据库中任何类型的方法。 


数据库管理员是唯一拥有强大的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行。 


SQL> 

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




0 0