友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
狗狗书籍 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

SQL 21日自学通(V3.0)(PDF格式)-第111章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






决这个问题你需要将 DBA 规则应用于 JSMITH              当然这必须要得到 DBA 的许可 



数据库用户信息 



    USER_USER  与 ALL_USER  视图将会给你最少的关于用户的信息  DBA  视图被称为 



DBA_USERS   它为 SYS    所拥有    所有的关于所有用户的信息            前提是你有 DBA  规则或 



SELECT_ANY_TABLE 权限      如下例如示 



INPUT 



    SQL》 SELECT * FROM SYS。DBA_USERS; 



OUTPUT 



USERNAME      USER_ID    PASSWORD             DEFAULT_TABLESPACE 



SYS           0          4012DA490794C16B     SYSTEM 



JSMITH        5          A4A94B17405C10B7     USERS 



      实际为一个表格  这里由于排版需要改为两个 



USERNAME      TEMPORARY_TABLESPACE       CREATED    PROFILE 



SYS           TEMP                       06…JUN…96  DEFAULT 



JSMITH        TEMP                       06…JUN…96  DEFAULT 



分析 



    当你选择了 DBA_USERS      视图中的所有内容         你会看到对于每个用户来说至为重要的 



信息    注意这里的 PASSWORD 是经过加密处理的  这个视图是 DBA 管理其它用户的重要 



                                                                       339 


…………………………………………………………Page 340……………………………………………………………

SQL 21  日自学通(V1。0)                                         翻译人   笨猪 



视图 



数据库安全 



   在数据字典中有三个基本的视图与数据库安全相关的                   尽管想得到完整的信息你必须 



还要查阅其它相关的信息  这三个视图与数据库的规则                   规则对用户的授权以及系统权限 



对用户的授权相关 这三个视图会在 DBA_ROLES            DBA_ROLE_PRIVS 和DBA_SYS_PRIVS 



这三个部分中介绍        下边的查询显示了如何去获得相关的数据库安全信息 



INPUT 



   SQL》 SELECT * FROM SYS。DBA_ROLES; 



OUTPUT 



     ROLE                  PASSWORD 



     CONNECT               NO 



     RESOURCE              NO 



     DBA                   NO 



     EXP_FULL_DATABASE     NO 



     IMP_FULL_DATABASE     NO 



     END_USER_ROLE         NO 



分析 



   视图 DBA_ROLES   给出了所有在数据库中创建的规则的信息  它给出的规则的名字以 



及规则是否存在密码 



INPUT 



   SQL》 SELECT * 



       2    FROM  SYS。DBA_ROLE_PRIVS 



       3    WHERE  GRANTEE  =  'RJENNINGS' 



       GRANTEE          GRANTED_ROLE      ADM    DEF 



       RJENNINGS        CONNECT          NO      YES 



       RJENNINGS        DBA              NO      YES 



       RJENNINGS        RESOURCE         NO      YES 



分析 



   DBA_ROLE_PRIVS  给出的关于赋给用户的数据库规则的信息               第一列为被授权人 



第二列显示了被授予的规则          注意  对用户所授予的每一个规则都会占用表中的一个记录 



                                                                  340 


…………………………………………………………Page 341……………………………………………………………

SQL 21  日自学通(V1。0)                                        翻译人   笨猪 



ADM 通过后边的 ADM 选项来确定这个规则是否是允许的                也就是说该用户是否有权将该 



规则授予其它的用户        最后一列为默认  表明这个规则是否是用户的默认规则 



分析 



   DBA_SYS_PRIVS 给了所有授予用户的系统权限           这个视图与 DBA_ROLE_PRIVS    视 



图类似  你可以通过把系统权限授予规则来把这些系统权限包括在规则中                        就像你是一个 



用户一样 



数据库对象 



   数据库对象是 DBA  所关心了又一个重要内容             在数据字典中有几个视图提供了有关 



数据库对象如表和索引的信息  通常这些视图你可以获得常用的信息或详细的信息 



INPUT 



   SQL》 SELECT * 



       2    FROM  SYS。DBA_CATALOG 



       3    WHERE  ROWNUM  《  5; 



OUTPUT 



     OWNER        TABLE_NAME      TABLE_TYPE 



     SYS          CDEF           TABLE 



     SYS          TAB            TABLE 



     SYS          IND            TABLE 



     SYS          CLU            TABLE 



分析 



   DBA_CATALOG  所做的事与 USER_CATALOG     是一样的     只显示了所有者的表        与 



之相对比  USER_CATALOG  则用于显示当前用户的表  用 DBA_CATALOG 视图 DBA 可 



以快速地查看所有的表 



   下边的查询给出了对于特定的数据库都存在哪种类型的对象 



技巧  出于测试的目的你可以使用 ROWNUM 来限制查询返回特定数目的行  它与 ROWID 



    一样可以在任何数据库表和视图中使用 



INPUT/OUTPUT 



SQL》 SELECT DISTINCT(OBJECT_TYPE) 



    2    FROM  SYS。DBA_OBJECTS; 



                                                                341 


…………………………………………………………Page 342……………………………………………………………

SQL 21  日自学通(V1。0)                                            翻译人    笨猪 



         OBJECT_TYPE        OBJECT_TYPE 



         CLUSTER            PROCEDURE 



         DATABASE LINK      SEQUENCE 



         FUNCTION           SYNONYM 



         INDEX              TABLE 



         PACKAGE            TRIGGER 



         PACKAGE BODY       VIEW 



分析 



    在上边的查询中 DISTINCT      功能可以让存在于数据库中的对象只出现一次  在数据库 



的设计和开发时使用这个查询来发现数据库中都有哪些对象是非常好的 



    DBA_TABLES 视图给出了关于数据库表和大多数与存储有关的数据库对象的信息 



INPUT/OUTPUT 



    SQL》 SELECT SUBSTR(OWNER;1;8) OWNER; 



        2                  SUBSTR(TABLE_NAME;1;25)  TABLE_NAME; 



        3                  SUBSTR(TABLESPACE_NAME;1;30)  TABLESPACE_NAME 



        4    FROM  SYS。DBA_TABLES 



        5    WHERE  OWNER  =  'JSMITH'; 



         OWNER     TABLE_NAME       TABLESPACE_NAME 



         JSMITH    MAGAZINE_TBL     USERS 



         JSMITH    HOBBY_TBL        USERS 



         JSMITH    ADDRESS_TBL      SYSTEM 



         JSMITH    CUSTOMER_TBL     USERS 



分析 



    除了 ADDRESS_TBL   以外  所有的表都在 USER  表空间中  ADDRESS_TBL           是在系 



统表空间中的       因为这是唯一的一个你可能存储于系统表空间中的表                     作为 DBA  需要知 



道这件事     这个查询对你的帮助不小 



    JSMITH 应该马上把这个表移到其它符合条件的表空间中去 



    DBA_SYNONYMS   给出了所有存在于数据库中的同义字的清单 
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!