zoukankan      html  css  js  c++  java
  • 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;
    

      

  • 相关阅读:
    【机器学习】关于判别模型和生成模型
    Delphi新手跟我学写CALL,附完整原程序
    QT事件研究的文章
    杂烩:QWidget、QGraphics、QtQuick
    Golang全接触
    学会使用git
    代码创建 WPF 旋转动画
    值得推荐的C/C++框架和库 very good
    可恶的QT隐式共享
    Notes on OpenSSL and Qt(ssl.pri,qsslocket_openssl_symbols.cpp)
  • 原文地址:https://www.cnblogs.com/wongzzh/p/15107013.html
Copyright © 2011-2022 走看看