`
bjtale
  • 浏览: 28721 次
  • 性别: 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 实验六 模式对象管理与安全管理

    熟悉Oracle中权限分类和设置,理解系统提供用户的角色和权限5.熟练使用建立用户、角色,为用户授权、授予角色的命令 【实验内容】1.创建一个TESTUSER用户,密码为test,默认表空间为users表空间2.创建用户后为其授予...

    oracle数据库用户管理

    Oracle 数据库管理与应用 Oracle数据安全性可分为2类: 系统安全性:系统级数据库存取和使用控制,如口令机制,表空间,磁盘配额等 数据安全性:实体级数据库存取和使用控制,如可以访问的对象以及可以进行的操作...

    oracle安全实战—开发安全的数据库与中间件环境

    《oracle安全实战—开发安全的数据库与中间件环境》由oracle安全专家编写,展示如何在oracle环境中开发安全的应用程序。介绍如何最大化地发挥oracle数据库、oracle databasevault、oracle identity management、...

    Oracle用户口令安全管理.pdf

    Oracle用户口令安全管理.pdf

    Oracle 10g数据库的安全性和身份管理

    Oracle数据库10g为Oracle身份管理提供了一种安全、可伸缩的基础。 Oracle互联网目录(OID)是作为一个运行在Oracle数据库10g上的应用程序来实施的,使 OID能够在一个单一服务器上或者某个网格中的各个节点上支持数T...

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

    第九章 管理用户和安全性 第十章 监控数据库的表、索引、簇、快照和对象 第十一章 监控用户和其他数据库对象 第十二章 Oracle的性能优化 第十三章 数据库的内部优化 第十四章 管理分布式数据库 第十五章 Oracle的...

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

    Oracle 数据库用户权限管理 ORACLE 是多用户系统,它允许许多用户共享系统资源。为了保证数据库 系统的安全,数据库管理系统配置了良好的安全机制。

    oracle安全管理

    讲解了oracle用户授权

    建立用户组保证Oracle数据库安全性

    保证安全性的几种方法:在安装OracleServer前,创建数据库管理员组(DBA)而且分配root和Oracle软件拥有者的用户ID给这个组。允许一部分Unix用户有限制地访问Oracle服务器系统,增加一个由授权用户组的Oracle组,确保...

    Oracle 10g数据库管理、应用与开发标准教程

    Oracle数据库体系结构,SQL基本查询,修改SQL数据与SQL*Plus命令,PL/SQL编程基础,用户、模式和表,高级查询,过程、函数和程序包,表类型,索引,视图、序列和同义词,触发器,事务与并发控制,安全,管理存储结构...

    Oracle 9i 数据库管理员指南(PDF)

    第4部分:数据库的安全,介绍建立安全策略、管理用户和资源、管理用户的权限和角色、审计数据库的使用。第5部分:数据库资源管理,讲述数据库资源管理器的使用。第6部分:分布式数据库的管理,重点介绍分布式...

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    12.7.1用户管理备份 12.7.2导入导出工具数据泵 12.7.3跨平台数据迁移 12.7.4可传输表空间 12.7.5使用RMAN工具复制数据库 12.8本章小结 第13章 RAC恢复 13.1恢复技术基础 13.1.1恢复解决方案 13.1.2 SCN时间...

    Jsp+Oracle 人事管理

    1、 安装Oracle9.0.2 (1) 创建数据库: 操作方法:根据提示安装,一般的步骤点击下一步即可,在创建数据库时输入数据库名称,例如dbhouse; (2) 创建用户: 操作方法:安装结束后进入OEM,数据用户名system,使用...

    高性能动态SQL Oracle数据安全 Oracle 数据库的聚簇技术 等等

    Oracle数据安全 15 Oracle字段上建立并使用索引 29 用Windows脚本宿主自动化Oracle工具 31 进程结构和内存结构 32 Oracle监控数据库性能的SQL汇总 36 Oracle如何精确计算row的大小 38 PL/SQL编程 39 数据库的分组...

    Oracle数据库安全性管理基本措施简介

    Oracle数据库系统在实现数据库安全性管理方面采取的基本措施有:通过验证用户名称和口令,防止非Oracle用户注册到Oracle数据库,对数据库进行非法存取操作。授予用户一定的权限,例如connect,resource等,限制用户...

    数据库系统管理与维护(Oracle)第三次作业.doc

    用户与表 c. 角色与视图 d. 表和视图 题目4、Bob 想要正常关闭数据库,他执行了shutdown normal命令,但 Oracle提示该命令无效;然后他想要启动数据库, 但 Oracle提示数据库已经启动。Bob应采用什么方式才能强制...

    实验3Oracle基本用户安全管理实验[汇编].pdf

    实验3Oracle基本用户安全管理实验[汇编].pdf

    Oracle四大宝典之二:Oracle基本管理 中文版

    ORACLE数据库和数据库的物理结构,就如同人的身体结构一样,展现...第十二章 数据库安全管理 第十三章 管理用户 第十四章 管理角色 第十五章 管理权限 第十六章 审计 第十七章 ORACLE NET 体系架构 第十八章 共享服务器

    Oracle.9i数据库管理员指南(PDF)

    没想到大家学习oracle如此热情,这里再推荐一本学习资料,Oracle.9i数据库管理员指南(PDF),可以深入了解一些oracle特性。 象征性收取推荐分一分O(∩_∩)O~ 当然,你也可以Google一下,自己动手,丰衣足食! 备注少...

Global site tag (gtag.js) - Google Analytics