`
bjtale
  • 浏览: 29566 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Oracle用户管理与安全

 
阅读更多

      在创建Oracle数据库时,默认新建了许多账户,而在实际开发中dba通常会给开发人员分配特定的账户;并且在正式环境中,web系统将使用其他的数据库账户。

      每一个Oracle数据库账户都在创建时定义了较多属性,这些属性在账户连接到会话时生效,dba拥有管理和修改这些属性的权限。每一个账户的主要属性包括:用户名、身份验证方法、默认表空间、表空间配额、用户配置文件、临时表空间、账户状态等。

       运行sqlplus使用以下命令连接到sysdba账户:

SQL> conn sys/Oracle_123@orcl as sysdba;
已连接。

        创建一个账户:

SQL> create user yanh identified by oracle;

用户已创建。

       此时,该用户将具有默认表空间users,该用户创建的任何模式对象将被保存在这个表空间中。实际上,创建一个用户的完整SQL如下:

create user scott identified by tiger
default tablespace users temporary tablespace temp
quota 100m on users, quota unlimited on temp
profile developer_profile
password expire
account unlock;

      只有第一行是必须的,其它所有参数都具有默认设置。

      可以使用以下语句创建一个表空间,用于存储某些账户创建的模式对象:

SQL> edit;
已写入 file afiedt.buf

  1  create tablespace user_data
  2  logging
  3  datafile 'C:\user_data.dbf'
  4  size 50m
  5  autoextend on
  6  next 1m maxsize 1024m
  7* extent management local
SQL> /

表空间已创建。

     此时,通过alter命令可以更改创建用户的默认表空间:

SQL> alter user yanh default tablespace user_data;

用户已更改。

     更改完成后,可通过以下Sql查看用户的表空间分配情况:

SQL> select username,default_tablespace,temporary_tablespace from dba_users where username='YANH';

USERNAME                       DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE
------------------------------ ------------------------------ ------------------------------
YANH                           USER_DATA                      TEMP

       此外,可以为用户分配表空间配额,在配额未完全占用前,用户可以创建对象,并分配空间,一旦表空间分配的配额用完,该用户就无法再创建对象。通过以下SQL为用户yanh分配表空间配额:

SQL> alter user yanh quota 10m on user_data;

用户已更改。
SQL> alter user yanh quota unlimited on users;

用户已更改。

      以上语句表明:为yanh账户分配user_data表空间中10M的配额,同时在users表空间中为其分配不限容量的配额,通过以下SQL可以查看当前账户的配额分配情况:

SQL> select tablespace_name,bytes,max_bytes from dba_ts_quotas where username='YANH';

TABLESPACE_NAME                     BYTES  MAX_BYTES
------------------------------ ---------- ----------
USERS                                   0         -1
USER_DATA                               0   10485760

      上述结果中,由于yanh账户尚未创建任何对象,因此bytes字段值为0;并且在users表空间中max_bytes列值为-1,表明该账户在users表空间中确实有无限容量的空间配额。

       一个用户在创建后,都具有特定的状态,Oracle中某一个用户的状态有以下的9种可能:

      1)open,用户正常可用

      2)locked,账户被dba锁定,无法使用其登录到数据库服务器;

      3)expired,用户登录口令已经过期,需要重新更改登录口令才可以连接数据库;

      4)expired&locked,账户不仅被锁定,同时登录口令也过期;

      5)expired(grace),正常过期,表明登录口令在生命周期结束时不会立即过期,用户可以在一个时间段内选择更改登录口令;

      6)locked(timed),超时锁定,表明用户在多次尝试使用错误的口令登录数据库时,账户被锁定。通常dba可以配置错误登录出现特定次数后,账户自动锁定。

      7)expired&locked(timed),口令过期并且处于超时锁定状态

      8)expired(grace)&locked,正常过期状态,同时账户被锁定;

      9)expired(grace)&locked(timed),正常过期,同时处于超时锁定状态。

      使用以下命令可以更改用户的锁定状态:

SQL> alter user yanh account lock;

用户已更改。
SQL> alter user yanh  account unlock;

用户已更改。

     若想让某个用户强制修改登录口令,可使用以下命令:

SQL> alter user yanh password expire;

用户已更改。

SQL> conn yanh/oracle@orcl;
ERROR:
ORA-28001: the password has expired


更改 yanh 的口令
新口令:

       此时,再次使用账户登录数据库服务器时,将提示修改登录口令。

       在创建一个用户之后,若不授权给这个用户,将不能在数据库中执行任何操作,甚至不能连接到数据库服务器:

SQL> conn yanh/oracle@orcl;
ERROR:
ORA-01045: user YANH lacks CREATE SESSION privilege; logon denied


警告: 您不再连接到 ORACLE。

       在默认情况下,只有DBA(一般是sys和system账户)才可以对其它用户授予所有权限。oracle中的权限包括:系统权限和对象权限。

       常见的系统权限有:

       1)create session

       2)alter database

       3)alter system

       4)create tablespace

       7)creaate table

       8)create view

       9)drop/delete,update,insert,select any table等。

       为用户授权的语法为:grant privilege[...] to username;代码如下:

SQL> conn sys/Oracle_123@orcl as sysdba;
已连接。
SQL> grant create session to yanh;

授权成功。

SQL> conn yanh/oracle@orcl;
已连接。
SQL> create table test(
  2     id varchar2(2));
create table test(
*
第 1 行出现错误:
ORA-01031: 权限不足

      此时,可以使用该账户连接数据库,但是不能执行其它任何操作,需要dba为用户提供更多的权限。

分享到:
评论

相关推荐

    oracle用户管理PPT

    Oracle用户管理是数据库管理系统中的核心组成部分,它涉及到数据库的安全性、权限控制以及不同角色的划分。在Oracle中,用户管理主要包括创建、管理、权限分配和撤销等操作,以确保数据库的稳定运行和数据的安全。 ...

    oracle用户管理.ppt

    Oracle 用户管理 Oracle 用户管理是 Oracle 数据库管理系统中的一项重要功能,用于管理数据库用户及其权限。通过设置用户权限和限制资源使用,可以确保数据库的安全和高效运行。本节将详细介绍 Oracle 用户管理的...

    oracle数据库用户管理

    Oracle数据库用户管理是数据库系统中至关重要的一环,它关乎到数据的安全性和权限控制。Oracle数据库提供了丰富的用户管理和安全策略,确保只有授权的用户才能访问特定的数据资源。 首先,Oracle数据库的安全性可以...

    Oracle安全设置细节

    综上所述,Oracle的安全设置涉及到用户管理、文件权限控制、SYSDBA登录限制、权限分配、表空间管理以及备份策略等多个方面。通过这些细致的配置和管理,可以极大地提高Oracle数据库的安全性和稳定性。

    Oracle数据库安全管理

    本文将深入探讨Oracle数据库安全的几个核心方面,包括概要文件、用户管理以及权限和角色的管理。 首先,概要文件是Oracle数据库安全策略的核心元素,它允许管理员对用户的资源使用进行约束,并管理用户的密码策略。...

    Oracle学习记录之用户管理

    本篇文章将深入探讨“Oracle学习记录之用户管理”这一主题,结合“Oracle命令全集.doc”文档,我们将详细解析Oracle用户管理的相关知识点。 首先,创建用户是Oracle数据库管理员(DBA)的首要任务。使用SQL命令`...

    Linux下修改Oracle用户密码

    2. **切换到Oracle用户**:使用`su - oracle`命令切换到Oracle用户环境。这一步骤非常重要,因为后续的操作需要在Oracle用户的环境下进行。 3. **启动SQL*Plus工具**:输入`sqlplus /nolog`命令进入SQL*Plus工具,...

    用户管理系统----在oracle下

    【标题】:“用户管理系统——在Oracle环境...以上就是“用户管理系统——在Oracle环境下”的主要技术知识点,涵盖了Java开发、Oracle数据库操作、用户管理等多个方面,为开发一个高效、安全的用户管理系统提供了基础。

    Oracle用户与对象权限与系统权限

    "Oracle用户与对象权限与系统权限" ...Oracle用户与对象权限与系统权限是 Oracle 安全机制的重要组件,通过权限管理,可以控制用户和模式对数据库对象的访问和操作权限,从而确保数据库的安全和可靠性。

    Oracle安全身份管理解决方案

    Oracle提供的解决方案强调了全面性和多层次的安全策略,它不仅包括用户管理和访问权限,还对数据库审计、加密、安全监控以及与操作系统的认证服务提供了支持。此外,它还涉及到内控风险和法规遵循策略的管理,确保...

    oracle-用户与权限的管理

    Oracle数据库作为一款广泛应用于企业级环境中的关系型数据库管理系统,其用户管理和权限分配机制是确保数据安全性与访问控制的关键环节。以下是对Oracle中用户、权限与角色管理的深入解析。 #### 一、用户管理 在...

    Oracle数据库安全管理概述.docx

    Oracle数据库安全管理是确保数据资产安全的关键环节,它涉及到对数据库的访问控制、用户管理、资源限制、口令策略以及权限分配等多个方面。以下是对这些关键知识点的详细说明: 1. **Oracle数据库安全控制策略概述*...

    查看登录oracle数据库用户记录.docx

    查看登录 Oracle 数据库的用户记录可以帮助数据库管理员监控数据库的访问情况,追踪用户的登录行为,确保数据库的安全性和完整性。此外,查看登录记录也可以帮助数据库管理员诊断和解决数据库性能问题。 使用触发器...

    AIX 系统及 Oracle 数据库用户权限管理

    在AIX系统中,用户管理是一项关键任务,特别是在涉及系统安全性和资源访问控制方面。以下是对AIX系统用户管理的一些关键点: ##### 1.1 对于root用户 - **重要性**:在AIX操作系统中,root用户拥有最高的权限,...

    oracle数据库管理与维护技术手册.pdf

    3. **数据库管理**:数据库管理员(DBA)负责数据库的日常管理,包括空间管理(表空间、段、区和块)、用户管理、权限与角色分配、备份与恢复策略设计等。DBA还需监控数据库性能,确保其稳定运行。 4. **性能优化**...

    oracle用户账号管理和权限控制

    Oracle数据库系统的用户账号管理和权限控制是确保数据安全性的重要环节。这一主题涵盖了多个子领域,包括Oracle的安全机制、用户账号管理、权限管理、角色管理和概要文件。以下是对这些知识点的详细解释: **Oracle...

    Oracle数据库管理工具与操作.

    Oracle Administration Assistant 专为Windows平台设计,提供了一套简便的数据库管理和维护功能,如用户管理、表空间管理等。 网络配置工具包括Net Manager和Net Configuration Assistant,它们主要用于配置Oracle ...

Global site tag (gtag.js) - Google Analytics