oracle用户管理(1)
oracle用户管理(1)
创建用户:
概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用。
如果不是以管理员身份登入而是以普通用户登入就不可以创建用户,因为权限不够。
--使用管理员的身份修创建用户
create user xiaoming identified by 123;
给用户修改密码:
概述:如果用户给自己修改密码可以直接使用sql>password 用户名
如果给别人修改密码则需要dba权限,或者是拥有alter user的系统权限。
Sql>alter user 用户名 identified by 新密码
系统管理员是可以修改其他用户密码和权限的。同时管理员也可以修改自己的密码。
修改用户密码
ALTER USER xiaoming IDENTIFIED by m123;
删除用户:
概述:一般以dba的身份去删除某个用户,如果其他用户去删除用户则需要drop user的权限。比如drop user 用户名【cascade】
管理员可以删除其他用户但是用户不可以删除自己的用户。
在删除用户时,注意如果删除的用户已经创建了表,那么就需要在删除用户的时候带一个参数cascade。
DROP USER xiaoming;
用户管理案例:
概述:创建的新用户是没有任何权限的,甚至连登入数据库的权限也没有,需要为其制定相应的权限。给一个用户赋予权限使用grant,回收权限使用命令revoke。
注意创建了一个新用户是不可以登入到数据库里面的。这样就要指定相应的权限。
给用户分配角色,角色里面包括了许多权限。
创建用户过后是看不到指定数据库里面的表。
GRANT resource to xiaoming; 给小明赋值这个权限就可以在数据库里面创建表和查看表。不过必须以管理员的身份创建。
GRANT select on xiaoming.test to xiaohong;
这个是允许小红可以查看小明的表,这个授权必须是管理员。
切换到小红用select * from xiaoming.test;这里的表必须指明属于谁因为自己也可以有test这张表。
一个数据库里面的表是可以同名的因为是不同的用户可以创建相同的表,空间不一样。
希望xiaoming用户可以去修改/删除,查询,添加,scott的emp表
Grant all on scott.emp to xiaoming。
scott希望收回xiaoming对emp表的查询权限
Revoke select on scott.emp from xaioming.