初识数据字典【weber出品必属精品】
2014-08-24 16:57 yaoweber 阅读(182) 评论(0) 编辑 收藏 举报-
数据字典结构
有两部分组成:
1. 基表:以$结尾的系统表,在创建数据库的时候,oracle自动创建的表
2. 用户可以访问的视图
- 数据字典的种类
DICTIONARY:简称DICT,所有的数据字典,都可以通过DICT查看
- DBA开头的:sys用户所拥有的,普通用户默认不能访问,只有sys授权,才能访问,存储了全部的相关信息
查看DBA开头的数据字典:select table_name from dict where table_name like 'DBA%';
TABLE_NAME
------------------------------
DBA_ROLES
DBA_PROFILES
DBA_CATALOG
DBA_CLUSTERS
DBA_CLU_COLUMNS
DBA_COL_COMMENTS
DBA_COL_PRIVS
DBA_ENCRYPTED_COLUMNS。。。。。。。。
525 rows selected.
SQL> select owner,table_name from dba_tables where owner='SCOTT';
OWNER TABLE_NAME
------------------------------ ------------------------------
SCOTT DEPT
SCOTT EMP
SCOTT BONUS
SCOTT SALGRADE - ALL开头的:当前用户可以访问的数据,可以分为两部分数据:一部分是当前用户自己的数据,一部分是其他用户的数据,但是当前用户有访问的权限,普通用户可以访问
比如:ALL_TABLES:查看当前用户可以访问的表SQL> select owner,table_name from all_tables order by 1;
OWNER TABLE_NAME
------------------------------ ------------------------------
WMSYS AQ$_WM$EVENT_QUEUE_TABLE_S
WMSYS AQ$_WM$EVENT_QUEUE_TABLE_T
WMSYS AQ$_WM$EVENT_QUEUE_TABLE_H
WMSYS SYS_IOT_OVER_10282。。。。。。。。。。。。。。。。。。。。。。。
1576 rows selected.
conn hr/hr grant select on employees to scott; conn scott/tiger SQL> select owner,table_name from all_tables order by 1;--employees表将显示出来,因为scott有访问的权限
-
USER开头的:当前用户自己的数据
比如USER_TABLES:当前用户自己的表
SQL> conn scott/tiger Connected. SQL> select user,table_name from user_tables ; USER TABLE_NAME ------------------------------ ------------------------------ SCOTT DEPT SCOTT EMP SCOTT BONUS SCOTT SALGRADE
- V$开头的:动态性能视图
v$fixed_table:可以查看数据库中所有v$开头的动态性能视图USER is "SYS" SQL> desc v$fixed_table Name Null? Type ----------------------------------------------------------------- -------- -------------------------------------------- NAME VARCHAR2(30) OBJECT_ID NUMBER TYPE VARCHAR2(5) TABLE_NUM NUMBER
动态性能视图的内容:
1. 控制文件的内容
2. 内存中的数据
3. 动态性能视图反映出数据库的性能
4. 由于内存中的数据时刻在改变,所以动态性能视图中的数据时随着内存和数据库的状态的改变而改变
SQL> shutdown abort ORACLE 例程已经关闭。 SQL> startup nomount ORACLE 例程已经启动。 Total System Global Area 608174080 bytes Fixed Size 1275128 bytes Variable Size 184552200 bytes Database Buffers 419430400 bytes Redo Buffers 2916352 bytes SQL> select status from v$instance; STATUS ------------------------------------ STARTED SQL> alter database mount; 数据库已更改。 SQL> select status from v$instance; STATUS ------------ MOUNTED SQL> alter database open; 数据库已更改。 SQL> select status from v$instance; STATUS ------------ OPEN
什么时候访问动态性能视图?
1. 当数据库出现性能问题的时候
2. 访问控制文件的内容
- DBA开头的:sys用户所拥有的,普通用户默认不能访问,只有sys授权,才能访问,存储了全部的相关信息