欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Oracle权限与角色

程序员文章站 2022-05-07 23:38:33
...

(I)Oracle 管理的用户
 1.[system]默认密码manager
  权限:具有SYSDBA权限
  (打开\关闭数据库服务器、备份数据库、恢复数据库、日志归档、会话限制、管理功能、创建数据库)
 2.[sys]默认密码change_on_install
  权限:具有SYSDBA或SYSOPER权限
  (SYSOPER几位"数据库操作员",打开\关闭数据库服务器、备份数据库、恢复数据库、日志归档、会话限制)

  【备注】
 * sys/system密码忘记处理:服务器本地sqlplus登陆可以不用密码,直接修改用户密码

(II)常用Oracle 命令
  1.连接到数据库conn
     
sql>>conn sys/admin as sysdba或sysoper
  2.设置sqlplus 行显示宽度
    
sql>>set linesize 150;
  3.将sqlplus当前查询结果写到文件
    
sql>>edit
  4.创建用户
    
sql>>create user [username] identified by [password];
  5.修改用户
    
sql>>alter user [username] indentified by [password];
  6.给新建的用户授权
    
sql>>grant dba to [username];//授予用户dba角色,这样可以"为所欲为"
    sql>>grant connect to [username];//只授予用户connect角色,其中包含登录

    sql>>grant ...
【备注】
    1>授予权限
     (1)默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限
   /*管理员授权*/
  
 grant create session to [username];//授予[username]用户创建session的权限,即登陆权限
   grant unlimited session to [username];//授予[username]用户使用表空间的权限
   grant create table to [username];//授予创建表的权限
   grant drop table to [username];//授予删除表的权限
   grant insert table to [username];//插入表的权限
   grant update table to [username];//修改表的权限
   grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public)
    (2)oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权
      /*oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的*/
      
*grant select on tablename to [username];//授予[username]用户查看指定表的权限
         grant drop on tablename to [username];//授予删除表的权限 
         grant insert on tablename to [username];//授予插入的权限
         grant update on tablename to [username];//授予修改表的权限
         grant insert(id) on tablename to [username];
         grant update(id) on tablename to [username];//授予对指定表特定字段的插入和修改权限,注意,只能是
    (3)insert和update
   
grant alert all table to [username];//授予[username]用户alert任意表的权限
    2>撤销权限
    基本语法同grant,关键字为revoke
   例如:
grant select on xcz.t_user to xcz1;
            revoke select on xcz.t_user from xcz1;
    3>查看权限
   
select * from user_sys_PRivs;//查看当前用户所有权限
    select * from user_tab_privs;//查看所用用户对表的权限


(III)Oracle常用的系统表
     
 dba_tables--系统所有表的信息
      dba_users--系统所有用户信息
      user_sys_PRivs;--查看当前用户所有权限
  user_tab_privs;--查看所用用户对表的权限

(IV)Oracle 角色和权限
     * 查看系统所有权限:
     * 查看系统已有角色:
     * 查看某角色的权限: