Oralce 数据字典和动态性能试图

1:  数据字典记录了数据库的系统信息,是只读表和试图的集合,数据字典的所有者为sys用户,并且存放在system表空间中,
数据字典基表存放基本信息,普通用户不能访问,只能访问数据字典试图取得系统信息,数据字典包含三种类型:
USER_XXX: 所有数据库对象
ALL_XXX: 当前用户可以存放的所有对象
DBA_XXX: 当前用户所拥有的对象
2: 数据字典内容
A:对象定义
当执行create命令创建对象时,Oracle会将对象存放到数据字典中,可以使用DBMS_METADATA可以获取对象定义语句,:
SQL>SET LONG 4000
SQL>SELECT dbms_metadata.get_ddl('TABLE','EMP') ddl FROM DUAL;
B:对象占用的空间
建立表,索引和族时,Oralce会给表,索引和族分配相应的空间,以存放这些对象的数据,通过数据字典,可以取得所占用的空间
查询表占用的空间,可以查看其同名段的大小,如下:
SQL> SELECT bytes FROM user_segments WHERE segment_name='EMP';
如果要查看剩余空间和已用空间时,要做一下步骤:
SQL> analyze table emp compute statistics;
SQL> select empty_blocks,blocks from user_tables where table_name='EMP';
C: 列信息
SQL> select from user_tab_columns where table_name="DEPT";
D: 用户名,权限和角色
DBA_USERS: 所有数据库用户的详细信息
DBA_SYS_PRIVS: 用户或角色所具有的系统权限
DBA_TAB_PRIV: 显示用户或角色所具有的对象权限
DBA_COL_PRIVS: 用户或角色所具有的列权限
DBA_ROLE_PRIVS: 显示用户或角色具有的其他的角色。
3:常用的数据字典:
1 DICT: 显示当前用户可以访问的所有的数据字典试图
2 DICT_COLUMNS: 用户显示数据字典视图每个列的作用,
SQL> SELECT column_name,comments FROM dict_columns WHERE table_name='DICT';
3 DUAL: 用于取得函数的返回值
SQL> SELECT user FROM dual;
4 GLOBAL_NAME: 用于显示当前数据库的全名
SQL> SELECT * FROM GLOBAL_NAME
5 IND:用于显示当前用于所拥有的索引
6 OBJ: 用于显示当前用户所拥有的所有对象
7 SEG:用于显示当前用户所拥有的序列
8 SYN:用于显示当前用户所拥有的同义词和同义词对应的数据库对象名
9 TAB:用于显示当前用户所拥有的表,视图和序列

4:动态性能试图记录当前例程的活动信息,启动时从SGA和控制文件中取得的,例程停止时,删除这些表
数据字典时从数据文件中获取的

5:常用的动态性能视图表:
1:V$FIXED_TABLE - 列出所有可用的动态性能视图和动态性能表
2:V$INSTANCE - 取得当前例程的详细信息
3:V$SGA - 用于显示SGA主要组成部分
4:V$SGAINFO - 取得SGA更详细的信息
5:V$PARAMETER - 取得初始化参数的详细信息
6:V$VERSION - 取得ORACLE版本的详细信息
7:V$OPTION - 该动态性能视图用于显示已经安装的Oralce选项
8:V$SESSION - 用于显示会话的详细信息
9:V$PROCESS - 显示Oracel所有进程的信息(包括后台进程和服务器进程)
10 V$BGPROCESS - 用于显示后台进程的详细信息
11 V$DATABASE - 用于显示当前数据的详细信息
12 V$CONTROLFILE - 显示所有控制文件的信息
13 V$DATAFILE - 数据文件的详细信息
14 V$DBFILE - 显示数据文件编号及名称
15 V$LOGFILE - 用于显示重做日志成员的信息
16 V$LOG - 显示日志组的详细信息
17 V$THEAD - 取得重做线程的详细信息
18 V$LOCK - 用于显示锁的信息,通过与V$SESSION进行连接查询,可以显示占有锁的会话,以及等待锁的会话
SQL>select a.username,a.mechine,b.lmode,b.request from v$session a,v$lock b
where a.sid=b.sid and a.type='USER';
19 V$LOCKED_OBJECT 显示被加锁的数据库对象,通过与DBA_OBJECT进行连接查询,可以显示具体的对象名及执行加锁操作的
ORACLE用户名
SQL> select a.oracle_username,b.owner||'.'||b.object_name object
from V$LOCKED_OBJECT a,DBA_OBJECT b
where a.object_id = b.object_id
20 V$TABLESPACE - 显示表空间的信息
21 V$TEMPFILE - 显示数据库所包含的临时文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值