zoukankan      html  css  js  c++  java
  • oracle 11g 学习笔记 2012_10_24(1)

    今天看着视频学oracle 发现效果不错。。。

    oracle 用户管理


    oracle用户管理是oracle数据库一个重要和核心的内容。
    .创建用户

    在oracle中要创建一个新的用户可以使用 create user 语句。一般是具有dba(数据管理员)的

    权限才能使用,比如是:sys、system用户。一般

    用户不可以。
    创建的新用户是没有任何权限的,甚至是连登录的数据库权限都没有。

    sql> create user user_name indentified by password; //(密码得要以字母开头)


    .给用户修改密码

    要是给自己修改密码,可以直接使用

    SQL> password 
    如果是给别人修改密码则需要有具有dba的权限,或者是拥有 alter user 的系统权限。
    sql> alter user 用户名 identified by 新密码;
    .删除用户
    删除用户一般也是用dba这个身份去删除,但是不可以删除自己。

    在删除用户时,注意如果要删除的用户已经创建了表,那么就需要在删除语句的最后添加上一个

    参数 cascade, 那么就可以同时删除那些表了。

    sql> drop user 用户名 [ cascade]
    .用户管理的综合案例

    概述:新创建的用户是没有任何权限的,甚至是连登录数库的权限都没有,需要为其指定相应的权限,

    给一个用户赋权限可以用 grant,回收该权

    限使用命令 revoke。

    新用户连数据库都连接不了,那么就要找人来给它赋权限了。可以是system、sys,但是普通用户是不

    可以给他赋权限的。比如scott。

    比如 pangzi 是新创建的用户;要赋予它连接数据库的权利,则可以在sys用户下运行语句:
    sql> grant connect to pangzi;
    准确地讲,connect to 不是权限,而是角色。

    dba 角色,不要轻易授权,它含有的权利很大,要是把它授权给了一个普通用户,那么该用户就用户就拥有

    了dba所有的权限
    resource 角色,可以让pangzi这个用户在任何一个表空间建表。


    .scott希望 pangzi可以创建表
    .希望 pangzi 可以去查询scott的emp表;
    .希望 pangzi 可以修改 scott的emp表;
    .希望 pangzi 可以修改、查询、添加、删除scott的emp表。只是这个表。

    resource 角色,可以让pangzi这个用户在任何一个表空间建表。

    .scott希望 pangzi可以创建表
    .希望 pangzi 可以去查询scott的emp表;
    .希望 pangzi 可以修改 scott的emp表;
    .希望 pangzi 可以修改、查询、添加、删除scott的emp表。只是这个表。

    sql> grant resource on scott.emp to pangzi;
    sql> grant select on scott.emp to pangzi;
    sql> grant update on scott.emp to pangzi;
    sql> grant all on scott.emp to pangzi;
    

    可以授权的用户:自己的东西可以授权给别人,还有sys、system;自己没有的东西不能自己授权给自己。
    .权限的收回

    要是已经授权了 pangzi 一些权限,而现在想收回这些权限的话,可以用 revoke语句。
    要是 a 用户没有授予权限给 b 用户,那么 a 就没有权利收回 b拥有的权限。即使 a 用户是 sys 和 system 用户。
    .scott希望收回 pangzi 对emp表的查询权限。

    sql> revoke select on emp from pangzi;

    //对权限的维护

    .希望 pangzi 可以去查询scott的emp表;/还希望 pangzi 可以把这个权限继续传给别人。那么就可以用
    ----如果是对象权限,就加入with grant option------那么这样pangzi就可以继续把权限授予给其他用户了。
    sql> grant select on emp to pangzi with grant option

    ----如果是系统权限
    system 给 pangzi 权限时:
    sql> grant connect to pangzi with admin option;

    ?.那么要是 a 授予了 b 权限,而 b 授予了 c 权限,当 a 要收回 b 权限时...
    b 和 c 的权限都会被收回,因为要是 c 的权限还有,那么就可以再把权限授予 b ,那就没有了意义了,安全性也
    会变差了( a 可能就是不信任 b 才把权限收回的。)
  • 相关阅读:
    linux进程间通信之消息队列
    本地安装discuz x2.5(论坛站)程序
    缩小IO/CPU瓶颈:linux平台加速编译速度的几种方法
    php mcrypt
    Nginx工作原理和优化、漏洞。
    Linux下两种TCP网络服务器实现方式:循环服务&并发服务
    version `GLIBC_2.14' not found 解决方法.
    Flex Ant自动构建
    函数传指针和传引用
    JEECG 列表行编辑模式下实现文本的xheditor富文本框编辑器
  • 原文地址:https://www.cnblogs.com/tgxblue/p/4217440.html
Copyright © 2011-2022 走看看