走近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
相关文档:
1. ASCII
返回与指定的字符对应的十进制数;
SQL> select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual;
A A ZERO SPACE
--------- --------- --------- ---------
65 97 48 32
2. CHR
给出整数,返回对应的字符;
SQL> select chr(54740) zhao,chr(65) chr65 from dual;
ZH ......
最简单的一个Oracle定时任务
一、在PLSQL中创建表:
create table HWQY.TEST
(
CARNO VARCHAR2(30),
CARINFOID NUMBER
)
二、在PLSQL中创建存储过程:
create or replace procedure pro_test
AS
carinfo_id number;
BEGIN
select s_CarInfoID.nextval into carinfo_id
from dual;
in ......
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.取整(小) ......
先看Oracle 官方解释
Oracle managed file (OMF)
A file that is created automatically by the Oracle database server when it is needed and automatically deleted when it is no longer needed.
如何判断你的数据库是否为支持OMF
SQL> show parameter db_create_file_dest;
NAME & ......
一直听到的都是说尽量用exists不要用in,因为exists只判断存在而in需要对比值,所以exists比较快,但看了看网上的一些东西才发现根本不是这么回事。
下面这段是抄的
Select * from T1 where x in ( select y from T2 )
执行的过程相当于:
select *
......