--查询数据库中的所有用户select*from dba_users;--锁住用户alteruser username account lock;--给用户解锁alteruser username account unlock;--创建用户createuser username identified by password;--授权用户创建表grantcreatetablespaceto username;--授权用户查询表grantselecton tablename to username;--授权用户更新表grantupdateon tablename to username;--授权用户执行存储过程grantexecuteon procedurename to username
--授权更新权限转移给username1,username1用户可以授权给其他用户;grantupdateon tablename to username1 withgrantoption;
权限收回
--收回查询表的权限revokeselecton tablename from username;revokeallon tablename from username;--查询一个用户拥有的对象权限select table_name,privilege from dba_tab_privs where grantee='username';--查询一个用户拥有的系统权限select*from dba_sys_privs where grantee='username';--当前会话有效的系统权限select*from session_privs
角色创建 编辑 删除
--创建一个角色create role roleName;--授权给角色grantcreateanytable,createprocedureto roleName;--授予角色给用户grant roleName to username;--查看角色所包含的权限select*from role_sys_privs;--创建带有口令的角色(在生效带有口令的角色时必须提供口令)create role roleName identified by password;--修改角色:是否需要口令alter role roleName not identified;alter role roleName identified by password;--设置当前用户要生效的角色--(注:角色的生效是一个什么概念呢?假设用户a有b1,b2,b3三个角色,那么如果b1未生效,则b1所包含的权限对于a来讲是不拥有的,只有角色生效了,角色内的权限才作用于用户,最大可生效角色数由参数MAX_ENABLED_ROLES设定;在用户登录后,oracle将所有直接赋给用户的权限和用户默认角色中的权限赋给用户。)set role roleName1;//使roleName1生效set role roleName1,roleName2;//使roleName1,roleName2生效set role roleName1 identified by password1;//使用带有口令的roleName1生效set role all;//使用该用户的所有角色生效set role none;//设置所有角色失效set role allexcept roleName1;//除roleName1外的该用户的所有其它角色生效。select*from SESSION_ROLES;//查看当前用户的生效的角色。--修改指定用户,设置其默认角色alteruser username default role roleName1;alteruser username default role allexcept roleName1;--详见oracle参考文档--删除角色drop role roleName1;--角色删除后,原来拥用该角色的用户就不再拥有该角色了,相应的权限也就没有了。
用户授权--查询数据库中的所有用户select * from dba_users; --锁住用户alter user username account lock;--给用户解锁alter user username account unlock; --创建用户create user username identified by password;--授权用户创建表grant...