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

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

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






TOOLS               32768             16384          1               ONLINE 



USERS               32768             16384          1               ONLINE 



分析 



    这在当你创建一个需要存储空间的对象如表和索引时                      这个查询是非常有用的           当表 



或查询建立以后        如果没有在 DDL      中指定它的初始和后续存储参数  这些表和索引会采 



用这些数值的默认值  相同的概念也可以应用于 PCT  INCREASE                   它是一个 ORACLE  参 



数用以指定当一个对象的大小在增长时为它分配空间的百分比                          如果当表和索引在创建是 



没有指定这个数值         数据库服务程序会为它分派默认的数值                 通过查看这些默认值你可以 



决定是否应该在创建表和索引时使用存储子句来指定它的初始及后续大小 



    但是在有些时候        你需要对你访问的表空间知道得更多  那就是在底层生成一个表的 



时候  例如     你需要知道你在表空间方面所受的限制以使你可以更好地创建和组合你的对 



象  USER_TS_QUOTAS    视图会提供你所需要的信息            下边的查询给出了在数据库中创建 



对象时用户空间的限制 



INPUT/OUTPUT 



    SQL》 SELECT SUBSTR(TABLESPACE_NAME;1;30) TABLESPACE_NAME; 



                                                                      337 


…………………………………………………………Page 338……………………………………………………………

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



       2                  BYTES;  MAX_BYTES 



       3    FROM  USER_TS_QUOTAS; 



          TABLESPACE_NAME      BYTES     MAX_BYTES 



          SYSTEM               0         0 



          TOOLS                5242880   16384 



         USERS                 573440    …1 



分析 



   上边的输出是典型的从 ORACLE 数据字典中的输出              以字节的形式给出了可由用户支 



配的表空间  MAX_BYTES 给出了用户配额的最大值  在这一列中的头两个数据无需说明 



在第三列中的…1  的意思是最大值不受限制  也就是说用户使用的表空间没有最大限制 



注  在 SUBSTR  函数中出现了许多上边的查询中的数据字典视图  在数据返回后你可以使 



   用许多你以前学过的函数来对返回的数据进行控制以使其更具有可读性  你也可以对 



   你所返回数据的输出长度进行限制            就像我们在这些例子中所做的那样 



   所有的这些例子给出的常规的用户如何从数据字典中取得有用的信息                       这些视图只是 



存在于 ORACLE 数据字典中的很少的一部分  检查你的数据库解释器以看它是否在你的数 



据库字典中可用是非常重要的           切记   你应该使用数据字典来管理你的数据库              尽管对于 



不同的数据库系统目录是不相同的            你只需要明白这个概念以及如何取得你所需要的数据 



来支持你的工作就行了 



系统数据库管理员视图 



   在 ORACLE  数据字典中 DBA  视图通常是最为重要的           在大多数情况下它是由 DBA 



来访问的    这些视图对于 DBA 来说是至关重要的           如果 DBA  没有这些视图就如何木匠没 



有的锤子 



   如你所料  你必须具有 SELECT_ANY_TABLE  的系统权限才能访问这些表  该权限包 



含在 DBA 规则中  例如      如果你是 JSMITH   那么你就没有访问 DBA 表的权限 



INPUT 



   SQL》 SELECT * 



       2    FROM  USER_ROLE_PRIVS 



OUTPUT 



     USERNAME      GRANTED_ROLE    ADM    DEF    OS_ 



                                                                338 


…………………………………………………………Page 339……………………………………………………………

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



      JSMITH         CONNECT           NO      YES     NO 



      JSMITH         RESOURCE          NO      YES     NO 



INPUT/OUTPUT 



    SQL》 SELECT * 



        2    FROM  SYS。DBA_ROLES; 



    FROM SYS。DBA_ROLES; 



        ERROR  at  line  2: 



    ORA…00942: table or view does not exist 



分析 



    如果你没有得到合适的权限却想访问这些表  那么返回的错误会说这个表不存在                                这 



个信息容易让人产生误解  事实上这个表不存在是因为该用户不能                           看到    这个表    要解 



决这个问题你需要将 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 可 



以快速地查看所有的表 



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