n 创建用户(简单版)
概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用。
基本语法:create user 用户名 identified by 密码
n 给用户修改密码
概述:如果给自己修改密码可以直接使用
sql>password 用户名
如果给别人修改密码则需要具有dba的权限,或是拥有alter user的系统权限,也可以使用password 用户名
sql>alter user 用户名 identified by 新密码
u 表空间
什么是表空间:表存在的空间,一个表空间是指向具体的数据文件
创建用户(细节)
例子:sql>create user shunping identified by m123
default tablespace users
temporary tablespace temp
quota 3m on users;
identified by 表明用户shunping将用数据库方式验证
default tablespace users //用户的表空间在users上
tempporary tablespace temp //用户shunping的临时表建在temp空间
quota 3m on users //表明用户顺平建立的数据对象(表、索引、视图、pl/sql块...)最大只能是3m,刚刚创建的用户是没有任何权限的,因此,需要dba给该用户授权
sql>grant connect to shunping
如果你希望该用户建表没有空间的限制
sql>grant resource to shunping
如果你希望该用户成为dba
sql>grant dba to shunping
n 用户管理的综合案例
概述:创建的新用户是没有任何权限的,甚至连登陆的数据库的权限都没有,需要为其制定相应的权限。给一个用户赋权限使用的命令grant,回收权限使用命令revoke。
基本语法:grant 权限/角色 to 用户
revoke 权限/角色 from 用户
①创建xiaoming,并赋予connect和resource
②回收权限
综合案例:创建一个用户xiaohong,然后给他分配两个角色,可以让xiaohong登录、创建表,可以操作(CRUD)自己创建表,然后回收角色,最后删除用户。
(1)使用system创建xiaohong
create user xiaohong identified by m123;
(2)给xiaohong分配几个常用角色
grant connect to xiaohong;
grant resource to xiaohong;
(3)让xiaohong登录
connect xiaohong/m123;
(4)xiaohong修改密码
password xiaohong
(5)xiaohong创建一张简单的表
create table ......
(6)使用system登录,然后回收角色
revoke connect from xiaohong;
revoke connect from xiaohong;
(7)删除用户
drop user xiaohong cascade;
☞当我们删除一个用户的时候,如果这个用户自己已经创建过数据对象,那么我们在删除用户的时候,需要加选项cascade,表示把这个用户删除的同时,把该用户创建的数据对象一并删除。
u 方案(schema)
理解:当一个用户创建好后,如果该用户创建了任意一个数据对象,我们的dbms就会创建一个对应的方案与该用户对应,并且该方案的名字和用户名一致
☞小技巧:如果希望看到某个用户的方案究竟有什么数据对象,我们可以用pl/sql developer
方案的实际应用,要求:让xiaohong可以查看scott的emp表
步骤1:先用scott登录,
conn scott/tiger;
步骤2:赋权限
grant select [update delete insert all]on emp to xiaohong;
步骤3:xiaohong查询scott的emp表时,需要