当前位置:  数据库>oracle

初识Oracle数据字典

    来源: 互联网  发布时间:2017-05-03

    本文导语: 以下讲解内容来源于Oracle dba官方ppt 1.什么是数据字典?数据字典是记录、验证和提供有关当前数据库信息的一些只读表和视图的集合。 在数据库创建期间,oracle服务器在数据文件中创建另外的对象结构: 1)数据字典表(静态...

以下讲解内容来源于Oracle dba官方ppt

1.什么是数据字典?
数据字典是记录、验证和提供有关当前数据库信息的一些只读表和视图的集合。

在数据库创建期间,oracle服务器在数据文件中创建另外的对象结构:

1)数据字典表(静态数据字典)
2)动态性能表(动态数据字典)

2.数据字典表分类:
1)基表
    a.存储数据库的描述信息
    b.使用CREATE DATABASE命令创建
2)数据字典视图
    a.总结基表信息
    b.数据库创建完毕后运行catalog.sql脚本创建





3.数据字典视图包含以下3中静态视图

1)user_* 该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象)

2)all_*  该试图存储了当前用户能够访问的对象的信息。(与user_*相比,all_* 并不需要拥有该对象,只需要具有访问该对象的权限即可)

3)dba_*  该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限)


4.数据字典都包含哪些个信息?
1)数据库逻辑和物理结构
2)对象定义和空间分配情况
3)实体约束
4)用户信息
5)角色信息
6)权限信息
7)审计信息







5.数据字典内容什么时间变化?
当一个DDL语句执行后,oracle服务器会更新相应数据字典内容。

6.动态性能表的来源?
  内存和控制文件

7.常用数据字典介绍:

1)dba_users 记录当前数据库所有用户信息:
SQL> desc dba_users
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 USERNAME                                  NOT NULL VARCHAR2(30)
 USER_ID                                   NOT NULL NUMBER
 PASSWORD                                           VARCHAR2(30)
 ACCOUNT_STATUS                            NOT NULL VARCHAR2(32)
 LOCK_DATE                                          DATE
 EXPIRY_DATE                                        DATE
 DEFAULT_TABLESPACE                        NOT NULL VARCHAR2(30)
 TEMPORARY_TABLESPACE                      NOT NULL VARCHAR2(30)
 CREATED                                   NOT NULL DATE
 PROFILE                                   NOT NULL VARCHAR2(30)
 INITIAL_RSRC_CONSUMER_GROUP                        VARCHAR2(30)
 EXTERNAL_NAME                                      VARCHAR2(4000)














2)user_tables 记录当前用户所属表信息
SQL> select table_name,tablespace_name,num_rows from user_tables;

TABLE_NAME                     TABLESPACE_NAME                  NUM_ROWS
------------------------------ ------------------------------ ----------
DEPT                           USERS                                   4
EMP                            USERS                                  14
BONUS                          USERS                                   0
SALGRADE                       USERS                                   5
DSQL_TEST                      USERS                                   0
TEST                           USERS                                   0 △






已选择6行。

SQL> analyze table test compute statistics;

表已分析。

SQL> select table_name,tablespace_name,num_rows from user_tables;

TABLE_NAME                     TABLESPACE_NAME                  NUM_ROWS
------------------------------ ------------------------------ ----------
DEPT                           USERS                                   4
EMP                            USERS                                  14
BONUS                          USERS                                   0
SALGRADE                       USERS                                   5
DSQL_TEST                      USERS                                   0
TEST                           USERS                                   3 △






已选择6行。

3)v$instance 记录当前实例信息

SQL> desc v$instance
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 INSTANCE_NUMBER                                    NUMBER
 INSTANCE_NAME                                      VARCHAR2(16)
 HOST_NAME                                          VARCHAR2(64)
 VERSION                                            VARCHAR2(17)
 STARTUP_TIME                                       DATE
 STATUS                                             VARCHAR2(12)
 PARALLEL                                           VARCHAR2(3)
 THREAD#                                            NUMBER
 ARCHIVER                                           VARCHAR2(7)
 LOG_SWITCH_WAIT                                    VARCHAR2(15)
 LOGINS                                             VARCHAR2(10)
 SHUTDOWN_PENDING                                   VARCHAR2(3)
 DATABASE_STATUS                                    VARCHAR2(17)
 INSTANCE_ROLE                                      VARCHAR2(18)
 ACTIVE_STATE                                       VARCHAR2(9)
 BLOCKED                                            VARCHAR2(3)

















SQL> select instance_name, status from v$instance;

INSTANCE_NAME    STATUS
---------------- ------------
orcl             OPEN

4)v$datafile 记录数据文件信息
SQL> desc v$datafile
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 FILE#                                              NUMBER
 CREATION_CHANGE#                                   NUMBER
 CREATION_TIME                                      DATE
 TS#                                                NUMBER
 RFILE#                                             NUMBER
 STATUS                                             VARCHAR2(7)
 ENABLED                                            VARCHAR2(10)
 CHECKPOINT_CHANGE#                                 NUMBER
 CHECKPOINT_TIME                                    DATE
 UNRECOVERABLE_CHANGE#                              NUMBER
 UNRECOVERABLE_TIME                                 DATE
 LAST_CHANGE#                                       NUMBER
 LAST_TIME                                          DATE
 OFFLINE_CHANGE#                                    NUMBER
 ONLINE_CHANGE#                                     NUMBER
 ONLINE_TIME                                        DATE
 BYTES                                              NUMBER
 BLOCKS                                             NUMBER
 CREATE_BYTES                                       NUMBER
 BLOCK_SIZE                                         NUMBER
 NAME                                               VARCHAR2(513)
 PLUGGED_IN                                         NUMBER
 BLOCK1_OFFSET                                      NUMBER
 AUX_NAME                                           VARCHAR2(513)
 FIRST_NONLOGGED_SCN                                NUMBER
 FIRST_NONLOGGED_TIME                               DATE




























SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
E:ORADATAORCLSYSTEM01.DBF
E:ORADATAORCLUNDOTBS01.DBF
E:ORADATAORCLSYSAUX01.DBF
E:ORADATAORCLUSERS01.DBF
E:ORADATAORCLEXAMPLE01.DBF
E:ORADATANEANDS3.DBF
E:ORADATALPORTAL4.DBF
E:ORADATANEANDS.DBF
E:ORADATANEANDS3_IDX.DBF
E:ORADATANEALPORTAL4.DBF
E:ORADATAULOG.DBF












    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Android 初识 Helloworld 详解
  • 初识JAVA数组


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,