走近Oracle数据字典(二)
在上篇文章里“走近Oracle数据字典--数据字典表”,我们谈到了数据字典对于我们作为DBA对数据库维护的重要性。数据库的对象信息,比如表,用户,存储过程,函数,视图,索引等等,这些存在在数据库里的对象的信息,都是在数据字典表里进行维护的,我们可以借用一些比较好的Oracle开发工具比如PLSQL dev或者TOAD查看他们,或者直接通过对数据字典表进行sql查询,从而获得对象的信息。 不过在数据库的meta信息里,除了这些对象静态对象的这些信息以为,数据库运行是的一些信息对于我们来说也是非常有帮助的,也更为有意义。 比如,有多少个session,有什么样的process在实例里运行,系统的状态现在是如何的, 可以看到这些信息都是实例运行时的动态信息,不是固定的信息,不同的时刻可能信息也是不一样的, Oracle为了进行维护的时候能够得知这些实例的这些类似状态一样的动态的信息,提供叻动态性能视图,通过这个动态性能视图我们可以了解到实例内部的一些动态变化的状态信息。
动态信息视图也是数据字典的一种,提供信息维护的作用,不过和我们上一个文章提到的“数据字典表”一样也可以在dictionary里找到,开头为v$的都是我们这里提到的动态性能视图。 一样,这个是一个public的同义词,我们以v$session这个大家比较熟悉的视图为例,一起走进去看看。
SQL> select OWNER,OBJECT_NAME, OBJECT_TYPE from all_objects where object_name = 'V$SESSION';
OWNER OBJECT_NAME OBJECT_TYPE
------------------------------ ------------------------------ -------------------
PUBLIC V$SESSION SYNONYM
SQL> select OWNER,SYNONYM_NAME,TABLE_OWNER,TABLE_NAME from dba_synonyms where synonym_name = 'V$SESSION';
OWNER SYNONYM_NAME TABLE_OWNER &n
相关文档:
SQLServer和Oracle是大家经常用到的数据库,在此感谢作者总结出这些常用函数以供大家参考。
数学函数:
1.绝对值
S:SELECT abs(-1) value
O:SELECT abs(-1) value from dual
2.取整(大)
S:SELECT ceiling(-1.001) value
O:SELECT ceil(-1.001) value from dual
3.取整(小) ......
select t.*, t.rowid from indicators t start with (t.isleaf='1' and t.rid='26020')
connect by prior t.pid = t.id order by t.inum
从叶子节点依据id=pid的关系向上递归到跟节点。
select t.*, t.rowid from indicators t start with (t.pid='0' and t.rid='26020')
connect by prior t.id = t.pid order by t.i ......
connect by 是结构化查询中用到的,其基本语法是:
select ... from tablename start with 条件1
connect by 条件2
where 条件3;
例:
select * from table
start with org_id = 'HBHqfWGWPy'
connect by prior org_id = parent_id;
简单说来是将一个树状结构存储在一张表里,比如一个表 ......