sys/system
sys具有create datebase 的权限,而system没有。其他功能相似
在日常对Oracle的管理中使用system就足够
1、给用户修改密码
如果给自己修改密码可以直接使用
SQL>password 用户名
或者当前已登录的用户可以用sql>passw进行密码的修改
2、给别人修改密码
需要具有DBA的权限,或者拥有alter user的系统权限
SQL>alter user 用户名 identified by 新密码;
SYS和SYSTEM的密码修改见:oracle忘记sys/system/scott用户的密码怎么办
3、创建新用户
sql>creat user 新用户名 identified by 新密码;
新创建的用户没有任何权限,甚至连登陆的权限都没有,需要为其制定相应权限(sys/system),给用户赋权限用grant,回收权限使用revoke
SQL>conn system/密码 ;
SQL>grant connect to 新用户名;//指定登录权限
SQL>grant resource to 新用户名;//指定创建表的权限
>>授权成功
4、授权用户权限
scott授权xiaoming查询自己的emp表,这是对象权限,如果是sys授权的,比如grant connect to xiaoming with admin option;为系统权限
SQL>conn scott/密码;
SQL>grant select on emp to xiaoming;
>>授权成功,select update insert delete......同理
SQL>grant all on emp to xiaoming;//授权所有的操作>>授权成功,
SQL>grant all on emp to xiaoming with grant option;//授权所有的操作,并赋予授权传递的功能>>授权成功,
SQL>revoke all on emp from xiaoming;//收回所有的操作>>撤销成功,
如果scott收回了xiaoming的权限回收,那么由xiaoming赋予另一用户的权限会被回收,受到株连
SQL>conn xiaoming/密码;
SQL>select * from scott.emp;
connect为一个角色,其中包含一系列集成定义好的权限,(比方说乡长有什么权限,县长有什么权限,乡长,县长都为角色)
角色分为预定义角色和自定义角色
自定义角色赋予其他权限,精细程度很高,精细化控制
(connect角色、DBA角色、resourse角色)
CONNECT: --是授予最终用户的典型权利,最基本的
RESOURCE: --是授予开发人员的
当一个用户授予connect权限后将
ALTER SESSION --修改会话
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立数据库链接
CREATE SEQUENCE --建立序列
CREATE SESSION --建立会话
CREATE SYNONYM --建立同义词
CREATE VIEW --建立视图
当一个用户授予resource权限后将
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立过程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立触发器
CREATE TYPE --建立类型
DBA------拥有DBA角色的用户几乎可以做任何事情了(不要给普通用户DBA角色)
5、删除用户
一般以DBA的身份去删除用户,如果用其他用户去删除用户需要拥有drop user的权限,不允许自杀(自己删除自己)
删除用户时,如果用户已经创建有表,那么就需要在删除时带一个参数cascade