Oracle用户操作

创建用户

 create user “用户名” identified by “密码”

 default  tablespace “主表空间”           //指定默认表空间

 tempormary tablespace “temp”

 profile default                                   //指定默认资源文件

 quote unlimitied on “主表空间”           //指定表空间限额

           *创建用户没指定表空间限额或分配过小,该用户登录操作时若导入数据可能报分配限额不够的错误。

  eg:create user wjy by identified by p73;  //密码要以字母开头

用户权限

  ①允许wjy对数据库进行访问:

    *默认创建的用户没有任何权限,连登录数据库的权限都没有,使用sys或system用户赋予新建用户权限。

    conn system/manager;

    grant connect to wjy;

    //预定义角色connect包含7种权限:ALTER SESSION --修改会话

                                          CREATE CLUSTER --建立聚簇 

                                          CREATE DATABASE LINK 建立数据库连接

                                        CREATE SEQUENCE --建立序列 

                                          CREATE SESSION --建立会话 

                                          CREATE SYNONYM --建立同义词 

                                          CREATE VIEW --建立视图

  ②允许wjy新建表test:

    *预定义角色resource允许用户在任何一个表空间建表。

    conn system/manager;

    grant resource to wjy;

    conn wjy/p73;

    create table test (userId varchar2(30),userName varchar2(30));

    desc test;        //查看表结构 

  ③允许wjy查询scott用户下的emp表:

    *对象权限的控制:此种情况下只有sys、system和scott三个用户拥有权限。

    conn scott/tiger;

    grant select on emp to wjy;

    conn wjy/p73;

    select * from scott.emp;

  ④撤回wjy对emp表的查询权限:

    *授权时使用的用户才有收回的权限,无法revoke该用户未授权的权限。

    conn scott/tiger;

    revoke select on emp from wjy;

  ⑤允许wjy查询scott用户下的emp表并且将此权限继续授权给其他用户:

    *对象权限的传递:

    conn scott/tiger;

    grant select on emp to wjy with grant option

    conn system/manager;

    create user yyp identified by j916;

    grant connect to yyp; 

    conn wjy/p73;

    grant select on scott.emp to yyp;

    Q:授权成功,此时scott如果撤回wjy的查询权限,是否会影响到yyp的查询权限呢?答案是Yes!

        conn scott/tiger;

        revoke select on emp from wjy;

        conn yyp/j916;

        select * from scott.emp;  //提示表或试图不存在

        证明:撤销权限是级联的啊~~~~

  ⑥允许wjy连接到数据库并将权限继续授权给其他用户:

    *系统权限的传递:

    conn system/manager;

    grant connect to wjy with admin option

    conn wjy/p73;

    grant connect to yyp;

删除用户

一般以dba的身份去删除,用其他用户想要删除用户需要drop user 权限。

删除用户时,如果要删除的用户已经创建两表,就要在删除时带参数cascade级联删除。

 drop user wjy [cascade];

解锁用户

  alter user wjy account lock         //锁住用户

  alter user wjy account unlock     //用户解锁

扩展:

        权限分为:1)系统权限:描述用户对数据库访问的相关权限。

                                            create session、create cluster、create database link、create sequence、

                                            create synonym、create view...

                           2)对象权限:用户对其他用户的数据对象(table、view、trigger、procedure...)操作的权限。

                                            select、insert、update、delete、all、create index...

        角色:事先定义若干角色用于权限的批量授权。

                 分为:1)自定义权限

                            2)预定义权限:connect、dba、resource...

        方案:Oracle是以方案的方式组织数据对象。

猜你喜欢

转载自wangjingyi.iteye.com/blog/1441876
今日推荐