权限管理和导入导出

一、用户权限控制
    1.创建用户
        create user user_name identified by password
        例如:
        create user zhangsan identified by zhangsan; 
    2.删除用户

        drop user zhangsan cascade; 
       //解锁用户
       alter user scott account unlock
       //改密码
       alter user scott  identified by 新密码 

    3.赋予权限
        grant privilege to user;
        例如:把建表 建序列 建视图的权限赋给zhangsan
        grant create table, create sequence,create view to zhangsan; 
        //把connect角色和resource角色赋给zhangsan
        //角色是一组权限的集合
        grant connect,resource to zhangsan;  
        注意: 如果只是登陆oracle数据库的话 需要的权限是create session         
        //只能更新一列,只能是插入和更新可以控制到列
        grant update(name) on mytable to lisi;

    4.权限能够传递    
      4.1、系统权限的传递
         超级管理员授予lisi修改任意表的管理权限:
           SQL>grant alter any table to lisi with admin option;
            授权成功。
        查看lisi用户的系统权限:
           SQL>select * from user_sys_privs;
        lisi用户授予wangwu用户任意表的权限:
           SQL>grant alter any table to wangwu with admin option;
           授权成功。
        查看wangwu用户的系统权限:
           SQL>select * from user_sys_privs;
      4.2、对象权限的传递(谁拥有谁授权)
        用管理员创建一个表A:
         SQL>create table A(id int);
          表已创建。
        把表A的查看权限授予给lisi:
         SQL>grant select on A to lisi with grant option;
         授权成功。
        查看lisi用户的对象权限:
         SQL>select * from user_tab_privs;
        lisi用户把查看sys.A表的权限授予给wangwu用户:
         SQL>grant select on sys.A to wangwu;
           授权成功。
        查看wangwu的对象权限:
          SQL>select * from user_tab_privs;
        让wangwu用户也有授予查看sys.A表的权限:
          SQL>grant select on sys.A to wangwu with grant option;
           授权成功。
        查看wangwu的对象权限:
          SQL>select * from user_tab_privs;        

    5.修改密码
        alter user user_name identified by password; 
        例如:
        alter user zhangsan identified by zhangsan123; 
    6.赋予某一个用户某种对象操作的权限
        grant operator on object to user;         
        例如:
        grant select  
        on t_user  
        to briup;  
    7.回收权限
        revoke operator on object from user;
        例如:
        revoke select  
        on t_user  

        from briup;

    8.角色的创建:
           SQL> create role myrole; 

            角色已创建。

     赋予角色创建表的权限

          SQL> grant create table to myrole; 

          授权成功。
     创建用户,用于将角色赋给用户
          SQL> create user zhangsan identified by zhangsan; 

          用户已创建。 

     给角色创建会话的权限,也就是连接数据库的权限       

          SQL> grant create session to myrole; 

         授权成功。
    将角色赋给用户,使得用户拥有角色的权限,这就像我们平时使用的sys一样,也是一个角色
          SQL> grant myrole to zhangsan; 
          授权成功。
   这样,张三用户就有了myrole角色所拥有的登录数据库的权限了
注意:在授权时,不能将unlimited tablespace 授予角色,角色是大家共用的
         操作时没有drop table,但是有drop any table;
         没有alter table,但是有alter any table
         create table--可以给自己创建表
         create any table----还可以给其他用户创建  

      例如:当前用户为wangwu,具有create any table ,并且lisi具有unlimited tablespace 权限  

                          则可以这样创建表:create table lisi.A (id int);                                       

二、导出导入数据库

数据库的导入导出
        系统终端执行
          导出:exp   根据提示按回车下一步即可(其中文件名等信息可以更改,在回车前输入自己想用的属性就行)

如下图导出数据库

权限管理和导入导出_第1张图片

          最终导出的文件如下所示:

权限管理和导入导出_第2张图片

     导入:imp      根据提示按回车下一步即可


你可能感兴趣的:(Oracle)