Oracle 用户管理
一、用户的概念
用户,即user,通俗的讲就是访问oracle数据库的“人”。在oracle中,可以对用户的各种安全参数进行控制,以维护数据库的安全性,这些概念包括模式(schema)、权限、角色、存储设置、空间限额、存取资源限制、数据库审计等。每个用户都有一个口令,使用正确的用户/口令才能登录到数据库进行数据存取。
二、用户默认表空间
表空间是信息存储的最大逻辑单位、当用户连接到数据库进行资料存储时,若未指出数据的目标存储表空间时,则数据存储在用户的默认表空间中。比如:create table mytable(id varchar2(20),name varchar2(100));这条语句创建了一个表mytable,并将其存储在当前用户的默认表空间中,若要指定表空间,则:create table mytable(id varchar2(20),name varchar2(100)) tablespace tbs1;。用户的默认表空间可以在创建用户时指定,也可以使用alter user命令进行指定,具体语法见后面的介绍。
三、用户临时表空间
临时表空间主要用于order by语句的排序以及其它一些中间操作。在oracle9i之前,可以指定用户使用不同的临时表空间,从9i开始,临时表空间是通用的,所有的用户都使用TEMP作为临时表空间。
四、用户资源文件
用户资源文件用来对用户的资源存取进行限制,包括:cpu使用时间限制、内存逻辑读个数限制、每个用户同时可以连接的会话数据限制、一个会话的空间和时间限制、一个会话的持续时间限制、每次会话的专用SGA(共享内存结构(system global areas))空间限制。
五、用户表空间限额
表空间存储限制是用户在某一个表空间中可以使用的存储空间总数。在创建或修改用户时,可以由参数quota指出。若用户在向表空间存储数据时,超出了此限额,则会产生错误。错误信息如:'ORA-01536:space quota exceeded for tablespace tablespacename..'。可以通过查询字典dba_ts_quotas查看表空间限额信息。
六、创建用户资源文件
创建用户资源文件的语法如下:
CREATE PROFILE filename LIMIT
SESSION_PER_USER integer
CPU_PER_SESSION integer
USER_PER_CALL integer
CONNECT_TIME integer
......
基中:
SESSION_PER_USER: 用户可以同时连接的会话数量限额;
CPU_PER_SESSION:用户在一次数据库会话期间可占用的CPU时间总量限额,单位为百分之一秒;
USER_PER_CALL:用户一次SQL调用可用的CPU时间总量限额,单位为百分之一秒;
LOGICAL_READS_PER_SESSION:在一次数据库会话期间能够读取的数据库块的个数限额;
LOGICAL_READS_PER_CALL:一次SQL调用可以读取的数据库块数限额;
IDLE_TIME:用户连接到数据库后的可空闲时间限额,单位为分钟,若空闲时间超过此值,则连接被断开;
CONNECT_TIME:一次连接的时间总量限额,单位为分钟,连接时间超过此值时,连接被断开;
PRIVATE_SGA:用户么有的SGA区的大小,单位为数据库块,默认值为UNLIMITED;
COMPOSITE_LIMIT:这是一项由上述限制参数构成的组合资源项。举例来说,假设资源设置如下:
IDLE_TIME 20
CONNECT_TIME 120
CPU_PER_CALL 750
COMPOSITE_LIMT 800
那么,当会话空间超过20分钟,或者连接时间超过120分钟,又或者执行一个SQL耗费超过7.5秒,再或者这几个资源限制加起来的总数超过800,则系统自动终止会话。
FAILED_LOGIN_ATTEMPTS:用户登录时,允许用户名/密码校验失败致使用登录失败的次数限额,超过该次数,帐户被锁定;
PASSWORD_LIFE_TIME:口令有效时间,单位为天数,超过这一时间,拒绝登录,须重新设置口令,默认值为UNLIMITED;
PASSWORD_REUSE_TIME:一个失效口令经过多少天后才可重新利用,默认为UNLIMITED;
PASSWORD_REUSE_MAX:一个口令可重复使用的次数;
PASSWORD_LOCK_TIME:当登录失败达到FAILED_LOGIN_ATTEMPS时,帐户被锁定,该参数用于设定被锁定的天数;
下面举例如下:
1)创建一个用户资源文件
create profile tax_users limit
session_per_user 3
cpu_per_session UNLIMITED
connect_time 30
logical_reads_per_session DEFAULT
logical_reads_per_call 1000
private_sga 15K
composite_limit 500000
password_life_time 90
2)查询用户资源文件信息
sql>select * from dba_profile where profile = 'tax_users'
3)指定用户资源文件给用户
sql>alter user us1 profile tax_users
七、创建、修改、删除用户
1.创建用户
创建用户的详细语法请查询oracle的官方参数文档,这里介绍典型的语法。语法如下:
CREATE USER username
IDENTIFIED BY password
DEFAULT TABLESPACE tablespace
TEMPORARY TABLESPACE tablespace
PROFILE profile
QUOTA integer|UNLIMITED ON tablespace
各选项含义如下:
IDENTIFIED BY password:用户口令;
DEFAULT TABLESPACE tablespace:默认表空间;
TEMPORARY TABLESPACE tablespace:临时表空间;
PROFILE profile|DEFAULT:用户资源文件;
QUOTA integer[K|M]|UNLIMITED ON tablespace:用户在表空间上的空间使用限额,可以指定多个表空间的限额。
举例:
CREATE USER us1 IDENTITIED BY abc123
DEFAULT TABLESPACE user01
TEMPORARY TABLESPACE temp
PROFILE DEFAULT
QUOTA 1000M ON user01;
2.修改用户
修改用户的语法是与创建用户的语法类似的,主要是CREATE USER 变成 ALTER USER,具体请参考oracle文档。
3.删除用户
删除用户,是将用户及用户所创建的schema对象从数据库删除。如下:
SQL>DROP USER us1;
若用户us1含有schema对象,则无上述语句将执行失败,须加入关键字CASCADE才能删除,意思是连并其对象一起删除,如下:
SQL>DROP USER us1 CASCADE;
八、用户授权
创建的新用户是没有任何权限的,甚至连登陆的数据库的权限都没有,需要为其指定相应的权限。给一个用户赋权限使用命令grant,回收权限使用命令revoke。
oracle数据库的权限系统分为系统权限(connect、resource和dba)与对象权限。系统权限( database system privilege )可以让用户执行特定的命令集。例如,create table权限允许用户创建表,grant any privilege 权限允许用户授予任何系统权限。对象权限( database object privilege )可以让用户能够对各个对象进行某些操作。例如delete权限允许用户删除表或视图的行,select权限允许用户通过select从表、视图、序列(sequences)或快照(snapshots)中查询信息。
1.授权
grant <privilege1,privilege2,....> to <user_name> [with admin|grant option];
如果需要让user_name同时拥有分配这些权限的权限可以添加:
With admin option: 可以分配系统权限。
With grant option: 可以分配对象权限。
2.授权撤销
revoke <privilege1,privilege2,...> from <user_name>;
相关推荐
#### 一、Oracle用户管理概述 在Oracle数据库管理系统中,用户管理是一项非常重要的任务。正确地创建用户并授予适当的权限对于确保数据的安全性和完整性至关重要。本文将详细介绍如何在Oracle数据库中添加用户以及...
通过创建不同的用户账户,并为这些账户分配适当的权限,管理员可以实现对数据库操作的精细控制。 ##### 命令格式: ```sql CREATE USER username IDENTIFIED BY password; ``` 其中 `username` 是新用户的名称,而 `...
Oracle允许管理员通过`ALTER USER`命令来设定口令的过期、锁定或解锁用户账户。例如,`ALTER USER blue PASSWORD EXPIRE`将使用户蓝色的密码立即过期,`ALTER USER blue ACCOUNT LOCK`将锁定该账户,而`ALTER USER ...
在Oracle数据库管理中,查询用户、表以及授权信息是日常操作的重要部分。这些操作对于数据库管理员(DBA)和开发人员来说至关重要,因为它们有助于理解数据的存储结构和权限分配。以下是一些关于如何在Oracle中执行...
《ORACLE身份管理白皮书》集合了Oracle公司在身份管理领域的核心技术与理念,旨在为用户提供一套全面、安全的身份管理和访问控制解决方案。以下是对各白皮书的详细解读: 1. **Oracle Identity Analytics 技术...
在Oracle数据库管理中,表空间(Tablespaces)、临时表(Temporary Tables)、用户(Users)以及用户授权(User Authorization)是数据库管理员(DBA)进行数据库架构设计和安全管理的基础操作。以下将详细介绍这些...
### Oracle 创建用户并授权 DBA 权限 在 Oracle 数据库管理系统中,用户管理与权限分配是维护数据库安全性和操作性的关键环节。本文将详细解析如何在 Oracle 中创建用户、分级授权以及对 DBA 权限的具体操作方法,...
根据提供的文件信息,我们可以归纳出一系列关于Oracle 9i数据库管理员手册的重要知识点: ### 一、Oracle 9i 数据库简介 **Oracle 9i**是Oracle公司发布的一款企业级数据库管理系统,它提供了强大的数据存储与管理...
在Oracle数据库管理中,创建用户、表空间以及进行权限分配是数据库管理员(DBA)的核心职责之一。本文将根据提供的文件信息,深入解析如何在Oracle环境中新建用户表空间,并授予DBA级别的权限,确保数据存储与访问的...
在Oracle中,创建用户、表空间以及进行授权是管理数据库的关键步骤。以下是对这些概念的详细解释: 1. **创建用户**: Oracle中的用户是数据库操作的主要实体,通过`CREATE USER`语句来创建。例如: ```sql ...
- **授权非管理员用户通过数据库管理控制台访问数据库** - 授权流程 - 设置权限级别 - **创建数据库控制台管理账号** - 创建步骤 - 密码策略 - **配置数据库控制台首选项** - 首选项设置 - 自定义界面 - **...
Oracle提供了多种安全机制,如审计、网络加密、访问控制和角色权限管理,以防止未授权访问和数据泄露。理解并实施这些安全策略,能有效保护数据库免受恶意攻击。 故障排查是数据库管理员的必备技能。当遇到错误日志...
如果忘记了某个用户的密码,你可以通过以下步骤来修改Oracle用户密码: 1. **以sys用户身份登录**:使用`connect sys/oracle as sysdba`命令,其中`oracle`是操作系统认证的用户名。 2. **查看当前用户和密码**:...
7. **权限与角色管理**:Oracle提供了严格的用户权限管理机制,包括系统权限和对象权限。通过角色可以更方便地管理大量权限。理解权限的授予、撤销和审计是确保数据库安全的基础。 8. **备份与恢复**:Oracle提供...
7. **安全性与权限管理**:Oracle提供用户权限管理,确保只有授权的用户可以访问和操作数据。在人事管理系统中,可能需要设定不同的角色(如管理员、员工、经理),分配相应的权限。 8. **备份与恢复**:考虑到数据...
【Oracle数据库学生管理系统】是一个基于Oracle数据库的教育信息化解决方案,主要服务于管理员、教师和学生三类用户。系统的核心目标是实现高效、安全的信息管理和交流。 管理员在系统中的职责主要包括维护三大基本...
Oracle DBA(数据库管理员)是IT领域中的一个重要角色,他们负责维护Oracle数据库系统的稳定、高效运行。Oracle数据库是全球广泛使用的数据库系统之一,尤其在企业级应用中占据主导地位。Oracle DBA的日常管理工作...
1. **资源管理 (resource_manager)**:这部分脚本可能涉及到Oracle的资源调度器(Resource Manager),用于控制数据库资源的分配,例如设置不同的SQL语句或用户会话的执行优先级,确保关键业务得到足够的资源。...
"Oracle 用户创建授权详解" Oracle 数据库用户角色、表空间创建、删除命令是 Oracle 数据库管理中非常重要的一部分。以下是对 Oracle 用户创建授权的详细解释。 创建表空间 创建表空间是 Oracle 数据库管理的基本...