• Oracle 新建删除用户并赋权


    1、删除用户

    drop user user_name cascade;  
    如果提示 ORA-01940提示 “无法删除当前已连接用户”
    (1)锁定用户
    alter user XXX account lock;
    (2)查询当前进程号(注意用户名一定要大写)
    SELECT * FROM V$SESSION WHERE USERNAME='XXX';
    select username,sid,serial# from v$session  where USERNAME = 'XXX'; (3)删除对应的进程 alter system kill session 'xx,xx' (4)删除对应的用户 drop user user_name cascade

    2、创建用户

    (1)、创建只读用户
    create user read_user  identified by "password";
    //赋予用户登录的权限
    grant connect to read_user;
    //赋予用户操作表空间的权限
    grant create session to 用户名;
    (2)、给用户赋予查询其他用户某几张表的权限 grant select on user_name.table_nameA to read_user (3)创建同义词 (注意:如果不创建同义词,那么read_user用户查询表时,必须使用a.table这类的写法,不能直接用table.) grant create synonym to read_user create or replace synonym read_user.table_nameA for user_name.table_nameA

    3、查看一个用户所拥有权限

    elect * from dba_sys_privs where grantee='USER_NAME'; 其中的username即用户名要大写才行。
    

    4、查看所有用户

    select * from dba_users; 
    select * from all_users; 
    select * from user_users;//查看当前用户
    

    5、查看用户或角色系统权限(直接赋值给用户或角色的系统权限)

    select * from dba_sys_privs; 
    select * from user_sys_privs; (查看当前用户所拥有的权限)
    

    6、查看用户或角色所拥有的角色:  

    select * from dba_tab_privs; 
    select * from all_tab_privs; 
    select * from user_tab_privs;
    

    7、Oracle删除指定用户所有表的方法  

    select 'Drop table '||table_name||';' from all_tables where owner='USER_NAME';(用户名要大写)
    

    8、查看所有角色

     select * from dba_roles;
    

    9、查看用户或角色所拥有的角色:

    select * from dba_role_privs; 
    select * from user_role_privs;
    

      

  • 相关阅读:
    程序员面试金典题解
    Leetcode 解题报告
    常用小算法
    BestCoder 百度之星2016
    jQuery 删除或是清空某个HTML元素。
    dataTable 默认排序设定
    jquery tableExport 插件导出excel (无乱码) 比较简单的表格
    php 根据周数获取当周的开始日期与最后日期
    thinkphp5使用load和use引入第三方类
    判断checkbox是否选中
  • 原文地址:https://www.cnblogs.com/wongzzh/p/15107013.html
Copyright © 2020-2023  润新知