(1)Oracle中创建新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用。
如在sql plus中以scott用户创建用户的命令如下:
Create user xiaoming identified by m123;(注意oracle中的密码是以字母为开头,否则不让你创建)。
(2)删除用户,命令格式为: drop user 用户名 [cascade]
一般以dba的身份去删除某个用户。在删除用户时,注意:如果要删除的用户已经创建了表,那么就需要在删除时带一个参数cascade;这个参数表示删除用户时会将该用户创建的表也删除。
综合任务(用户管理基础练习,必做题):
1、 在scott用户下创建xiaoming用户密码m123,结果如何,
提示:切换到 system用户创建;
语法:create user 用户名 identified by 密码
Create user xiaoming identified by m123;
2、 让xiaoming具有登录数据库的权限,并登录数据库;
提示:授予connect角色,grant 权限 to 用户或角色
Grant connect to xiaoming;
Conn xiaoming
3、先切换到system用户,对xiaoming用户授予resource角色并查看resource角色的系统权限信息;
提示:此操作是为xiaoming用户增加创建表的权限,系统权限信息查询视图为role_sys_privs,可以用desc命令查询视图结构信息
Grant resource to xiaoming;
Conn xiaoming
Desc role_sys_privs
Desc role_tab_privs
4、切换到xiaoming用户,创建test表,test表包含一个字段userid,类型为varchar2,10个字符大小,并查看test表;
Conn xiaoming
create table test(userid varchar2(10));
desc test;
5、让xiaoming用户可以去查询scott用户的emp表并具有传递授权的权限;
提示:加上with grant option 表示允许对象权限接收者把此对象权限授予其他用户
Conn scott
Grant select on scott.emp to xiaoming with grant option.
6、让xiaoming能修改scott的emp表
提示:
Grant update on scott.emp to xiaoming
7、以系统管理员的身份创建用户xiaohong,密码为m123;先让xiaohong能够登录到数据库,切换到xiaoming用户,再将对scott的emp表的select权限授予xiaohong。
Conn sys as sysdba
Create user xiaohong identified by m123;
Grant connect to xiaohong;
Conn xiaoming
Grant select on scott.emp to xiaohong
Conn xiaohong
Select * from scott.emp;
8、Scott希望收回xiaoming对emp表的修改权限
提示:revoke 权限 from 用户或角色
Conn scott
Revoke update on scott.emp from xiaoming;
9、如何创建角色
任务:创建一个普通角色r1,创建一个口令认证角色r2,口令为wy
提示:create role 角色名
Create role 角色名identified by 口令
10、如何把权限授予角色
任务:可以把创建表的系统权限授予角色r1,把test表的插入数据权限授予r1
提示:grant 系统权限 to 角色名
Grant 对象权限 on 对象名 to 角色名
Grant insert on xiaoming.test to r1
11、如何把一个角色授权给用户
任务:请把创建的角色r1授权给xiaoming
提示:grant 角色 to 用户
12、如何查询一个角色有哪些系统权限
任务:列出角色r1有哪些系统权限
提示:查询表role_sys_privs
Conn xiaoming
Select * from role_sys_privs;
13、如何查询一个角色有哪些对象权限
任务:列出角色r1有哪些对象权限
提示:查询表role_tab_privs
Conn xiaoming
Select * from role_tab_privs;