【体系结构】浅析Oracle中常用的数据字典

  按照前缀来分类的话,通常分为DBA_,ALL,USER_:

  • USER_*是关于用户所拥有的对象信息;
  • ALL_*是有关用户可以访问的对象信息;
  • DBA_*是有关整个数据库对象的信息。

  按照范围大小来说:DBA_*包含ALL_*包含USER_*

与数据有关的:    
user_tables视图 select table_name from user_tables; 查看当前用户下有多少表
user_catalog视图 select table_name from user_catalog; 查看当前用户下的表、视图、同义词等信息
与数据库有关的:    
v$database视图 select name,created,log_mode,open_mode from v$database; 查询数据库的库名,创建时间,归档状态,数据库的读写状态
v$instance视图 select host_name,instance_name,version from v$instance; 查询系统的主机名,实例名,和数据库版本
v$version视图 select * from v$version; 查询数据库版本的详细信息
与控制文件有关的:    
v$controlefile视图 select name from v$controlfile; 查询控制文件的路径
与日志有关:    
v$log视图 select group#,members,bytes,status,archived from v$log; 查询重做日志的组号,成员个数,文件大小,状态,是否归档
v$logfile视图 select group#,status,type,member from v$logfile; 查询日志文件的组号,状态,类型,文件类型
与表空间有关的:    
dba_tablespaces select tablespace_name,block_size,status,contents,logging from dba_tablespaces; 查询数据库所有表空间的空间名,块大小,状态,类型,是否写入日志。
dba_data_files select tablespace_name,status,bytes,file_name from dba_data_files; 查询表空间的名称,状态,大小和文件名
database_properties select * from database_properties where property_name like 'DEFAULT%'; 查询数据库默认临时表空间,默认永久表空间。
v$datafile select name,status from v$datafile where name like '%user%';  
与用户有关的:    
dba_users select username from dba_users; 查看数据库中有哪些用户
tab select tname,tabtype from tab; 查询当前用户下的对象和对象类型
与锁有关的视图:    
v$lock select sid,type from v$lock where block=1; 查询当前正在阻塞的锁的事务的sid以及锁类型
与undo 段有关的:    
  show parameter undo 显示undo信息
dba_segments
select segment_name,tablespace_name,bytes from dba_segments
where segment_type='ROLLBACK' ;
查询段类型为ROLLBACK的段名,表空间名,字节大小
  select segment_name,tablespace_name,bytes from dba_segments
where segment_type='TYPE2 UNDO'
查询回滚表空间中回滚段的信息
v$rollname select usn,name from v$rollname; 查询所有的回滚段名及序号
v$rollstat select a.usn,a.name,b.extents,b.status from v$rollname a,v$rollstat b where a.usn=b.usn; 查询回滚段的详细信息
dba_undo_extents select tablespace_name,status,sum(bytes)/1024/1024 from dba_undo_extents
group by tablespace_name,status;
查询undo表空间中过期数据和没有过期数据的信息。
与进程有关的:    
v$process select program from v$process where program like '%DBW%'; 查询DBWr的进程状态
与内存有关:    
v$sgastat select sum(bytes)/1024/1024 from v$sgastat where pool='shared pool'; 查询共享池的大小

 

posted @ 2021-07-26 15:03  蟹Bro  阅读(67)  评论(0编辑  收藏  举报