【体系结构】浅析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'; | 查询共享池的大小 |