在创建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中权限分类和设置,理解系统提供用户的角色和权限5.熟练使用建立用户、角色,为用户授权、授予角色的命令 【实验内容】1.创建一个TESTUSER用户,密码为test,默认表空间为users表空间2.创建用户后为其授予...
Oracle 数据库管理与应用 Oracle数据安全性可分为2类: 系统安全性:系统级数据库存取和使用控制,如口令机制,表空间,磁盘配额等 数据安全性:实体级数据库存取和使用控制,如可以访问的对象以及可以进行的操作...
《oracle安全实战—开发安全的数据库与中间件环境》由oracle安全专家编写,展示如何在oracle环境中开发安全的应用程序。介绍如何最大化地发挥oracle数据库、oracle databasevault、oracle identity management、...
Oracle用户口令安全管理.pdf
Oracle数据库10g为Oracle身份管理提供了一种安全、可伸缩的基础。 Oracle互联网目录(OID)是作为一个运行在Oracle数据库10g上的应用程序来实施的,使 OID能够在一个单一服务器上或者某个网格中的各个节点上支持数T...
第九章 管理用户和安全性 第十章 监控数据库的表、索引、簇、快照和对象 第十一章 监控用户和其他数据库对象 第十二章 Oracle的性能优化 第十三章 数据库的内部优化 第十四章 管理分布式数据库 第十五章 Oracle的...
Oracle 数据库用户权限管理 ORACLE 是多用户系统,它允许许多用户共享系统资源。为了保证数据库 系统的安全,数据库管理系统配置了良好的安全机制。
讲解了oracle用户授权
保证安全性的几种方法:在安装OracleServer前,创建数据库管理员组(DBA)而且分配root和Oracle软件拥有者的用户ID给这个组。允许一部分Unix用户有限制地访问Oracle服务器系统,增加一个由授权用户组的Oracle组,确保...
Oracle数据库体系结构,SQL基本查询,修改SQL数据与SQL*Plus命令,PL/SQL编程基础,用户、模式和表,高级查询,过程、函数和程序包,表类型,索引,视图、序列和同义词,触发器,事务与并发控制,安全,管理存储结构...
第4部分:数据库的安全,介绍建立安全策略、管理用户和资源、管理用户的权限和角色、审计数据库的使用。第5部分:数据库资源管理,讲述数据库资源管理器的使用。第6部分:分布式数据库的管理,重点介绍分布式...
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时间...
1、 安装Oracle9.0.2 (1) 创建数据库: 操作方法:根据提示安装,一般的步骤点击下一步即可,在创建数据库时输入数据库名称,例如dbhouse; (2) 创建用户: 操作方法:安装结束后进入OEM,数据用户名system,使用...
Oracle数据安全 15 Oracle字段上建立并使用索引 29 用Windows脚本宿主自动化Oracle工具 31 进程结构和内存结构 32 Oracle监控数据库性能的SQL汇总 36 Oracle如何精确计算row的大小 38 PL/SQL编程 39 数据库的分组...
Oracle数据库系统在实现数据库安全性管理方面采取的基本措施有:通过验证用户名称和口令,防止非Oracle用户注册到Oracle数据库,对数据库进行非法存取操作。授予用户一定的权限,例如connect,resource等,限制用户...
用户与表 c. 角色与视图 d. 表和视图 题目4、Bob 想要正常关闭数据库,他执行了shutdown normal命令,但 Oracle提示该命令无效;然后他想要启动数据库, 但 Oracle提示数据库已经启动。Bob应采用什么方式才能强制...
实验3Oracle基本用户安全管理实验[汇编].pdf
ORACLE数据库和数据库的物理结构,就如同人的身体结构一样,展现...第十二章 数据库安全管理 第十三章 管理用户 第十四章 管理角色 第十五章 管理权限 第十六章 审计 第十七章 ORACLE NET 体系架构 第十八章 共享服务器
没想到大家学习oracle如此热情,这里再推荐一本学习资料,Oracle.9i数据库管理员指南(PDF),可以深入了解一些oracle特性。 象征性收取推荐分一分O(∩_∩)O~ 当然,你也可以Google一下,自己动手,丰衣足食! 备注少...