orcal常用命令
用户加锁
alter user scott account lock;
commit;----必加
用户解锁
alter user scott account unlock;
commit;
修改用户密码
alter user scott identified by 修改的密码;
commit;
用户的管理
用户的创建 删除 修改
新创建的用户没有任何权限,包括连接数据库
用户连接数据库的权限: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;