orcal经常使用命令数据库
用户加锁session
alter user scott account lock;ide
commit;----必加测试
用户解锁spa
alter user scott account unlock;3d
commit;对象
修改用户密码blog
alter user scott identified by 修改的密码;it
commit;io
用户的管理
用户的建立 删除 修改
新建立的用户没有任何权限,包括链接数据库
用户链接数据库的权限:grant create session to 用户名
给用户赋予dba角色(dba是数据库管理员它除了重启数据库 修改字符集的权限没有外 具备其它所有权限)
grant dba to 用户名
修改密码
修改本身的密码 passw
修改其余用户密码
alter user 用户名 identified by 密码
删除用户
drop user 用户名; 若是当前用户有表等,须要指定关键字:cascade
drop user 用户名 casade
基本的权限管理
Oracle权限:系统权限和用户权限
系统权限:建立表,建立用户,修改表或者用户,视图等等。
对象权限:包含另外对象数据库信息的查询,修改等等操做的
对象之间访问数据库内容,须要用户名.表名访问。
对象与对象之间是不能够直接操做的,也是须要具有相应的权限
受权 grant 权限/角色 to 用户名;
建立用户abc1,并赋予他链接数据库和建立表的权限
授予abc1 查询scott 用户emp表的权限
授予abc1用户scott的emp表的全部权限
收回权限 revoke权限 from 用户
回收abc1对于scott的emp表的全部权限。
回收abc1对于链接数据库的权限。
给其余用户受权的能力
grant 权限to 用户名 with admin option; 授予系统相关的admin权限
grant 权限 to 用户名with grant option; 授予对象相关的grant 权限
给abc1赋予链接数据库,建立表和授予别的用户的权限的权限,并授予abc2用户链接数据库的权限。
给abc1赋予scott用户下emp表的全部权限和授予别人权限的权限,并给abc3用户授予scott用户下emp表的全部权限。
多级回收
回收abc1对于scottemp的全部权限,测试abc3是否还有scottemp表的权限。回收对象权限
对于对象权限abc1没有emp表上的权限,从abc1受权给abc3没有了scott 用户emp表的权限
对于系统权限sys将abc1的权限回收,abc2依然能够链接数据库
数据字典及基本操做,
用户管理
查看当前用户所拥有的表:select * from user_tables;
查看当前用户全部表的表名:select table_name from user_tables;
对用户的操做
查询当前有多少用户(必须用管理员身份才能够查询)Select *from all_users;
查询dba:select * from dba_users;
查询当前用户的信息:select * from user_users;
对权限的操做
查询全部具备系统权限的dba:Select *from dba_sys_privs where grantee=’DBA’;
查询数据库中全部的角色roleSelect *from dba_roles;