Oracle11g用户管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一部分用户账户与权限
再讲之前先考虑一个问题,如果现在使用oracle数据库的时候忘记了密码怎么办?
可能有同学想到可以用sys用户找回密码,如果连sys用户密码都忘了呢?
还有什么办法吗?
1、数据库中存在的用户具有OPEN,LOCK,EXPIRE三种状态,查看当前的数据库已经启用的(OPEN)用户情况使用表dba_users
2、创建用户的基本命令:
create user 新的用户名 identified by密码;
创建一个test1的用户,密码为123
create user test1 identified by 123;
用户创建好了,大家试一下用新用户登陆数据库是否可以?
3、授予用户权限的命令:
grant 权限名/角色名 to 用户;
将create session的权限给test1用户
grant create session to test1;
4、修改用户密码命令:
alter user 用户名 identified by 新密码;
将用户test1的密码由123改为test1;(想一下谁有权利改?)
alter user test1 identified by test1;
5、设置用户密码过期命令:
alter user 用户名 password expire;
将用户test1的密码设置为过期状态,使用dba_tables查看一下当前账户的状态,现在test1使用test1的密码还能登陆吗,出现什么现象?
alter user test1 password expire;
6、设置用户锁定/解锁:
alter user 用户名 account lock/unlock;
将用户test1设置锁定,使用test1还能登陆吗?
alter user test1 account lock;
7、解锁test1用户,使用test1登陆,创建一张表:
create table mytab(
id number,
name varchar2(50));
可以创建吗?
8、为用户授与相关的权限:
grant 权限名 to 用户;
为用户授予创建表的权限:
g rant create table to test1;
再试一下可以创建表了吗?
9、使用test1用户查询一下scott用户下的emp表的ename,empno,job列:
s elect ename,empno,job from emp;
可以吗?
select ename,empno,job from scott.emp;
这样可以吗?
10、为用户test1授予查询scott.emp表的权限(使用sys用户授予)
grant select on scott.emp to test1;
试一下可以使用用户test1往scott.emp插入数据吗?
主要权限:insert、delete、update、select
grant select,insert on scott.emp to new;
11、回收test1用户的查询、插入scott.emp表的权限
revoke select,insert on scott.emp from new;
12、删除用户
drop user new cascade;(级联删除)
13、通过以上命令可以看出,创建一个用户再为这个用户授予相关的权限是比
较复杂的,所以oracle中引入了角色的概念,只要创建一个用户后将相应的权
限授予这个用户即可。
新建一个用户test2/123,为用户授予connect和resource权限:
create user test2 identified by 123;
grant connect,resource to test2;
现在试一下使用test2用户是否可以登录、创建表呢?
预定义角色
预定义角色是指Oracle所提供的角色,每种角色都用于执行一些特定的管理任务,下面我们介绍常用的预定义角色connect,resource,dba。
connect角色
connect角色具有一般应用开发人员需要的大部分权限,当建立了一个用户后,
多数情况下,只要给用户授予connect和resource角色就够了,那么connect角
色具有以下系统权限:
alter session
create cluster
create database link
create session
create view
create sequence
resource角色
resource角色具有应用开发人员所需要的其他权限,比如建立存储过程、触发器
等。这里需要注意的是resource角色隐含了unlimited tablespace系统权限。
resource角色包含以下系统权限:
create cluster
create indextype
create table
create sequence
create type
create procedure
create trigger
dba角色
dba角色具有所有的系统权限,及with admin option选项,默认的dba用户为sys和system他们可以将任何系统权限授予其他用户。但是要注意的是dba角色不具备sysdba和sysoper的特权(启动和关闭数据库)。
如果要了解用户拥有哪些角色,以及角色中包含哪些权限,可以查看表中所示的数据字典视图。