Oracle系统视图归纳总结及常用对象查询语句

文章目录

  • 一、Oracle系统视图归纳总结
    • [1.1 常用系统视图](#1.1 常用系统视图)
  • 二、常用查询语句
    • [2.1 查询表、表字段、视图、序列、存储过程、索引等数据库对象信息](#2.1 查询表、表字段、视图、序列、存储过程、索引等数据库对象信息)
    • [2.2 查询会话、动态性能视图](#2.2 查询会话、动态性能视图)

一、Oracle系统视图归纳总结

Oracle 19C有2067个系统视图,但只有部分常用视图在运维或查问题中会使用到,我们可以将注意力放在常用系统视图上。(实际上我们在接触任何数据库时,都需要学习常用系统视图)

Oracle系统视图主要分为4类:

1. DBA_ * 表示DBA拥有的或可访问的所有对象
2. ALL_ * 表示某用户拥有的或可访问的所有对象
3. USER_ * 表示某用户拥有的所有对象
4. V$* 动态性能视图

1.1 常用系统视图

序号 视图
1 *_TAB_COLUMNS
2 *_TAB_COLS
3 *_TAB_PARTITIONS
4 *_PART_TABLES
5 *_TAB_SUBPARYITIONS
6 *_TABLES
7 *_INDEXS
8 *_IND_PARTITIONS
9 *_IND_EXPRESSIONS
10 *_IND_COLUMNS
11 *_SOURCE
12 *_CONSTRAINTS
13 *_CONS_COLUMNS
14 *_COL_COMMENTS
15 *_TAB_COMMENTS
16 *_OBJECTS
17 *_DIRECTORIES
18 *_TABLESPACES
19 *_SCHEDULER_JOBS
20 *_PROCEDURES
21 *_SEQUENCES
22 *_JOBS
23 *_TYPE_ATTRS
24 *_USERS
25 *_TRIGGERS
26 *_IND_SUBPARTITIONS
27 *_SYNONYMS
28 *_ARGUMENTS
29 *_PART_INDEXS
30 *_VIEWS
31 *_LOBS
32 *_SEGMENTS
33 VINSTANCE/GVINSTANCE
34 V$SESSION
35 V$DATABASE
36 V$MYSTAT

二、常用查询语句

2.1 查询表、表字段、视图、序列、存储过程、索引等数据库对象信息

sql 复制代码
select table_name from user_tables;
select * from user_sequences;
select * from user_synonyms;
select * from user_triggers;
select * from user_source;
查询数据库对象
select * from user_objects;
select object_name,procedure_name,object_type from user_procedures where object_type= 'PACKAGE' order by 1,2;
select object_name,procedure_name,object_type from user_procedures where object_type= 'PROCEDURE' order by 1,2;
select object_name,procedure_name,object_type from user_procedures where object_type= 'FUNCTION' order by 1,2;
select view_name from user_views;
查询索引信息
select table_owner,table_name,index_name,uniqueness,partitined,status from user_index where index_type <> 'LOB' order by table_name;
查询表字段信息
select table_name,column_name,data_type from user_tab_cols order by table_name,column_id;
查询视图字段信息
select table_name,column_name,data_type,data_length from user_tab_columns order by table_name,column_id;
查询分区表
select table_name,partition_name,high_value from user_tab_partitions order by table_name;

2.2 查询会话、动态性能视图

sql 复制代码
查询当前实例状态
select INSTANCE_NUMBER,INSTANCE_NAME,HOST_NAME,VERSION,STARTUP_TIME.STATUS FROM v$instance;
查询当前每个会话的会话信息
select $ADDR,SID,SERIAL#,AUDSID,USERNAME,OSUSER,MACHINE,PROHRAM,PREV_SQL_ADDR,PREV_HASH_VALUE from v$session where user='XXX';
查询当前会话的统计信息
select sid from V$MYSTAT where ROWNUM=1;
相关推荐
SelectDB12 小时前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶13 小时前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵16 小时前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
Nturmoils16 小时前
WHERE 条件别凭习惯写,常用查询先跑一遍
数据库
Databend2 天前
在 AWS 中国峰会逛了一天,我在 Databend 展台看到了 Agent 数据基础设施的新思路
数据库·人工智能·agent
ClouGence3 天前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
飞将3 天前
从零实现数据库(2)——HashIndex + IndexManager
数据库
Nturmoils4 天前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
渣波4 天前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
倔强的石头_5 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库