[实验-视频过程]常用的oracle数据字典

来源:转载

数据字典

数据字典是 oracle 的核心
分为两大类
存在于 system 表空间

⋯$结尾的基本表

Dba_..,all_⋯.,user_⋯视图

存在于内存中

X$⋯..的虚表

V$⋯的动态性能视图

数据字典是我们建立数据库的时候运行脚本建立的.

%oracle_home%/rdbms/admin/catalog.sql;脚本当中含有建立数据字典的语句.而 v$的字典是数据库在启动实例的时候初始化的.
数据字典的使用 数据库自己使用字典获取信息 数据库自动维护 我们查看字典来获得数据库的有关信息基本表,是字典得基本表,在建立 system 表空间的时候建立的.

select table_name,owner from dba_tables where table_name like '%$' and owner='SYS';

视图,是在建立数据库以后运行 catalog.sql;脚本建立的.
查看哪些字典中含有 TABLE 关键字,一定要大写.

select table_name from dict where table_name like '%TABLE%';

查看哪些字典中含有 VIEW 关键字,一定要大写.

select table_name from dict where table_name like '%VIEW%';

查看所有的 x和v的表的信息.

SELECT * FROM V$FIXED_TABLE;

三大类视图,**代表可以替换为某个单词.

Dba_*****All_****User_****
我们拿 tables 说明上面得含义.其 中 user_tables 是 查 看 当 前 用 户 所 拥 有 的 表 . all_tables 是 查 看 当 前 用 户 可 以 访 问 的 表 .dba_tables 是查看当前整个数据库拥有的表,但是你得有权限,如果没有权限会报没有这个表.

常见操作


系统用户


1.用来获取数据库初始化参数详细信息

 select name from v$parameter where name='lock_sga'; show parameter lock_sga; 

2.用来查询当前数据库所有控制文件信息

 select * from v$controlfile;

3.查询当前数据库所有重作日志文件信息

 select * from v$logfile;

4、日志信息

select * from V$log;

5、用来获取当前实例的详细信息

 select * from v$instance;

6、获取当前实例中SGA的详细信息

 select * from v$sga ;

7.用来查询当前会话信息

select * from v$session;select distinct USERNAME from v$session;kill session altersystem kill session 'sid,serial#'

8、用来查询后台进程的详细信息

select * from v$bgprocess

9、获取当前数据库的详细信息

select name from v$database; 

10、查用户、数据文件、表空间

select * from all_users;select name from v$datafile; select name from v$tablespace;查看用户默认表空间select default_tablespace,temporary_tablespace from dba_users where username='SCOTT';

一般用户


查看表tab

select * from tab;

查看列col

select * from col where rownum<10;

查看index

select index_name from ind where table_name='EMP';

序列

select * from seq;

视图:

select * from user_views;

查看默认表空间

 select username,default_tablespace from user_users;

查看用户下所有的表
SQL>select * from user_tables;

查看表大小

select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name='EMP';

查看索引

select index_name,index_type,table_name from user_indexes order by table_name;
select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name='EMP_EMP_ID_PK';

查看序号

select * from user_sequences;

版权声明:本文为博主原创文章,未经博主允许不得转载。如果有需要转载请联系薛佳岳 [email protected]


分享给朋友:
您可能感兴趣的文章:
随机阅读: