Oracle 数据字典

数据字典是整个oracle的核心, 记录了数据库的最基本的信息。 数据字典包括数据字典基本表和数据字典视图。

数据字典基本表由ORACLE_HOME\RDBMS\ADMIN\sal.bsq创建, 数据字典基本表大多以结尾, 属于sys用户, 存放在system表空间。

用户不能手动去修改数据字典基本表。

 

 

E.g:
select table_name from USER_table;   当前用户所拥有的表名
select table_name from ALL_table;    当前用户有权访问的表名

 

4.1数据字典视图总览(通用概要视图)

select * from dict;                 查询全部数据字典视图的名称和解释
select * from dict_columns;         查看字典视图中字段的名称和解释

 

 

 

4.2 常用的静态视图

通用视图名作用

dba_ 上帝视角

all_ 能访问到的

user_ 自己所拥有的   

users 描述用户信息,包含用户名、账户状态、默认表空间、创建日期等
tablespaces 查看表空间信息
tables 查看表信息
views 查看视图信息
objects 查看所有对象的信息,包含序列、过程与函数、触发器、索引等
errors 查看所拥有的对象中发生的错误

 

4.3数据字典常用SQL查询语句

1. 查看表空间、物理文件、表空间大小、剩余空间等

select a.* , (a.表空间大小-b.剩余空间) 已用空间 , b.剩余空间
from
(select tablespace_name 表空间名称 ,file_name 物理文件路径, round(bytes/(1024*1024),0) 表空间大小
from dba_data_files ) a
left join
(select tablespace_name,round(sum(bytes) / 1024 / 1024, 2) AS 剩余空间
from dba_free_space group by tablespace_name) b
on a.表空间名称=b.tablespace_name;

表空间名称     物理文件路径                                       表空间大小         已用空间          剩余空间
-----------------------------------------------------------------------------------------------------------------------
TB1          /u01/app/oracle/oradata/orcl/testtbs01.dbf         10        1.06           8.94
SYSAUX      /u01/app/oracle/oradata/orcl/sysaux01.dbf        1040       984.87          55.13
UNDOTBS1    /u01/app/oracle/oradata/orcl/undotbs01.dbf        295        23.25          271.75
USERS      /u01/app/oracle/oradata/orcl/users01.dbf         363       204.62          158.38
SYSTEM      /u01/app/oracle/oradata/orcl/system01.dbf         780        773.62         6.38
EXAMPLE     /u01/app/oracle/oradata/orcl/example01.dbf        346        310.44         35.56
UNDOTBS2     /u01/app/oracle/oradata/orcl/undotbs02.dbf        10          2.25          7.75

 

2. 查看控制文件路径

select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/orcl/control01.ctl
/u01/app/oracle/fast_recovery_area/orcl/control02.ctl

3. 查看日志文件路径

select member from v$logfile;

 

4.查看消耗资源最多的SQL

SELECT hash_value,executions,buffer_gets,disk_reads,parse_calls
FROM V$SQLAREA
WHERE buffer_gets > 10000000
OR disk_reads > 1000000
ORDER BY buffer_gets + 100 * disk_reads DESC;

 

5.查看还未提交的事务

select * from v$locked_object;
select * from v$transaction;

 

6. 查询数据库服务器的主机名、实例名、数据库系统版本;

select host_name,instance_name,version from v$instance;

HOST_NAME                          INSTANCE_NAME           VERSION
----------------------- ------------------------ -----------------
test1                                       orcl        11.2.0.4.0

 

posted @ 2021-10-29 10:41  西泽Xiz  阅读(281)  评论(0编辑  收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css