用户及权限
删除表空间以及用户
删除表空间
drop tablespace tablespace_name including contents and datafiles;
删除用户
-- 查看用户连接情况
select username, sid, serial# from v$session where username = 'drop_username'
-- 杀掉进程资源
alter system kill session 'SID,SERIAL#';
-- 执行删除用户命令
用户
创建用户
create user username identified by password;
修改用户密码
alter user 用户名 identifid by "密码";
查看所有用户
select username from dba_users;
查看当前用户
show user
select user from dual;
修改用户名
-- 首先查到到所需修改用户名称的用户需要:
select user#,name from user$;
-- 如:user#等于66现在就可以修改用户名称了
update user$ set name='新的用户名称' where user#=6;
commit;
权限
为用户授权角色、撤销授权
connect role | resource role | dba role |
---|---|---|
连接角色 | 资源角色 | 数据库管理员角色 |
-- 授权
grant connect,resource,dba to user;
grant create session to user;
-- 授予创建表的权限
grant create table to user;
-- 创建查询表的权限
grant select on table_name to user;
-- 撤销授权
revoke connect,resource from user;
查看用户所拥有的权限
-- 查看用户对象权限
select * from dba_tab_privs;select * from dba_tab_privs where grantee = "USER";
-- 查看用户系统权限
select * from dba_sys_privs;select * from dba_sys_privs where grantee = "USER";
-- 查看用户所拥有的角色
select * from dba_role_privs;select * from dba_role_privw where grantee = "USER";
-- 查看系统的所有角色
select * from dba_roles;
-- 查看哪些用户被授予了 DBA 权限
select * from dba_role_privs where granted_role='DBA';
-- 查看哪些用户拥有sysdba或者sysoper系统权限
select * from v$pwfile_users;
-- 查看已经登录的用户已经拥有的角色
select * from role_sys_privs;
操作
批量生成 删除某个用户的所有表 语句
select 'Drop table' || table_name || ';' from all_tables where owner='USERNAME';
批量生成 删除某用户下所有表数据 语句
select 'truncate table' || table_name from user_tables;